Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/freebsd/poudriere.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBryan Drewery <bryan@shatow.net>2019-08-28 21:00:50 +0300
committerBryan Drewery <bryan@shatow.net>2019-08-28 21:00:50 +0300
commit153e93d7f5c2f8658a9dc007180542276dc531f0 (patch)
tree94a4f9594d44597e88ce531a2765ef7280253121 /test-ports
parent41ab811ad583c3967112133b70287ae03cffc920 (diff)
Move test/ports to test-ports for git-grep sake
Diffstat (limited to 'test-ports')
-rw-r--r--test-ports/Makefile7
-rw-r--r--test-ports/Mk/Scripts/actual-package-depends.sh74
-rw-r--r--test-ports/Mk/Scripts/cargo-crates.awk91
-rw-r--r--test-ports/Mk/Scripts/check-desktop-entries.sh111
-rw-r--r--test-ports/Mk/Scripts/check-stagedir.sh286
-rw-r--r--test-ports/Mk/Scripts/check-vulnerable.sh36
-rw-r--r--test-ports/Mk/Scripts/check_leftovers.sh176
-rw-r--r--test-ports/Mk/Scripts/checksum.sh93
-rw-r--r--test-ports/Mk/Scripts/create-manifest.sh158
-rw-r--r--test-ports/Mk/Scripts/depends-list.sh132
-rw-r--r--test-ports/Mk/Scripts/desktop-categories.sh89
-rw-r--r--test-ports/Mk/Scripts/dialog4ports.sh50
-rw-r--r--test-ports/Mk/Scripts/do-depends.sh197
-rw-r--r--test-ports/Mk/Scripts/do-fetch.sh176
-rw-r--r--test-ports/Mk/Scripts/do-patch.sh126
-rw-r--r--test-ports/Mk/Scripts/do-users-groups.sh212
-rw-r--r--test-ports/Mk/Scripts/find-lib.sh33
-rw-r--r--test-ports/Mk/Scripts/functions.sh271
-rw-r--r--test-ports/Mk/Scripts/generate-symbols.sh46
-rw-r--r--test-ports/Mk/Scripts/install-desktop-entries.sh66
-rw-r--r--test-ports/Mk/Scripts/makesum.sh53
-rw-r--r--test-ports/Mk/Scripts/plist_sub_sed_sort.sh17
-rw-r--r--test-ports/Mk/Scripts/ports_env.sh13
-rw-r--r--test-ports/Mk/Scripts/qa.sh939
-rw-r--r--test-ports/Mk/Scripts/security-check.awk95
-rw-r--r--test-ports/Mk/Scripts/smart_makepatch.sh296
-rw-r--r--test-ports/Mk/Uses/7z.mk59
-rw-r--r--test-ports/Mk/Uses/ada.mk38
-rw-r--r--test-ports/Mk/Uses/alias.mk30
-rw-r--r--test-ports/Mk/Uses/apache.mk433
-rw-r--r--test-ports/Mk/Uses/autoreconf.mk93
-rw-r--r--test-ports/Mk/Uses/azurepy.mk41
-rw-r--r--test-ports/Mk/Uses/bdb.mk245
-rw-r--r--test-ports/Mk/Uses/bison.mk31
-rw-r--r--test-ports/Mk/Uses/blaslapack.mk52
-rw-r--r--test-ports/Mk/Uses/cargo.mk300
-rw-r--r--test-ports/Mk/Uses/charsetfix.mk27
-rw-r--r--test-ports/Mk/Uses/cmake.mk143
-rw-r--r--test-ports/Mk/Uses/compiler.mk297
-rw-r--r--test-ports/Mk/Uses/corosync.mk42
-rw-r--r--test-ports/Mk/Uses/cpe.mk41
-rw-r--r--test-ports/Mk/Uses/cran.mk78
-rw-r--r--test-ports/Mk/Uses/desktop-file-utils.mk22
-rw-r--r--test-ports/Mk/Uses/desthack.mk20
-rw-r--r--test-ports/Mk/Uses/display.mk37
-rw-r--r--test-ports/Mk/Uses/dos2unix.mk46
-rw-r--r--test-ports/Mk/Uses/drupal.mk117
-rw-r--r--test-ports/Mk/Uses/eigen.mk55
-rw-r--r--test-ports/Mk/Uses/elixir.mk126
-rw-r--r--test-ports/Mk/Uses/emacs.mk150
-rw-r--r--test-ports/Mk/Uses/erlang.mk138
-rw-r--r--test-ports/Mk/Uses/fakeroot.mk17
-rw-r--r--test-ports/Mk/Uses/fam.mk62
-rw-r--r--test-ports/Mk/Uses/firebird.mk24
-rw-r--r--test-ports/Mk/Uses/fonts.mk68
-rw-r--r--test-ports/Mk/Uses/fortran.mk46
-rw-r--r--test-ports/Mk/Uses/fpc.mk205
-rw-r--r--test-ports/Mk/Uses/fuse.mk26
-rw-r--r--test-ports/Mk/Uses/gecko.mk112
-rw-r--r--test-ports/Mk/Uses/gem.mk135
-rw-r--r--test-ports/Mk/Uses/gettext-runtime.mk28
-rw-r--r--test-ports/Mk/Uses/gettext-tools.mk25
-rw-r--r--test-ports/Mk/Uses/gettext.mk21
-rw-r--r--test-ports/Mk/Uses/ghostscript.mk107
-rw-r--r--test-ports/Mk/Uses/gl.mk50
-rw-r--r--test-ports/Mk/Uses/gmake.mk21
-rw-r--r--test-ports/Mk/Uses/gnome.mk535
-rw-r--r--test-ports/Mk/Uses/gnustep.mk95
-rw-r--r--test-ports/Mk/Uses/go.mk104
-rw-r--r--test-ports/Mk/Uses/gperf.mk35
-rw-r--r--test-ports/Mk/Uses/grantlee.mk79
-rw-r--r--test-ports/Mk/Uses/groff.mk31
-rw-r--r--test-ports/Mk/Uses/gssapi.mk188
-rw-r--r--test-ports/Mk/Uses/horde.mk159
-rw-r--r--test-ports/Mk/Uses/iconv.mk69
-rw-r--r--test-ports/Mk/Uses/imake.mk50
-rw-r--r--test-ports/Mk/Uses/jpeg.mk38
-rw-r--r--test-ports/Mk/Uses/kde.mk867
-rw-r--r--test-ports/Mk/Uses/kmod.mk83
-rw-r--r--test-ports/Mk/Uses/lazarus.mk145
-rw-r--r--test-ports/Mk/Uses/lha.mk22
-rw-r--r--test-ports/Mk/Uses/libarchive.mk16
-rw-r--r--test-ports/Mk/Uses/libedit.mk16
-rw-r--r--test-ports/Mk/Uses/libtool.mk84
-rw-r--r--test-ports/Mk/Uses/linux.mk317
-rw-r--r--test-ports/Mk/Uses/localbase.mk31
-rw-r--r--test-ports/Mk/Uses/lua.mk110
-rw-r--r--test-ports/Mk/Uses/lxqt.mk108
-rw-r--r--test-ports/Mk/Uses/makeinfo.mk25
-rw-r--r--test-ports/Mk/Uses/makeself.mk23
-rw-r--r--test-ports/Mk/Uses/mate.mk229
-rw-r--r--test-ports/Mk/Uses/meson.mk71
-rw-r--r--test-ports/Mk/Uses/metaport.mk21
-rw-r--r--test-ports/Mk/Uses/mono.mk234
-rw-r--r--test-ports/Mk/Uses/motif.mk30
-rw-r--r--test-ports/Mk/Uses/mysql.mk175
-rw-r--r--test-ports/Mk/Uses/ncurses.mk89
-rw-r--r--test-ports/Mk/Uses/ninja.mk29
-rw-r--r--test-ports/Mk/Uses/objc.mk82
-rw-r--r--test-ports/Mk/Uses/openal.mk86
-rw-r--r--test-ports/Mk/Uses/pathfix.mk63
-rw-r--r--test-ports/Mk/Uses/pear.mk177
-rw-r--r--test-ports/Mk/Uses/perl5.mk323
-rw-r--r--test-ports/Mk/Uses/pgsql.mk180
-rw-r--r--test-ports/Mk/Uses/php.mk454
-rw-r--r--test-ports/Mk/Uses/pkgconfig.mk33
-rw-r--r--test-ports/Mk/Uses/pure.mk39
-rw-r--r--test-ports/Mk/Uses/pyqt.mk300
-rw-r--r--test-ports/Mk/Uses/python.mk726
-rw-r--r--test-ports/Mk/Uses/qmail.mk63
-rw-r--r--test-ports/Mk/Uses/qmake.mk152
-rw-r--r--test-ports/Mk/Uses/qt-dist.mk392
-rw-r--r--test-ports/Mk/Uses/qt.mk510
-rw-r--r--test-ports/Mk/Uses/readline.mk24
-rw-r--r--test-ports/Mk/Uses/samba.mk42
-rw-r--r--test-ports/Mk/Uses/scons.mk32
-rw-r--r--test-ports/Mk/Uses/sdl.mk112
-rw-r--r--test-ports/Mk/Uses/shared-mime-info.mk22
-rw-r--r--test-ports/Mk/Uses/shebangfix.mk108
-rw-r--r--test-ports/Mk/Uses/sqlite.mk24
-rw-r--r--test-ports/Mk/Uses/ssl.mk129
-rw-r--r--test-ports/Mk/Uses/tar.mk34
-rw-r--r--test-ports/Mk/Uses/tcl.mk225
-rw-r--r--test-ports/Mk/Uses/terminfo.mk18
-rw-r--r--test-ports/Mk/Uses/tk.mk10
-rw-r--r--test-ports/Mk/Uses/uidfix.mk31
-rw-r--r--test-ports/Mk/Uses/uniquefiles.mk221
-rw-r--r--test-ports/Mk/Uses/varnish.mk30
-rw-r--r--test-ports/Mk/Uses/waf.mk51
-rw-r--r--test-ports/Mk/Uses/webplugin.mk178
-rw-r--r--test-ports/Mk/Uses/xfce.mk110
-rw-r--r--test-ports/Mk/Uses/zip.mk27
-rw-r--r--test-ports/Mk/Uses/zope.mk95
-rw-r--r--test-ports/Mk/bsd.ccache.mk63
-rw-r--r--test-ports/Mk/bsd.commands.mk132
-rw-r--r--test-ports/Mk/bsd.default-versions.mk138
-rw-r--r--test-ports/Mk/bsd.destdir.mk222
-rw-r--r--test-ports/Mk/bsd.gcc.mk216
-rw-r--r--test-ports/Mk/bsd.gecko.mk536
-rw-r--r--test-ports/Mk/bsd.gstreamer.mk676
-rw-r--r--test-ports/Mk/bsd.java.mk469
-rw-r--r--test-ports/Mk/bsd.ldap.mk99
-rw-r--r--test-ports/Mk/bsd.licenses.db.mk424
-rw-r--r--test-ports/Mk/bsd.licenses.mk817
-rw-r--r--test-ports/Mk/bsd.local.mk28
-rw-r--r--test-ports/Mk/bsd.ocaml.mk204
-rw-r--r--test-ports/Mk/bsd.octave.mk45
-rw-r--r--test-ports/Mk/bsd.options.desc.mk549
-rw-r--r--test-ports/Mk/bsd.options.mk627
-rw-r--r--test-ports/Mk/bsd.port.mk5387
-rw-r--r--test-ports/Mk/bsd.port.options.mk23
-rw-r--r--test-ports/Mk/bsd.port.post.mk7
-rw-r--r--test-ports/Mk/bsd.port.pre.mk7
-rw-r--r--test-ports/Mk/bsd.port.subdir.mk516
-rw-r--r--test-ports/Mk/bsd.ruby.mk408
-rw-r--r--test-ports/Mk/bsd.sanity.mk288
-rw-r--r--test-ports/Mk/bsd.sites.mk1356
-rw-r--r--test-ports/Mk/bsd.ssp.mk17
-rw-r--r--test-ports/Mk/bsd.tex.mk656
-rw-r--r--test-ports/Mk/bsd.wx.mk518
-rw-r--r--test-ports/Mk/bsd.xorg.mk239
-rw-r--r--test-ports/Templates/BSD.local.dist964
-rw-r--r--test-ports/Templates/Licenses/APACHE20176
-rw-r--r--test-ports/Templates/Licenses/ART10122
-rw-r--r--test-ports/Templates/Licenses/ART20181
-rw-r--r--test-ports/Templates/Licenses/GMGPL6
-rw-r--r--test-ports/Templates/Licenses/GPLv1251
-rw-r--r--test-ports/Templates/Licenses/GPLv2339
-rw-r--r--test-ports/Templates/Licenses/GPLv3674
-rw-r--r--test-ports/Templates/Licenses/GPLv3RLE73
-rw-r--r--test-ports/Templates/Licenses/LGPL20481
-rw-r--r--test-ports/Templates/Licenses/LGPL21502
-rw-r--r--test-ports/Templates/Licenses/LGPL3165
-rw-r--r--test-ports/Templates/Licenses/LPPL10211
-rw-r--r--test-ports/Templates/Licenses/MPL373
-rw-r--r--test-ports/Templates/Licenses/OFL1093
-rw-r--r--test-ports/Templates/Licenses/OFL1191
-rw-r--r--test-ports/Templates/Licenses/PHP30168
-rw-r--r--test-ports/Templates/Licenses/RUBY52
-rw-r--r--test-ports/Templates/Licenses/WTFPL14
-rw-r--r--test-ports/Templates/Licenses/WTFPL113
-rw-r--r--test-ports/Templates/Licenses/ZPL2144
-rw-r--r--test-ports/Templates/Makefile11
-rw-r--r--test-ports/Templates/README.category35
-rw-r--r--test-ports/Templates/README.port43
-rw-r--r--test-ports/Templates/README.top33
-rw-r--r--test-ports/Templates/config.guess1433
-rw-r--r--test-ports/Templates/config.site986
-rw-r--r--test-ports/Templates/config.sub1804
-rw-r--r--test-ports/Tools/make_index180
-rw-r--r--test-ports/Tools/make_readmes50
-rwxr-xr-xtest-ports/Tools/scripts/BDB-upgrade-helper.sh77
-rwxr-xr-xtest-ports/Tools/scripts/MOVEDlint.awk106
-rw-r--r--test-ports/Tools/scripts/README148
-rw-r--r--test-ports/Tools/scripts/README.getpatch89
-rw-r--r--test-ports/Tools/scripts/README.getpatch.sh37
-rw-r--r--test-ports/Tools/scripts/README.patchtool137
-rw-r--r--test-ports/Tools/scripts/README.portsearch121
-rwxr-xr-xtest-ports/Tools/scripts/addport625
-rwxr-xr-xtest-ports/Tools/scripts/ardiff97
-rwxr-xr-xtest-ports/Tools/scripts/bad-pkgdescrs.sh24
-rwxr-xr-xtest-ports/Tools/scripts/bump-revision.sh106
-rwxr-xr-xtest-ports/Tools/scripts/bump_revision.pl213
-rwxr-xr-xtest-ports/Tools/scripts/checkcats.py42
-rwxr-xr-xtest-ports/Tools/scripts/checknewver.sh108
-rwxr-xr-xtest-ports/Tools/scripts/checksize.sh63
-rwxr-xr-xtest-ports/Tools/scripts/checksum.sh84
-rwxr-xr-xtest-ports/Tools/scripts/chkorigin.sh112
-rwxr-xr-xtest-ports/Tools/scripts/chkversion.pl465
-rwxr-xr-xtest-ports/Tools/scripts/distclean.sh85
-rwxr-xr-xtest-ports/Tools/scripts/domakedescribe19
-rwxr-xr-xtest-ports/Tools/scripts/doportlint20
-rwxr-xr-xtest-ports/Tools/scripts/getpatch219
-rwxr-xr-xtest-ports/Tools/scripts/getpatch.sh182
-rwxr-xr-xtest-ports/Tools/scripts/gnomedepends.py128
-rwxr-xr-xtest-ports/Tools/scripts/indent_make_if.pl49
-rwxr-xr-xtest-ports/Tools/scripts/mark_safe.pl278
-rwxr-xr-xtest-ports/Tools/scripts/mfh159
-rwxr-xr-xtest-ports/Tools/scripts/neededlibs.sh63
-rwxr-xr-xtest-ports/Tools/scripts/notconnected43
-rw-r--r--test-ports/Tools/scripts/parse-kdump.tcl199
-rwxr-xr-xtest-ports/Tools/scripts/patchtool.py688
-rw-r--r--test-ports/Tools/scripts/pkg-stash/pkg-list.sh6
-rwxr-xr-xtest-ports/Tools/scripts/pkg-stash/pkg-stash.pl104
-rwxr-xr-xtest-ports/Tools/scripts/portsearch215
-rwxr-xr-xtest-ports/Tools/scripts/portsvar.sh133
-rwxr-xr-xtest-ports/Tools/scripts/psvn191
-rwxr-xr-xtest-ports/Tools/scripts/redundant-opt-files.sh62
-rwxr-xr-xtest-ports/Tools/scripts/rmport531
-rwxr-xr-xtest-ports/Tools/scripts/splitpatch.pl111
-rwxr-xr-xtest-ports/Tools/scripts/sunshar.rb295
-rw-r--r--test-ports/Tools/scripts/sunshar/Makefile13
-rw-r--r--test-ports/Tools/scripts/sunshar/sunshar.156
-rwxr-xr-xtest-ports/Tools/scripts/tindex165
-rwxr-xr-xtest-ports/Tools/scripts/top-size-offenders.sh46
-rwxr-xr-xtest-ports/Tools/scripts/update-patches103
-rw-r--r--test-ports/converters/Makefile1
-rw-r--r--test-ports/converters/libiconv/Makefile44
-rw-r--r--test-ports/converters/libiconv/distinfo4
-rw-r--r--test-ports/converters/libiconv/files/patch-include-iconv.h.in70
-rw-r--r--test-ports/converters/libiconv/files/patch-libcharset__lib__config.charset43
-rw-r--r--test-ports/converters/libiconv/files/patch-src__Makefile.in19
-rw-r--r--test-ports/converters/libiconv/pkg-descr14
-rw-r--r--test-ports/converters/libiconv/pkg-plist25
-rw-r--r--test-ports/devel/Makefile14
-rw-r--r--test-ports/devel/autoconf-wrapper/Makefile39
-rw-r--r--test-ports/devel/autoconf-wrapper/files/autotools-wrapper.sh92
-rw-r--r--test-ports/devel/autoconf-wrapper/pkg-descr3
-rw-r--r--test-ports/devel/autoconf/Makefile48
-rw-r--r--test-ports/devel/autoconf/distinfo2
-rw-r--r--test-ports/devel/autoconf/files/patch-autoconf.texi53
-rw-r--r--test-ports/devel/autoconf/files/patch-bin-autoscan.in11
-rw-r--r--test-ports/devel/autoconf/files/patch-doc-Makefile.in12
-rw-r--r--test-ports/devel/autoconf/pkg-descr9
-rw-r--r--test-ports/devel/autoconf/pkg-plist64
-rw-r--r--test-ports/devel/automake-wrapper/Makefile13
-rw-r--r--test-ports/devel/automake-wrapper/pkg-descr3
-rw-r--r--test-ports/devel/automake/Makefile26
-rw-r--r--test-ports/devel/automake/distinfo2
-rw-r--r--test-ports/devel/automake/files/patch-Makefile.in27
-rw-r--r--test-ports/devel/automake/files/patch-bin-automake.in11
-rw-r--r--test-ports/devel/automake/files/patch-doc__automake.texi16
-rw-r--r--test-ports/devel/automake/pkg-descr12
-rw-r--r--test-ports/devel/automake/pkg-plist116
-rw-r--r--test-ports/devel/ccache/Makefile123
-rw-r--r--test-ports/devel/ccache/distinfo3
-rw-r--r--test-ports/devel/ccache/files/ccache-howto-freebsd.txt.in75
-rw-r--r--test-ports/devel/ccache/files/ccache-update-links.sh.in72
-rw-r--r--test-ports/devel/ccache/files/extra-patch-memcached2396
-rw-r--r--test-ports/devel/ccache/files/extra-patch-memcached-Makefile.in11
-rw-r--r--test-ports/devel/ccache/files/extra-patch-memcached-ccache.c11
-rw-r--r--test-ports/devel/ccache/files/extra-patch-memcached-configure.ac56
-rw-r--r--test-ports/devel/ccache/files/patch-ccache.c62
-rw-r--r--test-ports/devel/ccache/files/patch-configure20
-rw-r--r--test-ports/devel/ccache/files/patch-configure.ac19
-rw-r--r--test-ports/devel/ccache/files/pkg-message.in5
-rw-r--r--test-ports/devel/ccache/files/world-ccache.in9
-rw-r--r--test-ports/devel/ccache/pkg-descr6
-rw-r--r--test-ports/devel/ccache/pkg-plist8
-rw-r--r--test-ports/devel/gettext-runtime/Makefile49
-rw-r--r--test-ports/devel/gettext-runtime/files/patch-configure11
-rw-r--r--test-ports/devel/gettext-runtime/files/patch-intl-threadlib.c39
-rw-r--r--test-ports/devel/gettext-runtime/pkg-descr6
-rw-r--r--test-ports/devel/gettext-runtime/pkg-plist68
-rw-r--r--test-ports/devel/gettext-tools/Makefile68
-rw-r--r--test-ports/devel/gettext-tools/files/patch-configure20
-rw-r--r--test-ports/devel/gettext-tools/files/patch-gnulib-lib_glthread_threadlib.c39
-rw-r--r--test-ports/devel/gettext-tools/files/patch-libgettextpo_glthread_threadlib.c39
-rw-r--r--test-ports/devel/gettext-tools/pkg-descr6
-rw-r--r--test-ports/devel/gettext-tools/pkg-plist255
-rw-r--r--test-ports/devel/gettext/Makefile16
-rw-r--r--test-ports/devel/gettext/Makefile.common18
-rw-r--r--test-ports/devel/gettext/distinfo3
-rw-r--r--test-ports/devel/gettext/pkg-descr4
-rw-r--r--test-ports/devel/gmake/Makefile39
-rw-r--r--test-ports/devel/gmake/distinfo3
-rw-r--r--test-ports/devel/gmake/files/patch-default.c11
-rw-r--r--test-ports/devel/gmake/pkg-descr5
-rw-r--r--test-ports/devel/gmake/pkg-plist28
-rw-r--r--test-ports/devel/libffi/Makefile43
-rw-r--r--test-ports/devel/libffi/distinfo2
-rw-r--r--test-ports/devel/libffi/files/patch-b5ade2112
-rw-r--r--test-ports/devel/libffi/files/patch-configure11
-rw-r--r--test-ports/devel/libffi/files/patch-src__arm__ffi.c36
-rw-r--r--test-ports/devel/libffi/files/patch-src__mips__ffi.c29
-rw-r--r--test-ports/devel/libffi/files/patch-src__mips__ffitarget.h13
-rw-r--r--test-ports/devel/libffi/files/patch-src_arm_sysv.S15
-rw-r--r--test-ports/devel/libffi/pkg-descr6
-rw-r--r--test-ports/devel/libffi/pkg-plist13
-rw-r--r--test-ports/devel/m4/Makefile40
-rw-r--r--test-ports/devel/m4/distinfo3
-rw-r--r--test-ports/devel/m4/pkg-descr15
-rw-r--r--test-ports/devel/m4/pkg-plist2
-rw-r--r--test-ports/devel/p5-Locale-gettext/Makefile26
-rw-r--r--test-ports/devel/p5-Locale-gettext/distinfo3
-rw-r--r--test-ports/devel/p5-Locale-gettext/files/patch-Makefile.PL23
-rw-r--r--test-ports/devel/p5-Locale-gettext/pkg-descr5
-rw-r--r--test-ports/devel/p5-Locale-gettext/pkg-plist3
-rw-r--r--test-ports/devel/pkgconf/Makefile33
-rw-r--r--test-ports/devel/pkgconf/distinfo3
-rw-r--r--test-ports/devel/pkgconf/pkg-descr6
-rw-r--r--test-ports/devel/pkgconf/pkg-plist15
-rw-r--r--test-ports/devel/port_var_fetch1/Makefile14
-rw-r--r--test-ports/devel/port_var_fetch2/Makefile14
-rw-r--r--test-ports/devel/port_var_fetch_syntax_error/Makefile12
-rw-r--r--test-ports/devel/readline/Makefile46
-rw-r--r--test-ports/devel/readline/distinfo18
-rw-r--r--test-ports/devel/readline/files/patch-support-shobj-conf20
-rw-r--r--test-ports/devel/readline/pkg-descr7
-rw-r--r--test-ports/devel/readline/pkg-plist30
-rw-r--r--test-ports/lang/Makefile9
-rw-r--r--test-ports/lang/perl5.24/Makefile282
-rw-r--r--test-ports/lang/perl5.24/distinfo3
-rw-r--r--test-ports/lang/perl5.24/files/patch-Configure33
-rw-r--r--test-ports/lang/perl5.24/files/patch-Makefile.SH10
-rw-r--r--test-ports/lang/perl5.24/files/patch-cpan_ExtUtils-Install_lib_ExtUtils_Install.pm11
-rw-r--r--test-ports/lang/perl5.24/files/patch-cpan_ExtUtils-Install_t_Install.t20
-rw-r--r--test-ports/lang/perl5.24/files/patch-cpan_ExtUtils-MakeMaker_lib_ExtUtils_MM__Any.pm18
-rw-r--r--test-ports/lang/perl5.24/files/patch-cpan_ExtUtils-MakeMaker_t_INST__PREFIX.t20
-rw-r--r--test-ports/lang/perl5.24/files/patch-cpan_Math-BigInt_lib_Math_BigInt.pm11
-rw-r--r--test-ports/lang/perl5.24/files/patch-cpan_Pod-Perldoc_lib_Pod_Perldoc.pm10
-rw-r--r--test-ports/lang/perl5.24/files/patch-cpan_Pod-Perldoc_lib_Pod_Perldoc_BaseTo.pm10
-rw-r--r--test-ports/lang/perl5.24/files/patch-cpan_Pod-Perldoc_lib_Pod_Perldoc_ToMan.pm20
-rw-r--r--test-ports/lang/perl5.24/files/patch-cpan_Pod-Perldoc_lib_Pod_Perldoc_ToTerm.pm11
-rw-r--r--test-ports/lang/perl5.24/files/patch-dtrace266
-rw-r--r--test-ports/lang/perl5.24/files/patch-ext_GDBM__File_t_fatal.t30
-rw-r--r--test-ports/lang/perl5.24/files/patch-hints_freebsd.sh51
-rw-r--r--test-ports/lang/perl5.24/files/patch-perl.c26
-rw-r--r--test-ports/lang/perl5.24/files/patch-t_porting_customized.dat20
-rw-r--r--test-ports/lang/perl5.24/files/patch-vutil.h11
-rw-r--r--test-ports/lang/perl5.24/files/perl-man.conf.in2
-rw-r--r--test-ports/lang/perl5.24/pkg-descr6
-rw-r--r--test-ports/lang/perl5.24/pkg-message11
-rw-r--r--test-ports/lang/perl5.24/pkg-plist2316
-rw-r--r--test-ports/lang/perl5.24/version.mk2
-rw-r--r--test-ports/lang/perl5.28/Makefile279
-rw-r--r--test-ports/lang/perl5.28/distinfo3
-rw-r--r--test-ports/lang/perl5.28/files/patch-Configure33
-rw-r--r--test-ports/lang/perl5.28/files/patch-Makefile.SH10
-rw-r--r--test-ports/lang/perl5.28/files/patch-cpan_ExtUtils-Install_lib_ExtUtils_Install.pm11
-rw-r--r--test-ports/lang/perl5.28/files/patch-cpan_ExtUtils-Install_t_Install.t20
-rw-r--r--test-ports/lang/perl5.28/files/patch-cpan_ExtUtils-MakeMaker_lib_ExtUtils_MM__Any.pm18
-rw-r--r--test-ports/lang/perl5.28/files/patch-cpan_ExtUtils-MakeMaker_t_INST__PREFIX.t20
-rw-r--r--test-ports/lang/perl5.28/files/patch-cpan_Pod-Perldoc_lib_Pod_Perldoc_ToMan.pm11
-rw-r--r--test-ports/lang/perl5.28/files/patch-cpan_Pod-Perldoc_lib_Pod_Perldoc_ToTerm.pm11
-rw-r--r--test-ports/lang/perl5.28/files/patch-ext_GDBM__File_t_fatal.t30
-rw-r--r--test-ports/lang/perl5.28/files/patch-hints_freebsd.sh22
-rw-r--r--test-ports/lang/perl5.28/files/patch-perl.c26
-rw-r--r--test-ports/lang/perl5.28/files/patch-t_porting_customized.dat10
-rw-r--r--test-ports/lang/perl5.28/files/perl-man.conf.in2
-rw-r--r--test-ports/lang/perl5.28/pkg-descr6
-rw-r--r--test-ports/lang/perl5.28/pkg-message11
-rw-r--r--test-ports/lang/perl5.28/pkg-plist2471
-rw-r--r--test-ports/lang/perl5.28/version.mk2
-rw-r--r--test-ports/lang/python/Makefile69
-rw-r--r--test-ports/lang/python/pkg-descr8
-rw-r--r--test-ports/lang/python2/Makefile53
-rw-r--r--test-ports/lang/python2/pkg-descr8
-rw-r--r--test-ports/lang/python27/Makefile146
-rw-r--r--test-ports/lang/python27/Makefile.version4
-rw-r--r--test-ports/lang/python27/distinfo3
-rw-r--r--test-ports/lang/python27/files/patch-Doc__library__fcntl.rst10
-rw-r--r--test-ports/lang/python27/files/patch-Lib_distutils_command_build__scripts.py17
-rw-r--r--test-ports/lang/python27/files/patch-Lib_distutils_command_install__lib.py34
-rw-r--r--test-ports/lang/python27/files/patch-Lib_distutils_tests_test__install__lib.py30
-rw-r--r--test-ports/lang/python27/files/patch-Makefile.pre.in18
-rw-r--r--test-ports/lang/python27/files/patch-Misc_python-config.in21
-rw-r--r--test-ports/lang/python27/files/patch-Modules___ctypes__libffi__src__arm__ffi.c36
-rw-r--r--test-ports/lang/python27/files/patch-Modules__fcntlmodule.c53
-rw-r--r--test-ports/lang/python27/files/patch-pr19236558
-rw-r--r--test-ports/lang/python27/files/patch-setup.py93
-rw-r--r--test-ports/lang/python27/pkg-descr4
-rw-r--r--test-ports/lang/python27/pkg-message11
-rw-r--r--test-ports/lang/python27/pkg-plist4578
-rw-r--r--test-ports/lang/python3/Makefile55
-rw-r--r--test-ports/lang/python3/pkg-descr8
-rw-r--r--test-ports/lang/python35/Makefile144
-rw-r--r--test-ports/lang/python35/Makefile.version4
-rw-r--r--test-ports/lang/python35/distinfo3
-rw-r--r--test-ports/lang/python35/files/patch-Lib_distutils_command_install__lib.py41
-rw-r--r--test-ports/lang/python35/files/patch-Lib_distutils_tests_test__install__lib.py33
-rw-r--r--test-ports/lang/python35/files/patch-Makefile.pre.in63
-rw-r--r--test-ports/lang/python35/files/patch-Misc__python-config.sh.in11
-rw-r--r--test-ports/lang/python35/files/patch-Modules___ctypes__libffi__src__arm__ffi.c36
-rw-r--r--test-ports/lang/python35/files/patch-issue2021068
-rw-r--r--test-ports/lang/python35/files/patch-issue30622145
-rw-r--r--test-ports/lang/python35/files/patch-issue3312799
-rw-r--r--test-ports/lang/python35/files/pkg-message.in10
-rw-r--r--test-ports/lang/python35/pkg-descr4
-rw-r--r--test-ports/lang/python35/pkg-plist6559
-rw-r--r--test-ports/lang/python36/Makefile140
-rw-r--r--test-ports/lang/python36/Makefile.version4
-rw-r--r--test-ports/lang/python36/distinfo3
-rw-r--r--test-ports/lang/python36/files/patch-Lib_distutils_command_install__lib.py41
-rw-r--r--test-ports/lang/python36/files/patch-Lib_distutils_tests_test__install__lib.py33
-rw-r--r--test-ports/lang/python36/files/patch-Makefile.pre.in53
-rw-r--r--test-ports/lang/python36/files/patch-Misc__python-config.sh.in11
-rw-r--r--test-ports/lang/python36/files/patch-Modules___ctypes__libffi__src__arm__ffi.c36
-rw-r--r--test-ports/lang/python36/files/patch-issue2021068
-rw-r--r--test-ports/lang/python36/files/pkg-message.in10
-rw-r--r--test-ports/lang/python36/pkg-descr4
-rw-r--r--test-ports/lang/python36/pkg-plist6805
-rw-r--r--test-ports/lang/python37/Makefile143
-rw-r--r--test-ports/lang/python37/Makefile.version4
-rw-r--r--test-ports/lang/python37/distinfo3
-rw-r--r--test-ports/lang/python37/files/patch-Lib_distutils_command_install__lib.py41
-rw-r--r--test-ports/lang/python37/files/patch-Lib_distutils_tests_test__install__lib.py33
-rw-r--r--test-ports/lang/python37/files/patch-Makefile.pre.in65
-rw-r--r--test-ports/lang/python37/files/patch-Misc__python-config.sh.in11
-rw-r--r--test-ports/lang/python37/files/patch-issue2021068
-rw-r--r--test-ports/lang/python37/files/pkg-message.in10
-rw-r--r--test-ports/lang/python37/pkg-descr4
-rw-r--r--test-ports/lang/python37/pkg-plist7003
-rw-r--r--test-ports/misc/Makefile3
-rw-r--r--test-ports/misc/foo/Makefile33
-rw-r--r--test-ports/misc/foo/pkg-descr3
-rw-r--r--test-ports/misc/foo/pkg-plist52
-rw-r--r--test-ports/misc/freebsd-release-manifests/Makefile34
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/amd64-amd64-10.0-RELEASE7
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/amd64-amd64-10.1-RELEASE7
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/amd64-amd64-10.2-RELEASE7
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/amd64-amd64-10.3-RELEASE7
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/amd64-amd64-11.0-RELEASE10
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/amd64-amd64-9.0-RELEASE7
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/amd64-amd64-9.1-RELEASE7
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/amd64-amd64-9.2-RELEASE7
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/amd64-amd64-9.3-RELEASE7
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/arm64-aarch64-11.0-RELEASE8
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/i386-i386-10.0-RELEASE6
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/i386-i386-10.1-RELEASE6
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/i386-i386-10.2-RELEASE6
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/i386-i386-10.3-RELEASE6
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/i386-i386-11.0-RELEASE8
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/i386-i386-9.0-RELEASE6
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/i386-i386-9.1-RELEASE6
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/i386-i386-9.2-RELEASE6
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/i386-i386-9.3-RELEASE6
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/ia64-ia64-10.0-RELEASE6
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/ia64-ia64-10.1-RELEASE6
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/ia64-ia64-10.2-RELEASE6
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/ia64-ia64-10.3-RELEASE6
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/ia64-ia64-9.0-RELEASE6
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/ia64-ia64-9.2-RELEASE6
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/ia64-ia64-9.3-RELEASE6
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc-10.0-RELEASE6
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc-10.1-RELEASE6
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc-10.2-RELEASE6
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc-10.3-RELEASE6
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc-11.0-RELEASE8
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc-9.0-RELEASE6
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc-9.2-RELEASE6
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc-9.3-RELEASE6
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc64-10.0-RELEASE7
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc64-10.1-RELEASE7
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc64-10.2-RELEASE7
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc64-10.3-RELEASE7
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc64-11.0-RELEASE10
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc64-9.0-RELEASE7
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc64-9.1-RELEASE7
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc64-9.2-RELEASE7
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc64-9.3-RELEASE7
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/sparc64-sparc64-10.0-RELEASE6
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/sparc64-sparc64-10.1-RELEASE6
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/sparc64-sparc64-10.2-RELEASE6
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/sparc64-sparc64-10.3-RELEASE6
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/sparc64-sparc64-11.0-RELEASE8
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/sparc64-sparc64-9.0-RELEASE6
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/sparc64-sparc64-9.1-RELEASE6
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/sparc64-sparc64-9.2-RELEASE6
-rw-r--r--test-ports/misc/freebsd-release-manifests/files/MANIFESTS/sparc64-sparc64-9.3-RELEASE6
-rw-r--r--test-ports/misc/freebsd-release-manifests/pkg-descr3
-rw-r--r--test-ports/misc/freebsd-release-manifests/pkg-plist52
-rw-r--r--test-ports/misc/help2man/Makefile42
-rw-r--r--test-ports/misc/help2man/blah213
-rw-r--r--test-ports/misc/help2man/distinfo3
-rw-r--r--test-ports/misc/help2man/pkg-descr11
-rw-r--r--test-ports/ports-mgmt/Makefile14
-rw-r--r--test-ports/ports-mgmt/pkg/Makefile81
-rw-r--r--test-ports/ports-mgmt/pkg/distinfo3
-rw-r--r--test-ports/ports-mgmt/pkg/files/extra-patch-docs_pkg.834
-rw-r--r--test-ports/ports-mgmt/pkg/files/patch-javavmwrapper34
-rw-r--r--test-ports/ports-mgmt/pkg/pkg-descr3
-rw-r--r--test-ports/ports-mgmt/pkg/pkg-plist56
-rw-r--r--test-ports/ports-mgmt/poudriere-devel-IGNORED-and-skipped/Makefile61
-rw-r--r--test-ports/ports-mgmt/poudriere-devel-IGNORED-and-skipped/distinfo3
-rw-r--r--test-ports/ports-mgmt/poudriere-devel-IGNORED-and-skipped/pkg-descr5
-rw-r--r--test-ports/ports-mgmt/poudriere-devel-IGNORED-and-skipped/pkg-plist98
-rw-r--r--test-ports/ports-mgmt/poudriere-devel-IGNORED/Makefile60
-rw-r--r--test-ports/ports-mgmt/poudriere-devel-IGNORED/distinfo3
-rw-r--r--test-ports/ports-mgmt/poudriere-devel-IGNORED/pkg-descr5
-rw-r--r--test-ports/ports-mgmt/poudriere-devel-IGNORED/pkg-plist98
-rw-r--r--test-ports/ports-mgmt/poudriere-devel-bad-dep_args/Makefile61
-rw-r--r--test-ports/ports-mgmt/poudriere-devel-bad-dep_args/distinfo3
-rw-r--r--test-ports/ports-mgmt/poudriere-devel-bad-dep_args/pkg-descr5
-rw-r--r--test-ports/ports-mgmt/poudriere-devel-bad-dep_args/pkg-plist98
-rw-r--r--test-ports/ports-mgmt/poudriere-devel-dep-DEFAULT/Makefile59
-rw-r--r--test-ports/ports-mgmt/poudriere-devel-dep-DEFAULT/distinfo3
-rw-r--r--test-ports/ports-mgmt/poudriere-devel-dep-DEFAULT/pkg-descr5
-rw-r--r--test-ports/ports-mgmt/poudriere-devel-dep-DEFAULT/pkg-plist98
-rw-r--r--test-ports/ports-mgmt/poudriere-devel-dep-FOO/Makefile59
-rw-r--r--test-ports/ports-mgmt/poudriere-devel-dep-FOO/distinfo3
-rw-r--r--test-ports/ports-mgmt/poudriere-devel-dep-FOO/pkg-descr5
-rw-r--r--test-ports/ports-mgmt/poudriere-devel-dep-FOO/pkg-plist98
-rw-r--r--test-ports/ports-mgmt/poudriere-devel-dep-IGNORED/Makefile59
-rw-r--r--test-ports/ports-mgmt/poudriere-devel-dep-IGNORED/distinfo3
-rw-r--r--test-ports/ports-mgmt/poudriere-devel-dep-IGNORED/pkg-descr5
-rw-r--r--test-ports/ports-mgmt/poudriere-devel-dep-IGNORED/pkg-plist98
-rw-r--r--test-ports/ports-mgmt/poudriere-devel-dep-INVALID/Makefile59
-rw-r--r--test-ports/ports-mgmt/poudriere-devel-dep-INVALID/distinfo3
-rw-r--r--test-ports/ports-mgmt/poudriere-devel-dep-INVALID/pkg-descr5
-rw-r--r--test-ports/ports-mgmt/poudriere-devel-dep-INVALID/pkg-plist98
-rw-r--r--test-ports/ports-mgmt/poudriere-devel-dep2-IGNORED/Makefile59
-rw-r--r--test-ports/ports-mgmt/poudriere-devel-dep2-IGNORED/distinfo3
-rw-r--r--test-ports/ports-mgmt/poudriere-devel-dep2-IGNORED/pkg-descr5
-rw-r--r--test-ports/ports-mgmt/poudriere-devel-dep2-IGNORED/pkg-plist98
-rw-r--r--test-ports/ports-mgmt/poudriere-devel/Makefile58
-rw-r--r--test-ports/ports-mgmt/poudriere-devel/distinfo3
-rw-r--r--test-ports/ports-mgmt/poudriere-devel/pkg-descr5
-rw-r--r--test-ports/ports-mgmt/poudriere-devel/pkg-plist98
-rw-r--r--test-ports/ports-mgmt/yyyy/Makefile58
-rw-r--r--test-ports/ports-mgmt/yyyy/distinfo3
-rw-r--r--test-ports/ports-mgmt/yyyy/pkg-descr5
-rw-r--r--test-ports/ports-mgmt/yyyy/pkg-plist98
-rw-r--r--test-ports/ports-mgmt/zzzz/Makefile58
-rw-r--r--test-ports/ports-mgmt/zzzz/distinfo3
-rw-r--r--test-ports/ports-mgmt/zzzz/pkg-descr5
-rw-r--r--test-ports/ports-mgmt/zzzz/pkg-plist98
-rw-r--r--test-ports/print/Makefile2
-rw-r--r--test-ports/print/indexinfo/Makefile22
-rw-r--r--test-ports/print/indexinfo/distinfo3
-rw-r--r--test-ports/print/indexinfo/pkg-descr3
-rw-r--r--test-ports/print/texinfo/Makefile51
-rw-r--r--test-ports/print/texinfo/distinfo9
-rw-r--r--test-ports/print/texinfo/pkg-descr13
-rw-r--r--test-ports/print/texinfo/pkg-install28
-rw-r--r--test-ports/print/texinfo/pkg-plist455
-rw-r--r--test-ports/security/Makefile1
-rw-r--r--test-ports/security/openssl/Makefile177
-rw-r--r--test-ports/security/openssl/distinfo11
-rw-r--r--test-ports/security/openssl/files/extra-patch-test_testssl15
-rw-r--r--test-ports/security/openssl/files/patch-Configure45
-rw-r--r--test-ports/security/openssl/files/patch-Makefile11
-rw-r--r--test-ports/security/openssl/files/patch-RFC-570538
-rw-r--r--test-ports/security/openssl/files/patch-apps_s__client.c22
-rw-r--r--test-ports/security/openssl/files/patch-config19
-rw-r--r--test-ports/security/openssl/files/pkg-message.in1
-rw-r--r--test-ports/security/openssl/pkg-descr16
-rw-r--r--test-ports/security/openssl/pkg-plist1716
-rw-r--r--test-ports/security/openssl/version.mk1
569 files changed, 91457 insertions, 0 deletions
diff --git a/test-ports/Makefile b/test-ports/Makefile
new file mode 100644
index 00000000..b7c176eb
--- /dev/null
+++ b/test-ports/Makefile
@@ -0,0 +1,7 @@
+SUBDIR += converters
+SUBDIR += devel
+SUBDIR += lang
+SUBDIR += ports-mgmt
+SUBDIR += misc
+SUBDIR += print
+SUBDIR += security
diff --git a/test-ports/Mk/Scripts/actual-package-depends.sh b/test-ports/Mk/Scripts/actual-package-depends.sh
new file mode 100644
index 00000000..d1ff5b29
--- /dev/null
+++ b/test-ports/Mk/Scripts/actual-package-depends.sh
@@ -0,0 +1,74 @@
+#!/bin/sh
+# MAINTAINER: portmgr@FeeeBSD.org
+# $FreeBSD: head/Mk/Scripts/actual-package-depends.sh 471274 2018-06-01 16:20:54Z mat $
+
+[ -n "${DEBUG_MK_SCRIPTS}" -o -n "${DEBUG_MK_SCRIPTS_ACTUAL_PACKAGE_DEPENDS}" ] && set -x
+
+if [ -z "${PKG_BIN}" ]; then
+ echo "PKG_BIN required in environment." >&2
+ exit 1
+fi
+
+resolv_symlink() {
+ local file tgt
+ file=${1}
+ if [ ! -L ${file} ] ; then
+ echo ${file}
+ return
+ fi
+
+ tgt=$(readlink ${file})
+ case $tgt in
+ /*)
+ echo $tgt
+ return
+ ;;
+ esac
+
+ file=${file%/*}/${tgt}
+ absolute_path ${file}
+}
+
+absolute_path() {
+ local file myifs target
+ file=$1
+
+ myifs=${IFS}
+ IFS='/'
+ set -- ${file}
+ IFS=${myifs}
+ for el; do
+ case $el in
+ .) continue ;;
+ '') continue ;;
+ ..) target=${target%/*} ;;
+ *) target="${target}/${el}" ;;
+ esac
+ done
+ echo ${target}
+}
+
+find_dep() {
+ pattern=$1
+ case ${pattern} in
+ *\>*|*\<*|*=*)
+ ${PKG_BIN} info -Eg "${pattern}" 2>/dev/null ||
+ echo "actual-package-depends: dependency on ${pattern} not registered" >&2
+ return
+ ;;
+ /*)
+ searchfile=$pattern
+ ;;
+ *)
+ searchfile=$(/usr/bin/which ${pattern} 2>/dev/null)
+ ;;
+ esac
+ if [ -n "${searchfile}" ]; then
+ ${PKG_BIN} which -q ${searchfile} || ${PKG_BIN} which -q "$(resolv_symlink ${searchfile} 2>/dev/null)" ||
+ echo "actual-package-depends: dependency on ${searchfile} not registered (normal if it belongs to base)" >&2
+ fi
+}
+
+for lookup; do
+ ${PKG_BIN} query "\"%n\": {origin: \"%o\", version: \"%v\"}" "$(find_dep ${lookup})" || :
+done
diff --git a/test-ports/Mk/Scripts/cargo-crates.awk b/test-ports/Mk/Scripts/cargo-crates.awk
new file mode 100644
index 00000000..0ee85aaa
--- /dev/null
+++ b/test-ports/Mk/Scripts/cargo-crates.awk
@@ -0,0 +1,91 @@
+# MAINTAINER: ports@FreeBSD.org
+# $FreeBSD: head/Mk/Scripts/cargo-crates.awk 446198 2017-07-19 14:00:16Z tobik $
+
+BEGIN {
+ gh_tuple_len = 0
+ crates_len = 0
+ package_name = "<unknown>"
+}
+
+/^"checksum .* .* \(registry\+.*\)" = ".*"/ {
+ # $2: crate
+ # $3: version
+ # $4: url
+ # $6: checksum
+ crates[crates_len++] = sprintf("%s-%s", $2, $3)
+}
+
+/^name = ".*"/ {
+ package_name = $3
+ gsub("[^a-zA-Z_]", "", package_name)
+}
+
+function split_url(s) {
+ # scheme:[//[user[:password]@]host[:port]][/path][?query][#fragment]
+ split(s, url_scheme, "://")
+ url["scheme"] = url_scheme[1]
+
+ split(url_scheme[2], url_fragment, "#")
+ url["fragment"] = url_fragment[2]
+
+ split(url_fragment[1], url_query, "?")
+ url["query"] = url_query[2]
+
+ split(url_query[1], url_authority, "/")
+ url["path"] = substr(url_query[1], length(url_authority[1]) + 1)
+
+ split(url_authority[1], url_auth, "@")
+
+ if (length(url_auth) == 2) {
+ split(url_auth[1], url_user, ":")
+ url["user"] = url_user[1]
+ url["password"] = url_user[2]
+ split(url_auth[2], url_host, ":")
+ } else {
+ url["user"] = ""
+ url["password"] = ""
+ split(url_auth[1], url_host, ":")
+ }
+ url["host"] = url_host[1]
+ url["port"] = url_host[2]
+}
+
+/^source = "git\+(https|http|git):\/\/github.com\/.*#.*"/ {
+ split_url(substr($3, 1, length($3) - 1))
+
+ split(url["path"], path, "/")
+ account = path[2]
+ project = path[3]
+ gsub("\.git$", "", project)
+
+ if (match(url["query"], "^tag=")) {
+ split(url["query"], tag_, "=")
+ tag = tag_[2]
+ } else {
+ tag = url["fragment"]
+ }
+ gh_tuple[gh_tuple_len++] = sprintf(\
+ "%s:%s:%s:%s", account, project, tag, package_name)
+}
+
+function print_array(start, arr, arrlen) {
+ end = " \\\n"
+ for (i = 0; i < arrlen; i++) {
+ if (i == arrlen - 1) {
+ end = "\n"
+ }
+ printf "%s\t%s%s", start, arr[i], end
+ start = "\t"
+ }
+}
+
+END {
+ if (gh_tuple_len > 0 && ENVIRON["USE_GITHUB"] == "") {
+ printf "USE_GITHUB=\tnodefault\n"
+ }
+ print_array("GH_TUPLE=", gh_tuple, gh_tuple_len)
+ print_array("CARGO_CRATES=", crates, crates_len)
+ if (gh_tuple_len > 0) {
+ printf "CARGO_USE_GITHUB=\tyes\n"
+ }
+}
diff --git a/test-ports/Mk/Scripts/check-desktop-entries.sh b/test-ports/Mk/Scripts/check-desktop-entries.sh
new file mode 100644
index 00000000..4b02f2b1
--- /dev/null
+++ b/test-ports/Mk/Scripts/check-desktop-entries.sh
@@ -0,0 +1,111 @@
+#!/bin/sh
+# $FreeBSD: head/Mk/Scripts/check-desktop-entries.sh 460160 2018-01-28 08:25:06Z mat $
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+set -e
+
+. "${dp_SCRIPTSDIR}/functions.sh"
+
+validate_env dp_CURDIR dp_ECHO_CMD dp_ECHO_MSG dp_EXPR dp_GREP dp_PKGNAME \
+ dp_SED dp_TR dp_MAKE
+
+[ -n "${DEBUG_MK_SCRIPTS}" ] || [ -n "${DEBUG_MK_SCRIPTS_CHECK_DESKTOP_ENTRIES}" ] && set -x
+
+set -u
+
+# http://standards.freedesktop.org/menu-spec/menu-spec-latest.html
+DESKTOP_CATEGORIES_MAIN='AudioVideo Audio Video Development Education Game
+Graphics Network Office Science Settings System Utility'
+DESKTOP_CATEGORIES_ADDITIONAL='Building Debugger IDE GUIDesigner Profiling
+RevisionControl Translation Calendar ContactManagement Database Dictionary
+Chart Email Finance FlowChart PDA ProjectManagement Presentation Spreadsheet
+WordProcessor 2DGraphics VectorGraphics RasterGraphics 3DGraphics Scanning OCR
+Photography Publishing Viewer TextTools DesktopSettings HardwareSettings
+Printing PackageManager Dialup InstantMessaging Chat IRCClient Feed
+FileTransfer HamRadio News P2P RemoteAccess Telephony TelephonyTools
+VideoConference WebBrowser WebDevelopment Midi Mixer Sequencer Tuner TV
+AudioVideoEditing Player Recorder DiscBurning ActionGame AdventureGame
+ArcadeGame BoardGame BlocksGame CardGame KidsGame LogicGame RolePlaying Shooter
+Simulation SportsGame StrategyGame Art Construction Music Languages
+ArtificialIntelligence Astronomy Biology Chemistry ComputerScience
+DataVisualization Economy Electricity Geography Geology Geoscience History
+Humanities ImageProcessing Literature Maps Math NumericalAnalysis
+MedicalSoftware Physics Robotics Spirituality Sports ParallelComputing
+Amusement Archiving Compression Electronics Emulator Engineering FileTools
+FileManager TerminalEmulator Filesystem Monitor Security Accessibility
+Calculator Clock TextEditor Documentation Adult Core KDE GNOME MATE XFCE GTK Qt
+Motif Java ConsoleOnly'
+DESKTOP_CATEGORIES_RESERVED='Screensaver TrayIcon Applet Shell'
+
+VALID_DESKTOP_CATEGORIES="${dp_VALID_DESKTOP_CATEGORIES} ${DESKTOP_CATEGORIES_MAIN} ${DESKTOP_CATEGORIES_ADDITIONAL} ${DESKTOP_CATEGORIES_RESERVED}"
+
+if [ "$(${dp_EXPR} $# % 6)" -ne 0 ]; then
+ ${dp_ECHO_MSG} "${dp_PKGNAME}: Makefile error: the DESKTOP_ENTRIES list must contain one or more groups of 6 elements"
+ exit 1
+fi
+
+num=0
+
+while [ $# -ge 6 ]; do
+ num=$(${dp_EXPR} ${num} + 1)
+ entry="#${num}"
+
+ Name="${1}"
+ #Comment="${2}" # Not Used
+ Icon="${3}"
+ Exec="${4}"
+ Categories="${5}"
+ StartupNotify="${6}"
+
+ shift 6
+
+ if [ -n "${Exec}" ]; then
+ entry="${entry} (${Exec})"
+ elif [ -n "${Name}" ]; then
+ entry="${entry} (${Name})"
+ fi
+
+ if [ -z "${Name}" ]; then
+ ${dp_ECHO_MSG} "${dp_PKGNAME}: Makefile error: in desktop entry ${entry}: field 1 (Name) is empty"
+ exit 1
+ fi
+
+ if ${dp_EXPR} '(' "${Icon}" : '.*\.xpm$' ')' '|' '(' "${Icon}" : '.*\.png$' ')' '|' '(' "${Icon}" : '.*\.svg$' ')' > /dev/null; then
+ if ! echo "${Icon}" | ${dp_GREP} -qe '^/' ; then
+ ${dp_ECHO_MSG} "${dp_PKGNAME}: Makefile warning: in desktop entry ${entry}: field 3 (Icon) should be either absolute path or icon name without extension if installed icons follow Icon Theme Specification"
+ fi
+ fi
+
+ if [ -z "${Exec}" ]; then
+ ${dp_ECHO_MSG} "${dp_PKGNAME}: Makefile error: in desktop entry ${entry}: field 4 (Exec) is empty"
+ exit 1
+ fi
+
+ if [ -n "${Categories}" ]; then
+ for c in $(${dp_ECHO_CMD} "${Categories}" | ${dp_TR} ';' ' '); do
+ if ! ${dp_ECHO_CMD} "${VALID_DESKTOP_CATEGORIES}" | ${dp_GREP} -wq "${c}"; then
+ ${dp_ECHO_CMD} "${dp_PKGNAME}: Makefile warning: in desktop entry ${entry}: category ${c} is not a valid desktop category"
+ fi
+ done
+
+ if ! ${dp_ECHO_CMD} "${Categories}" | ${dp_GREP} -Eq "$(${dp_ECHO_CMD} "${DESKTOP_CATEGORIES_MAIN}" | ${dp_SED} -E 's,[[:blank:]]+,\|,g')"; then
+ ${dp_ECHO_CMD} "${dp_PKGNAME}: Makefile warning: in desktop entry ${entry}: field 5 (Categories) must contain at least one main desktop category (make -VDESKTOP_CATEGORIES_MAIN)"
+ fi
+
+ if ! ${dp_EXPR} "${Categories}" : '.*;$' > /dev/null; then
+ ${dp_ECHO_MSG} "${dp_PKGNAME}: Makefile error: in desktop entry ${entry}: field 5 (Categories) does not end with a semicolon"
+ exit 1
+ fi
+ else
+ if [ -z "$(cd "${dp_CURDIR}" && ${dp_MAKE} desktop-categories)" ]; then
+ ${dp_ECHO_MSG} "${dp_PKGNAME}: Makefile error: in desktop entry ${entry}: field 5 (Categories) is empty and could not be deduced from the CATEGORIES variable"
+ exit 1
+ fi
+ fi
+
+ if [ "${StartupNotify}" != "true" ] && [ "${StartupNotify}" != "false" ] && [ -n "${StartupNotify}" ]; then
+ ${dp_ECHO_MSG} "${dp_PKGNAME}: Makefile error: in desktop entry ${entry}: field 6 (StartupNotify) is not \"true\", \"false\" or \"\"(empty)"
+ exit 1
+ fi
+done
diff --git a/test-ports/Mk/Scripts/check-stagedir.sh b/test-ports/Mk/Scripts/check-stagedir.sh
new file mode 100644
index 00000000..a5f111bd
--- /dev/null
+++ b/test-ports/Mk/Scripts/check-stagedir.sh
@@ -0,0 +1,286 @@
+#!/bin/sh
+# ports/Mk/Scripts/check-stagedir.sh - called from ports/Mk/bsd.stage.mk
+# $FreeBSD: head/Mk/Scripts/check-stagedir.sh 484649 2018-11-10 23:55:42Z gerald $
+#
+# MAINTAINER: portmgr@FreeBSD.org
+#
+# This script serves 2 purposes:
+# 1. Generate a plist
+# 2. Test a plist for issues:
+# a. Files in STAGEDIR that are missing from plist
+# b. Files in plist missing from STAGEDIR
+# c. Files in plist which are owned by dependencies/MTREEs
+
+set -e
+
+. ${SCRIPTSDIR}/functions.sh
+
+# lists an mtree file's contents, prefixed to dir.
+listmtree() { # mtreefile prefix
+ {
+ echo '#mtree'
+ sed 's/nochange$//;' $1
+ } | tar -tf- | sed "s,^,$2/,;s,^$2/\.$,$2,;s,^$,/,"
+}
+
+### PRODUCE MTREE FILE
+parse_mtree() {
+ {
+ listmtree /etc/mtree/BSD.root.dist ""
+ listmtree /etc/mtree/BSD.usr.dist /usr
+ listmtree /etc/mtree/BSD.var.dist /var
+
+ # Use MTREE_FILE if specified and it doesn't already
+ # match LOCALBASE
+ if [ -n "${MTREE_FILE}" ]; then
+ if [ "${PREFIX}" != "${LOCALBASE}" -o "${MTREE_FILE}" \
+ != "${PORTSDIR}/Templates/BSD.local.dist" ]; then
+ listmtree "${MTREE_FILE}" "${PREFIX}"
+ fi
+ fi
+ listmtree "${PORTSDIR}/Templates/BSD.local.dist" "${LOCALBASE}"
+
+ unset MTREE_FILE
+
+ # Add LOCALBASE
+ a=${LOCALBASE}
+ while :; do
+ echo ${a}
+ a=${a%/*}
+ [ -z "${a}" ] && break
+ done
+
+ # Add in PREFIX if this port wants it
+ if [ ${NO_PREFIX_RMDIR} -eq 0 ]; then
+ a=${PREFIX}
+ while :; do
+ echo ${a}
+ a=${a%/*}
+ [ -z "${a}" ] && break
+ done
+ fi
+ } >${WRKDIR}/.mtree
+}
+
+# Sort a directory list by the order of the dfs-sorted file (from find -d -s)
+sort_dfs() {
+ while read -r dir; do
+ grep "^[0-9]* ${dir}$" ${WRKDIR}/.staged-dirs-dfs-sorted
+ done | sort -n | cut -d ' ' -f2-
+}
+
+# Prepare sed(1) regex for PLIST_SUB_SED/PORTEXAMPLES/OPTIONS/...
+setup_plist_seds() {
+ ### HANDLE PORTDOCS/PORTEXAMPLES
+ sed_portdocsexamples="/%%DOCSDIR%%/s!^!%%PORTDOCS%%!g; /%%EXAMPLESDIR%%/s!^!%%PORTEXAMPLES%%!g;"
+ if [ ${makeplist} -eq 0 ]; then
+ # echo "=====> Using OPTIONS: ${PORT_OPTIONS}" | /usr/bin/fmt -w 79 | \
+ # sed -e '2,$s/^/ /'
+ # Handle magical PORT* features
+ for option in DOCS EXAMPLES; do
+ want_option=0
+ case " ${PORT_OPTIONS} " in
+ *\ ${option}\ *) want_option=1 ;;
+ esac
+ [ ${want_option} -eq 0 ] && \
+ sed_portdocsexamples="${sed_portdocsexamples} /^%%PORT${option}%%/d;"
+ done
+ unset PORT_OPTIONS
+ fi
+
+ sed_plist_sub=$(mktemp -t sed_plist_sub)
+ # We only exit 0 or exit 1
+ trap "rm -f ${sed_plist_sub}" EXIT 1
+ echo "${PLIST_SUB_SED}" | /bin/sh ${SCRIPTSDIR}/plist_sub_sed_sort.sh ${sed_plist_sub}
+ unset PLIST_SUB_SED
+ # Used for generate_plist
+ sed_files_gen="${sed_portdocsexamples} /^share\/licenses/d; \
+ \#${LOCALBASE}/lib/debug#d;"
+ sed_dirs_gen="s,^,@dir ,; \
+ ${sed_portdocsexamples} \
+ /^@dir share\/licenses/d;"
+
+ # These prevent ignoring DOCS/EXAMPLES dirs with sed_portdocsexamples
+ sed_files="/^share\/licenses/d; \
+ \#${LOCALBASE}/lib/debug#d;"
+ sed_dirs="s,^,@dir ,; \
+ /^@dir share\/licenses/d;"
+
+}
+
+# Generate plist from staged files
+generate_plist() {
+ : >${WRKDIR}/.staged-plist
+
+ ### HANDLE FILES
+ find ${STAGEDIR} -type f -o -type l | sort | \
+ sed -e "s,${STAGEDIR},," >${WRKDIR}/.staged-files
+ comm -13 ${WRKDIR}/.plist-files ${WRKDIR}/.staged-files | \
+ sed -e "s!^${PREFIX}/!!g;" -f "${sed_plist_sub}" -e "${sed_files_gen}" \
+ >>${WRKDIR}/.staged-plist || :
+
+ ### HANDLE DIRS
+ cat ${WRKDIR}/.plist-dirs-unsorted ${WRKDIR}/.mtree \
+ | sort -u >${WRKDIR}/.traced-dirs
+ find ${STAGEDIR} -type d | sed -e "s,^${STAGEDIR},,;/^$/d" | sort \
+ >${WRKDIR}/.staged-dirrms-sorted
+ find -s -d ${STAGEDIR}${PREFIX} -type d -empty | sed -e "s,^${STAGEDIR},,;\,^${PREFIX}$,d;/^$/d" \
+ >${WRKDIR}/.staged-dirs-dfs
+ find -s -d ${STAGEDIR} -type d ! -path "${STAGEDIR}${PREFIX}/*" | sed -e "s,^${STAGEDIR},,;\,^${PREFIX}$,d;/^$/d" \
+ >>${WRKDIR}/.staged-dirs-dfs
+ sort ${WRKDIR}/.staged-dirs-dfs >${WRKDIR}/.staged-dirs-sorted
+ awk '{print FNR, $0}' ${WRKDIR}/.staged-dirs-dfs \
+ >${WRKDIR}/.staged-dirs-dfs-sorted
+ # Find all staged dirs and then sort them by depth-first (find -d -s)
+ comm -13 ${WRKDIR}/.traced-dirs ${WRKDIR}/.staged-dirs-sorted \
+ | sort_dfs | sed -e "s!^${PREFIX}/!!g;" -f "${sed_plist_sub}" -e "${sed_dirs_gen}" \
+ >>${WRKDIR}/.staged-plist || :
+}
+
+# Check for files in STAGEDIR missing from plist
+check_orphans_from_plist() {
+ local ret=0
+
+ echo "===> Checking for items in STAGEDIR missing from pkg-plist"
+ # Handle whitelisting
+ while read -r path; do
+ case "${path}" in
+ *.bak) ;;
+ *.orig) ;;
+ */.DS_Store) ;;
+ */.cvsignore) ;;
+ */.git/*|'@dir '*/.git) ;;
+ */.gitattributes|*/.gitignore|*/.gitmodules) ;;
+ */.svn/*|'@dir '*/.svn) ;;
+ */.svnignore) ;;
+ */CVS/*|'@dir '*/CVS) ;;
+ */info/dir|info/dir|info/*/dir|share/info/*/dir) ;;
+ share/fonts/*/fonts.dir) ;;
+ share/fonts/*/fonts.scale) ;;
+ share/applications/mimeinfo.cache) ;;
+ share/mime/XMLnamespaces) ;;
+ share/mime/aliases) ;;
+ share/mime/generic-icons) ;;
+ share/mime/globs) ;;
+ share/mime/globs2) ;;
+ share/mime/icons) ;;
+ share/mime/magic) ;;
+ share/mime/mime.cache) ;;
+ share/mime/subclasses) ;;
+ share/mime/treemagic) ;;
+ share/mime/types) ;;
+ share/mime/version) ;;
+ '@dir etc/gconf/gconf.xml.defaults');;
+ *)
+ # An orphan was found, return non-zero status
+ ret=1
+ echo "Error: Orphaned: ${path}" >&2
+ ;;
+ esac
+ done < ${WRKDIR}/.staged-plist
+ return ${ret}
+}
+
+# Check for items in plist not in STAGEDIR (pkg lstat(2) errors)
+check_missing_plist_items() {
+ local ret=0
+ echo "===> Checking for items in pkg-plist which are not in STAGEDIR"
+ : >${WRKDIR}/.invalid-plist-missing
+ comm -23 ${WRKDIR}/.plist-files-no-comments ${WRKDIR}/.staged-files | \
+ sed -e "s!^${PREFIX}/!!g;" -f "${sed_plist_sub}" -e "${sed_files}" \
+ >>${WRKDIR}/.invalid-plist-missing || :
+
+ # Look for directories, then sort them by DFS. Must create the dirs
+ # so find -ds can be used to sort them.
+ rm -rf ${WRKDIR}/.missing-dirs > /dev/null 2>&1 || :
+ mkdir ${WRKDIR}/.missing-dirs
+ comm -23 ${WRKDIR}/.plist-dirs-sorted-no-comments \
+ ${WRKDIR}/.staged-dirrms-sorted > ${WRKDIR}/.missing-plist-dirs
+ # Creates the dirs in WRKDIR/.missing-dirs and ensure spaces are
+ # quoted.
+ sed -e "s,^,${WRKDIR}/.missing-dirs," \
+ -e 's,^\(.*\)$,"\1",' \
+ ${WRKDIR}/.missing-plist-dirs | xargs mkdir -p
+ find -d -s ${WRKDIR}/.missing-dirs | \
+ sed -e "s,^${WRKDIR}/.missing-dirs,," | \
+ while read -r dir; do \
+ grep -x "${dir}" ${WRKDIR}/.missing-plist-dirs || :; done | \
+ sed -e "s!^${PREFIX}/!!g;" -f "${sed_plist_sub}" -e "${sed_dirs}" \
+ >>${WRKDIR}/.invalid-plist-missing || :
+ rm -rf ${WRKDIR}/.missing-dirs
+ if [ -s "${WRKDIR}/.invalid-plist-missing" ]; then
+ ret=1
+ while read -r line; do
+ echo "Error: Missing: ${line}" >&2
+ done < ${WRKDIR}/.invalid-plist-missing
+ fi
+ return ${ret}
+}
+
+# obtain operating mode from command line
+ret=0
+makeplist=0
+case "$1" in
+ checkplist) ;;
+ makeplist) makeplist=1 ;;
+ *) echo >&2 "Usage: $0 {checkplist|makeplist}" ; exit 1 ;;
+esac
+
+# validate environment
+validate_env STAGEDIR PREFIX LOCALBASE WRKDIR WRKSRC MTREE_FILE \
+ TMPPLIST PLIST_SUB_SED SCRIPTSDIR PORT_OPTIONS NO_PREFIX_RMDIR
+
+[ -n "${DEBUG_MK_SCRIPTS}" -o -n "${DEBUG_MK_SCRIPTS_CHECK_STAGEDIR}" ] && set -x
+
+set -u
+
+if [ $makeplist = 0 ] ; then
+ echo "===> Parsing plist"
+ parse_plist "${PREFIX}" 1 < ${TMPPLIST} \
+ 3>${WRKDIR}/.plist-dirs-unsorted \
+ >${WRKDIR}/.plist-files-unsorted
+ unset TMPPLIST
+ # Create the -no-comments files and trim out @comment from the plists.
+ # This is used for various tests later.
+ sed -e '/^@comment/d' ${WRKDIR}/.plist-dirs-unsorted \
+ >${WRKDIR}/.plist-dirs-unsorted-no-comments
+ sed -i '' -e 's/^@comment //' ${WRKDIR}/.plist-dirs-unsorted
+ sed -e '/^@comment/d' ${WRKDIR}/.plist-files-unsorted | sort \
+ >${WRKDIR}/.plist-files-no-comments
+ sed -e 's/^@comment //' ${WRKDIR}/.plist-files-unsorted | sort \
+ >${WRKDIR}/.plist-files
+else
+ # generate plist - pretend the plist had been empty
+ : >${WRKDIR}/.plist-dirs-unsorted
+ : >${WRKDIR}/.plist-files
+ echo '/you/have/to/check/what/makeplist/gives/you'
+fi
+
+parse_mtree
+
+setup_plist_seds
+generate_plist
+
+# If just making plist, show results and exit successfully.
+if [ ${makeplist} -eq 1 ]; then
+ cat ${WRKDIR}/.staged-plist
+ exit 0
+fi
+
+check_orphans_from_plist || ret=1
+
+# Prepare plist-dirs for directory checks
+sort -u ${WRKDIR}/.plist-dirs-unsorted-no-comments \
+ >${WRKDIR}/.plist-dirs-sorted-no-comments
+
+check_missing_plist_items || ret=1
+
+if [ ${ret} -ne 0 ]; then
+ echo "===> Error: Plist issues found." >&2
+ if [ "${PREFIX}" != "${LOCALBASE}" ]; then
+ echo "===> Warning: Test was done with PREFIX != LOCALBASE"
+ echo "===> Warning: The port may not be properly installing into PREFIX"
+ fi
+fi
+
+exit ${ret}
diff --git a/test-ports/Mk/Scripts/check-vulnerable.sh b/test-ports/Mk/Scripts/check-vulnerable.sh
new file mode 100644
index 00000000..a3e4fdaa
--- /dev/null
+++ b/test-ports/Mk/Scripts/check-vulnerable.sh
@@ -0,0 +1,36 @@
+#!/bin/sh
+# $FreeBSD: head/Mk/Scripts/check-vulnerable.sh 417111 2016-06-19 11:25:35Z mat $
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+set -e
+
+. "${dp_SCRIPTSDIR}/functions.sh"
+
+validate_env dp_ECHO_MSG dp_PKG_BIN dp_PORTNAME dp_PKGNAME
+
+[ -n "${DEBUG_MK_SCRIPTS}" -o -n "${DEBUG_MK_SCRIPTS_CHECK_VULNERABLE}" ] && set -x
+
+set -u
+
+# If the package is pkg, disable these checks, it fails while
+# upgrading when pkg is not there.
+# FIXME: check is this is still true
+if [ "${dp_PORTNAME}" = "pkg" ]; then
+ exit 0
+fi
+
+if [ ! -x "${dp_PKG_BIN}" ]; then
+ exit 0
+fi
+
+vlist=$(${dp_PKG_BIN} audit "${dp_PKGNAME}" || :)
+
+if [ "${vlist}" != "0 problem(s) in the installed packages found." ]; then
+ ${dp_ECHO_MSG} "===> ${dp_PKGNAME} has known vulnerabilities:"
+ ${dp_ECHO_MSG} "$vlist"
+ ${dp_ECHO_MSG} "=> Please update your ports tree and try again."
+ ${dp_ECHO_MSG} "=> Note: Vulnerable ports are marked as such even if there is no update available."
+ ${dp_ECHO_MSG} "=> If you wish to ignore this vulnerability rebuild with 'make DISABLE_VULNERABILITIES=yes'"
+ exit 1
+fi
diff --git a/test-ports/Mk/Scripts/check_leftovers.sh b/test-ports/Mk/Scripts/check_leftovers.sh
new file mode 100644
index 00000000..42ffa9eb
--- /dev/null
+++ b/test-ports/Mk/Scripts/check_leftovers.sh
@@ -0,0 +1,176 @@
+#! /bin/sh
+# $FreeBSD: head/Mk/Scripts/check_leftovers.sh 495190 2019-03-09 18:38:18Z bdrewery $
+#
+# MAINTAINER: portmgr@FreeBSD.org
+#
+# This script is used by poudriere and tinderbox(soon) as the source-of-truth for
+# what should be considered a leftover and what is whitelisted.
+#
+# !!!! This script's input/output format must remain backwards-compatible.
+# !!!! If you want to change it, create a new script and have the calling
+# !!!! scripts use the new one if available.
+#
+# Usage: env PORTSDIR=... check_leftovers.sh category/port
+# stdin:
+# - missing-file
+# + new-file
+# M modified-file reason...
+#
+# stdout:
+# same -/+/M format, but with files substituted, without approved
+# whitelisted files, and hides any directories already in plist.
+#
+# The PLIST_SUB feature can be disabled by setting PLIST_SUB_SED=
+# in environment.
+
+[ -n "${DEBUG_MK_SCRIPTS}" -o -n "${DEBUG_MK_SCRIPTS_CHECK_LEFTOVERS}" ] && set -x
+
+origin="$1"
+[ $# -eq 1 ] || { echo "Must supply ORIGIN as parameter" >&2; exit 1; }
+[ -n "${PORTSDIR}" ] || { echo "PORTSDIR must be set" >&2; exit 1; }
+
+portdir="${PORTSDIR}/${origin}"
+
+# PREFIX/LOCALBASE may be set in env or want default from port.
+if [ -n "${PREFIX}" ]; then
+ PORT_FLAGS="${PORT_FLAGS} PREFIX=${PREFIX}"
+else
+ PREFIX=$(make -C ${portdir} -VPREFIX)
+fi
+if [ -n "${LOCALBASE}" ]; then
+ PORT_FLAGS="${PORT_FLAGS} LOCALBASE=${LOCALBASE}"
+else
+ LOCALBASE=$(make -C ${portdir} -VLOCALBASE)
+fi
+if [ -z "${CCACHE_DIR}" ]; then
+ CCACHE_DIR=$(make -C ${portdir} -VCCACHE_DIR)
+fi
+if [ -z "${UID_FILES}" ]; then
+ UID_FILES=$(make -C ${portdir} -VUID_FILES)
+fi
+homedirs=$(awk -F: -v users="$(make -C ${portdir} -V USERS|sed -e 's, ,|,g;/^$/d;s,^,^(,;s,$,)$,')" 'users && $1 ~ users {print $9}' ${UID_FILES}|sort -u|sed -e "s|/usr/local|${PREFIX}|"|tr "\n" " ")
+plistsub_sed=$(mktemp -t plistsub_sed)
+trap "rm -f ${plistsub_sed}" EXIT 1
+make -C ${portdir} -VPLIST_SUB_SED | /bin/sh ${PORTSDIR}/Mk/Scripts/plist_sub_sed_sort.sh ${plistsub_sed}
+tmpplist=$(make -C ${portdir} -VTMPPLIST)
+
+while read -r modtype path extra; do
+ # Ignore everything from these files/directories
+ case "${path}" in
+ ${CCACHE_DIR:-/nonexistent}/*|\
+ /compat/linux/proc/*|\
+ /dev/*|\
+ /etc/make.conf.bak|\
+ /proc/*|\
+ /tmp/*|\
+ /var/db/pkg/*|\
+ /var/db/ports/*|\
+ /var/log/*|\
+ /var/mail/*|\
+ /var/run/*|\
+ /var/tmp/*) continue ;;
+ # fc-cache - skip for now
+ /var/db/fontconfig/*) continue ;;
+ esac
+
+ ignore_path=0
+ sub_path=$(echo "$path" | sed -e "s|^${PREFIX}/||" -f "${plistsub_sed}")
+ orig_sub_path="${sub_path}"
+ # If this is a directory, use @dir in output
+ is_dir=0
+ if [ -d "${path}" ]; then
+ is_dir=1
+ sub_path="@dir ${sub_path}"
+ fi
+
+ # Handle PORTDOCS/PORTEXAMPLES/etc
+ case "${orig_sub_path}" in
+ %%DOCSDIR%%*) sub_path="%%PORTDOCS%%${sub_path}" ;;
+ %%EXAMPLESDIR%%*) sub_path="%%PORTEXAMPLES%%${sub_path}" ;;
+ esac
+
+ case $modtype in
+ +)
+ if [ ${is_dir} -eq 1 ]; then
+ # home directory of users created
+ case " ${homedirs} " in
+ *\ ${path}\ *) continue ;;
+ *\ ${path}/*\ *) continue ;;
+ esac
+ # Don't show dirs already in plist (due to parents)
+ grep -qE \
+ "^@(unexec rmdir \"?(%D/|${PREFIX})?${path#${PREFIX}/}[ \"]|dir(rm|rmtry)? ${path#${PREFIX}/}\$)" \
+ ${tmpplist} && continue
+ fi
+
+ # Check absolute paths
+ case "${path}" in
+ # Leave qmail's queue dir alone to not cause lost mail
+ # during upgrades, just as /var/mail is left alone.
+ /var/qmail/queue/*|/var/qmail/queue) continue ;;
+ esac
+
+ # Check relative/plist paths
+ case "${sub_path}" in
+ # gconftool-2 --makefile-uninstall-rule is unpredictable
+ etc/gconf/gconf.xml.defaults/%gconf-tree*.xml) ;;
+ *) echo "+ ${sub_path}" ;;
+ esac
+ ;;
+ -)
+ # Skip removal of PREFIX and PREFIX/info from
+ # bsd.port.mk for now.
+ # Skip if it is PREFIX and non-LOCALBASE. See misc/kdehier4
+ # or mail/qmail for examples
+ [ "${path}" = "${PREFIX}" -a "${LOCALBASE}" != "${PREFIX}" ] &&
+ ignore_path=1
+
+ # The removal of info may be a bug; it's part of BSD.local.dist.
+ # See ports/74691
+
+ [ "${sub_path}" = "info" -a "${LOCALBASE}" != "${PREFIX}" ] &&
+ ignore_path=1
+
+ [ $ignore_path -eq 0 ] && echo "- ${sub_path}"
+ ;;
+ M)
+ # Check relative/plist paths
+ case "${sub_path}" in
+ # gconftool-2 --makefile-uninstall-rule is unpredictable
+ etc/gconf/gconf.xml.defaults/%gconf-tree*.xml) ;;
+ # This is a cache file for gio modules could be modified
+ # for any gio modules
+ lib/gio/modules/giomodule.cache) ;;
+ # removal of info files leaves entry uneasy to cleanup
+ # in info/dir
+ info/dir) ;;
+ */info/dir) ;;
+ # The is pear database cache
+ %%PEARDIR%%/.depdb|%%PEARDIR%%/.filemap) ;;
+ #ls-R files from texmf are often regenerated
+ */ls-R) ;;
+ # Octave packages database, blank lines can be inserted
+ # between pre-install and post-deinstall
+ share/octave/octave_packages) ;;
+ # xmlcatmgr is constantly updating catalog.ports ignore
+ # modification to that file
+ share/xml/catalog.ports) ;;
+ # Ignore ghc's doc index
+ share/doc/ghc-%%GHC_VERSION%%/*) ;;
+ # Ignore ghc's package conf
+ lib/ghc-%%GHC_VERSION%%/package.conf.d/*) ;;
+ # Ignore common system config files
+ /etc/group|\
+ /etc/make.conf|\
+ /etc/master.passwd|\
+ /etc/passwd|\
+ /etc/pwd.db|\
+ /etc/shells|\
+ /etc/spwd.db) ;;
+ *) echo "M ${sub_path#@dir } ${extra}" ;;
+ esac
+ ;;
+ esac
+done
+
+exit 0
diff --git a/test-ports/Mk/Scripts/checksum.sh b/test-ports/Mk/Scripts/checksum.sh
new file mode 100644
index 00000000..9b859b0f
--- /dev/null
+++ b/test-ports/Mk/Scripts/checksum.sh
@@ -0,0 +1,93 @@
+#!/bin/sh
+# $FreeBSD: head/Mk/Scripts/checksum.sh 471267 2018-06-01 16:20:33Z mat $
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+set -e
+
+. "${dp_SCRIPTSDIR}/functions.sh"
+
+validate_env dp_CHECKSUM_ALGORITHMS dp_CURDIR dp_DISTDIR dp_DISTINFO_FILE \
+ dp_DIST_SUBDIR dp_ECHO_MSG dp_FETCH_REGET dp_MAKE dp_MAKEFLAGS \
+ dp_DISABLE_SIZE dp_NO_CHECKSUM
+
+[ -n "${DEBUG_MK_SCRIPTS}" -o -n "${DEBUG_MK_SCRIPTS_CHECKSUM}" ] && set -x
+
+set -u
+
+check_checksum_algorithms
+
+if [ -f "${dp_DISTINFO_FILE}" ]; then
+ cd "${dp_DISTDIR}"
+ OK=
+ refetchlist=
+ for file in "${@}"; do
+ ignored="true"
+ for alg in ${dp_CHECKSUM_ALGORITHMS}; do
+ ignore="false"
+ eval "alg_executable=\$dp_${alg}"
+
+ if [ "$alg_executable" != "NO" ]; then
+ MKSUM=$($alg_executable < "${file}")
+ CKSUM=$(distinfo_data "${alg}" "${file}")
+ else
+ ignore="true"
+ fi
+
+ if [ $ignore = "false" -a -z "$CKSUM" ]; then
+ ${dp_ECHO_MSG} "=> No $alg checksum recorded for $file."
+ ignore="true"
+ fi
+
+ if [ $ignore != "false" ]; then
+ continue
+ fi
+
+ match="false"
+ for chksum in $CKSUM; do
+ if [ "$chksum" = "$MKSUM" ]; then
+ match="true"
+ break
+ fi
+ done
+ if [ $match = "true" ]; then
+ ${dp_ECHO_MSG} "=> $alg Checksum OK for $file."
+ ignored="false"
+ else
+ ${dp_ECHO_MSG} "=> $alg Checksum mismatch for $file."
+ refetchlist="$refetchlist $file "
+ OK="${OK:-retry}"
+ [ "${OK}" = "retry" -a "${dp_FETCH_REGET}" -gt 0 ] && rm -f "${file}"
+ ignored="false"
+ fi
+ done
+
+ if [ $ignored = "true" ]; then
+ ${dp_ECHO_MSG} "=> No suitable checksum found for $file."
+ OK=false
+ fi
+ done
+
+ if [ "${OK:=true}" = "retry" ] && [ "${dp_FETCH_REGET}" -gt 0 ]; then
+ ${dp_ECHO_MSG} "===> Refetch for ${dp_FETCH_REGET} more times files: $refetchlist"
+ if ${dp_MAKE} -C "${dp_CURDIR}" ${dp_MAKEFLAGS} FORCE_FETCH_LIST="$refetchlist" FETCH_REGET="$((dp_FETCH_REGET - 1))" fetch; then
+ if ${dp_MAKE} -C "${dp_CURDIR}" ${dp_MAKEFLAGS} FETCH_REGET="$((dp_FETCH_REGET - 1))" checksum ; then
+ OK="true"
+ fi
+ fi
+ fi
+
+ if [ "$OK" != "true" -a "${dp_FETCH_REGET}" -eq 0 ]; then
+ ${dp_ECHO_MSG} "===> Giving up on fetching files: $refetchlist"
+ ${dp_ECHO_MSG} "Make sure the Makefile and distinfo file (${dp_DISTINFO_FILE})"
+ ${dp_ECHO_MSG} "are up to date. If you are absolutely sure you want to override this"
+ ${dp_ECHO_MSG} "check, type \"make NO_CHECKSUM=yes [other args]\"."
+ exit 1
+ fi
+ if [ "$OK" != "true" ]; then
+ exit 1
+ fi
+elif [ -n "${*}" ]; then
+ ${dp_ECHO_MSG} "=> No checksum file (${dp_DISTINFO_FILE})."
+ exit 1
+fi
diff --git a/test-ports/Mk/Scripts/create-manifest.sh b/test-ports/Mk/Scripts/create-manifest.sh
new file mode 100644
index 00000000..3aa7c380
--- /dev/null
+++ b/test-ports/Mk/Scripts/create-manifest.sh
@@ -0,0 +1,158 @@
+#!/bin/sh
+# $FreeBSD: head/Mk/Scripts/create-manifest.sh 471274 2018-06-01 16:20:54Z mat $
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+set -e
+
+. "${dp_SCRIPTSDIR}/functions.sh"
+
+validate_env dp_ACTUAL_PACKAGE_DEPENDS dp_CATEGORIES dp_COMMENT \
+ dp_COMPLETE_OPTIONS_LIST dp_DEPRECATED dp_DESCR dp_EXPIRATION_DATE \
+ dp_GROUPS dp_LICENSE dp_LICENSE_COMB dp_MAINTAINER dp_METADIR \
+ dp_NO_ARCH dp_PKGBASE dp_PKGDEINSTALL dp_PKGINSTALL dp_PKGMESSAGES \
+ dp_PKGORIGIN dp_PKGPOSTDEINSTALL dp_PKGPOSTINSTALL dp_PKGPOSTUPGRADE \
+ dp_PKGPREDEINSTALL dp_PKGPREINSTALL dp_PKGPREUPGRADE dp_PKGUPGRADE \
+ dp_PKGVERSION dp_PKG_BIN dp_PKG_IGNORE_DEPENDS dp_PKG_NOTES \
+ dp_PORT_OPTIONS dp_PREFIX dp_USERS dp_WWW
+
+[ -n "${DEBUG_MK_SCRIPTS}" -o -n "${DEBUG_MK_SCRIPTS_CREATE_MANIFEST}" ] && set -x
+
+set -u
+
+listcontains() {
+ local str lst elt
+ str=$1
+ lst=$2
+
+ for elt in ${lst} ; do
+ if [ ${elt} = ${str} ]; then
+ return 0
+ fi
+ done
+ return 1
+}
+
+mkdir -p ${dp_METADIR}
+
+# Save stdout and redirect it to the manifest file.
+exec 3>&1 >${dp_METADIR}/+MANIFEST
+
+# First, all the required bits
+cat <<EOT
+name: "${dp_PKGBASE}"
+version: "${dp_PKGVERSION}"
+origin: ${dp_PKGORIGIN}
+comment: <<EOD
+${dp_COMMENT}
+EOD
+maintainer: ${dp_MAINTAINER}
+prefix: ${dp_PREFIX}
+categories: [ ${dp_CATEGORIES} ]
+licenselogic: ${dp_LICENSE_COMB:-single}
+EOT
+
+# Then, the optional bits
+[ -z "${dp_WWW}" ] || echo "www: ${dp_WWW}"
+[ -z "${dp_LICENSE}" ] || echo "licenses: [ ${dp_LICENSE} ]"
+[ -z "${dp_USERS}" ] || echo "users: [ ${dp_USERS} ]"
+[ -z "${dp_GROUPS}" ] || echo "groups: [ ${dp_GROUPS} ]"
+[ -n "${dp_NO_ARCH}" ] && echo "arch : $(${dp_PKG_BIN} config abi | tr '[:upper:]' '[:lower:]' | cut -d: -f1,2):*"
+[ -n "${dp_NO_ARCH}" ] && echo "abi : $(${dp_PKG_BIN} config abi | cut -d: -f1,2):*"
+
+# Then the key/values sections
+echo "deps: { "
+eval ${dp_ACTUAL_PACKAGE_DEPENDS} | grep -v -E ${dp_PKG_IGNORE_DEPENDS} | sort -u
+echo "}"
+
+echo "options: {"
+for opt in ${dp_COMPLETE_OPTIONS_LIST}; do
+ if listcontains ${opt} "${dp_PORT_OPTIONS}"; then
+ echo " ${opt}: on,"
+ else
+ echo " ${opt}: off,"
+ fi
+done
+echo "}"
+
+if [ -n "${dp_PKG_NOTES}" ]; then
+ echo "annotations: {"
+ for note in ${dp_PKG_NOTES}; do
+ echo " ${note}: <<EOD"
+ eval "echo \"\${dp_PKG_NOTE_${note}}\""
+ echo "EOD"
+ done
+ echo "}"
+fi
+
+# Copy the pkg-descr file
+cp ${dp_DESCR} ${dp_METADIR}/+DESC
+
+# Concatenate all the scripts
+output_files=
+for stage in INSTALL DEINSTALL UPGRADE; do
+ for prepost in '' PRE POST; do
+ output=${dp_METADIR}/+${prepost:+${prepost}_}${stage}
+ [ -f "${output}" ] && output_files="${output_files:+${output_files} }${output}"
+ done
+done
+[ -n "${output_files}" ] && rm -f ${output_files}
+
+for stage in INSTALL DEINSTALL UPGRADE; do
+ for prepost in '' PRE POST; do
+ eval files="\${dp_PKG${prepost}${stage}}"
+ output=${dp_METADIR}/+${prepost:+${prepost}_}${stage}
+ for input in ${files}; do
+ [ -f "${input}" ] && cat ${input} >> ${output}
+ done
+ done
+done
+
+# *** STARTING NOW, STDOUT is +DISPLAY ***
+
+exec >${dp_METADIR}/+DISPLAY
+
+for message in ${dp_PKGMESSAGES}; do
+ [ -f "${message}" ] && cat "${message}"
+done
+
+# Try and keep these messages in sync with check-deprecated
+if [ ${dp_MAINTAINER} = "ports@FreeBSD.org" ]; then
+ if [ -f "${dp_METADIR}/+DISPLAY" ]; then echo; fi
+ cat <<-EOT
+ ===> NOTICE:
+
+ The ${dp_PKGBASE} port currently does not have a maintainer. As a result, it is
+ more likely to have unresolved issues, not be up-to-date, or even be removed in
+ the future. To volunteer to maintain this port, please create an issue at:
+
+ https://bugs.freebsd.org/bugzilla
+
+ More information about port maintainership is available at:
+
+ https://www.freebsd.org/doc/en/articles/contributing/ports-contributing.html#maintain-port
+ EOT
+fi
+
+if [ -n "${dp_DEPRECATED}" ]; then
+ if [ -f "${dp_METADIR}/+DISPLAY" ]; then echo; fi
+ cat <<-EOT
+ ===> NOTICE:
+
+ This port is deprecated; you may wish to reconsider installing it:
+
+ ${dp_DEPRECATED}.
+
+ EOT
+
+ if [ -n "${dp_EXPIRATION_DATE}" ]; then
+ cat <<-EOT
+ It is scheduled to be removed on or after ${dp_EXPIRATION_DATE}.
+
+ EOT
+ fi
+fi
+
+if [ ! -s ${dp_METADIR}/+DISPLAY ]; then
+ rm -f ${dp_METADIR}/+DISPLAY
+fi
diff --git a/test-ports/Mk/Scripts/depends-list.sh b/test-ports/Mk/Scripts/depends-list.sh
new file mode 100644
index 00000000..60ea8557
--- /dev/null
+++ b/test-ports/Mk/Scripts/depends-list.sh
@@ -0,0 +1,132 @@
+#!/bin/sh
+# MAINTAINER: portmgr@FreeBSD.org
+# $FreeBSD: head/Mk/Scripts/depends-list.sh 471988 2018-06-08 09:26:20Z mat $
+
+set -e
+
+. ${dp_SCRIPTSDIR}/functions.sh
+
+flavors=0
+recursive=0
+missing=0
+requires_wrkdir=0
+while getopts "fmrw" FLAG; do
+ case "${FLAG}" in
+ f)
+ flavors=1
+ ;;
+ m)
+ missing=1
+ recursive=1
+ ;;
+ r)
+ recursive=1
+ ;;
+ w)
+ # Only list dependencies that have a WRKDIR. Used for
+ # 'make clean-depends'.
+ # Without -r recurse when WRKDIR exists; with -r
+ # always recurse.
+ requires_wrkdir=1
+ ;;
+ *)
+ echo "Unknown flag" >&2
+ exit 1
+ ;;
+ esac
+done
+shift $((OPTIND-1))
+
+validate_env PORTSDIR dp_PKGNAME
+if [ ${recursive} -eq 1 -o ${requires_wrkdir} -eq 1 ]; then
+ validate_env dp_MAKE
+ # Cache command executions to avoid looking them up again in every
+ # sub-make.
+ MAKE="${dp_MAKE}" export_ports_env >/dev/null
+fi
+
+[ -n "${DEBUG_MK_SCRIPTS}" -o -n "${DEBUG_MK_SCRIPTS_DEPENDS_LIST}" ] && set -x
+
+set -u
+
+if [ ${missing} -eq 1 ]; then
+ existing=$(${dp_PKG_INFO} -aoq|paste -d ' ' -s -)
+fi
+
+check_dep() {
+ local _dep wrkdir show_dep
+
+ for _dep ; do
+ unset FLAVOR
+ myifs=${IFS}
+ IFS=:
+ set -- ${_dep}
+ IFS=${myifs}
+
+ case "${2}" in
+ /*) d=${2} ;;
+ *) d=${PORTSDIR}/${2} ;;
+ esac
+
+ case "${d}" in
+ *@*/*) ;; # Ignore @ in the path which would not be a flavor
+ *@*)
+ export FLAVOR=${d##*@}
+ d=${d%@*}
+ ;;
+ esac
+ if [ ${flavors} -eq 1 -a -n "${FLAVOR:-}" ]; then
+ port_display="${d}@${FLAVOR}"
+ else
+ port_display="${d}"
+ fi
+
+ case " ${checked} " in
+ *\ ${d}\ *) continue ;; # Already checked
+ esac
+ checked="${checked} ${d}"
+ # Check if the dependency actually exists or skip otherwise.
+ if [ ! -d "${d}" ]; then
+ echo "${dp_PKGNAME}: \"${port_display}\" non-existent -- dependency list incomplete" >&2
+ continue
+ fi
+
+ # If only looking for missing, show if missing
+ if [ ${missing} -eq 1 ]; then
+ case " ${existing} " in
+ *\ ${d#${PORTSDIR}/}\ *) continue ;; # We have it, nothing to see
+ esac
+ fi
+
+ # Grab any needed vars from the port.
+
+ if [ ${requires_wrkdir} -eq 1 ]; then
+ # shellcheck disable=SC2046
+ # We want word splitting here.
+ set -- $(${dp_MAKE} -C ${d} -VWRKDIR -V_UNIFIED_DEPENDS)
+ wrkdir="$1"
+ shift
+ elif [ ${recursive} -eq 1 ]; then
+ # shellcheck disable=SC2046
+ # We want word splitting here.
+ set -- $(${dp_MAKE} -C ${d} -V_UNIFIED_DEPENDS)
+ fi
+
+ # If a WRKDIR is required to show the dependency, check for it.
+ show_dep=1
+ if [ ${requires_wrkdir} -eq 1 ] && ! [ -d "${wrkdir}" ]; then
+ show_dep=0
+ fi
+ [ ${show_dep} -eq 1 ] && echo "${port_display}"
+ if [ ${recursive} -eq 1 -o ${requires_wrkdir} -eq 1 -a ${show_dep} -eq 1 ]; then
+ # shellcheck disable=SC2068
+ # Do not add quotes, we want to split the string here.
+ check_dep $@
+ fi
+ done
+}
+
+checked=
+# shellcheck disable=SC2068
+# Do not add quotes, we want to split the string here.
+check_dep $@
diff --git a/test-ports/Mk/Scripts/desktop-categories.sh b/test-ports/Mk/Scripts/desktop-categories.sh
new file mode 100644
index 00000000..0c4e6ba2
--- /dev/null
+++ b/test-ports/Mk/Scripts/desktop-categories.sh
@@ -0,0 +1,89 @@
+#!/bin/sh
+# $FreeBSD: head/Mk/Scripts/desktop-categories.sh 460160 2018-01-28 08:25:06Z mat $
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+set -e
+
+. "${dp_SCRIPTSDIR}/functions.sh"
+
+validate_env dp_CATEGORIES dp_SORT dp_TR dp_ECHO_CMD
+
+[ -n "${DEBUG_MK_SCRIPTS}" ] || [ -n "${DEBUG_MK_SCRIPTS_DESKTOP_CATEGORIES}" ] && set -x
+
+set -u
+
+categories=""
+for native_category in ${dp_CATEGORIES}; do
+ c=""
+ case ${native_category} in
+ accessibility) c="Utility Accessibility" ;;
+ archivers) c="Utility Archiving" ;;
+ astro) c="Education Science Astronomy" ;;
+ audio) c="AudioVideo Audio" ;;
+ benchmarks) c="System" ;;
+ biology) c="Education Science Biology" ;;
+ cad) c="Graphics Engineering" ;;
+ comms) c="Utility" ;;
+ converters) c="Utility" ;;
+ databases) c="Office Database" ;;
+ deskutils) c="Utility" ;;
+ devel) c="Development" ;;
+ dns) c="Network" ;;
+ elisp) c="Development" ;;
+ editors) c="Utility" ;;
+ emulators) c="System Emulator" ;;
+ finance) c="Office Finance" ;;
+ ftp) c="Network FileTransfer" ;;
+ games) c="Game" ;;
+ geography) c="Education Science Geography" ;;
+ gnome) c="GNOME GTK" ;;
+ graphics) c="Graphics" ;;
+ hamradio) c="HamRadio" ;;
+ haskell) c="Development" ;;
+ irc) c="Network IRCClient" ;;
+ java) c="Development Java" ;;
+ kde) c="KDE Qt" ;;
+ lang) c="Development" ;;
+ lisp) c="Development" ;;
+ mail) c="Office Email" ;;
+ mate) c="MATE GTK" ;;
+ math) c="Education Science Math" ;;
+ mbone) c="Network AudioVideo" ;;
+ multimedia) c="AudioVideo" ;;
+ net) c="Network" ;;
+ net-im) c="Network InstantMessaging" ;;
+ net-mgmt) c="Network" ;;
+ net-p2p) c="Network P2P" ;;
+ news) c="Network News" ;;
+ palm) c="Office PDA" ;;
+ parallel) c="ParallelComputing" ;;
+ pear) c="Development WebDevelopment" ;;
+ perl5) c="Development" ;;
+ python) c="Development" ;;
+ ruby) c="Development" ;;
+ rubygems) c="Development" ;;
+ scheme) c="Development" ;;
+ science) c="Science Education" ;;
+ security) c="System Security" ;;
+ shells) c="System Shell" ;;
+ sysutils) c="System" ;;
+ tcl*|tk*) c="Development" ;;
+ textproc) c="Utility TextTools" ;;
+ www) c="Network" ;;
+ x11-clocks) c="Utility Clock" ;;
+ x11-fm) c="System FileManager" ;;
+ xfce) c="GTK XFCE" ;;
+ zope) c="Development WebDevelopment" ;;
+ esac
+ if [ -n "${c}" ]; then
+ categories="${categories} ${c}"
+ fi
+done
+
+if [ -n "${categories}" ]; then
+ for c in ${categories}; do
+ ${dp_ECHO_CMD} "${c}"
+ done | ${dp_SORT} -u | ${dp_TR} '\n' ';'
+ ${dp_ECHO_CMD}
+fi
diff --git a/test-ports/Mk/Scripts/dialog4ports.sh b/test-ports/Mk/Scripts/dialog4ports.sh
new file mode 100644
index 00000000..56722bb8
--- /dev/null
+++ b/test-ports/Mk/Scripts/dialog4ports.sh
@@ -0,0 +1,50 @@
+#! /bin/sh
+# $FreeBSD: head/Mk/Scripts/dialog4ports.sh 415573 2016-05-20 19:01:59Z mat $
+# Maintainer: portmgr@FreeBSD.org
+set -e
+
+[ -n "${DEBUG_MK_SCRIPTS}" -o -n "${DEBUG_MK_SCRIPTS_DIALOG4PORTS}" ] && set -x
+
+if [ -z "${DIALOG4PORTS}" -o -z "${PORTSDIR}" -o -z "${MAKE}" ]; then
+ echo "DIALOG4PORTS, MAKE and PORTSDIR required in environment." >&2
+ exit 1
+fi
+
+: ${DIALOGPORT:=ports-mgmt/dialog4ports}
+: ${DIALOGNAME:=dialog4ports}
+
+OPTIONSFILE="$1"
+
+if ! [ -e $DIALOG4PORTS ]; then
+ # If INSTALL_AS_USER is set then just build and use the WRKDIR version
+ # Also do this if PREFIX!=LOCALBASE to avoid missing file or double
+ # installs
+ if [ -n "${INSTALL_AS_USER}" -o "${PREFIX}" != "${LOCALBASE}" ]; then
+ if ! [ -d "${PORTSDIR}/${DIALOGPORT}" ]; then
+ echo "===> Skipping 'config' as ${DIALOGPORT} is not checked out" >&2
+ exit 1
+ fi
+ DIALOG4PORTS=$(${MAKE} -C ${PORTSDIR}/${DIALOGPORT} -V DIALOG4PORTS)
+ if ! [ -e "${DIALOG4PORTS}" ]; then
+ echo "===> Building ${DIALOGNAME} as it is required for the config dialog"
+ ${MAKE} -C ${PORTSDIR}/${DIALOGPORT} -D NO_DIALOG clean build
+ fi
+ else
+ # Build+install through su-install as normal
+ echo "===> Building/installing ${DIALOGNAME} as it is required for the config dialog"
+ ${MAKE} -C ${PORTSDIR}/${DIALOGPORT} -D NO_DIALOG clean install
+ # Need to clean again as it can't run twice in 1 call above
+ ${MAKE} -C ${PORTSDIR}/${DIALOGPORT} -D NO_DIALOG clean
+ fi
+fi
+
+# Backwards compat with older version which used stdout [<= 0.1.1] (or stderr [0.1.2]).
+# Clear environment of PKGNAME or the dialog will show on older versions
+# that do not understand -v.
+if ! env -u PKGNAME ${DIALOG4PORTS} -v > /dev/null 2>&1; then
+ exec $DIALOG4PORTS > $OPTIONSFILE 2>&1
+fi
+
+# Newer versions use stderr to work around a jail issue
+# http://lists.freebsd.org/pipermail/freebsd-ports/2013-March/082383.html
+exec $DIALOG4PORTS 2> $OPTIONSFILE
diff --git a/test-ports/Mk/Scripts/do-depends.sh b/test-ports/Mk/Scripts/do-depends.sh
new file mode 100644
index 00000000..10dd50cb
--- /dev/null
+++ b/test-ports/Mk/Scripts/do-depends.sh
@@ -0,0 +1,197 @@
+#!/bin/sh
+# $FreeBSD: head/Mk/Scripts/do-depends.sh 455690 2017-12-07 01:51:00Z bdrewery $
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+set -e
+
+. ${dp_SCRIPTSDIR}/functions.sh
+
+validate_env dp_RAWDEPENDS dp_DEPTYPE dp_DEPENDS_TARGET dp_DEPENDS_PRECLEAN \
+ dp_DEPENDS_CLEAN dp_DEPENDS_ARGS dp_USE_PACKAGE_DEPENDS \
+ dp_USE_PACKAGE_DEPENDS_ONLY dp_PKG_ADD dp_PKG_INFO dp_WRKDIR \
+ dp_PKGNAME dp_STRICT_DEPENDS dp_LOCALBASE dp_LIB_DIRS dp_SH \
+ dp_SCRIPTSDIR PORTSDIR dp_MAKE dp_MAKEFLAGS
+
+[ -n "${DEBUG_MK_SCRIPTS}" -o -n "${DEBUG_MK_SCRIPTS_DO_DEPENDS}" ] && set -x
+
+set -u
+
+install_depends()
+{
+ origin=$1
+ target=$2
+ depends_args=$3
+ if [ -z "${dp_USE_PACKAGE_DEPENDS}" -a -z "${dp_USE_PACKAGE_DEPENDS_ONLY}" ]; then
+ MAKEFLAGS="${dp_MAKEFLAGS}" ${dp_MAKE} -C ${origin} -DINSTALLS_DEPENDS ${target} ${depends_args}
+ return 0
+ fi
+
+ port_var_fetch "${origin}" "${depends_args}" \
+ PKGFILE pkgfile \
+ PKGBASE pkgbase
+
+ if [ -r "${pkgfile}" -a "${target}" = "${dp_DEPENDS_TARGET}" ]; then
+ echo "===> Installing existing package ${pkgfile}"
+ if [ "${pkgbase}" = "pkg" ]; then
+ [ -d ${dp_WRKDIR} ] || mkdir -p ${dp_WRKDIR}
+ tar xf ${pkgfile} -C ${dp_WRKDIR} -s ",/.*/,,g" "*/pkg-static"
+ ${dp_WRKDIR}/pkg-static add ${pkgfile}
+ rm -f ${dp_WRKDIR}/pkg-static
+ else
+ ${dp_PKG_ADD} -A ${pkgfile}
+ fi
+ elif [ -n "${dp_USE_PACKAGE_DEPENDS_ONLY}" -a "${target}" = "${dp_DEPENDS_TARGET}" ]; then
+ echo "===> ${dp_PKGNAME} depends on package: ${pkgfile} - not found" >&2
+ echo "===> USE_PACKAGE_DEPENDS_ONLY set - not building missing dependency from source" >&2
+ exit 1
+ else
+ MAKEFLAGS="${dp_MAKEFLAGS}" ${dp_MAKE} -C ${origin} -DINSTALLS_DEPENDS ${target} ${depends_args}
+ fi
+}
+
+find_package()
+{
+ if ${dp_PKG_INFO} "$1" >/dev/null 2>&1; then
+ echo "===> ${dp_PKGNAME} depends on package: $1 - found"
+ return 0
+ fi
+ echo "===> ${dp_PKGNAME} depends on package: $1 - not found"
+ return 1
+}
+
+find_file()
+{
+ if [ -e "$1" ]; then
+ echo "===> ${dp_PKGNAME} depends on file: $1 - found"
+ return 0
+ fi
+ echo "===> ${dp_PKGNAME} depends on file: $1 - not found"
+ return 1
+}
+
+find_file_path()
+{
+ if which -s $1 ; then
+ echo "===> ${dp_PKGNAME} depends on executable: $1 - found"
+ return 0
+ fi
+ echo "===> ${dp_PKGNAME} depends on executable: $1 - not found"
+ return 1
+}
+
+find_lib()
+{
+ echo -n "===> ${dp_PKGNAME} depends on shared library: $1"
+ libfile=$(env -i PATH="${PATH}" LIB_DIRS="${dp_LIB_DIRS}" LOCALBASE="${dp_LOCALBASE}" ${dp_SH} ${dp_SCRIPTSDIR}/find-lib.sh $1)
+ if [ -z "${libfile}" ]; then
+ echo " - not found"
+ return 1
+ fi
+ echo " - found (${libfile})"
+}
+
+anynotfound=0
+err=0
+for _line in ${dp_RAWDEPENDS} ; do
+ # ensure we never leak flavors
+ unset FLAVOR
+ myifs=${IFS}
+ IFS=:
+ set -- ${_line}
+ IFS=${myifs}
+ if [ $# -lt 2 -o $# -gt 3 ]; then
+ echo "Error: bad dependency syntax in ${dp_DEPTYPE}" >&2
+ echo "expecting: pattern:origin[@flavour][:target]" >&2
+ echo "got: ${_line}" >&2
+ err=1
+ continue
+ fi
+ pattern=$1
+ origin=$2
+ last=${3:-}
+
+ if [ -z "${pattern}" ]; then
+ echo "Error: there is an empty port dependency in ${dp_DEPTYPE}" >&2
+ err=1
+ continue
+ fi
+
+ if [ -z "${origin}" ]; then
+ echo "Error: a dependency has an empty origin in ${dp_DEPTYPE}" >&2
+ err=1
+ continue
+ fi
+
+ case "${origin}" in
+ /*) ;;
+ *) origin="${PORTSDIR}/${origin}" ;;
+ esac
+ case "${origin}" in
+ *@*/*) ;; # Ignore @ in the path which would not be a flavor
+ *@*)
+ export FLAVOR="${origin##*@}"
+ origin=${origin%@*}
+ ;;
+ esac
+
+ depends_args="${dp_DEPENDS_ARGS}"
+ target=${dp_DEPENDS_TARGET}
+ if [ -n "${last}" ]; then
+ target=${last}
+ if [ -n "${dp_DEPENDS_PRECLEAN}" ]; then
+ target="clean ${target}"
+ depends_args="${depends_args:+${depends_args} }NOCLEANDEPENDS=yes"
+ fi
+ if [ -n "${dp_DEPENDS_CLEAN}" ]; then
+ target="${target} clean"
+ depends_args="${depends_args:+${depends_args} }NOCLEANDEPENDS=yes"
+ fi
+ fi
+
+ case ${dp_DEPTYPE} in
+ LIB_DEPENDS)
+ case ${pattern} in
+ lib*.so*) fct=find_lib ;;
+ *)
+ echo "Error: pattern ${pattern} in LIB_DEPENDS is not valid"
+ err=1
+ continue
+ ;;
+ esac ;;
+ *)
+ case ${pattern} in
+ *\>*|*\<*|*=*) fct=find_package ;;
+ /nonexistent) fct=false ;;
+ /*) fct=find_file ;;
+ *) fct=find_file_path ;;
+ esac ;;
+ esac
+ if ${fct} "${pattern}" ; then
+ continue
+ fi
+ [ ${pattern} = "/nonexistent" ] || anynotfound=1
+
+ if [ ! -f "${origin}/Makefile" ]; then
+ echo "Error a dependency refers to a non existing origin: ${origin} in ${dp_DEPTYPE}" >&2
+ err=1
+ continue
+ fi
+
+ # Now actually install the dependencies
+ install_depends "${origin}" "${target}" "${depends_args}"
+ # Recheck if the installed dependency validates the pattern except for /nonexistent
+ [ "${fct}" = "false" ] || ${fct} "${pattern}"
+ echo "===> Returning to build of ${dp_PKGNAME}"
+done
+
+if [ $err -eq 1 ]; then
+ echo "Errors with dependencies."
+ exit 1
+fi
+
+if [ -n "${dp_STRICT_DEPENDS}" -a ${anynotfound} -eq 1 ]; then \
+ echo "===> dp_STRICT_DEPENDS set - Not installing missing dependencies."
+ echo " This means a dependency is wrong since it was not satisfied in the ${dp_DEPTYPE} phase."
+ exit 1
+fi
diff --git a/test-ports/Mk/Scripts/do-fetch.sh b/test-ports/Mk/Scripts/do-fetch.sh
new file mode 100644
index 00000000..11dbd2b8
--- /dev/null
+++ b/test-ports/Mk/Scripts/do-fetch.sh
@@ -0,0 +1,176 @@
+#!/bin/sh
+# $FreeBSD: head/Mk/Scripts/do-fetch.sh 462544 2018-02-21 21:26:46Z bdrewery $
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+set -e
+
+. "${dp_SCRIPTSDIR}/functions.sh"
+
+validate_env dp_DEVELOPER dp_DISABLE_SIZE dp_DISTDIR dp_DISTINFO_FILE \
+ dp_DIST_SUBDIR dp_ECHO_MSG dp_FETCH_AFTER_ARGS dp_FETCH_BEFORE_ARGS \
+ dp_FETCH_CMD dp_FETCH_ENV dp_FORCE_FETCH_ALL dp_FORCE_FETCH_LIST \
+ dp_MASTER_SITE_BACKUP dp_MASTER_SITE_OVERRIDE dp_MASTER_SORT_AWK \
+ dp_NO_CHECKSUM dp_RANDOMIZE_SITES dp_SITE_FLAVOR dp_TARGET
+
+[ -n "${DEBUG_MK_SCRIPTS}" -o -n "${DEBUG_MK_SCRIPTS_DO_FETCH}" ] && set -x
+
+set -u
+
+case ${dp_TARGET} in
+ do-fetch|makesum)
+ if [ ! -d "${dp_DISTDIR}" ]; then
+ mkdir -p "${dp_DISTDIR}"
+ fi
+ cd "${dp_DISTDIR}"
+ ;;
+esac
+
+for _file in "${@}"; do
+ file=${_file%%:*}
+
+ # If this files has groups
+ if [ "$_file" = "$file" ]; then
+ select=DEFAULT
+ else
+ select=$(echo "${_file##*:}" | sed -e 's/,/ /g')
+ fi
+
+ filebasename=${file##*/}
+ if [ -n "${dp_FORCE_FETCH_ALL}" ]; then
+ force_fetch=true
+ else
+ force_fetch=false
+ for afile in ${dp_FORCE_FETCH_LIST}; do
+ afile=${afile##*/}
+ if [ "x$afile" = "x$filebasename" ]; then
+ force_fetch=true
+ fi
+ done
+ fi
+ if [ -f "${file}" -a "$force_fetch" != "true" ]; then
+ continue
+ fi
+ full_file="${dp_DIST_SUBDIR:+${dp_DIST_SUBDIR}/}${file}"
+ if [ -L "$file" ]; then
+ ${dp_ECHO_MSG} "=> ${dp_DISTDIR}/$file is a broken symlink."
+ ${dp_ECHO_MSG} "=> Perhaps a filesystem (most likely a CD) isn't mounted?"
+ ${dp_ECHO_MSG} "=> Please correct this problem and try again."
+ exit 1
+ fi
+ if [ -f "${dp_DISTINFO_FILE}" -a -z "${dp_NO_CHECKSUM}" ]; then
+ _sha256sum=$(distinfo_data SHA256 "${full_file}")
+ if [ -z "$_sha256sum" ]; then
+ ${dp_ECHO_MSG} "=> ${dp_DIST_SUBDIR:+$dp_DIST_SUBDIR/}$file is not in ${dp_DISTINFO_FILE}."
+ ${dp_ECHO_MSG} "=> Either ${dp_DISTINFO_FILE} is out of date, or"
+ ${dp_ECHO_MSG} "=> ${dp_DIST_SUBDIR:+$dp_DIST_SUBDIR/}$file is spelled incorrectly."
+ exit 1
+ fi
+ fi
+ case ${dp_TARGET} in
+ do-fetch|makesum)
+ ${dp_ECHO_MSG} "=> $file doesn't seem to exist in ${dp_DISTDIR}."
+ if [ ! -w "${dp_DISTDIR}" ]; then
+ ${dp_ECHO_MSG} "=> ${dp_DISTDIR} is not writable by you; cannot fetch."
+ exit 1
+ fi
+ ;;
+ esac
+ __MASTER_SITES_TMP=
+ for group in $select; do
+ # Disable nounset for this, it may come up empty, but
+ # we don't want to fail with a strange error here.
+ set +u
+ eval ___MASTER_SITES_TMP="\${_${dp_SITE_FLAVOR}_SITES_${group}}"
+ set -u
+ if [ -n "${___MASTER_SITES_TMP}" ] ; then
+ __MASTER_SITES_TMP="${__MASTER_SITES_TMP} ${___MASTER_SITES_TMP}"
+ else
+ case ${dp_TARGET} in
+ do-fetch|makesum)
+ if [ -n "${dp_DEVELOPER}" ]; then
+ ${dp_ECHO_MSG} "===> /!\\ Error /!\\"
+ else
+ ${dp_ECHO_MSG} "===> /!\\ Warning /!\\"
+ fi
+ ${dp_ECHO_MSG} " The :${group} group used for $file is missing"
+ ${dp_ECHO_MSG} " from ${dp_SITE_FLAVOR}_SITES. Check for typos, or errors."
+ if [ -n "${dp_DEVELOPER}" ]; then
+ exit 1
+ fi
+ ;;
+ esac
+
+ fi
+ done
+ ___MASTER_SITES_TMP=
+ SORTED_MASTER_SITES_CMD_TMP="echo ${dp_MASTER_SITE_OVERRIDE} $(echo -n "${__MASTER_SITES_TMP}" | awk "${dp_MASTER_SORT_AWK}") ${dp_MASTER_SITE_BACKUP}"
+ case ${dp_TARGET} in
+ fetch-list)
+ echo -n "mkdir -p ${dp_DISTDIR} && "
+ echo -n "cd ${dp_DISTDIR} && { "
+ ;;
+ esac
+ sites_remaining=0
+ if [ -n "${dp_RANDOMIZE_SITES}" ]; then
+ sites="$(${SORTED_MASTER_SITES_CMD_TMP} | ${dp_RANDOMIZE_SITES})"
+ else
+ sites="$(${SORTED_MASTER_SITES_CMD_TMP})"
+ fi
+ for site in ${sites}; do
+ sites_remaining=$((sites_remaining + 1))
+ done
+ for site in ${sites}; do
+ sites_remaining=$((sites_remaining - 1))
+ CKSIZE=$(distinfo_data SIZE "${full_file}")
+ # There is a lot of escaping, but the " needs to survive echo/eval.
+ case ${file} in
+ */*)
+ mkdir -p "${file%/*}"
+ args="-o ${file} ${site}${file}"
+ ;;
+ *)
+ args="${site}${file}"
+ ;;
+ esac
+ _fetch_cmd="${dp_FETCH_CMD} ${dp_FETCH_BEFORE_ARGS}"
+ if [ -z "${dp_DISABLE_SIZE}" -a -n "${CKSIZE}" ]; then
+ _fetch_cmd="${_fetch_cmd} -S ${CKSIZE}"
+ fi
+ _fetch_cmd="${_fetch_cmd} ${args} ${dp_FETCH_AFTER_ARGS}"
+ case ${dp_TARGET} in
+ do-fetch|makesum)
+ ${dp_ECHO_MSG} "=> Attempting to fetch ${site}${file}"
+ if env -S "${dp_FETCH_ENV}" ${_fetch_cmd}; then
+ actual_size=$(stat -f %z "${file}")
+ if [ -n "${dp_DISABLE_SIZE}" ] || [ -z "${CKSIZE}" ] || [ "${actual_size}" -eq "${CKSIZE}" ]; then
+ continue 2
+ else
+ ${dp_ECHO_MSG} "=> Fetched file size mismatch (expected ${CKSIZE}, actual ${actual_size})"
+ if [ ${sites_remaining} -gt 0 ]; then
+ ${dp_ECHO_MSG} "=> Trying next site"
+ rm -f "${file}"
+ fi
+ fi
+ fi
+ ;;
+ fetch-list)
+ echo -n "env $(escape "${_fetch_cmd}") || "
+ ;;
+ fetch-url-list-int)
+ echo ${args}
+ ;;
+ esac
+ done
+ case ${dp_TARGET} in
+ do-fetch|makesum)
+ ${dp_ECHO_MSG} "=> Couldn't fetch it - please try to retrieve this"
+ ${dp_ECHO_MSG} "=> port manually into ${dp_DISTDIR} and try again."
+ exit 1
+ ;;
+ fetch-list)
+ echo "echo \"${file}\" not fetched; }"
+ ;;
+ esac
+done
+
diff --git a/test-ports/Mk/Scripts/do-patch.sh b/test-ports/Mk/Scripts/do-patch.sh
new file mode 100644
index 00000000..0e6e3ce4
--- /dev/null
+++ b/test-ports/Mk/Scripts/do-patch.sh
@@ -0,0 +1,126 @@
+#!/bin/sh
+# $FreeBSD: head/Mk/Scripts/do-patch.sh 459915 2018-01-25 09:12:21Z mat $
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+set -e
+
+. "${dp_SCRIPTSDIR}/functions.sh"
+
+validate_env dp_BZCAT dp_CAT dp_DISTDIR dp_ECHO_MSG dp_EXTRA_PATCHES \
+ dp_EXTRA_PATCH_TREE dp_GZCAT dp_OPSYS dp_PATCH dp_PATCHDIR \
+ dp_PATCHFILES dp_PATCH_ARGS dp_PATCH_DEBUG_TMP dp_PATCH_DIST_ARGS \
+ dp_PATCH_SILENT dp_PATCH_WRKSRC dp_PKGNAME dp_PKGORIGIN \
+ dp_UNZIP_NATIVE_CMD dp_XZCAT
+
+[ -n "${DEBUG_MK_SCRIPTS}" -o -n "${DEBUG_MK_SCRIPTS_DO_PATCH}" ] && set -x
+
+set -u
+
+apply_one_patch() {
+ local file="$1"
+ local msg="$2"
+ shift 2
+ local patch_strip=""
+
+ case ${file} in
+ *:-p[0-9])
+ patch_strip=${file##*:}
+ file=${file%:-p[0-9]}
+ ;;
+ esac
+
+ if [ -n "${msg}" ]; then
+ ${dp_ECHO_MSG} "===> ${msg} ${file}${patch_strip:+ with ${patch_strip}}"
+ fi
+
+ case "${file}" in
+ *.Z|*.gz)
+ ${dp_GZCAT} "${file}"
+ ;;
+ *.bz2)
+ ${dp_BZCAT} "${file}"
+ ;;
+ *.xz)
+ ${dp_XZCAT} "${file}"
+ ;;
+ *.zip)
+ ${dp_UNZIP_NATIVE_CMD} -p "${file}"
+ ;;
+ *)
+ ${dp_CAT} "${file}"
+ ;;
+ esac | do_patch "$@" ${patch_strip}
+}
+
+do_patch() {
+ "${dp_PATCH}" -d "${dp_PATCH_WRKSRC}" "$@"
+}
+
+patch_from_directory() {
+ local dir="$1"
+ local msg="$2"
+
+ if [ -d "${dir}" ]; then
+ cd "${dir}"
+
+ if [ "$(echo patch-*)" != "patch-*" ]; then
+
+ ${dp_ECHO_MSG} "===> Applying ${msg} patches for ${dp_PKGNAME}"
+
+ PATCHES_APPLIED=""
+
+ for i in patch-*; do
+ case ${i} in
+ *.orig|*.rej|*~|*,v)
+ ${dp_ECHO_MSG} "===> Ignoring patchfile ${i}"
+ ;;
+ *)
+ if [ -n "${dp_PATCH_DEBUG_TMP}" ]; then
+ ${dp_ECHO_MSG} "===> Applying ${msg} patch ${i}"
+ fi
+ if do_patch ${dp_PATCH_ARGS} < ${i}; then
+ PATCHES_APPLIED="${PATCHES_APPLIED} ${i}"
+ else
+ ${dp_ECHO_MSG} "=> ${msg} patch ${i} failed to apply cleanly."
+ if [ -n "${PATCHES_APPLIED}" -a "${dp_PATCH_SILENT}" != "yes" ]; then
+ ${dp_ECHO_MSG} "=> Patch(es) ${PATCHES_APPLIED} applied cleanly."
+ fi
+ false
+ fi
+ ;;
+ esac
+ done
+ fi
+ fi
+}
+
+if [ -n "${dp_PATCHFILES}" ]; then
+ ${dp_ECHO_MSG} "===> Applying distribution patches for ${dp_PKGNAME}"
+ cd "${dp_DISTDIR}"
+ for i in ${dp_PATCHFILES}; do
+ apply_one_patch "${i}" \
+ "${dp_PATCH_DEBUG_TMP:+ Applying distribution patch}" \
+ ${dp_PATCH_DIST_ARGS}
+ done
+fi
+
+if [ -n "${dp_EXTRA_PATCHES}" ]; then
+ for i in ${dp_EXTRA_PATCHES}; do
+ if [ -d "${i}" ]; then
+ patch_from_directory "${i}" \
+ "extra patch"
+ else
+ apply_one_patch "${i}" \
+ "Applying extra patch" \
+ ${dp_PATCH_ARGS}
+ fi
+ done
+fi
+
+patch_from_directory "${dp_PATCHDIR}" "${dp_OPSYS}"
+
+if [ -n "${dp_EXTRA_PATCH_TREE}" ]; then
+ patch_from_directory "${dp_EXTRA_PATCH_TREE}/${dp_PKGORIGIN}" "local"
+fi
+
diff --git a/test-ports/Mk/Scripts/do-users-groups.sh b/test-ports/Mk/Scripts/do-users-groups.sh
new file mode 100644
index 00000000..5f2ab1fb
--- /dev/null
+++ b/test-ports/Mk/Scripts/do-users-groups.sh
@@ -0,0 +1,212 @@
+#!/bin/sh
+# $FreeBSD: head/Mk/Scripts/do-users-groups.sh 459356 2018-01-18 15:42:15Z mat $
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+set -e
+
+. "${dp_SCRIPTSDIR}/functions.sh"
+
+validate_env dp_ECHO_MSG dp_GID_FILES dp_GID_OFFSET dp_GROUPS_BLACKLIST \
+ dp_INSTALL dp_OPSYS dp_OSVERSION dp_PREFIX dp_PW dp_SCRIPTSDIR \
+ dp_UG_DEINSTALL dp_UG_INSTALL dp_UID_FILES dp_UID_OFFSET \
+ dp_USERS_BLACKLIST
+
+[ -n "${DEBUG_MK_SCRIPTS}" -o -n "${DEBUG_MK_SCRIPTS_DO_USERS_GROUPS}" ] && set -x
+
+set -u
+
+USERS=$1
+GROUPS=$2
+
+error() {
+ ${dp_ECHO_MSG} "${1}"
+
+ exit 1
+}
+
+# Lines from GID and UID files both contain *. As we do not need any pathname
+# expansion, disable globbing.
+set -f
+
+rm -f "${dp_UG_INSTALL}" "${dp_UG_DEINSTALL}" || :
+
+if [ "${dp_OPSYS}" = FreeBSD ] ; then
+ cat >> "${dp_UG_INSTALL}" <<-eot
+ if [ -n "\${PKG_ROOTDIR}" ] && [ "\${PKG_ROOTDIR}" != "/" ]; then
+ PW="${dp_PW} -R \${PKG_ROOTDIR}"
+ else
+ PW=${dp_PW}
+ fi
+ eot
+else
+ echo "PW=${dp_PW}" >> "${dp_UG_INSTALL}"
+fi
+
+# Both scripts need to start the same, so
+cp -f "${dp_UG_INSTALL}" "${dp_UG_DEINSTALL}"
+
+if [ -n "${GROUPS}" ]; then
+ for file in ${dp_GID_FILES}; do
+ if [ ! -f "${file}" ]; then
+ error "** ${file} doesn't exist. Exiting."
+ fi
+ done
+ ${dp_ECHO_MSG} "===> Creating groups."
+ echo "echo \"===> Creating groups.\"" >> "${dp_UG_INSTALL}"
+ for group in ${GROUPS}; do
+ # _bgpd:*:130:
+ if ! grep -q "^${group}:" ${dp_GID_FILES}; then \
+ error "** Cannot find any information about group \`${group}' in ${dp_GID_FILES}."
+ fi
+ while read -r line; do
+ # Do not change IFS for more than one command, if we
+ # changed IFS around the while read, it would mess up
+ # the string splitting in the heredoc command.
+ o_IFS=${IFS}
+ IFS=":"
+ set -- ${line}
+ IFS=${o_IFS}
+ group=$1
+ gid=$3
+ if [ -z "${gid}" ]; then
+ error "Group line for group ${group} has no gid"
+ fi
+ gid=$((gid+dp_GID_OFFSET))
+ cat >> "${dp_UG_INSTALL}" <<-eot2
+ if ! \${PW} groupshow $group >/dev/null 2>&1; then
+ echo "Creating group '$group' with gid '$gid'."
+ \${PW} groupadd $group -g $gid
+ else
+ echo "Using existing group '$group'."
+ fi
+ eot2
+ done <<-eot
+ $(grep -h "^${group}:" ${dp_GID_FILES} | head -n 1)
+ eot
+ done
+fi
+
+if [ -n "${USERS}" ]; then
+ for file in ${dp_UID_FILES}; do
+ if [ ! -f "${file}" ]; then
+ error "** ${file} doesn't exist. Exiting."
+ fi
+ done
+
+ ${dp_ECHO_MSG} "===> Creating users"
+ echo "echo \"===> Creating users\"" >> "${dp_UG_INSTALL}"
+
+ for user in ${USERS}; do
+ # _bgpd:*:130:130:BGP Daemon:/var/empty:/sbin/nologin
+ if ! grep -q "^${user}:" ${dp_UID_FILES} ; then
+ error "** Cannot find any information about user \`${user}' in ${dp_UID_FILES}."
+ fi
+ while read -r line; do
+ # Do not change IFS for more than one command, if we
+ # changed IFS around the while read, it would mess up
+ # the string splitting in the heredoc command.
+ o_IFS=${IFS}
+ IFS=":"
+ set -- ${line}
+ IFS=${o_IFS}
+ login=$1
+ uid=$3
+ gid=$4
+ class=$5
+ gecos=$8
+ homedir=$9
+ shell=${10}
+ if [ -z "$uid" ] || [ -z "$gid" ] || [ -z "$homedir" ] || [ -z "$shell" ]; then
+ error "User line for ${user} is invalid"
+ fi
+ uid=$((uid+dp_UID_OFFSET))
+ gid=$((gid+dp_GID_OFFSET))
+ if [ -n "$class" ]; then
+ class="-L $class"
+ fi
+ homedir=$(echo "$homedir" | sed "s|^/usr/local|${dp_PREFIX}|")
+ cat >> "${dp_UG_INSTALL}" <<-eot2
+ if ! \${PW} usershow $login >/dev/null 2>&1; then
+ echo "Creating user '$login' with uid '$uid'."
+ \${PW} useradd $login -u $uid -g $gid $class -c "$gecos" -d $homedir -s $shell
+ else
+ echo "Using existing user '$login'."
+ fi
+ eot2
+ case $homedir in
+ /|/nonexistent|/var/empty)
+ ;;
+ *)
+ group=$(awk -F: -v gid=${gid} '$1 !~ /^#/ && $3 == gid { print $1 }' ${dp_GID_FILES})
+ echo "${dp_INSTALL} -d -g $group -o $login $homedir" >> "${dp_UG_INSTALL}"
+ ;;
+ esac
+ done <<-eot
+ $(grep -h "^${user}:" ${dp_UID_FILES} | head -n 1)
+ eot
+ done
+fi
+
+if [ -n "${GROUPS}" ]; then
+ for group in ${GROUPS}; do
+ # mail:*:6:postfix,clamav
+ while read -r line; do
+ # Do not change IFS for more than one command, if we
+ # changed IFS around the while read, it would mess up
+ # the string splitting in the heredoc command.
+ o_IFS=${IFS}
+ IFS=":"
+ # As some lines do not have a fourth argument, provide
+ # one so $4 always exists.
+ set -- ${line} ""
+ IFS=${o_IFS}
+ group=$1
+ gid=$3
+ members=$4
+ gid=$((gid+dp_GID_OFFSET))
+ o_IFS=${IFS}
+ IFS=","
+ set -- ${members}
+ IFS=${o_IFS}
+ for login in "$@"; do
+ for user in ${USERS}; do
+ if [ -n "${user}" ] && [ "${user}" = "${login}" ]; then
+ cat >> "${dp_UG_INSTALL}" <<-eot2
+ if ! \${PW} groupshow ${group} | grep -qw ${login}; then
+ echo "Adding user '${login}' to group '${group}'."
+ \${PW} groupmod ${group} -m ${login}
+ fi
+ eot2
+ fi
+ done
+ done
+ done <<-eot
+ $(grep -h "^${group}:" ${dp_GID_FILES} | head -n 1)
+ eot
+ done
+fi
+
+if [ -n "${USERS}" ]; then
+ for user in ${USERS}; do
+ if ! echo "${dp_USERS_BLACKLIST}" | grep -qw "${user}"; then
+ cat >> "${dp_UG_DEINSTALL}" <<-eot
+ if \${PW} usershow ${user} >/dev/null 2>&1; then
+ echo "==> You should manually remove the \"${user}\" user. "
+ fi
+ eot
+ fi
+ done
+fi
+
+if [ -n "${GROUPS}" ]; then
+ for group in ${GROUPS}; do
+ if ! echo "${dp_GROUPS_BLACKLIST}" | grep -qw "${group}"; then
+ cat >> "${dp_UG_DEINSTALL}" <<-eot
+ if \${PW} groupshow ${group} >/dev/null 2>&1; then
+ echo "==> You should manually remove the \"${group}\" group "
+ fi
+ eot
+ fi
+ done
+fi
diff --git a/test-ports/Mk/Scripts/find-lib.sh b/test-ports/Mk/Scripts/find-lib.sh
new file mode 100644
index 00000000..62c604ed
--- /dev/null
+++ b/test-ports/Mk/Scripts/find-lib.sh
@@ -0,0 +1,33 @@
+#!/bin/sh
+# MAINTAINER: portmgr@FreeBSD.org
+# $FreeBSD: head/Mk/Scripts/find-lib.sh 481327 2018-10-06 08:19:19Z antoine $
+
+[ -n "${DEBUG_MK_SCRIPTS}" -o -n "${DEBUG_MK_SCRIPTS_FIND_LIB}" ] && set -x
+
+if [ -z "${LIB_DIRS}" -o -z "${LOCALBASE}" ]; then
+ echo "LIB_DIRS, LOCALBASE required in environment." >&2
+ exit 1
+fi
+
+if [ -f /usr/share/misc/magic.mime -o -f /usr/share/misc/magic.mime.mgc ]; then
+ echo >&2
+ echo "Either /usr/share/misc/magic.mime or /usr/share/misc/magic.mime.mgc exist and must be removed." >&2
+ echo "These are legacy files from an older release and may safely be deleted." >&2
+ echo "Please see UPDATING 20150213 for more details." >&2
+ exit 1
+fi
+
+if [ $# -ne 1 ]; then
+ echo "$0: no argument provided." >&2
+fi
+
+lib=$1
+dirs="${LIB_DIRS} $(cat ${LOCALBASE}/libdata/ldconfig/* 2>/dev/null || :)"
+
+for libdir in ${dirs} ; do
+ test -f ${libdir}/${lib} || continue
+ libfile=${libdir}/${lib}
+ [ "$(/usr/bin/file -b -L --mime-type ${libfile})" = "application/x-sharedlib" ] || continue
+ echo $libfile
+ break
+done
diff --git a/test-ports/Mk/Scripts/functions.sh b/test-ports/Mk/Scripts/functions.sh
new file mode 100644
index 00000000..2acefe9e
--- /dev/null
+++ b/test-ports/Mk/Scripts/functions.sh
@@ -0,0 +1,271 @@
+#!/bin/sh
+# $FreeBSD: head/Mk/Scripts/functions.sh 471988 2018-06-08 09:26:20Z mat $
+# This file for common functions used for port scripts.
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+# Expand TMPPLIST to absolute paths, splitting files and dirs into separate
+# descriptors.
+# Input:
+# fd:0 - plist to parse
+# Required params:
+# PREFIX
+# parse_comments: Whether to parse and include commented files.
+# Output:
+# fd:1 - list of files
+# fd:2 - stderr
+# fd:3 - list of directories
+parse_plist() {
+ local cwd cwd_save commented_cwd comment line newcwd parse_comments \
+ PREFIX
+
+ PREFIX="${1}"
+ parse_comments="${2:-1}"
+
+ cwd=${PREFIX}
+ cwd_save=
+ commented_cwd=
+ while read -r line; do
+ # Handle deactivated OPTIONS. Treat "@comment file" as being in
+ # the plist so it does not show up as an orphan. PLIST_SUB uses
+ # a @comment to deactive files. XXX: It would be better to
+ # make all ports use @ignore instead of @comment.
+ if [ ${parse_comments} -eq 1 -a -z "${line%%@comment *}" ]; then
+ line="${line##*@comment }"
+ # Remove @comment so it can be parsed as a file,
+ # but later prepend it again to create a list of
+ # all files commented and uncommented.
+ comment="@comment "
+ # Only consider comment @cwd for commented lines
+ if [ -n "${commented_cwd}" ]; then
+ [ -z "${cwd_save}" ] && cwd_save=${cwd}
+ cwd=${commented_cwd}
+ fi
+ else
+ comment=
+ # On first uncommented line, forget about commented
+ # @cwd
+ if [ -n "${cwd_save}" ]; then
+ cwd=${cwd_save}
+ cwd_save=
+ commented_cwd=
+ fi
+ fi
+
+ # Strip (owner,group,perm) from keywords
+ line="$(printf %s "$line" \
+ | sed -Ee 's/^@\([^)]*\)[[:space:]]+//' \
+ -e 's/^(@[[:alpha:]]+)\([^)]*\)[[:space:]]+/\1 /')"
+ case $line in
+ @dir*|'@unexec rmdir'*|'@unexec /bin/rmdir'*)
+ line="$(printf %s "$line" \
+ | sed -Ee 's/\|\|.*//;s|[[:space:]]+[0-9]*[[:space:]]*>[&]?[[:space:]]*[^[:space:]]+||g' \
+ -e "/^@unexec[[:space:]]+(\/bin\/)?rmdir( -p)?/s|([^%])%D([^%])|\1${cwd}\2|g" \
+ -e '/^@unexec[[:space:]]+(\/bin\/)?rmdir( -p)?/s|"(.*)"[[:space:]]*|\1|g' \
+ -e 's/@unexec[[:space:]]+(\/bin\/)?rmdir( -p)?[[:space:]]+//' \
+ -e 's/@dir(rm|rmtry)?[[:space:]]+//' \
+ -e 's/[[:space:]]+$//')"
+ case "$line" in
+ /*) echo >&3 "${comment}${line%/}" ;;
+ *) echo >&3 "${comment}${cwd}/${line%/}" ;;
+ esac
+ ;;
+ # Handle [file] Keywords
+ @info\ *|@shell\ *|@xmlcatmgr\ *)
+ set -- $line
+ shift
+ case "$*" in
+ /*) echo "${comment}$*" ;;
+ *) echo "${comment}${cwd}/$*" ;;
+ esac
+ ;;
+ @sample\ *)
+ set -- $line
+ shift
+ sample_file=$1
+ target_file=${1%.sample}
+ if [ $# -eq 2 ]; then
+ target_file=$2
+ fi
+ case "${sample_file}" in
+ /*) ;;
+ *) sample_file=${cwd}/${sample_file} ;;
+ esac
+ case "${target_file}" in
+ /*) ;;
+ *) target_file=${cwd}/${target_file} ;;
+ esac
+ # Ignore the actual file if it is in stagedir
+ echo "@comment ${target_file}"
+ echo "${comment}${sample_file}"
+ ;;
+ # Handle [dir] Keywords
+ @fc\ *|@fcfontsdir\ *|@fontsdir\ *)
+ set -- $line
+ shift
+ case "$*" in
+ /*)
+ echo >&3 "${comment}$*"
+ ;;
+ *)
+ echo >&3 "${comment}${cwd}/$*"
+ ;;
+ esac
+ ;;
+
+ # order matters here - we must check @cwd first because
+ # otherwise the @cwd* would also match it first, shadowing the
+ # @cwd) line.
+ @cwd|@cd)
+ # Don't actually reset cwd for commented @cwd
+ if [ -n "${comment}" ]; then
+ commented_cwd=${PREFIX}
+ else
+ cwd=${PREFIX}
+ fi
+ ;;
+ @cwd*|@cd*)
+ set -- $line
+ newcwd=$2
+ # Don't set cwd=/ as it causes // in plist and
+ # won't match later.
+ [ "${newcwd}" = "/" ] && newcwd=
+ # Don't actually reset cwd for commented @cwd
+ if [ -n "${comment}" ]; then
+ commented_cwd=${newcwd}
+ else
+ cwd=${newcwd}
+ fi
+ unset newcwd
+ ;;
+ @*) ;;
+ /*) echo "${comment}${line}" ;;
+ *) echo "${comment}${cwd}/${line}" ;;
+ esac
+ done
+}
+
+validate_env() {
+ local envfault
+ for i ; do
+ if ! (eval ": \${${i}?}" ) >/dev/null; then
+ envfault="${envfault}${envfault:+" "}${i}"
+ fi
+ done
+ if [ -n "${envfault}" ]; then
+ echo "Environment variable ${envfault} undefined. Aborting." \
+ | fmt >&2
+ exit 1
+ fi
+}
+
+export_ports_env() {
+ local export_vars make_cmd make_env var value uses
+
+ if [ -n "${HAVE_PORTS_ENV:-}" ]; then
+ return 0
+ fi
+
+ validate_env MAKE PORTSDIR
+
+ uses="python compiler:features objc"
+
+ make_env="\
+ _PORTS_ENV_CHECK=1 \
+ PACKAGE_BUILDING=1 \
+ GNU_CONFIGURE=1 \
+ USE_JAVA=1 \
+ USE_LINUX=1 \
+ "
+
+ make_cmd="${make_env}"
+
+ export_vars="$(${MAKE} -f ${PORTSDIR}/Mk/bsd.port.mk \
+ -V PORTS_ENV_VARS ${make_env} USES="${uses}")"
+
+ for var in ${export_vars}; do
+ make_cmd="${make_cmd}${make_cmd:+ }-V ${var}=\${${var}:Q}"
+ done
+
+ # Bring in all the vars, but not empty ones.
+ eval "$(${MAKE} -f ${PORTSDIR}/Mk/bsd.port.mk ${make_cmd} \
+ USES="${uses}" | grep -v '=$' | sed -e 's,\\ $,,')"
+ for var in ${export_vars}; do
+ # Export and display non-empty ones. This is not redundant
+ # with above since we're looping on all vars here; do not
+ # export a var we didn't eval in.
+ value="$(eval echo \$${var})"
+
+ if [ -n "${value}" ]; then
+ # shellcheck disable=SC2163
+ # We want to export the variable which name is in var.
+ export ${var}
+ echo "export ${var}=\"${value}\""
+ fi
+ done
+ export HAVE_PORTS_ENV=1
+ echo "export HAVE_PORTS_ENV=1"
+}
+
+distinfo_data() {
+ local alg file
+
+ alg=$1
+ file=$2
+
+ if [ \( -n "${dp_DISABLE_SIZE}" -a -n "${dp_NO_CHECKSUM}" \) -o ! -f "${dp_DISTINFO_FILE}" ]; then
+ exit
+ fi
+ awk -v alg="$alg" -v file="${file}" \
+ '$1 == alg && $2 == "(" file ")" {print $4}' "${dp_DISTINFO_FILE}"
+}
+
+check_checksum_algorithms() {
+ for alg in ${dp_CHECKSUM_ALGORITHMS}; do
+ eval "alg_executable=\$dp_$alg"
+ if [ -z "$alg_executable" ]; then
+ ${dp_ECHO_MSG} "Checksum algorithm $alg: Couldn't find the executable."
+ ${dp_ECHO_MSG} "Set $alg=/path/to/$alg in /etc/make.conf and try again."
+ exit 1
+ elif [ ! -x "$alg_executable" ]; then
+ ${dp_ECHO_MSG} "Checksum algorithm $alg: $alg_executable is not executable."
+ ${dp_ECHO_MSG} "Fix modes, or change $alg=$alg_executable in /etc/make.conf and try again."
+ exit 1
+ fi
+ done
+}
+escape() {
+ echo "$1" | sed -e 's/[&;()!#]/\\&/g'
+}
+unescape() {
+ echo "$1" | sed -e 's/\\//g'
+}
+
+# Fetch vars from the Makefile and set them locally.
+# port_var_fetch ports-mgmt/pkg "" PKGNAME pkgname PKGBASE pkgbase ...
+# the 2nd variable is for passing any wanted make arguments, such as
+# DEPENDS_ARGS.
+port_var_fetch() {
+ local origin="$1"
+ local make_args="$2"
+ local _makeflags _vars
+ local _portvar _var _line
+
+ _makeflags=
+ _vars=
+ shift 2
+ while [ $# -ge 2 ]; do
+ _portvar="$1"
+ _var="$2"
+ _makeflags="${_makeflags}${_makeflags:+ }-V${_portvar}"
+ _vars="${_vars}${_vars:+ }${_var}"
+ shift 2
+ done
+ set -- ${_vars}
+ while read -r _line; do
+ setvar "$1" "${_line}"
+ shift
+ done <<-EOF
+ $(${dp_MAKE} -C "${origin}" ${make_args} ${_makeflags} || echo)
+ EOF
+}
diff --git a/test-ports/Mk/Scripts/generate-symbols.sh b/test-ports/Mk/Scripts/generate-symbols.sh
new file mode 100644
index 00000000..05329e61
--- /dev/null
+++ b/test-ports/Mk/Scripts/generate-symbols.sh
@@ -0,0 +1,46 @@
+#! /bin/sh
+# $FreeBSD: head/Mk/Scripts/generate-symbols.sh 471992 2018-06-08 09:26:34Z mat $
+# Maintainer: portmgr@FreeBSD.org
+
+msg() {
+ echo "====> $*"
+}
+
+msg "Finding symbols"
+
+# Find all ELF files, strip them, and move symbols to PREFIX/usr/lib/debug/ORIG_PATH
+ELF_FILES=$(mktemp -t elf_files)
+LF=$(printf '\nX')
+LF=${LF%X}
+find ${STAGEDIR} -type f \
+ -exec /usr/bin/file -nNF "${LF}" {} + | while read -r f; do
+ read -r output
+ case "${output}" in
+ ELF\ *\ executable,\ *FreeBSD*,\ not\ stripped*|\
+ ELF\ *\ shared\ object,\ *FreeBSD*,\ not\ stripped*)
+ echo "${f}"
+ ;;
+ esac
+done > ${ELF_FILES}
+
+# Create all of the /usr/local/lib/* dirs
+lib_dir="${STAGEDIR}.debug${PREFIX}/lib/debug"
+sed -e "s,^${STAGEDIR}${PREFIX}/,${lib_dir}/," -e 's,/[^/]*$,,' \
+ ${ELF_FILES} | sort -u | xargs mkdir -p
+
+while read -r staged_elf_file; do
+ elf_file_name="${staged_elf_file##*/}"
+ lib_dir_dest="${lib_dir}/${staged_elf_file#${STAGEDIR}${PREFIX}/}"
+ # Strip off filename
+ lib_dir_dest="${lib_dir_dest%/*}"
+ # Save symbols to f.debug
+ objcopy --only-keep-debug "${staged_elf_file}" \
+ "${lib_dir_dest}/${elf_file_name}.debug"
+ # Strip and add a reference to f.debug for finding the symbols.
+ objcopy --strip-debug --strip-unneeded \
+ --add-gnu-debuglink="${lib_dir_dest}/${elf_file_name}.debug" \
+ "${staged_elf_file}"
+ msg "Saved symbols for ${staged_elf_file}"
+done < ${ELF_FILES}
+
+rm -f ${ELF_FILES}
diff --git a/test-ports/Mk/Scripts/install-desktop-entries.sh b/test-ports/Mk/Scripts/install-desktop-entries.sh
new file mode 100644
index 00000000..c46850db
--- /dev/null
+++ b/test-ports/Mk/Scripts/install-desktop-entries.sh
@@ -0,0 +1,66 @@
+#!/bin/sh
+# $FreeBSD: head/Mk/Scripts/install-desktop-entries.sh 460160 2018-01-28 08:25:06Z mat $
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+set -e
+
+. "${dp_SCRIPTSDIR}/functions.sh"
+
+validate_env dp_SED dp_ECHO_CMD dp_STAGEDIR dp_DESKTOPDIR
+
+[ -n "${DEBUG_MK_SCRIPTS}" ] || [ -n "${DEBUG_MK_SCRIPTS_INSTALL_DESKTOP_ENTRIES}" ] && set -x
+
+set -u
+
+while [ $# -ge 6 ]; do
+
+ Name="${1}"
+ Comment="${2}"
+ Icon="${3}"
+ Exec="${4}"
+ Categories="${5}"
+ StartupNotify="${6}"
+
+ shift 6
+
+ filename="$(${dp_ECHO_CMD} "${Exec}" | ${dp_SED} -e 's,^/,,g;s,[/ ],_,g;s,[^_[:alnum:]],,g').desktop"
+
+ pathname="${dp_STAGEDIR}${dp_DESKTOPDIR}/${filename}"
+
+ ${dp_ECHO_CMD} "${dp_DESKTOPDIR}/${filename}" >> "${dp_TMPPLIST}"
+
+ {
+ ${dp_ECHO_CMD} "[Desktop Entry]"
+ ${dp_ECHO_CMD} "Type=Application"
+ ${dp_ECHO_CMD} "Version=1.0"
+ ${dp_ECHO_CMD} "Name=${Name}"
+ } > "${pathname}"
+
+ if [ -n "${Comment}" ]; then
+ comment="${Comment}"
+ else
+ comment="$(cd "${dp_CURDIR}" && ${dp_MAKE} -VCOMMENT)"
+ fi
+
+ ${dp_ECHO_CMD} "GenericName=${comment}" >> "${pathname}"
+ ${dp_ECHO_CMD} "Comment=${comment}" >> "${pathname}"
+
+ if [ -n "${Icon}" ]; then
+ ${dp_ECHO_CMD} "Icon=${Icon}" >> "${pathname}"
+ fi
+
+ ${dp_ECHO_CMD} "Exec=${Exec}" >> "${pathname}"
+
+ if [ -n "${Categories}" ]; then
+ categories="${Categories}"
+ else
+ categories="$(cd "${dp_CURDIR}" && ${dp_MAKE} desktop-categories)"
+ fi
+
+ ${dp_ECHO_CMD} "Categories=${categories}" >> "${pathname}"
+
+ if [ -n "${StartupNotify}" ]; then
+ ${dp_ECHO_CMD} "StartupNotify=${StartupNotify}" >> "${pathname}"
+ fi
+done
diff --git a/test-ports/Mk/Scripts/makesum.sh b/test-ports/Mk/Scripts/makesum.sh
new file mode 100644
index 00000000..5531754c
--- /dev/null
+++ b/test-ports/Mk/Scripts/makesum.sh
@@ -0,0 +1,53 @@
+#!/bin/sh
+# $FreeBSD: head/Mk/Scripts/makesum.sh 415842 2016-05-25 15:58:31Z mat $
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+set -e
+
+. "${dp_SCRIPTSDIR}/functions.sh"
+
+validate_env dp_CHECKSUM_ALGORITHMS dp_CKSUMFILES dp_DISTDIR dp_DISTINFO_FILE \
+ dp_ECHO_MSG
+
+[ -n "${DEBUG_MK_SCRIPTS}" -o -n "${DEBUG_MK_SCRIPTS_MAKESUM}" ] && set -x
+
+set -u
+
+DISTINFO_OLD=$(mktemp -t makesum-old)
+DISTINFO_NEW=$(mktemp -t makesum-new)
+
+trap 'rm -f ${DISTINFO_OLD} ${DISTINFO_NEW}' EXIT INT TERM
+
+check_checksum_algorithms
+
+cd "${dp_DISTDIR}"
+
+# Running `make makesum` a twice should not change the timestamp generated from
+# the first run.
+# So, we extract the content of the distinfo file minus the TIMESTAMP, if it
+# contains a TIMESTAMP.
+if [ -f "${dp_DISTINFO_FILE}" ] && grep -q "^TIMESTAMP " ${dp_DISTINFO_FILE}; then
+ grep -v "^TIMESTAMP " ${dp_DISTINFO_FILE} > ${DISTINFO_OLD}
+fi
+
+for file in ${dp_CKSUMFILES}; do
+ for alg in ${dp_CHECKSUM_ALGORITHMS}; do
+ eval "alg_executable=\$dp_$alg"
+
+ if [ "$alg_executable" != "NO" ]; then
+ $alg_executable "$file" >> "${DISTINFO_NEW}"
+ fi
+ done
+ echo "SIZE ($file) = $(stat -f %z "$file")" >> "${DISTINFO_NEW}"
+done
+
+# Now, we generate the distinfo file in two cases:
+# - If the saved file is empty, it means there was no TIMESTAMP in it, so we
+# need to add one.
+# - If the old and new distinfo content minus the TIMESTAMP differ, it means
+# something was updated or changed, it is time to generate a new timestamp.
+if [ ! -s ${DISTINFO_OLD} ] || ! cmp -s ${DISTINFO_OLD} ${DISTINFO_NEW}; then
+ echo "TIMESTAMP = $(date '+%s')" > ${dp_DISTINFO_FILE}
+ cat ${DISTINFO_NEW} >> ${dp_DISTINFO_FILE}
+fi
diff --git a/test-ports/Mk/Scripts/plist_sub_sed_sort.sh b/test-ports/Mk/Scripts/plist_sub_sed_sort.sh
new file mode 100644
index 00000000..1daf0884
--- /dev/null
+++ b/test-ports/Mk/Scripts/plist_sub_sed_sort.sh
@@ -0,0 +1,17 @@
+#! /bin/sh
+# $FreeBSD: head/Mk/Scripts/plist_sub_sed_sort.sh 475361 2018-07-26 11:09:46Z mat $
+#
+# MAINTAINER: portmgr@FreeBSD.org
+#
+# PLIST_SUB_SED helper to sort by longest value first.
+
+awk '{
+ while (match($0, /s![^!]*![^!]*!g;/)) {
+ sedp=substr($0, RSTART, RLENGTH)
+ $0=substr($0, RSTART+RLENGTH)
+ split(sedp, a, "!")
+ # Convert \. to . for sorting.
+ gsub(/\\./, ".", a[2])
+ print length(a[2]), sedp
+ }
+}' | sort -rn | awk '{$1=""; print $0}' > $1
diff --git a/test-ports/Mk/Scripts/ports_env.sh b/test-ports/Mk/Scripts/ports_env.sh
new file mode 100644
index 00000000..495b4c8d
--- /dev/null
+++ b/test-ports/Mk/Scripts/ports_env.sh
@@ -0,0 +1,13 @@
+#! /bin/sh
+
+# MAINTAINER: portmgr@FreeBSD.org
+# $FreeBSD: head/Mk/Scripts/ports_env.sh 399171 2015-10-13 00:03:10Z bdrewery $
+
+if [ -z "${SCRIPTSDIR}" ]; then
+ echo "Must set SCRIPTSDIR" >&2
+ exit 1
+fi
+
+. ${SCRIPTSDIR}/functions.sh
+
+export_ports_env
diff --git a/test-ports/Mk/Scripts/qa.sh b/test-ports/Mk/Scripts/qa.sh
new file mode 100644
index 00000000..716a6a0f
--- /dev/null
+++ b/test-ports/Mk/Scripts/qa.sh
@@ -0,0 +1,939 @@
+#!/bin/sh
+# MAINTAINER: portmgr@FreeBSD.org
+# $FreeBSD: head/Mk/Scripts/qa.sh 491833 2019-02-01 16:43:37Z tobik $
+
+if [ -z "${STAGEDIR}" -o -z "${PREFIX}" -o -z "${LOCALBASE}" ]; then
+ echo "STAGEDIR, PREFIX, LOCALBASE required in environment." >&2
+ exit 1
+fi
+
+[ -n "${DEBUG_MK_SCRIPTS}" -o -n "${DEBUG_MK_SCRIPTS_QA}" ] && set -x
+
+LF=$(printf '\nX')
+LF=${LF%X}
+
+notice() {
+ echo "Notice: $*" >&2
+}
+
+warn() {
+ echo "Warning: $*" >&2
+}
+
+err() {
+ echo "Error: $*" >&2
+}
+
+list_stagedir_elfs() {
+ cd ${STAGEDIR} && find -s . -type f \( -perm +111 -o -name '*.so*' \) "$@"
+}
+
+shebangonefile() {
+ local f interp interparg badinterp rc
+
+ f="$*"
+ rc=0
+
+ # whitelist some files
+ case "${f}" in
+ *.pm|*.pod|*.txt|${STAGEDIR}${LINUXBASE}/*)
+ return 0
+ ;;
+ esac
+
+ interp=$(sed -n -e '1s/^#![[:space:]]*\([^[:space:]]*\).*/\1/p;2q' "${f}")
+ badinterp=""
+ case "${interp}" in
+ "") ;;
+ /bin/rc)
+ # whitelist some interpreters
+ ;;
+ ${LOCALBASE}/bin/python|${PREFIX}/bin/python|${LOCALBASE}/bin/python2|${PREFIX}/bin/python2|${LOCALBASE}/bin/python3|${PREFIX}/bin/python3)
+ badinterp="${interp}"
+ ;;
+ ${LINUXBASE}/*) ;;
+ ${LOCALBASE}/bin/perl5.* | ${PREFIX}/bin/perl5.*)
+ # lang/perl5* are allowed to have these shebangs.
+ if ! expr ${PKGORIGIN} : '^lang/perl5.*' > /dev/null; then
+ err "'${interp}' is an invalid shebang for '${f#${STAGEDIR}${PREFIX}/}' you must use ${LOCALBASE}/bin/perl."
+ err "Either pass \${PERL} to the build or use USES=shebangfix"
+ rc=1
+ fi
+ ;;
+ ${LOCALBASE}/*) ;;
+ ${PREFIX}/*) ;;
+ /bin/csh) ;;
+ /bin/sh) ;;
+ /bin/tcsh) ;;
+ /usr/bin/awk) ;;
+ /usr/bin/env)
+ interparg=$(sed -n -e '1s/^#![[:space:]]*[^[:space:]]*[[:space:]]*\([^[:space:]]*\).*/\1/p;2q' "${f}")
+ case "${interparg}" in
+ python|python2|python3)
+ badinterp="${interp} ${interparg}"
+ ;;
+ esac
+ ;;
+ /usr/bin/nawk) ;;
+ /usr/bin/sed) ;;
+ /usr/sbin/dtrace) ;;
+ *)
+ badinterp="${interp}"
+ ;;
+ esac
+
+ if [ -n "${badinterp}" ]; then
+ err "'${badinterp}' is an invalid shebang you need USES=shebangfix for '${f#${STAGEDIR}${PREFIX}/}'"
+ rc=1
+ fi
+
+ return ${rc}
+}
+
+shebang() {
+ local f l link rc
+
+ rc=0
+
+ while read -r f; do
+ # No results presents a blank line from heredoc.
+ [ -z "${f}" ] && continue
+ shebangonefile "${f}" || rc=1
+ # Use heredoc to avoid losing rc from find|while subshell
+ done <<-EOF
+ $(find ${STAGEDIR}${PREFIX} \
+ -type f -perm +111 2>/dev/null)
+ EOF
+
+ return ${rc}
+}
+
+baselibs() {
+ local rc
+ local found_openssl
+ local file
+ [ "${PKGBASE}" = "pkg" -o "${PKGBASE}" = "pkg-devel" ] && return
+ while read -r f; do
+ case ${f} in
+ File:\ .*)
+ file=${f#File: .}
+ ;;
+ *NEEDED*\[libarchive.so.[56]])
+ err "Bad linking on ${f##* } for ${file} please add USES=libarchive"
+ rc=1
+ ;;
+ *NEEDED*\[libedit.so.7])
+ err "Bad linking on ${f##* } for ${file} please add USES=libedit"
+ rc=1
+ ;;
+ *NEEDED*\[libcrypto.so.*]|*NEEDED*\[libssl.so.*])
+ found_openssl=1
+ ;;
+ esac
+ done <<-EOF
+ $(list_stagedir_elfs -exec readelf -d {} + 2>/dev/null)
+ EOF
+ if [ -z "${USESSSL}" -a -n "${found_openssl}" ]; then
+ warn "you need USES=ssl"
+ elif [ -n "${USESSSL}" -a -z "${found_openssl}" ]; then
+ warn "you may not need USES=ssl"
+ fi
+ return ${rc}
+}
+
+symlinks() {
+ local rc
+
+ rc=0
+
+ # Split stat(1) result into 2 lines and read each line separately to
+ # retain spaces in filenames.
+ while read -r l; do
+ # No results presents a blank line from heredoc.
+ [ -z "${l}" ] && continue
+ read -r link
+ case "${link}" in
+ ${STAGEDIR}*)
+ err "Bad symlink '${l#${STAGEDIR}${PREFIX}/}' pointing inside the stage directory"
+ rc=1
+ ;;
+ /*)
+ # Only warn for symlinks within the package.
+ if [ -e "${STAGEDIR}${link}" ]; then
+ warn "Bad symlink '${l#${STAGEDIR}}' pointing to an absolute pathname '${link}'"
+ fi
+ # Also warn if the symlink exists nowhere.
+ if [ ! -e "${STAGEDIR}${link}" -a ! -e "${link}" ]; then
+ warn "Symlink '${l#${STAGEDIR}}' pointing to '${link}' which does not exist in the stage directory or in localbase"
+ fi
+ ;;
+ esac
+ # Use heredoc to avoid losing rc from find|while subshell.
+ done <<-EOF
+ $(find ${STAGEDIR} -type l -exec stat -f "%N${LF}%Y" {} +)
+ EOF
+
+ return ${rc}
+}
+
+paths() {
+ local rc
+
+ rc=0
+
+ while read -r f; do
+ # No results presents a blank line from heredoc.
+ [ -z "${f}" ] && continue
+ # Ignore false-positive/harmless files
+ case "${f}" in
+ */lib/ruby/gems/*) continue ;;
+ */share/texmf-var/web2c/*/*.fmt) continue ;;
+ */share/texmf-var/web2c/*/*.log) continue ;;
+ esac
+ err "'${f#${STAGEDIR}${PREFIX}/}' is referring to ${STAGEDIR}"
+ rc=1
+ # Use heredoc to avoid losing rc from find|while subshell
+ done <<-EOF
+ $(find ${TMPPLIST} ${STAGEDIR} -type f -exec grep -l "${STAGEDIR}" {} +)
+ EOF
+
+ return ${rc}
+}
+
+# For now do not raise an error, just warnings
+stripped() {
+ [ -x /usr/bin/file ] || return # this is fatal
+ [ -n "${STRIP}" ] || return 0
+ # Split file and result into 2 lines and read separately to ensure
+ # files with spaces are kept intact.
+ # Using readelf -h ... /ELF Header:/ will match on all ELF files.
+ find ${STAGEDIR} -type f ! -name '*.a' ! -name '*.o' \
+ -exec readelf -S {} + 2>/dev/null | awk '
+ /File:/ {sub(/File: /, "", $0); file=$0}
+ /[[:space:]]\.debug_info[[:space:]]*PROGBITS/ {print file}' |
+ while read -r f; do
+ warn "'${f#${STAGEDIR}${PREFIX}/}' is not stripped consider trying INSTALL_TARGET=install-strip or using \${STRIP_CMD}"
+ done
+}
+
+desktopfileutils() {
+ if [ -z "${USESDESKTOPFILEUTILS}" ]; then
+ grep -q MimeType= ${STAGEDIR}${PREFIX}/share/applications/*.desktop 2>/dev/null &&
+ warn "you need USES=desktop-file-utils"
+ else
+ grep -q MimeType= ${STAGEDIR}${PREFIX}/share/applications/*.desktop 2>/dev/null ||
+ warn "you may not need USES=desktop-file-utils"
+ fi
+ return 0
+}
+
+sharedmimeinfo() {
+ local f found
+
+ found=0
+ for f in ${STAGEDIR}${PREFIX}/share/mime/packages/*.xml; do
+ [ "${f}" = "${STAGEDIR}${PREFIX}/share/mime/packages/*.xml" ] && break #no matches
+ [ "${f}" = "${STAGEDIR}${PREFIX}/share/mime/packages/freedesktop.org.xml" ] && continue
+ found=1
+ break
+ done
+ if [ -z "${USESSHAREDMIMEINFO}" -a ${found} -eq 1 ]; then
+ warn "you need USES=shared-mime-info"
+ elif [ -n "${USESSHAREDMIMEINFO}" -a ${found} -eq 0 ]; then
+ warn "you may not need USES=shared-mime-info"
+ fi
+ return 0
+}
+
+suidfiles() {
+ local filelist
+
+ filelist=$(find ${STAGEDIR} -type f \
+ \( -perm -u+x -or -perm -g+x -or -perm -o+x \) \
+ \( -perm -u+s -or -perm -g+s \))
+ if [ -n "${filelist}" ]; then
+ warn "setuid files in the stage directory (are these necessary?):"
+ ls -liTd ${filelist}
+ fi
+ return 0
+}
+
+libtool() {
+ if [ -z "${USESLIBTOOL}" ]; then
+ find ${STAGEDIR} -name '*.la' | while read -r f; do
+ if grep -q 'libtool library' "${f}"; then
+ err ".la libraries found, port needs USES=libtool"
+ return 1
+ fi
+ done
+ # The return above continues here.
+ fi
+}
+
+libperl() {
+ local has_some_libperl_so files found
+ if [ -n "${SITE_ARCH_REL}" -a -d "${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}" ]; then
+ has_some_libperl_so=0
+ files=0
+ while read -r f; do
+ # No results presents a blank line from heredoc.
+ [ -z "${f}" ] && continue
+ files=$((files+1))
+ found=$(readelf -d ${f} | awk "BEGIN {libperl=1}
+ /NEEDED.*${LIBPERL}/ { libperl = 0 }
+ END {print libperl}
+ ")
+ case "${found}" in
+ 1)
+ warn "${f} is not linked with ${LIBPERL}, not respecting lddlflags?"
+ ;;
+ 0)
+ has_some_libperl_so=1
+ ;;
+ esac
+ # Use heredoc to avoid losing rc from find|while subshell
+ done <<-EOT
+ $(find ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL} -name '*.so')
+ EOT
+
+ if [ ${files} -gt 0 -a ${has_some_libperl_so} -eq 0 ]; then
+ err "None of the ${files} .so in ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL} are linked with ${LIBPERL}, see above for the full list."
+ return 1
+ else
+ return 0
+ fi
+ fi
+}
+
+prefixvar() {
+ if [ ${PREFIX} != ${LINUXBASE} -a -d ${STAGEDIR}${PREFIX}/var ]; then
+ warn "port uses ${PREFIX}/var instead of /var"
+ fi
+}
+
+terminfo() {
+ local f found
+
+ for f in ${STAGEDIR}${PREFIX}/share/misc/*.terminfo; do
+ [ "${f}" = "${STAGEDIR}${PREFIX}/share/misc/*.terminfo" ] && break #no matches
+ found=1
+ break
+ done
+ for f in ${STAGEDIR}${PREFIX}/share/misc/terminfo.db*; do
+ [ "${f}" = "${STAGEDIR}${PREFIX}/share/misc/terminfo.db*" ] && break #no matches
+ found=1
+ break
+ done
+ if [ -z "${USESTERMINFO}" -a -n "${found}" ]; then
+ warn "you need USES=terminfo"
+ elif [ -n "${USESTERMINFO}" -a -z "${found}" ]; then
+ warn "you may not need USES=terminfo"
+ fi
+ return 0
+}
+
+listcontains() {
+ local str lst elt
+ str=$1
+ lst=$2
+
+ for elt in ${lst} ; do
+ if [ ${elt} = ${str} ]; then
+ return 0
+ fi
+ done
+ return 1
+}
+
+proxydeps_suggest_uses() {
+ local pkg=$1
+ local lib_file=$2
+
+ # miscellaneous USE clauses
+ if [ ${pkg} = 'devel/gettext-runtime' ]; then
+ warn "you need USES+=gettext-runtime"
+ elif [ ${pkg} = 'databases/sqlite3' ]; then
+ warn "you need USES+=sqlite"
+ elif [ ${pkg} = 'databases/sqlite2' ]; then
+ warn "you need USES+=sqlite:2"
+ # Gnome -> same as port
+ # grep LIB_DEPENDS= Mk/Uses/gnome.mk |sed -e 's|\(.*\)_LIB_DEPENDS.*:\(.*\)\/\(.*\)|[ "\1" = "\3" ] \&\& echo "\\${pkg} = \\\"\2/\3\\\" -o \\\\"|'|sort|sh
+ elif [ ${pkg} = "accessibility/atk" -o \
+ ${pkg} = "accessibility/atkmm" -o \
+ ${pkg} = "graphics/cairo" -o \
+ ${pkg} = "graphics/cairomm" -o \
+ ${pkg} = "devel/dconf" -o \
+ ${pkg} = "audio/esound" -o \
+ ${pkg} = "devel/gconf2" -o \
+ ${pkg} = "devel/gconfmm26" -o \
+ ${pkg} = "devel/glib20" -o \
+ ${pkg} = "devel/glibmm" -o \
+ ${pkg} = "audio/gsound" -o \
+ ${pkg} = "x11-toolkits/gtk20" -o \
+ ${pkg} = "x11-toolkits/gtk30" -o \
+ ${pkg} = "www/gtkhtml3" -o \
+ ${pkg} = "www/gtkhtml4" -o \
+ ${pkg} = "x11-toolkits/gtkmm20" -o \
+ ${pkg} = "x11-toolkits/gtkmm24" -o \
+ ${pkg} = "x11-toolkits/gtkmm30" -o \
+ ${pkg} = "x11-toolkits/gtksourceview" -o \
+ ${pkg} = "x11-toolkits/gtksourceview2" -o \
+ ${pkg} = "x11-toolkits/gtksourceview3" -o \
+ ${pkg} = "x11-toolkits/gtksourceviewmm3" -o \
+ ${pkg} = "devel/libbonobo" -o \
+ ${pkg} = "x11-toolkits/libbonoboui" -o \
+ ${pkg} = "databases/libgda5" -o \
+ ${pkg} = "databases/libgda5-ui" -o \
+ ${pkg} = "databases/libgdamm5" -o \
+ ${pkg} = "devel/libglade2" -o \
+ ${pkg} = "x11/libgnome" -o \
+ ${pkg} = "graphics/libgnomecanvas" -o \
+ ${pkg} = "x11/libgnomekbd" -o \
+ ${pkg} = "print/libgnomeprint" -o \
+ ${pkg} = "x11-toolkits/libgnomeprintui" -o \
+ ${pkg} = "x11-toolkits/libgnomeui" -o \
+ ${pkg} = "devel/libgsf" -o \
+ ${pkg} = "www/libgtkhtml" -o \
+ ${pkg} = "x11-toolkits/libgtksourceviewmm" -o \
+ ${pkg} = "graphics/librsvg2" -o \
+ ${pkg} = "devel/libsigc++12" -o \
+ ${pkg} = "devel/libsigc++20" -o \
+ ${pkg} = "x11-toolkits/libwnck" -o \
+ ${pkg} = "x11-toolkits/libwnck3" -o \
+ ${pkg} = "textproc/libxml++26" -o \
+ ${pkg} = "textproc/libxml2" -o \
+ ${pkg} = "textproc/libxslt" -o \
+ ${pkg} = "x11-wm/metacity" -o \
+ ${pkg} = "x11-toolkits/pango" -o \
+ ${pkg} = "x11-toolkits/pangomm" -o \
+ ${pkg} = "x11-toolkits/pangox-compat" -o \
+ ${pkg} = "x11-toolkits/vte" -o \
+ ${pkg} = "x11-toolkits/vte3" ]; then
+ warn "you need USE_GNOME+=${pkg#*/}"
+ # Gnome different as port
+ # grep LIB_DEPENDS= Mk/Uses/gnome.mk |sed -e 's|\(.*\)_LIB_DEPENDS.*:\(.*\)\/\(.*\)|[ "\1" = "\3" ] \|\| echo "elif [ \\${pkg} = \\\"\2/\3\\\" ]; then; warn \\\"you need USE_GNOME+=\1\\\""|'|sort|sh
+ elif [ ${pkg} = "databases/evolution-data-server" ]; then warn "you need USE_GNOME+=evolutiondataserver3"
+ elif [ ${pkg} = "graphics/gdk-pixbuf" ]; then warn "you need USE_GNOME+=gdkpixbuf"
+ elif [ ${pkg} = "graphics/gdk-pixbuf2" ]; then warn "you need USE_GNOME+=gdkpixbuf2"
+ elif [ ${pkg} = "x11/gnome-desktop" ]; then warn "you need USE_GNOME+=gnomedesktop3"
+ elif [ ${pkg} = "devel/gnome-vfs" ]; then warn "you need USE_GNOME+=gnomevfs2"
+ elif [ ${pkg} = "devel/gobject-introspection" ]; then warn "you need USE_GNOME+=introspection"
+ elif [ ${pkg} = "graphics/libart_lgpl" ]; then warn "you need USE_GNOME+=libartlgpl2"
+ elif [ ${pkg} = "devel/libIDL" ]; then warn "you need USE_GNOME+=libidl"
+ elif [ ${pkg} = "x11-fm/nautilus" ]; then warn "you need USE_GNOME+=nautilus3"
+ elif [ ${pkg} = "devel/ORBit2" ]; then warn "you need USE_GNOME+=orbit2"
+ # mate
+ # grep LIB_DEPENDS= Mk/Uses/mate.mk |sed -e 's|\(.*\)_LIB_DEPENDS.*:\(.*\)\/\(.*\)|elif [ ${pkg} = "\2/\3" ]; then warn "you need USE_MATE+=\1"|'
+ elif [ ${pkg} = "x11-fm/caja" ]; then warn "you need USE_MATE+=caja"
+ elif [ ${pkg} = "sysutils/mate-control-center" ]; then warn "you need USE_MATE+=controlcenter"
+ elif [ ${pkg} = "x11/mate-desktop" ]; then warn "you need USE_MATE+=desktop"
+ elif [ ${pkg} = "x11/libmatekbd" ]; then warn "you need USE_MATE+=libmatekbd"
+ elif [ ${pkg} = "net/libmateweather" ]; then warn "you need USE_MATE+=libmateweather"
+ elif [ ${pkg} = "x11-wm/marco" ]; then warn "you need USE_MATE+=marco"
+ elif [ ${pkg} = "x11/mate-menus" ]; then warn "you need USE_MATE+=menus"
+ elif [ ${pkg} = "x11/mate-panel" ]; then warn "you need USE_MATE+=panel"
+ elif [ ${pkg} = "sysutils/mate-polkit" ]; then warn "you need USE_MATE+=polkit"
+ # KDE
+ # grep -B1 _LIB= Mk/Uses/kde.mk | grep _PORT=|sed -e 's/^\(.*\)_PORT=[[:space:]]*\([^[:space:]]*\).*/elif [ ${pkg} = "\2" ]; then warn "you need to use USE_KDE+=\1"/'
+ elif [ ${pkg} = "sysutils/baloo" ]; then warn "you need to use USE_KDE+=baloo"
+ elif [ ${pkg} = "sysutils/baloo-widgets" ]; then warn "you need to use USE_KDE+=baloo-widgets"
+ elif [ ${pkg} = "x11/kactivities" ]; then warn "you need to use USE_KDE+=kactivities"
+ elif [ ${pkg} = "editors/kate" ]; then warn "you need to use USE_KDE+=kate"
+ elif [ ${pkg} = "x11/kdelibs4" ]; then warn "you need to use USE_KDE+=kdelibs"
+ elif [ ${pkg} = "sysutils/kfilemetadata" ]; then warn "you need to use USE_KDE+=kfilemetadata"
+ elif [ ${pkg} = "audio/libkcddb" ]; then warn "you need to use USE_KDE+=libkcddb"
+ elif [ ${pkg} = "audio/libkcompactdisc" ]; then warn "you need to use USE_KDE+=libkcompactdisc"
+ elif [ ${pkg} = "graphics/libkdcraw-kde4" ]; then warn "you need to use USE_KDE+=libkdcraw"
+ elif [ ${pkg} = "misc/libkdeedu" ]; then warn "you need to use USE_KDE+=libkdeedu"
+ elif [ ${pkg} = "games/libkdegames" ]; then warn "you need to use USE_KDE+=libkdegames"
+ elif [ ${pkg} = "graphics/libkexiv2-kde4" ]; then warn "you need to use USE_KDE+=libkexiv2"
+ elif [ ${pkg} = "graphics/libkipi-kde4" ]; then warn "you need to use USE_KDE+=libkipi"
+ elif [ ${pkg} = "x11/libkonq" ]; then warn "you need to use USE_KDE+=libkonq"
+ elif [ ${pkg} = "graphics/libksane" ]; then warn "you need to use USE_KDE+=libksane"
+ elif [ ${pkg} = "astro/marble" ]; then warn "you need to use USE_KDE+=marble"
+ elif [ ${pkg} = "sysutils/nepomuk-core" ]; then warn "you need to use USE_KDE+=nepomuk-core"
+ elif [ ${pkg} = "sysutils/nepomuk-widgets" ]; then warn "you need to use USE_KDE+=nepomuk-widgets"
+ elif [ ${pkg} = "graphics/okular" ]; then warn "you need to use USE_KDE+=okular"
+ elif [ ${pkg} = "deskutils/kdepimlibs4" ]; then warn "you need to use USE_KDE+=pimlibs"
+ elif [ ${pkg} = "devel/ruby-qtruby" ]; then warn "you need to use USE_KDE+=qtruby"
+ elif [ ${pkg} = "devel/smokegen" ]; then warn "you need to use USE_KDE+=smokegen"
+ elif [ ${pkg} = "devel/smokekde" ]; then warn "you need to use USE_KDE+=smokekde"
+ elif [ ${pkg} = "devel/smokeqt" ]; then warn "you need to use USE_KDE+=smokeqt"
+ elif [ ${pkg} = "x11/kde4-workspace" ]; then warn "you need to use USE_KDE+=workspace"
+ elif [ ${pkg} = "databases/akonadi" ]; then warn "you need to use USE_KDE+=akonadi"
+ elif [ ${pkg} = "x11-toolkits/attica" ]; then warn "you need to use USE_KDE+=attica"
+ elif [ ${pkg} = "x11/qimageblitz" ]; then warn "you need to use USE_KDE+=qimageblitz"
+ elif [ ${pkg} = "textproc/soprano" ]; then warn "you need to use USE_KDE+=soprano"
+ elif [ ${pkg} = "deskutils/libstreamanalyzer" ]; then warn "you need to use USE_KDE+=strigi"
+ # KDE Frameworks
+ elif [ ${pkg} = "devel/kf5-extra-cmake-modules" ]; then warn "you need to use USE_KDE+=ecm"
+ elif [ ${pkg} = "devel/kf5-kcmutils" ]; then warn "you need to use USE_KDE+=kcmutils"
+ elif [ ${pkg} = "devel/kf5-kdeclarative" ]; then warn "you need to use USE_KDE+=kdeclarative"
+ elif [ ${pkg} = "devel/kf5-kfilemetadata" ]; then warn "you need to use USE_KDE+=filemetadata5"
+ elif [ ${pkg} = "devel/kf5-kio" ]; then warn "you need to use USE_KDE+=kio"
+ elif [ ${pkg} = "devel/kf5-solid" ]; then warn "you need to use USE_KDE+=solid"
+ elif [ ${pkg} = "devel/kf5-threadweaver" ]; then warn "you need to use USE_KDE+=threadweaver"
+ elif [ ${pkg} = "devel/kio-extras-kf5" ]; then warn "you need to use USE_KDE+=kio-extras"
+ elif [ ${pkg} = "graphics/kf5-kimageformats" ]; then warn "you need to use USE_KDE+=kimageformats"
+ elif [ ${pkg} = "lang/kf5-kross" ]; then warn "you need to use USE_KDE+=kross"
+ elif [ ${pkg} = "security/kf5-kdesu" ]; then warn "you need to use USE_KDE+=kdesu"
+ elif [ ${pkg} = "sysutils/kf5-baloo" ]; then warn "you need to use USE_KDE+=baloo5"
+ elif [ ${pkg} = "sysutils/kf5-bluez-qt" ]; then warn "you need to use USE_KDE+=bluez-qt"
+ elif [ ${pkg} = "textproc/kf5-sonnet" ]; then warn "you need to use USE_KDE+=sonnet"
+ elif [ ${pkg} = "www/kf5-kdewebkit" ]; then warn "you need to use USE_KDE+=kdewebkit"
+ elif [ ${pkg} = "www/kf5-khtml" ]; then warn "you need to use USE_KDE+=khtml"
+ elif [ ${pkg} = "x11-themes/kf5-breeze-icons" ]; then warn "you need to use USE_KDE+=breeze-icons"
+ elif [ ${pkg} = "x11-themes/kf5-oxygen-icons5" ]; then warn "you need to use USE_KDE+=oxygen-icons5"
+ elif [ ${pkg} = "x11-toolkits/kf5-attica" ]; then warn "you need to use USE_KDE+=attica5"
+ elif [ ${pkg} = "x11/kf5-frameworkintegration" ]; then warn "you need to use USE_KDE+=frameworkintegration"
+ elif [ ${pkg} = "x11/kf5-kded" ]; then warn "you need to use USE_KDE+=kded"
+ elif [ ${pkg} = "x11/kf5-kdelibs4support" ]; then warn "you need to use USE_KDE+=kdelibs4support"
+ elif [ ${pkg} = "x11/kf5-plasma-framework" ]; then warn "you need to use USE_KDE+=plasma-framework"
+ elif expr ${pkg} : '.*/kf5-.*' > /dev/null; then
+ warn "you need USE_KDE+=$(echo ${pkg} | sed -E 's|.*/kf5-k||')"
+ # GStreamer 0.10
+ elif [ ${pkg} = "multimedia/gstreamer" ]; then warn "you need to use USE_GSTREAMER+=yes"
+ elif [ ${pkg} = "multimedia/gstreamer-plugins" ]; then warn "you need to use USE_GSTREAMER+=yes"
+ elif [ ${pkg} = "multimedia/gstreamer-plugins-bad" ]; then warn "you need to use USE_GSTREAMER+=bad"
+ # GStreamer 1
+ elif [ ${pkg} = "multimedia/gstreamer1" ]; then warn "you need to use USE_GSTREAMER1+=yes"
+ elif [ ${pkg} = "multimedia/gstreamer1-plugins" ]; then warn "you need to use USE_GSTREAMER1+=yes"
+ elif [ ${pkg} = "multimedia/gstreamer1-plugins-bad" ]; then warn "you need to use USE_GSTREAMER1+=bad"
+ # boost related
+ elif [ ${pkg} = "devel/boost-python-libs" ]; then warn "you need to add LIB_DEPENDS+=\${PY_BOOST} and maybe USES+=python"
+ # sdl-related
+ elif [ ${pkg} = 'devel/sdl12' ]; then
+ warn "you need USE_SDL+=sdl"
+ elif echo ${pkg} | grep -E '/sdl_(console|gfx|image|mixer|mm|net|pango|sound|ttf)$' > /dev/null; then
+ warn "you need USE_SDL+=$(echo ${pkg} | sed -E 's|.*/sdl_||')"
+ elif [ ${pkg} = 'devel/sdl20' ]; then
+ warn "you need USE_SDL+=sdl2"
+ elif echo ${pkg} | grep -E '/sdl2_(gfx|image|mixer|net|ttf)$' > /dev/null; then
+ warn "you need USE_SDL+=$(echo ${pkg} | sed -E 's|.*/sdl2_||')2"
+ # gl-related
+ elif expr ${lib_file} : "${LOCALBASE}/lib/libGL.so.*$" > /dev/null; then
+ warn "you need USE_GL+=gl"
+ elif expr ${lib_file} : "${LOCALBASE}/lib/libgbm.so.*$" > /dev/null; then
+ warn "you need USE_GL+=gbm"
+ elif expr ${lib_file} : "${LOCALBASE}/lib/libGLESv2.so.*$" > /dev/null; then
+ warn "you need USE_GL+=glesv2"
+ elif expr ${lib_file} : "${LOCALBASE}/lib/libEGL.so.*$" > /dev/null; then
+ warn "you need USE_GL+=egl"
+ elif [ ${pkg} = 'graphics/glew' ]; then
+ warn "you need USE_GL+=glew"
+ elif [ ${pkg} = 'graphics/libGLU' ]; then
+ warn "you need USE_GL+=glu"
+ elif [ ${pkg} = 'graphics/libGLw' ]; then
+ warn "you need USE_GL+=glw"
+ elif [ ${pkg} = 'graphics/freeglut' ]; then
+ warn "you need USE_GL+=glut"
+ # Xorg-libraries: this should be by XORG_MODULES @ bsd.xorg.mk
+ elif echo ${pkg} | grep -E '/lib(X11|Xau|Xdmcp|Xext|SM|ICE|Xfixes|Xft|Xdamage|Xcomposite|Xcursor|Xinerama|Xmu|Xmuu|Xpm|Xt|Xtst|Xi|Xrandr|Xrender|Xres|XScrnSaver|Xv|Xxf86vm|Xxf86dga|Xxf86misc|xcb)$' > /dev/null; then
+ warn "you need USE_XORG+=$(echo ${pkg} | sed -E 's|.*/lib||' | tr '[:upper:]' '[:lower:]')"
+ elif [ ${pkg} = 'x11/pixman' ]; then
+ warn "you need USE_XORG+=pixman"
+ # Qt4
+ elif expr ${pkg} : '.*/qt4-.*' > /dev/null; then
+ warn "you need USES=qt:4 and USE_QT+=$(echo ${pkg} | sed -E 's|.*/qt4-||')"
+ # Qt5
+ elif expr ${pkg} : '.*/qt5-.*' > /dev/null; then
+ warn "you need USES=qt:5 and USE_QT+=$(echo ${pkg} | sed -E 's|.*/qt5-||')"
+ # MySQL
+ elif expr ${lib_file} : "${LOCALBASE}/lib/mysql/[^/]*$" > /dev/null; then
+ warn "you need USES+=mysql"
+ # postgresql
+ elif expr ${pkg} : "^databases/postgresql.*-client" > /dev/null; then
+ warn "you need USES+=pgsql"
+ # bdb
+ elif expr ${pkg} : "^databases/db[456]" > /dev/null; then
+ warn "you need USES+=bdb"
+ # fam/gamin
+ elif [ ${pkg} = "devel/fam" -o ${pkg} = "devel/gamin" ]; then
+ warn "you need USES+=fam"
+ # firebird
+ elif [ ${pkg} = "databases/firebird25-client" ]; then
+ warn "you need USES+=firebird"
+ # fuse
+ elif [ ${pkg} = "sysutils/fusefs-libs" ]; then
+ warn "you need USES+=fuse"
+ # gnustep
+ elif [ ${pkg} = "lang/gnustep-base" ]; then
+ warn "you need USES+=gnustep and USE_GNUSTEP+=base"
+ elif [ ${pkg} = "x11-toolkits/gnustep-gui" ]; then
+ warn "you need USES+=gnustep and USE_GNUSTEP+=gui"
+ # iconv
+ elif [ ${pkg} = "converters/libiconv" ]; then
+ warn "you need USES+=iconv, USES+=iconv:wchar_t, or USES+=iconv:translit depending on needs"
+ # jpeg
+ elif [ ${pkg} = "graphics/jpeg" -o ${pkg} = "graphics/jpeg-turbo" ]; then
+ warn "you need USES+=jpeg"
+ # libarchive
+ elif [ ${pkg} = "archivers/libarchive" ]; then
+ warn "you need USES+=libarchive"
+ elif [ ${pkg} = "devel/libedit" ]; then
+ warn "you need USES+=libedit"
+ # lua
+ elif expr ${pkg} : "^lang/lua" > /dev/null; then
+ warn "you need USES+=lua"
+ # motif
+ elif [ ${pkg} = "x11-toolkits/lesstif" -o ${pkg} = "x11-toolkits/open-motif" ]; then
+ warn "you need USES+=motif"
+ # ncurses
+ elif [ ${pkg} = "devel/ncurses" ]; then
+ warn "you need USES+=ncurses"
+ # objc
+ elif [ ${pkg} = "lang/libobjc2" ]; then
+ warn "you need USES+=objc"
+ # openal
+ elif [ ${pkg} = "audio/openal" -o ${pkg} = "audio/openal-soft" -o ${pkg} = "audio/freealut" ]; then
+ warn "you need USES+=openal"
+ # pure
+ elif [ ${pkg} = "lang/pure" ]; then
+ warn "you need USES+=pure"
+ # readline
+ elif [ ${pkg} = "devel/readline" ]; then
+ warn "you need USES+=readline"
+ # ssl
+ elif [ ${pkg} = "security/openssl" -o ${pkg} = "security/openssl111" \
+ -o ${pkg} = "security/libressl" -o ${pkg} = "security/libressl-devel" \
+ ]; then
+ warn "you need USES=ssl"
+ # Tcl
+ elif expr ${pkg} : "^lang/tcl" > /dev/null; then
+ warn "you need USES+=tcl"
+ # Tk
+ elif expr ${pkg} : "^x11-toolkits/tk" > /dev/null; then
+ warn "you need USES+=tk"
+ # Xfce
+ # grep LIB_DEPENDS= Mk/Uses/xfce.mk |sed -e 's|\(.*\)_LIB_DEPENDS.*:\(.*\)\/\(.*\)|elif [ ${pkg} = "\2/\3" ]; then warn "you need USE_XFCE+=\1"|'
+ elif [ ${pkg} = "sysutils/garcon" ]; then warn "you need USE_XFCE+=garcon"
+ elif [ ${pkg} = "x11/libexo" ]; then warn "you need USE_XFCE+=libexo"
+ elif [ ${pkg} = "x11-toolkits/libxfce4gui" ]; then warn "you need USE_XFCE+=libgui"
+ elif [ ${pkg} = "x11/libxfce4menu" ]; then warn "you need USE_XFCE+=libmenu"
+ elif [ ${pkg} = "x11/libxfce4util" ]; then warn "you need USE_XFCE+=libutil"
+ elif [ ${pkg} = "x11-wm/xfce4-panel" ]; then warn "you need USE_XFCE+=panel"
+ elif [ ${pkg} = "x11-fm/thunar" ]; then warn "you need USE_XFCE+=thunar"
+ elif [ ${pkg} = "x11/xfce4-conf" ]; then warn "you need USE_XFCE+=xfconf"
+ # default
+ elif expr ${lib_file} : "${LOCALBASE}/lib/[^/]*$" > /dev/null; then
+ lib_file=${lib_file#${LOCALBASE}/lib/}
+ lib_file=${lib_file%.so*}.so
+ warn "you need LIB_DEPENDS+=${lib_file}:${pkg}"
+ fi
+}
+
+proxydeps() {
+ local file dep_file dep_file_pkg already rc
+
+ rc=0
+
+ # Check all dynamicaly linked ELF files
+ # Some .so are not executable, but we want to check them too.
+ while read -r file; do
+ # No results presents a blank line from heredoc.
+ [ -z "${file}" ] && continue
+ while read -r dep_file; do
+ # No results presents a blank line from heredoc.
+ [ -z "${dep_file}" ] && continue
+ # Skip files we already checked.
+ if listcontains ${dep_file} "${already}"; then
+ continue
+ fi
+ if pkg which -q ${dep_file} > /dev/null 2>&1; then
+ dep_file_pkg=$(pkg which -qo ${dep_file})
+
+ # Check that the .so we need has a SONAME
+ if [ "${dep_file_pkg}" != "${PKGORIGIN}" ]; then
+ if ! readelf -d "${dep_file}" | grep -q SONAME; then
+ err "${file} is linked to ${dep_file} which does not have a SONAME. ${dep_file_pkg} needs to be fixed."
+ fi
+ fi
+
+ # If we don't already depend on it, and we don't provide it
+ if ! listcontains ${dep_file_pkg} "${LIB_RUN_DEPENDS} ${PKGORIGIN}"; then
+ # If the package has a flavor, check that the dependency is not on that particular flavor.
+ flavor=$(pkg annotate -q -S "$(pkg which -q "${dep_file}")" flavor)
+ if [ -n "${flavor}" ]; then
+ if listcontains ${dep_file_pkg}@${flavor} "${LIB_RUN_DEPENDS} ${PKGORIGIN}"; then
+ continue
+ fi
+ fi
+ err "${file} is linked to ${dep_file} from ${dep_file_pkg} but it is not declared as a dependency"
+ proxydeps_suggest_uses ${dep_file_pkg} ${dep_file}
+ rc=1
+ fi
+ else
+ err "${file} is linked to ${dep_file} that does not belong to any package"
+ rc=1
+ fi
+ already="${already} ${dep_file}"
+ done <<-EOT
+ $(env LD_LIBMAP_DISABLE=1 ldd -a "${STAGEDIR}${file}" | \
+ awk '
+ BEGIN {section=0}
+ /^\// {section++}
+ !/^\// && section<=1 && ($3 ~ "^'${PREFIX}'" || $3 ~ "^'${LOCALBASE}'") {print $3}')
+ EOT
+ done <<-EOT
+ $(list_stagedir_elfs | \
+ file -F $'\1' -f - | \
+ grep -a 'ELF.*FreeBSD.*dynamically linked' | \
+ cut -f 1 -d $'\1'| \
+ sed -e 's/^\.//')
+ EOT
+
+ [ -z "${PROXYDEPS_FATAL}" ] && return 0
+
+ return ${rc}
+}
+
+sonames() {
+ [ ! -d ${STAGEDIR}${PREFIX}/lib -o -n "${BUNDLE_LIBS}" ] && return 0
+ while read -r f; do
+ # No results presents a blank line from heredoc.
+ [ -z "${f}" ] && continue
+ # Ignore symlinks
+ [ -f "${f}" -a ! -L "${f}" ] || continue
+ if ! readelf -d ${f} | grep -q SONAME; then
+ warn "${f} doesn't have a SONAME."
+ warn "pkg(8) will not register it as being provided by the port."
+ warn "If another port depend on it, pkg will not be able to know where it comes from."
+ case "${f}" in
+ ${STAGEDIR}${PREFIX}/lib/*/*)
+ warn "It is in a subdirectory, it may not be used in another port."
+ ;;
+ *)
+ warn "It is directly in ${PREFIX}/lib, it is probably used by other ports."
+ ;;
+ esac
+ fi
+ # Use heredoc to avoid losing rc from find|while subshell
+ done <<-EOT
+ $(find ${STAGEDIR}${PREFIX}/lib -name '*.so.*')
+ EOT
+}
+
+perlcore_port_module_mapping() {
+ case "$1" in
+ Net)
+ echo "Net::Config"
+ ;;
+ libwww)
+ echo "LWP"
+ ;;
+ *)
+ echo "$1" | sed -e 's/-/::/g'
+ ;;
+ esac
+}
+
+perlcore() {
+ local portname version module gotsome
+ [ -x "${LOCALBASE}/bin/corelist" ] || return 0
+ for dep in ${UNIFIED_DEPENDS}; do
+ portname=$(expr "${dep}" : ".*/p5-\(.*\)")
+ if [ -n "${portname}" ]; then
+ gotsome=1
+ module=$(perlcore_port_module_mapping "${portname}")
+ version=$(expr "${dep}" : ".*>=*\([^:<]*\)")
+
+ while read -r l; do
+ case "${l}" in
+ *was\ not\ in\ CORE*)
+ # This never was with Perl
+ # CORE, so nothing to do here
+ ;;
+ *and\ removed*)
+ # This was in Perl CORE but has
+ # been removed since.
+ warn "${dep##*:} was in Perl CORE. Check with \`corelist ${module} ${version}\` and \`corelist -a ${module}\` if it should be conditionally added depending on PERL_LEVEL"
+ ;;
+ *deprecated*in*)
+ # This is in Perl CORE but is
+ # deprecated.
+ warn "${dep##*:} is in Perl CORE but deprecated. Check with \`corelist ${module} ${version}\` and \`corelist -a ${module}\` if the dependency is really needed or if it should be conditionally added depending on PERL_LEVEL"
+ ;;
+ *was\ first\ released*)
+ # This is in Perl CORE and is
+ # maybe not needed.
+ warn "${dep##*:} is present in Perl CORE. Check with \`corelist ${module} ${version}\` and \`corelist -a ${module}\` if the dependency is really needed or if it should be conditionally added depending on PERL_LEVEL"
+ ;;
+ *)
+ err "This line is not handled: \"${l}\""
+ esac
+ done <<-EOT
+ $(${LOCALBASE}/bin/corelist "${module}"|tail -1)
+ EOT
+ fi
+ done
+ if [ -n "${gotsome}" ] && ! pkg info -e devel/p5-Module-CoreList; then
+ notice "You have some Perl modules as dependencies but you do not have devel/p5-Module-CoreList installed, the perlcore QA check gets better results when using it, especially with older Perl versions."
+ fi
+}
+
+no_arch() {
+ [ -z "$NO_ARCH" ] && return
+ rc=0
+ while read -r f; do
+ [ -z "$f" ] && continue
+ if [ -n "$NO_ARCH_IGNORE" ]; then
+ skip=
+ for blacklist in $NO_ARCH_IGNORE; do
+ case $f in
+ *$blacklist) skip=1; break;;
+ esac
+ done
+ [ "$skip" ] && continue
+ fi
+ err "'${f#.}' is a architecture specific binary file and you have set NO_ARCH. Either remove NO_ARCH or add '$(basename $f)' to NO_ARCH_IGNORE."
+ rc=1
+ done <<-EOF
+ $(list_stagedir_elfs \
+ | file -F $'\1' -f - -N \
+ | grep -aE 'ELF .* [LM]SB .*, .*, version [0-9]+ \(FreeBSD\)' \
+ | cut -f 1 -d $'\1')
+ EOF
+ return $rc
+}
+
+gemdeps()
+{
+ rc=0
+ if [ "${PKGBASE%%-*}" = "rubygem" ]; then
+ # shellcheck disable=SC2153
+ # In the heredoc, ${PORTNAME} comes from the environment, not
+ # to be confused with ${portname}
+ while read -r l; do
+ if [ -n "${l}" ]; then
+ name=${l%% *}
+ vers=${l#* }
+ while read -r v; do
+ if ! while read -r p; do
+ ${LOCALBASE}/bin/ruby -e "puts 'OK' if Gem::Dependency.new('${name}','${v}').match?('${name}','${p}')"
+ done | grep -qFx OK; then
+ err RubyGem dependency ${name} ${v} is not satisfied.
+ rc=1
+ fi <<-EOF
+ $(${LOCALBASE}/bin/gem list -e "${name}" \
+ | sed "s|.*(\(.*\))|\1|" \
+ | tr -d ' ' \
+ | tr , '\n')
+ EOF
+ done <<-EOF
+ $(while echo "${vers}" | grep -q '"'; do
+ echo "${vers}" | cut -d '"' -f2
+ vers=$(echo "${vers}"|cut -d '"' -f3-)
+ done)
+ EOF
+ fi
+ done <<-EOF
+ $(grep -a 'add_runtime_dependency' ${STAGEDIR}${PREFIX}/lib/ruby/gems/*/specifications/${PORTNAME}-*.gemspec \
+ | sed 's|.*<\(.*\)>.*\[\(.*\)\])|\1 \2|' \
+ | sort -u)
+ EOF
+ fi
+ return $rc
+}
+
+# If an non rubygem-port has a 'Gemfile' file
+# it is checked with bundle to be sure
+# all dependencies are satisfied.
+# Without the check missing/wrong dependencies
+# are just found when executing the application
+gemfiledeps()
+{
+ # skip check if port does not use ruby at all
+ if [ -z "$USE_RUBY" ]; then
+ return 0
+ fi
+
+ # skip check if port is a rubygem-* one; they have no Gemfiles
+ if [ "${PKGBASE%%-*}" = "rubygem" ]; then
+ return 0
+ fi
+
+ # advise install of bundler if its not present for check
+ if ! type bundle > /dev/null 2>&1; then
+ notice "Please install sysutils/rubygem-bundler for additional Gemfile-checks"
+ return 0
+ fi
+
+ # locate the Gemfile(s)
+ while read -r f; do
+
+ # no results presents a blank line from heredoc
+ [ -z "$f" ] && continue
+
+ # if there is no Gemfile everything is fine - stop here
+ [ ! -f "$f" ] && return 0;
+
+ # use bundle to check if Gemfile is satisfied
+ # if bundle returns 1 the Gemfile is not satisfied
+ # and so stage-qa isn't also
+ if ! bundle check --dry-run --gemfile $f > /dev/null 2>&1; then
+ warn "Dependencies defined in ${f} are not satisfied"
+ fi
+
+ done <<-EOF
+ $(find ${STAGEDIR} -name Gemfile)
+ EOF
+ return 0
+}
+
+flavors()
+{
+ local rc pkgnames uniques
+ rc=0
+ if [ -n "${FLAVOR}" ]; then
+ pkgnames=$(make -C "${CURDIR}" flavors-package-names|sort)
+ uniques=$(echo "${pkgnames}"|uniq)
+ if [ "$pkgnames" != "${uniques}" ]; then
+ err "Package names are not unique with flavors:"
+ make -C "${CURDIR}" pretty-flavors-package-names >&2
+ err "maybe use <flavor>_PKGNAMEPREFIX/SUFFIX".
+ rc=1
+ fi
+ fi
+ return ${rc}
+}
+
+license()
+{
+ local lic autoaccept pkgmirror #distsell distmirror pkgsell
+
+ if [ -n "$DISABLE_LICENSES" ]; then
+ warn "You have disabled the licenses framework with DISABLE_LICENSES, unable to run checks"
+ elif [ -n "$LICENSE" ]; then
+ for lic in $LICENSE_PERMS; do
+ case "$lic" in
+ auto-accept) autoaccept=1 ;;
+ #dist-mirror) distmirror=1 ;;
+ #dist-sell) distsell=1 ;;
+ pkg-mirror) pkgmirror=1 ;;
+ #pkg-sell) pkgsell=1 ;;
+ esac
+ done
+
+ if [ -z "$autoaccept" ]; then
+ warn "License is not auto-accepted, packages will not be built, ports depending on this one will be ignored."
+ fi
+ if [ -z "$pkgmirror" ]; then
+ warn "License does not allow package to be distributed, ports depending on this one will be ignored"
+ fi
+ fi
+
+ return 0
+}
+
+checks="shebang symlinks paths stripped desktopfileutils sharedmimeinfo"
+checks="$checks suidfiles libtool libperl prefixvar baselibs terminfo"
+checks="$checks proxydeps sonames perlcore no_arch gemdeps gemfiledeps flavors"
+checks="$checks license"
+
+ret=0
+cd ${STAGEDIR} || exit 1
+for check in ${checks}; do
+ ${check} || ret=1
+done
+
+exit ${ret}
diff --git a/test-ports/Mk/Scripts/security-check.awk b/test-ports/Mk/Scripts/security-check.awk
new file mode 100644
index 00000000..4a661bbc
--- /dev/null
+++ b/test-ports/Mk/Scripts/security-check.awk
@@ -0,0 +1,95 @@
+BEGIN {
+ file = "";
+ split("", stupid_binaries);
+ split("", network_binaries);
+ split("", setuid_binaries);
+ split("", writable_files);
+ split("", startup_scripts);
+ header_printed = 0;
+}
+FILENAME ~ /\.flattened$/ {
+ if ($0 ~ /(^|\/)etc\/rc\.d\//)
+ startup_scripts[$0] = 1;
+}
+FILENAME ~ /\.readelf$/ {
+ if (match($0, /^File:/)) {
+ file = substr($0, 7);
+ next;
+ }
+ if (file == "")
+ next;
+ if ($5 ~ /^(gets|mktemp|tempnam|tmpnam)$/ ||
+ ($5 ~ /^(strcpy|strcat|sprintf)$/ && audit != ""))
+ stupid_binaries[file] = stupid_binaries[file] " " $5;
+ if ($5 ~ /^(accept|recvfrom)$/)
+ network_binaries[file] = 1;
+}
+FILENAME ~ /\.setuid$/ { setuid_binaries[$0] = 1; }
+FILENAME ~ /\.writable$/ { writable_files[$0] = 1; }
+function print_header() {
+ if (header_printed)
+ return;
+ if (audit != "")
+ print "===> SECURITY REPORT (PARANOID MODE): ";
+ else
+ print "===> SECURITY REPORT: ";
+ header_printed = 1;
+}
+function note_for_the_stupid(file) { return (file in stupid_binaries) ? (" (USES POSSIBLY INSECURE FUNCTIONS:" stupid_binaries[file] ")") : ""; }
+END {
+ note_printed = 0;
+ for (file in setuid_binaries) {
+ if (!note_printed) {
+ print_header();
+ print " This port has installed the following binaries which execute with";
+ print " increased privileges.";
+ note_printed = 1;
+ }
+ print file note_for_the_stupid(file);
+ }
+ if (note_printed)
+ print "";
+ note_printed = 0;
+ for (file in network_binaries) {
+ if (!note_printed) {
+ print_header();
+ print " This port has installed the following files which may act as network";
+ print " servers and may therefore pose a remote security risk to the system.";
+ note_printed = 1;
+ }
+ print file note_for_the_stupid(file);
+ }
+ if (note_printed) {
+ print "";
+ note_printed = 0;
+ for (file in startup_scripts) {
+ if (!note_printed) {
+ print_header();
+ print " This port has installed the following startup scripts which may cause";
+ print " these network services to be started at boot time.";
+ note_printed = 1;
+ }
+ print file;
+ }
+ if (note_printed)
+ print "";
+ }
+ note_printed = 0;
+ for (file in writable_files) {
+ if (!note_printed) {
+ print_header();
+ print " This port has installed the following world-writable files/directories.";
+ note_printed = 1;
+ }
+ print file;
+ }
+ if (note_printed)
+ print "";
+ if (header_printed) {
+ print " If there are vulnerabilities in these programs there may be a security";
+ print " risk to the system. FreeBSD makes no guarantee about the security of";
+ print " ports included in the Ports Collection. Please type 'make deinstall'";
+ print " to deinstall the port if this is a concern.";
+ }
+ exit header_printed;
+}
diff --git a/test-ports/Mk/Scripts/smart_makepatch.sh b/test-ports/Mk/Scripts/smart_makepatch.sh
new file mode 100644
index 00000000..df91c46a
--- /dev/null
+++ b/test-ports/Mk/Scripts/smart_makepatch.sh
@@ -0,0 +1,296 @@
+#!/bin/sh
+# MAINTAINER: portmgr@FreeBSD.org
+# $FreeBSD: head/Mk/Scripts/smart_makepatch.sh 471994 2018-06-08 09:26:41Z mat $
+
+# This script regenerates patches. It conserves existing comments and
+# file names, even if the file name does not meet any current or
+# previous convention. It will keep multiple patches in the same file
+# rather than splitting them into individual files.
+#
+# If a generated patch was not present before, it will create a file
+# name where forward slashes are replaced with an underscore and
+# underscores are appended by another underscore.
+#
+# Limitations:
+# 1) If a file is modified by multiple patches, it will be regenerated
+# as a single patch. That means if two multi-patch files modified
+# the same source file, when regenerated, the source file's patch
+# will only appear in one of patch file.
+# 2) It's possible that trailing garbage at the end of a patch in a
+# multipatch file might corrupt the comment (or be interpreted as
+# a comment) of the following patch. (garbage in, garbage out)
+#
+# Reminder
+# Don't forget to disable post-patch targets before regenerating patches
+# if those targets modify source files (e.g. with sed). You may also
+# want to disable EXTRA_PATCHES as well if that is being used.
+
+[ -n "${DEBUG_MK_SCRIPTS}" -o -n "${DEBUG_MK_SCRIPTS_SMART_MAKEPATCH}" ] && set -x
+
+if [ -z "${PATCHDIR}" -o -z "${PATCH_WRKSRC}" -o -z "${WRKDIR}" ]; then
+ echo "WRKDIR, PATCHDIR, and PATCH_WRKSRC required in environment." >&2
+ exit 1
+fi
+
+WORKAREA=${WRKDIR}/.makepatch-tmp
+PATCHMAP=${WORKAREA}/pregen.map
+COMMENTS=${WORKAREA}/comments
+REGENNED=${WORKAREA}/regenerated
+DESTDIR=${WORKAREA}/staged
+SAVEDIR=${WORKAREA}/archived-patches
+
+case "${STRIP_COMPONENTS}" in
+ [123456789]) ;;
+ 1[0123456789]) ;;
+ *) STRIP_COMPONENTS=0
+esac
+
+strip_path() {
+ local raw_name=$1
+ if [ "${STRIP_COMPONENTS}" = "0" ]; then
+ echo ${raw_name}
+ else
+ echo ${raw_name} | awk -v sc=${STRIP_COMPONENTS} -F "/" \
+ '{ for (x = sc + 1; x <= NF; x++) {
+ slash = (x>sc+1) ? "/" : "";
+ printf ("%s%s", slash, $x);
+ }}'
+ fi
+}
+
+std_patch_filename() {
+ local sans_cwd
+ local raw_name
+ sans_cwd=$(echo $1 | sed 's|^\.\/||')
+ raw_name=$(strip_path ${sans_cwd})
+ echo "patch-$(echo ${raw_name} | sed -e 's|_|&&|g; s|/|_|g')"
+}
+
+patchdir_files_list() {
+ if [ -d "${PATCHDIR}" ]; then
+ (cd ${PATCHDIR} && \
+ find ./* -type f -name "patch-*" -maxdepth 0 \
+ 2>/dev/null | sed -e 's,^\./,,; /\.orig$/d'
+ )
+ fi;
+}
+
+valid_name() {
+ local current_patch_name=$1
+ local result=$3
+ local first_target
+ local testres
+ local lps
+ first_target=$(echo $2 | sed 's|^\.\/||')
+ for lps in __ - + ; do
+ testres=patch-$(echo ${first_target} | sed -e "s|/|${lps}|g")
+ if [ "${testres}" = "${current_patch_name}" ]; then
+ result=${testres}
+ break
+ fi
+ done
+ echo ${result}
+}
+
+map_existing_patches() {
+ mkdir -p ${WORKAREA}
+ : > ${PATCHMAP}
+ local target
+ local future_name
+ local std_target
+ local P
+ local t
+ for P in ${old_patch_list}; do
+ target=$(cd ${PATCHDIR} && \
+ grep "^+++ " ${P} | awk '{print $2}'
+ )
+ # For single patches, we honor previous separators, but use
+ # a standard patch name if the current patch name does not
+ # conform. However, if two or more patches are contained in
+ # single file, then we do *NOT* rename the file
+ future_name=
+ for t in ${target}; do
+ if [ -n "${future_name}" ]; then
+ future_name=${P}
+ break;
+ fi
+ std_target=$(std_patch_filename ${t})
+ future_name=$(valid_name ${P} ${t} ${std_target})
+ done
+ for t in ${target}; do
+ std_target=$(std_patch_filename ${t})
+ echo "${future_name} ${std_target}" >> ${PATCHMAP}
+ done
+ done
+}
+
+extract_comment_from_patch() {
+ local existing_patch=${PATCHDIR}/$1
+ local contains
+ local rawname
+ local fname
+ local num
+ contains=$(grep "^+++ " ${existing_patch} | awk '{x++; print x}')
+ for num in ${contains}; do
+ rawname=$(grep "^+++ " ${existing_patch} | \
+ awk -v num=${num} '{x++; if (x==num) print $2}')
+ fname=$(std_patch_filename $rawname)
+ awk -v num=${num} '
+ BEGIN { done=0; x=0; hunk=0; looking=(num==1) }
+ {
+ if (!done) {
+ if ($1 == "@@") {
+ split ($2,a,",");
+ split ($3,b,",");
+ hca = a[2];
+ hcb = a[3];
+ hunk = 1;
+ } else if (hunk) {
+ first=substr($1,1,1);
+ if (first == "-") { hca-- }
+ else if (first == "+") { hcb-- }
+ else {hca--; hcb--}
+ if (hca == 0 && hcb == 0) {hunk = 0}
+ }
+ if ($1 == "---") {
+ x++;
+ if (x == num) { done = 1 }
+ if (x + 1 == num) { looking = 1 }
+ } else if (!hunk && looking) {
+ if ($1!="diff" && $1!="index" && $1!="+++") {
+ print $0
+ }
+ }
+ }
+ }' ${existing_patch} > ${COMMENTS}/${fname}
+ done
+}
+
+extract_comments() {
+ mkdir -p ${COMMENTS}
+ rm -f ${COMMENTS}/*
+ local P
+ for P in ${old_patch_list}; do
+ extract_comment_from_patch ${P}
+ done
+}
+
+regenerate_patches() {
+ mkdir -p ${REGENNED}
+ rm -f ${REGENNED}/*
+ [ ! -d "${PATCH_WRKSRC}" ] && return
+
+ local F
+ local NEW
+ local OUT
+ local ORIG
+ local new_list
+ new_list=$(cd "${PATCH_WRKSRC}" && \
+ find -s ./* -type f -name '*.orig' 2>/dev/null)
+ (cd "${PATCH_WRKSRC}" && for F in ${new_list}; do
+ ORIG=${F#./}
+ NEW=${ORIG%.orig}
+ cmp -s ${ORIG} ${NEW} && continue
+ OUT=${REGENNED}/$(std_patch_filename ${NEW})
+ TZ=UTC diff -udp ${ORIG} ${NEW} | sed \
+ -e '/^---/s|\.[0-9]* +0000$| UTC|' \
+ -e '/^+++/s|\([[:blank:]][-0-9:.+]*\)*$||' \
+ > ${OUT} || true
+ done)
+}
+
+get_patch_name() {
+ awk -v name=$1 '
+ { if ($2 == name)
+ {
+ if (!done) { print $1 };
+ done = 1;
+ }
+ }
+ END { if (!done) print name }' ${PATCHMAP}
+}
+
+stage_patches() {
+ mkdir -p ${DESTDIR}
+ rm -f ${DESTDIR}/*
+ local P
+ local name
+ local patch_list
+ patch_list=$(cd ${REGENNED} && find ./* -name "patch-*" 2>/dev/null)
+ for P in ${patch_list}; do
+ P=${P#./}
+ name=$(get_patch_name ${P})
+ [ -e ${COMMENTS}/${P} ] && cat ${COMMENTS}/${P} \
+ >> ${DESTDIR}/${name}
+ if [ "${P}" = "${name}" ]; then
+ echo "Generated ${P}"
+ else
+ echo "Generated ${P} >> ${name} (legacy)"
+ fi
+ cat ${REGENNED}/${P} >> ${DESTDIR}/${name}
+ done
+}
+
+compare_common_patches() {
+ [ -z "${old_patch_list}" ] && return
+ local archive_patch_list
+ local P
+ local ppatch
+ local ppatch_stripped
+ local cpatch
+ local cpatch_stripped
+ for P in ${old_patch_list}; do
+ if [ -e ${DESTDIR}/${P} ]; then
+ ppatch=${PATCHDIR}/${P}
+ cpatch=${DESTDIR}/${P}
+ ppatch_stripped=$(mktemp -t portpatch)
+ cpatch_stripped=$(mktemp -t portpatch)
+ egrep -v -- '--- .+ UTC$' ${ppatch} \
+ > ${ppatch_stripped}
+ egrep -v -- '--- .+ UTC$' ${cpatch} \
+ > ${cpatch_stripped}
+ # Don't replace patches with only metadata changes
+ if ! cmp -s ${ppatch_stripped} ${cpatch_stripped}; then
+ archive_patch_list="${archive_patch_list} ${P}"
+ else
+ echo "${P} only contains metadata changes; not replacing"
+ rm ${cpatch}
+ fi
+ rm ${ppatch_stripped}
+ rm ${cpatch_stripped}
+ fi
+ done
+ old_patch_list=${archive_patch_list}
+}
+
+conserve_old_patches() {
+ mkdir -p ${SAVEDIR}
+ rm -f ${SAVEDIR}/*
+ [ -z "${old_patch_list}" ] && return
+
+ local P
+ for P in ${old_patch_list}; do
+ mv ${PATCHDIR}/${P} ${SAVEDIR}/${P}
+ done
+ echo "The previous patches have been placed here:"
+ echo ${SAVEDIR}
+}
+
+install_regenerated_patches() {
+ local testdir
+ testdir=$(find ${DESTDIR} -empty)
+ if [ -z "${testdir}" ]; then
+ mkdir -p ${PATCHDIR}
+ find ${DESTDIR} -type f -exec mv {} ${PATCHDIR}/ \;
+ fi
+}
+
+old_patch_list=$(patchdir_files_list)
+
+map_existing_patches
+extract_comments
+regenerate_patches
+stage_patches
+compare_common_patches
+conserve_old_patches
+install_regenerated_patches
diff --git a/test-ports/Mk/Uses/7z.mk b/test-ports/Mk/Uses/7z.mk
new file mode 100644
index 00000000..1177b65b
--- /dev/null
+++ b/test-ports/Mk/Uses/7z.mk
@@ -0,0 +1,59 @@
+# $FreeBSD: head/Mk/Uses/7z.mk 430441 2017-01-03 07:24:49Z rene $
+#
+# Extract 7-Zip archives
+#
+# Feature: 7z
+# Usage: USES=7z or USES=7z:ARGS
+# Valid ARGS: p7zip, partial
+#
+# p7zip Extract using 7z(1) instead of bsdtar(1)
+# partial Extract only files tagged with :7z or in EXTRACT_ONLY_7z
+#
+# MAINTAINER: jbeich@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_7Z_MK)
+_INCLUDE_USES_7Z_MK= yes
+
+P7ZIP_CMD?= 7z
+P7ZIP_BEFORE_ARGS?= x -bd -y -o${P7ZIP_WRKDIR} >/dev/null
+P7ZIP_AFTER_ARGS?= # empty
+P7ZIP_WRKDIR?= ${EXTRACT_WRKDIR}
+
+.if !empty(7z_ARGS:Np7zip:Npartial)
+IGNORE= USES=7z has invalid arguments: ${7z_ARGS:Np7zip:Npartial}
+.endif
+
+.if ${7z_ARGS:Mp7zip}
+EXTRACT_DEPENDS+= ${P7ZIP_CMD}:archivers/p7zip
+.endif
+
+.if ! ${7z_ARGS:Mpartial}
+EXTRACT_SUFX?= .7z
+.endif
+
+.if ${7z_ARGS:Mp7zip} && ! ${7z_ARGS:Mpartial}
+EXTRACT_CMD?= ${P7ZIP_CMD}
+EXTRACT_BEFORE_ARGS?= ${P7ZIP_BEFORE_ARGS}
+EXTRACT_AFTER_ARGS?= ${P7ZIP_AFTER_ARGS}
+.endif
+
+.if ! ${7z_ARGS:Mp7zip} && ${7z_ARGS:Mpartial} && defined(EXTRACT_ONLY)
+EXTRACT_ONLY+= ${EXTRACT_ONLY_7z}
+.endif
+
+.if ${7z_ARGS:Mp7zip} && ${7z_ARGS:Mpartial}
+EXTRACT_ONLY?= ${DISTFILES:N*\:*7z*:C/:.*//}
+EXTRACT_ONLY_7z?= ${DISTFILES:M*\:*7z*:C/:.*//}
+
+_USES_extract+= 520:do-p7zip-extract
+do-p7zip-extract:
+ @for file in ${EXTRACT_ONLY_7z}; do \
+ if ! ${P7ZIP_CMD} ${P7ZIP_BEFORE_ARGS} \
+ ${_DISTDIR}/$$file ${P7ZIP_AFTER_ARGS}; \
+ then \
+ exit 1; \
+ fi; \
+ done
+.endif
+
+.endif
diff --git a/test-ports/Mk/Uses/ada.mk b/test-ports/Mk/Uses/ada.mk
new file mode 100644
index 00000000..d5ef869b
--- /dev/null
+++ b/test-ports/Mk/Uses/ada.mk
@@ -0,0 +1,38 @@
+# $FreeBSD: head/Mk/Uses/ada.mk 439129 2017-04-21 20:25:00Z rene $
+#
+# Establish Ada-capable compiler as a build dependency
+# To change default compiler, define ADA_DEFAULT in make.conf to 5
+#
+# Feature: ada
+# Usage: USES=ada
+# Valid ARGS: 5, 6, run
+#
+# MAINTAINER: ports@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_ADA_MK)
+_INCLUDE_USES_ADA_MK= yes
+
+CC= ada
+ADAXX= gcc6 # framework default
+
+. if ${ada_ARGS:M5}
+ADAXX= gcc5
+. elif ${ada_ARGS:M6}
+ADAXX= gcc6
+. elif defined(ADA_DEFAULT)
+. if ${ADA_DEFAULT} == 5
+ADAXX= gcc5
+. endif
+. endif
+
+. if ${ada_ARGS:Mrun}
+RUN_DEPENDS+= ${LOCALBASE}/${ADAXX}-aux/bin/ada:lang/${ADAXX}-aux
+. endif
+
+BUILD_DEPENDS+= ${LOCALBASE}/${ADAXX}-aux/bin/ada:lang/${ADAXX}-aux
+MAKE_ENV+= PATH=${LOCALBASE}/${ADAXX}-aux/bin:${PATH} \
+ ADA_PROJECT_PATH=${LOCALBASE}/lib/gnat
+CONFIGURE_ENV+= PATH=${LOCALBASE}/${ADAXX}-aux/bin:${PATH} \
+ ADA_PROJECT_PATH=${LOCALBASE}/lib/gnat
+
+.endif
diff --git a/test-ports/Mk/Uses/alias.mk b/test-ports/Mk/Uses/alias.mk
new file mode 100644
index 00000000..65579cec
--- /dev/null
+++ b/test-ports/Mk/Uses/alias.mk
@@ -0,0 +1,30 @@
+# $FreeBSD: head/Mk/Uses/alias.mk 439129 2017-04-21 20:25:00Z rene $
+#
+# Add __FreeBSD__ definition to CFLAGS
+# Used by DPorts when masquerading as FreeBSD allows port to build without
+# additional patches
+#
+# Feature: alias
+# Usage: USES=alias or USES=alias:ARGS
+# Valid ARGS: 9 (default), 10, 11
+#
+# MAINTAINER: ports@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_ALIAS_MK)
+_INCLUDE_USES_ALIAS_MK= yes
+
+.if ${OPSYS} != FreeBSD
+
+.if empty(alias_ARGS)
+CFLAGS+= -D__FreeBSD__=9
+.else
+. if ${alias_ARGS} == 9 || ${alias_ARGS} == 10 || ${alias_ARGS} == 11
+CFLAGS+= -D__FreeBSD__=${alias_ARGS}
+. else
+IGNORE= invalid MAJOR RELEASE argument (${alias_ARGS}) for USES=alias
+. endif
+.endif
+
+.endif # OPSYS != FreeBSD
+
+.endif
diff --git a/test-ports/Mk/Uses/apache.mk b/test-ports/Mk/Uses/apache.mk
new file mode 100644
index 00000000..2a0ab080
--- /dev/null
+++ b/test-ports/Mk/Uses/apache.mk
@@ -0,0 +1,433 @@
+#-*- tab-width: 4; -*-
+# ex:ts=4
+#
+# $FreeBSD: head/Mk/Uses/apache.mk 479418 2018-09-10 13:41:13Z mat $
+#
+# apache.mk - Apache related macros.
+# Author: Clement Laforet <clement@FreeBSD.org>
+# Author: Olli Hauer <ohauer@FreeBSD.org>
+# Author: Bernard Spil <brnrd@FreeSBD.org>
+#
+# Please view me with 4 column tabs!
+
+# Feature: apache
+# Usage: USES=apache or USES=apache:args
+# Valid args: <version>, build, run, server
+#
+# version If your port requires a specific Apache httpd version, you can
+# set this to [min]-[max] or min+ or -max or an explicit version
+#
+# USES=apache:2.2 # Only use Apache 2.2
+# USES=apache:2.4+ # Use Apache 2.4 or newer
+# USES=apache:2.2-2.4 # Use Apache 2.2 or 2.4
+# USES=apache:-2.4 # Use Apache 2.4 or earlier
+# USES=apache # Use the default apache version
+#
+# Valid version numbers are specified in the variable
+# APACHE_SUPPORTED_VERSIONS below
+#
+# build Indicates that Apache is needed at build time and adds it to
+# BUILD_DEPENDS.
+# run Indicates that Apache is needed at run time and adds it to
+# RUN_DEPENDS.
+# server Indicates that the port is a server port.
+#
+# If build and run are omitted, Apache will be added as BUILD_DEPENDS and
+# RUN_DEPENDS
+#
+# Variables, which can be set by the port:
+#
+# AP_FAST_BUILD automatic module build
+#
+# AP_GENPLIST automatic PLIST generation plus add
+# the module disabled into httpd.conf
+# (only if no pkg-plist exist)
+#
+# MODULENAME Name of the Apache module
+# default: ${PORTNAME}
+# SHORTMODNAME Short name of the Apache module
+# default: ${MODULENAME:S/mod_//}
+# SRC_FILE Source file of the APACHE MODULE
+# default: ${MODULENAME}.c
+#
+# Variables, for internal use by the Apache ports framework only
+# The following values for USE_APACHE are reserved and only valid
+# in apache-server ports!
+# USES= apache:server,2.2
+#
+#
+# The following variables can be read by ports and must not be modified
+#
+# APACHE_VERSION The major-minor release version of the chosen
+# Apache server, e.g. 2.2 or 2.4
+#
+# APACHEETCDIR Location of the Apache configuration directory
+# Default: ${LOCALBASE}/etc/apache24
+#
+# APACHEINCLUDEDIR Location of the Apache include files
+# Default: ${LOCALBASE}/include/apache24
+#
+# APACHEMODDIR Location of the Apache modules
+# Default: ${LOCALBASE}/libxexec/apache24
+#
+# APACHE_DEFAULT Default Apache version
+#
+
+.if !defined(_INCLUDE_USES_APACHE_PRE_MK)
+_INCLUDE_USES_APACHE_PRE_MK= yes
+_USES_POST+= apache
+
+# When adding a version, please keep the comment in
+# Mk/bsd.default-versions.mk in sync.
+_APACHE_SUPPORTED_VERSIONS= 2.4 2.2 2.5 # preferred version first
+
+# Print warnings
+_ERROR_MSG= : Error from apache.mk.
+
+# Important Note:
+# The "+" sign is only valid as last sign, not between
+# two versions or in combination with range!
+.if defined(apache_ARGS) && !empty(apache_ARGS)
+# Preserve original arguments list
+_APACHE_ARGS= ${apache_ARGS}
+. if ${_APACHE_ARGS:Mserver} || ${_APACHE_ARGS:Mcommon}
+_APACHE_PORT_IS_SERVER= yes
+_APACHE_ARGS:= ${_APACHE_ARGS:Nserver}
+. endif
+. if ${_APACHE_ARGS:Mbuild}
+_APACHE_BUILD_DEP= yes
+_APACHE_ARGS:= ${_APACHE_ARGS:Nbuild}
+. endif
+. if ${_APACHE_ARGS:Mrun}
+_APACHE_RUN_DEP= yes
+_APACHE_ARGS:= ${_APACHE_ARGS:Nrun}
+. endif
+. if empty(_APACHE_ARGS)
+_APACHE_ARGS= ${APACHE_DEFAULT}
+. endif
+# _APACHE_ARGS must now contain a version(-range)
+. if !empty(_APACHE_ARGS:C/^2\.[0-9]//:S/^-//:C/^2\.[0-9]//:C/\+$//)
+IGNORE= ${_ERROR_MSG} Illegal use of USES= ${USES:Mapache*}
+# Catch USES= apache:[min]-[max]+
+. elif ${apache_ARGS:C/[.a-z0-9]//g} == "-+"
+IGNORE= ${_ERROR_MSG} Illegal use of USES= ${USES:Mapache*}
+. endif
+.endif # defined(apache_ARGS)
+
+# The port does not specify a build, run or server dependency, assume both
+# build and run are required.
+.if !defined(_APACHE_BUILD_DEP) && !defined(_APACHE_RUN_DEP) && \
+ !defined(_APACHE_PORT_IS_SERVER)
+_APACHE_BUILD_DEP= yes
+_APACHE_RUN_DEP= yes
+.endif
+
+.if defined(DEFAULT_APACHE_VER)
+IGNORE+= "DEFAULT_APACHE_VER is defined, consider using DEFAULT_VERSIONS+=apache=${DEFAULT_APACHE_VER} instead"
+.endif
+
+.if defined(WITH_MODULES) || defined(WITHOUT_MODULES)
+IGNORE= ${_ERROR_MSG} WITH(OUT)_MODULES has been removed, use www_${PORTNAME}_(UN)SET
+.endif
+
+# ===============================================================
+.if defined(_APACHE_PORT_IS_SERVER)
+
+# Module selection
+.for category in ${DEFAULT_MODULES_CATEGORIES}
+DEFAULT_MODULES+= ${${category}_MODULES}
+.endfor
+
+.for category in ${ALL_MODULES_CATEGORIES}
+AVAILABLE_MODULES+= ${${category}_MODULES}
+.endfor
+
+# OPTIONS handling
+.for module in ${AVAILABLE_MODULES}
+. if ${PORT_OPTIONS:M${module}}
+_APACHE_ENABLED_MODS+= ${module}
+. else
+_APACHE_DISABLED_MODS+= ${module}
+. endif
+.endfor
+
+.if !defined(WITH_STATIC_APACHE)
+CONFIGURE_ARGS+= --enable-so
+.else
+CONFIGURE_ARGS+= --disable-so
+WITH_ALL_STATIC_MODULES= yes
+.endif
+
+.if ${PORT_OPTIONS:MSUEXEC}
+_APACHE_ENABLED_MODS+= ${SUEXEC_MODULES}
+SUEXEC_CONFARGS= with-suexec
+
+# SUEXEC_DOCROOT should exist
+SUEXEC_DOCROOT?= ${PREFIX}/www/data
+#SUEXEC_DOCROOT?= ${WWWDIR}
+SUEXEC_USERDIR?= public_html
+# avoid duplicate search paths
+.if ${LOCALBASE} == ${PREFIX}
+SUEXEC_SAFEPATH?= ${LOCALBASE}/bin:/usr/bin:/bin
+.else
+SUEXEC_SAFEPATH?= ${PREFIX}/bin:${LOCALBASE}/bin:/usr/bin:/bin
+.endif
+SUEXEC_LOGFILE?= /var/log/httpd-suexec.log
+SUEXEC_UIDMIN?= 1000
+SUEXEC_GIDMIN?= 1000
+SUEXEC_CALLER?= ${WWWOWN}
+CONFIGURE_ARGS+= --${SUEXEC_CONFARGS}-caller=${SUEXEC_CALLER} \
+ --${SUEXEC_CONFARGS}-uidmin=${SUEXEC_UIDMIN} \
+ --${SUEXEC_CONFARGS}-gidmin=${SUEXEC_GIDMIN} \
+ --${SUEXEC_CONFARGS}-userdir="${SUEXEC_USERDIR}" \
+ --${SUEXEC_CONFARGS}-docroot="${SUEXEC_DOCROOT}" \
+ --${SUEXEC_CONFARGS}-safepath="${SUEXEC_SAFEPATH}" \
+ --${SUEXEC_CONFARGS}-logfile="${SUEXEC_LOGFILE}" \
+ --${SUEXEC_CONFARGS}-bin="${PREFIX}/sbin/suexec"
+
+. if defined(WITH_SUEXEC_UMASK)
+CONFIGURE_ARGS+= --${SUEXEC_CONFARGS}-umask=${SUEXEC_UMASK}
+. endif
+.endif
+
+.if !defined(_APACHE_DISABLED_MODS)
+APACHE_MODULES= ${_APACHE_ENABLED_MODS}
+.else
+.for module in ${_APACHE_ENABLED_MODS:O:u}
+. if !${_APACHE_DISABLED_MODS:M${module}}
+APACHE_MODULES+= ${module}
+. endif
+.endfor
+.endif
+
+.if defined(WITH_STATIC_APACHE) || defined(WITH_ALL_STATIC_MODULES)
+WITH_STATIC_MODULES= ${APACHE_MODULES}
+.endif
+
+.for module in ${AVAILABLE_MODULES}
+. if !empty(WITH_STATIC_MODULES:M${module})
+CONFIGURE_ARGS+= --enable-${module:tl}=static
+PLIST_SUB+= MOD_${module}="@comment "
+. elif !empty(APACHE_MODULES:M${module})
+CONFIGURE_ARGS+= --enable-${module:tl}=shared
+PLIST_SUB+= MOD_${module}=""
+. else
+CONFIGURE_ARGS+= --disable-${module:tl}
+PLIST_SUB+= MOD_${module}="@comment "
+. endif
+.endfor
+
+# pkg-plist workaround STATIC support
+.if ${PORT_OPTIONS:MSUEXEC}
+PLIST_SUB+= SUEXEC=""
+.else
+PLIST_SUB+= SUEXEC="@comment "
+.endif
+
+.if ${PORT_OPTIONS:MLOG_FORENSIC}
+PLIST_SUB+= FORENSIC=""
+.else
+PLIST_SUB+= FORENSIC="@comment "
+.endif
+
+#### End of _APACHE_PORT_IS_SERVER ####
+
+# ===============================================================
+.else
+HTTPD?= ${LOCALBASE}/sbin/httpd
+
+MODULENAME?= ${PORTNAME}
+SHORTMODNAME?= ${MODULENAME:S/mod_//}
+SRC_FILE?= ${MODULENAME}.c
+
+.if exists(${HTTPD})
+_APACHE_VERSION!= ${HTTPD} -v | ${SED} -ne 's/^Server version: Apache\/\([1-9]\.[0-9]*\).*/\1/p'
+.endif
+
+# Validate Apache version whether it meets the version restriction.
+_APACHE_VERSION_CHECK:= ${_APACHE_ARGS:C/^([1-9]\.[0-9])$/\1-\1/}
+_APACHE_VERSION_MIN_TMP:= ${_APACHE_VERSION_CHECK:C/([1-9]\.[0-9])[-+].*/\1/}
+_APACHE_VERSION_MIN:= ${_APACHE_VERSION_MIN_TMP:M[1-9].[0-9]}
+_APACHE_VERSION_MAX_TMP:= ${_APACHE_VERSION_CHECK:C/.*-([1-9]\.[0-9])/\1/}
+_APACHE_VERSION_MAX:= ${_APACHE_VERSION_MAX_TMP:M[1-9].[0-9]}
+
+# Remove from _WANTED_VERSIONS that which is not wanted
+_APACHE_WANTED_VERSIONS= ${_APACHE_SUPPORTED_VERSIONS}
+.for _ver in ${_APACHE_SUPPORTED_VERSIONS:O}
+. if !empty(_APACHE_VERSION_MIN) && ${_ver} < ${_APACHE_VERSION_MIN}
+_APACHE_WANTED_VERSIONS:= ${_APACHE_WANTED_VERSIONS:N${_ver}}
+. endif
+. if !empty(_APACHE_VERSION_MAX) && ${_ver} > ${_APACHE_VERSION_MAX}
+_APACHE_WANTED_VERSIONS:= ${_APACHE_WANTED_VERSIONS:N${_ver}}
+. endif
+.endfor
+
+# Check if installed Apache version matches a wanted version
+.if defined(_APACHE_VERSION) && $(_APACHE_WANTED_VERSIONS:M${_APACHE_VERSION})
+_APACHE_WANTED_VERSION= ${_APACHE_VERSION}
+.endif
+# Select Apache version if not already set
+.for _ver in ${APACHE_DEFAULT} ${_APACHE_SUPPORTED_VERSIONS}
+. if !defined(_APACHE_WANTED_VERSION) && ${_APACHE_WANTED_VERSIONS:M${_ver}}
+_APACHE_WANTED_VERSION= ${_ver}
+. endif
+.endfor
+
+APACHE_VERSION:= ${_APACHE_WANTED_VERSION}
+
+.if defined(_APACHE_VERSION) && ${_APACHE_VERSION} != ${APACHE_VERSION}
+BROKEN= ${_ERROR_MSG} Apache ${_APACHE_VERSION} is installed and port requires ${_APACHE_WANTED_VERSION}
+.endif
+
+.if ${APACHE_VERSION} >= 2.5
+APXS?= ${LOCALBASE}/bin/apxs
+.else
+APXS?= ${LOCALBASE}/sbin/apxs
+.endif
+
+.if exists(${APXS})
+APXS_PREFIX!= ${APXS} -q prefix 2> /dev/null || echo NULL
+. if ${APXS_PREFIX} == NULL
+IGNORE= : Your apache does not support DSO modules
+. endif
+. if defined(AP_GENPLIST) && ${APXS_PREFIX} != ${PREFIX}
+IGNORE?= PREFIX must be equal to APXS_PREFIX.
+. endif
+.endif
+
+APACHEMODDIR= libexec/apache${APACHE_VERSION:S/.//}
+APACHEINCLUDEDIR= include/apache${APACHE_VERSION:S/.//}
+APACHEETCDIR= etc/apache${APACHE_VERSION:S/.//}
+.if ${APACHE_VERSION} == 2.5
+_APACHE_PORT?= www/apache${APACHE_VERSION:S/.//}-devel
+.else
+_APACHE_PORT?= www/apache${APACHE_VERSION:S/.//}
+.endif
+
+PLIST_SUB+= APACHEMODDIR="${APACHEMODDIR}" \
+ APACHEINCLUDEDIR="${APACHEINCLUDEDIR}" \
+ APACHEETCDIR="${APACHEETCDIR}" \
+ APACHE_VERSION="${APACHE_VERSION}"
+
+SUB_LIST+= APACHEMODDIR="${APACHEMODDIR}" \
+ APACHEETCDIR="${APACHEETCDIR}" \
+ APACHE_VERSION="${APACHE_VERSION}"
+
+APACHE_PKGNAMEPREFIX= ap${APACHE_VERSION:S/.//}-
+
+.if defined(AP_FAST_BUILD)
+PKGNAMEPREFIX?= ${APACHE_PKGNAMEPREFIX}
+.endif
+
+.if defined(_APACHE_BUILD_DEP)
+BUILD_DEPENDS+= ${APXS}:${_APACHE_PORT}
+.endif
+
+.if defined(_APACHE_RUN_DEP)
+RUN_DEPENDS+= ${APXS}:${_APACHE_PORT}
+.endif
+
+PLIST_SUB+= AP_NAME="${SHORTMODNAME}"
+PLIST_SUB+= AP_MODULE="${MODULENAME}.so"
+
+.if defined(AP_GENPLIST)
+PLIST?= ${WRKDIR}/ap-plist
+.endif
+
+.if defined(AP_INC)
+AP_EXTRAS+= -I ${AP_INC}
+.endif
+.if defined(AP_LIB)
+AP_EXTRAS+= -L ${AP_LIB}
+.endif
+
+.endif # End of _APACHE_PORT_IS_SERVER / _APACHE_PORT_IS_MOULE
+.endif # End of !_INCLUDE_USES_APACHE_PRE_MK
+
+# ===============================================================
+.if defined(_POSTMKINCLUDED) && !defined(_INCLUDE_USES_APACHE_POST_MK)
+_INCLUDE_USES_APACHE_POST_MK= apache.mk
+.if defined(NO_BUILD) && !defined(_APACHE_RUN_DEP)
+BROKEN= If NO_BUILD is used, then apache:run is sufficient. Please fix your Makefile
+.endif
+
+.if defined(_APACHE_PORT_IS_SERVER)
+.if !target(print-closest-mirrors)
+print-closest-mirrors:
+ @${ECHO_MSG} -n "Fetching list of nearest mirror: " >&2
+ @MIRRORS=`${FETCH_CMD} -T 30 -qo - http://www.apache.org/dyn/closer.cgi/httpd/ 2> /dev/null\
+ | ${GREP} /httpd/ | ${SED} 's/.*href="\(.*\)"><str.*/\1/g' | \
+ ${HEAD} -7 | ${TAIL} -6` ; \
+ ${ECHO_MSG} done >&2; if [ "x$$MIRRORS" != "x" ]; then \
+ ${ECHO_MSG} -n "MASTER_SITE_APACHE_HTTPD?= ";\
+ ${ECHO_MSG} $$MIRRORS; else \
+ ${ECHO_MSG} "No mirrors found!">&2 ; fi
+.endif
+
+.if !target(show-modules)
+show-modules:
+.if !empty(APACHE_MODULES)
+.for module in ${AVAILABLE_MODULES}
+ @${PRINTF} "%-20s : " ${module}
+. if ${APACHE_MODULES:M${module}}
+ @${ECHO} -n "enabled "
+. if !empty(WITH_STATIC_MODULES) && ${WITH_STATIC_MODULES:M${module}}
+ @${ECHO_CMD} " (static)"
+. else
+ @${ECHO_CMD} "(shared)"
+. endif
+. else
+ @${ECHO_CMD} disabled
+. endif
+.endfor
+.else
+.for module in ${AVAILABLE_MODULES}
+ @${PRINTF} "%-20s : disabled\n" ${module}
+.endfor
+.endif
+.endif
+
+.else
+
+.if defined(AP_MODENABLE)
+AP_MOD_EN= -a
+.else
+AP_MOD_EN= -A
+.endif
+PLIST_SUB+= AP_MOD_EN="${AP_MOD_EN}"
+
+.if defined(AP_FAST_BUILD)
+.if !target(ap-gen-plist)
+_USES_build+= 490:ap-gen-plist
+ap-gen-plist:
+.if defined(AP_GENPLIST)
+. if !exists(${PLIST})
+ @${ECHO} "===> Generating apache plist"
+ @${ECHO} "%%APACHEMODDIR%%/%%AP_MODULE%%" >> ${PLIST}
+ @${ECHO} "@postexec %D/sbin/apxs -e ${AP_MOD_EN} -n %%AP_NAME%% %D/%F" >> ${PLIST}
+ @${ECHO} "@postunexec ${SED} -i '' -E '/LoadModule[[:blank:]]+%%AP_NAME%%_module/d' %D/%%APACHEETCDIR%%/httpd.conf" >> ${PLIST}
+ @${ECHO} "@postunexec echo \"Don't forget to remove all ${MODULENAME}-related directives in your httpd.conf\"">> ${PLIST}
+. endif
+.endif
+.endif
+
+.if !target(do-build)
+do-build:
+ (cd ${WRKSRC} && ${APXS} -c ${AP_EXTRAS} -o ${MODULENAME}.la ${SRC_FILE})
+.endif
+
+.if !target(do-install)
+do-install:
+ @${MKDIR} ${STAGEDIR}${PREFIX}/${APACHEMODDIR}
+ ${APXS} -S LIBEXECDIR=${STAGEDIR}${PREFIX}/${APACHEMODDIR} -i -n ${SHORTMODNAME} ${WRKSRC}/${MODULENAME}.la
+. if !defined(DEBUG)
+ @${ECHO_MSG} "===> strip ${APACHEMODDIR}/${MODULENAME}.so"
+ @[ -e ${STAGEDIR}${PREFIX}/${APACHEMODDIR}/${MODULENAME}.so ] && ${STRIP_CMD} ${STAGEDIR}${PREFIX}/${APACHEMODDIR}/${MODULENAME}.so
+. else
+ @${ECHO_MSG} "===> DEBUG is set, will not strip ${APACHEMODDIR}/${MODULENAME}.so"
+. endif
+.endif
+
+.endif # defined(AP_FAST_BUILD)
+.endif # defined(_APACHE_PORT_IS_SERVER / _APACHE_PORT_IS_MODULE)
+.endif # defined(_POSTMKINCLUDED) && !defined(_INCLUDE_USES_APACHE_PRE_MK)
diff --git a/test-ports/Mk/Uses/autoreconf.mk b/test-ports/Mk/Uses/autoreconf.mk
new file mode 100644
index 00000000..af2fe73b
--- /dev/null
+++ b/test-ports/Mk/Uses/autoreconf.mk
@@ -0,0 +1,93 @@
+# $FreeBSD: head/Mk/Uses/autoreconf.mk 490303 2019-01-14 17:01:23Z tijl $
+#
+# Run autoreconf in AUTORECONF_WRKSRC to update configure, Makefile.in and
+# other build scripts.
+#
+# Autoreconf runs the following commands provided by devel/autoconf and
+# devel/automake. Each command applies to a single configure.ac or
+# configure.in (old name). If configure.ac defines subdirectories with their
+# own configure.ac (using AC_CONFIG_SUBDIRS), autoreconf will recursively
+# update those as well.
+#
+# aclocal Looks up definitions of m4 macros used in configure.ac that are
+# not provided by autoconf and copies them from their source *.m4
+# file to aclocal.m4. Local *.m4 files included with the source
+# code take precedence over systemwide *.m4 files.
+# autoconf Generates configure from configure.ac using macro definitions
+# provided by autoconf itself and aclocal.m4.
+# autoheader Generates a configuration header (typically config.h.in) from
+# configure.ac and the macro definitions in aclocal.m4. Run by
+# autoreconf if configure.ac (or one of the macros it uses)
+# contains AC_CONFIG_HEADERS, AC_CONFIG_HEADER (undocumented), or
+# AM_CONFIG_HEADER (obsolete).
+# automake Generates Makefile.in from Makefile.am for each Makefile
+# listed in configure.ac (using AC_CONFIG_FILES). Also updates
+# build scripts like compile, depcomp, install-sh, ylwrap,...
+# Run by autoreconf if configure.ac (or one of the macros it
+# uses) contains AM_INIT_AUTOMAKE.
+#
+# Autoreconf may also run these additional commands provided by other ports.
+# A port needs to have a build depdendency on these ports when that's the case.
+#
+# autopoint Provided by devel/gettext-tools. Updates gettext related *.m4
+# files included with the source code and build scripts such as
+# config.rpath. Run by autoreconf if configure.ac (or one of the
+# macros it uses) contains AM_GNU_GETTEXT. A build dependency on
+# devel/gettext-tools can be added with USES+=gettext-tools.
+# Note that autoreconf runs autopoint even if a port has an NLS
+# option and the option is disabled. The build dependency on
+# gettext-tools is not optional. If the run dependency on
+# gettext is optional this can be specified with
+# NLS_USES=gettext-runtime.
+# libtoolize Provided by devel/libtool. Updates libtool related *.m4 files
+# included with the source code and build scripts such as
+# ltmain.sh. Run by autoreconf if configure.ac (or one of the
+# macros it uses) contains AC_PROG_LIBTOOL or LT_INIT. A build
+# dependency on devel/libtool is added implicitly when USES
+# contains both autoreconf and libtool.
+#
+# Feature: autoreconf
+# Usage: USES=autoreconf or USES=autoreconf:args
+# Valid args: build Don't run autoreconf, only add build dependencies
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_AUTORECONF_MK)
+_INCLUDE_USES_AUTORECONF_MK= yes
+_USES_POST+= autoreconf
+
+BUILD_DEPENDS+= autoconf>=2.69:devel/autoconf \
+ automake>=1.16.1:devel/automake
+
+.if defined(libtool_ARGS) && empty(libtool_ARGS:Mbuild)
+BUILD_DEPENDS+= libtoolize:devel/libtool
+.endif
+
+AUTORECONF?= ${LOCALBASE}/bin/autoreconf
+AUTORECONF_WRKSRC?= ${WRKSRC}
+
+.endif
+
+.if defined(_POSTMKINCLUDED) && !defined(_INCLUDE_USES_AUTORECONF_POST_MK)
+_INCLUDE_USES_AUTORECONF_POST_MK= yes
+
+.if empty(autoreconf_ARGS)
+_USES_configure+= 470:do-autoreconf
+do-autoreconf:
+.for f in AUTHORS ChangeLog INSTALL NEWS README
+# Don't modify time stamps if the files already exist
+ @test -e ${AUTORECONF_WRKSRC}/${f} || ${TOUCH} ${AUTORECONF_WRKSRC}/${f}
+.endfor
+.if defined(_USE_GNOME) && ${_USE_GNOME:Mintltool}
+ @(cd ${AUTORECONF_WRKSRC} && \
+ if test -f configure.ac; then configure=configure.ac; \
+ else configure=configure.in; fi && \
+ if ${EGREP} -q '^(AC|IT)_PROG_INTLTOOL' $${configure}; \
+ then ${LOCALBASE}/bin/intltoolize -f -c; fi)
+.endif
+ @(cd ${AUTORECONF_WRKSRC} && ${AUTORECONF} -f -i)
+.elif ! ${autoreconf_ARGS:Mbuild}
+IGNORE= Incorrect 'USES+=autoreconf:${autoreconf_ARGS}' expecting 'USES+=autoreconf[:build]'
+.endif
+
+.endif
diff --git a/test-ports/Mk/Uses/azurepy.mk b/test-ports/Mk/Uses/azurepy.mk
new file mode 100644
index 00000000..7e337057
--- /dev/null
+++ b/test-ports/Mk/Uses/azurepy.mk
@@ -0,0 +1,41 @@
+# $FreeBSD: head/Mk/Uses/azurepy.mk 494445 2019-03-02 18:01:21Z sunpoet $
+#
+# Shared namespace for py-azure-* ports
+# Feature: azurepy
+# Usage: USES= azurepy
+# MAINTAINER: dbaio@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_AZUREPY_MK)
+_INCLUDE_USES_AZUREPY_MK= yes
+
+RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}azure-cli-base>=0:sysutils/py-azure-cli-base@${PY_FLAVOR}
+
+POST_PLIST= trim-azure-namespace
+
+_USES_install+= 701:remove-common-files
+remove-common-files:
+ @${RM} ${STAGEDIR}${PYTHON_SITELIBDIR}/azure/__init__.py* \
+ ${STAGEDIR}${PYTHON_SITELIBDIR}/azure/cli/__init__.py* \
+ ${STAGEDIR}${PYTHON_SITELIBDIR}/azure/cli/command_modules/__init__.py* \
+ ${STAGEDIR}${PYTHON_SITELIBDIR}/azure/mgmt/__init__.py* \
+ ${STAGEDIR}${PYTHON_SITELIBDIR}/azure/mgmt/datalake/__init__.py*
+ @${RM} -r ${STAGEDIR}${PYTHON_SITELIBDIR}/azure/__pycache__ \
+ ${STAGEDIR}${PYTHON_SITELIBDIR}/azure/cli/__pycache__ \
+ ${STAGEDIR}${PYTHON_SITELIBDIR}/azure/cli/command_modules/__pycache__ \
+ ${STAGEDIR}${PYTHON_SITELIBDIR}/azure/mgmt/__pycache__ \
+ ${STAGEDIR}${PYTHON_SITELIBDIR}/azure/mgmt/datalake/__pycache__
+
+trim-azure-namespace:
+ @${REINPLACE_CMD} -e '/azure\/__init__.py*/d' \
+ -e '/azure\/cli\/__init__.py*/d' \
+ -e '/azure\/cli\/command_modules\/__init__.py*/d' \
+ -e '/azure\/mgmt\/__init__.py*/d' \
+ -e '/azure\/mgmt\/datalake\/__init__.py*/d' \
+ -e '/azure\/__pycache__*/d' \
+ -e '/azure\/cli\/__pycache__*/d' \
+ -e '/azure\/cli\/command_modules\/__pycache__*/d' \
+ -e '/azure\/mgmt\/__pycache__*/d' \
+ -e '/azure\/mgmt\/datalake\/__pycache__*/d' \
+ ${TMPPLIST}
+
+.endif
diff --git a/test-ports/Mk/Uses/bdb.mk b/test-ports/Mk/Uses/bdb.mk
new file mode 100644
index 00000000..56a71de7
--- /dev/null
+++ b/test-ports/Mk/Uses/bdb.mk
@@ -0,0 +1,245 @@
+# $FreeBSD: head/Mk/Uses/bdb.mk 458513 2018-01-09 07:40:55Z mat $
+#
+# Provide support for Berkeley DB
+# Feature: bdb
+# Usage: USES= bdb[:version]
+#
+# If no version is given (by the maintainer via the port or
+# by the user via defined variable), try to find the
+# currently installed version. Fall back to default if
+# necessary (db5 if compatible).
+# This adds a "debug-bdb" make target which will dump the
+# related data.
+# INVALID_BDB_VER
+# - This variable can be defined when the port does not
+# support one or more versions of Berkeley DB.
+# <BDB_UNIQUENAME>_WITH_BDB_VER
+# - User defined port specific variable to set Berkeley DB
+# version.
+# WITH_BDB_HIGHEST
+# - Use the highest installed version of Berkeley DB.
+# WITH_BDB6_PERMITTED
+# - If defined, BerkeleyDB 6 is added to the
+# default version set, making it eligible even
+# if not already installed. This is due to its
+# stricter Affero GNU Public License.
+#
+# These variables will then be filled in by this .mk file:
+#
+# BDB_LIB_NAME
+# - This variable is automatically set to the name of the
+# Berkeley DB library (default: db41).
+# BDB_LIB_CXX_NAME
+# - This variable is automatically set to the name of the
+# Berkeley DB C++ library (default: db41_cxx).
+# BDB_INCLUDE_DIR
+# - This variable is automatically set to the location of
+# the Berkeley DB include directory (default:
+# ${LOCALBASE}/include/db41).
+# BDB_LIB_DIR
+# - This variable is automatically set to the location of
+# the Berkeley DB library directory.
+# BDB_VER
+# - Detected Berkeley DB version.
+#
+# MAINTAINER: ports@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_BDB_MK)
+_INCLUDE_USES_BDB_MK= yes
+
+.if !empty(bdb_ARGS)
+_bdb_ARGS:= ${bdb_ARGS}
+.endif
+_bdb_ARGS?= yes
+
+# TODO: avoid malformed conditional with invalid _bdb_ARGS/BDB_DEFAULT
+# check if + works properly from test builds 01h12m23s
+
+BDB_UNIQUENAME?= ${PKGNAMEPREFIX}${PORTNAME}
+
+_BDB_DEFAULT_save:=${BDB_DEFAULT}
+
+_DB_PORTS= 48 5 6
+_DB_DEFAULTS= 48 5 # does not include 6 due to different licensing
+# but user can re-add it through WITH_BDB6_PERMITTED
+. if defined(WITH_BDB6_PERMITTED)
+_DB_DEFAULTS+= 6
+. endif
+
+# Dependency lines for different db versions
+db48_DEPENDS= libdb-4.8.so:databases/db48
+db5_DEPENDS= libdb-5.3.so:databases/db5
+db6_DEPENDS= libdb-6.2.so:databases/db6
+# Detect db versions by finding some files
+db48_FIND= ${LOCALBASE}/include/db48/db.h
+db5_FIND= ${LOCALBASE}/include/db5/db.h
+db6_FIND= ${LOCALBASE}/include/db6/db.h
+
+# Override the global BDB_DEFAULT with the
+# port specific <BDB_UNIQUENAME>_WITH_BDB_VER
+.if defined(${BDB_UNIQUENAME:tu:S,-,_,}_WITH_BDB_VER)
+BDB_DEFAULT= ${${BDB_UNIQUENAME:tu:S,-,_,}_WITH_BDB_VER}
+.endif
+
+# Override _bdb_ARGS with global BDB_DEFAULT if the maintainer did not
+# ask for a more specific version.
+. if ${_bdb_ARGS} == yes
+. if ${BDB_DEFAULT} != 1
+_bdb_ARGS= ${BDB_DEFAULT}
+. else
+_bdb_ARGS:= 48+
+. endif
+. endif
+
+# Compatiblity hack:
+# upgrade older plussed versions to 48+
+_BDB_OLDPLUSVERS=4+ 40+ 41+ 42+ 43+ 44+ 45+ 46+ 47+
+.for i in ${_bdb_ARGS}
+. if ${_BDB_OLDPLUSVERS:M${i}}
+_bdb_ARGS:= 48+
+. endif
+.endfor
+
+# 1. detect installed versions
+_INST_BDB_VER=
+.for bdb in ${_DB_PORTS}
+. if exists(${db${bdb}_FIND})
+_INST_BDB_VER+=${bdb}
+. endif
+.endfor
+
+# 2. parse supported versions:
+# 2a. build list from _bdb_ARGS
+_SUPP_BDB_VER=
+__bdb_ARGS:=${_bdb_ARGS:C,\+$,,:C/(.)(.)$/\1.\2/}
+.if !empty(_bdb_ARGS:M*+)
+. for bdb in ${_DB_PORTS:C/(.)(.)$/\1.\2/}
+. if ${__bdb_ARGS} <= ${bdb}
+_SUPP_BDB_VER+=${bdb:C/\.//}
+. endif
+. endfor
+.else
+_SUPP_BDB_VER=${_bdb_ARGS}
+.endif
+# 2b. expand INVALID_BDB_VER if given with "+":
+.if !empty(INVALID_BDB_VER:M*+)
+_INV_BDB:=${INVALID_BDB_VER:C,\+$,,:C/(.)(.)$/\1.\2/}
+_INV_BDB_VER:=
+. for bdb in ${_DB_PORTS:C/(.)(.)$/\1.\2/}
+. if ${_INV_BDB} <= ${bdb}
+_INV_BDB_VER+=${bdb:C/\.//}
+. endif
+. endfor
+.else
+_INV_BDB_VER:=${INVALID_BDB_VER}
+.endif
+# 2c. strip versions from INVALID_BDB_VER out of _SUPP_BDB_VER
+.for unsupp in ${_INV_BDB_VER}
+_SUPP_BDB_VER:=${_SUPP_BDB_VER:N${unsupp}}
+.endfor
+
+# 3a. calculate intersection in _INST_BDB_VER to see if there
+# is a usable installed version
+.for i in ${_INST_BDB_VER}
+. if empty(_SUPP_BDB_VER:M${i})
+_INST_BDB_VER:= ${_INST_BDB_VER:N${i}}
+. endif
+.endfor
+_ELIGIBLE_BDB_VER:=${_INST_BDB_VER}
+
+# 3b. if there is no usable version installed, check defaults
+.if empty(_INST_BDB_VER)
+_DFLT_BDB_VER:=${_DB_DEFAULTS}
+# make sure we use a reasonable version for package builds
+_WITH_BDB_HIGHEST=yes
+. for i in ${_DFLT_BDB_VER}
+. if empty(_SUPP_BDB_VER:M${i})
+_DFLT_BDB_VER:= ${_DFLT_BDB_VER:N${i}}
+. endif
+. endfor
+_ELIGIBLE_BDB_VER:=${_DFLT_BDB_VER}
+.endif
+
+# 4. elect a version
+_BDB_VER=
+.for i in ${_ELIGIBLE_BDB_VER}
+. if !empty(WITH_BDB_HIGHEST) || !empty(_WITH_BDB_HIGHEST) || empty(${_BDB_VER})
+_BDB_VER:=${i}
+. endif
+.endfor
+
+# 5. catch errors or set variables
+.if empty(_BDB_VER)
+IGNORE= cannot install: no eligible BerkeleyDB version. Requested: ${_bdb_ARGS}, incompatible: ${_INV_BDB_VER}. Try: make debug-bdb
+.else
+. if defined(BDB_BUILD_DEPENDS)
+BUILD_DEPENDS+= ${db${_BDB_VER}_FIND}:${db${_BDB_VER}_DEPENDS:C/^libdb.*://}
+. else
+LIB_DEPENDS+= ${db${_BDB_VER}_DEPENDS}
+. endif
+. if ${_BDB_VER} == 48
+BDB_LIB_NAME= db-4.8
+BDB_LIB_CXX_NAME= db_cxx-4.8
+BDB_LIB_DIR= ${LOCALBASE}/lib/db48
+. elif ${_BDB_VER} == 5
+BDB_LIB_NAME= db-5.3
+BDB_LIB_CXX_NAME= db_cxx-5.3
+BDB_LIB_DIR= ${LOCALBASE}/lib/db5
+. elif ${_BDB_VER} == 6
+BDB_LIB_NAME= db-6.2
+BDB_LIB_CXX_NAME= db_cxx-6.2
+BDB_LIB_DIR= ${LOCALBASE}/lib/db6
+. endif
+BDB_LIB_NAME?= db${_BDB_VER}
+BDB_LIB_CXX_NAME?= db${_BDB_VER}_cxx
+BDB_INCLUDE_DIR?= ${LOCALBASE}/include/db${_BDB_VER}
+BDB_LIB_DIR?= ${LOCALBASE}/lib
+.endif
+BDB_VER= ${_BDB_VER}
+
+debug-bdb:
+ @${ECHO_CMD} "--INPUTS----------------------------------------------------"
+ @${ECHO_CMD} "${BDB_UNIQUENAME:tu:S,-,_,}_WITH_BDB_VER: ${${BDB_UNIQUENAME:tu:S,-,_,}_WITH_BDB_VER}"
+ @${ECHO_CMD} "BDB_DEFAULT: ${_BDB_DEFAULT_save}"
+ @${ECHO_CMD} "BDB_BUILD_DEPENDS: ${BDB_BUILD_DEPENDS}"
+ @${ECHO_CMD} "bdb_ARGS (original): ${bdb_ARGS}"
+ @${ECHO_CMD} "WITH_BDB_HIGHEST (original): ${WITH_BDB_HIGHEST}"
+ @${ECHO_CMD} "--PROCESSING------------------------------------------------"
+ @${ECHO_CMD} "supported versions: ${_SUPP_BDB_VER}"
+ @${ECHO_CMD} "invalid versions: ${_INV_BDB_VER}"
+ @${ECHO_CMD} "installed versions: ${_INST_BDB_VER}"
+ @${ECHO_CMD} "eligible versions: ${_ELIGIBLE_BDB_VER}"
+ @${ECHO_CMD} "bdb_ARGS (effective): ${_bdb_ARGS}"
+ @${ECHO_CMD} "WITH_BDB_HIGHEST (override): ${_WITH_BDB_HIGHEST}"
+ @${ECHO_CMD} "--OUTPUTS---------------------------------------------------"
+ @${ECHO_CMD} "IGNORE=${IGNORE}"
+ @${ECHO_CMD} "BDB_VER=${BDB_VER}"
+ @${ECHO_CMD} "BDB_INCLUDE_DIR=${BDB_INCLUDE_DIR}"
+ @${ECHO_CMD} "BDB_LIB_NAME=${BDB_LIB_NAME}"
+ @${ECHO_CMD} "BDB_LIB_CXX_NAME=${BDB_LIB_CXX_NAME}"
+ @${ECHO_CMD} "BDB_LIB_DIR=${BDB_LIB_DIR}"
+ @${ECHO_CMD} "BUILD_DEPENDS=${BUILD_DEPENDS:M*/databases/db*}"
+ @${ECHO_CMD} "LIB_DEPENDS=${LIB_DEPENDS:M*/databases/db*}"
+ @${ECHO_CMD} "------------------------------------------------------------"
+
+# Obsolete variables - ports can define these to want users about
+# variables that may be in /etc/make.conf but that are no longer
+# effective:
+.if defined(OBSOLETE_BDB_VAR)
+. for var in ${OBSOLETE_BDB_VAR}
+. if defined(${var})
+BAD_VAR+= ${var},
+. endif
+. endfor
+. if defined(BAD_VAR)
+_IGNORE_MSG= Obsolete variable(s) ${BAD_VAR} use DEFAULT_VERSIONS or ${BDB_UNIQUENAME:tu:S,-,_,}_WITH_BDB_VER to select Berkeley DB version
+. if defined(IGNORE)
+IGNORE+= ${_IGNORE_MSG}
+. else
+IGNORE= ${_IGNORE_MSG}
+. endif
+. endif
+.endif
+
+
+.endif
diff --git a/test-ports/Mk/Uses/bison.mk b/test-ports/Mk/Uses/bison.mk
new file mode 100644
index 00000000..72532457
--- /dev/null
+++ b/test-ports/Mk/Uses/bison.mk
@@ -0,0 +1,31 @@
+# $FreeBSD: head/Mk/Uses/bison.mk 411970 2016-03-27 01:23:25Z bapt $
+#
+# handle dependency on the bison port
+#
+# Feature: bison
+# Usage: USES=bison or USES=bison:ARGS
+# Valid ARGS: build (default, implicit), run, both
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_BISON_MK)
+_INCLUDE_USES_BISON_MK= yes
+
+_BISON_DEPENDS= bison:devel/bison
+
+.if empty(bison_ARGS)
+bison_ARGS= build
+.endif
+
+.if ${bison_ARGS} == "build"
+BUILD_DEPENDS+= ${_BISON_DEPENDS}
+.elif ${bison_ARGS} == "run"
+RUN_DEPENDS+= ${_BISON_DEPENDS}
+.elif ${bison_ARGS} == "both"
+BUILD_DEPENDS+= ${_BISON_DEPENDS}
+RUN_DEPENDS+= ${_BISON_DEPENDS}
+.else
+IGNORE= USES=bison - invalid args: [${bison_ARGS}] specified
+.endif
+
+.endif
diff --git a/test-ports/Mk/Uses/blaslapack.mk b/test-ports/Mk/Uses/blaslapack.mk
new file mode 100644
index 00000000..46b8e0d1
--- /dev/null
+++ b/test-ports/Mk/Uses/blaslapack.mk
@@ -0,0 +1,52 @@
+# $FreeBSD: head/Mk/Uses/blaslapack.mk 434263 2017-02-17 03:10:55Z jbeich $
+#
+# Handle dependencies on Blas / Lapack
+#
+# Feature: blaslapack
+# Usage: USES=blaslapack or USES=blaslapack:ARGS
+# Valid ARGS: atlas gotoblas netlib (default) openblas
+#
+# Provides: BLASLIB and LAPACKLIB
+#
+# Maintainer: thierry@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_BLASLAPACK_MK)
+_INCLUDE_USES_BLASLAPACK_MK= yes
+
+_valid_ARGS= atlas gotoblas netlib openblas
+
+_DEFAULT_BLASLAPACK= netlib
+
+.if empty(blaslapack_ARGS)
+blaslapack_ARGS= ${_DEFAULT_BLASLAPACK}
+.endif
+
+LDFLAGS+= -L${LOCALBASE}/lib
+
+.if ${blaslapack_ARGS} == atlas
+LIB_DEPENDS+= libatlas.so:math/atlas
+_BLASLIB= ptf77blas
+LAPACKLIB= -lalapack -lptcblas
+_ATLASLIB= atlas
+ATLASLIB= -l${_ATLASLIB}
+.elif ${blaslapack_ARGS} == gotoblas
+LIB_DEPENDS+= libgoto2.so:math/gotoblas
+LIB_DEPENDS+= liblapack.so:math/lapack
+_BLASLIB= goto2p
+LAPACKLIB= -lgoto2p
+.elif ${blaslapack_ARGS} == netlib
+LIB_DEPENDS+= libblas.so:math/blas
+LIB_DEPENDS+= liblapack.so:math/lapack
+_BLASLIB= blas
+LAPACKLIB= -llapack
+.elif ${blaslapack_ARGS} == openblas
+LIB_DEPENDS+= libopenblas.so:math/openblas
+_BLASLIB= openblasp
+LAPACKLIB= -lopenblasp
+.else
+IGNORE= USES=blaslapack: invalid arguments: ${blaslapack_ARGS}
+.endif
+
+BLASLIB= -l${_BLASLIB}
+
+.endif
diff --git a/test-ports/Mk/Uses/cargo.mk b/test-ports/Mk/Uses/cargo.mk
new file mode 100644
index 00000000..43dc9333
--- /dev/null
+++ b/test-ports/Mk/Uses/cargo.mk
@@ -0,0 +1,300 @@
+# $FreeBSD: head/Mk/Uses/cargo.mk 494349 2019-03-02 00:35:33Z tobik $
+#
+# This file contains logic to ease porting of Rust packages or
+# binaries using the `cargo` command.
+#
+# Feature: cargo
+# Usage: USES=cargo
+# Valid ARGS: none
+#
+# MAINTAINER: ports@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_CARGO_MK)
+_INCLUDE_USES_CARGO_MK= yes
+
+.if !empty(cargo_ARGS)
+IGNORE+= USES=cargo takes no arguments
+.endif
+
+# List of static dependencies. The format is cratename-version.
+# CARGO_CRATES will be downloaded from MASTER_SITES_CRATESIO.
+CARGO_CRATES?=
+
+# List of features to build (space separated list).
+CARGO_FEATURES?=
+
+# Name of the local directory for vendoring crates.
+CARGO_VENDOR_DIR?= ${WRKSRC}/cargo-crates
+
+# Default path for cargo manifest.
+CARGO_CARGOTOML?= ${WRKSRC}/Cargo.toml
+CARGO_CARGOLOCK?= ${WRKSRC}/Cargo.lock
+
+# Save crates inside ${DISTDIR}/rust/crates by default.
+CARGO_DIST_SUBDIR?= rust/crates
+
+# Generate list of DISTFILES.
+.for _crate in ${CARGO_CRATES}
+MASTER_SITES+= CRATESIO/${_crate:C/^(.*)-[0-9].*/\1/}/${_crate:C/^.*-([0-9].*)/\1/}:cargo_${_crate:S/-//g:S/.//g}
+DISTFILES+= ${CARGO_DIST_SUBDIR}/${_crate}.tar.gz:cargo_${_crate:S/-//g:S/.//g}
+.endfor
+
+# Build dependencies.
+
+CARGO_BUILDDEP?= yes
+.if ${CARGO_BUILDDEP:tl} == "yes"
+BUILD_DEPENDS+= ${RUST_DEFAULT}>=1.33.0:lang/${RUST_DEFAULT}
+.endif
+
+# Location of cargo binary (default to lang/rust's Cargo binary)
+CARGO_CARGO_BIN?= ${LOCALBASE}/bin/cargo
+
+# Location of the cargo output directory.
+CARGO_TARGET_DIR?= ${WRKDIR}/target
+
+# Environment for cargo
+# - CARGO_HOME: local cache of the registry index
+# - CARGO_BUILD_JOBS: configure number of jobs to run
+# - CARGO_TARGET_DIR: location of where to place all generated artifacts
+# - RUSTC: path of rustc binary (default to lang/rust)
+# - RUSTDOC: path of rustdoc binary (default to lang/rust)
+# - RUSTFLAGS: custom flags to pass to all compiler invocations that Cargo performs
+CARGO_ENV+= \
+ CARGO_HOME=${WRKDIR}/cargo-home \
+ CARGO_BUILD_JOBS=${MAKE_JOBS_NUMBER} \
+ CARGO_TARGET_DIR=${CARGO_TARGET_DIR} \
+ RUSTC=${LOCALBASE}/bin/rustc \
+ RUSTDOC=${LOCALBASE}/bin/rustdoc \
+ RUSTFLAGS="${RUSTFLAGS} -C linker=${CC:Q} ${LDFLAGS:S/^/-C link-arg=/}"
+
+# Adjust -C target-cpu if -march/-mcpu is set by bsd.cpu.mk
+.if ${ARCH} == amd64 || ${ARCH} == i386
+RUSTFLAGS+= ${CFLAGS:M-march=*:S/-march=/-C target-cpu=/}
+.else
+RUSTFLAGS+= ${CFLAGS:M-mcpu=*:S/-mcpu=/-C target-cpu=/}
+.endif
+
+.if ${ARCH} == powerpc64
+USE_GCC?= yes
+.endif
+
+# Helper to shorten cargo calls.
+CARGO_CARGO_RUN= \
+ cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${CARGO_ENV} \
+ ${CARGO_CARGO_BIN}
+
+# User arguments for cargo targets.
+CARGO_BUILD_ARGS?=
+CARGO_INSTALL_ARGS?=
+CARGO_TEST_ARGS?=
+CARGO_UPDATE_ARGS?=
+
+# Use module targets ?
+CARGO_BUILD?= yes
+CARGO_CONFIGURE?= yes
+CARGO_INSTALL?= yes
+CARGO_TEST?= yes
+CARGO_USE_GITHUB?= no
+
+# If your application has multiple Cargo.toml files which all use
+# git-sourced dependencies and require the use of CARGO_USE_GITHUB and
+# GH_TUPLE, then you add them to CARGO_GH_CARGOTOML to also point them
+# to the correct offline sources.
+CARGO_GH_CARGOTOML?= ${CARGO_CARGOTOML}
+
+# Manage crate features.
+.if !empty(CARGO_FEATURES)
+CARGO_BUILD_ARGS+= --features='${CARGO_FEATURES}'
+CARGO_INSTALL_ARGS+= --features='${CARGO_FEATURES}'
+CARGO_TEST_ARGS+= --features='${CARGO_FEATURES}'
+.endif
+
+.if !defined(WITH_DEBUG)
+CARGO_BUILD_ARGS+= --release
+CARGO_TEST_ARGS+= --release
+.else
+CARGO_INSTALL_ARGS+= --debug
+.endif
+
+.if ${CARGO_CRATES:Mbacktrace-sys-[0-9]*}
+BUILD_DEPENDS+= gmake:devel/gmake
+.endif
+
+.if ${CARGO_CRATES:Mcmake-[0-9]*}
+BUILD_DEPENDS+= cmake:devel/cmake
+.endif
+
+.if ${CARGO_CRATES:Mfreetype-sys-[0-9]*}
+LIB_DEPENDS+= libfreetype.so:print/freetype2
+.endif
+
+.if ${CARGO_CRATES:Mgettext-sys-[0-9]*}
+.include "${USESDIR}/gettext.mk"
+CARGO_ENV+= GETTEXT_BIN_DIR=${LOCALBASE}/bin \
+ GETTEXT_INCLUDE_DIR=${LOCALBASE}/include \
+ GETTEXT_LIB_DIR=${LOCALBASE}/lib
+.endif
+
+.for libc in ${CARGO_CRATES:Mlibc-[0-9]*}
+# FreeBSD 12.0 changed ABI: r318736 and r320043
+# https://github.com/rust-lang/libc/commit/78f93220d70e
+# https://github.com/rust-lang/libc/commit/969ad2b73cdc
+_libc_VER= ${libc:C/.*-//}
+. if ${_libc_VER:R:R} == 0 && (${_libc_VER:R:E} < 2 || ${_libc_VER:R:E} == 2 && ${_libc_VER:E} < 38)
+DEV_WARNING+= "CARGO_CRATES=${libc} may be unstable on FreeBSD 12.0. Consider updating to the latest version (higher than 0.2.37)."
+. endif
+. if ${_libc_VER:R:R} == 0 && (${_libc_VER:R:E} < 2 || ${_libc_VER:R:E} == 2 && ${_libc_VER:E} < 49)
+DEV_WARNING+= "CARGO_CRATES=${libc} may be unstable on aarch64 or not build on armv6, armv7, powerpc64. Consider updating to the latest version (higher than 0.2.49)."
+. endif
+.undef _libc_VER
+.endfor
+
+.if ${CARGO_CRATES:Mlibgit2-sys-[0-9]*}
+# Use the system's libgit2 instead of building the bundled version
+CARGO_ENV+= LIBGIT2_SYS_USE_PKG_CONFIG=1
+LIB_DEPENDS+= libgit2.so:devel/libgit2
+.endif
+
+.if ${CARGO_CRATES:Mlibssh2-sys-[0-9]*}
+# Use the system's libssh2 instead of building the bundled version
+CARGO_ENV+= LIBSSH2_SYS_USE_PKG_CONFIG=1
+LIB_DEPENDS+= libssh2.so:security/libssh2
+.endif
+
+.if ${CARGO_CRATES:Monig_sys-[0-9]*}
+# onig_sys always prefers the system library but will try to link
+# statically with it. Since devel/oniguruma doesn't provide a static
+# library it'll link to libonig.so instead. Strictly speaking setting
+# RUSTONIG_SYSTEM_LIBONIG is not necessary, but will force onig_sys to
+# always use the system's libonig as returned by `pkg-config oniguruma`.
+CARGO_ENV+= RUSTONIG_SYSTEM_LIBONIG=1
+LIB_DEPENDS+= libonig.so:devel/oniguruma
+.endif
+
+.if ${CARGO_CRATES:Mopenssl-0.[0-9].*}
+# FreeBSD 12.0 updated base OpenSSL in r339270:
+# https://github.com/sfackler/rust-openssl/commit/276577553501
+. if !exists(${PATCHDIR}/patch-openssl-1.1.1) # skip if backported
+_openssl_VER= ${CARGO_CRATES:Mopenssl-0.[0-9].*:C/.*-//}
+. if ${_openssl_VER:R:R} == 0 && (${_openssl_VER:R:E} < 10 || ${_openssl_VER:R:E} == 10 && ${_openssl_VER:E} < 4)
+DEV_WARNING+= "CARGO_CRATES=openssl-0.10.3 or older do not support OpenSSL 1.1.1. Consider updating to the latest version."
+. endif
+. endif
+.undef _openssl_VER
+.endif
+
+.if ${CARGO_CRATES:Mopenssl-sys-[0-9]*}
+# Make sure that openssl-sys can find the correct version of OpenSSL
+.include "${USESDIR}/ssl.mk"
+CARGO_ENV+= OPENSSL_LIB_DIR=${OPENSSLLIB} \
+ OPENSSL_INCLUDE_DIR=${OPENSSLINC}
+# Silence bogus QA warning about needing USES=ssl
+QA_ENV+= USESSSL=yes
+.endif
+
+.if ${CARGO_CRATES:Mpkg-config-[0-9]*}
+.include "${USESDIR}/pkgconfig.mk"
+.endif
+
+.if ${CARGO_CRATES:Mthrussh-libsodium-[0-9]*}
+LIB_DEPENDS+= libsodium.so:security/libsodium
+.endif
+
+_USES_extract+= 600:cargo-extract
+cargo-extract:
+# target for preparing crates directory. It will put all crates in
+# the local crates directory.
+ @${ECHO_MSG} "===> Moving crates to ${CARGO_VENDOR_DIR}"
+ @${MKDIR} ${CARGO_VENDOR_DIR}
+.for _crate in ${CARGO_CRATES}
+ @${MV} ${WRKDIR}/${_crate} ${CARGO_VENDOR_DIR}/${_crate}
+ @${PRINTF} '{"package":"%s","files":{}}' \
+ $$(${SHA256} -q ${DISTDIR}/${CARGO_DIST_SUBDIR}/${_crate}.tar.gz) \
+ > ${CARGO_VENDOR_DIR}/${_crate}/.cargo-checksum.json
+.endfor
+
+.if ${CARGO_USE_GITHUB:tl} == "yes"
+_USES_patch+= 600:cargo-patch-github
+
+.for _group in ${GH_TUPLE:C@^[^:]*:[^:]*:[^:]*:(([^:/]*)?)((/.*)?)@\2@}
+_CARGO_GH_PATCH_CARGOTOML:= ${_CARGO_GH_PATCH_CARGOTOML} \
+ -e 's@git = "(https|http|git)://github.com/${GH_ACCOUNT_${_group}}/${GH_PROJECT_${_group}}(\.git)?"@path = "${WRKSRC_${_group}}"@'
+.endfor
+
+cargo-patch-github:
+ @${SED} -i.dist -E ${_CARGO_GH_PATCH_CARGOTOML} ${CARGO_GH_CARGOTOML}
+.endif
+
+.if !target(do-configure) && ${CARGO_CONFIGURE:tl} == "yes"
+# configure hook. Place a config file for overriding crates-io index
+# by local source directory.
+do-configure:
+ @${MKDIR} ${WRKDIR}/.cargo
+ @${ECHO_CMD} "[source.cargo]" > ${WRKDIR}/.cargo/config
+ @${ECHO_CMD} "directory = '${CARGO_VENDOR_DIR}'" >> ${WRKDIR}/.cargo/config
+ @${ECHO_CMD} "[source.crates-io]" >> ${WRKDIR}/.cargo/config
+ @${ECHO_CMD} "replace-with = 'cargo'" >> ${WRKDIR}/.cargo/config
+ @if ! ${GREP} -qF '[profile.release]' ${CARGO_CARGOTOML}; then \
+ ${ECHO_CMD} "" >> ${CARGO_CARGOTOML}; \
+ ${ECHO_CMD} "[profile.release]" >> ${CARGO_CARGOTOML}; \
+ ${ECHO_CMD} "opt-level = 2" >> ${CARGO_CARGOTOML}; \
+ ${ECHO_CMD} "debug = false" >> ${CARGO_CARGOTOML}; \
+ fi
+ @${CARGO_CARGO_RUN} update \
+ --manifest-path ${CARGO_CARGOTOML} \
+ --verbose \
+ ${CARGO_UPDATE_ARGS}
+.endif
+
+.if !target(do-build) && ${CARGO_BUILD:tl} == "yes"
+do-build:
+ @${CARGO_CARGO_RUN} build \
+ --manifest-path ${CARGO_CARGOTOML} \
+ --verbose \
+ ${CARGO_BUILD_ARGS}
+.endif
+
+.if !target(do-install) && ${CARGO_INSTALL:tl} == "yes"
+do-install:
+ @${CARGO_CARGO_RUN} install \
+ --path . \
+ --root "${STAGEDIR}${PREFIX}" \
+ --verbose \
+ ${CARGO_INSTALL_ARGS}
+ @${RM} -- "${STAGEDIR}${PREFIX}/.crates.toml"
+.endif
+
+.if !target(do-test) && ${CARGO_TEST:tl} == "yes"
+do-test:
+ @${CARGO_CARGO_RUN} test \
+ --manifest-path ${CARGO_CARGOTOML} \
+ --verbose \
+ ${CARGO_TEST_ARGS}
+.endif
+
+#
+# Helper targets for port maintainers
+#
+
+# cargo-crates will output the crates list from Cargo.lock. If there
+# is no Cargo.lock for some reason, try and generate it first.
+cargo-crates: extract
+ @if [ ! -r "${CARGO_CARGOLOCK}" ]; then \
+ ${ECHO_MSG} "===> ${CARGO_CARGOLOCK} not found. Trying to generate it..."; \
+ ${CARGO_CARGO_RUN} generate-lockfile \
+ --manifest-path ${CARGO_CARGOTOML} \
+ --verbose; \
+ fi
+ @${SETENV} USE_GITHUB=${USE_GITHUB} \
+ ${AWK} -f ${SCRIPTSDIR}/cargo-crates.awk ${CARGO_CARGOLOCK}
+
+# cargo-crates-licenses will try to grab license information from
+# all downloaded crates.
+cargo-crates-licenses: configure
+ @${FIND} ${CARGO_VENDOR_DIR} -name 'Cargo.toml' -maxdepth 2 \
+ -exec ${GREP} -H '^license' {} \; \
+ | ${SED} \
+ -e 's@^${CARGO_VENDOR_DIR}/@@' \
+ -e 's@/Cargo.toml:license.*= *"@|@' \
+ -e 's@"$$@@g' | sort | /usr/bin/column -t -s '|'
+.endif
diff --git a/test-ports/Mk/Uses/charsetfix.mk b/test-ports/Mk/Uses/charsetfix.mk
new file mode 100644
index 00000000..a844b4e9
--- /dev/null
+++ b/test-ports/Mk/Uses/charsetfix.mk
@@ -0,0 +1,27 @@
+# $FreeBSD: head/Mk/Uses/charsetfix.mk 394503 2015-08-17 13:31:25Z mat $
+#
+# Lookup in Makefile.in to prevent a package from installing/modifying charset.alias
+#
+# Feature: charsetfix
+# Usage: USES=charsetfix
+# Valid ARGS: does not require args
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_CHARSETFIX_MK)
+_INCLUDE_USES_CHARSETFIX_MK= yes
+
+.if !empty(charsetfix_ARGS)
+IGNORE= USES=charsetfix does not require args
+.endif
+
+CHARSETFIX_MAKEFILEIN?= Makefile.in
+
+_USES_patch+= 600:charsetfix-post-patch
+charsetfix-post-patch:
+ @${FIND} ${WRKSRC} -name "${CHARSETFIX_MAKEFILEIN}" -type f | ${XARGS} ${REINPLACE_CMD} \
+ -e 's|need_charset_alias=true|need_charset_alias=false|g ; \
+ s|test -f $$(charset_alias)|false|g ;\
+ s|test -f $$(DESTDIR)$$(libdir)/charset.alias|false|g'
+
+.endif
diff --git a/test-ports/Mk/Uses/cmake.mk b/test-ports/Mk/Uses/cmake.mk
new file mode 100644
index 00000000..e85b0ccd
--- /dev/null
+++ b/test-ports/Mk/Uses/cmake.mk
@@ -0,0 +1,143 @@
+# $FreeBSD: head/Mk/Uses/cmake.mk 488341 2018-12-25 20:25:39Z tcberner $
+#
+# Provide support for CMake based projects
+#
+# Feature: cmake
+# Usage: USES=cmake or USES=cmake:ARGS
+# Valid ARGS: insource, run, noninja
+# ARGS description:
+# insource do not perform an out-of-source build
+# noninja don't use ninja instead of make
+# Setting this should be an exception, and hints to an issue
+# inside the ports build system.
+# A few corner cases never use ninja, and are handled, to reduce
+# the usage of 'noninja'.:
+# 1) fortran ports
+# 2) ports that set BUILD_- or INSTALL_WRKSRC to
+# something different than CONFIGURE_WRKSRC
+# run add a runtime dependency on cmake
+#
+#
+# Additional variables that affect cmake behaviour:
+#
+# User defined variables:
+# CMAKE_NOCOLOR - Disable colour build output
+# Default: not set, unless BATCH or PACKAGE_BUILDING is defined
+#
+# Variables for ports:
+# CMAKE_ON Appends -D<var>:bool=ON to the CMAKE_ARGS,
+# CMAKE_OFF Appends -D<var>:bool=OFF to the CMAKE_ARGS.
+# CMAKE_ARGS - Arguments passed to cmake
+# Default: see below
+# CMAKE_BUILD_TYPE - Type of build (cmake predefined build types).
+# Projects may have their own build profiles.
+# CMake supports the following types: Debug,
+# Release, RelWithDebInfo and MinSizeRel.
+# Debug and Release profiles respect system
+# CFLAGS, RelWithDebInfo and MinSizeRel will set
+# CFLAGS to "-O2 -g" and "-Os -DNDEBUG".
+# Default: Release, if WITH_DEBUG is not set,
+# Debug otherwise
+# CMAKE_SOURCE_PATH - Path to the source directory
+# Default: ${WRKSRC}
+#
+# MAINTAINER: kde@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_CMAKE_MK)
+_INCLUDE_USES_CMAKE_MK= yes
+
+_valid_ARGS= insource run noninja
+
+# Sanity check
+.for arg in ${cmake_ARGS}
+. if empty(_valid_ARGS:M${arg})
+IGNORE= Incorrect 'USES+= cmake:${cmake_ARGS}' usage: argument [${arg}] is not recognized
+. endif
+.endfor
+
+CMAKE_BIN= ${LOCALBASE}/bin/cmake
+BUILD_DEPENDS+= ${CMAKE_BIN}:devel/cmake
+
+.if ${cmake_ARGS:Mrun}
+RUN_DEPENDS+= ${CMAKE_BIN}:devel/cmake
+.endif
+
+.if defined(WITH_DEBUG)
+CMAKE_BUILD_TYPE?= Debug
+.else
+CMAKE_BUILD_TYPE?= Release
+.endif #defined(WITH_DEBUG)
+
+PLIST_SUB+= CMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE:tl}"
+
+.if defined(STRIP) && ${STRIP} != "" && !defined(WITH_DEBUG)
+INSTALL_TARGET?= install/strip
+.endif
+
+CMAKE_ARGS+= -DCMAKE_C_COMPILER:STRING="${CC}" \
+ -DCMAKE_CXX_COMPILER:STRING="${CXX}" \
+ -DCMAKE_C_FLAGS:STRING="${CFLAGS}" \
+ -DCMAKE_C_FLAGS_DEBUG:STRING="${CFLAGS}" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="${CFLAGS}" \
+ -DCMAKE_CXX_FLAGS:STRING="${CXXFLAGS}" \
+ -DCMAKE_CXX_FLAGS_DEBUG:STRING="${CXXFLAGS}" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="${CXXFLAGS}" \
+ -DCMAKE_EXE_LINKER_FLAGS:STRING="${LDFLAGS}" \
+ -DCMAKE_MODULE_LINKER_FLAGS:STRING="${LDFLAGS}" \
+ -DCMAKE_SHARED_LINKER_FLAGS:STRING="${LDFLAGS}" \
+ -DCMAKE_INSTALL_PREFIX:PATH="${CMAKE_INSTALL_PREFIX}" \
+ -DCMAKE_BUILD_TYPE:STRING="${CMAKE_BUILD_TYPE}" \
+ -DTHREADS_HAVE_PTHREAD_ARG:BOOL=YES \
+ -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=YES \
+ -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
+
+# Handle the option-like CMAKE_ON and CMAKE_OFF lists.
+.for _bool_kind in ON OFF
+. if defined(CMAKE_${_bool_kind})
+CMAKE_ARGS+= ${CMAKE_${_bool_kind}:C/.*/-D&:BOOL=${_bool_kind}/}
+. endif
+.endfor
+
+CMAKE_INSTALL_PREFIX?= ${PREFIX}
+
+.if defined(BATCH) || defined(PACKAGE_BUILDING)
+CMAKE_NOCOLOR= yes
+.endif
+
+.if defined(CMAKE_NOCOLOR)
+CMAKE_ARGS+= -DCMAKE_COLOR_MAKEFILE:BOOL=OFF
+.endif
+
+_CMAKE_MSG= "===> Performing in-source build"
+CMAKE_SOURCE_PATH?= ${WRKSRC}
+
+.if empty(cmake_ARGS:Minsource)
+_CMAKE_MSG= "===> Performing out-of-source build"
+CONFIGURE_WRKSRC= ${WRKDIR}/.build
+BUILD_WRKSRC?= ${CONFIGURE_WRKSRC}
+INSTALL_WRKSRC?= ${CONFIGURE_WRKSRC}
+TEST_WRKSRC?= ${CONFIGURE_WRKSRC}
+.endif
+
+# By default we use the ninja generator.
+# Except, if cmake:run is set (cmake not wanted as generator)
+# fortran is used, as the ninja-generator does not handle it.
+# or if CONFIGURE_WRKSRC does not match BUILD_WRKSRC or INSTALL_WRKSRC
+# as the build.ninja file won't be where ninja expects it.
+.if empty(cmake_ARGS:Mnoninja) && empty(cmake_ARGS:Mrun) && empty(USES:Mfortran)
+. if "${CONFIGURE_WRKSRC}" == "${BUILD_WRKSRC}" && "${CONFIGURE_WRKSRC}" == "${INSTALL_WRKSRC}"
+. if ! empty(USES:Mgmake)
+BROKEN= USES=gmake is incompatible with cmake's ninja-generator
+. endif
+. include "${USESDIR}/ninja.mk"
+. endif
+.endif
+
+.if !target(do-configure)
+do-configure:
+ @${ECHO_MSG} ${_CMAKE_MSG}
+ ${MKDIR} ${CONFIGURE_WRKSRC}
+ @cd ${CONFIGURE_WRKSRC}; ${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS} ${CMAKE_SOURCE_PATH}
+.endif
+
+.endif #!defined(_INCLUDE_USES_CMAKE_MK)
diff --git a/test-ports/Mk/Uses/compiler.mk b/test-ports/Mk/Uses/compiler.mk
new file mode 100644
index 00000000..5f4a0df4
--- /dev/null
+++ b/test-ports/Mk/Uses/compiler.mk
@@ -0,0 +1,297 @@
+# $FreeBSD: head/Mk/Uses/compiler.mk 488201 2018-12-23 12:01:32Z antoine $
+#
+# Allows to determine the compiler being used
+#
+# Feature: compiler
+# Usage: USES=compiler or USES=compiler:ARGS
+# Valid ARGS: env (default, implicit) c++0x c++11-lib c++11-lang c11 openmp nestedfct features
+#
+# c++0x: The port needs a compiler understanding C++0X
+# c++11-lang: The port needs a compiler understanding C++11
+# c++14-lang: The port needs a compiler understanding C++14
+# c++17-lang: The port needs a compiler understanding C++17
+# gcc-c++11-lib:The port needs g++ compiler with a C++11 library
+# c++11-lib: The port needs a compiler understanding C++11 and with a C++11 ready standard library
+# c11: The port needs a compiler understanding C11
+# openmp: The port needs a compiler understanding openmp
+# nestedfct: The port needs a compiler understanding nested functions
+# features: The port will determine the features supported by the default compiler
+#
+# Variable to test after <bsd.port.pre.mk>
+#
+# COMPILER_TYPE: can be gcc or clang
+# ALT_COMPILER_TYPE: can be gcc or clang depending on COMPILER_TYPE, only set if the base system has 2 compilers
+# COMPILER_VERSION: first 2 digits of the version: 33 for clang 3.3.*, 47 for gcc 4.7.*
+# ALT_COMPILER_VERSION: first 2 digits of the version: 33 for clang 3.3.*, 47 for gcc 4.7.* of the ALT_COMPILER_TYPE
+#
+# COMPILER_FEATURES: the list of features supported by the compiler includes the standard C++ library.
+# CHOSEN_COMPILER_TYPE: can be gcc or clang (type of compiler chosen by the framework)
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_COMPILER_MK)
+_INCLUDE_USES_COMPILER_MK= yes
+
+.if empty(compiler_ARGS)
+compiler_ARGS= env
+.endif
+
+VALID_ARGS= c++11-lib c++11-lang c++14-lang c++17-lang c11 features openmp env nestedfct c++0x gcc-c++11-lib
+
+_CC_hash:= ${CC:hash}
+_CXX_hash:= ${CXX:hash}
+
+.if ${compiler_ARGS} == gcc-c++11-lib
+_COMPILER_ARGS+= features gcc-c++11-lib
+.elif ${compiler_ARGS} == c++11-lib
+_COMPILER_ARGS+= features c++11-lib
+.elif ${compiler_ARGS} == c++0x
+_COMPILER_ARGS+= features c++0x
+.elif ${compiler_ARGS} == c++11-lang
+_COMPILER_ARGS+= features c++11-lang
+.elif ${compiler_ARGS} == c++14-lang
+_COMPILER_ARGS+= features c++14-lang
+.elif ${compiler_ARGS} == c++17-lang
+_COMPILER_ARGS+= features c++17-lang
+.elif ${compiler_ARGS} == c11
+_COMPILER_ARGS+= features c11
+.elif ${compiler_ARGS} == features
+_COMPILER_ARGS+= features
+.elif ${compiler_ARGS} == env
+_COMPILER_ARGS+= env
+.elif ${compiler_ARGS} == openmp
+_COMPILER_ARGS+= env openmp
+.elif ${compiler_ARGS} == nestedfct
+_COMPILER_ARGS+= env nestedfct
+.else
+IGNORE= Invalid argument "${compiler_ARGS}", valid arguments are: ${VALID_ARGS}
+_COMPILER_ARGS= #
+.endif
+
+.if ${_COMPILER_ARGS:Mc++*} || ${_COMPILER_ARGS:Mc11}
+_COMPILER_ARGS+= features
+.endif
+
+.if defined(_CCVERSION_${_CC_hash})
+_CCVERSION= ${_CCVERSION_${_CC_hash}}
+.else
+_CCVERSION!= ${CC} --version
+_CCVERSION_${_CC_hash}= ${_CCVERSION}
+PORTS_ENV_VARS+= _CCVERSION_${_CC_hash}
+.endif
+COMPILER_VERSION= ${_CCVERSION:M[0-9].[0-9]*:tW:C/([0-9]).([0-9]).*/\1\2/g}
+.if ${_CCVERSION:Mclang}
+COMPILER_TYPE= clang
+.else
+COMPILER_TYPE= gcc
+.endif
+
+ALT_COMPILER_VERSION= 0
+ALT_COMPILER_TYPE= none
+_ALTCCVERSION= none
+.if defined(_ALTCCVERSION_${_CC_hash})
+_ALTCCVERSION= ${_ALTCCVERSION_${_CC_hash}}
+.else
+.if ${COMPILER_TYPE} == gcc && exists(/usr/bin/clang)
+.if ${ARCH} == amd64 || ${ARCH} == i386 # clang often non-default for a reason
+_ALTCCVERSION!= /usr/bin/clang --version
+.endif
+.elif ${COMPILER_TYPE} == clang && exists(/usr/bin/gcc)
+_ALTCCVERSION!= /usr/bin/gcc --version
+.endif
+_ALTCCVERSION_${_CC_hash}= ${_ALTCCVERSION}
+PORTS_ENV_VARS+= _ALTCCVERSION_${_CC_hash}
+.endif
+
+ALT_COMPILER_VERSION= ${_ALTCCVERSION:M[0-9].[0-9]*:tW:C/([0-9]).([0-9]).*/\1\2/g}
+.if ${_ALTCCVERSION:Mclang}
+ALT_COMPILER_TYPE= clang
+.elif ${_ALTCCVERSION} != none
+ALT_COMPILER_TYPE= gcc
+.endif
+
+CHOSEN_COMPILER_TYPE= ${COMPILER_TYPE}
+
+.if ${_COMPILER_ARGS:Mopenmp}
+.if ${COMPILER_TYPE} == clang
+USE_GCC= yes
+CHOSEN_COMPILER_TYPE= gcc
+.endif
+.endif
+
+.if ${_COMPILER_ARGS:Mnestedfct}
+.if ${COMPILER_TYPE} == clang
+USE_GCC= any
+CHOSEN_COMPILER_TYPE= gcc
+.endif
+.endif
+
+.if ${_COMPILER_ARGS:Mfeatures}
+.if defined(_CXXINTERNAL_${_CXX_hash})
+_CXXINTERNAL= ${_CXXINTERNAL_${_CXX_hash}}
+.else
+_CXXINTERNAL!= ${CXX} -\#\#\# /dev/null 2>&1
+_CXXINTERNAL_${_CXX_hash}= ${_CXXINTERNAL}
+PORTS_ENV_VARS+= _CXXINTERNAL_${_CXX_hash}
+.endif
+.if ${_CXXINTERNAL:M\"-lc++\"}
+COMPILER_FEATURES= libc++
+.else
+COMPILER_FEATURES= libstdc++
+.endif
+
+CSTD= c89 c99 c11 gnu89 gnu99 gnu11
+CXXSTD= c++98 c++0x c++11 c++14 c++17 gnu++98 gnu++11 gnu++14 gnu++17
+
+.for std in ${CSTD} ${CXXSTD}
+_LANG=c
+.if ${CXXSTD:M${std}}
+_LANG=c++
+.endif
+.if defined(CC_OUTPUT_${_CC_hash}_${std:hash})
+OUTPUT_${std}= ${CC_OUTPUT_${_CC_hash}_${std:hash}}
+.else
+OUTPUT_${std}!= if ${CC} -std=${std} -c -x ${_LANG} /dev/null -o /dev/null 2>&1; then echo yes; fi; echo
+CC_OUTPUT_${_CC_hash}_${std:hash}= ${OUTPUT_${std}}
+PORTS_ENV_VARS+= CC_OUTPUT_${_CC_hash}_${std:hash}
+.endif
+.if !${OUTPUT_${std}:M*error*}
+COMPILER_FEATURES+= ${std}
+.endif
+.endfor
+.endif
+
+.if ${_COMPILER_ARGS:Mc++11-lib}
+.if !${COMPILER_FEATURES:Mc++11}
+USE_GCC= yes
+CHOSEN_COMPILER_TYPE= gcc
+.elif ${COMPILER_TYPE} == clang && ${COMPILER_FEATURES:Mlibstdc++}
+USE_GCC= yes
+CHOSEN_COMPILER_TYPE= gcc
+.endif
+.endif
+
+.if ${_COMPILER_ARGS:Mc++17-lang}
+.if !${COMPILER_FEATURES:Mc++17}
+.if (defined(FAVORITE_COMPILER) && ${FAVORITE_COMPILER} == gcc) || (${ARCH} != amd64 && ${ARCH} != i386) # clang not always supported on Tier-2
+USE_GCC= yes
+CHOSEN_COMPILER_TYPE= gcc
+.elif ${COMPILER_TYPE} == gcc
+.if ${ALT_COMPILER_TYPE} == clang
+CPP= clang-cpp
+CC= clang
+CXX= clang++
+CHOSEN_COMPILER_TYPE= clang
+.else
+BUILD_DEPENDS+= ${LOCALBASE}/bin/clang60:devel/llvm60
+CPP= ${LOCALBASE}/bin/clang-cpp60
+CC= ${LOCALBASE}/bin/clang60
+CXX= ${LOCALBASE}/bin/clang++60
+CHOSEN_COMPILER_TYPE= clang
+.endif
+.endif
+.endif
+.endif
+
+.if ${_COMPILER_ARGS:Mc++14-lang}
+.if !${COMPILER_FEATURES:Mc++14}
+.if (defined(FAVORITE_COMPILER) && ${FAVORITE_COMPILER} == gcc) || (${ARCH} != amd64 && ${ARCH} != i386) # clang not always supported on Tier-2
+USE_GCC= yes
+CHOSEN_COMPILER_TYPE= gcc
+.elif ${COMPILER_TYPE} == gcc
+.if ${ALT_COMPILER_TYPE} == clang
+CPP= clang-cpp
+CC= clang
+CXX= clang++
+CHOSEN_COMPILER_TYPE= clang
+.else
+BUILD_DEPENDS+= ${LOCALBASE}/bin/clang60:devel/llvm60
+CPP= ${LOCALBASE}/bin/clang-cpp60
+CC= ${LOCALBASE}/bin/clang60
+CXX= ${LOCALBASE}/bin/clang++60
+CHOSEN_COMPILER_TYPE= clang
+.endif
+.endif
+.endif
+.endif
+
+.if ${_COMPILER_ARGS:Mc++11-lang}
+.if !${COMPILER_FEATURES:Mc++11}
+.if (defined(FAVORITE_COMPILER) && ${FAVORITE_COMPILER} == gcc) || (${ARCH} != amd64 && ${ARCH} != i386) # clang not always supported on Tier-2
+USE_GCC= yes
+CHOSEN_COMPILER_TYPE= gcc
+.elif ${COMPILER_TYPE} == gcc
+.if ${ALT_COMPILER_TYPE} == clang
+CPP= clang-cpp
+CC= clang
+CXX= clang++
+CHOSEN_COMPILER_TYPE= clang
+.else
+BUILD_DEPENDS+= ${LOCALBASE}/bin/clang60:devel/llvm60
+CPP= ${LOCALBASE}/bin/clang-cpp60
+CC= ${LOCALBASE}/bin/clang60
+CXX= ${LOCALBASE}/bin/clang++60
+CHOSEN_COMPILER_TYPE= clang
+.endif
+.endif
+.endif
+.endif
+
+.if ${_COMPILER_ARGS:Mc++0x}
+.if !${COMPILER_FEATURES:Mc++0x}
+.if (defined(FAVORITE_COMPILER) && ${FAVORITE_COMPILER} == gcc) || (${ARCH} != amd64 && ${ARCH} != i386) # clang not always supported on Tier-2
+USE_GCC= yes
+CHOSEN_COMPILER_TYPE= gcc
+.elif ${COMPILER_TYPE} == gcc
+.if ${ALT_COMPILER_TYPE} == clang
+CPP= clang-cpp
+CC= clang
+CXX= clang++
+CHOSEN_COMPILER_TYPE= clang
+.else
+BUILD_DEPENDS+= ${LOCALBASE}/bin/clang60:devel/llvm60
+CHOSEN_COMPILER_TYPE= clang
+CPP= ${LOCALBASE}/bin/clang-cpp60
+CC= ${LOCALBASE}/bin/clang60
+CXX= ${LOCALBASE}/bin/clang++60
+.endif
+.endif
+.endif
+.endif
+
+.if ${_COMPILER_ARGS:Mc11}
+.if !${COMPILER_FEATURES:Mc11}
+.if (defined(FAVORITE_COMPILER) && ${FAVORITE_COMPILER} == gcc) || (${ARCH} != amd64 && ${ARCH} != i386) # clang not always supported on Tier-2
+USE_GCC= yes
+CHOSEN_COMPILER_TYPE= gcc
+.elif ${COMPILER_TYPE} == gcc
+.if ${ALT_COMPILER_TYPE} == clang
+CPP= clang-cpp
+CC= clang
+CXX= clang++
+CHOSEN_COMPILER_TYPE= clang
+.else
+BUILD_DEPENDS+= ${LOCALBASE}/bin/clang60:devel/llvm60
+CHOSEN_COMPILER_TYPE= clang
+CPP= ${LOCALBASE}/bin/clang-cpp60
+CC= ${LOCALBASE}/bin/clang60
+CXX= ${LOCALBASE}/bin/clang++60
+.endif
+.endif
+.endif
+.endif
+
+.if ${_COMPILER_ARGS:Mgcc-c++11-lib}
+USE_GCC= yes
+CHOSEN_COMPILER_TYPE= gcc
+.if ${COMPILER_FEATURES:Mlibc++}
+CXXFLAGS+= -nostdinc++ -isystem /usr/include/c++/v1
+LDFLAGS+= -L${WRKDIR}
+
+_USES_configure+= 200:gcc-libc++-configure
+gcc-libc++-configure:
+ @${LN} -fs /usr/lib/libc++.so ${WRKDIR}/libstdc++.so
+.endif
+.endif
+
+.endif
diff --git a/test-ports/Mk/Uses/corosync.mk b/test-ports/Mk/Uses/corosync.mk
new file mode 100644
index 00000000..a6a57366
--- /dev/null
+++ b/test-ports/Mk/Uses/corosync.mk
@@ -0,0 +1,42 @@
+# $FreeBSD: head/Mk/Uses/corosync.mk 470799 2018-05-24 18:24:50Z flo $
+#
+# Provide support for corosync ports
+#
+# Feature: corosync
+# Usage: USES=coroync
+#
+# MAINTAINER: dpejesh@yahoo.com
+
+.if !defined(_INCLUDE_USES_COROSYNC_MK)
+_INCLUDE_USES_COROSYNC_MK= yes
+
+# When adding a version, please keep the comment in
+# Mk/bsd.default-versions.mk in sync.
+_VALID_COROSYNC_VER= 2 3
+
+.if ! ${_VALID_COROSYNC_VER:M${COROSYNC_DEFAULT}}
+IGNORE= Invalid corosync default version ${COROSYNC_DEFAULT}; valid versions are ${_VALID_COROSYNC_VER}
+.endif
+
+.if exists(${LOCALBASE}/sbin/corosync)
+_COROSYNC_INSTALLED_VER!= ${LOCALBASE}/sbin/corosync -v 2>/dev/null
+_COROSYNC_INSTALLED_VER:= ${_COROSYNC_INSTALLED_VER:M'*':C/'//g}
+_COROSYNC_INSTALLED_VER_MAJOR= ${_COROSYNC_INSTALLED_VER:C/([0-9]*).[0-9]*.*/\1/g}
+_COROSYNC_INSTALLED_VER_MINOR= ${_COROSYNC_INSTALLED_VER:C/[0-9]*.([0-9]*).*/\1/g}
+
+# Currently corosync 3 is tagged 2.99.x so this is a temporary
+# work around until the final version is released.
+. if ${_COROSYNC_INSTALLED_VER_MAJOR} == 2 && ${_COROSYNC_INSTALLED_VER_MINOR} == 99
+_COROSYNC_INSTALLED_VER_MAJOR= 3
+_COROSYNC_INSTALLED_VER_MINOR= 0
+. endif
+
+. if ${COROSYNC_DEFAULT} != ${_COROSYNC_INSTALLED_VER_MAJOR}
+IGNORE= DEFAULT_VERSIONS=corosync=${COROSYNC_DEFAULT} but ${_COROSYNC_INSTALLED_VER} is installed
+. endif
+.endif
+
+BUILD_DEPENDS+= corosync:net/corosync${COROSYNC_DEFAULT}
+RUN_DEPENDS+= corosync:net/corosync${COROSYNC_DEFAULT}
+
+.endif
diff --git a/test-ports/Mk/Uses/cpe.mk b/test-ports/Mk/Uses/cpe.mk
new file mode 100644
index 00000000..071bce49
--- /dev/null
+++ b/test-ports/Mk/Uses/cpe.mk
@@ -0,0 +1,41 @@
+# $FreeBSD: head/Mk/Uses/cpe.mk 440110 2017-05-04 14:58:54Z mat $
+#
+# Include CPE information in package manifest as a CPE 2.3 formatted
+# string. See http://scap.nist.gov/specifications/cpe/ for details.
+#
+# CPE_PART Defaults to "a" for "application".
+# CPE_VENDOR Defaults to same as ${CPE_PRODUCT} (below).
+# CPE_PRODUCT Defaults to ${PORTNAME}.
+# CPE_VERSION Defaults to ${PORTVERSION}.
+# CPE_UPDATE Defaults to empty.
+# CPE_EDITION Defaults to empty.
+# CPE_LANG Defaults to empty.
+# CPE_SW_EDITION Defaults to empty.
+# CPE_TARGET_SW Defaults to the operating system name and version
+# CPE_TARGET_HW Defaults to x86 for i386, x64 for amd64, and
+# otherwise ${ARCH}.
+# CPE_OTHER Defaults to ${PORTREVISION} if non-zero.
+#
+# MAINTAINER: ports-secteam@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_CPE_MK)
+_INCLUDE_USES_CPE_MK= yes
+
+CPE_PART ?= a
+CPE_PRODUCT ?= ${PORTNAME:tl}
+CPE_VENDOR ?= ${CPE_PRODUCT}
+CPE_VERSION ?= ${PORTVERSION:tl}
+CPE_UPDATE ?=
+CPE_EDITION ?=
+CPE_LANG ?=
+CPE_SW_EDITION ?=
+CPE_TARGET_SW ?= ${OPSYS:tl}${OSREL:C/\..*//}
+CPE_TARGET_HW ?= ${ARCH:S/i386/x86/:S/amd64/x64/}
+CPE_OTHER ?= ${PORTREVISION:N0}
+_CPE_STR = cpe:2.3:${CPE_PART}:${CPE_VENDOR}:${CPE_PRODUCT}:${CPE_VERSION}:${CPE_UPDATE}:${CPE_EDITION}:${CPE_LANG}:${CPE_SW_EDITION}:${CPE_TARGET_SW}:${CPE_TARGET_HW}:${CPE_OTHER}
+CPE_STR ?= ${_CPE_STR:C/:+$//}
+
+PKG_NOTES += cpe
+PKG_NOTE_cpe = ${CPE_STR}
+
+.endif
diff --git a/test-ports/Mk/Uses/cran.mk b/test-ports/Mk/Uses/cran.mk
new file mode 100644
index 00000000..8353732b
--- /dev/null
+++ b/test-ports/Mk/Uses/cran.mk
@@ -0,0 +1,78 @@
+# $FreeBSD: head/Mk/Uses/cran.mk 458513 2018-01-09 07:40:55Z mat $
+#
+# Use the Comprehensive R Archive Network
+#
+# Feature: cran
+# Usage: USES=cran or USES=cran:ARGS
+# Valid ARGS: auto-plist, compiles
+#
+# auto-plist The pkg-plist is to be automatically generated
+# compiles The port has code that needs to be compiled
+#
+# MAINTAINER= dbn@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_CRAN_MK)
+_INCLUDE_USES_CRAN_MK= yes
+
+MASTER_SITES?= CRAN/src/contrib CRAN_ARCHIVE/src/contrib
+
+BUILD_DEPENDS+= ${LOCALBASE}/bin/R:math/R
+RUN_DEPENDS+= ${LOCALBASE}/bin/R:math/R
+
+PKGNAMEPREFIX?= R-cran-
+
+R_LIB_DIR= lib/R/library
+R_MOD_DIR?= ${R_LIB_DIR}/${PORTNAME}
+PLIST_SUB+= R_MOD_DIR=${R_MOD_DIR}
+WRKSRC?= ${WRKDIR}/${PORTNAME}
+
+NO_BUILD= yes
+R_COMMAND= ${LOCALBASE}/bin/R
+
+.if !target(do-test)
+R_POSTCMD_CHECK_OPTIONS?= --timings
+
+.if !exists(${LOCALBASE}/bin/pdflatex)
+R_POSTCMD_CHECK_OPTIONS+= --no-manual --no-build-vignettes
+.endif
+
+do-test:
+ @${FIND} ${WRKSRC} \( -name '*.o' -o -name '*.so' \) -delete
+ @cd ${WRKDIR} ; ${SETENV} ${MAKE_ENV} _R_CHECK_FORCE_SUGGESTS_=FALSE \
+ ${R_COMMAND} ${R_PRECMD_CHECK_OPTIONS} CMD check \
+ ${R_POSTCMD_CHECK_OPTIONS} ${PORTNAME}
+.endif
+
+.if !target(do-install)
+R_POSTCMD_INSTALL_OPTIONS+= -l ${STAGEDIR}${PREFIX}/${R_LIB_DIR}
+R_POSTCMD_INSTALL_OPTIONS+= --install-tests
+
+.if empty(PORT_OPTIONS:MDOCS)
+R_POSTCMD_INSTALL_OPTIONS+= --no-docs --no-html
+.endif
+
+do-install:
+ @${MKDIR} ${STAGEDIR}${PREFIX}/${R_LIB_DIR}
+ @cd ${WRKDIR} ; ${SETENV} ${MAKE_ENV} ${R_COMMAND} \
+ ${R_PRECMD_INSTALL_OPTIONS} CMD INSTALL \
+ ${R_POSTCMD_INSTALL_OPTIONS} ${PORTNAME}
+.endif
+
+.if ${cran_ARGS:Mauto-plist}
+_USES_install+= 750:cran-auto-plist
+cran-auto-plist:
+ @${FIND} -ds ${STAGEDIR}${PREFIX}/${R_MOD_DIR} \( -type f -or -type l \) -print | \
+ ${SED} -E -e 's,^${STAGEDIR}${PREFIX}/?,,' >> ${TMPPLIST}
+.endif
+
+.if ${cran_ARGS:Mcompiles}
+_USES_install+= 755:cran-strip
+cran-strip:
+ ${FIND} ${STAGEDIR}${PREFIX}/${R_MOD_DIR} -name '*.so' -exec ${STRIP_CMD} {} +
+.include "${PORTSDIR}/math/R/compiler.mk"
+.include "${USESDIR}/fortran.mk"
+.else
+NO_ARCH= yes
+.endif
+
+.endif #_INCLUDE_USES_CRAN_MK
diff --git a/test-ports/Mk/Uses/desktop-file-utils.mk b/test-ports/Mk/Uses/desktop-file-utils.mk
new file mode 100644
index 00000000..40a1f866
--- /dev/null
+++ b/test-ports/Mk/Uses/desktop-file-utils.mk
@@ -0,0 +1,22 @@
+# $FreeBSD: head/Mk/Uses/desktop-file-utils.mk 411970 2016-03-27 01:23:25Z bapt $
+#
+# handle dependency depends on desktop-file-utils and package regen
+#
+# Feature: desktop-file-utils
+# Usage: USES=desktop-file-utils
+# Valid ARGS: does not require args
+#
+# MAINTAINER: gnome@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_DESKTOP_FILE_UTILS_MK)
+_INCLUDE_USES_DESKTOP_FILE_UTILS_MK= yes
+
+.if !empty(desktop-file-utils_ARGS)
+IGNORE= USES=desktop-file-utils does not require args
+.endif
+
+BUILD_DEPENDS+= update-desktop-database:devel/desktop-file-utils
+RUN_DEPENDS+= update-desktop-database:devel/desktop-file-utils
+PLIST_FILES+= "@desktop-file-utils"
+
+.endif
diff --git a/test-ports/Mk/Uses/desthack.mk b/test-ports/Mk/Uses/desthack.mk
new file mode 100644
index 00000000..da137c5f
--- /dev/null
+++ b/test-ports/Mk/Uses/desthack.mk
@@ -0,0 +1,20 @@
+# $FreeBSD: head/Mk/Uses/desthack.mk 369465 2014-09-28 16:36:31Z tijl $
+#
+# Handle gnu configure that does not properly support DESTDIR
+#
+# Feature: desthack
+# Usage: USES=desthack
+# Valid ARGS: none
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_DESTHACK_MK)
+_INCLUDE_USES_DESTHACK_MK= yes
+
+.if !empty(desthack_ARGS)
+IGNORE= USES=desthack does not require args
+.endif
+
+GNU_CONFIGURE_PREFIX= \$${${DESTDIRNAME}}${PREFIX}
+GNU_CONFIGURE_MANPREFIX= \$${${DESTDIRNAME}}${MANPREFIX}
+.endif
diff --git a/test-ports/Mk/Uses/display.mk b/test-ports/Mk/Uses/display.mk
new file mode 100644
index 00000000..af11c4f7
--- /dev/null
+++ b/test-ports/Mk/Uses/display.mk
@@ -0,0 +1,37 @@
+# $FreeBSD: head/Mk/Uses/display.mk 411970 2016-03-27 01:23:25Z bapt $
+#
+# Feature: display
+# Usage: USES=display or USES=display:ARGS
+# Valid ARGS: install (default, implicit), any target
+#
+# Except the target where the DISPLAY is needed
+#
+# MAINTAINER: x11@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_DISPLAY_MK)
+_INCLUDE_USES_DISPLAY_MK= yes
+
+.if empty(display_ARGS)
+display_ARGS= install
+.endif
+
+.if !defined(DISPLAY)
+BUILD_DEPENDS+= Xvfb:x11-servers/xorg-vfbserver \
+ ${LOCALBASE}/share/fonts/misc/8x13O.pcf.gz:x11-fonts/xorg-fonts-miscbitmaps \
+ ${LOCALBASE}/share/fonts/misc/fonts.alias:x11-fonts/font-alias \
+ ${LOCALBASE}/share/X11/xkb/rules/base:x11/xkeyboard-config \
+ xkbcomp:x11/xkbcomp
+
+XVFBPORT!= port=0; while test -S /tmp/.X11-unix/X$${port} ; do port=$$(( port + 1 )) ; done ; ${ECHO_CMD} $$port
+XVFBPIDFILE= /tmp/.xvfb-${XVFBPORT}.pid
+MAKE_ENV+= DISPLAY=":${XVFBPORT}"
+
+_USES_${display_ARGS}+= 290:start-display 860:stop-display
+start-display:
+ daemon -p ${XVFBPIDFILE} Xvfb :${XVFBPORT}
+
+stop-display:
+ pkill -15 -F ${XVFBPIDFILE}
+
+.endif
+.endif
diff --git a/test-ports/Mk/Uses/dos2unix.mk b/test-ports/Mk/Uses/dos2unix.mk
new file mode 100644
index 00000000..87ba85ce
--- /dev/null
+++ b/test-ports/Mk/Uses/dos2unix.mk
@@ -0,0 +1,46 @@
+# $FreeBSD: head/Mk/Uses/dos2unix.mk 479778 2018-09-14 18:27:20Z tobik $
+#
+# Provide support to convert files from dos2unix
+#
+# DOS2UNIX_REGEX a regular expression to match files that needs to be converted
+# DOS2UNIX_FILES list of files of glob pattern relative to ${WRKSRC}
+# DOS2UNIX_GLOB list of glob pattern find(1) will match with
+# DOS2UNIX_WRKSRC top-level path for directory traversal instead of ${WRKSRC}
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_DOS2UNIX_MK)
+_INCLUDE_USES_DOS2UNIX_MK= yes
+
+.if !empty(dos2unix_ARGS)
+IGNORE= USES=dos2unix takes no arguments
+.endif
+
+.if !defined(DOS2UNIX_FILES) && !defined(DOS2UNIX_REGEX) && !defined(DOS2UNIX_GLOB)
+_DOS2UNIX_ALL= yes
+.endif
+
+DOS2UNIX_WRKSRC?= ${WRKSRC}
+
+_USES_patch+= 200:dos2unix
+dos2unix:
+ @${ECHO_MSG} "===> Converting DOS text files to UNIX text files"
+.if defined(_DOS2UNIX_ALL)
+ @${FIND} ${DOS2UNIX_WRKSRC} -type f -print0 | \
+ ${XARGS} -0 ${SED} -i '' -e 's/ $$//'
+.else
+.if defined(DOS2UNIX_FILES)
+ @(cd ${DOS2UNIX_WRKSRC}; \
+ ${ECHO_CMD} ${DOS2UNIX_FILES} | ${XARGS} ${SED} -i '' -e 's/ $$//' )
+.elif defined(DOS2UNIX_REGEX)
+ @${FIND} -E ${DOS2UNIX_WRKSRC} -type f -iregex '${DOS2UNIX_REGEX}' -print0 | \
+ ${XARGS} -0 ${SED} -i '' -e 's/ $$//'
+.else
+.for f in ${DOS2UNIX_GLOB}
+ @${FIND} ${DOS2UNIX_WRKSRC} -type f -name '${f}' -print0 | \
+ ${XARGS} -0 ${SED} -i '' -e 's/ $$//'
+.endfor
+.endif
+.endif
+
+.endif
diff --git a/test-ports/Mk/Uses/drupal.mk b/test-ports/Mk/Uses/drupal.mk
new file mode 100644
index 00000000..22504f10
--- /dev/null
+++ b/test-ports/Mk/Uses/drupal.mk
@@ -0,0 +1,117 @@
+# $FreeBSD: head/Mk/Uses/drupal.mk 417053 2016-06-18 08:22:11Z rene $
+#
+# Support for Drupal ports and modules.
+#
+# Feature: drupal
+# Usage: USES=drupal or USES=drupal:ARGS
+# Valid ARGS: module <version> theme
+#
+# module The port is a drupal module
+#
+# MAINTAINER: ports@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_DRUPAL_Mk)
+_INCLUDE_USES_DRUPAL_Mk= yes
+
+.if ${drupal_ARGS:M[7]}
+_DRUPAL_VERSION= ${drupal_ARGS:M[7]}
+.endif
+
+VALID_VERSIONS= 7
+
+.if ${drupal_ARGS:N[7]:Ntheme:Nmodule}
+IGNORE= Unknown argument for USES=drupal: ${drupal_ARGS:N[7]:Ntheme:Nmodule}
+.endif
+
+_DRUPAL_COMP= ${drupal_ARGS:N[7]}
+
+.if !defined(_DRUPAL_VERSION) || ! ${VALID_VERSIONS:M${_DRUPAL_VERSION}}
+IGNORE= Missing or invalid argument for USES=drupal, a version must be provided: ${VALID_VERSIONS}
+.endif
+
+.if ${drupal_ARGS:Mmodule} && ${drupal_ARGS:Mtheme}
+IGNORE= theme and module arguments are mutually exclusive for USES=drupal
+.endif
+
+DRUPAL_BASE?= www/drupal${_DRUPAL_VERSION}
+
+DRUPAL_DIR= ${PREFIX}/${DRUPAL_BASE}
+DRUPAL_DOCSDIR?= ${PREFIX}/${DRUPAL_BASE}/doc
+PLIST_SUB+= DRUPAL_BASE=${DRUPAL_BASE}
+SUB_LIST+= DRUPAL_BASE=${DRUPAL_BASE} DRUPAL_DIR=${DRUPAL_DIR}
+
+.if ! ${_DRUPAL_COMP}
+DOCSDIR?= ${DRUPAL_DOCSDIR}
+.endif
+
+.if ${_DRUPAL_COMP}
+_USES_POST+= drupal
+PKGNAMEPREFIX= drupal${_DRUPAL_VERSION}-
+
+# drupal contributions must be licensed under the GPLv2 or GPLv3. This is
+# documented at: http://drupal.org/licensing/faq/
+.if !defined(LICENSE)
+LICENSE= GPLv2 GPLv3
+LICENSE_COMB= dual
+.endif
+
+.if defined(DRUPAL_MODSUBDIR)
+DRUPAL_MODDIR?= ${DRUPAL_BASE}/sites/all/${_DRUPAL_COMP}s/${DRUPAL_MODSUBDIR}
+.else
+DRUPAL_MODDIR?= ${DRUPAL_BASE}/sites/all/${_DRUPAL_COMP}s
+.endif
+
+DRUPAL_MODLIB?= ${DRUPAL_BASE}/sites/all/libraries
+
+DOCSDIR?= ${DRUPAL_DOCSDIR}/${PORTNAME}
+
+MASTER_SITE_DRUPAL+= \
+ http://ftp.drupal.org/files/projects/ \
+ http://ftp.osuosl.org/pub/drupal/files/projects/
+MASTER_SITE_DRUPAL_SUBDIR=
+
+MASTER_SITES?= ${MASTER_SITE_DRUPAL}
+MASTER_SITE_SUBDIR?= ${MASTER_SITE_DRUPAL_SUBDIR}
+
+DIST_SUBDIR= drupal
+
+NO_BUILD?= yes
+
+WRKSRC?= ${WRKDIR}/${PORTNAME}
+RUN_DEPENDS+= ${LOCALBASE}/${DRUPAL_BASE}/index.php:${DRUPAL_BASE}
+
+PLIST_SUB+= DRUPAL_MODDIR=${DRUPAL_MODDIR}
+PLIST_FILES+= "@owner www" \
+ "@group www" \
+ ${MODULE_FILES:C|^|%%DRUPAL_MODDIR%%/|} \
+ "@owner root" \
+ "@group wheel"
+PLIST_DIRS+= ${MODULE_DIRS:C|^|%%DRUPAL_MODDIR%%/|}
+.endif
+.endif
+
+.if defined(_POSTMKINCLUDED) && !defined(_INCLUDE_USES_DRUPAL_POST_MK)
+_INCLUDE_USES_DRUPAL_POST_MK= yes
+
+.if ${_DRUPAL_COMP}
+.if ${PORT_OPTIONS:MDOCS}
+PLIST_FILES+= ${DOC_FILES:C|^|%%DOCSDIR%%/|}
+PLIST_DIRS+= ${DOC_DIRS:C|^|%%DOCSDIR%%/|}
+PLIST_DIRS+= %%DOCSDIR%%
+.endif
+
+do-install:
+ @${MKDIR} ${DRUPAL_MODDIR:C|^|${STAGEDIR}${PREFIX}/|}
+.if defined(MODULE_DIRS)
+ @${MKDIR} ${MODULE_DIRS:C|^|${STAGEDIR}${PREFIX}/${DRUPAL_MODDIR}/|}
+.endif
+.for f in ${MODULE_FILES}
+ @${INSTALL_DATA} ${WRKSRC}/${f} ${STAGEDIR}${PREFIX}/${DRUPAL_MODDIR}/${f}
+.endfor
+ @${MKDIR} ${STAGEDIR}${DOCSDIR} ${DOC_DIRS:C|^|${STAGEDIR}${DOCSDIR}/|}
+.for f in ${DOC_FILES}
+ @${INSTALL_DATA} ${WRKSRC}/${f} ${STAGEDIR}${DOCSDIR}/${f}
+.endfor
+
+.endif
+.endif
diff --git a/test-ports/Mk/Uses/eigen.mk b/test-ports/Mk/Uses/eigen.mk
new file mode 100644
index 00000000..afcd902e
--- /dev/null
+++ b/test-ports/Mk/Uses/eigen.mk
@@ -0,0 +1,55 @@
+# $FreeBSD: head/Mk/Uses/eigen.mk 457914 2018-01-02 16:49:24Z tcberner $
+#
+# Handle dependency on eigen
+#
+# Feature: eigen
+# Usage: USES=eigen:ARGS
+# Valid ARGS: <version>,[build,run]
+#
+# version The chooseable versions are 2 and 3.
+# USES=eigen:2 # Use eigen 2.x
+# USES=eigen:3 # Use eigen 3.x
+#
+# build Add build depends [default]
+# run Add run depends
+#
+# MAINTAINER: kde@FreeBSD.org
+#
+
+.if ! defined(_INCLUDE_USES_EIGEN_MK)
+_INCLUDE_USES_EIGEN_MK= YES
+
+_EIGEN_SUPPORTED= 2 3
+
+_eigen_version= #
+. for _ver in ${_EIGEN_SUPPORTED:O:u}
+. if ${eigen_ARGS:M${_ver}}
+. if empty(_eigen_version)
+_eigen_version= ${_ver}
+. else
+IGNORE= Incorrect USES=eigen:${eigen_ARGS} - multiple versions defined
+. endif
+. endif
+. endfor
+
+. if empty(_eigen_version)
+IGNORE= Incorrect USES=eigen:${eigen_ARGS} - no version defined
+. endif
+
+# Export the version of the chosen eigen port
+_EIGEN_PORT= math/eigen${_eigen_version}
+_EIGEN_PATH= ${LOCALBASE}/libdata/pkgconfig/eigen${_eigen_version}.pc
+_EIGEN_DEP= ${_EIGEN_PATH}:${_EIGEN_PORT}
+
+# Append the correct BUILD-/RUN_DEPENDS
+. if empty(eigen_ARGS:Mbuild) && empty(eigen_ARGS:Mrun)
+eigen_ARGS+= build
+. endif
+. if ! empty(eigen_ARGS:Mbuild)
+BUILD_DEPENDS+= ${_EIGEN_DEP}
+. endif
+. if ! empty(eigen_ARGS:Mrun)
+RUN_DEPENDS+= ${_EIGEN_DEP}
+. endif
+
+.endif
diff --git a/test-ports/Mk/Uses/elixir.mk b/test-ports/Mk/Uses/elixir.mk
new file mode 100644
index 00000000..c0ef1eb7
--- /dev/null
+++ b/test-ports/Mk/Uses/elixir.mk
@@ -0,0 +1,126 @@
+# $FreeBSD: head/Mk/Uses/elixir.mk 439368 2017-04-25 08:34:26Z olgeni $
+#
+# Handle Elixir related ports
+#
+# Feature: elixir
+# Usage: USES=elixir
+# Valid ARGS: does not require args
+#
+# Additional variables:
+#
+# ELIXIR_APP_NAME - Elixir app name as installed in Elixir's lib directory
+# ELIXIR_LIB_ROOT - Elixir default library path
+# ELIXIR_APP_ROOT - Root directory for this Elixir app
+# ELIXIR_HIDDEN - Applications to be hidden from the code path; usually ${PORTNAME}
+# ELIXIR_LOCALE - An UTF-8 locale to be used by Elixir during builds (any UTF-8 locale is good)
+# MIX_CMD - The "mix" command
+# MIX_COMPILE - The "mix" command used to compile an Elixir app
+# MIX_REWRITE - Automatically replace Mix dependencies with code paths
+# MIX_BUILD_DEPS - List of BUILD_DEPENDS in category/portname format
+# (commonly referenced to as "deps" in Erlang and Elixir)
+# MIX_RUN_DEPS - List of RUN_DEPENDS in category/portname format
+# MIX_DOC_DIRS - Extra doc directories to be installed in DOCSDIR
+# MIX_DOC_FILES - Extra doc files to be installed in DOCSDIR (usually README.md)
+# MIX_ENV - Environment for the Mix build (same format as MAKE_ENV)
+# MIX_ENV_NAME - Name of the Mix build environment, usually "prod"
+# MIX_BUILD_NAME - Name of the build output in _build/, usually ${MIX_ENV_NAME}
+# MIX_TARGET - Name of the Mix target, usually "compile"
+# MIX_EXTRA_APPS - List of sub-applications to be built, if any
+# MIX_EXTRA_DIRS - List of extra directories to be installed in ELIXIR_APP_ROOT
+# MIX_EXTRA_FILES - List of extra files to be installed in ELIXIR_APP_ROOT
+#
+# MAINTAINER: olgeni@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_ELIXIR_MK)
+_INCLUDE_USES_ELIXIR_MK=yes
+
+.if !empty(elixir_ARGS)
+IGNORE= USES=elixir does not require args
+.endif
+
+ELIXIR_APP_NAME?= ${PORTNAME}
+ELIXIR_LIB_ROOT?= ${LOCALBASE}/lib/elixir/lib
+ELIXIR_APP_ROOT?= ${PREFIX}/lib/elixir/lib/${ELIXIR_APP_NAME}
+ELIXIR_HIDDEN?= "^${ELIXIR_APP_NAME}$$"
+ELIXIR_LOCALE?= en_US.UTF-8
+MIX_CMD?= ${LOCALBASE}/bin/mix
+MIX_COMPILE?= ${SETENV} ${MIX_ENV} LANG=${ELIXIR_LOCALE} LC_ALL=${ELIXIR_LOCALE} MIX_ENV=${MIX_ENV_NAME} ELIXIR_HIDDEN=${ELIXIR_HIDDEN} ${MIX_CMD} ${MIX_TARGET}
+MIX_REWRITE?=
+MIX_BUILD_DEPS?=
+MIX_RUN_DEPS?=
+MIX_DOC_DIRS?=
+MIX_DOC_FILES?= README.md
+MIX_ENV?=
+MIX_ENV_NAME?= prod
+MIX_BUILD_NAME?= prod
+MIX_TARGET?= compile
+MIX_EXTRA_APPS?=
+MIX_EXTRA_DIRS?=
+MIX_EXTRA_FILES?=
+
+BUILD_DEPENDS+= elixir:lang/elixir
+RUN_DEPENDS+= elixir:lang/elixir
+
+.for depend in ${MIX_BUILD_DEPS}
+BUILD_DEPENDS+= ${depend:T}>=0:${depend}
+.endfor
+
+.for depend in ${MIX_RUN_DEPS}
+RUN_DEPENDS+= ${depend:T}>=0:${depend}
+.endfor
+
+.if !target(do-build)
+do-build:
+.if ${MIX_REWRITE} != ""
+ @${REINPLACE_CMD} -i '' -E -e "s@\{.*(only|optional): .*},?@@" ${WRKSRC}/mix.exs
+.for depend in ${MIX_BUILD_DEPS}
+ @if [ $$(echo ${depend:T} | sed -e "s/erlang-//") != ${depend:T} ]; then \
+ ${REINPLACE_CMD} -i '' -E -e "s@\{ *:(${depend:T:S/erlang-//}), *(github:|\").*} *,?@@" ${WRKSRC}/mix.exs; \
+ else \
+ ${REINPLACE_CMD} -i '' -E -e "s@\{ *:(${depend:T:S/elixir-//}), *(github:|\").*}@{ :\1, path: \"${ELIXIR_LIB_ROOT}/\\1\", compile: false }@" ${WRKSRC}/mix.exs; \
+ fi
+.endfor
+.endif
+ @${RM} ${WRKSRC}/mix.lock
+ @cd ${WRKSRC} && ${MIX_COMPILE}
+.for app in ${MIX_EXTRA_APPS}
+ @${RM} ${WRKSRC}/${app}/mix.lock
+ @cd ${WRKSRC}/${app} && ${MIX_COMPILE}
+.endfor
+.endif # .if !target(do-build)
+
+.if !target(do-install)
+do-install:
+ @${MKDIR} ${STAGEDIR}${ELIXIR_APP_ROOT}
+ @${MKDIR} ${STAGEDIR}${ELIXIR_APP_ROOT}/lib
+ cd ${WRKSRC}/lib && ${COPYTREE_SHARE} \* ${STAGEDIR}${ELIXIR_APP_ROOT}/lib
+ @${MKDIR} ${STAGEDIR}${ELIXIR_APP_ROOT}/ebin
+ ${INSTALL_DATA} ${WRKSRC}/_build/${MIX_BUILD_NAME}/lib/${ELIXIR_APP_NAME}/ebin/* \
+ ${STAGEDIR}${ELIXIR_APP_ROOT}/ebin
+ if [ -d ${WRKSRC}/priv ]; then \
+ ${MKDIR} ${STAGEDIR}${ELIXIR_APP_ROOT}/priv; \
+ cd ${WRKSRC}/priv && ${COPYTREE_SHARE} \* ${STAGEDIR}${ELIXIR_APP_ROOT}/priv; \
+ fi
+.if ${MIX_DOC_FILES} != "" || ${MIX_DOC_DIRS} != ""
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+.endif
+.for file in ${MIX_DOC_FILES}
+ ${INSTALL_DATA} ${WRKSRC}/${file} ${STAGEDIR}${DOCSDIR}
+.endfor
+.for dir in ${MIX_DOC_DIRS}
+ cd ${WRKSRC} && ${COPYTREE_SHARE} ${dir} ${STAGEDIR}${DOCSDIR}
+.endfor
+.for file in ${MIX_EXTRA_FILES}
+ ${INSTALL_DATA} ${WRKSRC}/${file} ${STAGEDIR}${ELIXIR_APP_ROOT}
+.endfor
+.for dir in ${MIX_EXTRA_DIRS}
+ @${MKDIR} ${STAGEDIR}${ELIXIR_APP_ROOT}/${dir}
+ cd ${WRKSRC}/${dir} && ${COPYTREE_SHARE} . ${STAGEDIR}${ELIXIR_APP_ROOT}/${dir}
+.endfor
+.for app in ${MIX_EXTRA_APPS}
+ ${INSTALL_DATA} ${WRKSRC}/${app}/_build/${MIX_BUILD_NAME}/lib/*/ebin/* \
+ ${STAGEDIR}${ELIXIR_APP_ROOT}/ebin
+.endfor
+.endif # .if !target(do-install)
+
+.endif #!defined(_INCLUDE_USES_ELIXIR_MK)
diff --git a/test-ports/Mk/Uses/emacs.mk b/test-ports/Mk/Uses/emacs.mk
new file mode 100644
index 00000000..c8165c58
--- /dev/null
+++ b/test-ports/Mk/Uses/emacs.mk
@@ -0,0 +1,150 @@
+# $FreeBSD: head/Mk/Uses/emacs.mk 471190 2018-05-31 01:17:52Z jrm $
+#
+# Provide support for ports requiring Emacs. This includes flavors with proper
+# dependencies and useful variables.
+#
+# Feature: emacs
+# Usage: USES=emacs or USES=emacs:args
+# Valid ARGS: build, run, noflavors
+#
+# build Indicates that Emacs is required at build time.
+# run Indicates that Emacs is required at run time.
+# noflavors Prevents flavors. This is implied when there is no run
+# dependency on Emacs.
+#
+# If build and run are omitted from the argument list, Emacs will be added to
+# BUILD_DEPENDS and RUN_DEPENDS. EMACS_NO_DEPENDS can be set to prevent both
+# dependencies.
+#
+# Variables, which can be set in make.conf:
+# DEFAULT_VERSIONS+= The default flavor for Emacs ports (ports with
+# USES=emacs, but not the Emacs ports themselves)
+# can be added to DEFAULT_VERSIONS. For example,
+# DEFAULT_VERSIONS+= emacs=nox
+# Valid flavors: full canna nox devel_full devel_nox
+# Flavors specified on the command line take
+# precedence.
+#
+# Variables, which can be set by ports:
+# EMACS_FLAVORS_EXCLUDE: Do NOT build these Emacs flavors.
+# If EMACS_FLAVORS_EXCLUDE is not defined and
+# - there is a run dependency on Emacs
+# - the noflavors argument is not specified
+# then all valid Emacs flavors are assumed.
+#
+# EMACS_NO_DEPENDS: Do NOT add build or run dependencies on Emacs.
+# This will prevent flavors.
+#
+# Variables, which can be read by ports:
+# EMACS_CMD: Emacs command with full path (e.g. /usr/local/bin/emacs-26.1)
+# EMACS_FLAVOR: Used for dependencies (e.g. BUILD_DEPENDS= dash.el${EMACS_PKGNAMESUFFIX}>0:devel/dash@${EMACS_FLAVOR})
+# EMACS_LIBDIR: Emacs Library directory without ${PREFIX} (e.g. share/emacs)
+# EMACS_LIBDIR_WITH_VER: Library directory without ${PREFIX} including version (e.g. share/emacs/26.1)
+# EMACS_MAJOR_VER: Emacs major version (e.g. 26)
+# EMACS_PKGNAMESUFFIX: PKGNAMESUFFIX to distinguish Emacs flavors
+# EMACS_SITE_LISPDIR: Emacs site-lisp directory without ${PREFIX} (e.g. share/emacs/site-lisp)
+# EMACS_VER: Emacs version (e.g. 26.1)
+# EMACS_VERSION_SITE_LISPDIR: Include version (e.g. share/emacs/26.1/site-lisp)
+#-------------------------------------------------------------------------------
+#
+# MAINTAINER: emacs@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_EMACS_MK)
+_INCLUDE_USES_EMACS_MK= yes
+
+# Make sure that no dependency or some other environment variable
+# pollutes the build/run dependency detection
+.undef _EMACS_BUILD_DEP
+.undef _EMACS_RUN_DEP
+.undef _EMACS_NOFLAVORS
+_EMACS_ARGS= ${emacs_ARGS:S/,/ /g}
+.if ${_EMACS_ARGS:Mbuild}
+_EMACS_BUILD_DEP= yes
+_EMACS_ARGS:= ${_EMACS_ARGS:Nbuild}
+.endif
+.if ${_EMACS_ARGS:Mrun}
+_EMACS_RUN_DEP= yes
+_EMACS_ARGS:= ${_EMACS_ARGS:Nrun}
+.endif
+.if ${_EMACS_ARGS:Mnoflavors}
+_EMACS_NOFLAVORS= yes
+_EMACS_ARGS:= ${_EMACS_ARGS:Nnoflavors}
+.endif
+
+# If the port does not specify a build or run dependency, and does not define
+# EMACS_NO_DEPENDS, assume both dependencies are required.
+.if !defined(_EMACS_BUILD_DEP) && !defined(_EMACS_RUN_DEP) && \
+ !defined(EMACS_NO_DEPENDS)
+_EMACS_BUILD_DEP= yes
+_EMACS_RUN_DEP= yes
+.endif
+
+# Only set FLAVORS when...
+.if defined(_EMACS_RUN_DEP) && !defined(_EMACS_NOFLAVORS)
+FLAVORS= full canna nox devel_full devel_nox
+.for flavor in ${EMACS_FLAVORS_EXCLUDE}
+FLAVORS:= ${FLAVORS:N${flavor}}
+.endfor
+.endif
+
+# Only set FLAVOR when...
+.if defined(_EMACS_RUN_DEP) && !defined(_EMACS_NOFLAVORS) && empty(FLAVOR)
+.if defined(EMACS_DEFAULT)
+FLAVOR= ${EMACS_DEFAULT}
+.else
+FLAVOR= ${FLAVORS:[1]}
+.endif # defined(EMACS_DEFAULT)
+.endif # !defined(_EMACS_NOFLAVORS) && defined(_EMACS_RUN_DEP) && empty(FLAVOR)
+
+.if !empty(FLAVOR)
+EMACS_FLAVOR= ${FLAVOR}
+.else
+EMACS_FLAVOR= full
+.endif
+
+.if ${FLAVOR:Mdevel*}
+EMACS_VER= 27.0.50
+EMACS_PORTDIR= editors/emacs-devel
+.else
+EMACS_VER= 26.1
+EMACS_PORTDIR= editors/emacs
+.endif
+
+EMACS_MAJOR_VER= ${EMACS_VER:C/\..*//}
+EMACS_LIBDIR= share/emacs
+EMACS_LIBDIR_WITH_VER= share/emacs/${EMACS_VER}
+EMACS_PORT_NAME= emacs${EMACS_MAJOR_VER}
+
+.if ${FLAVOR:M*nox}
+EMACS_PKGNAMESUFFIX= -${EMACS_PORT_NAME}_nox
+.elif ${FLAVOR:Mcanna}
+EMACS_PKGNAMESUFFIX= -${EMACS_PORT_NAME}_canna
+.else
+EMACS_PKGNAMESUFFIX= -${EMACS_PORT_NAME}
+.endif
+
+EMACS_CMD= ${PREFIX}/bin/emacs-${EMACS_VER}
+EMACS_SITE_LISPDIR= ${EMACS_LIBDIR}/site-lisp
+EMACS_VERSION_SITE_LISPDIR= ${EMACS_LIBDIR_WITH_VER}/site-lisp
+
+.if defined(_EMACS_BUILD_DEP)
+BUILD_DEPENDS+= ${EMACS_CMD}:${EMACS_PORTDIR}@${EMACS_FLAVOR:C/devel_//}
+.endif
+.if defined(_EMACS_RUN_DEP)
+RUN_DEPENDS+= ${EMACS_CMD}:${EMACS_PORTDIR}@${EMACS_FLAVOR:C/devel_//}
+.endif
+
+MAKE_ARGS+= EMACS=${EMACS_CMD}
+SCRIPTS_ENV+= EMACS_LIBDIR=${EMACS_LIBDIR} \
+ EMACS_VER=${EMACS_VER} \
+ EMACS_LIBDIR_WITH_VER=${EMACS_LIBDIR_WITH_VER} \
+ EMACS_SITE_LISPDIR=${EMACS_SITE_LISPDIR} \
+ EMACS_VERSION_SITE_LISPDIR=${EMACS_VERSION_SITE_LISPDIR}
+
+PLIST_SUB+= EMACS_LIBDIR=${EMACS_LIBDIR} \
+ EMACS_VER=${EMACS_VER} \
+ EMACS_LIBDIR_WITH_VER=${EMACS_LIBDIR_WITH_VER} \
+ EMACS_SITE_LISPDIR=${EMACS_SITE_LISPDIR} \
+ EMACS_VERSION_SITE_LISPDIR=${EMACS_VERSION_SITE_LISPDIR}
+
+.endif # _INCLUDE_USES_EMACS_MK
diff --git a/test-ports/Mk/Uses/erlang.mk b/test-ports/Mk/Uses/erlang.mk
new file mode 100644
index 00000000..e1749919
--- /dev/null
+++ b/test-ports/Mk/Uses/erlang.mk
@@ -0,0 +1,138 @@
+# $FreeBSD: head/Mk/Uses/erlang.mk 424411 2016-10-21 12:51:40Z mat $
+#
+# Handle Erlang related ports
+#
+# Feature: erlang
+# Usage: USES=erlang
+# Valid ARGS: rebar, rebar3, or no argument (custom build)
+#
+# Additional variables:
+#
+# ERL_APP_NAME - Erlang app name as installed in Erlang's lib dir (minus version)
+# ERL_APP_ROOT - Root directory for this Erlang app
+# REBAR_CMD - Path to the "rebar" command
+# REBAR3_CMD - Path to the "rebar3" command
+# REBAR_PROFILE - Rebar profile
+# REBAR_TARGETS - Rebar target list (usually compile, maybe escriptize)
+# ERL_BUILD_NAME - Build name for rebar3
+# ERL_BUILD_DEPS - List of BUILD_DEPENDS in category/portname format
+# ERL_RUN_DEPS - List of RUN_DEPENDS in category/portname format
+# ERL_DOCS - List of documentation files and directories
+#
+# MAINTAINER: olgeni@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_ERLANG_MK)
+_INCLUDE_USES_ERLANG_MK=yes
+
+ERL_APP_NAME?= ${PORTNAME}
+ERL_APP_ROOT?= ${PREFIX}/lib/erlang/lib/${ERL_APP_NAME}-${PORTVERSION}
+REBAR_CMD= ${LOCALBASE}/bin/rebar
+REBAR3_CMD= ${LOCALBASE}/bin/rebar3
+REBAR_PROFILE?= default
+REBAR_TARGETS?= compile
+ERL_BUILD_NAME?= default
+ERL_BUILD_DEPS?=
+ERL_RUN_DEPS?=
+ERL_DOCS?= README*
+
+# VERSION is used in every Erlang pkg-plist
+PLIST_SUB+= VERSION="${PORTVERSION}"
+
+BUILD_DEPENDS+= erl:lang/erlang
+RUN_DEPENDS+= erl:lang/erlang
+
+.if ${erlang_ARGS:Mrebar}
+BUILD_DEPENDS+= rebar>=0:devel/rebar
+.endif
+
+.if ${erlang_ARGS:Mrebar3}
+BUILD_DEPENDS+= rebar3>=0:devel/rebar3
+.endif
+
+.for depend in ${ERL_BUILD_DEPS}
+BUILD_DEPENDS+= ${depend:T}>=0:${depend}
+.endfor
+
+.for depend in ${ERL_RUN_DEPS}
+RUN_DEPENDS+= ${depend:T}>=0:${depend}
+.endfor
+
+.if ${erlang_ARGS:Mrebar}
+ERLANG_COMPILE= ${REBAR_CMD}
+.endif
+
+.if ${erlang_ARGS:Mrebar3}
+ERLANG_COMPILE= HOME=${WRKDIR} ${REBAR3_CMD}
+.endif
+
+_USES_patch+= 650:post-patch-erlang
+post-patch-erlang:
+ @${FIND} ${WRKSRC} -name .gitignore -delete
+# Attempt to remove all traces of {vsn, ....}; replace with actual PORTVERSION
+ @if [ -f ${WRKSRC}/src/${ERL_APP_NAME}.app.src ]; then \
+ ${REINPLACE_CMD} -i '' -e 's/{ *vsn,.*}/{vsn, "${PORTVERSION}"}/' \
+ ${WRKSRC}/src/${ERL_APP_NAME}.app.src; \
+ fi
+ @if [ -f ${WRKSRC}/ebin/${ERL_APP_NAME}.app ]; then \
+ ${REINPLACE_CMD} -i '' -e 's/{ *vsn,.*}/{vsn, "${PORTVERSION}"}/' \
+ ${WRKSRC}/ebin/${ERL_APP_NAME}.app; \
+ fi
+ @${GREP} -l "%%LOCALBASE%%" $$(${FIND} ${WRKSRC}) \
+ | ${XARGS} ${REINPLACE_CMD} -i '' -e "s@%%LOCALBASE%%@${LOCALBASE}@"
+ @${GREP} -l "%%PORTVERSION%%" $$(${FIND} ${WRKSRC}) \
+ | ${XARGS} ${REINPLACE_CMD} -i '' -e "s@%%PORTVERSION%%@${PORTVERSION}@"
+# Always try to build with the system version of rebar and rebar3
+ @if [ -f ${WRKSRC}/rebar.config ]; then \
+ ${REINPLACE_CMD} -i '' -e "s@\./rebar3@${REBAR3_CMD}@; s@\./rebar@${REBAR_CMD}@" \
+ ${WRKSRC}/rebar.config; \
+ fi
+ @${RM} ${WRKSRC}/src/*.orig ${WRKSRC}/include/*.orig
+
+.if !target(do-build)
+do-build:
+# This will cause calls to local rebar and rebar3 to fail; makes it easier to spot them
+ @${RM} ${WRKSRC}/rebar ${WRKSRC}/rebar3
+.for target in ${REBAR_TARGETS}
+# Remove rebar.lock every time - it can be created again after each run of rebar3
+ @${RM} ${WRKSRC}/rebar.lock
+ @cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} REBAR_PROFILE=${REBAR_PROFILE} ${ERLANG_COMPILE} ${target}
+.endfor
+.endif # !target(do-build)
+
+.if !target(do-install)
+do-install:
+ @${MKDIR} ${STAGEDIR}${ERL_APP_ROOT}
+ @${MKDIR} ${STAGEDIR}${ERL_APP_ROOT}/src
+ cd ${WRKSRC}/src && ${COPYTREE_SHARE} \* ${STAGEDIR}${ERL_APP_ROOT}/src
+ @${MKDIR} ${STAGEDIR}${ERL_APP_ROOT}/ebin
+.if ${erlang_ARGS:Mrebar3}
+ ${INSTALL_DATA} ${WRKSRC}/_build/${ERL_BUILD_NAME}/lib/${ERL_APP_NAME}/ebin/* \
+ ${STAGEDIR}${ERL_APP_ROOT}/ebin
+.else
+ ${INSTALL_DATA} ${WRKSRC}/ebin/* ${STAGEDIR}${ERL_APP_ROOT}/ebin
+.endif
+ if [ -d ${WRKSRC}/include ]; then \
+ ${MKDIR} ${STAGEDIR}${ERL_APP_ROOT}/include; \
+ cd ${WRKSRC}/include && ${COPYTREE_SHARE} \* ${STAGEDIR}${ERL_APP_ROOT}/include; \
+ fi
+ if [ -d ${WRKSRC}/priv ]; then \
+ ${MKDIR} ${STAGEDIR}${ERL_APP_ROOT}/priv; \
+ cd ${WRKSRC}/priv && ${COPYTREE_SHARE} \* ${STAGEDIR}${ERL_APP_ROOT}/priv; \
+ fi
+.if ${ERL_DOCS} != ""
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+.for file in ${ERL_DOCS}
+ if [ -d "${WRKSRC}/${file}" ]; then \
+ cd ${WRKSRC} && ${COPYTREE_SHARE} ${file} ${STAGEDIR}${DOCSDIR}; \
+ else \
+ ${INSTALL_DATA} ${WRKSRC}/${file} ${STAGEDIR}${DOCSDIR}; \
+ fi
+.endfor
+.endif # .if ${ERL_DOCS} != ""
+.if ${REBAR_TARGETS:Mescriptize}
+ @${MKDIR} ${STAGEDIR}${PREFIX}/bin
+ ${INSTALL_SCRIPT} ${WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin
+.endif
+.endif # !target(do-install)
+
+.endif #!defined(_INCLUDE_USES_ERLANG_MK)
diff --git a/test-ports/Mk/Uses/fakeroot.mk b/test-ports/Mk/Uses/fakeroot.mk
new file mode 100644
index 00000000..e6f7acd9
--- /dev/null
+++ b/test-ports/Mk/Uses/fakeroot.mk
@@ -0,0 +1,17 @@
+# $FreeBSD: head/Mk/Uses/fakeroot.mk 411970 2016-03-27 01:23:25Z bapt $
+#
+# Changes some default behaviour of build systems to allow installing as user.
+#
+# Feature: fakeroot
+# Usage: USES=fakeroot
+# Valid ARGS: none
+#
+# MAINTAINER: bapt@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_FAKEROOT_MK)
+_INCLUDE_USES_FAKEROOT_MK= yes
+BUILD_DEPENDS+= fakeroot:security/fakeroot
+.if ${UID} != 0
+FAKEROOT?= fakeroot
+.endif
+.endif
diff --git a/test-ports/Mk/Uses/fam.mk b/test-ports/Mk/Uses/fam.mk
new file mode 100644
index 00000000..86ad49cb
--- /dev/null
+++ b/test-ports/Mk/Uses/fam.mk
@@ -0,0 +1,62 @@
+# $FreeBSD: head/Mk/Uses/fam.mk 411970 2016-03-27 01:23:25Z bapt $
+#
+# MAINTAINER: portmgr@FreeBSD.org
+#
+# Feature: fam
+# Usage: USES=fam or USES=fam:ARG
+# Valid ARG: gamin, fam
+#
+# User-specified File Alteration Monitor wish:
+# Usage: WITH_FAM_SYSTEM=ARG
+# Valid ARG: gamin (default), fam
+#
+# Handle dependency on File Alteration Monitor
+
+.if !defined(_INCLUDE_USES_FAM_MK)
+_INCLUDE_USES_FAM_MK= yes
+
+_fam_DEPENDS= libfam.so.0:devel/fam
+_gamin_DEPENDS= libfam.so.0:devel/gamin
+
+_FAM_SYSTEMS= fam gamin
+_DEFAULT_FAM= gamin
+
+.if exists(${LOCALBASE}/libexec/gam_server)
+_HAVE_FAM= gamin
+.elif exists(${LOCALBASE}/bin/fam)
+_HAVE_FAM= fam
+.endif
+
+# Sanity checks
+.if defined(WITH_FAM_SYSTEM) && defined(_HAVE_FAM) && ${_HAVE_FAM} != ${WITH_FAM_SYSTEM}
+IGNORE= FAM mismatch: ${_HAVE_FAM} is installed, but ${WITH_FAM_SYSTEM} desired
+.endif
+
+.if !empty(fam_ARGS)
+.for _fam_ARGS in ${fam_ARGS}
+. if ! ${_FAM_SYSTEMS:M${_fam_ARGS}}
+IGNORE= Incorrect 'USES+= fam:${fam_ARGS}' usage: argument [${_fam_ARGS}] is not recognized
+. endif
+.endfor
+. if defined(_HAVE_FAM) && ${_HAVE_FAM} != ${fam_ARGS}
+IGNORE= FAM mismatch: port wants to use ${fam_ARGS} while you have ${_HAVE_FAM}
+. endif
+. if defined(WITH_FAM_SYSTEM) && ${WITH_FAM_SYSTEM} != ${fam_ARGS}
+IGNORE= FAM mismatch: port wants to use ${fam_ARGS} while you wish to use ${WITH_FAM_SYSTEM}
+. endif
+.endif
+
+# Proceed
+.if !empty(fam_ARGS)
+_USE_FAM= ${fam_ARGS}
+.elif defined(_HAVE_FAM)
+_USE_FAM= ${_HAVE_FAM}
+.elif defined(WITH_FAM_SYSTEM)
+_USE_FAM= ${WITH_FAM_SYSTEM}
+.else
+_USE_FAM= ${_DEFAULT_FAM}
+.endif
+
+LIB_DEPENDS+= ${_${_USE_FAM}_DEPENDS}
+
+.endif
diff --git a/test-ports/Mk/Uses/firebird.mk b/test-ports/Mk/Uses/firebird.mk
new file mode 100644
index 00000000..10eba396
--- /dev/null
+++ b/test-ports/Mk/Uses/firebird.mk
@@ -0,0 +1,24 @@
+# $FreeBSD: head/Mk/Uses/firebird.mk 419511 2016-08-03 12:09:37Z mat $
+#
+# Provide support for Firebird
+# Feature: firebird
+# Usage: USES= firebird[:version]
+# MAINTAINER: ports@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_FIREBIRD_MK)
+_INCLUDE_USES_FIREBIRD_MK= yes
+
+.if !empty(firebird_ARGS)
+FIREBIRD_VER= ${firebird_ARGS}
+.endif
+
+FIREBIRD_VER?= ${FIREBIRD_DEFAULT:S/.//}
+
+# When adding a version, please keep the comment in
+# Mk/bsd.default-versions.mk in sync.
+.if ${FIREBIRD_VER} == 25
+LIB_DEPENDS+= libfbclient.so:databases/firebird25-client
+.else
+IGNORE= cannot install: unknown Firebird version: ${FIREBIRD_VER}
+.endif
+.endif
diff --git a/test-ports/Mk/Uses/fonts.mk b/test-ports/Mk/Uses/fonts.mk
new file mode 100644
index 00000000..1ee9500b
--- /dev/null
+++ b/test-ports/Mk/Uses/fonts.mk
@@ -0,0 +1,68 @@
+# $FreeBSD: head/Mk/Uses/fonts.mk 495395 2019-03-11 21:25:57Z zeising $
+#
+# handle fonts
+# Feature: fonts
+# Usage: USES=fonts
+# Valid ARGS: fc, fontsdir, fcfontsdir, none (empty means fcfontsdir)
+
+# fc Add @fc ${FONTSDIR} to PLIST_FILES
+# fontsdir Add @fontsdir ${FONTSDIR} to PLIST_FILES
+# fcfontsdir Add @fcfontsdir ${FONTSDIR} to PLIST_FILES
+# none No special handling of ${FONTSDIR} in PLIST_FILES
+
+# Ports should use USES=fonts with an argument only when necessary.
+# By default, @fcfontsdir ${FONTSDIR} is added and it updates font
+# information cache file of fontconfig library, and XLFD entries
+# in fonts.dir and fonts.scale file, which are directly used by
+# X server and xfs font server.
+#
+# Xorg supports TrueType and OpenType via either of the two font
+# subsystems. @fcfontsdir is designed to update configuration files for
+# both of them to register a font file. Specifically, fc-cache and
+# mkfontdir utilities are used, respectively.
+#
+# Ports to install fonts with which mkfontdir or fc-cache do not work well
+# should use :fc and/or :fontsdir argument. fc-cache and mkfontdir
+# get information such as fontname, encoding, etc. from a font file.
+# However, mkfontdir does not understand information in some scalable
+# fonts. Typical examples are TrueType Collection format and
+# CJK (Chinese, Japanese, and Korean) TrueType font. The former is
+# a format which contains multiple fonts in a single file.
+# While Xorg supports it, mkfontdir does not generate correct
+# fonts.dir entries from a TTC font. CJK fonts often require
+# modifiers in a XFLD entry to enable special feature which mkfontdir
+# does not support, either.
+#
+# Note that ports which do not want mkfontdir need to use
+# a separate FONTSDIR, not shared ones such as misc or TTF.
+# This is because other ports using @fcfontsdir or @fontsdir
+# update fonts.dir in these font directories upon installation
+# and deinstallation. mkfontdir will overwrite manually-added entries.
+
+.if !defined(_INCLUDE_USES_FONTS_MK)
+_INCLUDE_USES_FONTS_MK= yes
+
+.if empty(fonts_ARGS)
+fonts_ARGS= fcfontsdir
+.endif
+
+.if !empty(fonts_ARGS:Nfc:Nfontsdir:Nfcfontsdir:Nnone)
+IGNORE= USES=fonts - invalid ARGS (${fonts_ARGS})
+.endif
+
+.if !empty(fonts_ARGS:Mfc) || !empty(fonts_ARGS:Mfcfontsdir)
+RUN_DEPENDS+= fc-cache:x11-fonts/fontconfig
+.endif
+.if !empty(fonts_ARGS:Mfontsdir) || !empty(fonts_ARGS:Mfcfontsdir)
+RUN_DEPENDS+= mkfontscale:x11-fonts/mkfontscale
+.endif
+
+FONTNAME?= ${PORTNAME}
+FONTSDIR?= ${PREFIX}/share/fonts/${FONTNAME}
+.if !empty(fonts_ARGS:Nnone)
+PLIST_FILES+= "@${fonts_ARGS} ${FONTSDIR}"
+.endif
+SUB_LIST+= FONTSDIR="${FONTSDIR}"
+PLIST_SUB+= FONTSDIR="${FONTSDIR:S,^${PREFIX}/,,}"
+.endif
+
diff --git a/test-ports/Mk/Uses/fortran.mk b/test-ports/Mk/Uses/fortran.mk
new file mode 100644
index 00000000..06c80057
--- /dev/null
+++ b/test-ports/Mk/Uses/fortran.mk
@@ -0,0 +1,46 @@
+# $FreeBSD: head/Mk/Uses/fortran.mk 454428 2017-11-18 13:09:56Z tijl $
+#
+# Fortran support
+#
+# Feature: fortran
+# Usage: USES=fortran
+# Valid ARGS: flang, gfortran (default)
+#
+# MAINTAINER: fortran@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_FORTRAN_MK)
+_INCLUDE_USES_FORTRAN_MK= yes
+
+.if empty(fortran_ARGS)
+fortran_ARGS= ${FORTRAN_DEFAULT}
+.endif
+
+.if ${fortran_ARGS} == flang
+.if ${ARCH} == amd64
+BUILD_DEPENDS+= flang:devel/flang
+RUN_DEPENDS+= flang:devel/flang
+F77= flang
+FC= flang
+LDFLAGS+= -L${LOCALBASE}/flang/lib -Wl,--as-needed -lflang -lexecinfo -Wl,--no-as-needed
+.else
+IGNORE= USES=fortran: flang argument only available for amd64
+.endif
+.elif ${fortran_ARGS} == gfortran
+_GCC_VER= ${GCC_DEFAULT:S/.//}
+BUILD_DEPENDS+= gfortran${_GCC_VER}:lang/gcc${_GCC_VER}
+RUN_DEPENDS+= gfortran${_GCC_VER}:lang/gcc${_GCC_VER}
+F77= gfortran${_GCC_VER}
+FC= gfortran${_GCC_VER}
+FFLAGS+= -Wl,-rpath=${LOCALBASE}/lib/gcc${_GCC_VER}
+FCFLAGS+= -Wl,-rpath=${LOCALBASE}/lib/gcc${_GCC_VER}
+LDFLAGS+= -Wl,-rpath=${LOCALBASE}/lib/gcc${_GCC_VER} \
+ -L${LOCALBASE}/lib/gcc${_GCC_VER} -B${LOCALBASE}/bin
+.else
+IGNORE= USES=fortran: invalid arguments: ${fortran_ARGS}
+.endif
+
+USE_BINUTILS= yes
+CONFIGURE_ENV+= F77="${F77}" FC="${FC}" FFLAGS="${FFLAGS}" FCFLAGS="${FCFLAGS}"
+MAKE_ENV+= F77="${F77}" FC="${FC}" FFLAGS="${FFLAGS}" FCFLAGS="${FCFLAGS}"
+
+.endif
diff --git a/test-ports/Mk/Uses/fpc.mk b/test-ports/Mk/Uses/fpc.mk
new file mode 100644
index 00000000..9ffb4f84
--- /dev/null
+++ b/test-ports/Mk/Uses/fpc.mk
@@ -0,0 +1,205 @@
+#
+# $FreeBSD: head/Mk/Uses/fpc.mk 466532 2018-04-05 04:52:36Z acm $
+#
+# Support for FPC-based ports. This automatically will install free pascal
+# compiler and units.
+#
+# Feature: fpc
+# Usage: USES=fpc
+# Valid ARGS: (none), run, base, all
+#
+# run - Free pascal units will be registered also as run dependencies.
+#
+# base - This automatically will install all base units of fpc
+# (gdbint graph ibase libasync hash httpd mysql netdb odbc
+# oracle pasjpeg paszlib pthreads postgres regexpr and sqlite).
+#
+# all - This automatically will install all free pascal units.
+#
+# if you need install additional fpc units, they can be listed there (USE_FPC=gtk2 x11 opengl).
+#
+# Example:
+#
+# USES+= fpc:run
+# USE_FPC=gtk2
+#
+
+.if !defined(_INCLUDE_USES_FPC_MK)
+
+FPC_Include_MAINTAINER= acm@FreeBSD.org
+
+_INCLUDE_USES_FPC_MK= yes
+
+.if defined(DEFAULT_FPC_VER)
+WARNING+= "DEFAULT_FPC_VER is defined, consider using DEFAULT_VERSIONS=fpc=${DEFAULT_FPC_VER} instead"
+.endif
+
+.if ${fpc_ARGS:Nrun:Nbase:Nall}
+IGNORE= Unknown argument for USES=fpc: ${fpc_ARGS:Nrun:Nbase:Nall}
+.endif
+
+DEFAULT_FPC_VER= ${FPC_DEFAULT}
+# When adding a version, please keep the comment in
+# Mk/bsd.default-versions.mk in sync.
+FPC_VER= ${DEFAULT_FPC_VER}
+FPC_ARCH= ${ARCH:S/amd64/x86_64/}
+
+.if exists(${LOCALBASE}/bin/fpc)
+FPC_CURRENT_VER!= ${LOCALBASE}/bin/fpc -iV
+. if ${FPC_CURRENT_VER} != ${FPC_VER}
+IGNORE= incompatible fpc ${FPC_CURRENT_VER} compiler, please install ${FPC_VER} version
+. endif
+.endif
+
+.if ${ARCH} == "i386"
+PPNAME= ppc386
+.elif ${ARCH} == "amd64"
+PPNAME= ppcx64
+.else
+PPNAME= ppc_not_yet_ported
+ONLY_FOR_ARCHS= i386 amd64
+ONLY_FOR_ARCHS_REASON= not yet ported to anything other than i386 and amd64
+.endif
+
+BUILD_DEPENDS+= ${PPNAME}:lang/fpc
+
+BUILDNAME= ${FPC_ARCH}-${OPSYS:tl}
+UNITSDIR= ${LOCALBASE}/lib/fpc/${FPC_VER}/units/${BUILDNAME}
+MKINSTDIR= ${LOCALBASE}/lib/fpc/${FPC_VER}/fpmkinst/${BUILDNAME}
+
+_FPC_ALL_UNITS= a52 aspell bfd bzip2 cairo chm dblib dbus dts fastcgi \
+ fcl-async fcl-base fcl-db fcl-extra fcl-fpcunit fcl-image \
+ fcl-js fcl-json fcl-net fcl-passrc fcl-pdf fcl-registry \
+ fcl-res fcl-sdo fcl-sound fcl-stl fcl-web fcl-xml fftw \
+ fpindexer fppkg fv gdbint gdbm gmp googleapi graph gtk2 \
+ hermes httpd22 httpd24 ibase iconvenc imagemagick \
+ ldap libcurl libgd libmicrohttpd libpng libvlc libxml2 lua mad \
+ modplug mysql ncurses newt numlib odbc oggvorbis openal opengl \
+ openssl oracle pasjpeg pcap postgres proj4 pthreads pxlib \
+ regexpr rexx rsvg rtl-console rtl-extra rtl-objpas rtl-unicode \
+ sdl sqlite svgalib symbolic syslog unzip users utmp uuid x11 \
+ xforms zlib
+
+.if ${fpc_ARGS:Mbase}
+USE_FPC= gdbint graph httpd22 httpd24 ibase mysql odbc oracle pasjpeg \
+ postgres pthreads regexpr sqlite
+.endif
+
+.if ${fpc_ARGS:Mall}
+USE_FPC= ${_FPC_ALL_UNITS}
+.endif
+
+.if defined(USE_FPC) && ${USE_FPC:tl} != "yes"
+. for UNITS in ${USE_FPC}
+. if ${_FPC_ALL_UNITS:M${UNITS}}==""
+IGNORE= cannot install: unknown FPC unit ${UNITS}
+. endif
+. endfor
+.endif
+
+# Base units
+gdbint_UNIT= devel/fpc-gdbint
+graph_UNIT= graphics/fpc-graph
+httpd22_UNIT= www/fpc-httpd22
+httpd24_UNIT= www/fpc-httpd24
+ibase_UNIT= databases/fpc-ibase
+mysql_UNIT= databases/fpc-mysql
+odbc_UNIT= databases/fpc-odbc
+oracle_UNIT= databases/fpc-oracle
+pasjpeg_UNIT= graphics/fpc-pasjpeg
+postgres_UNIT= databases/fpc-postgres
+pthreads_UNIT= devel/fpc-pthreads
+regexpr_UNIT= devel/fpc-regexpr
+sqlite_UNIT= databases/fpc-sqlite
+
+# Extra units
+a52_UNIT= audio/fpc-a52
+aspell_UNIT= textproc/fpc-aspell
+bfd_UNIT= devel/fpc-bfd
+bzip2_UNIT= archivers/fpc-bzip2
+cairo_UNIT= graphics/fpc-cairo
+chm_UNIT= misc/fpc-chm
+dblib_UNIT= databases/fpc-dblib
+dbus_UNIT= devel/fpc-dbus
+dts_UNIT= multimedia/fpc-dts
+fastcgi_UNIT= www/fpc-fastcgi
+fcl_async_UNIT= devel/fpc-fcl-async
+fcl_base_UNIT= devel/fpc-fcl-base
+fcl_db_UNIT= devel/fpc-fcl-db
+fcl_extra_UNIT= devel/fpc-fcl-extra
+fcl_fpcunit_UNIT= devel/fpc-fcl-fpcunit
+fcl_image_UNIT= devel/fpc-fcl-image
+fcl_js_UNIT= devel/fpc-fcl-js
+fcl_json_UNIT= devel/fpc-fcl-json
+fcl_net_UNIT= devel/fpc-fcl-net
+fcl_passrc_UNIT= devel/fpc-fcl-passrc
+fcl_pdf_UNIT= devel/fpc-fcl-pdf
+fcl_registry_UNIT= devel/fpc-fcl-registry
+fcl_res_UNIT= devel/fpc-fcl-res
+fcl_sdo_UNIT= devel/fpc-fcl-sdo
+fcl_sound_UNIT= devel/fpc-fcl-sound
+fcl_stl_UNIT= devel/fpc-fcl-stl
+fcl_web_UNIT= devel/fpc-fcl-web
+fcl_xml_UNIT= devel/fpc-fcl-xml
+fftw_UNIT= math/fpc-fftw
+fpindexer_UNIT= databases/fpc-fpindexer
+fppkg_UNIT= devel/fpc-fppkg
+fpvectorial_UNIT= graphics/fpc-fpvectorial
+fv_UNIT= devel/fpc-fv
+hermes_UNIT= graphics/fpc-hermes
+gdbm_UNIT= databases/fpc-gdbm
+gmp_UNIT= math/fpc-gmp
+googleapi_UNIT= www/fpc-googleapi
+gtk2_UNIT= x11-toolkits/fpc-gtk2
+iconvenc_UNIT= converters/fpc-iconvenc
+imagemagick_UNIT= graphics/fpc-imagemagick
+ldap_UNIT= net/fpc-ldap
+libcurl_UNIT= ftp/fpc-libcurl
+libgd_UNIT= graphics/fpc-libgd
+libmicrohttpd_UNIT= www/fpc-libmicrohttpd
+libpng_UNIT= graphics/fpc-libpng
+libvlc_UNIT= multimedia/fpc-libvlc
+libxml2_UNIT= textproc/fpc-libxml2
+lua_UNIT= lang/fpc-lua
+mad_UNIT= audio/fpc-mad
+modplug_UNIT= audio/fpc-modplug
+newt_UNIT= devel/fpc-newt
+ncurses_UNIT= graphics/fpc-ncurses
+numlib_UNIT= math/fpc-numlib
+oggvorbis_UNIT= audio/fpc-oggvorbis
+openal_UNIT= audio/fpc-openal
+opengl_UNIT= graphics/fpc-opengl
+openssl_UNIT= security/fpc-openssl
+pcap_UNIT= net/fpc-pcap
+proj4_UNIT= graphics/fpc-proj4
+pxlib_UNIT= databases/fpc-pxlib
+rexx_UNIT= lang/fpc-rexx
+rsvg_UNIT= graphics/fpc-rsvg
+rtl_console_UNIT= lang/fpc-rtl-console
+rtl_extra_UNIT= lang/fpc-rtl-extra
+rtl_objpas_UNIT= lang/fpc-rtl-objpas
+rtl_unicode_UNIT= lang/fpc-rtl-unicode
+sdl_UNIT= devel/fpc-sdl
+svgalib_UNIT= graphics/fpc-svgalib
+symbolic_UNIT= devel/fpc-symbolic
+syslog_UNIT= sysutils/fpc-syslog
+unzip_UNIT= archivers/fpc-unzip
+users_UNIT= sysutils/fpc-users
+utmp_UNIT= sysutils/fpc-utmp
+uuid_UNIT= sysutils/fpc-uuid
+x11_UNIT= x11/fpc-x11
+xforms_UNIT= x11-toolkits/fpc-xforms
+zlib_UNIT= devel/fpc-zlib
+
+.endif
+
+.if defined(USE_FPC)
+. for UNIT in ${USE_FPC}
+. if ${_FPC_ALL_UNITS:M${UNIT}} != ""
+BUILD_DEPENDS+= ${MKINSTDIR}/${UNIT}.fpm:${${UNIT:S/-/_/}_UNIT}
+. if ${fpc_ARGS:Mrun} || ${fpc_ARGS:Mbase}
+RUN_DEPENDS+= ${MKINSTDIR}/${UNIT}.fpm:${${UNIT:S/-/_/}_UNIT}
+. endif
+. endif
+. endfor
+.endif
diff --git a/test-ports/Mk/Uses/fuse.mk b/test-ports/Mk/Uses/fuse.mk
new file mode 100644
index 00000000..18fb32ba
--- /dev/null
+++ b/test-ports/Mk/Uses/fuse.mk
@@ -0,0 +1,26 @@
+# $FreeBSD: head/Mk/Uses/fuse.mk 452924 2017-10-26 15:37:02Z se $
+#
+# Handle dependency on the fuse port
+#
+# Feature: fuse
+# Usage: USES=fuse[:version]
+# Valid ARGS: 2 [default], 3
+# MAINTAINER: portmgr@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_FUSE_MK)
+_INCLUDE_USES_FUSE_MK= yes
+
+.if !empty(fuse_ARGS)
+LIBFUSE_VER= ${fuse_ARGS}
+.endif
+LIBFUSE_VER?= 2
+
+.if ${LIBFUSE_VER} == 2
+LIB_DEPENDS+= libfuse.so:sysutils/fusefs-libs
+.elif ${LIBFUSE_VER} == 3
+LIB_DEPENDS+= libfuse3.so:sysutils/fusefs-libs3
+.else
+IGNORE= cannot install: unknown FUSE library version: ${LIBFUSE_VERSION}
+.endif
+
+.endif
diff --git a/test-ports/Mk/Uses/gecko.mk b/test-ports/Mk/Uses/gecko.mk
new file mode 100644
index 00000000..5be7abd7
--- /dev/null
+++ b/test-ports/Mk/Uses/gecko.mk
@@ -0,0 +1,112 @@
+# $FreeBSD: head/Mk/Uses/gecko.mk 495403 2019-03-12 00:55:59Z jbeich $
+#
+# Handle dependency of different gecko based applications
+#
+# MAINTAINER: gecko@FreeBSD.org
+#
+# Feature: gecko
+# Usage: USES=gecko or USES=gecko:ARGS
+# Valid ARGS: firefox, seamonkey, thunderbird
+# The following arguments are available
+# - build: also add the dependency as a build
+# dependency
+# - [0-9][0-9][+]?: a version optionnally
+# followed by a +
+#
+
+.if !defined(_INCLUDE_USES_GECKO_MK)
+_INCLUDE_USES_GECKO_MK= yes
+
+_GECKO_VERSION= ${gecko_ARGS:M[0-9][0-9]*}
+
+.if ${gecko_ARGS:Mfirefox}
+
+_GECKO_DEFAULT_VERSION= 60
+_GECKO_VERSIONS= 60 66
+_GECKO_TYPE= firefox
+
+# Dependence lines for different Firefox versions
+60_DEPENDS= ${LOCALBASE}/lib/firefox/firefox:www/firefox-esr
+66_DEPENDS= ${LOCALBASE}/lib/firefox/firefox:www/firefox
+
+.if exists(${LOCALBASE}/bin/firefox)
+_GECKO_INSTALLED_VER!= ${PKG_QUERY} %v firefox firefox-esr
+_GECKO_INSTALLED_VER:= ${_GECKO_INSTALLED_VER:C/\..*//}
+.endif
+
+.elif ${gecko_ARGS:Mseamonkey}
+
+_GECKO_DEFAULT_VERSION= 49
+_GECKO_VERSIONS= 49
+_GECKO_TYPE= seamonkey
+
+.if exists(${LOCALBASE}/bin/seamonkey)
+_GECKO_INSTALLED_VER!= ${PKG_QUERY} %v seamonkey
+_GECKO_INSTALLED_VER:= ${_GECKO_INSTALLED_VER:C/[0-9]*\.//:C/\..*//}
+.endif
+
+# Dependence lines for different Seamonkey versions
+49_DEPENDS= ${LOCALBASE}/lib/seamonkey/seamonkey:www/seamonkey
+
+.elif ${gecko_ARGS:Mthunderbird}
+
+_GECKO_DEFAULT_VERSION= 60
+_GECKO_VERSIONS= 60
+_GECKO_TYPE= thunderbird
+
+.if exists(${LOCALBASE}/bin/thunderbird)
+_GECKO_INSTALLED_VER!= ${PKG_QUERY} %v thunderbird
+_GECKO_INSTALLED_VER:= ${_GECKO_INSTALLED_VER:C/\..*//}
+.endif
+
+# Dependence lines for different Thunderbird versions
+60_DEPENDS= ${LOCALBASE}/lib/thunderbird/thunderbird:mail/thunderbird
+
+.else
+IGNORE= Unknown type of gecko dependency you may specify either firefox, seamonkey or thunderbird
+.endif
+
+.if defined(_GECKO_TYPE)
+.if ${_GECKO_VERSION:M*+}
+_GECKO_MIN_VERSION:= ${_GECKO_VERSION:S/+//}
+_GECKO_WANTED_VERSIONS:= ${_GECKO_DEFAULT_VERSION}
+.endif
+
+.if ${_GECKO_VERSION:M[0-9][0-9]}
+_GECKO_WANTED_VERSIONS:= ${_GECKO_VERSION:M[0-9][0-9]}
+.endif
+
+_GECKO_WANTED_VERSIONS?= ${_GECKO_DEFAULT_VERSION}
+
+.if defined(_GECKO_MIN_VERSION)
+. for _v in ${_GECKO_VERSIONS}
+. if ${_GECKO_MIN_VERSION} <= ${_v}
+_GECKO_WANTED_VERSIONS+= ${_v}
+. endif
+. endfor
+.endif
+
+.for _v in ${_GECKO_WANTED_VERSIONS:O:u}
+_GECKO_HIGHEST_VERSION:= ${_v}
+.if defined(_GECKO_INSTALLED_VER) && ${_GECKO_INSTALLED_VER} == ${_v}
+_GECKO_WANTED_VERSION:= ${_v}
+.endif
+.endfor
+
+.if !defined(_GECKO_WANTED_VERSION)
+.if defined(_GECKO_INSTALLED_VER)
+IGNORE= cannot install: ${_GECKO_TYPE} versions mismatch: ${_GECKO_TYPE}-${_GECKO_INSTALLED_VER} is installed and wanted version is ${_GECKO_TYPE}-${_GECKO_VERSION:M[0-9][0-9]}
+.else
+_GECKO_WANTED_VERSION:= ${_GECKO_HIGHEST_VERSION}
+.endif
+.endif
+
+
+.if ${gecko_ARGS:Mbuild}
+BUILD_DEPENDS+= ${${_GECKO_WANTED_VERSION}_DEPENDS}
+.endif
+RUN_DEPENDS+= ${${_GECKO_WANTED_VERSION}_DEPENDS}
+
+.endif
+
+.endif
diff --git a/test-ports/Mk/Uses/gem.mk b/test-ports/Mk/Uses/gem.mk
new file mode 100644
index 00000000..c0c48436
--- /dev/null
+++ b/test-ports/Mk/Uses/gem.mk
@@ -0,0 +1,135 @@
+# $FreeBSD: head/Mk/Uses/gem.mk 493610 2019-02-22 19:56:03Z sunpoet $
+#
+# Support rubygem packages
+#
+# Feature: gem
+# Usage: USES=gem[:noautoplist]
+# Valid args: noautoplist Don't generate the plist automatically
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_GEM_MK)
+
+_INCLUDE_USES_GEM_MK= yes
+
+_valid_ARGS= noautoplist
+
+# Sanity check
+.for arg in ${gem_ARGS}
+. if empty(_valid_ARGS:M${arg})
+IGNORE= Incorrect 'USES+= gem:${gem_ARGS}' usage: argument [${arg}] is not recognized
+. endif
+.endfor
+
+BUILD_DEPENDS+= ${RUBYGEMBIN}:devel/ruby-gems
+RUN_DEPENDS+= ${RUBYGEMBIN}:devel/ruby-gems
+
+PKGNAMEPREFIX?= rubygem-
+EXTRACT_SUFX= .gem
+EXTRACT_ONLY=
+DIST_SUBDIR= rubygem
+
+EXTRACT_DEPENDS+= ${RUBYGEMBIN}:devel/ruby-gems
+GEMS_BASE_DIR= lib/ruby/gems/${RUBY_VER}
+GEMS_DIR= ${GEMS_BASE_DIR}/gems
+DOC_DIR= ${GEMS_BASE_DIR}/doc
+CACHE_DIR= ${GEMS_BASE_DIR}/cache
+SPEC_DIR= ${GEMS_BASE_DIR}/specifications
+EXT_DIR= ${GEMS_BASE_DIR}/extensions
+GEM_NAME?= ${DISTNAME}
+GEM_LIB_DIR?= ${GEMS_DIR}/${GEM_NAME}
+GEM_DOC_DIR?= ${DOC_DIR}/${GEM_NAME}
+GEM_SPEC?= ${SPEC_DIR}/${GEM_NAME}.gemspec
+GEM_CACHE?= ${CACHE_DIR}/${GEM_NAME}.gem
+GEMSPEC= ${PORTNAME}.gemspec
+GEM_ENV+= RB_USER_INSTALL=yes
+
+USE_LOCALE?= en_US.UTF-8
+GEM_ENV+= LANG=${USE_LOCALE} LC_ALL=${USE_LOCALE}
+
+PLIST_SUB+= PORTVERSION="${PORTVERSION}" \
+ REV="${RUBY_GEM}" \
+ GEMS_BASE_DIR="lib/ruby/gems/${RUBY_VER}" \
+ GEMS_DIR="${GEMS_DIR}" \
+ DOC_DIR="${DOC_DIR}" \
+ CACHE_DIR="${CACHE_DIR}" \
+ SPEC_DIR="${SPEC_DIR}" \
+ EXT_DIR="${EXT_DIR}" \
+ PORT="${PORTNAME}-${PORTVERSION}" \
+ GEM_NAME="${GEM_NAME}" \
+ GEM_LIB_DIR="${GEM_LIB_DIR}" \
+ GEM_DOC_DIR="${GEM_DOC_DIR}" \
+ GEM_SPEC="${GEM_SPEC}" \
+ GEM_CACHE="${GEM_CACHE}" \
+ EXTRACT_SUFX="${EXTRACT_SUFX}"
+
+RUBYGEMBIN= ${LOCALBASE}/bin/gem${RUBY_VER:S/.//}
+
+. if defined(DISTFILES)
+GEMFILES= ${DISTFILES:C/:[^:]+$//}
+. else
+GEMFILES= ${DISTNAME}${EXTRACT_SUFX}
+. endif
+
+RUBYGEM_ARGS=-l --no-update-sources --install-dir ${STAGEDIR}${PREFIX}/lib/ruby/gems/${RUBY_VER} --ignore-dependencies --bindir=${STAGEDIR}${PREFIX}/bin
+
+.if ${PORT_OPTIONS:MDOCS}
+RUBYGEM_ARGS+= --document rdoc,ri
+.else
+RUBYGEM_ARGS+= --no-document
+.endif
+
+.if !target(do-extract)
+do-extract:
+ @${SETENV} ${GEM_ENV} ${RUBYGEMBIN} unpack --target=${WRKDIR} ${DISTDIR}/${DIST_SUBDIR}/${GEMFILES}
+ @(cd ${BUILD_WRKSRC}; if ! ${SETENV} ${GEM_ENV} ${RUBYGEMBIN} spec --ruby ${DISTDIR}/${DIST_SUBDIR}/${GEMFILES} > ${GEMSPEC} ; then \
+ if [ -n "${BUILD_FAIL_MESSAGE}" ] ; then \
+ ${ECHO_MSG} "===> Extraction failed unexpectedly."; \
+ (${ECHO_CMD} "${BUILD_FAIL_MESSAGE}") | ${FMT_80} ; \
+ fi; \
+ ${FALSE}; \
+ fi)
+.endif
+
+.if !target(do-build)
+do-build:
+ @(cd ${BUILD_WRKSRC}; if ! ${SETENV} ${GEM_ENV} ${RUBYGEMBIN} build --force ${GEMSPEC} ; then \
+ if [ -n "${BUILD_FAIL_MESSAGE}" ] ; then \
+ ${ECHO_MSG} "===> Compilation failed unexpectedly."; \
+ (${ECHO_CMD} "${BUILD_FAIL_MESSAGE}") | ${FMT_80} ; \
+ fi; \
+ ${FALSE}; \
+ fi)
+.endif
+
+.if !target(do-install)
+do-install:
+ (cd ${BUILD_WRKSRC}; ${SETENV} ${GEM_ENV} ${RUBYGEMBIN} install ${RUBYGEM_ARGS} ${GEMFILES} -- ${CONFIGURE_ARGS})
+ ${RM} -r ${STAGEDIR}${PREFIX}/${GEMS_BASE_DIR}/build_info/
+ ${FIND} ${STAGEDIR}${PREFIX}/${GEMS_BASE_DIR} -type f -name '*.so' -exec ${STRIP_CMD} {} +
+ ${FIND} ${STAGEDIR}${PREFIX}/${GEMS_BASE_DIR} -type f \( -name mkmf.log -or -name gem_make.out \) -delete
+ ${RM} -r ${STAGEDIR}${PREFIX}/${GEM_LIB_DIR}/ext \
+ ${STAGEDIR}${PREFIX}/${CACHE_DIR} 2> /dev/null || ${TRUE}
+ ${RMDIR} ${STAGEDIR}${PREFIX}/${EXT_DIR} 2> /dev/null || ${TRUE}
+.if !${PORT_OPTIONS:MDOCS}
+ -@${RMDIR} ${STAGEDIR}${PREFIX}/${DOC_DIR}
+.endif
+.endif
+
+.if empty(gem_ARGS:Mnoautoplist)
+_USES_install+= 820:gem-autoplist
+gem-autoplist:
+ @${ECHO} ${GEM_SPEC} >> ${TMPPLIST}
+.if ${PORT_OPTIONS:MDOCS}
+ @${FIND} -ds ${STAGEDIR}${PREFIX}/${DOC_DIR} -type f -print | ${SED} -E -e \
+ 's,^${STAGEDIR}${PREFIX}/?,,' >> ${TMPPLIST}
+.endif
+ @${FIND} -ds ${STAGEDIR}${PREFIX}/${GEM_LIB_DIR} -type f -print | ${SED} -E -e \
+ 's,^${STAGEDIR}${PREFIX}/?,,' >> ${TMPPLIST}
+ @if [ -d ${STAGEDIR}${PREFIX}/${EXT_DIR} ]; then \
+ ${FIND} -ds ${STAGEDIR}${PREFIX}/${EXT_DIR} -type f -print | ${SED} -E -e \
+ 's,^${STAGEDIR}${PREFIX}/?,,' >> ${TMPPLIST} ; \
+ fi
+.endif
+
+.endif
diff --git a/test-ports/Mk/Uses/gettext-runtime.mk b/test-ports/Mk/Uses/gettext-runtime.mk
new file mode 100644
index 00000000..6a9624fd
--- /dev/null
+++ b/test-ports/Mk/Uses/gettext-runtime.mk
@@ -0,0 +1,28 @@
+# $FreeBSD: head/Mk/Uses/gettext-runtime.mk 411970 2016-03-27 01:23:25Z bapt $
+#
+# Handle dependency on the gettext-runtime (libintl) port
+#
+# Feature: gettext-runtime
+# Usage: USES=gettext-runtime or USES=gettext-runtime:ARGS
+# Valid ARGS: lib (default), build, run
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_GETTEXT_RUNTIME_MK)
+_INCLUDE_USES_GETTEXT_RUNTIME_MK= yes
+
+.if empty(gettext-runtime_ARGS)
+gettext-runtime_ARGS= lib
+.endif
+
+.if ${gettext-runtime_ARGS:Mlib}
+LIB_DEPENDS+= libintl.so:devel/gettext-runtime
+.endif
+.if ${gettext-runtime_ARGS:Mbuild}
+BUILD_DEPENDS+= gettext:devel/gettext-runtime
+.endif
+.if ${gettext-runtime_ARGS:Mrun}
+RUN_DEPENDS+= gettext:devel/gettext-runtime
+.endif
+
+.endif
diff --git a/test-ports/Mk/Uses/gettext-tools.mk b/test-ports/Mk/Uses/gettext-tools.mk
new file mode 100644
index 00000000..ce7e8bd7
--- /dev/null
+++ b/test-ports/Mk/Uses/gettext-tools.mk
@@ -0,0 +1,25 @@
+# $FreeBSD: head/Mk/Uses/gettext-tools.mk 411970 2016-03-27 01:23:25Z bapt $
+#
+# Handle dependency on the gettext-tools port
+#
+# Feature: gettext-tools
+# Usage: USES=gettext-tools or USES=gettext-tools:ARGS
+# Valid ARGS: build (default), run
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_GETTEXT_TOOLS_MK)
+_INCLUDE_USES_GETTEXT_TOOLS_MK= yes
+
+.if empty(gettext-tools_ARGS)
+gettext-tools_ARGS= build
+.endif
+
+.if ${gettext-tools_ARGS:Mbuild}
+BUILD_DEPENDS+= msgfmt:devel/gettext-tools
+.endif
+.if ${gettext-tools_ARGS:Mrun}
+RUN_DEPENDS+= msgfmt:devel/gettext-tools
+.endif
+
+.endif
diff --git a/test-ports/Mk/Uses/gettext.mk b/test-ports/Mk/Uses/gettext.mk
new file mode 100644
index 00000000..91e5b4a5
--- /dev/null
+++ b/test-ports/Mk/Uses/gettext.mk
@@ -0,0 +1,21 @@
+# $FreeBSD: head/Mk/Uses/gettext.mk 373636 2014-11-29 18:22:32Z tijl $
+#
+# Sets a library dependency on gettext-runtime and a build dependency
+# on gettext-tools. Same as "USES=gettext-runtime gettext-tools".
+#
+# Feature: gettext
+# Usage: USES=gettext
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_GETTEXT_MK)
+_INCLUDE_USES_GETTEXT_MK= yes
+
+.if !empty(gettext_ARGS)
+IGNORE= USES=gettext does not take arguments
+.endif
+
+.include "${USESDIR}/gettext-runtime.mk"
+.include "${USESDIR}/gettext-tools.mk"
+
+.endif
diff --git a/test-ports/Mk/Uses/ghostscript.mk b/test-ports/Mk/Uses/ghostscript.mk
new file mode 100644
index 00000000..64476929
--- /dev/null
+++ b/test-ports/Mk/Uses/ghostscript.mk
@@ -0,0 +1,107 @@
+# $FreeBSD: head/Mk/Uses/ghostscript.mk 451376 2017-10-06 11:13:05Z tobik $
+#
+# Provide support for ghostscript ports.
+#
+# Feature: ghostscript
+# Usage: USES=ghostscript or USES=ghostscript:args
+# Valid ARGS: <version>, build, run, test, x11
+#
+# version The chooseable versions are 7, 8, 9 and agpl. If no version is
+# specified version agpl is selected.
+#
+# USES=ghostscript:7 # Use Ghostscript 7
+# USES=ghostscript:run # Use the set default Ghostscript as a run dependency
+# USES=ghostscript:8,build # Use ghostscript 8 as a build dependency.
+#
+# x11 Indicate that X11 support is required.
+# build Indicates that Ghostscript is needed at build time and adds
+# it as BUILD_DEPENDS.
+# run Indicates that Ghostscript is needed at run time and adds
+# it as RUN_DEPENDS.
+# test Indicates that Ghostscript is needed at test time and adds
+# it as TEST_DEPENDS.
+#
+# If build and run are omitted, Ghostscript will be added as BUILD_DEPENDS and
+# RUN_DEPENDS.
+#
+# MAINTAINER: ports@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_GHOSTSCRIPT_MK)
+_INCLUDE_USES_GHOSTSCRIPT_MK= yes
+
+# allowed versions
+# When adding a version, please keep the comment in
+# Mk/bsd.default-versions.mk in sync.
+_GS_VERSION= 7 8 9 agpl
+
+_GS_ARGS= ${ghostscript_ARGS}
+
+.if ${_GS_ARGS:N[789]:Nagpl:Nx11:Nbuild:Nrun:Ntest}
+IGNORE?= Unknown ghostscript argument ${_GS_ARGS}
+.endif
+
+.if ${GHOSTSCRIPT_DEFAULT:N[789]:Nagpl}
+IGNORE?= Invalid GHOSTSCRIPT_DEFAULT value: ${GHOSTSCRIPT_DEFAULT}, please select one of ${_GS_VERSION}
+.endif
+
+# Make sure that no dependency or some other environment variable
+# pollutes the build/run dependency detection
+.undef _GS_BUILD_DEP
+.undef _GS_RUN_DEP
+.undef _GS_TEST_DEP
+.if ${_GS_ARGS:Mbuild}
+_GS_BUILD_DEP= yes
+.endif
+.if ${_GS_ARGS:Mrun}
+_GS_RUN_DEP= yes
+.endif
+.if ${_GS_ARGS:Mtest}
+_GS_TEST_DEP= yes
+.endif
+
+# The port does not specify a build, run, or test dependency, assume that
+# a build and run dependency is required.
+.if !defined(_GS_BUILD_DEP) && !defined(_GS_RUN_DEP) && !defined(_GS_TEST_DEP)
+_GS_BUILD_DEP= yes
+_GS_RUN_DEP= yes
+.endif
+
+.undef _GS_SELECTED
+.for V in ${_GS_ARGS} ${GHOSTSCRIPT_DEFAULT}
+_V=${V}
+.if ${_V:M9}
+_GS_SELECTED?= 9
+.elif ${_V:Magpl}
+_GS_SELECTED?= 9-agpl
+.elif ${_V:M8}
+_GS_SELECTED?= 8
+.elif ${_V:M7}
+_GS_SELECTED?= 7
+.endif
+.endfor
+
+# Resolve minor version number for X11.so library.
+.if !empty(_GS_SELECTED:M9-agpl)
+_GS_VERSION_MINOR= 9.16_2
+.elif !empty(_GS_SELECTED:M9)
+_GS_VERSION_MINOR= 9.06_11
+.elif !empty(_GS_SELECTED:M8)
+_GS_VERSION_MINOR= 8.71_19
+.elif !empty(_GS_SELECTED:M7)
+_GS_VERSION_MINOR= 7.07_32
+.endif
+
+# dependencies
+_GS_PORT= ghostscript${_GS_SELECTED}-base
+_GS_X11_PORT= ghostscript${_GS_SELECTED}-x11
+
+.for type in BUILD RUN TEST
+.if defined(_GS_${type}_DEP)
+${type}_DEPENDS+= ${_GS_PORT}>=${_GS_VERSION_MINOR}:print/${_GS_PORT}
+.if ${_GS_ARGS:Mx11}
+${type}_DEPENDS+= ${_GS_X11_PORT}>=${_GS_VERSION_MINOR}:print/${_GS_X11_PORT}
+.endif
+.endif
+.endfor
+
+.endif # _INCLUDE_USES_GHOSTSCRIPT_MK
diff --git a/test-ports/Mk/Uses/gl.mk b/test-ports/Mk/Uses/gl.mk
new file mode 100644
index 00000000..86c3fcbb
--- /dev/null
+++ b/test-ports/Mk/Uses/gl.mk
@@ -0,0 +1,50 @@
+# $FreeBSD: head/Mk/Uses/gl.mk 479543 2018-09-11 18:52:07Z zeising $
+#
+# Use OpenGL and related libraries and ports
+#
+# Feature: gl
+# Usage: USES=gl
+# USE_GL=egl gbm gl glesv2 glew glu glut glw
+#
+# USE_GL specifies which GL components to add as dependencies.
+# Not specifying USE_GL with USES=gl is an error.
+# USE_GL=yes implies USE_GL=glu. This is deprecated
+#
+# MAINTAINER: x11@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_GL_MK)
+_INCLUDE_USES_GL_MK=yes
+
+_GL_egl_LIB_DEPENDS= libEGL.so:graphics/mesa-libs
+_GL_gbm_LIB_DEPENDS= libgbm.so:graphics/mesa-libs
+_GL_gl_LIB_DEPENDS= libGL.so:graphics/mesa-libs
+_GL_gl_USE_XORG= xorgproto
+_GL_glesv2_LIB_DEPENDS= libGLESv2.so:graphics/mesa-libs
+_GL_glew_LIB_DEPENDS= libGLEW.so:graphics/glew
+_GL_glu_LIB_DEPENDS= libGLU.so:graphics/libGLU
+_GL_glu_USE_XORG= xorgproto
+_GL_glut_LIB_DEPENDS= libglut.so:graphics/freeglut
+_GL_glw_LIB_DEPENDS= libGLw.so:graphics/libGLw
+
+.if !empty(gl_ARGS)
+IGNORE= USES=gl takes no arguments
+.endif
+
+.if !defined(USE_GL)
+IGNORE= need to specify gl component with USE_GL
+.elif ${USE_GL:tl} == yes
+DEV_WARNING+= "USE_GL=yes is deprecated, please add USE_GL=glu (default) or specify component"
+USE_GL= glu
+.endif
+
+.for _component in ${USE_GL}
+.if !defined(_GL_${_component}_LIB_DEPENDS)
+IGNORE= uses unknown GL component
+.else
+USE_XORG+= ${_GL_${_component}_USE_XORG}
+LIB_DEPENDS+= ${_GL_${_component}_LIB_DEPENDS}
+.endif
+.endfor
+
+# _INCLUDE_USES_GL_MK
+.endif
diff --git a/test-ports/Mk/Uses/gmake.mk b/test-ports/Mk/Uses/gmake.mk
new file mode 100644
index 00000000..e48da328
--- /dev/null
+++ b/test-ports/Mk/Uses/gmake.mk
@@ -0,0 +1,21 @@
+# $FreeBSD: head/Mk/Uses/gmake.mk 418216 2016-07-08 11:24:18Z tijl $
+#
+# Provide support to use the GNU make
+#
+# Feature: gmake
+# Usage: USES=gmake
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_GMAKE_MK)
+_INCLUDE_USES_GMAKE_MK= yes
+
+.if !empty(gmake_ARGS)
+IGNORE= Incorrect 'USES+= gmake:${gmake_ARGS}' gmake takes no arguments
+.endif
+
+BUILD_DEPENDS+= gmake:devel/gmake
+CONFIGURE_ENV+= MAKE=gmake
+MAKE_CMD= gmake
+
+.endif
diff --git a/test-ports/Mk/Uses/gnome.mk b/test-ports/Mk/Uses/gnome.mk
new file mode 100644
index 00000000..3a1424b7
--- /dev/null
+++ b/test-ports/Mk/Uses/gnome.mk
@@ -0,0 +1,535 @@
+#-*- tab-width: 4; -*-
+# ex:ts=4
+#
+# $FreeBSD: head/Mk/Uses/gnome.mk 493561 2019-02-22 08:14:11Z bapt $
+# $NetBSD: $
+#
+# Please view me with 4 column tabs!
+
+# ======================= USERS =================================
+#
+# There are no significant user-definable settings in here.
+# This file is a framework to make it easier to create GNOME ports.
+#
+# ======================= /USERS ================================
+
+# Please make sure all changes to this file are passed through the maintainer.
+# Do not commit them yourself (unless of course you're the Port's Wraith ;).
+
+# This section defines possible names of GNOME components and all information
+# necessary for ports to use those components.
+
+# Ports can use this as follows:
+#
+# USE_GNOME= glib20 introspection:build
+#
+# .include <bsd.port.mk>
+#
+# As a result proper LIB_DEPENDS/RUN_DEPENDS will be added and CONFIGURE_ENV
+# and MAKE_ENV defined.
+#
+#
+# GCONF_SCHEMAS - Set the following to list of all the gconf schema files
+# that your port installs. These schema files and
+# %gconf.xml files will be automatically added to
+# the ${PLIST}. For example, if your port has
+# "etc/gconf/schemas/(foo.schemas and bar.schemas)",
+# add the following to your Makefile:
+# "GCONF_SCHEMAS=foo.schemas bar.schemas".
+#
+# GLIB_SCHEMAS - Set the following to list of all gsettings schema files
+# (*.gschema.xml) that your ports installs. The
+# schema files will be automatically added to
+# the ${PLIST}. For example, if your port has
+# "share/glib-2.0/schemas/(foo.gschema.xml and bar.gschema.xml)",
+# add the following to your Makefile:
+# "GLIB_SCHEMAS=foo.gschema.xml bar.gschema.xml".
+#
+# INSTALLS_OMF - If set, bsd.gnome.mk will automatically scan pkg-plist
+# file and add apropriate @exec/@unexec directives for
+# each .omf file found to track OMF registration database.
+#
+# INSTALLS_ICONS - If a GTK+ port installs Freedesktop-style icons to
+# ${LOCALBASE}/share/icons, then you should use this
+# macro. Using this macro ensures that icons are cached
+# and will display correctly. This macro isn't needed
+# for QT based applications, which use a different method.
+#
+# MAINTAINER: gnome@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_GNOME_MK)
+_INCLUDE_USES_GNOME_MK= yes
+
+_USES_POST+= gnome
+
+.if !empty(gnome_ARGS)
+IGNORE= USES=gnome takes no arguments
+.endif
+
+# non-version specific components
+_USE_GNOME_ALL= esound intlhack intltool introspection \
+ referencehack gnomemimedata \
+ gnomeprefix
+
+# GNOME 2 components
+_USE_GNOME_ALL+= atk cairo \
+ gdkpixbuf2 gconf2 glib20 \
+ gnomedocutils gnomesharp20 \
+ gnomevfs2 gtk-update-icon-cache gtk20 gtkhtml3 \
+ gtksharp20 gtksourceview2 gvfs libartlgpl2 libbonobo \
+ libbonoboui libglade2 libgnome \
+ libgnomecanvas libgnomekbd libgnomeprint libgnomeprintui \
+ libgnomeui libgsf libgtkhtml libidl librsvg2 libwnck \
+ libxml2 libxslt \
+ orbit2 pango pangox-compat pygnome2 pygobject pygtk2 \
+ pygtksourceview vte
+
+# GNOME 3 components
+_USE_GNOME_ALL+=dconf evolutiondataserver3 gnomecontrolcenter3 gnomedesktop3 \
+ gnomemenus3 gsound gtk30 gtkhtml4 gtksourceview3 \
+ gtksourceview4 libgda5 \
+ libgda5-ui libwnck3 metacity nautilus3 \
+ pygobject3 vte3
+
+# C++ bindings
+_USE_GNOME_ALL+=atkmm cairomm gconfmm26 glibmm gtkmm20 gtkmm24 \
+ gtkmm30 gtksourceviewmm3 libgdamm5 \
+ libgtksourceviewmm libxml++26 libsigc++12 libsigc++20 \
+ pangomm
+
+# glib-mkenums often fails with C locale
+# https://gitlab.gnome.org/GNOME/glib/issues/1430
+USE_LOCALE?= en_US.UTF-8
+
+GNOME_MAKEFILEIN?= Makefile.in
+SCROLLKEEPER_DIR= /var/db/rarian
+
+referencehack_PRE_PATCH= ${FIND} ${WRKSRC} -name "Makefile.in" -type f | ${XARGS} ${REINPLACE_CMD} -e \
+ "s|test \"\$$\$$installfiles\" = '\$$(srcdir)/html/\*'|:|"
+
+GNOME_HTML_DIR?= ${PREFIX}/share/doc
+GCONF_CONFIG_OPTIONS?= merged
+GCONF_CONFIG_DIRECTORY?=etc/gconf/gconf.xml.defaults
+GCONF_CONFIG_SOURCE?=xml:${GCONF_CONFIG_OPTIONS}:${PREFIX}/${GCONF_CONFIG_DIRECTORY}
+GNOME_LOCALSTATEDIR?= ${PREFIX}/share
+gnomeprefix_CONFIGURE_ENV=GTKDOC="false"
+gnomeprefix_CONFIGURE_ARGS=--localstatedir=${GNOME_LOCALSTATEDIR} \
+ --with-html-dir=${GNOME_HTML_DIR} \
+ --disable-gtk-doc \
+ --with-gconf-source=${GCONF_CONFIG_SOURCE}
+
+atkmm_LIB_DEPENDS= libatkmm-1.6.so:accessibility/atkmm
+atkmm_USE_GNOME_IMPL= glibmm atk
+
+libxml++26_LIB_DEPENDS= libxml++-2.6.so:textproc/libxml++26
+libxml++26_USE_GNOME_IMPL= glibmm libxml2
+
+cairo_LIB_DEPENDS= libcairo.so:graphics/cairo
+
+cairomm_LIB_DEPENDS= libcairomm-1.0.so:graphics/cairomm
+cairomm_USE_GNOME_IMPL= cairo libxml++26
+
+gconfmm26_LIB_DEPENDS= libgconfmm-2.6.so:devel/gconfmm26
+gconfmm26_USE_GNOME_IMPL= glibmm gconf2
+
+glibmm_LIB_DEPENDS= libglibmm-2.4.so:devel/glibmm
+glibmm_USE_GNOME_IMPL= libsigc++20 glib20
+
+gsound_BUILD_DEPENDS= gsound-play:audio/gsound
+gsound_LIB_DEPENDS= libgsound.so:audio/gsound
+gsound_RUN_DEPENDS= gsound-play:audio/gsound
+gsound_USE_GNOME_IMPL= glib20
+
+gtkmm20_LIB_DEPENDS= libgtkmm-2.0.so:x11-toolkits/gtkmm20
+gtkmm20_USE_GNOME_IMPL= libsigc++12 gtk20
+
+gtkmm24_LIB_DEPENDS= libgtkmm-2.4.so:x11-toolkits/gtkmm24
+gtkmm24_USE_GNOME_IMPL= glibmm cairomm atkmm pangomm gtk20
+
+gtkmm30_LIB_DEPENDS= libgtkmm-3.0.so:x11-toolkits/gtkmm30
+gtkmm30_USE_GNOME_IMPL= glibmm cairomm atkmm pangomm gtk30
+
+gtksourceviewmm3_LIB_DEPENDS= libgtksourceviewmm-3.0.so:x11-toolkits/gtksourceviewmm3
+gtksourceviewmm3_USE_GNOME_IMPL= gtkmm30 gtksourceview3
+
+libgdamm5_LIB_DEPENDS= libgdamm-5.0.so:databases/libgdamm5
+libgdamm5_USE_GNOME_IMPL= libgda5 glibmm
+
+libgtksourceviewmm_LIB_DEPENDS= libgtksourceviewmm-2.0.so:x11-toolkits/libgtksourceviewmm
+libgtksourceviewmm_USE_GNOME_IMPL= gtksourceview2 gtkmm24
+
+libsigc++12_LIB_DEPENDS= libsigc-1.2.so:devel/libsigc++12
+
+libsigc++20_LIB_DEPENDS= libsigc-2.0.so:devel/libsigc++20
+
+pangomm_LIB_DEPENDS= libpangomm-1.4.so:x11-toolkits/pangomm
+pangomm_USE_GNOME_IMPL= pango glibmm cairomm
+
+ESD_CONFIG?= ${LOCALBASE}/bin/esd-config
+esound_LIB_DEPENDS= libesd.so:audio/esound
+esound_CONFIGURE_ENV= ESD_CONFIG="${ESD_CONFIG}"
+esound_MAKE_ENV= ESD_CONFIG="${ESD_CONFIG}"
+
+gnomemimedata_BUILD_DEPENDS=${LOCALBASE}/libdata/pkgconfig/gnome-mime-data-2.0.pc:misc/gnome-mime-data
+gnomemimedata_RUN_DEPENDS=${LOCALBASE}/libdata/pkgconfig/gnome-mime-data-2.0.pc:misc/gnome-mime-data
+
+glib20_LIB_DEPENDS= libglib-2.0.so:devel/glib20 \
+ libintl.so:devel/gettext-runtime
+
+atk_LIB_DEPENDS= libatk-1.0.so:accessibility/atk
+atk_USE_GNOME_IMPL= glib20
+
+dconf_BUILD_DEPENDS= dconf:devel/dconf
+dconf_LIB_DEPENDS= libdconf.so:devel/dconf
+dconf_RUN_DEPENDS= dconf:devel/dconf
+dconf_USE_GNOME_IMPL= glib20
+
+pango_LIB_DEPENDS= libpango-1.0.so:x11-toolkits/pango
+pango_USE_GNOME_IMPL= glib20
+
+pangox-compat_LIB_DEPENDS= libpangox-1.0.so:x11-toolkits/pangox-compat
+pangox-compat_USE_GNOME_IMPL= glib20 pango
+
+gdkpixbuf2_LIB_DEPENDS= libgdk_pixbuf-2.0.so:graphics/gdk-pixbuf2
+gdkpixbuf2_USE_GNOME_IMPL=glib20
+
+gtk-update-icon-cache_BUILD_DEPENDS= gtk-update-icon-cache:graphics/gtk-update-icon-cache
+gtk-update-icon-cache_RUN_DEPENDS= gtk-update-icon-cache:graphics/gtk-update-icon-cache
+gtk-update-icon-cache_USE_GNOME_IMPL= atk pango gdkpixbuf2
+
+gtk20_LIB_DEPENDS= libgtk-x11-2.0.so:x11-toolkits/gtk20
+gtk20_USE_GNOME_IMPL= atk pango
+GTK2_VERSION= 2.10.0
+
+gtk30_LIB_DEPENDS= libgtk-3.so:x11-toolkits/gtk30
+gtk30_USE_GNOME_IMPL= atk pango
+GTK3_VERSION= 3.0.0
+
+libidl_LIB_DEPENDS= libIDL-2.so:devel/libIDL
+libidl_USE_GNOME_IMPL= glib20
+
+orbit2_LIB_DEPENDS= libORBit-2.so:devel/ORBit2
+orbit2_USE_GNOME_IMPL= libidl
+
+libglade2_LIB_DEPENDS= libglade-2.0.so:devel/libglade2
+libglade2_USE_GNOME_IMPL=libxml2 gtk20
+
+libxml2_BUILD_DEPENDS= xml2-config:textproc/libxml2
+libxml2_LIB_DEPENDS= libxml2.so:textproc/libxml2
+libxml2_RUN_DEPENDS= xml2-config:textproc/libxml2
+
+libxslt_BUILD_DEPENDS= xsltproc:textproc/libxslt
+libxslt_LIB_DEPENDS= libxslt.so:textproc/libxslt
+libxslt_RUN_DEPENDS= ${libxslt_BUILD_DEPENDS}
+libxslt_USE_GNOME_IMPL= libxml2
+
+libbonobo_LIB_DEPENDS= libbonobo-2.so:devel/libbonobo
+libbonobo_USE_GNOME_IMPL=libxml2 orbit2
+
+introspection_BUILD_DEPENDS= g-ir-scanner:devel/gobject-introspection
+introspection_LIB_DEPENDS= libgirepository-1.0.so:devel/gobject-introspection
+introspection_RUN_DEPENDS= g-ir-scanner:devel/gobject-introspection
+introspection_USE_GNOME_IMPL= glib20
+introspection_MAKE_ENV= GI_SCANNER_DISABLE_CACHE=1 XDG_CACHE_HOME=${WRKDIR}
+
+gconf2_LIB_DEPENDS= libgconf-2.so:devel/gconf2
+gconf2_USE_GNOME_IMPL= orbit2 libxml2 gtk20
+
+gnomevfs2_LIB_DEPENDS= libgnomevfs-2.so:devel/gnome-vfs
+gnomevfs2_USE_GNOME_IMPL=gconf2 gnomemimedata
+
+libgnomecanvas_LIB_DEPENDS= libgnomecanvas-2.so:graphics/libgnomecanvas
+libgnomecanvas_USE_GNOME_IMPL= libglade2 libartlgpl2
+
+libartlgpl2_LIB_DEPENDS= libart_lgpl_2.so:graphics/libart_lgpl
+
+libgnomeprint_LIB_DEPENDS= libgnomeprint-2-2.so:print/libgnomeprint
+libgnomeprint_USE_GNOME_IMPL= libbonobo libartlgpl2 gtk20
+
+libgnomeprintui_LIB_DEPENDS= libgnomeprintui-2-2.so:x11-toolkits/libgnomeprintui
+libgnomeprintui_USE_GNOME_IMPL= libgnomeprint libgnomecanvas
+
+libgnome_LIB_DEPENDS= libgnome-2.so:x11/libgnome
+libgnome_USE_GNOME_IMPL=gnomevfs2 libbonobo
+
+libbonoboui_LIB_DEPENDS= libbonoboui-2.so:x11-toolkits/libbonoboui
+libbonoboui_USE_GNOME_IMPL= libgnomecanvas libgnome
+
+libgnomeui_LIB_DEPENDS= libgnomeui-2.so:x11-toolkits/libgnomeui
+libgnomeui_USE_GNOME_IMPL= libbonoboui
+
+libgtkhtml_LIB_DEPENDS= libgtkhtml-2.so:www/libgtkhtml
+libgtkhtml_USE_GNOME_IMPL=libxslt gnomevfs2
+
+gnomedesktop3_LIB_DEPENDS= libgnome-desktop-3.so:x11/gnome-desktop
+gnomedesktop3_USE_GNOME_IMPL= gtk30
+
+libwnck_LIB_DEPENDS= libwnck-1.so:x11-toolkits/libwnck
+libwnck_USE_GNOME_IMPL= gtk20
+
+libwnck3_LIB_DEPENDS= libwnck-3.so:x11-toolkits/libwnck3
+libwnck3_USE_GNOME_IMPL=gtk30
+
+vte_LIB_DEPENDS= libvte.so:x11-toolkits/vte
+vte_USE_GNOME_IMPL= gtk20
+
+vte3_LIB_DEPENDS= libvte-2.91.so:x11-toolkits/vte3
+vte3_USE_GNOME_IMPL= gtk30
+
+librsvg2_LIB_DEPENDS= librsvg-2.so:graphics/librsvg2
+librsvg2_USE_GNOME_IMPL=libgsf gdkpixbuf2 pango
+
+nautilus3_LIB_DEPENDS= libnautilus-extension.so:x11-fm/nautilus
+nautilus3_USE_GNOME_IMPL=gnomedesktop3 gvfs libxml2
+
+metacity_LIB_DEPENDS= libmetacity-private.so:x11-wm/metacity
+
+gnomecontrolcenter3_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/gnome-keybindings.pc:sysutils/gnome-control-center
+gnomecontrolcenter3_RUN_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/gnome-keybindings.pc:sysutils/gnome-control-center
+gnomecontrolcenter3_USE_GNOME_IMPL= gnomedesktop3
+
+libgda5_LIB_DEPENDS= libgda-5.0.so:databases/libgda5
+libgda5_USE_GNOME_IMPL= glib20 libxslt
+
+libgda5-ui_LIB_DEPENDS= libgda-ui-5.0.so:databases/libgda5-ui
+libgda5-ui_USE_GNOME_IMPL=glib20 libxslt libgda5
+
+gtksourceview2_LIB_DEPENDS= libgtksourceview-2.0.so:x11-toolkits/gtksourceview2
+gtksourceview2_USE_GNOME_IMPL=gtk20 libxml2
+
+gtksourceview3_LIB_DEPENDS= libgtksourceview-3.0.so:x11-toolkits/gtksourceview3
+gtksourceview3_USE_GNOME_IMPL=gtk30 libxml2
+
+gtksourceview4_LIB_DEPENDS= libgtksourceview-4.so:x11-toolkits/gtksourceview4
+gtksourceview4_USE_GNOME_IMPL=gtk30 libxml2
+
+libgsf_LIB_DEPENDS= libgsf-1.so:devel/libgsf
+libgsf_USE_GNOME_IMPL= glib20 libxml2
+
+pygobject_BUILD_DEPENDS= pygobject-codegen-2.0:devel/py-gobject
+pygobject_RUN_DEPENDS= pygobject-codegen-2.0:devel/py-gobject
+pygobject_USE_GNOME_IMPL= glib20
+
+pygobject3_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}gobject3>=0:devel/py-gobject3@${PY_FLAVOR}
+pygobject3_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}gobject3>=0:devel/py-gobject3@${PY_FLAVOR}
+pygobject3_USE_GNOME_IMPL= glib20
+
+pygtk2_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/pygtk-2.0.pc:x11-toolkits/py-gtk2
+pygtk2_RUN_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/pygtk-2.0.pc:x11-toolkits/py-gtk2
+pygtk2_USE_GNOME_IMPL= libglade2 pygobject
+
+pygnome2_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/gnome-python-2.0.pc:x11-toolkits/py-gnome2
+pygnome2_RUN_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/gnome-python-2.0.pc:x11-toolkits/py-gnome2
+pygnome2_USE_GNOME_IMPL=libgnomeui pygtk2
+
+intltool_BUILD_DEPENDS= ${LOCALBASE}/bin/intltool-extract:textproc/intltool
+
+intlhack_PRE_PATCH= ${FIND} ${WRKSRC} -name "intltool-merge.in" | ${XARGS} ${REINPLACE_CMD} \
+ 's|mkdir $$lang or|mkdir $$lang, 0777 or| ; \
+ s|^push @INC, "/.*|push @INC, "${LOCALBASE}/share/intltool";| ; \
+ s|/usr/bin/iconv|${ICONV_CMD}|g ; \
+ s|unpack *[(]'"'"'U\*'"'"'|unpack ('"'"'C*'"'"'|' ; \
+ ${FIND} ${WRKSRC} -name configure | ${XARGS} ${REINPLACE_CMD} \
+ 's/DATADIRNAME=lib/DATADIRNAME=share/'
+intlhack_USE_GNOME_IMPL=intltool
+
+gtkhtml3_LIB_DEPENDS= libgtkhtml-3.14.so:www/gtkhtml3
+gtkhtml3_USE_GNOME_IMPL=libglade2
+
+gtkhtml4_LIB_DEPENDS= libgtkhtml-4.0.so:www/gtkhtml4
+gtkhtml4_USE_GNOME_IMPL=gtk30 libxml2
+
+evolutiondataserver3_LIB_DEPENDS= libedataserver-1.2.so:databases/evolution-data-server
+evolutiondataserver3_USE_GNOME_IMPL= libxml2 gtk30
+
+gnomemenus3_BUILD_DEPENDS= gnome-menus>=3.2.0:x11/gnome-menus
+gnomemenus3_RUN_DEPENDS= gnome-menus>=3.2.0:x11/gnome-menus
+gnomemenus3_USE_GNOME_IMPL= glib20
+
+gnomedocutils_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/gnome-doc-utils.pc:textproc/gnome-doc-utils
+gnomedocutils_RUN_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/gnome-doc-utils.pc:textproc/gnome-doc-utils
+gnomedocutils_USE_GNOME_IMPL= libxslt
+
+gtksharp10_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/gtk-sharp.pc:x11-toolkits/gtk-sharp10
+gtksharp10_RUN_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/gtk-sharp.pc:x11-toolkits/gtk-sharp10
+gtksharp10_USE_GNOME_IMPL= gtk20
+
+gtksharp20_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/gtk-sharp-2.0.pc:x11-toolkits/gtk-sharp20
+gtksharp20_RUN_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/gtk-sharp-2.0.pc:x11-toolkits/gtk-sharp20
+gtksharp20_USE_GNOME_IMPL= gtk20
+
+gnomesharp20_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/gnome-sharp-2.0.pc:x11-toolkits/gnome-sharp20
+gnomesharp20_RUN_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/gnome-sharp-2.0.pc:x11-toolkits/gnome-sharp20
+gnomesharp20_USE_GNOME_IMPL= gnomevfs2 gtkhtml3 gtksharp20 librsvg2 vte
+
+libgnomekbd_LIB_DEPENDS= libgnomekbd.so:x11/libgnomekbd
+libgnomekbd_USE_GNOME_IMPL= gtk30 libxml2
+
+pygtksourceview_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/pygtksourceview-2.0.pc:x11-toolkits/py-gtksourceview
+pygtksourceview_RUN_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/pygtksourceview-2.0.pc:x11-toolkits/py-gtksourceview
+pygtksourceview_USE_GNOME_IMPL= gtksourceview2 pygtk2
+
+gvfs_BUILD_DEPENDS= gvfs>=0:devel/gvfs
+gvfs_RUN_DEPENDS= gvfs>=0:devel/gvfs
+gvfs_USE_GNOME_IMPL= glib20
+
+.if defined(INSTALLS_ICONS)
+USE_GNOME+= gtk-update-icon-cache
+.endif
+
+# End component definition section
+
+.if defined(USE_GNOME)
+# First of all expand all USE_GNOME_IMPL recursively
+. for component in ${_USE_GNOME_ALL}
+. for subcomponent in ${${component}_USE_GNOME_IMPL}
+${component}_USE_GNOME_IMPL+=${${subcomponent}_USE_GNOME_IMPL}
+. endfor
+. endfor
+
+# Then use already expanded USE_GNOME_IMPL to expand USE_GNOME.
+# Also, check to see if each component has a desktop requirement. If it does,
+# and if the user's chosen desktop is not of the same version, mark the
+# port as IGNORE.
+. for component in ${USE_GNOME:C/^([^:]+).*/\1/}
+. if ${_USE_GNOME_ALL:M${component}}==""
+IGNORE= cannot install: Unknown component ${component}
+. endif
+_USE_GNOME+= ${${component}_USE_GNOME_IMPL} ${component}
+. endfor
+
+# Setup the GTK+ API version for pixbuf loaders, input method modules,
+# and theme engines.
+PLIST_SUB+= GTK2_VERSION="${GTK2_VERSION}" \
+ GTK3_VERSION="${GTK3_VERSION}"
+
+.if defined(_USE_GNOME) && empty(_USE_GNOME:Mglib20:u) && defined(GLIB_SCHEMAS)
+IGNORE= GLIB_SCHEMAS is set, but needs USE_GNOME=glib20 to work
+.endif
+
+.if defined(_USE_GNOME) && empty(_USE_GNOME:Mgconf2:u) && defined(GCONF_SCHEMAS)
+IGNORE= GCONF_SCHEMAS is set, but needs USE_GNOME=gconf2 to work
+.endif
+
+# Then traverse through all components, check which of them
+# exist in ${_USE_GNOME} and set variables accordingly
+.ifdef _USE_GNOME
+
+. for component in ${_USE_GNOME:O:u}
+. if defined(${component}_PATCH_DEPENDS)
+PATCH_DEPENDS+= ${${component}_PATCH_DEPENDS}
+. endif
+
+. if ${USE_GNOME:M${component}\:build} && defined(${component}_BUILD_DEPENDS)
+BUILD_DEPENDS+= ${${component}_BUILD_DEPENDS}
+. elif ${USE_GNOME:M${component}\:run} && defined(${component}_RUN_DEPENDS)
+RUN_DEPENDS+= ${${component}_RUN_DEPENDS}
+. else
+. if defined(${component}_LIB_DEPENDS)
+LIB_DEPENDS+= ${${component}_LIB_DEPENDS}
+. else
+BUILD_DEPENDS+= ${${component}_BUILD_DEPENDS}
+RUN_DEPENDS+= ${${component}_RUN_DEPENDS}
+. endif
+. endif
+
+. if defined(${component}_CONFIGURE_ARGS)
+CONFIGURE_ARGS+=${${component}_CONFIGURE_ARGS}
+. endif
+
+. if defined(${component}_CONFIGURE_ENV)
+CONFIGURE_ENV+= ${${component}_CONFIGURE_ENV}
+. endif
+
+. if defined(${component}_MAKE_ENV)
+MAKE_ENV+= ${${component}_MAKE_ENV}
+. endif
+
+. if !defined(CONFIGURE_TARGET) && defined(${component}_CONFIGURE_TARGET)
+CONFIGURE_TARGET= ${${component}_CONFIGURE_TARGET}
+. endif
+
+. if defined(${component}_PRE_PATCH)
+GNOME_PRE_PATCH+= ; ${${component}_PRE_PATCH}
+. endif
+. endfor
+.endif
+
+. if defined(GCONF_SCHEMAS)
+MAKE_ENV+= GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1
+. endif
+.endif
+
+.if defined(USE_GNOME_SUBR)
+GNOME_SUBR= ${LOCALBASE}/etc/gnome.subr
+RUN_DEPENDS+= ${GNOME_SUBR}:sysutils/gnome_subr
+SUB_LIST+= GNOME_SUBR=${GNOME_SUBR}
+.endif
+
+.endif
+# end of the part
+
+.if defined(_POSTMKINCLUDED) && !defined(_INCLUDE_USES_GNOME_POST_MK)
+_INCLUDE_USES_GNOME_POST_MK= yes
+
+.if defined(GNOME_PRE_PATCH)
+_USES_patch+= 290:gnome-pre-patch
+gnome-pre-patch:
+ @${GNOME_PRE_PATCH:C/^;//1}
+.endif
+
+.if defined(GCONF_SCHEMAS)
+_USES_install+= 690:gnome-post-gconf-schemas
+gnome-post-gconf-schemas:
+ @for i in ${GCONF_SCHEMAS}; do \
+ ${ECHO_CMD} "@postunexec env GCONF_CONFIG_SOURCE=xml:${GCONF_CONFIG_OPTIONS}:%D/${GCONF_CONFIG_DIRECTORY} HOME=${WRKDIR} gconftool-2 --makefile-uninstall-rule %D/etc/gconf/schemas/$${i} > /dev/null || /usr/bin/true" \
+ >> ${TMPPLIST}; \
+ ${ECHO_CMD} "etc/gconf/schemas/$${i}" >> ${TMPPLIST}; \
+ ${ECHO_CMD} "@postexec env GCONF_CONFIG_SOURCE=xml:${GCONF_CONFIG_OPTIONS}:%D/${GCONF_CONFIG_DIRECTORY} HOME=${WRKDIR} gconftool-2 --makefile-install-rule %D/etc/gconf/schemas/$${i} > /dev/null || /usr/bin/true" \
+ >> ${TMPPLIST}; \
+ done
+.endif
+
+# we put the @unexec behind the plist schema entry, because it compiles files
+# in the directory. So we should remove the port file first before recompiling.
+.if defined(GLIB_SCHEMAS)
+_USES_install+= 690:gnome-post-glib-schemas
+gnome-post-glib-schemas:
+ @for i in ${GLIB_SCHEMAS}; do \
+ ${ECHO_CMD} "share/glib-2.0/schemas/$${i}" >> ${TMPPLIST}; \
+ done
+ @${ECHO_CMD} "@glib-schemas" >> ${TMPPLIST};
+.endif
+
+.if defined(INSTALLS_OMF)
+_USES_install+= 690:gnome-post-omf
+gnome-post-omf:
+ @for i in `${GREP} "\.omf$$" ${TMPPLIST}`; do \
+ ${ECHO_CMD} "@postexec scrollkeeper-install -q %D/$${i} 2>/dev/null || /usr/bin/true" \
+ >> ${TMPPLIST}; \
+ ${ECHO_CMD} "@postunexec scrollkeeper-uninstall -q %D/$${i} 2>/dev/null || /usr/bin/true" \
+ >> ${TMPPLIST}; \
+ done
+.endif
+
+.if defined(INSTALLS_ICONS)
+_USES_install+= 690:gnome-post-icons
+gnome-post-icons:
+ @${RM} ${TMPPLIST}.icons1
+ @for i in `${GREP} "^share/icons/.*/" ${TMPPLIST} | ${CUT} -d / -f 1-3 | ${SORT} -u`; do \
+ ${ECHO_CMD} "@rmtry $${i}/icon-theme.cache" \
+ >> ${TMPPLIST}.icons1; \
+ ${ECHO_CMD} "@postexec ${LOCALBASE}/bin/gtk-update-icon-cache -q -f %D/$${i} 2>/dev/null || /usr/bin/true" \
+ >> ${TMPPLIST}; \
+ ${ECHO_CMD} "@postunexec ${LOCALBASE}/bin/gtk-update-icon-cache -q -f %D/$${i} 2>/dev/null || /usr/bin/true" \
+ >> ${TMPPLIST}; \
+ done
+ @if test -f ${TMPPLIST}.icons1; then \
+ ${CAT} ${TMPPLIST}.icons1 ${TMPPLIST} > ${TMPPLIST}.icons2; \
+ ${RM} ${TMPPLIST}.icons1; \
+ ${MV} -f ${TMPPLIST}.icons2 ${TMPPLIST}; \
+ fi
+.endif
+
+.endif
+# End of use part.
diff --git a/test-ports/Mk/Uses/gnustep.mk b/test-ports/Mk/Uses/gnustep.mk
new file mode 100644
index 00000000..4f9b9a0a
--- /dev/null
+++ b/test-ports/Mk/Uses/gnustep.mk
@@ -0,0 +1,95 @@
+# $FreeBSD: head/Mk/Uses/gnustep.mk 492056 2019-02-03 15:37:58Z theraven $
+#
+# Handle GNUstep related ports
+#
+# Feature: gnustep
+# Usage: USES=gnustep
+#
+# Defined specific dependencies under USE_GNUSTEP
+# Expected arguments for USE_GNUSTEP:
+#
+# base: depends on the gnustep-base port
+# gui: depends on the gnustep-gui port
+# back: depends on the gnustep-back port
+# build: prepare the build dependencies for a regular GNUstep port
+#
+
+.if !defined(_INCLUDE_USES_GNUSTEP_MK)
+_INCLUDE_USES_GNUSTEP_MK= yes
+.include "${USESDIR}/gmake.mk"
+
+GNUSTEP_PREFIX?= ${LOCALBASE}/GNUstep
+DEFAULT_LIBVERSION?= 0.0.1
+
+GNUSTEP_SYSTEM_ROOT= ${GNUSTEP_PREFIX}/System
+GNUSTEP_MAKEFILES= ${GNUSTEP_SYSTEM_ROOT}/Library/Makefiles
+GNUSTEP_SYSTEM_LIBRARIES= ${GNUSTEP_SYSTEM_ROOT}/Library/Libraries
+GNUSTEP_SYSTEM_TOOLS= ${GNUSTEP_SYSTEM_ROOT}/Tools
+
+GNUSTEP_LOCAL_ROOT= ${GNUSTEP_PREFIX}/Local
+GNUSTEP_LOCAL_LIBRARIES= ${GNUSTEP_LOCAL_ROOT}/Library/Libraries
+GNUSTEP_LOCAL_TOOLS= ${GNUSTEP_LOCAL_ROOT}/Tools
+
+LIB_DIRS+= ${GNUSTEP_SYSTEM_LIBRARIES} \
+ ${GNUSTEP_LOCAL_LIBRARIES}
+
+.for a in CFLAGS CPPFLAGS CXXFLAGS OBJCCFLAGS OBJCFLAGS LDFLAGS
+MAKE_ENV+= ADDITIONAL_${a}="${ADDITIONAL_${a}} ${${a}}"
+.endfor
+.for a in FLAGS INCLUDE_DIRS LIB_DIRS
+MAKE_ENV+= ADDITIONAL_${a}="${ADDITIONAL_${a}}"
+.endfor
+MAKE_ARGS+=messages=yes
+# BFD ld can't link Objective-C programs for some reason. Most things are fine
+# with LLD, but the things that don't (e.g. sope) need gold.
+.if defined(LLD_UNSAFE)
+MAKE_ARGS+=LDFLAGS='-fuse-ld=gold'
+BUILD_DEPENDS+= ${LOCALBASE}/bin/ld.gold:devel/binutils
+.else
+MAKE_ARGS+=LDFLAGS='-fuse-ld=${OBJC_LLD}'
+.endif
+
+MAKEFILE= GNUmakefile
+#MAKE_ENV+= GNUSTEP_CONFIG_FILE=${PORTSDIR}/devel/gnustep-make/files/GNUstep.conf
+GNU_CONFIGURE_PREFIX= ${GNUSTEP_PREFIX}
+
+.if ${MACHINE_ARCH} == "i386"
+GNU_ARCH= ix86
+.else
+GNU_ARCH= ${MACHINE_ARCH}
+.endif
+
+PLIST_SUB+= GNU_ARCH=${GNU_ARCH} VERSION=${PORTVERSION}
+PLIST_SUB+= MAJORVERSION=${PORTVERSION:C/([0-9]).*/\1/1}
+PLIST_SUB+= LIBVERSION=${DEFAULT_LIBVERSION}
+PLIST_SUB+= MAJORLIBVERSION=${DEFAULT_LIBVERSION:C/([0-9]).*/\1/1}
+
+.if defined(USE_GNUSTEP)
+. if ${USE_GNUSTEP:Mbase}
+LIB_DEPENDS+= libgnustep-base.so:lang/gnustep-base
+. endif
+
+. if ${USE_GNUSTEP:Mbuild}
+PATH:= ${GNUSTEP_SYSTEM_TOOLS}:${GNUSTEP_LOCAL_TOOLS}:${PATH}
+MAKE_ENV+= PATH="${PATH}" GNUSTEP_MAKEFILES="${GNUSTEP_MAKEFILES}"
+# All GNUstep things installed from ports should be in the System domain.
+# Things installed from source can then freely live in the Local domain without
+# conflicts.
+MAKE_ENV+= GNUSTEP_INSTALLATION_DOMAIN=SYSTEM
+CONFIGURE_ENV+= PATH="${PATH}" GNUSTEP_MAKEFILES="${GNUSTEP_MAKEFILES}"
+BUILD_DEPENDS+= gnustep-make>0:devel/gnustep-make
+.include "${USESDIR}/objc.mk"
+. endif
+
+. if ${USE_GNUSTEP:Mgui}
+LIB_DEPENDS+= libgnustep-gui.so:x11-toolkits/gnustep-gui
+. endif
+
+. if ${USE_GNUSTEP:Mback}
+BUILD_DEPENDS+= gnustep-back>0:x11-toolkits/gnustep-back
+RUN_DEPENDS+= gnustep-back>0:x11-toolkits/gnustep-back
+. endif
+
+.endif
+
+.endif
diff --git a/test-ports/Mk/Uses/go.mk b/test-ports/Mk/Uses/go.mk
new file mode 100644
index 00000000..5756c219
--- /dev/null
+++ b/test-ports/Mk/Uses/go.mk
@@ -0,0 +1,104 @@
+# $FreeBSD: head/Mk/Uses/go.mk 478076 2018-08-25 17:26:16Z jlaffaye $
+#
+# This file contains logic to ease porting of Go packages or binaries using
+# the `go` command.
+#
+# Feature: go
+# Usage: USES=go
+# Valid ARGS: none
+#
+# You can set the following variables to control the process.
+#
+# GO_PKGNAME
+# The name of the package. This is the directory that will be
+# created in GOPATH/src and seen by the `go` command
+#
+# GO_TARGET
+# The names of the package(s) to build
+#
+# CGO_CFLAGS
+# Addional CFLAGS variables to be passed to the C compiler by the `go`
+# command
+#
+# CGO_LDFLAGS
+# Addional LDFLAGS variables to be passed to the C compiler by the `go`
+# command
+#
+# GO_BUILDFLAGS
+# Additional build arguments to be passed to the `go install` command
+#
+# MAINTAINER: jlaffaye@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_GO_MK)
+_INCLUDE_USES_GO_MK= yes
+
+.if ${ARCH} == "i386"
+GOARCH= 386
+GOOBJ= 8
+.else
+GOARCH= amd64
+GOOBJ= 6
+.endif
+
+# Settable variables
+GO_PKGNAME?= ${PORTNAME}
+GO_TARGET?= ${GO_PKGNAME}
+GO_BUILDFLAGS+= -v
+CGO_CFLAGS+= -I${LOCALBASE}/include
+CGO_LDFLAGS+= -L${LOCALBASE}/lib
+
+# Read-only variables
+GO_CMD= ${LOCALBASE}/bin/go
+LOCAL_GOPATH= ${LOCALBASE}/share/go
+GO_LIBDIR= share/go/pkg/${OPSYS:tl}_${GOARCH}
+GO_SRCDIR= share/go/src
+GO_WRKSRC= ${GO_WRKDIR_SRC}/${GO_PKGNAME}
+GO_WRKDIR_BIN= ${WRKDIR}/bin
+GO_WRKDIR_SRC= ${WRKDIR}/src
+GO_WRKDIR_PKG= ${WRKDIR}/pkg/${OPSYS:tl}_${GOARCH}
+
+BUILD_DEPENDS+= ${GO_CMD}:lang/go
+GO_ENV+= GOPATH="${WRKDIR}:${LOCAL_GOPATH}" \
+ CGO_CFLAGS="${CGO_CFLAGS}" \
+ CGO_LDFLAGS="${CGO_LDFLAGS}" \
+ GOBIN=""
+PLIST_SUB+= GO_LIBDIR=${GO_LIBDIR} \
+ GO_SRCDIR=${GO_SRCDIR} \
+ GO_PKGNAME=${GO_PKGNAME}
+
+_USES_POST+= go
+.endif # !defined(_INCLUDE_USES_GO_MK)
+
+.if defined(_POSTMKINCLUDED) && !defined(_INCLUDE_USES_GO_POST_MK)
+_INCLUDE_USES_GO_POST_MK= yes
+
+.if !target(post-extract)
+post-extract:
+ @${MKDIR} ${GO_WRKSRC:H}
+ @${LN} -sf ${WRKSRC} ${GO_WRKSRC}
+.endif
+
+.if !target(do-build)
+do-build:
+ @(cd ${GO_WRKSRC}; \
+ ${SETENV} ${MAKE_ENV} ${GO_ENV} ${GO_CMD} install ${GO_BUILDFLAGS} ${GO_TARGET})
+.endif
+
+.if !target(do-install)
+do-install:
+.for _TARGET in ${GO_TARGET}
+ @if [ -e "${GO_WRKDIR_PKG}/${_TARGET}.a" ]; then \
+ _TARGET_LIBDIR="${STAGEDIR}/${PREFIX}/${GO_LIBDIR}/${_TARGET:H}"; \
+ ${MKDIR} $${_TARGET_LIBDIR}; \
+ ${INSTALL_DATA} ${GO_WRKDIR_PKG}/${_TARGET}.a $${_TARGET_LIBDIR}; \
+ _TARGET_SRCDIR="${STAGEDIR}/${PREFIX}/${GO_SRCDIR}/${_TARGET}"; \
+ ${MKDIR} $${_TARGET_SRCDIR}; \
+ (cd ${GO_WRKDIR_SRC}/${_TARGET}/ && ${COPYTREE_SHARE} \* $${_TARGET_SRCDIR}); \
+ fi; \
+ if [ -e "${GO_WRKDIR_BIN}/${_TARGET:T}" ]; then \
+ ${INSTALL_PROGRAM} ${GO_WRKDIR_BIN}/${_TARGET:T} ${STAGEDIR}/${LOCALBASE}/bin; \
+ fi;
+.endfor
+.endif
+
+.endif # defined(_POSTMKINCLUDED) && !defined(_INCLUDE_USES_GO_POST_MK)
diff --git a/test-ports/Mk/Uses/gperf.mk b/test-ports/Mk/Uses/gperf.mk
new file mode 100644
index 00000000..0ff5ded3
--- /dev/null
+++ b/test-ports/Mk/Uses/gperf.mk
@@ -0,0 +1,35 @@
+# $FreeBSD: head/Mk/Uses/gperf.mk 411970 2016-03-27 01:23:25Z bapt $
+#
+# handle dependency on gperf
+#
+# Feature: gperf
+# Usage: USES=gperf
+#
+# Take no arguments
+
+.if !defined(_INCLUDE_USES_GPERF_MK)
+_INCLUDE_USES_GPERF_MK= yes
+
+.if !exists(/usr/bin/gperf)
+BUILD_DEPENDS+= ${LOCALBASE}/bin/gperf:devel/gperf
+GPERF= ${LOCALBASE}/bin/gperf
+.else
+_GPERF_VERSION!= /usr/bin/gperf --version | head -1 || true
+_GPERF_MAJ_VERSION= ${_GPERF_VERSION:M[0-9].[0-9].[0-9]:C/.*([0-9]).[0-9].[0-9].*/\1/g}
+
+.if empty(_GPERF_MAJ_VERSION)
+_GPERF_MAJ_VERSION= 0
+.endif
+
+.if ${_GPERF_MAJ_VERSION} < 3
+BUILD_DEPENDS+= ${LOCALBASE}/bin/gperf:devel/gperf
+GPERF= ${LOCALBASE}/bin/gperf
+.else
+GPERF= /usr/bin/gperf
+.endif
+.endif
+
+CONFIGURE_ENV+= GPERF=${GPERF}
+MAKE_ENV+= GPERF=${GPERF}
+
+.endif
diff --git a/test-ports/Mk/Uses/grantlee.mk b/test-ports/Mk/Uses/grantlee.mk
new file mode 100644
index 00000000..e83b4279
--- /dev/null
+++ b/test-ports/Mk/Uses/grantlee.mk
@@ -0,0 +1,79 @@
+# $FreeBSD: head/Mk/Uses/grantlee.mk 439961 2017-05-02 17:25:16Z tcberner $
+#
+# Handle dependency on grantlee
+#
+# Feature: grantlee
+# Usage: USES=grantlee:ARGS
+# Valid ARGS: <version>,selfbuild
+#
+# version The chooseable versions are 4 and 5.
+# USES=grantlee:4 # Use grantlee 0.x (qt4-based)
+# USES=grantlee:5 # Use grantlee 5.x (qt5-based)
+#
+# selfbuild Used in devel/grantlee and devel/grantlee5 to suck in versions
+# but not LIB_DEPENDS.
+#
+# Using USES=grantlee:ARGS will export some usesful variables and plist subs
+# Variables:
+# GRANTLEE_VERSION - the version of the chosen grantlee
+# Subs:
+# GRANTLEE_VERSION_FULL - full version of the chosen grantlee
+# GRANTLEE_VERSION_SHORT - short version of the chosen grantlee
+# GRANTLEE_DEBUG_SUFFIX - a suffix to the library name depending
+# the buildtype (WITH_DEBUG) that gets
+# appended to library names of plugins
+# for grantlee5.
+#
+# Further it will also append the proper LIB_DEPENDS line.
+#
+# MAINTAINER: kde@FreeBSD.org
+#
+
+.if ! defined(_INCLUDE_USES_GRANTLEE_MK)
+_INCLUDE_USES_GRANTLEE_MK= YES
+
+GRANTLEE_SUPPORTED= 4 5
+
+GRANTLEE4_VER= 0.5.1
+GRANTLEE5_VER= 5.1.0
+
+GRANTLEE4_LIB_DEPEND= libgrantlee_gui.so:devel/grantlee
+GRANTLEE5_LIB_DEPEND= libGrantlee_Templates.so:devel/grantlee5
+
+_grantlee_version= #
+. for ver in ${GRANTLEE_SUPPORTED:O:u}
+. if ${grantlee_ARGS:M${ver}}
+. if empty(_grantlee_version)
+_grantlee_version= ${ver}
+. else
+IGNORE= Incorrect USES=grantlee:${grantlee_ARGS} - multiple versions defined
+. endif
+. endif
+. endfor
+
+. if empty(_grantlee_version)
+IGNORE= Incorrect USES=grantlee:${grantlee_ARGS} - no version defined
+. endif
+
+# Export the version of the chosen grantlee port
+GRANTLEE_VERSION= ${GRANTLEE${_grantlee_version}_VER}
+
+# Append the correct LIB_DEPENDS
+. if empty(grantlee_ARGS:Mselfbuild)
+LIB_DEPENDS+= ${GRANTLEE${_grantlee_version}_LIB_DEPEND}
+. endif
+
+# Export the plist substitutions
+PLIST_SUB+= GRANTLEE_VERSION_FULL=${GRANTLEE_VERSION} \
+ GRANTLEE_VERSION_SHORT=${GRANTLEE_VERSION:R}
+
+# GrantleeMacros.cmake provides grantlee_adjust_plugin_name() which appends a
+# letter 'd' to the library name in Debug mode. Provide a PLIST_SUB which can be
+# appended in the plist.
+. if defined(WITH_DEBUG)
+PLIST_SUB+= GRANTLEE_DEBUG_SUFFIX=d
+. else
+PLIST_SUB+= GRANTLEE_DEBUG_SUFFIX=""
+. endif
+
+.endif
diff --git a/test-ports/Mk/Uses/groff.mk b/test-ports/Mk/Uses/groff.mk
new file mode 100644
index 00000000..c35b6c1d
--- /dev/null
+++ b/test-ports/Mk/Uses/groff.mk
@@ -0,0 +1,31 @@
+# $FreeBSD: head/Mk/Uses/groff.mk 441689 2017-05-25 14:04:48Z bapt $
+#
+# handle dependency on groff
+#
+# Feature: groff
+# Usage: USES=groff
+# Valid ARGS: build (default, implicit), run, both
+
+.if !defined(_INCLUDE_USES_GROFF_MK)
+_INCLUDE_USES_GROFF_MK= yes
+
+. if !exists(/usr/bin/groff)
+. if empty(groff_ARGS)
+groff_ARGS= build
+. endif
+
+_GROFF_DEPENDS= groff:textproc/groff
+
+. if ${groff_ARGS} == "build"
+BUILD_DEPENDS+= ${_GROFF_DEPENDS}
+. elif ${groff_ARGS} == "run"
+RUN_DEPENDS+= ${_GROFF_DEPENDS}
+. elif ${groff_ARGS} == "both"
+BUILD_DEPENDS+= ${_GROFF_DEPENDS}
+RUN_DEPENDS+= ${_GROFF_DEPENDS}
+. else
+IGNORE= USES=groff - invalid args: [${groff_ARGS}] specified
+. endif
+. endif
+
+.endif
diff --git a/test-ports/Mk/Uses/gssapi.mk b/test-ports/Mk/Uses/gssapi.mk
new file mode 100644
index 00000000..30e427c2
--- /dev/null
+++ b/test-ports/Mk/Uses/gssapi.mk
@@ -0,0 +1,188 @@
+# $FreeBSD: head/Mk/Uses/gssapi.mk 483807 2018-11-02 13:32:34Z rene $
+#
+# handle dependency on Kerberos port
+#
+# Feature: gssapi
+# Usage: USES=gssapi or USES=gssapi:ARGS
+# Valid ARGS: base (default, implicit), heimdal, mit.
+# "bootstrap" is a special prefix only for krb5 or heimdal ports.
+# ("bootstrap,mit")
+# flags is a special suffix to define CFLAGS, LDFLAGS, and LDADD.
+# ("base,flags")
+#
+# MAINTAINER: hrs@FreeBSD.org
+#
+# User defined variables:
+# HEIMDAL_HOME (default: ${LOCALBASE})
+# KRB5_HOME (default: ${LOCALBASE})
+#
+# Exported variables:
+# GSSAPIBASEDIR
+# GSSAPICPPFLAGS
+# GSSAPIINCDIR
+# GSSAPILDFLAGS
+# GSSAPILIBDIR
+# GSSAPILIBS
+# GSSAPI_CONFIGURE_ARGS
+# KRB5CONFIG
+#
+# Affected variables:
+# PREFIX (bootstrap)
+# CPPFLAGS (flags)
+# LDADD (flags)
+# LDCFLAGS
+#
+# Notes:
+# - GSSAPILIBDIR is prepended to "-Wl,-rpath," in LDFLAGS.
+# - bootstrap sets PREFIX based on KRB5_HOME or HEIMDAL_HOME.
+#
+# Usage:
+#
+# A typical example:
+#
+# OPTIONS_SINGLE= GSSAPI
+# OPTIONS_SINGLE_GSSAPI= GSSAPI_BASE GSSAPI_HEIMDAL GSSAPI_MIT GSSAPI_NONE
+#
+# GSSAPI_BASE_USES= gssapi
+# GSSAPI_BASE_CONFIGURE_ON= \
+# --with-gssapi=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS}
+#
+# GSSAPI_HEIMDAL_USES=gssapi:heimdal
+# GSSAPI_HEIMDAL_CONFIGURE_ON= \
+# --with-gssapi=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS}
+#
+# GSSAPI_MIT_USES= gssapi:mit
+# GSSAPI_MIT_CONFIGURE_ON= \
+# --with-gssapi=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS}
+#
+# GSSAPI_NONE_CONFIGURE_ON= --without-gssapi
+#
+# If pathname is required for Kerberos implementation, use ${GSSAPIBASEDIR}.
+#
+# CPPFLAGS, LDFLAGS, and LDADD can automatically be set by using "flags"
+# modifier. It is useful if the port does not use a configure script.
+#
+# How To Debug:
+#
+# A port maintainer can try "make debug-krb" to confirm if building
+# a GSSAPI library works fine. It will perform a library link test and
+# show which library and what parameters will be used.
+# If it works but your port does not build, some parameters are missing in
+# the building phase of the port. If it does not work, the problem is in
+# the GSSAPI library, not your port. Please contact MAINTAINER of this file
+# in that case.
+#
+.if !defined(_INCLUDE_USES_GSSAPI_MK)
+_INCLUDE_USES_GSSAPI_MK= yes
+
+_HEIMDAL_DEPENDS=${GSSAPILIBDIR}/libgssapi.so:security/heimdal
+_MITKRB5_DEPENDS=${GSSAPILIBDIR}/libkrb5support.so:security/krb5
+_HEADERS= sys/types.h sys/stat.h stdint.h
+
+.if empty(gssapi_ARGS)
+gssapi_ARGS= base
+.endif
+.for _A in ${gssapi_ARGS}
+_local:= ${_A}
+.if ${_local} == "base"
+. if ${SSL_DEFAULT} != base
+IGNORE= You are using OpenSSL from ports and have selected GSSAPI from base, please select another GSSAPI value
+. endif
+HEIMDAL_HOME= /usr
+GSSAPIBASEDIR= ${HEIMDAL_HOME}
+GSSAPILIBDIR= ${GSSAPIBASEDIR}/lib
+GSSAPIINCDIR= ${GSSAPIBASEDIR}/include
+_HEADERS+= gssapi/gssapi.h gssapi/gssapi_krb5.h krb5.h
+GSSAPICPPFLAGS= -I"${GSSAPIINCDIR}"
+GSSAPILIBS= -lkrb5 -lgssapi -lgssapi_krb5
+GSSAPILDFLAGS= -L"${GSSAPILIBDIR}"
+.elif ${_local} == "heimdal"
+HEIMDAL_HOME?= ${LOCALBASE}
+GSSAPIBASEDIR= ${HEIMDAL_HOME}
+GSSAPILIBDIR= ${GSSAPIBASEDIR}/lib/heimdal
+GSSAPIINCDIR= ${GSSAPIBASEDIR}/include/heimdal
+_HEADERS+= gssapi/gssapi.h gssapi/gssapi_krb5.h krb5.h
+.if !defined(_KRB_BOOTSTRAP)
+BUILD_DEPENDS+= ${_HEIMDAL_DEPENDS}
+RUN_DEPENDS+= ${_HEIMDAL_DEPENDS}
+.else
+PREFIX= ${HEIMDAL_HOME}
+.endif
+GSSAPICPPFLAGS= -I"${GSSAPIINCDIR}"
+GSSAPILIBS= -lkrb5 -lgssapi
+GSSAPILDFLAGS= -L"${GSSAPILIBDIR}"
+_RPATH= ${GSSAPILIBDIR}
+.elif ${_local} == "mit"
+KRB5_HOME?= ${LOCALBASE}
+GSSAPIBASEDIR= ${KRB5_HOME}
+GSSAPILIBDIR= ${GSSAPIBASEDIR}/lib
+GSSAPIINCDIR= ${GSSAPIBASEDIR}/include
+_HEADERS+= gssapi/gssapi.h gssapi/gssapi_krb5.h krb5.h
+.if !defined(_KRB_BOOTSTRAP)
+BUILD_DEPENDS+= ${_MITKRB5_DEPENDS}
+RUN_DEPENDS+= ${_MITKRB5_DEPENDS}
+.else
+PREFIX= ${KRB5_HOME}
+.endif
+GSSAPILIBS= -lkrb5 -lgssapi_krb5
+GSSAPICPPFLAGS= -I"${GSSAPIINCDIR}"
+GSSAPILDFLAGS= -L"${GSSAPILIBDIR}"
+_RPATH= ${GSSAPILIBDIR}
+.elif ${_local} == "bootstrap"
+_KRB_BOOTSTRAP= 1
+.elif ${_local} == "flags"
+_KRB_USEFLAGS= 1
+.else
+IGNORE= USES=gssapi - invalid args: [${_local}] specified
+.endif
+.endfor
+
+KRB5CONFIG=${GSSAPIBASEDIR}/bin/krb5-config
+
+# Fix up -Wl,-rpath in LDFLAGS
+.if defined(_RPATH) && !empty(_RPATH)
+.if !empty(LDFLAGS:M-Wl,-rpath,*)
+.for F in ${LDFLAGS:M-Wl,-rpath,*}
+LDFLAGS:= -Wl,-rpath,${_RPATH}:${F:S/-Wl,-rpath,//} \
+ ${LDFLAGS:N-Wl,-rpath,*}
+.endfor
+.else
+LDFLAGS+= -Wl,-rpath,${_RPATH}:/usr/lib
+.endif
+_DEBUG_KRB_RPATH= -Wl,-rpath,${_RPATH}
+.endif
+.if defined(_KRB_USEFLAGS) && !empty(_KRB_USEFLAGS)
+CPPFLAGS+= ${GSSAPICPPFLAGS}
+LDFLAGS+= ${GSSAPILDFLAGS}
+LDADD+= ${GSSAPILIBS}
+.endif
+GSSAPI_CONFIGURE_ARGS= \
+ CFLAGS="${GSSAPICPPFLAGS} ${CFLAGS}" \
+ LDFLAGS="${GSSAPILDFLAGS} ${LDFLAGS}" \
+ LIBS="${GSSAPILIBS} ${LIBS}" \
+ KRB5CONFIG="${KRB5CONFIG}"
+
+debug-krb:
+ @(for I in ${_HEADERS}; do echo "#include <$$I>"; done; \
+ echo "int main() { gss_acquire_cred(0, 0, 0, 0, 0, 0, 0, 0);" \
+ "krb5_init_context(0);" \
+ "gsskrb5_register_acceptor_identity(0); return 0;}" \
+ ) > /tmp/${.TARGET}.c
+ ${CC} ${CFLAGS} -o /tmp/${.TARGET}.x ${GSSAPICPPFLAGS} \
+ ${GSSAPILIBS} ${GSSAPILDFLAGS} ${_DEBUG_KRB_RPATH} \
+ /tmp/${.TARGET}.c && \
+ ldd /tmp/${.TARGET}.x; \
+ ${RM} /tmp/${.TARGET}.x
+ @echo "PREFIX: ${PREFIX}"
+ @echo "GSSAPIBASEDIR: ${GSSAPIBASEDIR}"
+ @echo "GSSAPIINCDIR: ${GSSAPIINCDIR}"
+ @echo "GSSAPILIBDIR: ${GSSAPILIBDIR}"
+ @echo "GSSAPILIBS: ${GSSAPILIBS}"
+ @echo "GSSAPICPPFLAGS: ${GSSAPICPPFLAGS}"
+ @echo "GSSAPILDFLAGS: ${GSSAPILDFLAGS}"
+ @echo "GSSAPI_CONFIGURE_ARGS: ${GSSAPI_CONFIGURE_ARGS}"
+ @echo "KRB5CONFIG: ${KRB5CONFIG}"
+ @echo "CFLAGS: ${CFLAGS}"
+ @echo "LDFLAGS: ${LDFLAGS}"
+ @echo "LDADD: ${LDADD}"
+.endif
diff --git a/test-ports/Mk/Uses/horde.mk b/test-ports/Mk/Uses/horde.mk
new file mode 100644
index 00000000..6157f4d1
--- /dev/null
+++ b/test-ports/Mk/Uses/horde.mk
@@ -0,0 +1,159 @@
+# $FreeBSD: head/Mk/Uses/horde.mk 488016 2018-12-21 16:26:58Z joneum $
+#
+# Feature: horde
+# Usage: USES=horde
+# Valid ARGS: none
+#
+# MAINTAINER= horde@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_HORDE_MK)
+_INCLUDE_USES_HORDE_MK= yes
+
+MASTER_SITES?= https://pear.horde.org/get/
+
+HORDE_DIR?= www/horde
+
+CPE_VENDOR?= horde
+
+DIST_SUBDIR= Horde
+PEAR_CHANNEL= horde
+
+horde-Horde_ActiveSync-DEPEND= ${PEARDIR}/Horde/ActiveSync.php:comms/pear-Horde_ActiveSync
+horde-Horde_Alarm-DEPEND= ${PEARDIR}/Horde/Alarm.php:devel/pear-Horde_Alarm
+horde-Horde_Auth-DEPEND= ${PEARDIR}/Horde/Auth.php:security/pear-Horde_Auth
+horde-Horde_Autoloader-DEPEND= ${PEARDIR}/Horde/Autoloader.php:devel/pear-Horde_Autoloader
+horde-Horde_Autoloader_Cache-DEPEND= ${PEARDIR}/Horde/Autoloader/Cache.php:devel/pear-Horde_Autoloader_Cache
+horde-Horde_Argv-DEPEND= ${PEARDIR}/Horde/Argv/Parser.php:devel/pear-Horde_Argv
+horde-Horde_Browser-DEPEND= ${PEARDIR}/Horde/Browser.php:www/pear-Horde_Browser
+horde-Horde_Cache-DEPEND= ${PEARDIR}/Horde/Cache.php:devel/pear-Horde_Cache
+horde-Horde_Cli-DEPEND= ${PEARDIR}/Horde/Cli.php:devel/pear-Horde_Cli
+horde-Horde_Compress-DEPEND= ${PEARDIR}/Horde/Compress.php:archivers/pear-Horde_Compress
+horde-Horde_Compress_Fast-DEPEND= ${PEARDIR}/Horde/Compress/Fast.php:archivers/pear-Horde_Compress_Fast
+horde-Horde_Constraint-DEPEND= ${PEARDIR}/Horde/Constraint.php:devel/pear-Horde_Constraint
+horde-Horde_Controller-DEPEND= ${PEARDIR}/Horde/Controller.php:devel/pear-Horde_Controller
+horde-Horde_Core-DEPEND= ${PEARDIR}/Horde.php:devel/pear-Horde_Core
+horde-Horde_Crypt-DEPEND= ${PEARDIR}/Horde/Crypt.php:security/pear-Horde_Crypt
+horde-Horde_Crypt_Blowfish-DEPEND= ${PEARDIR}/Horde/Crypt/Blowfish.php:security/pear-Horde_Crypt_Blowfish
+horde-Horde_CssMinify-DEPEND= ${PEARDIR}/Horde/CssMinify.php:textproc/pear-Horde_CssMinify
+horde-Horde_Css_Parser-DEPEND= ${PEARDIR}/Horde/Css/Parser.php:www/pear-Horde_Css_Parser
+horde-Horde_Data-DEPEND= ${PEARDIR}/Horde/Data.php:devel/pear-Horde_Data
+horde-Horde_Date-DEPEND= ${PEARDIR}/Horde/Date.php:devel/pear-Horde_Date
+horde-Horde_Date_Parser-DEPEND= ${PEARDIR}/Horde/Date/Parser.php:devel/pear-Horde_Date_Parser
+horde-Horde_Dav-DEPEND= ${PEARDIR}/Horde/Dav/Client.php:www/pear-Horde_Dav
+horde-Horde_Db-DEPEND= ${PEARDIR}/Horde/Db.php:databases/pear-Horde_Db
+horde-Horde_Editor-DEPEND= ${PEARDIR}/Horde/Editor.php:www/pear-Horde_Editor
+horde-Horde_Exception-DEPEND= ${PEARDIR}/Horde/Exception.php:devel/pear-Horde_Exception
+horde-Horde_Feed-DEPEND= ${PEARDIR}/Horde/Feed.php:www/pear-Horde_Feed
+horde-Horde_Form-DEPEND= ${PEARDIR}/Horde/Form.php:www/pear-Horde_Form
+horde-Horde_Group-DEPEND= ${PEARDIR}/Horde/Group/Base.php:security/pear-Horde_Group
+horde-Horde_HashTable-DEPEND= ${PEARDIR}/Horde/HashTable/Base.php:databases/pear-Horde_HashTable
+horde-Horde_History-DEPEND= ${PEARDIR}/Horde/History.php:devel/pear-Horde_History
+horde-Horde_Http-DEPEND= ${PEARDIR}/Horde/Http.php:www/pear-Horde_Http
+horde-Horde_Icalendar-DEPEND= ${PEARDIR}/Horde/Icalendar.php:devel/pear-Horde_Icalendar
+horde-Horde_Idna-DEPEND= ${PEARDIR}/Horde/Idna.php:dns/pear-Horde_Idna
+horde-Horde_Image-DEPEND= ${PEARDIR}/Horde/Image.php:graphics/pear-Horde_Image
+horde-Horde_Imap_Client-DEPEND= ${PEARDIR}/Horde/Imap/Client.php:mail/pear-Horde_Imap_Client
+horde-Horde_Imsp-DEPEND= ${PEARDIR}/Horde/Imsp.php:databases/pear-Horde_Imsp
+horde-Horde_Itip-DEPEND= ${PEARDIR}/Horde/Itip.php:devel/pear-Horde_Itip
+horde-Horde_Injector-DEPEND= ${PEARDIR}/Horde/Injector.php:devel/pear-Horde_Injector
+horde-Horde_JavascriptMinify-DEPEND= ${PEARDIR}/Horde/JavascriptMinify.php:textproc/pear-Horde_JavascriptMinify
+horde-Horde_Kolab_Format-DEPEND= ${PEARDIR}/Horde/Kolab/Format.php:textproc/pear-Horde_Kolab_Format
+horde-Horde_Kolab_Server-DEPEND= ${PEARDIR}/Horde/Kolab/Server/Factory.php:net/pear-Horde_Kolab_Server
+horde-Horde_Kolab_Session-DEPEND= ${PEARDIR}/Horde/Kolab/Session.php:net/pear-Horde_Kolab_Session
+horde-Horde_Kolab_Storage-DEPEND= ${PEARDIR}/Horde/Kolab/Storage.php:mail/pear-Horde_Kolab_Storage
+horde-Horde_Ldap-DEPEND= ${PEARDIR}/Horde/Ldap.php:net/pear-Horde_Ldap
+horde-Horde_ListHeaders-DEPEND= ${PEARDIR}/Horde/ListHeaders.php:mail/pear-Horde_ListHeaders
+horde-Horde_Lock-DEPEND= ${PEARDIR}/Horde/Lock.php:devel/pear-Horde_Lock
+horde-Horde_Log-DEPEND= ${PEARDIR}/Horde/Log.php:sysutils/pear-Horde_Log
+horde-Horde_LoginTasks-DEPEND= ${PEARDIR}/Horde/LoginTasks.php:devel/pear-Horde_LoginTasks
+horde-Horde_Mail-DEPEND= ${PEARDIR}/Horde/Mail/Transport.php:mail/pear-Horde_Mail
+horde-Horde_Mail_Autoconfig-DEPEND= ${PEARDIR}/Horde/Mail/Autoconfig.php:mail/pear-Horde_Mail_Autoconfig
+horde-Horde_Mapi-DEPEND= ${PEARDIR}/Horde/Mapi.php:mail/pear-Horde_Mapi
+horde-Horde_Memcache-DEPEND= ${PEARDIR}/Horde/Memcache.php:databases/pear-Horde_Memcache
+horde-Horde_Mime-DEPEND= ${PEARDIR}/Horde/Mime.php:mail/pear-Horde_Mime
+horde-Horde_Mime_Viewer-DEPEND= ${PEARDIR}/Horde/Mime/Viewer.php:mail/pear-Horde_Mime_Viewer
+horde-Horde_Mongo-DEPEND= ${PEARDIR}/Horde/Mongo/Client.php:databases/pear-Horde_Mongo
+horde-Horde_Nls-DEPEND= ${PEARDIR}/Horde/Nls.php:devel/pear-Horde_Nls
+horde-Horde_Notification-DEPEND= ${PEARDIR}/Horde/Notification.php:devel/pear-Horde_Notification
+horde-Horde_Oauth-DEPEND= ${PEARDIR}/Horde/Oauth/Consumer.php:security/pear-Horde_Oauth
+horde-Horde_Pack-DEPEND= ${PEARDIR}/Horde/Pack.php:archivers/pear-Horde_Pack
+horde-Horde_Pdf-DEPEND= ${PEARDIR}/Horde/Pdf/Writer.php:textproc/pear-Horde_Pdf
+horde-Horde_Perms-DEPEND= ${PEARDIR}/Horde/Perms.php:security/pear-Horde_Perms
+horde-Horde_Prefs-DEPEND= ${PEARDIR}/Horde/Prefs.php:devel/pear-Horde_Prefs
+horde-Horde_Queue-DEPEND= ${PEARDIR}/Horde/Queue/Runner.php:devel/pear-Horde_Queue
+horde-Horde_Rdo-DEPEND= ${PEARDIR}/Horde/Rdo.php:devel/pear-Horde_Rdo
+horde-Horde_Role-DEPEND= ${PEARDIR}/PEAR/Installer/Role/Horde/Role.php:devel/pear-Horde_Role
+horde-Horde_Rpc-DEPEND= ${PEARDIR}/Horde/Rpc.php:net/pear-Horde_Rpc
+horde-Horde_Routes-DEPEND= ${PEARDIR}/Horde/Routes/Route.php:www/pear-Horde_Routes
+horde-Horde_Secret-DEPEND= ${PEARDIR}/Horde/Secret.php:security/pear-Horde_Secret
+horde-Horde_Serialize-DEPEND= ${PEARDIR}/Horde/Serialize.php:devel/pear-Horde_Serialize
+horde-Horde_SessionHandler-DEPEND= ${PEARDIR}/Horde/SessionHandler.php:www/pear-Horde_SessionHandler
+horde-Horde_Scheduler-DEPEND= ${PEARDIR}/Horde/Scheduler.php:devel/pear-Horde_Scheduler
+horde-Horde_Scribe-DEPEND= ${PEARDIR}/Horde/Scribe.php:net/pear-Horde_Scribe
+horde-Horde_Share-DEPEND= ${PEARDIR}/Horde/Share/Base.php:security/pear-Horde_Share
+horde-Horde_Smtp-DEPEND= ${PEARDIR}/Horde/Smtp.php:mail/pear-Horde_Smtp
+horde-Horde_Socket_Client-DEPEND= ${PEARDIR}/Horde/Socket/Client.php:net/pear-Horde_Socket_Client
+horde-Horde_SpellChecker-DEPEND= ${PEARDIR}/Horde/SpellChecker.php:textproc/pear-Horde_SpellChecker
+horde-Horde_Stream-DEPEND= ${PEARDIR}/Horde/Stream.php:devel/pear-Horde_Stream
+horde-Horde_Stream_Filter-DEPEND= ${PEARDIR}/Horde/Stream/Filter/Crc32.php:devel/pear-Horde_Stream_Filter
+horde-Horde_Stream_Wrapper-DEPEND= ${PEARDIR}/Horde/Stream/Wrapper/StringStream.php:devel/pear-Horde_Stream_Wrapper
+horde-Horde_Service_Facebook-DEPEND= ${PEARDIR}/Horde/Service/Facebook.php:www/pear-Horde_Service_Facebook
+horde-Horde_Service_Twitter-DEPEND= ${PEARDIR}/Horde/Service/Twitter.php:www/pear-Horde_Service_Twitter
+horde-Horde_Service_UrlShortener-DEPEND= ${PEARDIR}/Horde/Service/UrlShortener.php:www/pear-Horde_Service_UrlShortener
+horde-Horde_Service_Weather-DEPEND= ${PEARDIR}/Horde/Service/Weather.php:www/pear-Horde_Service_Weather
+horde-Horde_Support-DEPEND= ${PEARDIR}/Horde/Support/Array.php:devel/pear-Horde_Support
+horde-Horde_SyncMl-DEPEND= ${PEARDIR}/Horde/SyncMl.php:comms/pear-Horde_SyncMl
+horde-Horde_Url-DEPEND= ${PEARDIR}/Horde/Url.php:net/pear-Horde_Url
+horde-Horde_Util-DEPEND= ${PEARDIR}/Horde/Util.php:devel/pear-Horde_Util
+horde-Horde_Template-DEPEND= ${PEARDIR}/Horde/Template.php:www/pear-Horde_Template
+horde-Horde_Text_Diff-DEPEND= ${PEARDIR}/Horde/Text/Diff.php:textproc/pear-Horde_Text_Diff
+horde-Horde_Text_Filter-DEPEND= ${PEARDIR}/Horde/Text/Filter.php:textproc/pear-Horde_Text_Filter
+horde-Horde_Text_Filter_Csstidy-DEPEND= ${PEARDIR}/Horde/Text/Filter/Csstidy.php:textproc/pear-Horde_Text_Filter_Csstidy
+horde-Horde_Text_Flowed-DEPEND= ${PEARDIR}/Horde/Text/Flowed.php:textproc/pear-Horde_Text_Flowed
+horde-Horde_Thrift-DEPEND= ${PEARDIR}/Horde/Thrift.php:devel/pear-Horde_Thrift
+horde-Horde_Timezone-DEPEND= ${PEARDIR}/Horde/Timezone.php:devel/pear-Horde_Timezone
+horde-Horde_Token-DEPEND= ${PEARDIR}/Horde/Token.php:devel/pear-Horde_Token
+horde-Horde_Translation-DEPEND= ${PEARDIR}/Horde/Translation.php:devel/pear-Horde_Translation
+horde-Horde_Tree-DEPEND= ${PEARDIR}/Horde/Tree.php:devel/pear-Horde_Tree
+horde-Horde_Vfs-DEPEND= ${PEARDIR}/Horde/Vfs.php:sysutils/pear-Horde_Vfs
+horde-Horde_View-DEPEND= ${PEARDIR}/Horde/View.php:devel/pear-Horde_View
+horde-Horde_Xml_Element-DEPEND= ${PEARDIR}/Horde/Xml/Element.php:textproc/pear-Horde_Xml_Element
+horde-Horde_Xml_Wbxml-DEPEND= ${PEARDIR}/Horde/Xml/Wbxml.php:textproc/pear-Horde_Xml_Wbxml
+horde-content-DEPEND= ${LOCALBASE}/${HORDE_DIR}/content/lib/Tagger.php:devel/horde-content
+horde-gollem-DEPEND= ${LOCALBASE}/${HORDE_DIR}/gollem/index.php:ftp/horde-gollem
+horde-horde-DEPEND= ${LOCALBASE}/${HORDE_DIR}/index.php:www/horde-base
+horde-imp-DEPEND= ${LOCALBASE}/${HORDE_DIR}/imp/index.php:mail/horde-imp
+horde-ingo-DEPEND= ${LOCALBASE}/${HORDE_DIR}/ingo/index.php:mail/horde-ingo
+horde-kronolith-DEPEND= ${LOCALBASE}/${HORDE_DIR}/kronolith/index.php:deskutils/horde-kronolith
+horde-mnemo-DEPEND= ${LOCALBASE}/${HORDE_DIR}/mnemo/index.php:deskutils/horde-mnemo
+horde-nag-DEPEND= ${LOCALBASE}/${HORDE_DIR}/nag/index.php:deskutils/horde-nag
+horde-timeobjects-DEPEND= ${LOCALBASE}/${HORDE_DIR}/timeobjects/lib/Driver.php:devel/horde-timeobjects
+horde-trean-DEPEND= ${LOCALBASE}/${HORDE_DIR}/trean/index.php:www/horde-trean
+horde-turba-DEPEND= ${LOCALBASE}/${HORDE_DIR}/turba/index.php:mail/horde-turba
+
+.if defined(USE_HORDE_RUN)
+. for DEP in ${USE_HORDE_RUN}
+. if !defined(horde-${DEP}-DEPEND)
+UNKNOWN_HORDE_PACKAGES+= ${DEP}
+. else
+RUN_DEPENDS+= ${horde-${DEP}-DEPEND}@${PHP_FLAVOR}
+. endif
+. endfor
+.endif
+
+.if defined(USE_HORDE_BUILD)
+. for DEP in ${USE_HORDE_BUILD}
+. if !defined(horde-${DEP}-DEPEND)
+UNKNOWN_HORDE_PACKAGES+= ${DEP}
+. else
+BUILD_DEPENDS+= ${horde-${DEP}-DEPEND}@${PHP_FLAVOR}
+. endif
+. endfor
+.endif
+
+.if defined(UNKNOWN_HORDE_PACKAGES)
+IGNORE= unknown Horde package(s): ${UNKNOWN_HORDE_PACKAGES}
+.endif
+
+.include "${USESDIR}/pear.mk"
+.endif
diff --git a/test-ports/Mk/Uses/iconv.mk b/test-ports/Mk/Uses/iconv.mk
new file mode 100644
index 00000000..137bb442
--- /dev/null
+++ b/test-ports/Mk/Uses/iconv.mk
@@ -0,0 +1,69 @@
+# $FreeBSD: head/Mk/Uses/iconv.mk 450634 2017-09-25 20:55:27Z tijl $
+#
+# handle dependency on the iconv port
+#
+# Feature: iconv
+# Usage: USES=iconv or USES=iconv:ARGS
+# Valid ARGS: lib (default, implicit), build, patch,
+# wchar_t (port uses "WCHAR_T" extension),
+# translit (port uses "//TRANSLIT" extension)
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_ICONV_MK)
+_INCLUDE_USES_ICONV_MK= yes
+
+.if !exists(/usr/include/iconv.h) || ${iconv_ARGS:Mwchar_t} || ${iconv_ARGS:Mtranslit}
+
+ICONV_CMD= ${LOCALBASE}/bin/iconv
+ICONV_LIB= -liconv
+ICONV_PREFIX= ${LOCALBASE}
+ICONV_CONFIGURE_ARG= --with-libiconv-prefix=${LOCALBASE}
+ICONV_CONFIGURE_BASE= --with-libiconv=${LOCALBASE}
+ICONV_INCLUDE_PATH= ${LOCALBASE}/include
+ICONV_LIB_PATH= ${LOCALBASE}/lib/libiconv.so
+
+.if ${iconv_ARGS:Mbuild}
+BUILD_DEPENDS+= ${ICONV_CMD}:converters/libiconv
+.elif ${iconv_ARGS:Mpatch}
+PATCH_DEPENDS+= ${ICONV_CMD}:converters/libiconv
+.else
+LIB_DEPENDS+= libiconv.so:converters/libiconv
+.endif
+
+.else
+
+ICONV_CMD= /usr/bin/iconv
+ICONV_LIB=
+ICONV_PREFIX= /usr
+ICONV_CONFIGURE_ARG=
+ICONV_CONFIGURE_BASE=
+ICONV_INCLUDE_PATH= /usr/include
+ICONV_LIB_PATH= /usr/lib/libc.so
+
+.if exists(${LOCALBASE}/include/iconv.h)
+# Check that libiconv iconv.h is recent enough for LIBICONV_PLUG to work.
+BUILD_DEPENDS+= libiconv>=1.14_11:converters/libiconv
+.endif
+
+# LIBICONV_PLUG makes libiconv iconv.h act like libc iconv.h.
+CPPFLAGS+= -DLIBICONV_PLUG
+CFLAGS+= -DLIBICONV_PLUG
+CXXFLAGS+= -DLIBICONV_PLUG
+OBJCFLAGS+= -DLIBICONV_PLUG
+
+.endif
+
+# These are the most common names for the iconv-related variables found in
+# CMake-based ports. We set them here via CMAKE_ARGS to make sure that the best
+# combination is always used (ie. we prefer the version in libc whenever it is
+# available, and sometimes have to fall back to the iconv.h header from ports
+# while still using the library from base).
+CMAKE_ARGS+= -DICONV_INCLUDE_DIR=${ICONV_INCLUDE_PATH} \
+ -DICONV_LIBRARIES=${ICONV_LIB_PATH} \
+ -DICONV_LIBRARY=${ICONV_LIB_PATH} \
+ -DLIBICONV_INCLUDE_DIR=${ICONV_INCLUDE_PATH} \
+ -DLIBICONV_LIBRARIES=${ICONV_LIB_PATH} \
+ -DLIBICONV_LIBRARY=${ICONV_LIB_PATH}
+
+.endif
diff --git a/test-ports/Mk/Uses/imake.mk b/test-ports/Mk/Uses/imake.mk
new file mode 100644
index 00000000..d07359cf
--- /dev/null
+++ b/test-ports/Mk/Uses/imake.mk
@@ -0,0 +1,50 @@
+# $FreeBSD: head/Mk/Uses/imake.mk 411970 2016-03-27 01:23:25Z bapt $
+#
+# Provide support for imake based projects
+#
+# Feature: imake
+# Usage: USES=imake
+# Valid ARGS: env: do not define any target
+# notall: do not pass -a to xmkmf
+# noman: do not add install-man to
+# INSTALL_TARGET
+#
+# MAINTAINER: x11@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_IMAKE_MK)
+_INCLUDE_USES_IMAKE_MK= yes
+
+.if ${imake_ARGS:Nnotall:Nenv:Nnoman}
+IGNORE= USES=imake:${imake_ARGS:S/ /,/g} is not a valid argument
+.endif
+
+BUILD_DEPENDS+= imake:devel/imake
+
+.if defined(USE_GCC)
+IMAKECPP= ${CPP}
+IMAKECPPFLAGS= -DCppCmd=${CPP} -DCcCmd=${CC} -DCplusplusCmd=${CXX}
+.else
+IMAKECPP= tradcpp
+IMAKECPPFLAGS= -DCppCmd=tradcpp -DCcCmd=${CC} -DCplusplusCmd=${CXX}
+BUILD_DEPENDS+= tradcpp:devel/tradcpp
+.endif
+MAKE_ENV+= IMAKECPP=${IMAKECPP} IMAKECPPFLAGS="${IMAKECPPFLAGS}"
+CONFIGURE_ENV+= IMAKECPP=${IMAKECPP} IMAKECPPFLAGS="${IMAKECPPFLAGS}"
+
+.if ! ${imake_ARGS:Mnotall}
+XMKMF_ARGS+= -a
+.endif
+
+.if ! ${imake_ARGS:Menv}
+.if !target(do-configure)
+do-configure:
+ @(cd ${CONFIGURE_WRKSRC} && ${SETENV} ${MAKE_ENV} ${XMKMF} ${XMKMF_ARGS})
+.endif
+
+.if ! ${imake_ARGS:Mnoman}
+LATE_INSTALL_ARGS= install.man
+.endif
+
+.endif
+
+.endif
diff --git a/test-ports/Mk/Uses/jpeg.mk b/test-ports/Mk/Uses/jpeg.mk
new file mode 100644
index 00000000..5ed2d2ea
--- /dev/null
+++ b/test-ports/Mk/Uses/jpeg.mk
@@ -0,0 +1,38 @@
+# $FreeBSD: head/Mk/Uses/jpeg.mk 411970 2016-03-27 01:23:25Z bapt $
+#
+# Handle dependency on jpeg
+#
+# Feature: jpeg
+# Usage: USES=jpeg or USES=jpeg:ARGS
+# Valid ARGS: lib (default, implicit), build, run, both
+#
+# User defined variables:
+# JPEG_PORT - jpeg implementation
+# Valid values: graphics/jpeg and graphics/jpeg-turbo
+# Default value: graphics/jpeg-turbo
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_JPEG_MK)
+
+_INCLUDE_USES_JPEG_MK= yes
+JPEG_PORT?= graphics/jpeg-turbo
+
+.if empty(jpeg_ARGS)
+jpeg_ARGS= lib
+.endif
+
+.if ${jpeg_ARGS} == lib
+LIB_DEPENDS+= libjpeg.so:${JPEG_PORT}
+.elif ${jpeg_ARGS} == build
+BUILD_DEPENDS+= cjpeg:${JPEG_PORT}
+.elif ${jpeg_ARGS} == run
+RUN_DEPENDS+= cjpeg:${JPEG_PORT}
+.elif ${jpeg_ARGS} == both
+BUILD_DEPENDS+= cjpeg:${JPEG_PORT}
+RUN_DEPENDS+= cjpeg:${JPEG_PORT}
+.else
+IGNORE= USES=jpeg - invalid args: [${jpeg_ARGS}] specified
+.endif
+
+.endif
diff --git a/test-ports/Mk/Uses/kde.mk b/test-ports/Mk/Uses/kde.mk
new file mode 100644
index 00000000..25be628a
--- /dev/null
+++ b/test-ports/Mk/Uses/kde.mk
@@ -0,0 +1,867 @@
+# $FreeBSD: head/Mk/Uses/kde.mk 494980 2019-03-07 18:35:32Z tcberner $
+#
+# Provides support for KDE and KF5-based ports.
+#
+# Feature: kde
+# Valid ARGS: 5
+#
+# 5: Depend on KDE Frameworks 5 components and variables.
+#
+# Variables that can be set by a port:
+#
+# USE_KDE List of KF5/Plasma5 components (other ports) that this
+# port depends on.
+# * foo_build Add a build-time dependency (BUILD_DEPENDS)
+# * foo_run Add a run-time dependency (RUN_DEPENDS)
+# * foo (default) Add both dependencies on component <foo>, or
+# a LIB_DEPENDS if applicable.
+#
+# To simplify the ports, also:
+# CATEGORIES If the port is part of one of the KDE Software distribution,
+# it can add, in addition to 'kde' one of the following:
+# kde-application: part of applications release
+# kde-frameworks: part of frameworks release
+# kde-plasma: part of plasma release
+# this will then set default values for MASTER_SITES and DIST_SUBDIR
+# as well as CPE_VENDOR and LICENSE.
+#
+# MAINTAINER: kde@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_KDE_MK)
+_INCLUDE_USES_KDE_MK= yes
+
+_KDE_SUPPORTED= 5
+
+. if empty(kde_ARGS)
+IGNORE= kde needs a version (${_KDE_SUPPORTED})
+. endif
+
+. for ver in ${_KDE_SUPPORTED:O:u}
+. if ${kde_ARGS:M${ver}}
+. if !defined(_KDE_VERSION)
+_KDE_VERSION= ${ver}
+. else
+IGNORE?= cannot be installed: different KDE versions specified via kde:[${_KDE_SUPPORTED:S/ //g}] #'
+. endif
+. endif
+. endfor
+
+. if empty(_KDE_VERSION)
+IGNORE?= kde:[${_KDE_SUPPORTED:S/ //g}] needs an argument #'
+. else
+
+_KDE_RELNAME= KDE${_KDE_VERSION}
+
+# === VERSIONS OF THE DIFFERENT COMPONENTS =====================================
+# Current KDE desktop.
+KDE_PLASMA_VERSION?= 5.15.2
+KDE_PLASMA_BRANCH?= stable
+
+# Current KDE frameworks.
+KDE_FRAMEWORKS_VERSION?= 5.55.0
+KDE_FRAMEWORKS_BRANCH?= stable
+
+# Current KDE applications.
+KDE_APPLICATIONS_VERSION?= 18.12.3
+KDE_APPLICATIONS_SHLIB_VER?= 5.10.3
+KDE_APPLICATIONS_BRANCH?= stable
+# Upstream moves old software to Attic/. Specify the newest applications release there.
+# Only the major version is used for the comparison.
+_KDE_APPLICATIONS_ATTIC_VERSION= 17.08.3
+
+# Extended KDE universe applications.
+CALLIGRA_VERSION?= 2.9.11
+CALLIGRA_BRANCH?= stable
+# ==============================================================================
+
+# === INSTALLATION PREFIXES AND HEADER LOCATION ================================
+# Define unversioned prefix variable.
+KDE_PREFIX= ${LOCALBASE}
+# ==============================================================================
+
+# === CATEGORIES HANDLING -- SETTING DEFAULT VALUES ============================
+# Doing MASTER_SITES magic based on the category of the port
+_KDE_CATEGORIES_SUPPORTED= kde-applications kde-frameworks kde-plasma
+. for cat in ${_KDE_CATEGORIES_SUPPORTED}
+. if ${CATEGORIES:M${cat}}
+. if !defined(_KDE_CATEGORY)
+_KDE_CATEGORY= ${cat}
+. else
+IGNORE?= cannot be installed: multiple kde-<...> categories specified via CATEGORIES=${CATEGORIES} #'
+. endif
+. endif
+. endfor
+
+. if defined(_KDE_CATEGORY)
+# KDE is normally licensed under the LGPL 2.0.
+LICENSE?= LGPL20
+
+# Set CPE Vendor Information
+# As _KDE_CATEGORY is set we can assume it is port release by KDE and the
+# vendor is therefore kde.
+CPE_VENDOR?= kde
+
+. if ${_KDE_CATEGORY:Mkde-applications}
+PORTVERSION?= ${KDE_APPLICATIONS_VERSION}
+# Decide where the file lies on KDE's servers: Check whether the file lies in Attic
+. if ${KDE_APPLICATIONS_VERSION:R:R} <= ${_KDE_APPLICATIONS_ATTIC_VERSION:R:R}
+MASTER_SITES?= KDE/Attic/applications/${KDE_APPLICATIONS_VERSION}/src
+. else
+MASTER_SITES?= KDE/${KDE_APPLICATIONS_BRANCH}/applications/${KDE_APPLICATIONS_VERSION}/src
+# Let bsd.port.mk create the plist-entries for the documentation.
+# KDE Applications ports install their documentation to
+# ${PREFIX}/share/doc.
+DOCSDIR= ${PREFIX}/share/doc
+PORTDOCS?= HTML/*
+# Further pass along a SHLIB_VER PLIST_SUB
+PLIST_SUB+= KDE_APPLICATIONS_SHLIB_VER=${KDE_APPLICATIONS_SHLIB_VER} \
+ KDE_APPLICATIONS_VERSION_SHORT="${KDE_APPLICATIONS_VERSION:R:R}"
+. endif
+DIST_SUBDIR?= KDE/applications/${KDE_APPLICATIONS_VERSION}
+. elif ${_KDE_CATEGORY:Mkde-plasma}
+PORTVERSION?= ${KDE_PLASMA_VERSION}
+PKGNAMEPREFIX?= plasma5-
+MASTER_SITES?= KDE/${KDE_PLASMA_BRANCH}/plasma/${KDE_PLASMA_VERSION}
+DIST_SUBDIR?= KDE/plasma/${KDE_PLASMA_VERSION}
+. elif ${_KDE_CATEGORY:Mkde-frameworks}
+PORTVERSION?= ${KDE_FRAMEWORKS_VERSION}
+PKGNAMEPREFIX?= kf5-
+# This is a slight duplication of _USE_FRAMEWORKS_PORTING -- it maybe would be
+# better to rely on ${_USE_FRAMEWORKS_PORTING:S/^/k/g}
+_PORTINGAIDS= kjs kjsembed kdelibs4support khtml kmediaplayer kross
+. if ${_PORTINGAIDS:M*${PORTNAME}*}
+MASTER_SITES?= KDE/${KDE_FRAMEWORKS_BRANCH}/frameworks/${KDE_FRAMEWORKS_VERSION:R}/portingAids
+. else
+MASTER_SITES?= KDE/${KDE_FRAMEWORKS_BRANCH}/frameworks/${KDE_FRAMEWORKS_VERSION:R}
+. endif
+DIST_SUBDIR?= KDE/frameworks/${KDE_FRAMEWORKS_VERSION}
+. else
+IGNORE?= unknown CATEGORY value '${_KDE_CATEGORY}' #'
+. endif
+. endif #defined(_KDE_CATEGORY)
+
+# ==============================================================================
+
+# ==== SETUP CMAKE ENVIRONMENT =================================================
+# Help cmake to find files when testing ports with non-default PREFIX.
+CMAKE_ARGS+= -DCMAKE_PREFIX_PATH="${LOCALBASE}"
+
+. if ${_KDE_VERSION:M*5*}
+# We set KDE_INSTALL_USE_QT_SYS_PATHS to install mkspecs files, plugins and
+# imports to the Qt 5 install directory.
+CMAKE_ARGS+= -DBUILD_TESTING:BOOL=OFF \
+ -DCMAKE_MODULE_PATH="${LOCALBASE};${KDE_PREFIX}" \
+ -DCMAKE_INSTALL_PREFIX="${KDE_PREFIX}" \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS:BOOL=TRUE
+. endif
+
+# Set man-page installation prefix.
+CMAKE_ARGS+= -DKDE_INSTALL_MANDIR:PATH="${KDE_PREFIX}/man" \
+ -DMAN_INSTALL_DIR:PATH="${KDE_PREFIX}/man"
+# ==============================================================================
+
+# === SET-UP PLIST_SUB =========================================================
+# Prefix and include directory.
+PLIST_SUB+= KDE_PREFIX="${KDE_PREFIX}"
+# KDE Applications version.
+PLIST_SUB+= KDE_APPLICATIONS_VERSION="${KDE_APPLICATIONS_VERSION}"
+. if ${_KDE_VERSION:M*5*}
+PLIST_SUB+= KDE_PLASMA_VERSION="${KDE_PLASMA_VERSION}" \
+ KDE_FRAMEWORKS_VERSION="${KDE_FRAMEWORKS_VERSION}"
+. endif
+# ==============================================================================
+
+# === HANDLE PYTHON ============================================================
+# TODO: Keep in sync with cmake/modules/PythonMacros.cmake
+_PYTHON_SHORT_VER= ${PYTHON_VERSION:S/^python//:S/.//}
+. if ${_PYTHON_SHORT_VER} > 31
+PLIST_SUB+= PYCACHE="__pycache__/" \
+ PYC_SUFFIX=cpython-${_PYTHON_SHORT_VER}.pyc \
+ PYO_SUFFIX=cpython-${_PYTHON_SHORT_VER}.pyo
+. else
+PLIST_SUB+= PYCACHE="" \
+ PYC_SUFFIX=pyc \
+ PYO_SUFFIX=pyo
+. endif
+# ==============================================================================
+
+_USE_KDE_BOTH= akonadi attica libkcddb libkcompactdisc libkdcraw libkdegames \
+ libkeduvocdocument libkexiv2 libkipi libksane okular \
+ baloo baloo-widgets kate marble
+
+# List of components of the KDE Frameworks distribution.
+# The *_TIER<n> variables are internal, primarily for checking
+# that our list of frameworks matches the structure offered upstream.
+_USE_FRAMEWORKS_TIER1= apidox archive attica5 breeze-icons codecs config \
+ coreaddons dbusaddons dnssd holidays i18n idletime itemmodels \
+ itemviews kirigami2 oxygen-icons5 plotting prison \
+ qqc2-desktop-style solid sonnet syntaxhighlighting \
+ threadweaver wayland widgetsaddons windowsystem
+# NOT LISTED TIER1: modemmanagerqt networkmanagerqt (not applicable)
+
+_USE_FRAMEWORKS_TIER2= auth completion crash doctools \
+ filemetadata kimageformats jobwidgets notifications \
+ package pty syndication unitconversion
+
+_USE_FRAMEWORKS_TIER3= activities activities-stats baloo5 bookmarks configwidgets \
+ designerplugin emoticons globalaccel guiaddons \
+ iconthemes init kcmutils kdeclarative \
+ kded kdesu kdewebkit kio newstuff notifyconfig parts \
+ people plasma-framework purpose runner service texteditor \
+ textwidgets wallet xmlgui xmlrpcclient
+
+_USE_FRAMEWORKS_TIER4= frameworkintegration
+
+# Porting Aids frameworks provide code and utilities to ease the transition from
+# kdelibs 4 to KDE Frameworks 5. Code should aim to port away from this framework,
+# new projects should avoid using these libraries.
+_USE_FRAMEWORKS_PORTING=js jsembed kdelibs4support khtml mediaplayer kross
+
+_USE_FRAMEWORKS_ALL= ecm \
+ ${_USE_FRAMEWORKS_TIER1} \
+ ${_USE_FRAMEWORKS_TIER2} \
+ ${_USE_FRAMEWORKS_TIER3} \
+ ${_USE_FRAMEWORKS_TIER4} \
+ ${_USE_FRAMEWORKS_PORTING} \
+ ${_USE_FRAMEWORKS_EXTRA}
+
+# List of components of the KDE Plasma distribution.
+_USE_PLASMA_ALL= activitymanagerd breeze breeze-gtk \
+ decoration discover drkonqi hotkeys \
+ infocenter kde-cli-tools kde-gtk-config \
+ kdeplasma-addons kgamma5 kmenuedit kscreen \
+ kscreenlocker ksshaskpass ksysguard kwallet-pam \
+ kwayland-integration kwin kwrited libkscreen \
+ libksysguard milou oxygen plasma-browser-integration \
+ plasma-desktop plasma-integration plasma-pa \
+ plasma-sdk plasma-workspace plasma-workspace-wallpapers \
+ polkit-kde-agent-1 powerdevil systemsettings \
+ user-manager
+
+# List of components of the KDE PIM distribution (part of applications).
+_USE_KDEPIM5_ALL= akonadicontacts akonadiimportwizard akonadimime akonadinotes \
+ akonadicalendar akonadisearch alarmcalendar \
+ blog calendarcore calendarsupport calendarutils \
+ contacts eventviews gapi grantleetheme \
+ gravatar identitymanagement imap \
+ incidenceeditor kdepim-addons kdepim-apps-libs \
+ kdepim-runtime5 kitinerary kontactinterface kpimdav kpkpass \
+ ksmtp ldap libkdepim libkleo libksieve mailcommon \
+ mailimporter mailtransport mbox messagelib \
+ mime pimcommon pimtextedit tnef \
+ kalarm kontact kmail account-wizard mbox-importer \
+ akonadiconsole akregator grantlee-editor kaddressbook \
+ kalarm kmail-account-wizard kmail knotes kontact \
+ korganizer mbox-importer pim-data-exporter
+
+_USE_KDE5_ALL= ${_USE_FRAMEWORKS_ALL} \
+ ${_USE_PLASMA_ALL} \
+ ${_USE_KDEPIM5_ALL} \
+ ${_USE_KDE_BOTH}
+
+# ====================== frameworks components =================================
+activities_PORT= x11/kf5-kactivities
+activities_LIB= libKF5Activities.so
+
+activities-stats_PORT= x11/kf5-kactivities-stats
+activities-stats_LIB= libKF5ActivitiesStats.so
+
+apidox_PORT= devel/kf5-kapidox
+apidox_PATH= ${KDE_PREFIX}/bin/kapidox_generate
+apidox_TYPE= run
+
+archive_PORT= archivers/kf5-karchive
+archive_LIB= libKF5Archive.so
+
+attica5_PORT= x11-toolkits/kf5-attica
+attica5_LIB= libKF5Attica.so
+
+auth_PORT= devel/kf5-kauth
+auth_LIB= libKF5Auth.so
+
+baloo5_PORT= sysutils/kf5-baloo
+baloo5_LIB= libKF5Baloo.so
+
+bookmarks_PORT= devel/kf5-kbookmarks
+bookmarks_LIB= libKF5Bookmarks.so
+
+breeze-icons_PORT= x11-themes/kf5-breeze-icons
+breeze-icons_PATH= ${KDE_PREFIX}/share/icons/breeze/index.theme
+breeze-icons_TYPE= run
+
+codecs_PORT= textproc/kf5-kcodecs
+codecs_LIB= libKF5Codecs.so
+
+completion_PORT= x11-toolkits/kf5-kcompletion
+completion_LIB= libKF5Completion.so
+
+config_PORT= devel/kf5-kconfig
+config_LIB= libKF5ConfigCore.so
+
+configwidgets_PORT= x11-toolkits/kf5-kconfigwidgets
+configwidgets_LIB= libKF5ConfigWidgets.so
+
+coreaddons_PORT= devel/kf5-kcoreaddons
+coreaddons_LIB= libKF5CoreAddons.so
+
+crash_PORT= devel/kf5-kcrash
+crash_LIB= libKF5Crash.so
+
+dbusaddons_PORT= devel/kf5-kdbusaddons
+dbusaddons_LIB= libKF5DBusAddons.so
+
+designerplugin_PORT= x11-toolkits/kf5-kdesignerplugin
+designerplugin_PATH= ${QT_PLUGINDIR}/designer/kf5widgets.so
+designerplugin_TYPE= run
+
+dnssd_PORT= dns/kf5-kdnssd
+dnssd_LIB= libKF5DNSSD.so
+
+doctools_PORT= devel/kf5-kdoctools
+doctools_PATH= ${KDE_PREFIX}/bin/meinproc5
+
+ecm_PORT= devel/kf5-extra-cmake-modules
+ecm_PATH= ${LOCALBASE}/share/ECM/cmake/ECMConfig.cmake
+
+emoticons_PORT= x11-themes/kf5-kemoticons
+emoticons_LIB= libKF5Emoticons.so
+
+filemetadata_PORT= devel/kf5-kfilemetadata
+filemetadata_LIB= libKF5FileMetaData.so
+
+frameworkintegration_PORT= x11/kf5-frameworkintegration
+frameworkintegration_LIB= libKF5Style.so
+
+globalaccel_PORT= x11/kf5-kglobalaccel
+globalaccel_LIB= libKF5GlobalAccel.so
+
+guiaddons_PORT= x11-toolkits/kf5-kguiaddons
+guiaddons_LIB= libKF5GuiAddons.so
+
+holidays_PORT= net/kf5-kholidays
+holidays_LIB= libKF5Holidays.so
+
+i18n_PORT= devel/kf5-ki18n
+i18n_LIB= libKF5I18n.so
+
+iconthemes_PORT= x11-themes/kf5-kiconthemes
+iconthemes_LIB= libKF5IconThemes.so
+
+idletime_PORT= devel/kf5-kidletime
+idletime_LIB= libKF5IdleTime.so
+
+init_PORT= x11/kf5-kinit
+init_PATH= ${KDE_PREFIX}/bin/kdeinit5
+
+itemmodels_PORT= devel/kf5-kitemmodels
+itemmodels_LIB= libKF5ItemModels.so
+
+itemviews_PORT= x11-toolkits/kf5-kitemviews
+itemviews_LIB= libKF5ItemViews.so
+
+jobwidgets_PORT= x11-toolkits/kf5-kjobwidgets
+jobwidgets_LIB= libKF5JobWidgets.so
+
+js_PORT= www/kf5-kjs
+js_LIB= libKF5JS.so
+
+jsembed_PORT= www/kf5-kjsembed
+jsembed_LIB= libKF5JsEmbed.so
+
+kcmutils_PORT= devel/kf5-kcmutils
+kcmutils_LIB= libKF5KCMUtils.so
+
+kdeclarative_PORT= devel/kf5-kdeclarative
+kdeclarative_LIB= libKF5Declarative.so
+
+kded_PORT= x11/kf5-kded
+kded_LIB= libkdeinit5_kded5.so
+
+kdelibs4support_PORT= x11/kf5-kdelibs4support
+kdelibs4support_LIB= libKF5KDELibs4Support.so
+
+kdesu_PORT= security/kf5-kdesu
+kdesu_LIB= libKF5Su.so
+
+kdewebkit_PORT= www/kf5-kdewebkit
+kdewebkit_LIB= libKF5WebKit.so
+
+khtml_PORT= www/kf5-khtml
+khtml_LIB= libKF5KHtml.so
+
+kimageformats_PORT= graphics/kf5-kimageformats
+kimageformats_PATH= ${QT_PLUGINDIR}/imageformats/kimg_xcf.so
+kimageformats_TYPE= run
+
+kio_PORT= devel/kf5-kio
+kio_LIB= libKF5KIOCore.so
+
+kirigami2_PORT= x11-toolkits/kf5-kirigami2
+kirigami2_PATH= ${QT_QMLDIR}/org/kde/kirigami.2/libkirigamiplugin.so
+
+kross_PORT= lang/kf5-kross
+kross_LIB= libKF5KrossCore.so
+
+mediaplayer_PORT= multimedia/kf5-kmediaplayer
+mediaplayer_LIB= libKF5MediaPlayer.so.5
+
+newstuff_PORT= devel/kf5-knewstuff
+newstuff_LIB= libKF5NewStuff.so
+
+notifications_PORT= devel/kf5-knotifications
+notifications_LIB= libKF5Notifications.so
+
+notifyconfig_PORT= devel/kf5-knotifyconfig
+notifyconfig_LIB= libKF5NotifyConfig.so
+
+# This is a KF5 port used by KDE4 as well, but it's architecture-independent
+# and only contains icons.
+oxygen-icons5_PORT= x11-themes/kf5-oxygen-icons5
+oxygen-icons5_PATH= ${KDE_PREFIX}/share/icons/oxygen/index.theme
+oxygen-icons5_TYPE= run
+
+package_PORT= devel/kf5-kpackage
+package_LIB= libKF5Package.so
+
+parts_PORT= devel/kf5-kparts
+parts_LIB= libKF5Parts.so
+
+people_PORT= devel/kf5-kpeople
+people_LIB= libKF5People.so
+
+plasma-framework_PORT= x11/kf5-plasma-framework
+plasma-framework_LIB= libKF5Plasma.so
+
+plotting_PORT= graphics/kf5-kplotting
+plotting_LIB= libKF5Plotting.so
+
+prison_PORT= graphics/kf5-prison
+prison_LIB= libKF5Prison.so
+
+pty_PORT= devel/kf5-kpty
+pty_LIB= libKF5Pty.so
+
+purpose_PORT= misc/kf5-purpose
+purpose_LIB= libKF5Purpose.so
+
+qqc2-desktop-style_PORT= x11-themes/kf5-qqc2-desktop-style
+qqc2-desktop-style_PATH= ${QT_PLUGINDIR}/kf5/kirigami/org.kde.desktop.so
+
+runner_PORT= x11/kf5-krunner
+runner_LIB= libKF5Runner.so
+
+service_PORT= devel/kf5-kservice
+service_PATH= ${KDE_PREFIX}/bin/kbuildsycoca5
+
+solid_PORT= devel/kf5-solid
+solid_LIB= libKF5Solid.so
+
+sonnet_PORT= textproc/kf5-sonnet
+sonnet_LIB= libKF5SonnetCore.so
+
+syndication_PORT= net/kf5-syndication
+syndication_LIB= libKF5Syndication.so
+
+syntaxhighlighting_PORT= textproc/kf5-syntax-highlighting
+syntaxhighlighting_LIB= libKF5SyntaxHighlighting.so
+
+texteditor_PORT= devel/kf5-ktexteditor
+texteditor_LIB= libKF5TextEditor.so
+
+textwidgets_PORT= x11-toolkits/kf5-ktextwidgets
+textwidgets_LIB= libKF5TextWidgets.so
+
+threadweaver_PORT= devel/kf5-threadweaver
+threadweaver_LIB= libKF5ThreadWeaver.so
+
+unitconversion_PORT= devel/kf5-kunitconversion
+unitconversion_LIB= libKF5UnitConversion.so
+
+wallet_PORT= sysutils/kf5-kwallet
+wallet_LIB= libKF5Wallet.so
+
+wayland_PORT= x11/kf5-kwayland
+wayland_LIB= libKF5WaylandClient.so
+
+widgetsaddons_PORT= x11-toolkits/kf5-kwidgetsaddons
+widgetsaddons_LIB= libKF5WidgetsAddons.so
+
+windowsystem_PORT= x11/kf5-kwindowsystem
+windowsystem_LIB= libKF5WindowSystem.so
+
+xmlgui_PORT= x11-toolkits/kf5-kxmlgui
+xmlgui_LIB= libKF5XmlGui.so
+
+xmlrpcclient_PORT= net/kf5-kxmlrpcclient
+xmlrpcclient_LIB= libKF5XmlRpcClient.so
+# ====================== end of frameworks components ==========================
+
+# ====================== plasma components =====================================
+activitymanagerd_PORT= x11/plasma5-kactivitymanagerd
+activitymanagerd_LIB= libkactivitymanagerd_plugin.so
+
+breeze_PORT= x11-themes/plasma5-breeze
+breeze_PATH= ${KDE_PREFIX}/share/QtCurve/Breeze.qtcurve
+
+breeze-gtk_PORT= x11-themes/plasma5-breeze-gtk
+breeze-gtk_PATH= ${KDE_PREFIX}/lib/kconf_update_bin/gtkbreeze5.5
+
+decoration_PORT= x11-wm/plasma5-kdecoration
+decoration_LIB= libkdecorations2.so
+
+discover_PORT= sysutils/plasma5-discover
+discover_PATH= ${KDE_PREFIX}/bin/plasma-discover
+
+drkonqi_PORT= sysutils/plasma5-drkonqi
+drkonqi_PATH= ${KDE_PREFIX}/lib/libexec/drkonqi
+
+hotkeys_PORT= devel/plasma5-khotkeys
+hotkeys_LIB= libkhotkeysprivate.so.5
+
+infocenter_PORT= sysutils/plasma5-kinfocenter
+infocenter_PATH= ${KDE_PREFIX}/bin/kinfocenter
+
+kde-cli-tools_PORT= sysutils/plasma5-kde-cli-tools
+kde-cli-tools_PATH= ${KDE_PREFIX}/bin/kcmshell5
+
+kde-gtk-config_PORT= x11-themes/plasma5-kde-gtk-config
+kde-gtk-config_PATH= ${QT_PLUGINDIR}/kcm_kdegtkconfig.so
+
+kdeplasma-addons_PORT= x11-toolkits/plasma5-kdeplasma-addons
+kdeplasma-addons_PATH= ${QT_PLUGINDIR}/kcm_krunner_dictionary.so
+
+kgamma5_PORT= x11/plasma5-kgamma5
+kgamma5_PATH= ${QT_PLUGINDIR}/kcm_kgamma.so
+
+kmenuedit_PORT= sysutils/plasma5-kmenuedit
+kmenuedit_LIB= libkdeinit5_kmenuedit.so
+
+kscreen_PORT= x11/plasma5-kscreen
+kscreen_PATH= ${KDE_PREFIX}/bin/kscreen-console
+
+kscreenlocker_PORT= security/plasma5-kscreenlocker
+kscreenlocker_LIB= libKScreenLocker.so
+
+ksshaskpass_PORT= security/plasma5-ksshaskpass
+ksshaskpass_PATH= ${KDE_PREFIX}/bin/ksshaskpass
+
+ksysguard_PORT= sysutils/plasma5-ksysguard
+ksysguard_PATH= ${KDE_PREFIX}/bin/ksysguard
+
+kwallet-pam_PORT= security/plasma5-kwallet-pam
+kwallet-pam_PATH= ${KDE_PREFIX}/lib/security/pam_kwallet5.so
+
+kwayland-integration_PORT= x11/plasma5-kwayland-integration
+kwayland-integration_PATH= ${QT_PLUGINDIR}/kf5/org.kde.kidletime.platforms/KF5IdleTimeKWaylandPlugin.so
+
+kwin_PORT= x11-wm/plasma5-kwin
+kwin_PATH= ${KDE_PREFIX}/bin/kwin_x11
+
+kwrited_PORT= devel/plasma5-kwrited
+kwrited_PATH= ${QT_PLUGINDIR}/kf5/kded/kwrited.so
+
+libkscreen_PORT= x11/plasma5-libkscreen
+libkscreen_LIB= libKF5Screen.so
+
+libksysguard_PORT= sysutils/plasma5-libksysguard
+libksysguard_LIB= libksgrd.so
+
+milou_PORT= deskutils/plasma5-milou
+milou_LIB= libmilou.so.5
+
+oxygen_PORT= x11-themes/plasma5-oxygen
+oxygen_LIB= liboxygenstyle5.so
+
+plasma-browser-integration_PORT= www/plasma5-plasma-browser-integration
+plasma-browser-integration_PATH= ${KDE_PREFIX}/bin/plasma-browser-integration-host
+
+plasma-desktop_PORT= x11/plasma5-plasma-desktop
+plasma-desktop_PATH= ${KDE_PREFIX}/bin/krdb
+
+plasma-integration_PORT= x11/plasma5-plasma-integration
+plasma-integration_PATH= ${QT_PLUGINDIR}/platformthemes/KDEPlasmaPlatformTheme.so
+
+plasma-pa_PORT= audio/plasma5-plasma-pa
+plasma-pa_PATH= ${QT_PLUGINDIR}/kcms/kcm_pulseaudio.so
+
+plasma-sdk_PORT= devel/plasma5-plasma-sdk
+plasma-sdk_PATH= ${KDE_PREFIX}/bin/plasmoidviewer
+
+plasma-workspace_PORT= x11/plasma5-plasma-workspace
+plasma-workspace_LIB= libkdeinit5_kcminit.so
+
+plasma-workspace-wallpapers_PORT= x11-themes/plasma5-plasma-workspace-wallpapers
+plasma-workspace-wallpapers_PATH= ${KDE_PREFIX}/share/wallpapers/Autumn/contents/images/1280x1024.jpg
+
+polkit-kde-agent-1_PORT= sysutils/plasma5-polkit-kde-agent-1
+polkit-kde-agent-1_PATH= ${KDE_PREFIX}/lib/libexec/polkit-kde-authentication-agent-1
+
+powerdevil_PORT= sysutils/plasma5-powerdevil
+powerdevil_LIB= libpowerdevilcore.so
+
+systemsettings_PORT= sysutils/plasma5-systemsettings
+systemsettings_PATH= ${KDE_PREFIX}/bin/systemsettings5
+
+user-manager_PORT= sysutils/plasma5-user-manager
+user-manager_PATH= ${QT_PLUGINDIR}/user_manager.so
+# ====================== end of plasma components ==============================
+
+# ====================== pim5 components =======================================
+akonadicontacts_PORT= net/akonadi-contacts
+akonadicontacts_LIB= libKF5AkonadiContact.so
+
+akonadiimportwizard_PORT= deskutils/akonadi-import-wizard
+akonadiimportwizard_LIB= libKPimImportWizard.so
+
+akonadimime_PORT= net/akonadi-mime
+akonadimime_LIB= libKF5AkonadiMime.so
+
+akonadinotes_PORT= net/akonadi-notes
+akonadinotes_LIB= libKF5AkonadiNotes.so
+
+akonadicalendar_PORT= net/akonadi-calendar
+akonadicalendar_LIB= libKF5AkonadiCalendar.so
+
+akonadisearch_PORT= net/akonadi-search
+akonadisearch_LIB= libKF5AkonadiSearchCore.so
+
+alarmcalendar_PORT= net/kalarmcal
+alarmcalendar_LIB= libKF5AlarmCalendar.so
+
+blog_PORT= net/kblog
+blog_LIB= libKF5Blog.so
+
+calendarsupport_PORT= net/calendarsupport
+calendarsupport_LIB= libKF5CalendarSupport.so
+
+calendarcore_PORT= net/kcalcore
+calendarcore_LIB= libKF5CalendarCore.so
+
+calendarutils_PORT= net/kcalutils
+calendarutils_LIB= libKF5CalendarUtils.so
+
+contacts_PORT= net/kcontacts
+contacts_LIB= libKF5Contacts.so
+
+eventviews_PORT= net/eventviews
+eventviews_LIB= libKF5EventViews.so
+
+gapi_PORT= net/libkgapi
+gapi_LIB= libKPimGAPICore.so
+
+grantleetheme_PORT= deskutils/grantleetheme
+grantleetheme_LIB= libKF5GrantleeTheme.so
+
+gravatar_PORT= net/libgravatar
+gravatar_LIB= libKF5Gravatar.so
+
+identitymanagement_PORT= net/kidentitymanagement
+identitymanagement_LIB= libKF5IdentityManagement.so
+
+imap_PORT= net/kimap
+imap_LIB= libKF5IMAP.so
+
+incidenceeditor_PORT= net/incidenceeditor
+incidenceeditor_LIB= libKF5IncidenceEditor.so
+
+kdepim-addons_PORT= deskutils/kdepim-addons
+kdepim-addons_PATH= ${KDE_PREFIX}/lib/contacteditor/editorpageplugins/cryptopageplugin.so
+
+kdepim-apps-libs_PORT= deskutils/kdepim-apps-libs
+kdepim-apps-libs_LIB= libKF5SendLater.so
+
+kdepim-runtime5_PORT= deskutils/kdepim-runtime
+kdepim-runtime5_PATH= ${KDE_PREFIX}/bin/gidmigrator
+
+kitinerary_PORT= net/kitinerary
+kitinerary_LIB= libKPimItinerary.so
+
+kontactinterface_PORT= net/kontactinterface
+kontactinterface_LIB= libKF5KontactInterface.so
+
+kpimdav_PORT= net/kdav
+kpimdav_LIB= libKPimKDAV.so
+
+kpkpass_PORT= security/kpkpass
+kpkpass_LIB= libKPimPkPass.so
+
+ksmtp_PORT= net/ksmtp
+ksmtp_LIB= libKPimSMTP.so
+
+ldap_PORT= net/kldap
+ldap_LIB= libKF5Ldap.so
+
+libkdepim_PORT= deskutils/libkdepim
+libkdepim_LIB= libKF5Libkdepim.so
+
+libkleo_PORT= security/libkleo
+libkleo_LIB= libKF5Libkleo.so
+
+libksieve_PORT= net/libksieve
+libksieve_LIB= libKF5KSieve.so
+
+mailcommon_PORT= net/mailcommon
+mailcommon_LIB= libKF5MailCommon.so
+
+mailimporter_PORT= net/mailimporter
+mailimporter_LIB= libKF5MailImporter.so
+
+mailtransport_PORT= net/kmailtransport
+mailtransport_LIB= libKF5MailTransport.so
+
+mbox_PORT= net/kmbox
+mbox_LIB= libKF5Mbox.so
+
+messagelib_PORT= net/messagelib
+messagelib_LIB= libKF5MessageList.so
+
+mime_PORT= net/kmime
+mime_LIB= libKF5Mime.so
+
+pimcommon_PORT= net/pimcommon
+pimcommon_LIB= libKF5PimCommon.so
+
+pimtextedit_PORT= net/kpimtextedit
+pimtextedit_LIB= libKF5PimTextEdit.so
+
+tnef_PORT= net/ktnef
+tnef_LIB= libKF5Tnef.so
+
+# PIM Applications
+akonadiconsole_PORT= deskutils/akonadiconsole
+akonadiconsole_PATH= ${KDE_PREFIX}/bin/akonadiconsole
+
+akregator_PORT= deskutils/akregator
+akregator_PATH= ${KDE_PREFIX}/bin/akregator
+
+grantlee-editor_PORT= deskutils/grantlee-editor
+grantlee-editor_PATH= ${KDE_PREFIX}/bin/contactthemeeditor
+
+kaddressbook_PORT= deskutils/kaddressbook
+kaddressbook_PATH= ${KDE_PREFIX}/bin/kaddressbook
+
+kalarm_PORT= deskutils/kalarm
+kalarm_PATH= ${KDE_PREFIX}/bin/kalarm
+
+kmail_PORT= deskutils/kmail
+kmail_PATH= ${KDE_PREFIX}/bin/kmail
+
+kmail-account-wizard_PORT= deskutils/kmail-account-wizard
+kmail-account-wizard_PATH= ${KDE_PREFIX}/bin/accountwizard
+
+knotes_PORT= deskutils/knotes
+knotex_PATH= ${KDE_PREFIX}/bin/knotes
+
+kontact_PORT= deskutils/kontact
+kontact_PATH= ${KDE_PREFIX}/bin/kontact
+
+korganizer_PORT= deskutils/korganizer
+korganizer_PATH= ${KDE_PREFIX}/bin/korganizer
+
+mbox-importer_PORT= deskutils/mbox-importer
+mbox-importer_PATH= ${KDE_PREFIX}/bin/mboximporter
+
+pim-data-exporter_PORT= deskutils/pim-data-exporter
+pim-data-exporter_PATH= ${KDE_PREFIX}/bin/pimsettingexporter
+# ====================== end of pim5 components ================================
+
+# ====================== multiversion component ================================
+akonadi5_PORT= databases/akonadi
+akonadi5_LIB= libKF5AkonadiPrivate.so
+
+baloo-widgets5_PORT= sysutils/baloo-widgets
+baloo-widgets5_LIB= libKF5BalooWidgets.so
+
+kate5_PORT= editors/kate
+kate5_PATH= ${QT_PLUGINDIR}/ktexteditor/katebacktracebrowserplugin.so
+
+libkcddb5_PORT= audio/libkcddb
+libkcddb5_LIB= libKF5Cddb.so
+
+libkcompactdisc5_PORT= audio/libkcompactdisc-kde5
+libkcompactdisc5_LIB= libKF5CompactDisc.so
+
+libkdcraw5_PORT= graphics/libkdcraw
+libkdcraw5_LIB= libKF5KDcraw.so
+
+libkdegames5_PORT= games/libkdegames
+libkdegames5_LIB= libKF5KDEGames.so
+
+libkeduvocdocument5_PORT= misc/libkeduvocdocument
+libkeduvocdocument5_LIB= libKEduVocDocument.so
+
+libkexiv25_PORT= graphics/libkexiv2
+libkexiv25_LIB= libKF5KExiv2.so
+
+libkipi5_PORT= graphics/libkipi
+libkipi5_LIB= libKF5Kipi.so
+
+libksane5_PORT= graphics/libksane
+libksane5_LIB= libKF5Sane.so
+
+marble5_PORT= astro/marble
+marble5_LIB= libmarblewidget-qt5.so
+
+okular5_PORT= graphics/okular
+okular5_LIB= libOkular5Core.so
+# ====================== end of multiversion components ========================
+
+# ====================== select the proper multiversion component ==============
+. for comp in ${_USE_KDE_BOTH}
+${comp}_PORT= ${${comp}${_KDE_VERSION}_PORT}
+. if defined(${comp}${_KDE_VERSION}_LIB)
+${comp}_LIB= ${${comp}${_KDE_VERSION}_LIB}
+. else
+. if defined(${comp}${_KDE_VERSION}_PATH})
+${comp}_PATH= ${${comp}${_KDE_VERSION}_LIB}
+. endif
+# If neither is defined, this gets caught below when checking components
+. endif
+. endfor
+#===============================================================================
+
+# end of component list ########################################################
+
+_USE_KDE_ALL= ${_USE_${_KDE_RELNAME}_ALL}
+
+# Iterate through components deprived of suffix.
+. for component in ${USE_KDE:O:u:C/_.+//}
+ # Check that the component is valid.
+. if ${_USE_KDE_ALL:M${component}} != ""
+ # Skip meta-components (currently none).
+. if defined(${component}_PORT) && (defined(${component}_PATH) || defined(${component}_LIB))
+ # Check if a dependency type is explicitly requested.
+. if ${USE_KDE:M${component}_*} != "" && ${USE_KDE:M${component}} == ""
+${component}_TYPE= # empty
+. if ${USE_KDE:M${component}_build} != ""
+${component}_TYPE+= build
+. endif
+. if ${USE_KDE:M${component}_run} != ""
+${component}_TYPE+= run
+. endif
+. endif # ${USE_KDE:M${component}_*} != "" && ${USE_KDE:M${component}} == ""
+ # If no dependency type is set, default to full dependency.
+. if !defined(${component}_TYPE)
+${component}_TYPE= build run
+. endif
+ # Set real dependencies.
+. if defined(${component}_LIB) && ${${component}_TYPE:Mbuild} && ${${component}_TYPE:Mrun}
+LIB_DEPENDS+= ${${component}_LIB}:${${component}_PORT}
+. else
+${component}_PATH?= ${KDE_PREFIX}/lib/${${component}_LIB}
+${component}_DEPENDS= ${${component}_PATH}:${${component}_PORT}
+. if ${${component}_TYPE:Mbuild} != ""
+BUILD_DEPENDS+= ${${component}_DEPENDS}
+. endif
+. if ${${component}_TYPE:Mrun} != ""
+RUN_DEPENDS+= ${${component}_DEPENDS}
+. endif
+. endif # ${${component}_LIB} && ${${component}_TYPE:Mbuild} && ${${component}_TYPE:Mrun}
+. endif # defined(${component}_PORT) && defined(${component}_PATH)
+. else # ! ${_USE_KDE_ALL:M${component}} != ""
+IGNORE= cannot be installed: unknown USE_KDE component '${component}'
+. endif # ${_USE_KDE_ALL:M${component}} != ""
+. endfor
+
+. endif
+.endif
diff --git a/test-ports/Mk/Uses/kmod.mk b/test-ports/Mk/Uses/kmod.mk
new file mode 100644
index 00000000..3fbc0d96
--- /dev/null
+++ b/test-ports/Mk/Uses/kmod.mk
@@ -0,0 +1,83 @@
+# $FreeBSD: head/Mk/Uses/kmod.mk 434056 2017-02-13 21:48:12Z rene $
+#
+# Handles common items for kernel module ports.
+#
+# Feature: kmod
+# Usage: USES=kmod
+# Valid ARGS: (none) debug
+#
+# MAINTAINER: rene@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_KMOD_MK)
+_INCLUDE_USES_KMOD_MK= yes
+
+_USES_POST+= kmod
+
+.if empty(kmod_ARGS)
+_DEBUG_KMOD=
+.elif ${kmod_ARGS} == "debug"
+_DEBUG_KMOD= yes
+.else
+IGNORE= USES=kmod takes either no arguments or 'debug'
+.endif
+
+.if !exists(${SRC_BASE}/sys/Makefile)
+IGNORE= requires kernel source files in ${SRC_BASE}
+.endif
+
+CATEGORIES+= kld
+
+SSP_UNSAFE= kernel module supports SSP natively
+
+KMODDIR?= /boot/modules
+.if ${KMODDIR} == /boot/kernel
+KMODDIR= /boot/modules
+.endif
+
+_DEBUG_KMOD_SH= \
+${ECHO_CMD} -n "\"@dir /%%KERN_DEBUGDIR%%/%%KMODDIR%%\"" ; \
+skd=`${ECHO_CMD} ${KMODDIR} | ${SED} "s,/, ,g"` ; \
+l=`${ECHO_CMD} $$skd | wc -w` ; \
+while [ $$l -gt 0 ] ; do \
+ c=0 ; \
+ r="" ; \
+ for p in $$skd ; do \
+ c=$$(($$c+1)) ; \
+ if [ $$c -eq $$l ] ; then \
+ break ; \
+ fi ; \
+ r="$$r/$$p" ; \
+ done ; \
+ ${ECHO_CMD} -n " \"@dir /%%KERN_DEBUGDIR%%$$r\"" ; \
+ l=$$(($$l-1)) ; \
+done
+
+PLIST_SUB+= KMODDIR="${KMODDIR:C,^/,,}"
+MAKE_ENV+= KMODDIR="${KMODDIR}" SYSDIR="${SRC_BASE}/sys" NO_XREF=yes
+PLIST_FILES+= "@kld ${KMODDIR}"
+
+STRIP_CMD+= --strip-debug # do not strip kernel symbols
+.if !empty(_DEBUG_KMOD)
+KERN_DEBUGDIR?= ${DEBUGDIR}
+PLIST_SUB+= KERN_DEBUGDIR="${KERN_DEBUGDIR:C,^/,,}"
+MAKE_ENV+= KERN_DEBUGDIR="${KERN_DEBUGDIR}"
+_KMOD_DIRS!= ${_DEBUG_KMOD_SH}
+PLIST_FILES+= ${_KMOD_DIRS}
+.endif
+
+.endif
+
+.if defined(_POSTMKINCLUDED) && !defined(_INCLUDE_USES_KMOD_POST_MK)
+_INCLUDE_USES_KMOD_POST_MK= yes
+
+_USES_install+= 290:${STAGEDIR}${KMODDIR}
+${STAGEDIR}${KMODDIR}:
+ @${MKDIR} ${.TARGET}
+
+.if !empty(_DEBUG_KMOD)
+_USES_install+= 291:${STAGEDIR}${KERN_DEBUGDIR}${KMODDIR}
+${STAGEDIR}${KERN_DEBUGDIR}${KMODDIR}:
+ @${MKDIR} ${.TARGET}
+.endif
+
+.endif
diff --git a/test-ports/Mk/Uses/lazarus.mk b/test-ports/Mk/Uses/lazarus.mk
new file mode 100644
index 00000000..45a85487
--- /dev/null
+++ b/test-ports/Mk/Uses/lazarus.mk
@@ -0,0 +1,145 @@
+#
+# $FreeBSD: head/Mk/Uses/lazarus.mk 470843 2018-05-25 15:48:13Z acm $
+#
+# Support for Lazarus-based ports.
+#
+# Feature: lazarus
+# Usage: USES=lazarus
+# Valid ARGS: (none), gtk2, qt4, qt5, flavors
+#
+# (none) - This automatically build lazarus-app with gtk2 interface
+#
+# gtk2 - This automatically build lazarus-app with gtk2 interface
+#
+# qt4 - This automatically build lazarus-app with qt4 interface
+#
+# qt5 - This automatically build lazarus-app with qt5 interface
+#
+# flavors - This automatically build lazarus-app with flavors feature
+#
+# If the port not requires compile lazarus project files automatically, you can
+# defined the following:
+#
+# NO_LAZBUILD= yes
+#
+# Variables for ports:
+#
+# LAZARUS_PROJECT_FILES - List of lpi files. It must not be empty
+# Default: empty
+# LAZARUS_DIR - Path to lazarus installation directory
+# Default: ${LOCALBASE}/share/lazarus-${LAZARUS_VER}
+# LAZBUILD_ARGS - lazbuild extra args. It could be -d most of cases.
+# See man lazbuild for more information
+# Default: empty
+# LAZARUS_NO_FLAVORS - Do NOT build these lazarus flavors.
+# If LAZARUS_NO_FLAVORS is not define then all
+# valid lazarus flavors are assumed.
+#
+# Example:
+#
+# USES+= lazarus:flavors
+# LAZARUS_NO_FLAVORS=qt5
+#
+
+.if !defined(_INCLUDE_USES_LAZARUS_MK)
+
+LAZARUS_Include_MAINTAINER= acm@FreeBSD.org
+
+_INCLUDE_USES_LAZARUS_MK= yes
+
+.if defined(DEFAULT_LAZARUS_VER)
+WARNING+= "DEFAULT_LAZARUS_VER is defined, consider using DEFAULT_VERSIONS=lazarus=${DEFAULT_LAZARUS_VER} instead"
+.endif
+
+.if ${lazarus_ARGS:Ngtk2:Nqt4:Nqt5:Nflavors}
+IGNORE= Unknown argument for USES=lazarus: ${lazarus_ARGS:Ngtk2:Nqt4:Nqt5:Nflavors}
+.endif
+
+.if !empty(LAZARUS_NO_FLAVORS)
+.if ${LAZARUS_NO_FLAVORS:Ngtk2:Nqt4:Nqt5}
+IGNORE= Unknown argument for LAZARUS_NO_FLAVORS: ${LAZARUS_NO_FLAVORS:Ngtk2:Nqt4:Nqt5}
+.endif
+.endif
+
+DEFAULT_LAZARUS_VER= ${LAZARUS_DEFAULT}
+DEFAULT_FPC_VER= ${FPC_DEFAULT}
+# When adding a version, please keep the comment in
+# Mk/bsd.default-versions.mk in sync.
+LAZARUS_VER= ${DEFAULT_LAZARUS_VER}
+FPC_VER= ${DEFAULT_FPC_VER}
+LAZARUS_ARCH= ${ARCH:S/amd64/x86_64/}
+LAZARUS_PROJECT_FILES?= # empty
+LAZARUS_DIR?= ${LOCALBASE}/share/lazarus-${LAZARUS_VER}
+
+ONLY_FOR_ARCHS= i386 amd64
+ONLY_FOR_ARCHS_REASON= not yet ported to anything other than i386 and amd64
+
+BUILD_DEPENDS+= fpcres:lang/fpc-utils
+
+BUILDNAME= ${LAZARUS_ARCH}-${OPSYS:tl}
+LCL_UNITS_DIR= ${LOCALBASE}/share/lazarus-${LAZARUS_VER}/lcl/units/${BUILDNAME}
+MKINSTDIR= ${LOCALBASE}/lib/fpc/${FPC_VER}/fpmkinst/${BUILDNAME}
+
+LAZARUS_FLAVORS= gtk2 qt4 qt5
+
+.if ${lazarus_ARGS:Mflavors}
+. if defined(LAZARUS_NO_FLAVORS)
+. for flavor in ${LAZARUS_NO_FLAVORS}
+FLAVORS:= ${LAZARUS_FLAVORS:N${flavor}}
+. endfor
+. else
+FLAVORS:= ${LAZARUS_FLAVORS}
+. endif
+
+. if empty(FLAVOR)
+FLAVOR= ${FLAVORS:[1]}
+. endif
+.endif
+
+LAZARUS_PKGNAMESUFFIX= -${FLAVOR}
+
+.if ${lazarus_ARGS:Mgtk2} || ${FLAVOR} == gtk2
+BUILD_DEPENDS+= ${MKINSTDIR}/gtk2.fpm:x11-toolkits/fpc-gtk2
+LIB_DEPENDS+= libglib-2.0.so:devel/glib20 \
+ libgtk-x11-2.0.so:x11-toolkits/gtk20 \
+ libatk-1.0.so:accessibility/atk \
+ libpango-1.0.so:x11-toolkits/pango \
+ libgdk_pixbuf-2.0.so:graphics/gdk-pixbuf2
+LCL_PLATFORM= gtk2
+BUILD_DEPENDS+= ${LCL_UNITS_DIR}/${LCL_PLATFORM}/interfaces.ppu:editors/lazarus
+.endif
+
+.if ${lazarus_ARGS:Mqt4} || ${FLAVOR} == qt4
+LIB_DEPENDS+= libQt4Pas.so:x11-toolkits/qt4pas
+LCL_PLATFORM= qt
+BUILD_DEPENDS+= ${LCL_UNITS_DIR}/${LCL_PLATFORM}/interfaces.ppu:editors/lazarus-qt4
+.endif
+
+.if ${lazarus_ARGS:Mqt5} || ${FLAVOR} == qt5
+LIB_DEPENDS+= libQt5Pas.so:x11-toolkits/qt5pas
+LCL_PLATFORM= qt5
+BUILD_DEPENDS+= ${LCL_UNITS_DIR}/${LCL_PLATFORM}/interfaces.ppu:editors/lazarus-qt5
+.endif
+
+LAZBUILD_CMD= ${LOCALBASE}/bin/lazbuild
+LAZBUILD_ARGS?= # empty
+
+_USES_POST+= lazarus
+.endif
+# End of _INCLUDE_USES_LAZARUS_MK
+
+.if defined(_POSTMKINCLUDED) && !defined(_INCLUDE_USES_LAZARUS_POST_MK)
+_INCLUDE_USES_LAZARUS_POST_MK= yes
+
+.if !defined(NO_LAZBUILD)
+.if !target(do-build)
+do-build:
+. for PROJECT_FILE in ${LAZARUS_PROJECT_FILES}
+ @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${LAZBUILD_CMD} \
+ ${LAZBUILD_ARGS} --ws=${LCL_PLATFORM} --lazarusdir=${LAZARUS_DIR} ${PROJECT_FILE})
+. endfor
+.endif # !target(do-build)
+.endif
+
+.endif
+# End of _INCLUDE_USES_LAZARUS_POST_MK
diff --git a/test-ports/Mk/Uses/lha.mk b/test-ports/Mk/Uses/lha.mk
new file mode 100644
index 00000000..87851feb
--- /dev/null
+++ b/test-ports/Mk/Uses/lha.mk
@@ -0,0 +1,22 @@
+# $FreeBSD: head/Mk/Uses/lha.mk 411970 2016-03-27 01:23:25Z bapt $
+#
+# handle lha archives
+#
+# Feature: lha
+# Usage: USES=lha
+#
+.if !defined(_INCLUDE_USES_LHA_Mk)
+_INCLUDE_USES_LHA_MK= yes
+
+EXTRACT_SUFX?= .lzh
+
+.if !empty(lha_ARGS)
+IGNORE= Incorrect 'USES+=lha:${lha_ARGS}' expecting 'USES+=lha'
+.endif
+
+EXTRACT_DEPENDS+= lha:archivers/lha
+EXTRACT_CMD?= ${LHA_CMD}
+EXTRACT_BEFORE_ARGS?= xfpw=${EXTRACT_WRKDIR}
+EXTRACT_AFTER_ARGS?=
+
+.endif
diff --git a/test-ports/Mk/Uses/libarchive.mk b/test-ports/Mk/Uses/libarchive.mk
new file mode 100644
index 00000000..a06b848c
--- /dev/null
+++ b/test-ports/Mk/Uses/libarchive.mk
@@ -0,0 +1,16 @@
+# $FreeBSD: head/Mk/Uses/libarchive.mk 423014 2016-09-30 19:24:30Z tijl $
+#
+# handle dependency on the libarchive port
+#
+# Feature: libarchive
+# Usage: USES=libarchive
+# Valid ARGS: none
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_LIBARCHIVE_MK)
+_INCLUDE_USES_LIBARCHIVE_MK= yes
+_USES_POST+= localbase
+
+LIB_DEPENDS+= libarchive.so.13:archivers/libarchive
+.endif
diff --git a/test-ports/Mk/Uses/libedit.mk b/test-ports/Mk/Uses/libedit.mk
new file mode 100644
index 00000000..f6db8196
--- /dev/null
+++ b/test-ports/Mk/Uses/libedit.mk
@@ -0,0 +1,16 @@
+# $FreeBSD: head/Mk/Uses/libedit.mk 423014 2016-09-30 19:24:30Z tijl $
+#
+# handle dependency on the libedit port
+#
+# Feature: libedit
+# Usage: USES=libedit
+# Valid ARGS: none
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_LIBEDIT_MK)
+_INCLUDE_USES_LIBEDIT_MK= yes
+_USES_POST+= localbase
+
+LIB_DEPENDS+= libedit.so.0:devel/libedit
+.endif
diff --git a/test-ports/Mk/Uses/libtool.mk b/test-ports/Mk/Uses/libtool.mk
new file mode 100644
index 00000000..2cf0af08
--- /dev/null
+++ b/test-ports/Mk/Uses/libtool.mk
@@ -0,0 +1,84 @@
+# $FreeBSD: head/Mk/Uses/libtool.mk 457295 2017-12-26 17:20:15Z emaste $
+#
+# Bring libtool scripts up to date.
+#
+# Feature: libtool
+# Usage: USES=libtool or USES=libtool:args
+# Valid args: keepla Don't remove libtool libraries (*.la) from the stage
+# directory. Some ports need them at runtime (e.g. ports
+# that call lt_dlopen from libltdl).
+# build Add a build dependency on devel/libtool. This can
+# be used when a port does not generate its own libtool
+# script and relies on the system to provide one.
+#
+# MAINTAINER: tijl@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_LIBTOOL_MK)
+_INCLUDE_USES_LIBTOOL_MK= yes
+_USES_POST+= libtool
+
+.if ${libtool_ARGS:Mbuild}
+BUILD_DEPENDS+= libtool:devel/libtool
+.endif
+.endif
+
+.if defined(_POSTMKINCLUDED) && !defined(_INCLUDE_USES_LIBTOOL_POST_MK)
+_INCLUDE_USES_LIBTOOL_POST_MK= yes
+
+_USES_configure+= 480:patch-libtool
+patch-libtool:
+ @${FIND} ${WRKDIR} \( -name configure -or -name ltconfig \) \
+ -type f | while read i; do ${SED} -i.libtool.bak \
+ -e '/dragonfly\*/!s/^ *freebsd\*[ )]/dragonfly* | &/' \
+ -e '/gcc_dir=\\`/s/gcc /$$CC /' \
+ -e '/gcc_ver=\\`/s/gcc /$$CC /' \
+ -e '/link_all_deplibs[0-9A-Z_]*=/s/=unknown/=no/' \
+ -e '/archive_expsym_cmds[0-9A-Z_]*=.$$CC.*-retain-/ { \
+ s/-retain-symbols-file/-version-script/; \
+ s/$$export_symbols/$$lib-ver/; \
+ s/$$CC/echo "{ global:" > $$lib-ver~ \
+ sed -e "s|$$|;|" < $$export_symbols >> $$lib-ver~ \
+ echo "local: *; };" >> $$lib-ver~&/; }' \
+ -e '/objformat=/s/echo aout/echo elf/' \
+ -e '/STRIP -V/s/"GNU strip"/"strip"/' \
+ -e "/freebsd-elf\\*)/,/;;/ { \
+ /deplibs_check_method=/s/=.*/=pass_all/; \
+ /library_names_spec=.*\\.so/ \
+ s/=.*/='\$$libname\$$release.so\$$versuffix \
+ \$$libname\$$release.so\$$major \$$libname.so' \
+ soname_spec='\$$libname\$$release.so\$$major'/; \
+ /library_names_spec=.*shared_ext/ \
+ s/=.*/='\$$libname\$$release\$$shared_ext\$$versuffix \
+ \$$libname\$$release\$$shared_ext\$$major \
+ \$$libname\$$shared_ext' \
+ soname_spec='\$$libname\$$release\$$shared_ext\$$major'/; \
+ }" $${i} && ${TOUCH} -mr $${i}.libtool.bak $${i}; done
+
+ @${FIND} ${WRKDIR} -type f -name ltmain.sh | \
+ ${XARGS} ${REINPLACE_CMD} \
+ -e '/case $$version_type in/,+2 \
+ s/darwin|linux|/darwin|freebsd-elf|linux|/' \
+ -e '/freebsd-elf)/,+2 { \
+ /major=/s/=.*/=.$$(($$current - $$age))/; \
+ /versuffix=/s/=.*/="$$major.$$age.$$revision"/; }' \
+ -e '/if.*linkmode.*prog.*mode.*!= relink/s/if.*;/if :;/'\
+ -e '/if.*prog.*linkmode.*relink !=.*mode/s/if.*;/if :;/'\
+ -e '/if.*linkmode.*prog.*mode.* = relink/s/||.*;/;/' \
+ -e '/if.*prog.*linkmode.*relink = .*mode/s/||.*;/;/' \
+ -e 's/|-p|-pg|/|-B*|-fstack-protector*|-fuse-ld=*|-p|-pg|/'
+
+_USES_stage+= 790:patch-lafiles
+patch-lafiles:
+.if ${libtool_ARGS:Mkeepla}
+ @${FIND} ${STAGEDIR} -type f -name '*.la' | \
+ ${XARGS} ${SED} -i '' -e "/dependency_libs=/s/=.*/=''/"
+.else
+ @${FIND} ${STAGEDIR} -type l -exec ${SH} -c \
+ 'case `${REALPATH} -q "{}"` in \
+ *.la) ${ECHO_CMD} "{}" ;; esac' \; | \
+ ${XARGS} ${GREP} -l 'libtool library' | ${XARGS} ${RM}
+ @${FIND} ${STAGEDIR} -type f -name '*.la' | \
+ ${XARGS} ${GREP} -l 'libtool library' | ${XARGS} ${RM}
+.endif
+
+.endif
diff --git a/test-ports/Mk/Uses/linux.mk b/test-ports/Mk/Uses/linux.mk
new file mode 100644
index 00000000..e1535faa
--- /dev/null
+++ b/test-ports/Mk/Uses/linux.mk
@@ -0,0 +1,317 @@
+# $FreeBSD: head/Mk/Uses/linux.mk 478165 2018-08-26 19:53:54Z pi $
+#
+# Ports Linux compatibility framework
+#
+# Feature: linux:args
+# Usage: USES=linux or USES=linux:args
+# Valid args: c6 Depend on CentOS 6 packages (default)
+# c7 Depend on CentOS 7 packages
+# Additional variables:
+# USE_LINUX List of Linux packages to depend on.
+# USE_LINUX_RPM When defined, additional variables and targets useful to Linux
+# infrastructure ports are made available. Possible values:
+# yes Set default LIB_DISTNAMES.
+# nolib Set default BIN_DISTNAMES.
+# noarch Set default SHARE_DISTNAMES.
+# Additional variables when USE_LINUX_RPM is defined:
+# BIN_DISTNAMES List of architecture dependent distnames.
+# LIB_DISTNAMES List of distnames with additional 32 bit version.
+# SHARE_DISTNAMES List of architecture independent distnames.
+# SRC_DISTFILES List of source distfiles that need to be distributed
+# with binary packages to comply with some licenses.
+#
+# MAINTAINER: emulation@FreeBSD.org
+
+.ifndef _INCLUDE_USES_LINUX_MK
+_INCLUDE_USES_LINUX_MK= yes
+_USES_POST+= linux
+
+.if empty(linux_ARGS)
+.if exists(${LINUXBASE}/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6)
+linux_ARGS= c6
+.elif exists(${LINUXBASE}/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7)
+linux_ARGS= c7
+.else
+linux_ARGS= ${LINUX_DEFAULT:S/_64//}
+.endif
+.endif
+
+.if ${linux_ARGS} == c6
+LINUX_DIST_VER?= 6.10
+.if ${ARCH} == amd64 && ${LINUX_DEFAULT} != c6
+LINUX_ARCH= x86_64
+.elif ${ARCH} == amd64 || ${ARCH} == i386
+LINUX_ARCH= i386
+.else
+LINUX_ARCH= ${ARCH}
+IGNORE= Linux CentOS ${LINUX_DIST_VER} is unsupported on ${ARCH}
+.endif
+.elif ${linux_ARGS} == c7
+LINUX_DIST_VER?= 7.4.1708
+.if ${ARCH} == amd64
+LINUX_ARCH= x86_64
+.elif ${ARCH} == i386
+LINUX_ARCH= i386
+.else
+LINUX_ARCH= ${ARCH}
+IGNORE= Linux CentOS ${LINUX_DIST_VER} is unsupported on ${ARCH}
+.endif
+.else
+IGNORE= Invalid Linux distribution: ${linux_ARGS}
+.endif
+
+linux_allegro_DEP= linux-${linux_ARGS}-allegro>0:devel/linux-${linux_ARGS}-allegro
+linux_alsa-plugins-oss_DEP= linux-${linux_ARGS}-alsa-plugins-oss>0:audio/linux-${linux_ARGS}-alsa-plugins-oss
+linux_alsa-plugins-pulseaudio_DEP=linux-${linux_ARGS}-alsa-plugins-pulseaudio>0:audio/linux-${linux_ARGS}-alsa-plugins-pulseaudio
+linux_alsalib_DEP= linux-${linux_ARGS}-alsa-lib>0:audio/linux-${linux_ARGS}-alsa-lib
+linux_atk_DEP= linux-${linux_ARGS}-atk>0:accessibility/linux-${linux_ARGS}-atk
+linux_avahi-libs_DEP= linux-${linux_ARGS}-avahi-libs>0:net/linux-${linux_ARGS}-avahi-libs
+linux_base_DEP= linux_base-${linux_ARGS}>0:emulators/linux_base-${linux_ARGS}
+linux_cairo_DEP= linux-${linux_ARGS}-cairo>0:graphics/linux-${linux_ARGS}-cairo
+linux_cups-libs_DEP= linux-${linux_ARGS}-cups-libs>0:print/linux-${linux_ARGS}-cups-libs
+linux_curl_DEP= linux-${linux_ARGS}-curl>0:ftp/linux-${linux_ARGS}-curl
+linux_cyrus-sasl2_DEP= linux-${linux_ARGS}-cyrus-sasl-lib>0:security/linux-${linux_ARGS}-cyrus-sasl2
+linux_dbusglib_DEP= linux-${linux_ARGS}-dbus-glib>0:devel/linux-${linux_ARGS}-dbus-glib
+linux_dbuslibs_DEP= linux-${linux_ARGS}-dbus-libs>0:devel/linux-${linux_ARGS}-dbus-libs
+linux_devtools_DEP= linux-${linux_ARGS}-devtools>0:devel/linux-${linux_ARGS}-devtools
+linux_dri_DEP= linux-${linux_ARGS}-dri>0:graphics/linux-${linux_ARGS}-dri
+linux_expat_DEP= linux-${linux_ARGS}-expat>0:textproc/linux-${linux_ARGS}-expat
+.if ${linux_ARGS} == c6
+linux_flac_DEP= linux-${linux_ARGS}-flac>0:audio/linux-${linux_ARGS}-flac
+.else
+linux_flac_DEP= linux-${linux_ARGS}-flac-libs>0:audio/linux-${linux_ARGS}-flac
+.endif
+linux_fontconfig_DEP= linux-${linux_ARGS}-fontconfig>0:x11-fonts/linux-${linux_ARGS}-fontconfig
+linux_gdkpixbuf2_DEP= linux-${linux_ARGS}-gdk-pixbuf2>0:graphics/linux-${linux_ARGS}-gdk-pixbuf2
+linux_gnutls_DEP= linux-${linux_ARGS}-gnutls>0:security/linux-${linux_ARGS}-gnutls
+linux_graphite2_DEP= linux-${linux_ARGS}-graphite2>0:graphics/linux-${linux_ARGS}-graphite2
+linux_gtk2_DEP= linux-${linux_ARGS}-gtk2>0:x11-toolkits/linux-${linux_ARGS}-gtk2
+linux_harfbuzz_DEP= linux-${linux_ARGS}-harfbuzz>0:print/linux-${linux_ARGS}-harfbuzz
+linux_icu_DEP= linux-${linux_ARGS}-icu>0:devel/linux-${linux_ARGS}-icu
+linux_jasper_DEP= linux-${linux_ARGS}-jasper-libs>0:graphics/linux-${linux_ARGS}-jasper
+linux_jbigkit_DEP= linux-${linux_ARGS}-jbigkit-libs>0:graphics/linux-${linux_ARGS}-jbigkit
+linux_jpeg_DEP= linux-${linux_ARGS}-jpeg>0:graphics/linux-${linux_ARGS}-jpeg
+linux_libasyncns_DEP= linux-${linux_ARGS}-libasyncns>0:dns/linux-${linux_ARGS}-libasyncns
+.if ${linux_ARGS} == c6
+linux_libaudiofile_DEP= linux-${linux_ARGS}-audiofile>0:audio/linux-${linux_ARGS}-libaudiofile
+.else
+linux_libaudiofile_DEP= linux-${linux_ARGS}-audiofile>0:audio/linux-${linux_ARGS}-audiofile
+.endif
+linux_libelf_DEP= linux-${linux_ARGS}-elfutils-libelf>0:devel/linux-${linux_ARGS}-libelf
+linux_libgcrypt_DEP= linux-${linux_ARGS}-libgcrypt>0:security/linux-${linux_ARGS}-libgcrypt
+linux_libgfortran_DEP= linux-${linux_ARGS}-libgfortran>0:devel/linux-${linux_ARGS}-libgfortran
+linux_libgpg-error_DEP= linux-${linux_ARGS}-libgpg-error>0:security/linux-${linux_ARGS}-libgpg-error
+linux_libmng_DEP= linux-${linux_ARGS}-libmng>0:graphics/linux-${linux_ARGS}-libmng
+linux_libogg_DEP= linux-${linux_ARGS}-libogg>0:audio/linux-${linux_ARGS}-libogg
+linux_libpciaccess_DEP= linux-${linux_ARGS}-libpciaccess>0:devel/linux-${linux_ARGS}-libpciaccess
+linux_libsndfile_DEP= linux-${linux_ARGS}-libsndfile>0:audio/linux-${linux_ARGS}-libsndfile
+linux_libsoup_DEP= linux-${linux_ARGS}-libsoup>0:devel/linux-${linux_ARGS}-libsoup
+linux_libssh2_DEP= linux-${linux_ARGS}-libssh2>0:security/linux-${linux_ARGS}-libssh2
+linux_libtasn1_DEP= linux-${linux_ARGS}-libtasn1>0:security/linux-${linux_ARGS}-libtasn1
+linux_libthai_DEP= linux-${linux_ARGS}-libthai>0:devel/linux-${linux_ARGS}-libthai
+linux_libtheora_DEP= linux-${linux_ARGS}-libtheora>0:multimedia/linux-${linux_ARGS}-libtheora
+linux_libunwind_DEP= linux-${linux_ARGS}-libunwind>0:devel/linux-${linux_ARGS}-libunwind
+linux_libv4l_DEP= linux-${linux_ARGS}-libv4l>0:multimedia/linux-${linux_ARGS}-libv4l
+linux_libvorbis_DEP= linux-${linux_ARGS}-libvorbis>0:audio/linux-${linux_ARGS}-libvorbis
+linux_libxml2_DEP= linux-${linux_ARGS}-libxml2>0:textproc/linux-${linux_ARGS}-libxml2
+linux_lttng-ust_DEP= linux-${linux_ARGS}-lttng-ust>0:sysutils/linux-${linux_ARGS}-lttng-ust
+linux_mikmod_DEP= linux-${linux_ARGS}-libmikmod>0:audio/linux-${linux_ARGS}-mikmod
+linux_naslibs_DEP= linux-${linux_ARGS}-nas>0:audio/linux-${linux_ARGS}-nas-libs
+linux_nettle_DEP= linux-${linux_ARGS}-nettle>0:security/linux-${linux_ARGS}-nettle
+linux_nspr_DEP= linux-${linux_ARGS}-nspr>0:devel/linux-${linux_ARGS}-nspr
+linux_nss_DEP= linux-${linux_ARGS}-nss>0:security/linux-${linux_ARGS}-nss
+linux_openal_DEP= linux-${linux_ARGS}-openal>0:audio/linux-${linux_ARGS}-openal
+linux_openal-soft_DEP= linux-${linux_ARGS}-openal-soft>0:audio/linux-${linux_ARGS}-openal-soft
+linux_openldap_DEP= linux-${linux_ARGS}-openldap>0:net/linux-${linux_ARGS}-openldap
+.if ${linux_ARGS} == c6
+linux_openmotif_DEP= linux-${linux_ARGS}-openmotif>0:x11-toolkits/linux-${linux_ARGS}-openmotif
+.else
+linux_openmotif_DEP= linux-${linux_ARGS}-motif>0:x11-toolkits/linux-${linux_ARGS}-openmotif
+.endif
+.if ${linux_ARGS} == c6
+linux_openssl_DEP= linux-${linux_ARGS}-openssl>0:security/linux-${linux_ARGS}-openssl
+.else
+linux_openssl_DEP= linux-${linux_ARGS}-openssl-libs>0:security/linux-${linux_ARGS}-openssl
+.endif
+linux_p11-kit_DEP= linux-${linux_ARGS}-p11-kit>0:security/linux-${linux_ARGS}-p11-kit
+linux_pango_DEP= linux-${linux_ARGS}-pango>0:x11-toolkits/linux-${linux_ARGS}-pango
+linux_pixman_DEP= linux-${linux_ARGS}-pixman>0:x11/linux-${linux_ARGS}-pixman
+linux_png_DEP= linux-${linux_ARGS}-libpng>0:graphics/linux-${linux_ARGS}-png
+linux_pulseaudio-libs_DEP= linux-${linux_ARGS}-pulseaudio-libs>0:audio/linux-${linux_ARGS}-pulseaudio-libs
+.if ${linux_ARGS} == c6
+linux_qt_DEP= linux-${linux_ARGS}-qt47>0:devel/linux-${linux_ARGS}-qt47
+linux_qt-x11_DEP= linux-${linux_ARGS}-qt47-x11>0:x11-toolkits/linux-${linux_ARGS}-qt47-x11
+linux_qtwebkit_DEP= linux-${linux_ARGS}-qt47-webkit>0:www/linux-${linux_ARGS}-qt47-webkit
+.else
+linux_qt_DEP= linux-${linux_ARGS}-qt>0:devel/linux-${linux_ARGS}-qt
+linux_qt-x11_DEP= linux-${linux_ARGS}-qt-x11>0:x11-toolkits/linux-${linux_ARGS}-qt-x11
+linux_qtwebkit_DEP= linux-${linux_ARGS}-qtwebkit>0:www/linux-${linux_ARGS}-qtwebkit
+.endif
+linux_scimlibs_DEP= linux-${linux_ARGS}-scim-libs>0:textproc/linux-${linux_ARGS}-scim-libs
+linux_sdl12_DEP= linux-${linux_ARGS}-sdl>0:devel/linux-${linux_ARGS}-sdl12
+linux_sdlimage_DEP= linux-${linux_ARGS}-sdl_image>0:graphics/linux-${linux_ARGS}-sdl_image
+linux_sdlmixer_DEP= linux-${linux_ARGS}-sdl_mixer>0:audio/linux-${linux_ARGS}-sdl_mixer
+linux_sqlite3_DEP= linux-${linux_ARGS}-sqlite>0:databases/linux-${linux_ARGS}-sqlite3
+linux_tcl85_DEP= linux-${linux_ARGS}-tcl85>0:lang/linux-${linux_ARGS}-tcl85
+linux_tcp_wrappers-libs_DEP= linux-${linux_ARGS}-tcp_wrappers-libs>0:net/linux-${linux_ARGS}-tcp_wrappers-libs
+linux_tiff_DEP= linux-${linux_ARGS}-libtiff>0:graphics/linux-${linux_ARGS}-tiff
+linux_tk85_DEP= linux-${linux_ARGS}-tk85>0:x11-toolkits/linux-${linux_ARGS}-tk85
+linux_trousers_DEP= linux-${linux_ARGS}-trousers>0:security/linux-${linux_ARGS}-trousers
+linux_ucl_DEP= linux-${linux_ARGS}-ucl>0:archivers/linux-${linux_ARGS}-ucl
+linux_userspace-rcu_DEP= linux-${linux_ARGS}-userspace-rcu>0:sysutils/linux-${linux_ARGS}-userspace-rcu
+linux_xorglibs_DEP= linux-${linux_ARGS}-xorg-libs>0:x11/linux-${linux_ARGS}-xorg-libs
+
+USE_LINUX?= base
+.for i in ${USE_LINUX}
+_i_args:= ${i:C/^[^:]*:?//:S/,/ /g}
+.if ${_i_args:Mpatch}
+PATCH_DEPENDS+= ${linux_${i:C/:.*//}_DEP}
+.endif
+.if ${_i_args:Mbuild}
+BUILD_DEPENDS+= ${linux_${i:C/:.*//}_DEP}
+.endif
+.if ${_i_args:Mrun} || empty(_i_args)
+RUN_DEPENDS+= ${linux_${i:C/:.*//}_DEP}
+.endif
+.if !defined(linux_${i:C/:.*//}_DEP)
+DEV_ERROR+= "USE_LINUX=${i}: package does not exist"
+.endif
+.endfor
+
+.ifdef USE_LINUX_RPM
+
+DISTVERSIONSUFFIX?= -${RPMVERSION}
+
+.if ${linux_ARGS} == c6
+.ifndef MASTER_SITES
+MASTER_SITES= ${MASTER_SITE_CENTOS_LINUX}
+MASTER_SITE_SUBDIR= centos/${LINUX_DIST_VER}/os/x86_64/Packages/:DEFAULT,amd64 \
+ centos/${LINUX_DIST_VER}/updates/x86_64/Packages/:DEFAULT,amd64 \
+ centos/${LINUX_DIST_VER}/os/i386/Packages/:DEFAULT,i386 \
+ centos/${LINUX_DIST_VER}/updates/i386/Packages/:DEFAULT,i386 \
+ centos/${LINUX_DIST_VER}/os/Source/SPackages/:SOURCE \
+ centos/${LINUX_DIST_VER}/updates/Source/SPackages/:SOURCE
+.endif
+DIST_SUBDIR?= centos
+.elif ${linux_ARGS} == c7
+.ifndef MASTER_SITES
+MASTER_SITES= ${MASTER_SITE_CENTOS_LINUX}
+MASTER_SITE_SUBDIR= centos/${LINUX_DIST_VER}/os/x86_64/Packages/:DEFAULT,amd64 \
+ centos/${LINUX_DIST_VER}/updates/x86_64/Packages/:DEFAULT,amd64 \
+ altarch/${LINUX_DIST_VER}/os/i386/Packages/:DEFAULT,i386 \
+ altarch/${LINUX_DIST_VER}/updates/i386/Packages/:DEFAULT,i386 \
+ centos/${LINUX_DIST_VER}/os/Source/SPackages/:SOURCE \
+ centos/${LINUX_DIST_VER}/updates/Source/SPackages/:SOURCE
+.endif
+DIST_SUBDIR?= centos
+.endif # ${linux_ARGS} == *
+
+PKGNAMEPREFIX?= linux-${linux_ARGS}-
+EXTRACT_SUFX?= .rpm
+EXTRACT_SUFX_amd64?= .x86_64${EXTRACT_SUFX}
+EXTRACT_SUFX_i386?= .i686${EXTRACT_SUFX}
+EXTRACT_SUFX_noarch?= .noarch${EXTRACT_SUFX}
+SRC_SUFX?= .src${EXTRACT_SUFX}
+
+NO_BUILD= yes
+NO_WRKSUBDIR= yes
+USE_LINUX_PREFIX= yes
+
+.endif # USE_LINUX_RPM
+
+.endif # ! _INCLUDE_USES_LINUX_MK
+
+.ifdef _POSTMKINCLUDED && ! _INCLUDE_USES_LINUX_POST_MK
+_INCLUDE_USES_LINUX_POST_MK= yes
+
+.ifdef USE_LINUX_RPM
+
+.if ${USE_LINUX_RPM} == noarch
+NO_ARCH= yes
+SHARE_DISTNAMES?= ${DISTNAME}
+.elif ${USE_LINUX_RPM} == nolib
+BIN_DISTNAMES?= ${DISTNAME}
+.else
+LIB_DISTNAMES?= ${DISTNAME}
+.endif
+.if !(defined(ONLY_FOR_ARCHS) && empty(ONLY_FOR_ARCHS:Mamd64)) \
+ && empty(NOT_FOR_ARCHS:Mamd64)
+.if !(defined(ONLY_FOR_ARCHS) && empty(ONLY_FOR_ARCHS:Mi386)) \
+ && empty(NOT_FOR_ARCHS:Mi386)
+DISTFILES_amd64?= ${LIB_DISTNAMES:S/$/${EXTRACT_SUFX_i386}:amd64,i386/} \
+ ${LIB_DISTNAMES:S/$/${EXTRACT_SUFX_amd64}:amd64/} \
+ ${BIN_DISTNAMES:S/$/${EXTRACT_SUFX_amd64}:amd64/} \
+ ${SHARE_DISTNAMES:S/$/${EXTRACT_SUFX_noarch}/}
+.else
+DISTFILES_amd64?= ${LIB_DISTNAMES:S/$/${EXTRACT_SUFX_amd64}/} \
+ ${BIN_DISTNAMES:S/$/${EXTRACT_SUFX_amd64}/} \
+ ${SHARE_DISTNAMES:S/$/${EXTRACT_SUFX_noarch}/}
+.endif
+.endif
+.if !(defined(ONLY_FOR_ARCHS) && empty(ONLY_FOR_ARCHS:Mi386)) \
+ && empty(NOT_FOR_ARCHS:Mi386)
+DISTFILES_i386?= ${LIB_DISTNAMES:S/$/${EXTRACT_SUFX_i386}:amd64,i386/} \
+ ${BIN_DISTNAMES:S/$/${EXTRACT_SUFX_i386}:i386/} \
+ ${SHARE_DISTNAMES:S/$/${EXTRACT_SUFX_noarch}/}
+.endif
+SRC_DISTFILES?= ${DISTNAME}${SRC_SUFX}:SOURCE
+
+.ifdef USE_LINUX_RPM_BAD_PERMS
+EXTRACT_DEPENDS+= rpm2archive:archivers/rpm4
+EXTRACT_CMD= rpm2archive
+EXTRACT_BEFORE_ARGS= <
+EXTRACT_AFTER_ARGS= | ${TAR} xf - --no-same-owner --no-same-permissions
+.endif
+
+.if ${USE_LINUX_RPM} != noarch
+PLIST?= ${PKGDIR}/pkg-plist.${LINUX_ARCH:S/x86_64/amd64/}
+.endif
+
+.if !target(do-install)
+do-install:
+ (cd ${WRKSRC} && \
+ ${FIND} * | ${CPIO} -dumpl --quiet ${STAGEDIR}${PREFIX})
+.for d in bin lib lib64 sbin
+ [ ! -e ${STAGEDIR}${PREFIX}/${d} -o -L ${STAGEDIR}${PREFIX}/${d} ] || \
+ (cd ${STAGEDIR}${PREFIX} && \
+ ${FIND} ${d} | ${CPIO} -dumpl --quiet usr && ${RM} -r ${d})
+.endfor
+ [ ! -e ${STAGEDIR}${PREFIX}/usr/share/icons -o \
+ -L ${STAGEDIR}${PREFIX}/usr/share/icons ] || \
+ (cd ${STAGEDIR}${PREFIX}/usr/share && ${FIND} icons | \
+ ${CPIO} -dumpl --quiet ${STAGEDIR}${LOCALBASE}/share && \
+ ${RM} -r icons)
+.endif
+
+.endif # USE_LINUX_RPM
+
+.ifdef DISTNAME_amd64
+DISTFILES_amd64?= ${DISTNAME_amd64}${EXTRACT_SUFX}
+.endif
+.ifdef DISTNAME_i386
+DISTFILES_i386?= ${DISTNAME_i386}${EXTRACT_SUFX}
+.endif
+.ifndef DISTFILES
+.ifdef DISTFILES_amd64 || DISTFILES_i386
+.if make(makesum)
+_ALL_DISTFILES= ${DISTFILES_amd64} ${DISTFILES_i386}
+DISTFILES= ${_ALL_DISTFILES:O:u}
+.else
+DISTFILES= ${DISTFILES_${LINUX_ARCH:S/x86_64/amd64/}}
+.endif
+EXTRACT_ONLY?= ${DISTFILES_${LINUX_ARCH:S/x86_64/amd64/}:C/:[^:]+$//}
+.endif
+.endif
+.if !empty(SRC_DISTFILES) && (make(makesum) || defined(PACKAGE_BUILDING))
+DISTFILES+= ${SRC_DISTFILES}
+.endif
+
+# This triggers on amd64 with DEFAULT_VERSIONS+=linux=c6 (i386 Linux) and
+# ports with ONLY_FOR_ARCHS=amd64 or NOT_FOR_ARCHS=i386. It may be removed
+# when c6 becomes an alias for c6_64 on amd64 (after FreeBSD 10.3 EoL).
+.if (defined(ONLY_FOR_ARCHS) && empty(ONLY_FOR_ARCHS:M${LINUX_ARCH:S/x86_64/amd64/})) \
+ || !empty(NOT_FOR_ARCHS:M${LINUX_ARCH:S/x86_64/amd64/})
+IGNORE= does not run on Linux/${LINUX_ARCH}
+.endif
+
+.endif # _POSTMKINCLUDED && ! _INCLUDE_USES_LINUX_POST_MK
diff --git a/test-ports/Mk/Uses/localbase.mk b/test-ports/Mk/Uses/localbase.mk
new file mode 100644
index 00000000..e994da09
--- /dev/null
+++ b/test-ports/Mk/Uses/localbase.mk
@@ -0,0 +1,31 @@
+# $FreeBSD: head/Mk/Uses/localbase.mk 423014 2016-09-30 19:24:30Z tijl $
+#
+# handle enforcing localbase in path
+#
+# Feature: localbase
+# Usage: USES=localbase or USES=localbase:args
+# Valid ARGS: ldflags Set LDFLAGS instead of LIBS
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_LOCALBASE_MK)
+_INCLUDE_USES_LOCALBASE_MK= yes
+_USES_POST+= localbase
+.endif
+
+.if defined(_POSTMKINCLUDED) && !defined(_INCLUDE_USES_LOCALBASE_POST_MK)
+_INCLUDE_USES_LOCALBASE_POST_MK=yes
+
+CPPFLAGS+= -isystem ${LOCALBASE}/include
+CFLAGS+= -isystem ${LOCALBASE}/include
+CXXFLAGS+= -isystem ${LOCALBASE}/include
+.if ${localbase_ARGS:Mldflags}
+LDFLAGS+= -L${LOCALBASE}/lib
+.else
+LIBS+= -L${LOCALBASE}/lib
+.endif
+
+# Use CONFIGURE_ENV instead of CMAKE_ARGS because devel/cmake itself also needs
+# this, and CMAKE_ARGS is not used when bootstrapping CMake.
+CONFIGURE_ENV+= CMAKE_PREFIX_PATH="${LOCALBASE}"
+.endif
diff --git a/test-ports/Mk/Uses/lua.mk b/test-ports/Mk/Uses/lua.mk
new file mode 100644
index 00000000..8fb0317e
--- /dev/null
+++ b/test-ports/Mk/Uses/lua.mk
@@ -0,0 +1,110 @@
+# $FreeBSD: head/Mk/Uses/lua.mk 474794 2018-07-17 12:00:46Z antoine $
+#
+# Provide support for lua
+#
+# MAINTAINER: ports@FreeBSD.org
+# Usage:
+#
+# USES+= lua:[version]
+#
+.if !defined(_INCLUDE_USES_LUA_MK)
+_INCLUDE_USES_LUA_MK= yes
+
+# When adding a version, please keep the comment in
+# Mk/bsd.default-versions.mk in sync.
+_LUA_VALID_VERSIONS= 53 52 51
+
+_LUA_DEFAULT_VERSION= ${LUA_DEFAULT:S/.//}
+.if ! ${_LUA_VALID_VERSIONS:M${_LUA_DEFAULT_VERSION}}
+IGNORE= Invalid lua version ${LUA_DEFAULT}
+.endif
+
+#
+# Parse a ver+ argument
+#
+.if ${lua_ARGS:M*+}
+_LUA_MIN_VERSION:= ${lua_ARGS:M*+:S/+//}
+#
+# Resolve minimum versions (ver+). Append anything greater or equal than the
+# specified minimum version to the list of wanted versions.
+#
+. for _v in ${_LUA_VALID_VERSIONS}
+. if ${_LUA_MIN_VERSION} <= ${_v}
+_LUA_WANTED_VERSIONS+=${_v}
+. endif
+. endfor
+.endif
+
+#
+# Parse one or more ver arguments
+#
+.if ${lua_ARGS:M5[1-3]}
+_LUA_WANTED_VERSIONS:= ${lua_ARGS:M5[1-3]}
+.endif
+
+#
+# If no version was specified with any of the ver or ver+ arguments, set the
+# default version.
+#
+.if !defined(_LUA_WANTED_VERSIONS)
+_LUA_WANTED_VERSIONS= ${_LUA_DEFAULT_VERSION}
+.endif
+
+#
+# Right now we have built a list of potential versions that we may depend on.
+# Let's sort them and remove any duplicates. We then locate the highest one
+# already installed, if any.
+#
+.for _v in ${_LUA_WANTED_VERSIONS:O:u}
+_LUA_HIGHEST_VERSION:=${_v}
+. if exists(${LOCALBASE}/bin/lua${_v})
+_LUA_HIGHEST_INSTALLED_VERSION:= ${_v}
+. endif
+.endfor
+
+#
+# Depend on the default version if it fits, or the highest installed version,
+# or the highest version.
+#
+.if ${_LUA_WANTED_VERSIONS:M${_LUA_DEFAULT_VERSION}}
+_LUA_WANTED_VERSION:= ${_LUA_DEFAULT_VERSION}
+.elif defined(_LUA_HIGHEST_INSTALLED_VERSION)
+_LUA_WANTED_VERSION:= ${_LUA_HIGHEST_INSTALLED_VERSION}
+.else
+_LUA_WANTED_VERSION:= ${_LUA_HIGHEST_VERSION}
+.endif
+
+#
+# Exported variables
+#
+LUA_VER_STR= ${_LUA_WANTED_VERSION}
+LUA_VER= ${_LUA_WANTED_VERSION:S/5/5./}
+LUA_CMD= lua${_LUA_WANTED_VERSION}
+LUAC_CMD= luac${_LUA_WANTED_VERSION}
+LUA_INCDIR= ${LOCALBASE}/include/lua${_LUA_WANTED_VERSION}
+LUA_MODLIBDIR= ${LOCALBASE}/lib/lua/${LUA_VER}
+LUA_MODSHAREDIR= ${LOCALBASE}/share/lua/${LUA_VER}
+LUA_LIBDIR= ${LOCALBASE}/lib
+LUA_PKGNAMEPREFIX= lua${LUA_VER_STR}-
+
+PLIST_SUB+= LUA_MODLIBDIR=${LUA_MODLIBDIR:S,^${LOCALBASE}/,,} \
+ LUA_MODSHAREDIR=${LUA_MODSHAREDIR:S,^${LOCALBASE}/,,} \
+ LUA_VER=${LUA_VER} \
+ LUA_INCDIR=${LUA_INCDIR:S,^${LOCALBASE}/,,} \
+ LUA_LIBDIR=${LUA_LIBDIR:S,^${LOCALBASE}/,,} \
+ LUA_VER_STR=${LUA_VER_STR}
+MAKE_ENV+= LUA_MODLIBDIR=${LUA_MODLIBDIR} \
+ LUA_MODSHAREDIR=${LUA_MODSHAREDIR} \
+ LUA_VER=${LUA_VER} \
+ LUA_INCDIR=${LUA_INCDIR} \
+ LUA_LIBDIR=${LUA_LIBDIR}
+
+.if ${lua_ARGS:Mbuild}
+BUILD_DEPENDS+= ${LUA_CMD}:lang/lua${LUA_VER_STR}
+.elif ${lua_ARGS:Mrun}
+RUN_DEPENDS+= ${LUA_CMD}:lang/lua${LUA_VER_STR}
+.else
+LIB_DEPENDS+= liblua-${LUA_VER}.so:lang/lua${LUA_VER_STR}
+.endif
+
+.endif
diff --git a/test-ports/Mk/Uses/lxqt.mk b/test-ports/Mk/Uses/lxqt.mk
new file mode 100644
index 00000000..181bf3b3
--- /dev/null
+++ b/test-ports/Mk/Uses/lxqt.mk
@@ -0,0 +1,108 @@
+# $FreeBSD: head/Mk/Uses/lxqt.mk 473287 2018-06-25 00:49:41Z swills $
+#
+# This file contains some variable definitions that are supposed to make your
+# life easier, when dealing with ports related to the LXQt Desktop Environment.
+#
+# Feature: lxqt
+# Usage: USES=lxqt
+# Valid ARGS: does not require args
+#
+# Available LXQt components are:
+#
+# buildtools - Helpers CMake modules
+# globalkeys - Keyboard shortcuts daemon
+# libfmqt - Libfm Qt bindings
+# lxqt - LXQt core library
+# qtxdg - Qt implementation of freedesktop.org xdg specs
+#
+# MAINTAINER: ports@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_LXQT_MK)
+_INCLUDE_USES_LXQT_MK= yes
+
+.if !empty(lxqt_ARGS)
+IGNORE= Incorrect 'USES+=lxqt:${lxqt_ARGS} takes no arguments
+.endif
+
+_LXQT_PROJECT= ${DISTNAME:S/-${DISTVERSION}//:tl}
+
+MASTER_SITE_LXQT+= \
+ https://github.com/lxqt/%SUBDIR%/releases/download/${PORTVERSION}/ \
+ https://downloads.lxqt.org/downloads/%SUBDIR%/${PORTVERSION}/
+MASTER_SITE_LXQT_SUBDIR= ${_LXQT_PROJECT}
+
+MASTER_SITES?= ${MASTER_SITE_LXQT}
+MASTER_SITE_SUBDIR?= ${MASTER_SITE_LXQT_SUBDIR}
+
+DIST_SUBDIR= lxqt
+
+PLIST_SUB+= LXQT_INCLUDEDIR="include/lxqt" \
+ LXQT_SHAREDIR="share/lxqt" \
+ LXQT_TRANSLATIONS="share/lxqt/translations" \
+ VERSION="${PORTVERSION}"
+
+CMAKE_ARGS+= -DCMAKE_INSTALL_MANDIR=${MANDIRS} \
+ -DPULL_TRANSLATIONS:BOOL=OFF
+
+# Available LXQt components are:
+_USE_LXQT_ALL= buildtools globalkeys libfmqt lxqt qtxdg
+
+_DATAROOTDIR= ${LOCALBASE}/share
+
+buildtools_BUILD_DEPENDS= ${_DATAROOTDIR}/cmake/lxqt-build-tools/lxqt-build-tools-config.cmake:devel/lxqt-build-tools
+
+globalkeys_LIB_DEPENDS= liblxqt-globalkeys.so:x11/lxqt-globalkeys
+
+globalkeys_USE_LXQT_REQ= lxqt
+
+libfmqt_LIB_DEPENDS= libfm-qt.so:x11/libfm-qt
+
+lxqt_LIB_DEPENDS= liblxqt.so:devel/liblxqt
+lxqt_USE_LXQT_REQ= qtxdg
+
+qtxdg_LIB_DEPENDS= libQt5Xdg.so:devel/libqtxdg
+
+.if defined(USE_LXQT)
+
+# First, expand all USE_LXQT_REQ recursively.
+.for comp in ${_USE_LXQT_ALL}
+. for subcomp in ${${comp}_USE_LXQT_REQ}
+${comp}_USE_LXQT_REQ+= ${${subcomp}_USE_LXQT_REQ}
+. endfor
+.endfor
+
+# Then, use already expanded USE_LXQT_REQ to expand USE_LXQT.
+.for comp in ${USE_LXQT}
+. if empty(_USE_LXQT_ALL:M${comp})
+IGNORE= cannot install: Unknown component ${comp}
+. else
+_USE_LXQT+= ${${comp}_USE_LXQT_REQ} ${comp}
+. endif
+.endfor
+
+# Remove duplicate components
+USE_LXQT= ${_USE_LXQT:O:u}
+
+.for comp in ${USE_LXQT}
+. if defined(${comp}_BUILD_DEPENDS)
+BUILD_DEPENDS+= ${${comp}_BUILD_DEPENDS}
+. endif
+
+. if defined(${comp}_LIB_DEPENDS)
+LIB_DEPENDS+= ${${comp}_LIB_DEPENDS}
+. endif
+
+. if defined(${comp}_RUN_DEPENDS)
+RUN_DEPENDS+= ${${comp}_RUN_DEPENDS}
+. endif
+.endfor
+
+.endif # end of defined(USE_LXQT)
+
+.endif # end of !defined(_INCLUDE_USES_LXQT_MK)
+
+.if defined(_POSTMKINCLUDED) && !defined(_INCLUDE_USES_LXQT_POST_MK)
+
+_INCLUDE_USES_LXQT_POST_MK= yes
+
+.endif
diff --git a/test-ports/Mk/Uses/makeinfo.mk b/test-ports/Mk/Uses/makeinfo.mk
new file mode 100644
index 00000000..0a053cfb
--- /dev/null
+++ b/test-ports/Mk/Uses/makeinfo.mk
@@ -0,0 +1,25 @@
+# $FreeBSD: head/Mk/Uses/makeinfo.mk 446854 2017-07-28 21:45:20Z jkim $
+#
+# handle dependency on the makeinfo port
+#
+# Feature: makeinfo
+# Usage: USES=makeinfo
+# Valid ARGS: none
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_MAKEINFO_MK)
+_INCLUDE_USES_MAKEINFO_MK= yes
+
+.if !empty(makeinfo_ARGS)
+IGNORE= USES=makeinfo - expects no arguments
+.endif
+
+.if exists(/usr/bin/makeinfo)
+MAKEINFO?= /usr/bin/makeinfo
+.else
+BUILD_DEPENDS+= makeinfo:print/texinfo
+MAKEINFO?= ${LOCALBASE}/bin/makeinfo
+.endif
+
+.endif
diff --git a/test-ports/Mk/Uses/makeself.mk b/test-ports/Mk/Uses/makeself.mk
new file mode 100644
index 00000000..a0d45580
--- /dev/null
+++ b/test-ports/Mk/Uses/makeself.mk
@@ -0,0 +1,23 @@
+# $FreeBSD: head/Mk/Uses/makeself.mk 411970 2016-03-27 01:23:25Z bapt $
+#
+# handle makeself archives
+#
+# Feature: makeself
+# Usage: USES=makeself
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_MAKESELF_Mk)
+_INCLUDE_USES_MAKESELF_MK= yes
+
+.if !empty(makeself_ARGS)
+IGNORE= Incorrect 'USES+= makeself:${makeself_ARGS}' makeself takes no arguments
+.endif
+
+EXTRACT_DEPENDS+= ${UNMAKESELF_CMD}:archivers/unmakeself
+
+EXTRACT_CMD= ${UNMAKESELF_CMD}
+EXTRACT_BEFORE_ARGS=
+EXTRACT_AFTER_ARGS=
+
+.endif
diff --git a/test-ports/Mk/Uses/mate.mk b/test-ports/Mk/Uses/mate.mk
new file mode 100644
index 00000000..80dddb5d
--- /dev/null
+++ b/test-ports/Mk/Uses/mate.mk
@@ -0,0 +1,229 @@
+#-*- tab-width: 4; -*-
+# ex:ts=4
+#
+# $FreeBSD: head/Mk/Uses/mate.mk 467271 2018-04-13 21:16:56Z ericbsd $
+#
+# Please view me with 4 column tabs!
+
+# ======================= USERS =================================
+#
+# There are no significant user-definable settings in here.
+# This file is a framework to make it easier to create MATE ports.
+#
+# ======================= /USERS ================================
+#
+# Please make sure all changes to this file are passed through the maintainer.
+# Do not commit them yourself (unless of course you're the Port's Wraith ;).
+#
+# MAINTAINER: gnome@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_MATE_MK)
+_INCLUDE_USES_MATE_MK= yes
+
+_USES_POST+= mate
+
+.if !empty(mate_ARGS)
+IGNORE= USES=mate takes no arguments
+.endif
+
+# This section defines possible names of MATE components and all information
+# necessary for ports to use those components.
+
+# Ports can use this as follows:
+#
+# USE_MATE= caja common desktop
+#
+# .include <bsd.port.mk>
+#
+# As a result proper LIB_DEPENDS/RUN_DEPENDS will be added and CONFIGURE_ENV
+# and MAKE_ENV defined.
+#
+
+# non-version specific components. Do not use :build/:run on those.
+_USE_MATE_ALL= autogen intlhack intltool
+
+# MATE components, you can use the :build or :run if need. Without the :build
+# and :run, it will be added in both build and run dependency. It will check
+# for the library dependency first. If not exists then do the build/run on
+# the *.pc file instead.
+_USE_MATE_ALL+= caja common controlcenter desktop dialogs docutils icontheme \
+ libmatekbd libmateweather \
+ marco menus mixer notificationdaemon panel polkit pluma \
+ session settingsdaemon
+
+SCROLLKEEPER_DIR= /var/db/rarian
+
+caja_DETECT= ${LOCALBASE}/libdata/pkgconfig/libcaja-extension.pc
+caja_BUILD_DEPENDS= ${caja_DETECT}:x11-fm/caja
+caja_LIB_DEPENDS= libcaja-extension.so:x11-fm/caja
+caja_RUN_DEPENDS= ${caja_DETECT}:x11-fm/caja
+
+common_DETECT= ${LOCALBASE}/bin/mate-autogen
+common_BUILD_DEPENDS= ${common_DETECT}:devel/mate-common
+common_RUN_DEPENDS= ${common_DETECT}:devel/mate-common
+
+controlcenter_DETECT= ${LOCALBASE}/libdata/pkgconfig/mate-window-settings-2.0.pc
+controlcenter_BUILD_DEPENDS= ${controlcenter_DETECT}:sysutils/mate-control-center
+controlcenter_LIB_DEPENDS= libmate-window-settings.so:sysutils/mate-control-center
+controlcenter_RUN_DEPENDS= ${controlcenter_DETECT}:sysutils/mate-control-center
+
+desktop_DETECT= ${LOCALBASE}/libdata/pkgconfig/mate-desktop-2.0.pc
+desktop_BUILD_DEPENDS= ${desktop_DETECT}:x11/mate-desktop
+desktop_LIB_DEPENDS= libmate-desktop-2.so:x11/mate-desktop
+desktop_RUN_DEPENDS= ${desktop_DETECT}:x11/mate-desktop
+
+dialogs_DETECT= ${LOCALBASE}/bin/matedialog
+dialogs_BUILD_DEPENDS= ${dialogs_DETECT}:x11/mate-dialogs
+dialogs_RUN_DEPENDS= ${dialogs_DETECT}:x11/mate-dialogs
+
+docutils_DETECT= ${LOCALBASE}/libdata/pkgconfig/mate-doc-utils.pc
+docutils_BUILD_DEPENDS= ${docutils_DETECT}:textproc/mate-doc-utils
+docutils_RUN_DEPENDS= ${docutils_DETECT}:textproc/mate-doc-utils
+
+icontheme_DETECT= ${LOCALBASE}/share/icons/mate/index.theme
+icontheme_BUILD_DEPENDS=${icontheme_DETECT}:x11-themes/mate-icon-theme
+icontheme_RUN_DEPENDS= ${icontheme_DETECT}:x11-themes/mate-icon-theme
+
+intltool_DETECT= ${LOCALBASE}/bin/intltool-extract
+intltool_BUILD_DEPENDS= ${intltool_DETECT}:textproc/intltool
+
+intlhack_PRE_PATCH= ${FIND} ${WRKSRC} -name "intltool-merge.in" | ${XARGS} ${REINPLACE_CMD} -e \
+ 's|mkdir $$lang or|mkdir $$lang, 0777 or| ; \
+ s|^push @INC, "/.*|push @INC, "${LOCALBASE}/share/intltool";| ; \
+ s|/usr/bin/iconv|${LOCALBASE}/bin/iconv|g ; \
+ s|unpack *[(]'"'"'U\*'"'"'|unpack ('"'"'C*'"'"'|'
+.if ${USE_MATE:Mintlhack}!=""
+USE_MATE+= intltool
+.endif
+
+libmatekbd_DETECT= ${LOCALBASE}/libdata/pkgconfig/libmatekbd.pc
+libmatekbd_BUILD_DEPENDS= ${libmatekbd_DETECT}:x11/libmatekbd
+libmatekbd_LIB_DEPENDS= libmatekbd.so:x11/libmatekbd
+libmatekbd_RUN_DEPENDS= ${libmatekbd_DETECT}:x11/libmatekbd
+
+libmateweather_DETECT= ${LOCALBASE}/libdata/pkgconfig/mateweather.pc
+libmateweather_BUILD_DEPENDS= ${libmateweather_DETECT}:net/libmateweather
+libmateweather_LIB_DEPENDS= libmateweather.so:net/libmateweather
+libmateweather_RUN_DEPENDS= ${libmateweather_DETECT}:net/libmateweather
+
+marco_DETECT= ${LOCALBASE}/libdata/pkgconfig/libmarco-private.pc
+marco_BUILD_DEPENDS= ${marco_DETECT}:x11-wm/marco
+marco_LIB_DEPENDS= libmarco-private.so:x11-wm/marco
+marco_RUN_DEPENDS= ${marco_DETECT}:x11-wm/marco
+
+menus_DETECT= ${LOCALBASE}/libdata/pkgconfig/libmate-menu.pc
+menus_BUILD_DEPENDS= ${menus_DETECT}:x11/mate-menus
+menus_LIB_DEPENDS= libmate-menu.so:x11/mate-menus
+menus_RUN_DEPENDS= ${menus_DETECT}:x11/mate-menus
+
+mixer_DETECT= ${LOCALBASE}/libdata/pkgconfig/libmatemixer.pc
+mixer_BUILD_DEPENDS= ${mixer_DETECT}:audio/libmatemixer
+mixer_LIB_DEPENDS= libmatemixer.so:audio/libmatemixer
+mixer_RUN_DEPENDS= ${mixer_DETECT}:audio/libmatemixer
+
+notificationdaemon_DETECT= ${LOCALBASE}/libexec/mate-notification-daemon
+notificationdaemon_BUILD_DEPENDS= ${notificationdaemon_DETECT}:deskutils/mate-notification-daemon
+notificationdaemon_RUN_DEPENDS= ${notificationdaemon_DETECT}:deskutils/mate-notification-daemon
+
+panel_DETECT= ${LOCALBASE}/libdata/pkgconfig/libmatepanelapplet-4.0.pc
+panel_BUILD_DEPENDS= ${panel_DETECT}:x11/mate-panel
+panel_LIB_DEPENDS= libmate-panel-applet-4.so:x11/mate-panel
+panel_RUN_DEPENDS= ${panel_DETECT}:x11/mate-panel
+
+polkit_DETECT= ${LOCALBASE}/libexec/polkit-mate-authentication-agent-1
+polkit_BUILD_DEPENDS= ${polkit_DETECT}:sysutils/mate-polkit
+polkit_RUN_DEPENDS= ${polkit_DETECT}:sysutils/mate-polkit
+
+pluma_DETECT= ${LOCALBASE}/libdata/pkgconfig/pluma.pc
+pluma_BUILD_DEPENDS= ${pluma_DETECT}:editors/pluma
+pluma_RUN_DEPENDS= ${pluma_DETECT}:editors/pluma
+
+session_DETECT= ${LOCALBASE}/bin/mate-session
+session_BUILD_DEPENDS= ${session_DETECT}:x11/mate-session-manager
+session_RUN_DEPENDS= ${session_DETECT}:x11/mate-session-manager
+
+settingsdaemon_DETECT= ${LOCALBASE}/libdata/pkgconfig/mate-settings-daemon.pc
+settingsdaemon_BUILD_DEPENDS= ${settingsdaemon_DETECT}:sysutils/mate-settings-daemon
+settingsdaemon_RUN_DEPENDS= ${settingsdaemon_DETECT}:sysutils/mate-settings-daemon
+
+# End component definition section
+
+.if defined(USE_MATE)
+# Comparing between USE_MATE and _USE_MATE_ALL to make sure the component
+# exists in _USE_MATE_ALL. If it does not exist then give an error about it.
+#. for component in ${USE_MATE:O:u:C/^([^:]+).*/\1/}
+. for component in ${USE_MATE:C/^([^:]+).*/\1/}
+#. for component in ${USE_GNOME:C/^([^:]+).*/\1/}
+. if ${_USE_MATE_ALL:M${component}}==""
+.error cannot install: Unknown component USE_MATE=${component}
+. endif
+. endfor
+
+. for component in ${USE_MATE:O:u:C/^([^:]+).*/\1/}
+. if defined(${component}_PATCH_DEPENDS)
+PATCH_DEPENDS+= ${${component}_PATCH_DEPENDS}
+. endif
+
+. if defined(${component}_DETECT)
+. if ${USE_MATE:M${component}\:build}!=""
+BUILD_DEPENDS+= ${${component}_BUILD_DEPENDS}
+. elif ${USE_MATE:M${component}\:run}!=""
+RUN_DEPENDS+= ${${component}_RUN_DEPENDS}
+. else
+. if defined(${component}_LIB_DEPENDS)
+LIB_DEPENDS+= ${${component}_LIB_DEPENDS}
+. else
+BUILD_DEPENDS+= ${${component}_BUILD_DEPENDS}
+RUN_DEPENDS+= ${${component}_RUN_DEPENDS}
+. endif
+. endif
+. endif
+
+. if defined(${component}_CONFIGURE_TARGET)
+CONFIGURE_ARGS+=${${component}_CONFIGURE_ARGS}
+. endif
+
+. if defined(${component}_CONFIGURE_ENV)
+CONFIGURE_ENV+= ${${component}_CONFIGURE_ENV}
+. endif
+
+. if defined(${component}_MAKE_ENV)
+MAKE_ENV+= ${${component}_MAKE_ENV}
+. endif
+
+. if !defined(CONFIGURE_TARGET) && defined(${component}_CONFIGURE_TARGET)
+CONFIGURE_TARGET= ${${component}_CONFIGURE_TARGET}
+. endif
+
+. if defined(${component}_PRE_PATCH)
+MATE_PRE_PATCH+= ; ${${component}_PRE_PATCH}
+. endif
+. endfor
+.endif # USE_MATE check
+
+.endif
+# End of optional part.
+
+.if defined(_POSTMKINCLUDED) && !defined(_INCLUDE_USES_MATE_POST_MK)
+_INCLUDE_USES_MATE_POST_MK= yes
+
+.if ${USE_MATE:Mautogen}!=""
+
+CONFIGURE_ENV+= NOCONFIGURE=yes
+
+_USES_configure+= 295:mate-pre-configure
+
+mate-pre-configure:
+ @(cd ${CONFIGURE_WRKSRC} ; ${SETENV} ${CONFIGURE_ENV} ./autogen.sh)
+.endif
+
+.if defined(MATE_PRE_PATCH)
+
+_USES_configure+= 445:mate-pre-configure-script
+
+mate-pre-configure-script:
+ @${MATE_PRE_PATCH:C/^;//1}
+.endif
+
+.endif
+# End of use part.
diff --git a/test-ports/Mk/Uses/meson.mk b/test-ports/Mk/Uses/meson.mk
new file mode 100644
index 00000000..27a0b19a
--- /dev/null
+++ b/test-ports/Mk/Uses/meson.mk
@@ -0,0 +1,71 @@
+# $FreeBSD: head/Mk/Uses/meson.mk 493957 2019-02-26 09:36:29Z 0mp $
+#
+# Provide support for Meson based projects
+#
+# Feature: meson
+# Usage: USES=meson
+#
+# The following files are bundled in source tar files.
+# meson.build - Instructions for meson like autoconf configure,
+# there is no changeable parts in the file.
+# meson_options.txt - All the options meson understands
+#
+# Variables for ports:
+# MESON_ARGS - Arguments passed to meson
+# format: -Denable_foo=true
+# MESON_BUILD_DIR - Path to the build directory relative to ${WRKSRC}
+# Default: _build
+#
+# MAINTAINER: gnome@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_MESON_MK)
+_INCLUDE_USES_MESON_MK= yes
+
+# Sanity check
+.if !empty(meson_ARGS)
+IGNORE= Incorrect 'USES+= meson:${meson_ARGS}'. meson takes no arguments
+.endif
+
+BUILD_DEPENDS+= meson:devel/meson
+
+# meson uses ninja
+.include "${USESDIR}/ninja.mk"
+
+# meson might have issues with non-unicode locales
+USE_LOCALE?= en_US.UTF-8
+
+CONFIGURE_ARGS+= --prefix ${PREFIX} \
+ --mandir man \
+ --infodir ${INFO_PATH}
+
+# meson has it own strip mechanic
+INSTALL_TARGET= install
+
+# should we have strip separate from WITH_DEBUG?
+.if defined(WITH_DEBUG)
+CONFIGURE_ARGS+= --buildtype debug
+.else
+CONFIGURE_ARGS+= --buildtype release \
+ --strip
+.endif
+
+HAS_CONFIGURE= yes
+CONFIGURE_CMD= meson
+# Pull in manual set settings and from options
+CONFIGURE_ARGS+= ${MESON_ARGS}
+
+BUILD_WRKSRC= ${WRKSRC}/${MESON_BUILD_DIR}
+
+INSTALL_WRKSRC= ${WRKSRC}/${MESON_BUILD_DIR}
+
+TEST_WRKSRC= ${WRKSRC}/${MESON_BUILD_DIR}
+TEST_TARGET= test
+
+MESON_BUILD_DIR?= _build
+
+CONFIGURE_LOG= ${MESON_BUILD_DIR}/meson-logs/meson-log.txt
+
+# Add meson build dir at the end.
+CONFIGURE_ARGS+= ${MESON_BUILD_DIR}
+
+.endif #!defined(_INCLUDE_USES_MESON_MK)
diff --git a/test-ports/Mk/Uses/metaport.mk b/test-ports/Mk/Uses/metaport.mk
new file mode 100644
index 00000000..7ee8a21f
--- /dev/null
+++ b/test-ports/Mk/Uses/metaport.mk
@@ -0,0 +1,21 @@
+# $FreeBSD: head/Mk/Uses/metaport.mk 382933 2015-04-01 17:59:57Z bapt $
+#
+# Sets the default variables to handle metaports
+#
+# Feature: metaport
+# Usage: USES=metaport
+#
+# Take no arguments
+
+.if !defined(_INCLUDE_USES_METAPORT_MK)
+_INCLUDE_USES_METAPORT_MK= yes
+
+MASTER_SITES= #
+DISTFILES= #
+EXTRACT_ONLY= #
+NO_BUILD= yes
+NO_INSTALL= yes
+NO_MTREE= yes
+NO_ARCH= yes
+
+.endif
diff --git a/test-ports/Mk/Uses/mono.mk b/test-ports/Mk/Uses/mono.mk
new file mode 100644
index 00000000..a38b5876
--- /dev/null
+++ b/test-ports/Mk/Uses/mono.mk
@@ -0,0 +1,234 @@
+# $FreeBSD: head/Mk/Uses/mono.mk 479607 2018-09-12 14:53:21Z dbn $
+#
+# mono (c#) support
+#
+# Feature: mono
+# Usage: USES=mono:ARGS
+# Valid ARGS: nuget
+#
+# MAINTAINER= mono@FreeBSD.org
+#
+# Arguments:
+#
+# nuget Specifies that the port uses nuget packages.
+#
+# EXTRACT_ONLY is conditionally overridden to exclude all
+# files with a '.nupkg' extension.
+#
+# Targets:
+#
+# makenuget This target will output the NUGET_DEPENDS based on the
+# port's packages.config file.
+#
+# makenupkg This target will create nupkg-${NAME} files based on the
+# port's downloaded packages in ${NUGET_PACKAGEDIR}
+#
+# Variables overrideable by the port:
+#
+# NUGET_PACKAGEDIR The directory in which the port expects the
+# nuget packages to be available
+# default: ${WRKSRC}/packages
+#
+# NUGET_LAYOUT The directory layout of ${NUGET_PACKAGEDIR}:
+# legacy:
+# ${NAME}
+# ${NAME}.${VERSION}
+# ${NAME.tl}/${VERSION}
+# flat:
+# ${NAME}
+# ${NAME:tl}
+# dotnet:
+# ${NAME:tl}/${VERSION}
+# default: legacy
+#
+# NUGET_FEEDS A list of nuget feed names
+# default: NUGET
+#
+# ${NAME}_URL: The base URL for the feed ${NAME}
+# defaults:
+# NUGET_URL=https://www.nuget.org/api/v2/
+# ${NAME}_URL=https://dotnet.myget.org/F/${NAME:tl:S/_/-/g}/api/v2/
+#
+# ${NAME}_FILE: The file containing a list of nuget packages from
+# feed ${NAME} in the format:
+# ${name}=${version}
+# default: ${PKGDIR}/nupkg-${NAME:tl}
+#
+# ${NAME}_DEPENDS: The list of nuget packages from feed ${NAME} in the
+# format:
+# ${name}=${version}
+# defaults:
+# NUGET_DEPENDS=${PAKET_DEPENDS}
+#
+# PAKET_PACKAGEDIR The directory in which the port expects the
+# nuget packages (managed by paket) to be available
+#
+# PAKET_DEPENDS The list of nuget packages from a nuget feed. The
+# version used needs to be resolved (unlike how paket
+# works). The format is:
+# ${name}=${version}
+
+.if !defined(_INCLUDE_USES_MONO_MK)
+_INCLUDE_USES_MONO_MK= yes
+
+.if !empty(mono_ARGS:Nnuget)
+IGNORE= USES=mono only supports an optional nuget argument
+.endif
+
+# Set the location of the .wapi directory so we write to a location we
+# can always assume to be writable.
+MONO_SHARED_DIR= ${WRKDIR}
+CONFIGURE_ENV+= MONO_SHARED_DIR="${MONO_SHARED_DIR}"
+MAKE_ENV+= MONO_SHARED_DIR="${MONO_SHARED_DIR}" TZ=UTC
+BUILD_DEPENDS+= mono:lang/mono
+RUN_DEPENDS+= mono:lang/mono
+
+# Set the location that webaps served by XSP should use.
+XSP_DOCROOT= ${PREFIX}/www/xsp
+
+# gac utilities
+GACUTIL=${LOCALBASE}/bin/gacutil /root ${PREFIX}/lib/ /gacdir ${PREFIX}/lib
+GACUTIL_INSTALL=${GACUTIL} /i
+GACUTIL_INSTALL_PACKAGE=${GACUTIL} /i /package 1.0 /package 2.0
+
+.if ${mono_ARGS:Mnuget}
+MAKE_ENV+= NUGET_PACKAGES=${NUGET_PACKAGEDIR}
+
+# TODO: add nuget as a Port, use it for makenupkg
+NUGET_EXE?= ${WRKDIR}/nuget.exe
+NUGET_LATEST_URL?= https://dist.nuget.org/win-x86-commandline/latest/nuget.exe
+
+_NUGET_PACKAGEDIR= ${WRKDIR}/.nuget/packages
+NUGET_PACKAGEDIR?= ${WRKSRC}/packages
+NUGET_LAYOUT?= legacy
+NUGET_FEEDS?= NUGET
+NUGET_URL?= https://api.nuget.org/v3-flatcontainer/
+NUGET_VERSION?= v3
+
+PAKET_PACKAGEDIR?=
+PAKET_DEPENDS?=
+NUGET_DEPENDS?= ${PAKET_DEPENDS}
+
+. for feed in ${NUGET_FEEDS}
+${feed}_DEPENDS?=
+${feed}_FILE?= ${PKGDIR}/nupkg-${feed:tl}
+${feed}_URL?= https://dotnet.myget.org/F/${feed:tl:S/_/-/g}/api/v2/
+${feed}_VERSION?= v2
+. if exists(${${feed}_FILE})
+${feed}_EXTRA!= ${CAT} ${${feed}_FILE}
+. else
+${feed}_EXTRA=
+. endif
+MAKENUPKG_ENV+= ${feed:tl}_URL="${${feed}_URL}" ${feed:tl}_VERSION="${${feed}_VERSION}"
+. for depend in ${${feed}_DEPENDS} ${${feed}_EXTRA}
+. if empty(_NUGET_DEPENDS:M${depend})
+id= ${depend:C/=.*$//}
+version= ${depend:C/^.*=//}
+group= nuget_${depend:C/[.+=-]//g}
+nupkg= ${id:tl}.${version}.nupkg
+DISTFILES_${group}:= ${nupkg}:${group}
+. if ${${feed}_VERSION} == v2
+MASTER_SITES_${group}:= ${${feed}_URL}package/${id}/${version}?dummy=/:${group}
+. else
+MASTER_SITES_${group}:= ${${feed}_URL}${id:tl}/${version}/:${group}
+. endif
+NUGET_NUPKGS_${group}:= ${nupkg}:${depend}
+NUPKGS_${id}:= ${NUPKGS_${id}} ${version}
+
+DISTFILES+= ${DISTFILES_nuget_${depend:S/.//g:S/-//g:S/=//g}}
+MASTER_SITES+= ${MASTER_SITES_nuget_${depend:S/.//g:S/-//g:S/=//g}}
+NUGET_NUPKGS+= ${NUGET_NUPKGS_nuget_${depend:S/.//g:S/-//g:S/=//g}}
+_NUGET_DEPENDS+= ${depend}
+. endif
+. endfor
+. endfor
+
+EXTRACT_ONLY?= ${_DISTFILES:N*.nupkg}
+
+_USES_extract+= 600:nuget-extract
+nuget-extract:
+ @${MKDIR} ${_NUGET_PACKAGEDIR} ${PAKET_PACKAGEDIR}
+. for nupkg in ${NUGET_NUPKGS}
+ @${MKDIR} ${_NUGET_PACKAGEDIR}/${nupkg:tl:C/^.*://:S|=|/|}
+ @tar -xf ${DISTDIR}/${nupkg:C/:.*$//} -C ${_NUGET_PACKAGEDIR}/${nupkg:tl:C/^.*://:S|=|/|} \
+ -s/%2B/\+/g -s/%2B/\+/g -s/%2B/\+/g \
+ --exclude '\[Content_Types\].xml' \
+ --exclude package/ \
+ --exclude _rels/
+ @${MV} ${_NUGET_PACKAGEDIR}/${nupkg:tl:C/^.*://:S|=|/|}/${nupkg:C/^.*://:C/=.*//}.nuspec \
+ ${_NUGET_PACKAGEDIR}/${nupkg:tl:C/^.*://:S|=|/|}/${nupkg:tl:C/^.*://:C/=.*//}.nuspec
+ @${CP} ${DISTDIR}/${nupkg:C/:.*$//} ${_NUGET_PACKAGEDIR}/${nupkg:tl:C/^.*://:S|=|/|}/${nupkg:tl:C/^.*://:S/=/./}.nupkg
+ @openssl dgst -sha512 -binary ${DISTDIR}/${nupkg:C/:.*$//} | openssl enc -base64 | ${TR} -d "\n" \
+ > ${_NUGET_PACKAGEDIR}/${nupkg:tl:C/^.*://:S|=|/|}/${nupkg:tl:C/^.*://:S/=/./}.nupkg.sha512
+. if ${NUGET_LAYOUT} == legacy
+ @${CP} -a ${_NUGET_PACKAGEDIR}/${nupkg:tl:C/^.*://:S|=|/|}/ ${_NUGET_PACKAGEDIR}/${nupkg:C/^.*://:S|=|.|}/
+ @${CP} -a ${_NUGET_PACKAGEDIR}/${nupkg:tl:C/^.*://:S|=|/|}/ ${_NUGET_PACKAGEDIR}/${nupkg:C/^.*://:C|=.*||}/
+. if ${nupkg} != ${nupkg:tl}
+ @(cd ${_NUGET_PACKAGEDIR}/${nupkg:C/^.*://:C|=.*||}; \
+ ${MV} ${nupkg:tl:C/^.*://:C/=.*//}.nuspec ${nupkg:C/^.*://:C/=.*//}.nuspec; \
+ ${MV} ${nupkg:tl:C/^.*://:S/=/./}.nupkg ${nupkg:C/^.*://:S/=/./}.nupkg; \
+ ${MV} ${nupkg:tl:C/^.*://:S/=/./}.nupkg.sha512 ${nupkg:C/^.*://:S/=/./}.nupkg.sha512)
+ @(cd ${_NUGET_PACKAGEDIR}/${nupkg:C/^.*://:S|=|.|}; \
+ ${MV} ${nupkg:tl:C/^.*://:C/=.*//}.nuspec ${nupkg:C/^.*://:C/=.*//}.nuspec; \
+ ${MV} ${nupkg:tl:C/^.*://:S/=/./}.nupkg ${nupkg:C/^.*://:S/=/./}.nupkg; \
+ ${MV} ${nupkg:tl:C/^.*://:S/=/./}.nupkg.sha512 ${nupkg:C/^.*://:S/=/./}.nupkg.sha512)
+. endif
+. elif ${NUGET_LAYOUT} == flat
+ @${CP} -a ${_NUGET_PACKAGEDIR}/${nupkg:tl:C/^.*://:S|=|/|}/ ${_NUGET_PACKAGEDIR}/${nupkg:tl:C/^.*://:C|=.*||}/
+ @${RM} -r ${_NUGET_PACKAGEDIR}/${nupkg:tl:C/^.*://:S|=|/|}
+. if ${nupkg} != ${nupkg:tl}
+ @${CP} -a ${_NUGET_PACKAGEDIR}/${nupkg:tl:C/^.*://:C|=.*||}/ ${_NUGET_PACKAGEDIR}/${nupkg:C/^.*://:C|=.*||}/
+ @(cd ${_NUGET_PACKAGEDIR}/${nupkg:C/^.*://:C|=.*||}; \
+ ${MV} ${nupkg:tl:C/^.*://:C/=.*//}.nuspec ${nupkg:C/^.*://:C/=.*//}.nuspec; \
+ ${MV} ${nupkg:tl:C/^.*://:S/=/./}.nupkg ${nupkg:C/^.*://:S/=/./}.nupkg; \
+ ${MV} ${nupkg:tl:C/^.*://:S/=/./}.nupkg.sha512 ${nupkg:C/^.*://:S/=/./}.nupkg.sha512)
+. endif
+. endif
+. endfor
+ @${RLN} ${_NUGET_PACKAGEDIR} ${NUGET_PACKAGEDIR}
+ @${TOUCH} ${WRKDIR}/.nuget-sentinal
+
+_USES_extract+= 601:paket-extract
+paket-extract:
+. for nupkg in ${PAKET_DEPENDS}
+ @${RLN} ${_NUGET_PACKAGEDIR}/${nupkg:tl:S|=|/|} ${PAKET_PACKAGEDIR}/${nupkg:C/=.*//}
+ @(cd ${_NUGET_PACKAGEDIR}/${nupkg:tl:C/^.*://:S|=|/|}; \
+ ${CP} ${nupkg:tl:C/^.*://:C/=.*//}.nuspec ${nupkg:C/^.*://:C/=.*//}.nuspec; \
+ ${CP} ${nupkg:tl:C/^.*://:S/=/./}.nupkg ${nupkg:C/^.*://:S/=/./}.nupkg; \
+ ${CP} ${nupkg:tl:C/^.*://:S/=/./}.nupkg.sha512 ${nupkg:C/^.*://:S/=/./}.nupkg.sha512)
+. endfor
+.endif
+
+makenuget: patch
+ @${FIND} ${WRKSRC} -name packages.config | \
+ ${XARGS} ${SED} -nE 's|.*<package id="([^"]+)" version="([^"]+)"[^/]*/>.*|\1=\2|gp' | \
+ ${SORT} -u | \
+ ${SED} \
+ -e '1s|^|NUGET_DEPENDS= |' \
+ -e '2,$$s|^| |g' \
+ -e '$$!s|$$| \\|g'
+
+makenupkg:
+ @${RM} ${WRKDIR}/nupkg-*
+ @for nuspec in `${FIND} ${_NUGET_PACKAGEDIR} -name '*.nuspec'`; do \
+ name="`${SED} -nE 's|.*<id>(.*)</id>.*|\1|p' $$nuspec`"; \
+ version="`${SED} -nE 's|.*<version>(.*)</version>.*|\1|p' $$nuspec`"; \
+ echo $$name=$$version ; \
+ done | ${SORT} -u | ${SETENV} ${MAKENUPKG_ENV} ${XARGS} -n1 sh -c ' \
+ for feed in ${NUGET_FEEDS:MNUGET:tl} ${NUGET_FEEDS:NNUGET:tl}; do \
+ if eval [ "\$${$${feed}_VERSION}" = v2 ]; then \
+ eval url="\$${$${feed}_URL}package/$${0%%=*}/$${0##*=}"; \
+ else \
+ eval url="\$${$${feed}_URL}$${0%%=*}/$${0##*=}/$${0%%=*}.$${0##*=}.nupkg"; \
+ fi; \
+ if curl --output /dev/null --silent --head --fail $$url; then\
+ ${ECHO} $$0 >> ${WRKDIR}/nupkg-$$feed; \
+ found=yes; \
+ break; \
+ fi; \
+ done; \
+ if [ -z "$$found" ]; then \
+ echo "$$0: no feed found"; \
+ exit 1; \
+ fi'
+.endif
diff --git a/test-ports/Mk/Uses/motif.mk b/test-ports/Mk/Uses/motif.mk
new file mode 100644
index 00000000..4dabadcb
--- /dev/null
+++ b/test-ports/Mk/Uses/motif.mk
@@ -0,0 +1,30 @@
+# $FreeBSD: head/Mk/Uses/motif.mk 411970 2016-03-27 01:23:25Z bapt $
+#
+# handle dependency on motif
+#
+# Feature: motif
+# Usage: USES=motif
+#
+# If WANT_LESSTIF is defined in user make.conf then lesstif will be used
+# instead of open-motif
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_MOTIF_MK)
+_INCLUDE_USES_MOTIF_MK= yes
+
+.if !empty(motif_ARGS)
+IGNORE= USES=motif takes no arguments
+.endif
+
+.if defined(WANT_LESSTIF)
+LIB_DEPENDS+= libXm.so:x11-toolkits/lesstif
+.else
+USE_XORG+= xpm
+LIB_DEPENDS+= libXm.so.4:x11-toolkits/open-motif
+.endif
+
+MOTIFLIB?= -L${LOCALBASE}/lib -lXm -lXp
+MAKE_ENV+= MOTIFLIB="${MOTIFLIB}"
+
+.endif
diff --git a/test-ports/Mk/Uses/mysql.mk b/test-ports/Mk/Uses/mysql.mk
new file mode 100644
index 00000000..ea5c7a66
--- /dev/null
+++ b/test-ports/Mk/Uses/mysql.mk
@@ -0,0 +1,175 @@
+# $FreeBSD: head/Mk/Uses/mysql.mk 472070 2018-06-09 16:40:54Z brnrd $
+#
+# Provide support for MySQL
+# Feature: mysql
+# Usage: USES=mysql or USES=mysql:args
+# Valid ARGS: <version>, client, server, embedded
+#
+# version If no version is given (by the maintainer via the port), try to
+# find the currently installed version. Fall back to default if
+# necessary (MySQL-5.6 = 56).
+# client Depends on the libmysqlclient library (default)
+# server/embedded
+# Depend on the server at run/build time. If none of these is
+# set, depends on the client.
+#
+# IGNORE_WITH_MYSQL
+# This variable can be defined if the ports does not support one
+# or more versions of MySQL.
+# WITH_MYSQL_VER
+# User defined variable to set MySQL version.
+# MYSQL_VER
+# Detected MySQL version.
+#
+# MAINTAINER: ports@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_MYSQL_MK)
+_INCLUDE_USES_MYSQL_MK= yes
+
+.if !empty(mysql_ARGS)
+.undef _WANT_MYSQL_VER
+.undef _WANT_MYSQL_SERVER
+.undef _WANT_MYSQL_EMBEDDED
+_MYSQL_ARGS= ${mysql_ARGS:S/,/ /g}
+.if ${_MYSQL_ARGS:Mserver}
+_WANT_MYSQL_SERVER= yes
+_MYSQL_ARGS:= ${_MYSQL_ARGS:Nserver}
+.endif
+.if ${_MYSQL_ARGS:Membedded}
+_WANT_MYSQL_EMBEDDED= yes
+_MYSQL_ARGS:= ${_MYSQL_ARGS:Nembedded}
+.endif
+.if ${_MYSQL_ARGS:Mclient}
+_WANT_MYSQL_CLIENT= yes
+_MYSQL_ARGS:= ${_MYSQL_ARGS:Nclient}
+.endif
+
+# Port requested a version
+.if !empty(_MYSQL_ARGS)
+_WANT_MYSQL_VER= ${_MYSQL_ARGS}
+.if (${_WANT_MYSQL_VER:C/[0-9]*//} == "m")
+_WANT_MYSQL_FLAVOUR= mariadb
+.elif (${_WANT_MYSQL_VER:C/[0-9]*//} == "p")
+_WANT_MYSQL_FLAVOUR= percona
+.else
+_WANT_MYSQL_FLAVOUR= mysql
+.endif
+.endif
+.endif # !empty(mysql_ARGS)
+
+.if defined(DEFAULT_MYSQL_VER)
+WARNING+= "DEFAULT_MYSQL_VER is defined, consider using DEFAULT_VERSIONS=mysql=${DEFAULT_MYSQL_VER} instead"
+.endif
+
+DEFAULT_MYSQL_VER?= ${MYSQL_DEFAULT:S/.//}
+# MySQL client version currently supported.
+# When adding a version, please keep the comment in
+# Mk/bsd.default-versions.mk in sync.
+.for v in 55 55m 55p 56 56p 56w 100m 101m
+MYSQL${v}_LIBVER= 18
+.endfor
+MYSQL57_LIBVER= 20
+MYSQL57p_LIBVER= 20
+MYSQL80_LIBVER= 21
+MYSQL102m_LIBVER= 3
+MYSQL103m_LIBVER= 3
+
+# Setting/finding MySQL version we want.
+.if exists(${LOCALBASE}/bin/mysql)
+_MYSQL!= ${LOCALBASE}/bin/mysql_config --version | ${SED} -e 's/\([0-9]\{1,2\}\)\.\([0-9]*\).*/\1\2/'
+_PERCONA!= ${LOCALBASE}/bin/mysql --version | ${GREP} Percona | wc -l
+_MARIADB!= ${LOCALBASE}/bin/mysql --version | ${GREP} MariaDB | wc -l
+
+.if ${_PERCONA} == 1
+_MYSQL_VER= ${_MYSQL}p
+_MYSQL_FLAVOUR= percona
+.elif ${_MARIADB} == 1
+_MYSQL_VER= ${_MYSQL}m
+_MYSQL_FLAVOUR= mariadb
+.else
+_MYSQL_VER= ${_MYSQL}
+_MYSQL_FLAVOUR= mysql
+.endif
+.endif
+
+.if defined(_WANT_MYSQL_VER)
+.if defined(WITH_MYSQL_VER) && (${WITH_MYSQL_VER:C/[0-9]*//} == "m")
+WITH_MYSQL_FLAVOUR= mariadb
+.elif defined(WITH_MYSQL_VER) && (${WITH_MYSQL_VER:C/[0-9]*//} == "p")
+WITH_MYSQL_FLAVOUR= percona
+.else
+WITH_MYSQL_FLAVOUR= mysql
+.endif
+.if defined(WITH_MYSQL_VER) && ${WITH_MYSQL_VER} != ${_WANT_MYSQL_VER}
+IGNORE= cannot install: the port wants ${_WANT_MYSQL_FLAVOUR}${_WANT_MYSQL_VER:C/[mpw]//}-client and you try to install ${WITH_MYSQL_FLAVOUR}${WITH_MYSQL_VER:C/[mpw]//}-client
+.endif
+MYSQL_VER= ${_WANT_MYSQL_VER}
+.elif defined(WITH_MYSQL_VER)
+MYSQL_VER= ${WITH_MYSQL_VER}
+.else
+.if defined(_MYSQL_VER)
+MYSQL_VER= ${_MYSQL_VER}
+.else
+MYSQL_VER= ${DEFAULT_MYSQL_VER}
+.endif
+.endif # _WANT_MYSQL_VER
+
+.if ${MYSQL_VER:C/[0-9]*//} == "m"
+MYSQL_FLAVOUR= mariadb
+.elif ${MYSQL_VER:C/[0-9]*//} == "p"
+MYSQL_FLAVOUR= percona
+.else
+MYSQL_FLAVOUR= mysql
+.endif
+
+.if defined(_MYSQL_VER)
+.if ${_MYSQL_VER} != ${MYSQL_VER}
+IGNORE= cannot install: MySQL versions mismatch: ${_MYSQL_FLAVOUR}${_MYSQL_VER:C/[mpw]//}-client is installed and wanted version is ${MYSQL_FLAVOUR}${MYSQL_VER:C/[mpw]//}-client
+.endif
+.endif
+
+_MYSQL_SHLIB= libmysqlclient
+.if (${MYSQL_VER:C/[0-9]*//} == "m")
+_MYSQL_SERVER_FLAVOUR= mariadb
+_MYSQL_CLIENT_FLAVOUR= mariadb
+. if ${MYSQL_VER:C/m//} >= 102
+_MYSQL_SHLIB= libmariadb
+. endif
+.elif (${MYSQL_VER:C/[0-9]*//} == "p")
+_MYSQL_SERVER_FLAVOUR= percona
+_MYSQL_CLIENT_FLAVOUR= percona
+.elif (${MYSQL_VER:C/[0-9]*//} == "w")
+_MYSQL_SERVER_FLAVOUR= mysqlwsrep
+_MYSQL_CLIENT_FLAVOUR= mysql
+.else
+_MYSQL_SERVER_FLAVOUR= mysql
+_MYSQL_CLIENT_FLAVOUR= mysql
+.endif
+
+_MYSQL_CLIENT= databases/${_MYSQL_CLIENT_FLAVOUR}${MYSQL_VER:C/[mp]//}-client
+_MYSQL_SERVER= databases/${_MYSQL_SERVER_FLAVOUR}${MYSQL_VER:C/[mp]//}-server
+
+# And now we are checking if we can use it
+.if defined(MYSQL${MYSQL_VER}_LIBVER)
+.if defined(IGNORE_WITH_MYSQL)
+. for VER in ${IGNORE_WITH_MYSQL}
+. if (${MYSQL_VER} == "${VER}")
+IGNORE= cannot install: does not work with MySQL version ${MYSQL_VER} (MySQL ${IGNORE_WITH_MYSQL} not supported)
+. endif
+. endfor
+.endif # IGNORE_WITH_MYSQL
+.if defined(_WANT_MYSQL_SERVER) || defined(_WANT_MYSQL_EMBEDDED)
+RUN_DEPENDS+= ${LOCALBASE}/libexec/mysqld:${_MYSQL_SERVER}
+.if defined(_WANT_MYSQL_EMBEDDED)
+BUILD_DEPENDS+= ${LOCALBASE}/lib/mysql/libmysqld.a:${_MYSQL_SERVER}
+.endif
+.endif
+.if defined(_WANT_MYSQL_CLIENT) || \
+ !(defined(_WANT_MYSQL_SERVER) || defined(_WANT_MYSQL_EMBEDDED))
+LIB_DEPENDS+= ${_MYSQL_SHLIB}.so.${MYSQL${MYSQL_VER}_LIBVER}:${_MYSQL_CLIENT}
+.endif
+.else
+IGNORE= cannot install: unknown MySQL version: ${MYSQL_VER}
+.endif # Check for correct libs
+
+.endif
diff --git a/test-ports/Mk/Uses/ncurses.mk b/test-ports/Mk/Uses/ncurses.mk
new file mode 100644
index 00000000..4aa35747
--- /dev/null
+++ b/test-ports/Mk/Uses/ncurses.mk
@@ -0,0 +1,89 @@
+# $FreeBSD: head/Mk/Uses/ncurses.mk 421554 2016-09-08 14:12:55Z mat $
+#
+# handle dependency on the ncurses port
+#
+# Feature: ncurses
+# Usage: USES=ncurses
+# Valid ARGS: base port
+#
+# use/port can now set this options to the makefiles
+# NCURSES_RPATH= yes - pass RFLAGS options to CFLAGS
+#
+# Overridable defaults:
+# NCURSES_PORT= devel/ncurses
+#
+# The makefile sets the following variables:
+# NCURSESBASE - "/usr" or ${LOCALBASE}
+# NCURSESLIB - path to the libs
+# NCURSESINC - path to the matching includes
+# NCURSESRPATH - rpath for dynamic linker
+#
+# BUILD_DEPENDS - are added if needed
+# RUN_DEPENDS - are added if needed
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_NCURSES_MK)
+_INCLUDE_USES_NCURSES_MK= yes
+
+.if empty(ncurses_ARGS)
+. if !exists(${DESTDIR}/${LOCALBASE}/lib/libncurses.so) && exists(${DESTDIR}/usr/lib/libncurses.so)
+ncurses_ARGS= base
+. else
+ncurses_ARGS= port
+. endif
+.endif
+
+.if ${ncurses_ARGS} == base
+NCURSESBASE= /usr
+NCURSESINC= ${NCURSESBASE}/include
+
+. if exists(${LOCALBASE}/lib/libncurses.so)
+_USES_sanity+= 400:check-depends-ncurses
+check-depends-ncurses:
+ @${ECHO_CMD} "Dependency error: this port wants the ncurses library from the FreeBSD"
+ @${ECHO_CMD} "base system. You can't build against it, while a newer"
+ @${ECHO_CMD} "version is installed by a port."
+ @${ECHO_CMD} "Please deinstall the port or undefine WITH_NCURSES_BASE."
+ @${FALSE}
+. endif
+
+.elif ${ncurses_ARGS} == port
+NCURSESBASE= ${LOCALBASE}
+NCURSESINC= ${LOCALBASE}/include/ncurses
+
+. if !defined(NCURSES_PORT) && exists(${DESTDIR}/${LOCALBASE}/lib/libncurses.so)
+PKG_DBDIR?= ${DESTDIR}/var/db/pkg
+. if defined(DESTDIR)
+PKGARGS= -c ${DESTDIR}
+. endif
+PKGARGS?=
+NCURSES_INSTALLED!= ${PKG_BIN} ${PKGARGS} which -qo ${LOCALBASE}/lib/libncurses.so || :
+. endif
+NCURSES_INSTALLED?=
+
+.if ${NCURSES_INSTALLED} != ""
+NCURSES_PORT= ${NCURSES_INSTALLED}
+NCURSES_SHLIBFILE!= ${PKG_INFO} -ql ${NCURSES_INSTALLED} | grep -m 1 "^`pkg query "%p" ${NCURSES_INSTALLED}`/lib/libncurses.so."
+NCURSES_SHLIBVER?= ${NCURSES_SHLIBFILE:E}
+.endif
+
+NCURSES_PORT?= devel/ncurses
+NCURSES_SHLIBVER?= 6
+
+BUILD_DEPENDS+= ${LOCALBASE}/lib/libncurses.so.${NCURSES_SHLIBVER}:${NCURSES_PORT}
+RUN_DEPENDS+= ${LOCALBASE}/lib/libncurses.so.${NCURSES_SHLIBVER}:${NCURSES_PORT}
+NCURSESRPATH= ${NCURSESBASE}/lib
+
+.if defined(NCURSES_RPATH)
+CFLAGS+= -Wl,-rpath,${NCURSESRPATH}
+.endif
+LDFLAGS+= -Wl,-rpath=${NCURSESRPATH}
+
+.else
+.error USES=ncurses only accept 'port' and 'base' as arguments, got ${ncurses_ARGS}
+.endif
+
+NCURSESLIB= ${NCURSESBASE}/lib
+
+.endif
diff --git a/test-ports/Mk/Uses/ninja.mk b/test-ports/Mk/Uses/ninja.mk
new file mode 100644
index 00000000..eb002e1d
--- /dev/null
+++ b/test-ports/Mk/Uses/ninja.mk
@@ -0,0 +1,29 @@
+# $FreeBSD: head/Mk/Uses/ninja.mk 421635 2016-09-09 19:42:46Z amdmi3 $
+#
+# Provide support to use Ninja
+#
+# Feature: ninja
+# Usage: USES=ninja
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_NINJA_MK)
+_INCLUDE_USES_NINJA_MK= yes
+
+.if !empty(ninja_ARGS)
+IGNORE= Incorrect 'USES+= ninja:${ninja_ARGS}' ninja takes no arguments
+.endif
+
+MAKE_ARGS+= -v
+
+BUILD_DEPENDS+= ninja:devel/ninja
+
+CMAKE_ARGS+= -GNinja
+MAKEFILE=
+MAKE_CMD= ninja
+MAKE_FLAGS=
+# Set a minimal job of 1
+_MAKE_JOBS= -j${MAKE_JOBS_NUMBER}
+_DESTDIR_VIA_ENV= yes
+
+.endif
diff --git a/test-ports/Mk/Uses/objc.mk b/test-ports/Mk/Uses/objc.mk
new file mode 100644
index 00000000..69194ae6
--- /dev/null
+++ b/test-ports/Mk/Uses/objc.mk
@@ -0,0 +1,82 @@
+# $FreeBSD: head/Mk/Uses/objc.mk 492056 2019-02-03 15:37:58Z theraven $
+#
+# Objective C support
+#
+# Feature: objc
+# Usage: USES=objc
+#
+# MAINTAINER: objc@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_OBJC_MK)
+_INCLUDE_USES_OBJC_MK= yes
+
+OBJC_CLANG_VERSION=70
+
+objc_ARGS?=
+.if !empty(objc_ARGS) && ! ${objc_ARGS:Mcompiler}
+IGNORE= USES=objc only accepts no arguments or 'compiler'
+.endif
+
+_CC_hash:= ${CC:hash}
+
+.if defined(_OBJC_CCVERSION_${_CC_hash})
+_CCVERSION= ${_OBJC_CCVERSION_${_CC_hash}}
+.else
+_CCVERSION!= ${CC} --version
+_OBJC_CCVERSION_${_CC_hash}= ${_CCVERSION}
+PORTS_ENV_VARS+= _OBJC_CCVERSION_${_CC_hash}
+.endif
+COMPILER_VERSION= ${_CCVERSION:M[0-9].[0-9]*:tW:C/([0-9]).([0-9]).*/\1\2/g}
+.if ${_CCVERSION:Mclang}
+COMPILER_TYPE= clang
+.else
+COMPILER_TYPE= gcc
+.endif
+
+ALT_COMPILER_VERSION= 0
+ALT_COMPILER_TYPE= none
+_ALTCCVERSION= none
+.if defined(_OBJC_ALTCCVERSION_${_CC_hash})
+_ALTCCVERSION= ${_OBJC_ALTCCVERSION_${_CC_hash}}
+.else
+.if ${COMPILER_TYPE} == gcc && exists(/usr/bin/clang)
+_ALTCCVERSION!= /usr/bin/clang --version
+.elif ${COMPILER_TYPE} == clang && exists(/usr/bin/gcc)
+_ALTCCVERSION!= /usr/bin/gcc --version
+.endif
+_OBJC_ALTCCVERSION_${_CC_hash}= ${_ALTCCVERSION}
+PORTS_ENV_VARS+= _OBJC_ALTCCVERSION_${_CC_hash}
+.endif
+
+ALT_COMPILER_VERSION= ${_ALTCCVERSION:M[0-9].[0-9]*:tW:C/([0-9]).([0-9]).*/\1\2/g}
+.if ${_ALTCCVERSION:Mclang}
+ALT_COMPILER_TYPE= clang
+.elif !empty(_ALTCCVERSION)
+ALT_COMPILER_TYPE= gcc
+.endif
+
+# We do always need clang and prefer a recent version
+.if (${COMPILER_TYPE} == clang && ${COMPILER_VERSION} < ${OBJC_CLANG_VERSION}) || ${COMPILER_TYPE} != clang
+.if ${ALT_COMPILER_TYPE} == clang && ${ALT_COMPILER_VERSION} >= ${OBJC_CLANG_VERSION}
+CC= /usr/bin/clang
+CPP= /usr/bin/clang-cpp
+CXX= /usr/bin/clang++
+OBJC_LLD= lld
+.else
+BUILD_DEPENDS+= ${LOCALBASE}/bin/clang${OBJC_CLANG_VERSION}:devel/llvm${OBJC_CLANG_VERSION}
+CPP= ${LOCALBASE}/bin/clang-cpp${OBJC_CLANG_VERSION}
+CC= ${LOCALBASE}/bin/clang${OBJC_CLANG_VERSION}
+CXX= ${LOCALBASE}/bin/clang++${OBJC_CLANG_VERSION}
+OBJC_LLD= lld${OBJC_CLANG_VERSION}
+.endif
+.endif
+
+.if ! ${objc_ARGS:Mcompiler}
+LIB_DEPENDS+= libobjc.so.4.6:lang/libobjc2
+OBJCFLAGS+= -I${LOCALBASE}/include
+LDFLAGS+= -L${LOCALBASE}/lib
+.endif
+CONFIGURE_ENV+= OBJC="${CC}" OBJCFLAGS="${OBJCFLAGS}"
+MAKE_ENV+= OBJC="${CC}" OBJCFLAGS="${OBJCFLAGS}"
+
+.endif
diff --git a/test-ports/Mk/Uses/openal.mk b/test-ports/Mk/Uses/openal.mk
new file mode 100644
index 00000000..ae2000ef
--- /dev/null
+++ b/test-ports/Mk/Uses/openal.mk
@@ -0,0 +1,86 @@
+# $FreeBSD: head/Mk/Uses/openal.mk 411970 2016-03-27 01:23:25Z bapt $
+#
+# Handle dependency on OpenAL
+#
+# Feature: openal
+# Usage: USES=openal or USES=openal:ARGS
+# Valid ARGS: al, soft (default), si, alut
+#
+# User-specified OpenAL wish:
+# Usage: WANT_OPENAL=ARG
+# Valid ARG: soft (default), si
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_OPENAL_MK)
+_INCLUDE_USES_OPENAL_MK= yes
+
+_valid_ARGS= al si soft alut
+
+_si_DEPENDS= libopenal.so.0:audio/openal
+_soft_DEPENDS= libopenal.so.1:audio/openal-soft
+_alut_DEPENDS= libalut.so.0:audio/freealut
+
+_OPENAL_LIBS= si soft
+_DEFAULT_OPENAL= soft
+
+.if exists(${LOCALBASE}/lib/libopenal.a)
+_HAVE_OPENAL= si
+.elif exists(${LOCALBASE}/bin/openal-info)
+_HAVE_OPENAL= soft
+.endif
+
+# Be friendly
+.if empty(openal_ARGS)
+openal_ARGS= ${_DEFAULT_OPENAL}
+.endif
+
+# Sanity checks
+.if defined(WANT_OPENAL) && defined(_HAVE_OPENAL) && ${_HAVE_OPENAL} != ${WANT_OPENAL}
+IGNORE= OpenAL mismatch: ${_HAVE_OPENAL} is installed, but ${WANT_OPENAL} desired
+.endif
+
+.for _arg in ${openal_ARGS}
+. if ! ${_valid_ARGS:M${_arg}}
+IGNORE= Incorrect 'USES+= openal:${openal_ARGS}' usage: argument [${_arg}] is not recognized
+. endif
+. if ${_OPENAL_LIBS:M${_arg}} && ${openal_ARGS:Mal}
+IGNORE= Incorrect 'USES+= openal:${openal_ARGS}' usage: argument [${_arg}] cannot be used together with al
+. endif
+. if ${_OPENAL_LIBS:M${_arg}} && defined(_HAVE_OPENAL) && ${_HAVE_OPENAL} != ${_arg}
+IGNORE= OpenAL mismatch: port wants to use ${_arg} while you have ${_HAVE_OPENAL}
+. endif
+. if ${_OPENAL_LIBS:M${_arg}} && defined(WANT_OPENAL) && ${WANT_OPENAL} != ${_arg}
+IGNORE= OpenAL mismatch: port wants to use ${_arg} while you wish to use ${WANT_OPENAL}
+. endif
+. if ${_OPENAL_LIBS:M${_arg}}
+. for _carg in ${_OPENAL_LIBS:N${_arg}}
+. if ${openal_ARGS:M${_carg}}
+IGNORE= Incorrect 'USES+= openal:${openal_ARGS}' usage: arguments [${_arg}] and [${_carg}] cannot be used together
+. endif
+. endfor
+. endif
+.endfor
+
+# Proceed
+_USE_OPENAL=
+
+.if ${openal_ARGS:Mal}
+.if defined(_HAVE_OPENAL)
+_USE_OPENAL= ${_HAVE_OPENAL}
+.elif defined(WANT_OPENAL)
+_USE_OPENAL= ${WANT_OPENAL}
+.else
+_USE_OPENAL= ${_DEFAULT_OPENAL}
+.endif
+.endif
+
+.for _arg in ${openal_ARGS:Nal}
+_USE_OPENAL+= ${_arg}
+.endfor
+
+.for _arg in ${_USE_OPENAL}
+LIB_DEPENDS+= ${_${_arg}_DEPENDS}
+.endfor
+
+.endif
diff --git a/test-ports/Mk/Uses/pathfix.mk b/test-ports/Mk/Uses/pathfix.mk
new file mode 100644
index 00000000..baf2595a
--- /dev/null
+++ b/test-ports/Mk/Uses/pathfix.mk
@@ -0,0 +1,63 @@
+# $FreeBSD: head/Mk/Uses/pathfix.mk 463881 2018-03-08 09:08:48Z gahr $
+#
+# Lookup common paths in Makefile.in, configure and similar files, and replace
+# their values to respect FreeBSD hier(7) for file installation.
+#
+# Feature: pathfix
+# Usage: USES=pathfix
+# Valid ARGS: does not require args
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_PATHFIX_MK)
+_INCLUDE_USES_PATHFIX_MK= yes
+
+.if !empty(pathfix_ARGS)
+IGNORE= USES=pathfix does not require args
+.endif
+
+PATHFIX_CMAKELISTSTXT?= CMakeLists.txt
+.if ${USES:Mautoreconf*}
+PATHFIX_MAKEFILEIN?= Makefile.am Makefile.in
+.else
+PATHFIX_MAKEFILEIN?= Makefile.in
+.endif
+PATHFIX_WRKSRC?= ${WRKSRC}
+
+_USES_patch+= 190:pathfix
+pathfix:
+.if ${USES:Mcmake*}
+.for file in ${PATHFIX_CMAKELISTSTXT}
+ @${FIND} ${PATHFIX_WRKSRC} -name "${file}" -type f | ${XARGS} ${REINPLACE_CMD} -e \
+ 's|[{]CMAKE_INSTALL_LIBDIR[}]/pkgconfig|{CMAKE_INSTALL_PREFIX}/libdata/pkgconfig|g ; \
+ s|[{]CMAKE_INSTALL_DATAROOTDIR[}]/pkgconfig|{CMAKE_INSTALL_PREFIX}/libdata/pkgconfig|g ; \
+ s|[{]INSTALL_LIB_DIR[}]/pkgconfig|{CMAKE_INSTALL_PREFIX}/libdata/pkgconfig|g ; \
+ s|[{]INSTALL_LIBDIR[}]/pkgconfig|{CMAKE_INSTALL_PREFIX}/libdata/pkgconfig|g ; \
+ s|[{]LIB_DESTINATION[}]/pkgconfig|{CMAKE_INSTALL_PREFIX}/libdata/pkgconfig|g ; \
+ s|[{]LIB_DIR[}]/pkgconfig|{CMAKE_INSTALL_PREFIX}/libdata/pkgconfig|g ; \
+ s|[{]LIB_INSTALL_DIR[}]/pkgconfig|{CMAKE_INSTALL_PREFIX}/libdata/pkgconfig|g ; \
+ s|[{]KDE_INSTALL_LIBDIR[}]/pkgconfig|{CMAKE_INSTALL_PREFIX}/libdata/pkgconfig|g ; \
+ s|[{]LIBRARY_INSTALL_DIR[}]/pkgconfig|{CMAKE_INSTALL_PREFIX}/libdata/pkgconfig|g ; \
+ s|[{]libdir[}]/pkgconfig|{CMAKE_INSTALL_PREFIX}/libdata/pkgconfig|g ; \
+ s|lib/pkgconfig|libdata/pkgconfig|g'
+.endfor
+.else
+.for file in ${PATHFIX_MAKEFILEIN}
+ @${FIND} ${PATHFIX_WRKSRC} -name "${file}" -type f | ${XARGS} ${REINPLACE_CMD} -e \
+ 's|[(]libdir[)]/locale|(prefix)/share/locale|g ; \
+ s|[(]libdir[)]/pkgconfig|(prefix)/libdata/pkgconfig|g ; \
+ s|[(]LIBDIR[)]/pkgconfig|(PREFIX)/libdata/pkgconfig|g ; \
+ s|@libdir@/locale|@prefix@/share/locale|g ; \
+ s|@libdir@/pkgconfig|@prefix@/libdata/pkgconfig|g ; \
+ s|[{]libdir[}]/pkgconfig|(prefix)/libdata/pkgconfig|g ; \
+ s|[{]LIBDIR[}]/pkgconfig|(PREFIX)/libdata/pkgconfig|g ; \
+ s|[(]datadir[)]/pkgconfig|(prefix)/libdata/pkgconfig|g ; \
+ s|[{]datadir[}]/pkgconfig|(prefix)/libdata/pkgconfig|g ; \
+ s|[(]prefix[)]/lib/pkgconfig|(prefix)/libdata/pkgconfig|g ; \
+ s|[[:<:]]lib/pkgconfig|libdata/pkgconfig|g; \
+ s|[$$][(]localstatedir[)]/scrollkeeper|${SCROLLKEEPER_DIR}|g ; \
+ s|[(]libdir[)]/bonobo/servers|(prefix)/libdata/bonobo/servers|g'
+.endfor
+.endif
+
+.endif
diff --git a/test-ports/Mk/Uses/pear.mk b/test-ports/Mk/Uses/pear.mk
new file mode 100644
index 00000000..55697b99
--- /dev/null
+++ b/test-ports/Mk/Uses/pear.mk
@@ -0,0 +1,177 @@
+# $FreeBSD: head/Mk/Uses/pear.mk 484589 2018-11-10 07:58:52Z sunpoet $
+#
+# Use the PHP Extension and Application Repository
+#
+# Feature: pear
+# Usage: USES=pear
+# Valid ARGS: env
+#
+# - env : Only provide the environment variables, no fetch/build/install
+# targets.
+#
+# MAINTAINER= portmgr@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_PEAR_MK)
+_INCLUDE_USES_PEAR_MK= yes
+_USES_POST+= pear
+
+_valid_pear_ARGS= env
+
+# Sanity check
+. for arg in ${pear_ARGS}
+. if empty(_valid_pear_ARGS:M${arg})
+IGNORE= Incorrect 'USES+= pear:${pear_ARGS}' usage: argument [${arg}] is not recognized
+. endif
+. endfor
+
+php_ARGS+= flavors
+.include "${USESDIR}/php.mk"
+
+. if empty(pear_ARGS:Menv)
+MASTER_SITES?= http://pear.php.net/get/
+
+EXTRACT_SUFX?= .tgz
+DIST_SUBDIR?= PEAR
+
+. if empty(php_ARGS:Mphpize)
+NO_BUILD= yes
+. endif
+. endif
+
+BUILD_DEPENDS+= pear:devel/pear@${PHP_FLAVOR}
+RUN_DEPENDS+= pear:devel/pear@${PHP_FLAVOR}
+
+PEAR_PKGNAMEPREFIX= php${PHP_VER}-pear-
+
+. if defined(PEAR_CHANNEL) && ${PEAR_CHANNEL} != ""
+PEAR_${PEAR_CHANNEL:tu}_PKGNAMEPREFIX= php${PHP_VER}-pear-${PEAR_CHANNEL}-
+PKGNAMEPREFIX?= ${PEAR_${PEAR_CHANNEL:tu}_PKGNAMEPREFIX}
+PEARPKGREF= ${PEAR_CHANNEL}/${PORTNAME}
+PEAR_CHANNEL_VER?= >=0
+BUILD_DEPENDS+= ${PEAR_PKGNAMEPREFIX}channel-${PEAR_CHANNEL}${PEAR_CHANNEL_VER}:devel/pear-channel-${PEAR_CHANNEL}@${PHP_FLAVOR}
+RUN_DEPENDS+= ${PEAR_PKGNAMEPREFIX}channel-${PEAR_CHANNEL}${PEAR_CHANNEL_VER}:devel/pear-channel-${PEAR_CHANNEL}@${PHP_FLAVOR}
+. else
+PKGNAMEPREFIX?= ${PEAR_PKGNAMEPREFIX}
+PEARPKGREF= ${PORTNAME}
+. endif
+
+. if exists(${LOCALBASE}/bin/php-config)
+PHP_BASE!= ${LOCALBASE}/bin/php-config --prefix
+. else
+PHP_BASE= ${LOCALBASE}
+. endif
+PEAR= ${LOCALBASE}/bin/pear
+LPEARDIR= share/pear
+LPKGREGDIR= ${LPEARDIR}/packages/${PKGNAME}
+LDATADIR= ${LPEARDIR}/data/${PORTNAME}
+LDOCSDIR= share/doc/pear/${PORTNAME}
+LEXAMPLESDIR= share/examples/pear/${PORTNAME}
+LSQLSDIR= ${LPEARDIR}/sql/${PORTNAME}
+LSCRIPTSDIR= bin
+LTESTSDIR= ${LPEARDIR}/tests/${PORTNAME}
+PEARDIR= ${PHP_BASE}/${LPEARDIR}
+PKGREGDIR= ${PHP_BASE}/${LPKGREGDIR}
+DATADIR= ${PHP_BASE}/${LDATADIR}
+DOCSDIR= ${PHP_BASE}/${LDOCSDIR}
+EXAMPLESDIR= ${PHP_BASE}/${LEXAMPLESDIR}
+SQLSDIR= ${PHP_BASE}/${LSQLSDIR}
+SCRIPTFILESDIR= ${LOCALBASE}/bin
+TESTSDIR= ${PHP_BASE}/${LTESTSDIR}
+. if defined(CATEGORY) && !empty(CATEGORY)
+LINSTDIR= ${LPEARDIR}/${CATEGORY}
+. else
+LINSTDIR= ${LPEARDIR}
+. endif
+INSTDIR= ${PHP_BASE}/${LINSTDIR}
+
+SUB_LIST+= PKG_NAME=${PEARPKGREF}
+
+. if empty(pear_ARGS:Menv)
+. if empty(php_ARGS:Mphpize) && !exists(${.CURDIR}/pkg-plist)
+PLIST= ${WRKDIR}/PLIST
+. endif
+PKGINSTALL?= ${PORTSDIR}/devel/pear/pear-install
+PKGDEINSTALL?= ${WRKDIR}/pear-deinstall
+. endif
+
+PLIST_SUB+= PEARDIR=${LPEARDIR} PKGREGDIR=${LPKGREGDIR} \
+ TESTSDIR=${LTESTSDIR} INSTDIR=${LINSTDIR} SQLSDIR=${LSQLSDIR} \
+ SCRIPTFILESDIR=${LCRIPTSDIR}
+
+.endif
+.if defined(_POSTMKINCLUDED) && !defined(_INCLUDE_USES_PEAR_POST_MK)
+_INCLUDE_USES_PEAR_POST_MK= yes
+
+. if empty(pear_ARGS:Menv)
+
+_USES_install+= 250:pear-pre-install
+pear-pre-install:
+. if exists(${LOCALBASE}/lib/php.DIST_PHP) \
+ || exists(${PHP_BASE}/lib/php.DIST_PHP) \
+ || exists(${LOCALBASE}/.PEAR.pkg) \
+ || exists(${PHP_BASE}/.PEAR.pkg)
+ @${ECHO_MSG} ""
+ @${ECHO_MSG} " Sorry, the PEAR structure has been modified;"
+ @${ECHO_MSG} " Please deinstall your installed pear- ports."
+ @${ECHO_MSG} ""
+ @${FALSE}
+. endif
+
+DIRFILTER= ${SED} -En '\:^.*/[^/]*$$:s:^(.+)/[^/]*$$:\1:p' \
+ | ( while read r; do \
+ C=1; \
+ while [ $$C = 1 ]; do \
+ echo $$r; \
+ if echo $$r | ${GREP} '/' > /dev/null; then \
+ r=`${DIRNAME} $$r`; \
+ else \
+ C=0; \
+ fi; \
+ done; \
+ done \
+ ) | ${SORT} -ur
+
+. if empty(php_ARGS:Mphpize)
+_USES_install+= 260:do-autogenerate-plist
+do-autogenerate-plist:
+ @${ECHO_MSG} "===> Generating packing list with pear"
+ @${LN} -sf ${WRKDIR}/package.xml ${WRKSRC}/package.xml
+ @cd ${WRKSRC} && ${PEAR} install -n -f -P ${WRKDIR}/inst package.xml > /dev/null 2> /dev/null
+. for R in .channels .depdb .depdblock .filemap .lock .registry
+ @${RM} -r ${WRKDIR}/inst/${PREFIX}/${LPEARDIR}/${R}
+ @${RM} -r ${WRKDIR}/inst/${R}
+. endfor
+ @FILES=`cd ${WRKDIR}/inst && ${FIND} . -type f | ${CUT} -c 2- | \
+ ${GREP} -v -E "^${PREFIX}/"` || exit 0; \
+ ${ECHO_CMD} $${FILES}; if ${TEST} -n "$${FILES}"; then \
+ ${ECHO_CMD} "Cannot generate packing list: package files outside PREFIX"; \
+ exit 1; fi;
+ @${ECHO_CMD} "${LPKGREGDIR}/package.xml" > ${PLIST}
+# pkg_install needs to escape $ in directory name while pkg does not
+ @cd ${WRKDIR}/inst/${PREFIX} && ${FIND} . -type f | ${SORT} \
+ | ${CUT} -c 3- >> ${PLIST}
+
+do-install:
+ @cd ${WRKSRC} && ${PEAR} install -n -f -P ${STAGEDIR} package.xml
+# Clean up orphans re-generated by pear-install
+. for R in .channels .depdb .depdblock .filemap .lock .registry
+ @${RM} -r ${STAGEDIR}${PREFIX}/${LPEARDIR}/${R}
+ @${RM} -r ${STAGEDIR}/${R}
+. endfor
+. endif
+
+_USES_install+= 270:do-generate-deinstall-script
+do-generate-deinstall-script:
+ @${SED} ${_SUB_LIST_TEMP} -e '/^@comment /d' ${PORTSDIR}/devel/pear/pear-deinstall.in > ${WRKDIR}/pear-deinstall
+
+_USES_install+= 550:pear-post-install
+pear-post-install:
+ @${MKDIR} ${STAGEDIR}${PKGREGDIR}
+ @${INSTALL_DATA} ${WRKDIR}/package.xml ${STAGEDIR}${PKGREGDIR}
+
+show-depends: patch
+ @${PEAR} package-dependencies ${WRKDIR}/package.xml
+
+. endif
+
+.endif
diff --git a/test-ports/Mk/Uses/perl5.mk b/test-ports/Mk/Uses/perl5.mk
new file mode 100644
index 00000000..1803fbfe
--- /dev/null
+++ b/test-ports/Mk/Uses/perl5.mk
@@ -0,0 +1,323 @@
+# $FreeBSD: head/Mk/Uses/perl5.mk 476224 2018-08-02 08:35:10Z mat $
+#
+# Provide support to use perl5
+#
+# PERL5 - Set to full path of perl5, either in the system or
+# installed from a port.
+# PERL - Set to full path of perl5, either in the system or
+# installed from a port, but without the version number.
+# Use this if you need to replace "#!" lines in scripts.
+# PERL_VERSION - Full version of perl5 (see below for current value).
+#
+# PERL_VER - Short version of perl5 (major.minor without patchlevel)
+#
+# PERL_LEVEL - Perl version as an integer of the form MNNNPP, where
+# M is major version, N is minor version, and P is
+# the patch level. E.g., PERL_VERSION=5.14.4 would give
+# a PERL_LEVEL of 501404. This can be used in comparisons
+# to determine if the version of perl is high enough,
+# whether a particular dependency is needed, etc.
+# PERL_ARCH - Directory name of architecture dependent libraries
+# (value: mach).
+# PERL_PORT - Name of the perl port that is installed
+# (for example: perl5.24)
+# SITE_PERL - Directory name where site specific perl packages go.
+# This value is added to PLIST_SUB.
+# SITE_ARCH - Directory name where arch site specific perl packages go.
+# This value is added to PLIST_SUB.
+# USE_PERL5 - If set, this port uses perl5 in one or more of the extract,
+# patch, build, run or test phases.
+# It can also have configure, modbuild and modbuildtiny when
+# the port needs to run Makefile.PL, Build.PL and a
+# Module::Build::Tiny flavor of Build.PL.
+#
+# MAINTAINER: perl@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_PERL5_MK)
+_INCLUDE_USES_PERL5_MK= yes
+
+. if !empty(perl5_ARGS)
+IGNORE= Incorrect 'USES+=perl5:${perl5_ARGS}' perl5 takes no arguments
+. endif
+
+USE_PERL5?= run build
+
+# When adding a version, please keep the comment in
+# Mk/bsd.default-versions.mk in sync.
+. if ${PERL5_DEFAULT} == 5.24
+.include "${PORTSDIR}/lang/perl5.24/version.mk"
+. elif ${PERL5_DEFAULT} == 5.26
+.include "${PORTSDIR}/lang/perl5.26/version.mk"
+. elif ${PERL5_DEFAULT} == 5.28
+.include "${PORTSDIR}/lang/perl5.28/version.mk"
+. elif ${PERL5_DEFAULT} == devel
+.include "${PORTSDIR}/lang/perl5-devel/version.mk"
+# Force PERL_PORT here in case two identical PERL_VERSION.
+PERL_PORT?= perl5-devel
+. else
+IGNORE= Invalid perl5 version ${PERL5_DEFAULT}
+. endif
+
+PERL_VER?= ${PERL_VERSION:C/\.[0-9]+$//}
+
+. if !defined(PERL_LEVEL) && defined(PERL_VERSION)
+perl_major= ${PERL_VERSION:C|^([1-9]+).*|\1|}
+_perl_minor= 00${PERL_VERSION:C|^([1-9]+)\.([0-9]+).*|\2|}
+perl_minor= ${_perl_minor:C|^.*(...)|\1|}
+. if ${perl_minor} >= 100
+perl_minor= ${PERL_VERSION:C|^([1-9]+)\.([0-9][0-9][0-9]).*|\2|}
+perl_patch= ${PERL_VERSION:C|^.*(..)|\1|}
+. else # ${perl_minor} < 100
+_perl_patch= 0${PERL_VERSION:C|^([1-9]+)\.([0-9]+)\.*|0|}
+perl_patch= ${_perl_patch:C|^.*(..)|\1|}
+. endif # ${perl_minor} < 100
+PERL_LEVEL= ${perl_major}${perl_minor}${perl_patch}
+. else
+PERL_LEVEL=0
+. endif # !defined(PERL_LEVEL) && defined(PERL_VERSION)
+
+PERL_ARCH?= mach
+
+# there must always be a default to prevent dependency failures such
+# as "ports/lang: not found". Also, perl5-devel is taken care in the
+# perl5_default file, or up there in the default versions selection.
+# When adding a version, please keep the comment in
+# Mk/bsd.default-versions.mk in sync.
+. if ${PERL_LEVEL} >= 502800
+PERL_PORT?= perl5.28
+. elif ${PERL_LEVEL} >= 502600
+PERL_PORT?= perl5.26
+. else # ${PERL_LEVEL} < 502600
+PERL_PORT?= perl5.24
+. endif
+
+SITE_PERL_REL?= lib/perl5/site_perl
+SITE_PERL?= ${LOCALBASE}/${SITE_PERL_REL}
+SITE_ARCH_REL?= ${SITE_PERL_REL}/${PERL_ARCH}/${PERL_VER}
+SITE_ARCH?= ${LOCALBASE}/${SITE_ARCH_REL}
+SITE_MAN3_REL?= ${SITE_PERL_REL}/man/man3
+SITE_MAN3?= ${PREFIX}/${SITE_MAN3_REL}
+SITE_MAN1_REL?= ${SITE_PERL_REL}/man/man1
+SITE_MAN1?= ${PREFIX}/${SITE_MAN1_REL}
+
+PERL5?= ${LOCALBASE}/bin/perl${PERL_VERSION}
+PERL?= ${LOCALBASE}/bin/perl
+CONFIGURE_ENV+= ac_cv_path_PERL=${PERL} ac_cv_path_PERL_PATH=${PERL} \
+ PERL_USE_UNSAFE_INC=1
+
+MAKE_ENV+= PERL_USE_UNSAFE_INC=1
+
+QA_ENV+= SITE_ARCH_REL=${SITE_ARCH_REL} LIBPERL=libperl.so.${PERL_VER}
+
+# Define the want perl first if defined
+. if ${USE_PERL5:M5*}
+want_perl_sign= ${USE_PERL5:M5*:C|^[0-9.]+||}
+want_perl_ver= ${USE_PERL5:M5*:S|${want_perl_sign}$||}
+want_perl_major= ${want_perl_ver:C|\..*||}
+_want_perl_minor= ${want_perl_ver:S|^${want_perl_major}||:S|^.||:C|\..*||}
+_want_perl_patch= ${want_perl_ver:S|^${want_perl_major}||:S|^.${_want_perl_minor}||:S|^.||:C|\..*||}
+want_perl_minor= ${_want_perl_minor:S|^|000|:C|.*(...)|\1|}
+want_perl_patch= ${_want_perl_patch:S|^|00|:C|.*(..)|\1|}
+USE_PERL5_LEVEL= ${want_perl_major}${want_perl_minor}${want_perl_patch}
+. endif
+
+# All but version
+_USE_PERL5= ${USE_PERL5:N5*}
+
+# Mask unspecified components. E.g. this way "5" will match any "5.x.x".
+. if empty(_want_perl_minor)
+masked_PERL_LEVEL= ${PERL_LEVEL:C|(.....)$|00000|}
+. elif empty(_want_perl_patch)
+masked_PERL_LEVEL= ${PERL_LEVEL:C|(..)$|00|}
+. else
+masked_PERL_LEVEL= ${PERL_LEVEL}
+. endif
+
+. if defined(want_perl_sign)
+. if ${want_perl_sign} == "+"
+. if ${USE_PERL5_LEVEL} > ${masked_PERL_LEVEL}
+USE_PERL5_REASON?= requires Perl ${want_perl_ver} or later, install lang/perl${want_perl_major}.${want_perl_minor:C|^0||} and try again
+IGNORE= ${USE_PERL5_REASON}
+. endif # ${USE_PERL5_LEVEL} > ${masked_PERL_LEVEL}
+. elif ${want_perl_sign} == ""
+. if ${USE_PERL5_LEVEL} != ${masked_PERL_LEVEL}
+USE_PERL5_REASON?= requires Perl ${want_perl_ver} exactly
+IGNORE= ${USE_PERL5_REASON}
+. endif # ${USE_PERL5_LEVEL} != ${masked_PERL_LEVEL}
+. elif ${want_perl_sign} == "-"
+. if ${USE_PERL5_LEVEL} <= ${masked_PERL_LEVEL}
+USE_PERL5_REASON?= requires a Perl version earlier than ${want_perl_ver}
+IGNORE= ${USE_PERL5_REASON}
+. endif # ${USE_PERL5_LEVEL} <= ${masked_PERL_LEVEL}
+. else # wrong suffix
+IGNORE= improper use of USE_PERL5
+. endif
+. endif
+
+_USES_POST+= perl5
+.endif
+
+.if defined(_POSTMKINCLUDED) && !defined(_INCLUDE_USES_PERL5_POST_MK)
+_INCLUDE_USES_PERL5_POST_MK= yes
+
+PLIST_SUB+= PERL_VERSION=${PERL_VERSION} \
+ PERL_VER=${PERL_VER} \
+ PERL5_MAN1=${SITE_MAN1_REL} \
+ PERL5_MAN3=${SITE_MAN3_REL} \
+ SITE_PERL=${SITE_PERL_REL} \
+ SITE_ARCH=${SITE_ARCH_REL}
+
+# handle perl5 specific manpages
+. for sect in 3
+. if defined(P5MAN${sect})
+_MANPAGES+= ${P5MAN${sect}:S%^%${PREFIX}/lib/perl5/${PERL_VER}/man/man${sect}/%}
+. endif
+. endfor
+MANDIRS+= ${PREFIX}/${SITE_PERL_REL}/man
+
+. if ${_USE_PERL5:Mmodbuild} || ${_USE_PERL5:Mmodbuildtiny}
+_USE_PERL5+= configure
+ALL_TARGET?= # empty
+CONFIGURE_ARGS+=--install_path lib="${PREFIX}/${SITE_PERL_REL}" \
+ --install_path arch="${PREFIX}/${SITE_ARCH_REL}" \
+ --install_path script="${PREFIX}/bin" \
+ --install_path bin="${PREFIX}/bin" \
+ --install_path libdoc="${MAN3PREFIX}/man/man3" \
+ --install_path bindoc="${MAN1PREFIX}/man/man1"
+CONFIGURE_SCRIPT?= Build.PL
+PL_BUILD?= Build
+CONFIGURE_ARGS+=--destdir ${STAGEDIR}
+DESTDIRNAME= --destdir
+. if ${_USE_PERL5:Mmodbuild}
+CONFIGURE_ARGS+=--perl="${PERL}"
+. if ${PORTNAME} != Module-Build
+BUILD_DEPENDS+= p5-Module-Build>=0.4206:devel/p5-Module-Build
+. endif
+CONFIGURE_ARGS+=--create_packlist 1
+. endif
+. if ${_USE_PERL5:Mmodbuildtiny}
+. if ${PORTNAME} != Module-Build-Tiny
+BUILD_DEPENDS+= p5-Module-Build-Tiny>=0.039:devel/p5-Module-Build-Tiny
+. endif
+CONFIGURE_ARGS+=--create_packlist 1
+. endif
+. elif ${_USE_PERL5:Mconfigure}
+CONFIGURE_ARGS+=INSTALLDIRS="site"
+. endif # modbuild
+
+. if ${_USE_PERL5:Mconfigure}
+_USE_PERL5+= build run
+# Disable AutoInstall from attempting to install from CPAN directly in
+# the case of missing dependencies. This causes the build to loop on
+# the build cluster asking for interactive input.
+CONFIGURE_ENV+= PERL_EXTUTILS_AUTOINSTALL="--skipdeps"
+. if defined(BATCH) && !defined(IS_INTERACTIVE)
+CONFIGURE_ENV+= PERL_MM_USE_DEFAULT="YES"
+. endif # defined(BATCH) && !defined(IS_INTERACTIVE)
+. endif # configure
+
+. if ${_USE_PERL5:Mextract}
+EXTRACT_DEPENDS+= ${PERL5_DEPEND}:lang/${PERL_PORT}
+. endif
+
+. if ${_USE_PERL5:Mpatch}
+PATCH_DEPENDS+= ${PERL5_DEPEND}:lang/${PERL_PORT}
+. endif
+
+. if ${_USE_PERL5:Mbuild}
+BUILD_DEPENDS+= ${PERL5_DEPEND}:lang/${PERL_PORT}
+. endif
+
+. if ${_USE_PERL5:Mrun}
+RUN_DEPENDS+= ${PERL5_DEPEND}:lang/${PERL_PORT}
+. endif
+
+. if ${_USE_PERL5:Mtest}
+TEST_DEPENDS+= ${PERL5_DEPEND}:lang/${PERL_PORT}
+. endif
+
+. if ${_USE_PERL5:Mconfigure}
+CONFIGURE_ARGS+= CC="${CC}" CCFLAGS="${CFLAGS}" LD="${CC}" PREFIX="${PREFIX}" \
+ INSTALLPRIVLIB="${PREFIX}/lib" INSTALLARCHLIB="${PREFIX}/lib"
+CONFIGURE_SCRIPT?= Makefile.PL
+MAN3PREFIX?= ${PREFIX}/${SITE_PERL_REL}
+MAN1PREFIX?= ${PREFIX}/${SITE_PERL_REL}
+.undef HAS_CONFIGURE
+
+. if !target(do-configure)
+do-configure:
+ @if [ -f ${SCRIPTDIR}/configure ]; then \
+ cd ${.CURDIR} && ${SETENV} ${SCRIPTS_ENV} ${SH} \
+ ${SCRIPTDIR}/configure; \
+ fi
+ @cd ${CONFIGURE_WRKSRC} && \
+ ${SETENV} ${CONFIGURE_ENV} \
+ ${PERL5} ${CONFIGURE_CMD} ${CONFIGURE_ARGS}
+. if !${_USE_PERL5:Mmodbuild*}
+ @cd ${CONFIGURE_WRKSRC} && \
+ ${PERL5} -pi -e 's/ doc_(perl|site|\$$\(INSTALLDIRS\))_install$$//' Makefile
+. endif # ! modbuild
+. endif # !target(do-configure)
+. endif # configure
+
+. if ${_USE_PERL5:Mmodbuild*}
+. if !target(do-build)
+do-build:
+ @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${PERL5} ${PL_BUILD} ${ALL_TARGET} ${MAKE_ARGS})
+. endif # !target(do-build)
+
+. if !${USES:Mgmake}
+. if !target(do-install)
+do-install:
+ @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${PERL5} ${PL_BUILD} ${INSTALL_TARGET} ${MAKE_ARGS})
+. endif # !target(do-install)
+. endif # ! USES=gmake
+. endif # modbuild
+
+PACKLIST_DIR?= ${PREFIX}/${SITE_ARCH_REL}/auto
+
+# In all those, don't use - before the command so that the user does
+# not wonder what has been ignored by this message "*** Error code 1 (ignored)"
+_USES_install+= 560:fix-perl-things
+fix-perl-things:
+# Remove STAGEDIR from .packlist and add the file to the plist.
+ @(if [ -d ${STAGEDIR}${PACKLIST_DIR} ] ; then \
+ ${FIND} ${STAGEDIR}${PACKLIST_DIR} -name .packlist | while read f ; do \
+ ${SED} -i '' 's|^${STAGEDIR}||' "$$f"; \
+ ${ECHO} $$f | ${SED} -e 's|^${STAGEDIR}||' >> ${TMPPLIST}; \
+ done \
+ fi) || :
+
+# Starting with perl 5.20, the empty bootstrap files are not installed any more
+# by ExtUtils::MakeMaker. As we don't need them anyway, remove them.
+# Module::Build continues to install them, so remove the files unconditionally.
+ @${FIND} ${STAGEDIR} -name '*.bs' -size 0 -delete || :
+
+# Some ports use their own way of building perl modules and generate
+# perllocal.pod, remove it here so that those ports don't include it
+# by mistake in their plists. It is sometime compressed, so use a
+# shell glob for the removal. Also, remove the directories that
+# contain it to not leave orphans directories around.
+ @${RM} ${STAGEDIR}${PREFIX}/lib/perl5/${PERL_VER}/${PERL_ARCH}/perllocal.pod* || :
+ @${RMDIR} -p ${STAGEDIR}${PREFIX}/lib/perl5/${PERL_VER}/${PERL_ARCH} 2>/dev/null || :
+# Starting at ExtUtils::MakeMaker 7.06 and Perl 5.25.1, the base README.pod is
+# no longer manified into a README.3, as the README.pod is installed and can be
+# read with perldoc, remove the README.3 files that may be generated.
+ @[ -d "${STAGEDIR}${SITE_MAN3}" ] && \
+ ${FIND} ${STAGEDIR}${SITE_MAN3} -name '*::README.3' -delete || :
+# Starting at ExtUtils::MakeMaker 7.31_06 and Perl 5.27.1, the base README.pod is
+# no longer installed. So remove any that can be there.
+ @[ -d "${STAGEDIR}${PREFIX}/${SITE_PERL_REL}" ] && \
+ ${FIND} ${STAGEDIR}${PREFIX}/${SITE_PERL_REL} -name README.pod -delete || :
+
+. if !target(do-test) && (!empty(USE_PERL5:Mmodbuild*) || !empty(USE_PERL5:Mconfigure))
+TEST_TARGET?= test
+TEST_WRKSRC?= ${BUILD_WRKSRC}
+do-test:
+. if ${USE_PERL5:Mmodbuild*}
+ @cd ${TEST_WRKSRC}/ && ${SETENV} ${TEST_ENV} ${PERL5} ${PL_BUILD} ${TEST_TARGET} ${TEST_ARGS}
+. elif ${USE_PERL5:Mconfigure}
+ @cd ${TEST_WRKSRC}/ && ${SETENV} ${TEST_ENV} ${MAKE_CMD} ${TEST_ARGS} ${TEST_TARGET}
+. endif # USE_PERL5:Mmodbuild*
+. endif # do-test
+.endif # defined(_POSTMKINCLUDED)
diff --git a/test-ports/Mk/Uses/pgsql.mk b/test-ports/Mk/Uses/pgsql.mk
new file mode 100644
index 00000000..708ce514
--- /dev/null
+++ b/test-ports/Mk/Uses/pgsql.mk
@@ -0,0 +1,180 @@
+# $FreeBSD: head/Mk/Uses/pgsql.mk 490431 2019-01-15 21:50:54Z crees $
+#
+# Provide support for PostgreSQL (pgsql)
+#
+# Feature: pgsql
+# Usage: USES= pgsql[:version]
+#
+# version Maintainer can set versions required. You can set this to
+# [min]-[max] or min+ or -max or as an explicit version
+# (eg. 9.3-9.6 for [min]-[max], 9.5+ or 9.6-
+# for min+ and max-, 9.4 for an explicit version). Example:
+#
+# USES=pgsql:9.4 # Only use PostgreSQL 9.4
+# USES=pgsql:9.3+ # Use PostgreSQL 9.3 or newer
+# USES=pgsql:9.3-9.6 # Use PostgreSQL between 9.3 & 9.6
+# USES=pgsql:9.6- # Use any PostgreSQL up to 9.6
+# USES=pgsql # Use the default PostgreSQL
+#
+# WANT_PGSQL= server[:fetch] plperl plpython pltcl
+#
+# Add PostgreSQL component dependency, using
+# WANT_PGSQL= component[:target].
+# For the full list use make -V _USE_PGSQL_DEP
+# If no version is given (by the maintainer via the port or
+# by the user via defined variable), try to find the
+# currently installed version. Fall back to default if
+# necessary.
+#
+# MAINTAINER: pgsql@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_PGSQL_MK)
+
+_INCLUDE_USES_PGSQL_MK= yes
+
+# Variables set by pgsql.mk:
+#
+# PGSQL_VER
+# Detected PostgreSQL version. Do *not* use this
+# to add dependencies; use WANT_PGSQL as explained above
+#
+
+# When adding a version, please keep the comment in
+# Mk/bsd.default-versions.mk in sync.
+VALID_PGSQL_VER= 9.4 9.5 9.6 10 11
+
+# Override non-default LIBVERS like this:
+#PGSQL99_LIBVER=6
+
+PGSQL_LIBVER= 5
+.for v in ${VALID_PGSQL_VER:S,.,,}
+PGSQL$v_LIBVER?= ${PGSQL_LIBVER}
+.endfor
+
+.for v in ${PGSQL_DEFAULT}
+. if ! ${VALID_PGSQL_VER:M$v}
+IGNORE= Invalid PGSQL default version ${PGSQL_DEFAULT}; valid versions are ${VALID_PGSQL_VER}
+. endif
+.endfor
+
+. for w in WITH DEFAULT
+. ifdef $w_PGSQL_VER
+WARNING+= "$w_PGSQL_VER is defined, consider using DEFAULT_VERSIONS=pgsql=${$w_PGSQL_VER:C,^.,&.,} instead"
+PGSQL_DEFAULT?= ${$w_PGSQL_VER:C,^.,&.,}
+. endif
+. endfor
+
+. ifdef DEFAULT_PGSQL_VER && WITH_PGSQL_VER
+IGNORE= will not allow setting both DEFAULT_PGSQL_VER and WITH_PGSQL_VER. Use DEFAULT_VERSIONS=pgsql=9.6 instead
+. endif
+
+# Setting/finding PostgreSQL version we want.
+PG_CONFIG?= ${LOCALBASE}/bin/pg_config
+. if exists(${PG_CONFIG})
+_PGSQL_VER!= ${PG_CONFIG} --version | ${SED} -n 's/PostgreSQL[^0-9]*\([0-9]\.*[0-9]\).*/\1/p'
+. endif
+
+# Handle the + and - version stuff
+. if !empty(pgsql_ARGS)
+. if ${pgsql_ARGS:M*+}
+. for version in ${VALID_PGSQL_VER}
+. if ${pgsql_ARGS:S/+//} <= ${version}
+_WANT_PGSQL_VER+=${version}
+. endif
+. endfor
+. elif ${pgsql_ARGS:M*-}
+. for version in ${VALID_PGSQL_VER}
+. if ${pgsql_ARGS:S/-//} >= ${version}
+_WANT_PGSQL_VER+=${version}
+. endif
+. endfor
+. elif ${pgsql_ARGS:M*-*}
+_MIN=${pgsql_ARGS:M?*-?*:C,-.*,,}
+_MAX=${pgsql_ARGS:M?*-?*:C,.*-,,}
+. if ${_MIN} > ${_MAX}
+IGNORE= The minimum version must be higher than the maximum version wanted
+. endif
+. for version in ${VALID_PGSQL_VER}
+. if ${_MIN} <= ${version} && ${_MAX} >= ${version}
+_WANT_PGSQL_VER+= ${version}
+. endif
+. endfor
+. endif
+_WANT_PGSQL_VER?= ${pgsql_ARGS}
+. endif
+
+# Try to match default version, otherwise just take the first version
+# that matches. Prefer the installed version if it matches
+. if !empty(_WANT_PGSQL_VER)
+. for version in ${_WANT_PGSQL_VER}
+. if ${PGSQL_DEFAULT} == ${version}
+PGSQL_VER= ${version}
+. endif
+PGSQL_VER?= ${version}
+. endfor
+. if defined(_PGSQL_VER)
+. for v in ${_PGSQL_VER}
+. if ${_WANT_PGSQL_VER:M$v} == ${_PGSQL_VER}
+PGSQL_VER= ${_PGSQL_VER}
+. endif
+. endfor
+. endif
+. if defined(_PGSQL_VER) && ${_PGSQL_VER} != ${PGSQL_VER}
+IGNORE?= cannot install: the port wants postgresql-client version ${_WANT_PGSQL_VER} and you have version ${_PGSQL_VER} installed
+. endif
+. endif
+
+# OK, so the port is ambivalent, we'll just take what's on the system.
+PGSQL_VER?= ${_PGSQL_VER}
+
+# After all that, we still have found nothing!
+. if empty(PGSQL_VER)
+PGSQL_VER= ${PGSQL_DEFAULT}
+. endif
+
+# We don't want to be :S,.,, the whole time when doing port version checks
+PGSQL_VER_NODOT= ${PGSQL_VER:S,.,,}
+
+# And now we are checking if we can use it
+. if defined(PGSQL${PGSQL_VER_NODOT}_LIBVER)
+# Compat. Please DO NOT use IGNORE_WITH_PGSQL!
+. if defined(IGNORE_WITH_PGSQL)
+DEV_WARNING+= "Do not set IGNORE_WITH_PGSQL, use the version argument to USES=pgsql"
+. for ver in ${IGNORE_WITH_PGSQL}
+. if (${PGSQL_VER} == ${ver})
+IGNORE?= cannot install: does not work with postgresql${PGSQL_VER_NODOT}-client (PostgreSQL ${IGNORE_WITH_PGSQL} not supported)
+. endif
+. endfor
+. endif # IGNORE_WITH_PGSQL
+
+.if !defined(WANT_PGSQL) || ${WANT_PGSQL:Mlib}
+LIB_DEPENDS+= libpq.so.${PGSQL${PGSQL_VER_NODOT}_LIBVER}:databases/postgresql${PGSQL_VER_NODOT}-client
+.endif
+
+_USE_PGSQL_DEP= client contrib docs pgtcl plperl plpython pltcl server
+_USE_PGSQL_DEP_client= psql
+_USE_PGSQL_DEP_contrib= vacuumlo
+_USE_PGSQL_DEP_docs= postgresql${PGSQL_VER_NODOT}-docs>0
+_USE_PGSQL_DEP_pgtcl= ${LOCALBASE}/lib/pgtcl/pkgIndex.tcl
+_USE_PGSQL_DEP_plperl= postgresql${PGSQL_VER_NODOT}-plperl>0
+_USE_PGSQL_DEP_plpython=postgresql${PGSQL_VER_NODOT}-plpython>0
+_USE_PGSQL_DEP_pltcl= postgresql${PGSQL_VER_NODOT}-pltcl>0
+_USE_PGSQL_DEP_server= postgres
+. if defined(WANT_PGSQL)
+. for depend in ${_USE_PGSQL_DEP}
+. if ${WANT_PGSQL:M${depend}}
+BUILD_DEPENDS+= ${_USE_PGSQL_DEP_${depend}}:databases/postgresql${PGSQL_VER_NODOT}-${depend}
+RUN_DEPENDS+= ${_USE_PGSQL_DEP_${depend}}:databases/postgresql${PGSQL_VER_NODOT}-${depend}
+. elif ${WANT_PGSQL:M${depend}\:*}
+BUILD_DEPENDS+= ${NONEXISTENT}:databases/postgresql${PGSQL_VER_NODOT}-${depend}:${WANT_PGSQL:M${depend}\:*:C,^[^:]*\:,,}
+. endif
+. endfor
+. endif
+
+. else
+IGNORE?= cannot install: unknown PostgreSQL version: ${PGSQL_VER}
+. endif # Check for correct version
+CPPFLAGS+= -I${LOCALBASE}/include
+LDFLAGS+= -L${LOCALBASE}/lib
+
+.endif # !defined(_INCLUDE_USES_PGSQL_MK)
diff --git a/test-ports/Mk/Uses/php.mk b/test-ports/Mk/Uses/php.mk
new file mode 100644
index 00000000..292b7615
--- /dev/null
+++ b/test-ports/Mk/Uses/php.mk
@@ -0,0 +1,454 @@
+# $FreeBSD: head/Mk/Uses/php.mk 488887 2019-01-01 13:29:57Z rene $
+#
+# Support for PHP-based ports.
+#
+# Feature: php
+# Usage: USES=php
+# Valid ARGS: (none), phpize, ext, zend, build, cli, cgi, mod, web, embed
+#
+# - phpize : Use to build a PHP extension.
+# - ext : Use to build, install and register a PHP extension.
+# - zend : Use to build, install and register a Zend extension.
+# - build : Set PHP also as a build dependency.
+# - cli : Want the CLI version of PHP.
+# - cgi : Want the CGI version of PHP.
+# - mod : Want the Apache Module for PHP.
+# - web : Want the Apache Module or the CGI version of PHP.
+# - embed : Want the embedded library version of PHP.
+# - pecl : Fetches from PECL.
+# - flavors : Generates flavors for supported versions.
+# (implied by phpize,ext,zend,pecl)
+# - noflavors: Prevents generation of flavor.
+#
+# If the port requires a predefined set of PHP extensions, they can be
+# listed in this way:
+#
+# USE_PHP= ext1 ext2 ext3
+#
+# PHP and Zend extensions built with :ext and :zend are automatically enabled
+# when the port is installed. Each port creates a PHP_EXT_INI_FILE file and
+# registers the extension in it.
+#
+# The PHP_EXT_INI_FILE file has a priority number embeded into its name so that
+# extensions are loaded in the right order. The priority is defined by
+# PHP_MOD_PRIO and is a number between 00 and 99.
+#
+# For extensions that do not depend on any extension, the priority is
+# automatically set to 20, for extensions that depend on another extension, the
+# priority is automatically set to 30. Some extensions may need to be loaded
+# before everyone else (for example opcache), or after an extension with a
+# priotity of 30, in that case, add PHP_MOD_PRIO=XX in the port's Makefile.
+# For example:
+#
+# USES= php:ext
+# USE_PHP= xml wddx
+# PHP_MOD_PRIO= 40
+#
+# The port can set these options in its Makefile before bsd.port.pre.mk:
+#
+# IGNORE_WITH_PHP=N - The port doesn't work with PHP version N.
+#
+# You may combine multiple php:* arguments.
+# Don't specify any php:* argument if your port will work with every PHP SAPI.
+#
+# If you are building PHP-based ports in poudriere(8) with ZTS enabled,
+# add WITH_MPM=event to /etc/make.conf to prevent build failures.
+
+.if !defined(_INCLUDE_USES_PHP_MK)
+
+PHP_Include_MAINTAINER= ale@FreeBSD.org
+
+_INCLUDE_USES_PHP_MK= yes
+
+. if ${php_ARGS:Mbuild} && ( ${php_ARGS:Mphpize} || ${php_ARGS:Mext} || ${php_ARGS:Mzend} )
+DEV_WARNING+= "USES=php:build is included in USES=php:phpize, USES=php:ext, and USES=php:zend, so it is not needed"
+. endif
+. if ${php_ARGS:Mflavors} && ( ${php_ARGS:Mphpize} || ${php_ARGS:Mext} || ${php_ARGS:Mzend} || ${php_ARGS:Mpecl} )
+DEV_WARNING+= "USES=php:flavors is included in phpize, ext, zend and pecl, so it is not needed."
+. endif
+. if ${php_ARGS:Mphpize} && ( ${php_ARGS:Mext} || ${php_ARGS:Mzend} )
+DEV_WARNING+= "USES=php:phpize is included in USES=php:ext and USES=php:zend, so it is not needed"
+. endif
+. if ${php_ARGS:Mext} && ${php_ARGS:Mzend}
+DEV_WARNING+= "USES=php:ext is included in USES=php:zend, so it is not needed"
+. endif
+. if ${php_ARGS:Mext} && ${php_ARGS:Mpecl}
+DEV_WARNING+= "USES=php:ext is included in USES=php:pecl, so it is not needed"
+. endif
+
+. if ( ${php_ARGS:Mphpize} || ${php_ARGS:Mext} || ${php_ARGS:Mzend} || ${php_ARGS:Mpecl} ) && !${php_ARGS:Mnoflavors}
+php_ARGS+= flavors
+. endif
+
+. if ${php_ARGS:Mnoflavors} && ${php_ARGS:Mflavors}
+php_ARGS:= ${php_ARGS:Nflavors}
+. endif
+
+. if ${php_ARGS:Mpecl}
+php_ARGS+= ext
+. if !defined(USE_GITHUB)
+EXTRACT_SUFX= .tgz
+MASTER_SITES= http://pecl.php.net/get/
+. endif
+PKGNAMEPREFIX= ${PECL_PKGNAMEPREFIX}
+DIST_SUBDIR= PECL
+. endif
+
+PHPBASE?= ${LOCALBASE}
+
+_ALL_PHP_VERSIONS= 71 72 73
+
+# Make the already installed PHP the default one.
+. if exists(${PHPBASE}/etc/php.conf)
+.include "${PHPBASE}/etc/php.conf"
+. if !defined(PHP_EXT_DIR)
+PHP_EXT_DIR!= ${PHPBASE}/bin/php-config --extension-dir | ${SED} -ne 's,^${PHPBASE}/lib/php/\(.*\),\1,p'
+. endif
+_INSTALLED_PHP_VER:= ${PHP_VER}
+# If we have an installed version of PHP, and this does not support it, set
+# IGNORE to fail early as you cannot install two different versions of PHP at
+# the same time anyway.
+. if defined(IGNORE_WITH_PHP) && ${IGNORE_WITH_PHP:M${_INSTALLED_PHP_VER}}
+IGNORE= does not work with PHP versions "${IGNORE_WITH_PHP}" and "${_INSTALLED_PHP_VER}" is installed.
+. endif
+
+. else
+PHP_VER?= ${PHP_DEFAULT:S/.//}
+. endif # .if exists(${PHPBASE}/etc/php.conf)
+
+# Use the "default" php version as th first version for flavors, so that it
+# gets to be the default flavor.
+_ALL_FLAVOR_VERSIONS= ${PHP_VER} ${_ALL_PHP_VERSIONS:N${PHP_VER}}
+
+# If we want flavors, fill in FLAVORS with the allowed PHP versions, if some
+# cannot be used, or all of them if they all can.
+# Then if there is no flavor set, use the first one as the default.
+. if ${php_ARGS:Mflavors}
+. if empty(FLAVORS)
+. if defined(IGNORE_WITH_PHP)
+. for _v in ${_ALL_FLAVOR_VERSIONS}
+. if empty(IGNORE_WITH_PHP:M${_v})
+# Avoid a leading space in FLAVORS.
+. if empty(FLAVORS)
+FLAVORS:= php${_v}
+. else
+FLAVORS:= ${FLAVORS} php${_v}
+. endif
+. endif
+. endfor
+. else # defined(IGNORE_WITH_PHP)
+FLAVORS:= ${_ALL_FLAVOR_VERSIONS:S/^/php/}
+. endif # defined(IGNORE_WITH_PHP)
+. endif
+. if empty(FLAVOR)
+FLAVOR= ${FLAVORS:[1]}
+. endif
+. endif
+
+# This variable is for dependencies lines, so you write:
+# ${PHP_PKGNAMEPREFIX}foo:devel/php-foo@${PHP_FLAVOR}
+PHP_FLAVOR= php${PHP_VER}
+
+# So, we have PHP flavors, set PHP_VER accordingly.
+. if ${FLAVOR:Mphp[0-9][0-9]}
+PHP_VER= ${FLAVOR:S/^php//}
+. endif
+
+# If lang/php is not installed, or if we have a php flavor but want a non
+# default one, we need to overwrite those.
+. if empty(PHP_EXT_DIR) || empty(PHP_EXT_INC) || \
+ (${FLAVOR:Mphp[0-9][0-9]} && ${FLAVOR} != ${FLAVORS:[1]})
+# When adding a version, please keep the comment in
+# Mk/bsd.default-versions.mk in sync.
+. if ${PHP_VER} == 73
+PHP_EXT_DIR= 20180731
+PHP_EXT_INC= pcre spl
+. elif ${PHP_VER} == 72
+PHP_EXT_DIR= 20170718
+PHP_EXT_INC= pcre spl
+. elif ${PHP_VER} == 71
+PHP_EXT_DIR= 20160303
+PHP_EXT_INC= pcre spl
+. else
+# (rene) default to DEFAULT_VERSIONS
+PHP_EXT_DIR= 20170718
+PHP_EXT_INC= pcre spl
+. endif
+
+# Try to figure out what the PHP_EXT_DIR should be WRT the
+# installed Apache port.
+HTTPD?= ${LOCALBASE}/sbin/httpd
+. if exists(${HTTPD})
+APACHE_THR!= ${HTTPD} -V | ${AWK} '/threaded/ {print $2}'
+. if ${APACHE_THR:Myes}
+PHP_EXT_DIR:= ${PHP_EXT_DIR}-zts
+. endif
+. elif defined(APACHE_PORT) && (${APACHE_PORT:M*worker*} != "" || ${APACHE_PORT:M*event*} != "")
+PHP_EXT_DIR:= ${PHP_EXT_DIR}-zts
+. elif defined(WITH_MPM) && (${WITH_MPM} == "worker" || ${WITH_MPM} == "event")
+PHP_EXT_DIR:= ${PHP_EXT_DIR}-zts
+. endif
+
+. if defined(WITH_DEBUG)
+PHP_EXT_DIR:= ${PHP_EXT_DIR}-debug
+. endif
+PHP_SAPI?= ""
+. endif # empty(PHP_EXT_DIR) || empty(PHP_EXT_INC) || (${FLAVOR:Mphp[0-9][0-9]} && ${FLAVOR} != ${FLAVORS:[1]})
+
+# Set a few PKGNAME(PRE|SUF)FIX to be used in ports.
+PHP_PKGNAMEPREFIX= php${PHP_VER}-
+PHP_PKGNAMESUFFIX= -php${PHP_VER}
+PECL_PKGNAMEPREFIX= php${PHP_VER}-pecl-
+
+. if defined(IGNORE_WITH_PHP)
+. for VER in ${IGNORE_WITH_PHP}
+. if ${PHP_VER} == "${VER}"
+_IGNORE_PHP_SET=
+IGNORE= cannot be installed: doesn't work with lang/php${PHP_VER} port\
+ (doesn't support PHP ${IGNORE_WITH_PHP:C/^(7)/\1./})
+. endif
+. endfor
+. endif
+
+. if ${php_ARGS:Mweb}
+. if ${php_ARGS:Mcgi} || ${php_ARGS:Mmod}
+check-makevars::
+ @${ECHO_CMD} "If you use :web you cannot also use :cgi"
+ @${ECHO_CMD} "or :mod. Use only one of them."
+ @${FALSE}
+. endif
+. endif
+
+. if ${php_ARGS:Mcgi}
+. if defined(PHP_VERSION) && ${PHP_SAPI:Mcgi} == "" && ${PHP_SAPI:Mfpm} == ""
+check-makevars::
+ @${ECHO_CMD} "This port requires the CGI version of PHP, but you have already"
+ @${ECHO_CMD} "installed a PHP port without CGI."
+ @${FALSE}
+. endif
+. endif
+
+. if ${php_ARGS:Mcli}
+. if defined(PHP_VERSION) && ${PHP_SAPI:Mcli} == ""
+check-makevars::
+ @${ECHO_CMD} "This port requires the CLI version of PHP, but you have already"
+ @${ECHO_CMD} "installed a PHP port without CLI."
+ @${FALSE}
+. endif
+. endif
+
+. if ${php_ARGS:Membed}
+. if defined(PHP_VERSION) && ${PHP_SAPI:Membed} == ""
+check-makevars::
+ @${ECHO_CMD} "This port requires the embedded library version of PHP, but you have already"
+ @${ECHO_CMD} "installed a PHP port without the embedded library."
+ @${FALSE}
+. endif
+. endif
+
+PHP_PORT?= lang/php${PHP_VER}
+MOD_PHP_PORT?= www/mod_php${PHP_VER}
+
+. if ${php_ARGS:Mbuild}
+BUILD_DEPENDS+= ${PHPBASE}/include/php/main/php.h:${PHP_PORT}
+. endif
+RUN_DEPENDS+= ${PHPBASE}/include/php/main/php.h:${PHP_PORT}
+. if ${php_ARGS:Mmod} || (${php_ARGS:Mweb} && defined(PHP_VERSION) && ${PHP_SAPI:Mcgi} == "" && ${PHP_SAPI:Mfpm} == "")
+USE_APACHE_RUN= 22+
+.include "${PORTSDIR}/Mk/Uses/apache.mk"
+# libphpX.so only has the major version number in it, so remove the last digit of PHP_VER to get it.
+RUN_DEPENDS+= ${PHPBASE}/${APACHEMODDIR}/libphp${PHP_VER:C/.$//}.so:${MOD_PHP_PORT}
+. endif
+
+PLIST_SUB+= PHP_EXT_DIR=${PHP_EXT_DIR}
+SUB_LIST+= PHP_EXT_DIR=${PHP_EXT_DIR}
+
+. if ${php_ARGS:Mphpize} || ${php_ARGS:Mext} || ${php_ARGS:Mzend}
+BUILD_DEPENDS+= ${PHPBASE}/bin/phpize:${PHP_PORT} \
+ autoconf>0:devel/autoconf
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS+=--with-php-config=${PHPBASE}/bin/php-config
+
+_USES_configure+= 190:phpize-message 250:do-phpize
+
+phpize-message:
+ @${ECHO_MSG} "===> PHPizing for ${PKGNAME}"
+
+do-phpize:
+ @(cd ${WRKSRC}; ${SETENV} ${SCRIPTS_ENV} ${PHPBASE}/bin/phpize)
+. endif
+
+_USES_POST+=php
+.endif
+
+.if defined(_POSTMKINCLUDED) && !defined(_INCLUDE_USES_PHP_POST_MK)
+
+_INCLUDE_USES_PHP_POST_MK=yes
+
+. if ${php_ARGS:Mext} || ${php_ARGS:Mzend}
+PHP_MODNAME?= ${PORTNAME}
+PHP_HEADER_DIRS+= .
+# If there is no priority defined, we wing it.
+. if !defined(PHP_MOD_PRIO)
+. if defined(USE_PHP)
+# If an extension needs another, put it after the others.
+PHP_MOD_PRIO= 30
+. else
+# Otherwise, put it where it with everybody.
+PHP_MOD_PRIO= 20
+. endif
+. endif
+PHP_EXT_INI_FILE= etc/php/ext-${PHP_MOD_PRIO}-${PHP_MODNAME}.ini
+
+do-install:
+ @${MKDIR} ${STAGEDIR}${PREFIX}/lib/php/${PHP_EXT_DIR}
+ @${INSTALL_LIB} ${WRKSRC}/modules/${PHP_MODNAME}.so \
+ ${STAGEDIR}${PREFIX}/lib/php/${PHP_EXT_DIR}
+. for header in ${PHP_HEADER_DIRS}
+ @${MKDIR} ${STAGEDIR}${PREFIX}/include/php/ext/${PHP_MODNAME}/${header}
+ @${INSTALL_DATA} ${WRKSRC}/${header}/*.h \
+ ${STAGEDIR}${PREFIX}/include/php/ext/${PHP_MODNAME}/${header}
+. endfor
+ @${RM} ${STAGEDIR}${PREFIX}/include/php/ext/${PHP_MODNAME}/config.h
+ @${EGREP} "#define (COMPILE|HAVE|USE)_" ${WRKSRC}/config.h \
+ > ${STAGEDIR}${PREFIX}/include/php/ext/${PHP_MODNAME}/config.h
+ @${MKDIR} ${STAGEDIR}${PREFIX}/etc/php
+. if ${php_ARGS:Mzend}
+ @${ECHO_CMD} "zend_extension=${PHP_MODNAME}.so" > ${STAGEDIR}${PREFIX}/${PHP_EXT_INI_FILE}
+. else
+ @${ECHO_CMD} "extension=${PHP_MODNAME}.so" > ${STAGEDIR}${PREFIX}/${PHP_EXT_INI_FILE}
+. endif
+
+_USES_stage+= 899:add-plist-phpext
+add-plist-phpext:
+ @${ECHO_CMD} "lib/php/${PHP_EXT_DIR}/${PHP_MODNAME}.so" \
+ >> ${TMPPLIST}
+ @${FIND} -P ${STAGEDIR}${PREFIX}/include/php/ext/${PHP_MODNAME} ! -type d 2>/dev/null | \
+ ${SED} -ne 's,^${STAGEDIR}${PREFIX}/,,p' >> ${TMPPLIST}
+ @${ECHO_CMD} "@postexec echo \#include \\\"ext/${PHP_MODNAME}/config.h\\\" >> %D/include/php/ext/php_config.h" \
+ >> ${TMPPLIST}
+ @${ECHO_CMD} "@preunexec cp %D/include/php/ext/php_config.h %D/include/php/ext/php_config.h.orig" \
+ >> ${TMPPLIST}
+ @${ECHO_CMD} "@preunexec grep -v ext/${PHP_MODNAME}/config.h %D/include/php/ext/php_config.h.orig > %D/include/php/ext/php_config.h || true" \
+ >> ${TMPPLIST}
+ @${ECHO_CMD} "@preunexec ${RM} %D/include/php/ext/php_config.h.orig" \
+ >> ${TMPPLIST}
+ @${ECHO_CMD} "${PHP_EXT_INI_FILE}" \
+ >> ${TMPPLIST}
+. endif
+
+# Extensions
+. if defined(USE_PHP) && ${USE_PHP:tl} != "yes"
+# non-version specific components
+_USE_PHP_ALL= bcmath bitset bz2 calendar ctype curl dba dom \
+ enchant exif fileinfo filter ftp gd gettext gmp \
+ hash iconv igbinary imap interbase intl json ldap mbstring mcrypt \
+ memcache memcached mysqli odbc opcache \
+ openssl pcntl pcre pdf pdo pdo_dblib pdo_firebird pdo_mysql \
+ pdo_odbc pdo_pgsql pdo_sqlite phar pgsql posix \
+ pspell radius readline recode redis session shmop simplexml snmp soap\
+ sockets spl sqlite3 sysvmsg sysvsem sysvshm \
+ tidy tokenizer wddx xml xmlreader xmlrpc xmlwriter xsl zip zlib
+# version specific components
+_USE_PHP_VER71= ${_USE_PHP_ALL}
+_USE_PHP_VER72= ${_USE_PHP_ALL} sodium
+_USE_PHP_VER73= ${_USE_PHP_ALL} sodium
+
+bcmath_DEPENDS= math/php${PHP_VER}-bcmath
+bitset_DEPENDS= math/pecl-bitset@${PHP_FLAVOR}
+bz2_DEPENDS= archivers/php${PHP_VER}-bz2
+calendar_DEPENDS= misc/php${PHP_VER}-calendar
+ctype_DEPENDS= textproc/php${PHP_VER}-ctype
+curl_DEPENDS= ftp/php${PHP_VER}-curl
+dba_DEPENDS= databases/php${PHP_VER}-dba
+dbase_DEPENDS= databases/php${PHP_VER}-dbase
+dom_DEPENDS= textproc/php${PHP_VER}-dom
+enchant_DEPENDS= textproc/php${PHP_VER}-enchant
+exif_DEPENDS= graphics/php${PHP_VER}-exif
+fileinfo_DEPENDS= sysutils/php${PHP_VER}-fileinfo
+filter_DEPENDS= security/php${PHP_VER}-filter
+ftp_DEPENDS= ftp/php${PHP_VER}-ftp
+gd_DEPENDS= graphics/php${PHP_VER}-gd
+gettext_DEPENDS=devel/php${PHP_VER}-gettext
+gmp_DEPENDS= math/php${PHP_VER}-gmp
+hash_DEPENDS= security/php${PHP_VER}-hash
+iconv_DEPENDS= converters/php${PHP_VER}-iconv
+igbinary_DEPENDS= converters/pecl-igbinary@${PHP_FLAVOR}
+imap_DEPENDS= mail/php${PHP_VER}-imap
+interbase_DEPENDS= databases/php${PHP_VER}-interbase
+intl_DEPENDS= devel/php${PHP_VER}-intl
+json_DEPENDS= devel/php${PHP_VER}-json
+ldap_DEPENDS= net/php${PHP_VER}-ldap
+mbstring_DEPENDS= converters/php${PHP_VER}-mbstring
+. if ${PHP_VER} >= 72
+mcrypt_DEPENDS= security/pecl-mcrypt@${PHP_FLAVOR}
+. else
+mcrypt_DEPENDS= security/php${PHP_VER}-mcrypt
+. endif
+memcache_DEPENDS= databases/php-memcache@${PHP_FLAVOR}
+memcached_DEPENDS= databases/pecl-memcached@${PHP_FLAVOR}
+mssql_DEPENDS= databases/php${PHP_VER}-mssql
+mysql_DEPENDS= databases/php${PHP_VER}-mysql
+mysqli_DEPENDS= databases/php${PHP_VER}-mysqli
+odbc_DEPENDS= databases/php${PHP_VER}-odbc
+opcache_DEPENDS= www/php${PHP_VER}-opcache
+openssl_DEPENDS=security/php${PHP_VER}-openssl
+pcntl_DEPENDS= devel/php${PHP_VER}-pcntl
+pdf_DEPENDS= print/pecl-pdflib@${PHP_FLAVOR}
+pdo_DEPENDS= databases/php${PHP_VER}-pdo
+pdo_dblib_DEPENDS= databases/php${PHP_VER}-pdo_dblib
+pdo_firebird_DEPENDS= databases/php${PHP_VER}-pdo_firebird
+pdo_mysql_DEPENDS= databases/php${PHP_VER}-pdo_mysql
+pdo_odbc_DEPENDS= databases/php${PHP_VER}-pdo_odbc
+pdo_pgsql_DEPENDS= databases/php${PHP_VER}-pdo_pgsql
+pdo_sqlite_DEPENDS= databases/php${PHP_VER}-pdo_sqlite
+pgsql_DEPENDS= databases/php${PHP_VER}-pgsql
+phar_DEPENDS= archivers/php${PHP_VER}-phar
+posix_DEPENDS= sysutils/php${PHP_VER}-posix
+pspell_DEPENDS= textproc/php${PHP_VER}-pspell
+radius_DEPENDS= net/pecl-radius@${PHP_FLAVOR}
+readline_DEPENDS= devel/php${PHP_VER}-readline
+recode_DEPENDS= converters/php${PHP_VER}-recode
+redis_DEPENDS= databases/pecl-redis@${PHP_FLAVOR}
+session_DEPENDS=www/php${PHP_VER}-session
+shmop_DEPENDS= devel/php${PHP_VER}-shmop
+simplexml_DEPENDS= textproc/php${PHP_VER}-simplexml
+snmp_DEPENDS= net-mgmt/php${PHP_VER}-snmp
+soap_DEPENDS= net/php${PHP_VER}-soap
+sockets_DEPENDS=net/php${PHP_VER}-sockets
+sodium_DEPENDS= security/php${PHP_VER}-sodium
+sqlite3_DEPENDS=databases/php${PHP_VER}-sqlite3
+sybase_ct_DEPENDS= databases/php${PHP_VER}-sybase_ct
+sysvmsg_DEPENDS=devel/php${PHP_VER}-sysvmsg
+sysvsem_DEPENDS=devel/php${PHP_VER}-sysvsem
+sysvshm_DEPENDS=devel/php${PHP_VER}-sysvshm
+tidy_DEPENDS= www/php${PHP_VER}-tidy
+tokenizer_DEPENDS= devel/php${PHP_VER}-tokenizer
+wddx_DEPENDS= textproc/php${PHP_VER}-wddx
+xml_DEPENDS= textproc/php${PHP_VER}-xml
+xmlreader_DEPENDS= textproc/php${PHP_VER}-xmlreader
+xmlrpc_DEPENDS= net/php${PHP_VER}-xmlrpc
+xmlwriter_DEPENDS= textproc/php${PHP_VER}-xmlwriter
+xsl_DEPENDS= textproc/php${PHP_VER}-xsl
+zip_DEPENDS= archivers/php${PHP_VER}-zip
+zlib_DEPENDS= archivers/php${PHP_VER}-zlib
+
+. for extension in ${USE_PHP}
+ext= ${extension}
+. if !empty(_USE_PHP_VER${PHP_VER}:M${extension:S/:build//})
+. if empty(PHP_EXT_INC:M${extension:S/:build//})
+. if !empty(php_ARGS:Mbuild) || !empty(ext:M*\:build)
+BUILD_DEPENDS+= ${PHPBASE}/lib/php/${PHP_EXT_DIR}/${extension:S/:build//}.so:${${extension:S/:build//}_DEPENDS}
+. endif
+RUN_DEPENDS+= ${PHPBASE}/lib/php/${PHP_EXT_DIR}/${extension:S/:build//}.so:${${extension:S/:build//}_DEPENDS}
+. endif
+. else
+. if ${ext:tl} != "yes" && !defined(_IGNORE_PHP_SET)
+check-makevars::
+ @${ECHO_CMD} "Unknown extension ${extension:S/:build//} for PHP ${PHP_VER}."
+ @${FALSE}
+. endif
+. endif
+. endfor
+. endif
+.endif
diff --git a/test-ports/Mk/Uses/pkgconfig.mk b/test-ports/Mk/Uses/pkgconfig.mk
new file mode 100644
index 00000000..6a240921
--- /dev/null
+++ b/test-ports/Mk/Uses/pkgconfig.mk
@@ -0,0 +1,33 @@
+# $FreeBSD: head/Mk/Uses/pkgconfig.mk 435591 2017-03-07 10:22:41Z tijl $
+#
+# handle dependency on the pkgconf port
+#
+# Feature: pkgconfig
+# Usage: USES=pkgconfig or USES=pkgconfig:ARGS
+# Valid ARGS: build (default, implicit), run, both
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_PKGCONFIG_MK)
+_INCLUDE_USES_PKGCONFIG_MK= yes
+
+_PKGCONFIG_DEPENDS= pkgconf>=1.3.0_1:devel/pkgconf
+
+.if empty(pkgconfig_ARGS)
+pkgconfig_ARGS= build
+.endif
+
+.if ${pkgconfig_ARGS} == "build"
+BUILD_DEPENDS+= ${_PKGCONFIG_DEPENDS}
+CONFIGURE_ENV+= PKG_CONFIG=pkgconf
+.elif ${pkgconfig_ARGS} == "run"
+RUN_DEPENDS+= ${_PKGCONFIG_DEPENDS}
+.elif ${pkgconfig_ARGS} == "both"
+CONFIGURE_ENV+= PKG_CONFIG=pkgconf
+BUILD_DEPENDS+= ${_PKGCONFIG_DEPENDS}
+RUN_DEPENDS+= ${_PKGCONFIG_DEPENDS}
+.else
+IGNORE= USES=pkgconfig - invalid args: [${pkgconfig_ARGS}] specified
+.endif
+
+.endif
diff --git a/test-ports/Mk/Uses/pure.mk b/test-ports/Mk/Uses/pure.mk
new file mode 100644
index 00000000..d4f2250b
--- /dev/null
+++ b/test-ports/Mk/Uses/pure.mk
@@ -0,0 +1,39 @@
+# Created by: Rusmir Dusko <nemysis@FreeBSD.org>
+# $FreeBSD: head/Mk/Uses/pure.mk 478865 2018-09-03 12:42:20Z rene $
+#
+# Provide support for Pure Programming Language based projects
+#
+# Feature: pure
+# Usage: USES=pure or USES=pure:ARGS
+# Valid ARGS: ffi
+# ARGS description:
+# ffi makes the port depends on pure-ffi at runtime
+#
+# MAINTAINER= ports@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_PURE_MK)
+_INCLUDE_USES_PURE_MK= yes
+
+_valid_ARGS= ffi
+
+# Sanity check
+.for arg in ${pure_ARGS}
+. if empty(_valid_ARGS:M${arg})
+IGNORE= Incorrect 'USES+= pure:${pure_ARGS}' usage: argument [${arg}] is not recognized
+. endif
+.endfor
+
+LIB_DEPENDS+= libpure.so:lang/pure
+.include "${USESDIR}/gmake.mk"
+
+.if ${pure_ARGS:Mffi}
+RUN_DEPENDS+= ${LOCALBASE}/lib/pure/ffi.pure:devel/pure-ffi
+.endif
+
+MAKE_ARGS+= prefix=${PREFIX} mandir=${PREFIX}/man \
+ CC=${CC} CFLAGS="${CFLAGS}" \
+ CXX=${CXX} CXXFLAGS="${CXXFLAGS}" \
+ CPPFLAGS+=-I${LOCALBASE}/include \
+ LDFLAGS+=-L${LOCALBASE}/lib
+
+.endif #!defined(_INCLUDE_USES_PURE_MK)
diff --git a/test-ports/Mk/Uses/pyqt.mk b/test-ports/Mk/Uses/pyqt.mk
new file mode 100644
index 00000000..b80e4802
--- /dev/null
+++ b/test-ports/Mk/Uses/pyqt.mk
@@ -0,0 +1,300 @@
+# $FreeBSD: head/Mk/Uses/pyqt.mk 487597 2018-12-16 15:25:40Z tcberner $
+#
+# Handle PyQt related ports
+#
+# Feature: pyqt
+# Usage: USES=pyqt:ARGS
+# Valid ARGS: 4,5
+#
+# MAINTAINER: kde@FreeBSD.org
+#
+# Internal Port variables for PyQt ports:
+# PYQT_DIST - This port is part of PyQt4/5 itself. Variables and
+# targets are then set assuming a certain tarball and
+# port layout.
+# USE_PYQT - List of PyQt components to depend on
+# * foo_build only build depend
+# * foo_run only run depend
+# * foo both (default)
+# PYQT_SIPDIR - where sip files will be installed to
+# PYQT_APIDIR - where api files will be installed to
+# PYQT_DOCDIR - where doc files will be installed to
+# PYQT_EXAMPLESDIR - where examples will be installed to
+
+.if !defined(_INCLUDE_USES_PYQT_MK)
+_INCLUDE_USES_PYQT_MK= yes
+
+# At the moment we support PyQt bindings versions 4 and 5, sip
+# option is for internal use by the py-sip ports.
+_PYQT_SUPPORTED= 4 5 sip
+
+.if empty(pyqt_ARGS)
+IGNORE= pyqt needs a qt-version (${_PYQT_SUPPORTED})
+.endif
+
+# At the moment we support PyQt bindings versions 4 and 5
+.for ver in ${_PYQT_SUPPORTED:O:u}
+. if ${pyqt_ARGS:M${ver}}
+. if empty(_PYQT_VERSION)
+_PYQT_VERSION= ${ver}
+. else
+IGNORE?= cannot be installed: different PYQT versions specified via pyqt:[${_PYQT_SUPPORTED:S/ //g}]
+. endif
+. endif
+.endfor
+
+.if empty(_PYQT_VERSION)
+IGNORE?= USES=pyqt needs a version number (valid values: ${_PYQT_SUPPORTED})
+.endif
+
+PYQT_MAINTAINER= kde@FreeBSD.org
+
+MASTER_SITE_RIVERBANK= http://www.riverbankcomputing.com/static/Downloads/%SUBDIR%/
+
+MASTER_SITES_SIP= SF/pyqt/sip/sip-${PORTVERSION} \
+ GENTOO
+MASTER_SITES_PYQT4= SF/pyqt/PyQt4/PyQt-${PORTVERSION} \
+ GENTOO
+MASTER_SITES_PYQT5= SF/pyqt/PyQt5/PyQt-${PORTVERSION} \
+ GENTOO
+MASTER_SITES_QSCI2= SF/pyqt/QScintilla2/QScintilla-${PORTVERSION} \
+ GENTOO
+
+SIP_VERSION= 4.19.13
+QSCI2_VERSION= 2.10.8
+PYQT4_VERSION= 4.12.1
+PYQT5_VERSION= 5.11.3
+
+SIP_DISTNAME= sip-${SIP_VERSION}
+PYQT4_DISTNAME= PyQt4_gpl_x11-${PYQT4_VERSION}
+PYQT4_DISTINFO_FILE= ${.CURDIR:H:H}/devel/${PYQT_RELNAME}/distinfo
+PYQT5_DISTNAME= PyQt5_gpl-${PYQT5_VERSION}
+PYQT5_DISTINFO_FILE= ${.CURDIR:H:H}/devel/${PYQT_RELNAME}/distinfo
+QSCI2_DISTNAME= QScintilla_gpl-${QSCI2_VERSION}
+PYQT4_LICENSE= GPLv3
+PYQT5_LICENSE= GPLv3
+
+# Keep these synchronized with OPTIONS_DEFINE in devel/py-qt4 and devel/py-qt5
+# PyQt components split up into pyqt4/pyqt5/...
+_USE_PYQT_ALL= core dbus dbussupport demo designer designerplugin \
+ gui multimedia network opengl qscintilla2 \
+ sql svg test webkit xml xmlpatterns sip
+# List of components only in pyqt4
+_USE_PYQT4_ONLY= assistant declarative doc \
+ help phonon script scripttools
+# List of components only in pyqt5
+_USE_PYQT5_ONLY= multimediawidgets printsupport qml quickwidgets \
+ serialport webchannel webengine webkitwidgets widgets
+
+# Unversioned variables for the rest of the file
+PYQT_VERSION= ${PYQT${_PYQT_VERSION}_VERSION}
+PYQT_RELNAME= py-qt${_PYQT_VERSION}
+PYQT_PY_RELNAME= ${PYTHON_PKGNAMEPREFIX}qt${_PYQT_VERSION}
+PYQT_MASTERSITES= ${MASTER_SITES_PYQT${_PYQT_VERSION}}
+PYQT_DISTNAME= ${PYQT${_PYQT_VERSION}_DISTNAME}
+PYQT_DISTINFO_FILE= ${PYQT${_PYQT_VERSION}_DISTINFO_FILE}
+PYQT_LICENSE= ${PYQT${_PYQT_VERSION}_LICENSE}
+
+py-sip_PATH= ${PYTHON_PKGNAMEPREFIX}sip>=${SIP_VERSION}
+
+py-assistant_PATH= ${PYQT_PY_RELNAME}-assistant>=${PYQT_VERSION}
+py-core_PATH= ${PYQT_PY_RELNAME}-core>=${PYQT_VERSION}
+py-dbus_PATH= ${PYQT_PY_RELNAME}-dbus>=${PYQT_VERSION}
+py-dbussupport_PATH= ${PYQT_PY_RELNAME}-dbussupport>=${PYQT_VERSION}
+py-declarative_PATH= ${PYQT_PY_RELNAME}-declarative>=${PYQT_VERSION}
+py-demo_PATH= ${PYQT_PY_RELNAME}-demo>=${PYQT_VERSION}
+py-designer_PATH= ${PYQT_PY_RELNAME}-designer>=${PYQT_VERSION}
+py-designerplugin_PATH= ${PYQT_PY_RELNAME}-designerplugin>=${PYQT_VERSION}
+py-doc_PATH= ${PYQT_PY_RELNAME}-doc>=${PYQT_VERSION}
+py-gui_PATH= ${PYQT_PY_RELNAME}-gui>=${PYQT_VERSION}
+py-help_PATH= ${PYQT_PY_RELNAME}-help>=${PYQT_VERSION}
+py-multimedia_PATH= ${PYQT_PY_RELNAME}-multimedia>=${PYQT_VERSION}
+py-network_PATH= ${PYQT_PY_RELNAME}-network>=${PYQT_VERSION}
+py-opengl_PATH= ${PYQT_PY_RELNAME}-opengl>=${PYQT_VERSION}
+py-phonon_PATH= ${PYQT_PY_RELNAME}-phonon>=${PYQT_VERSION}
+py-qscintilla2_PATH= ${PYQT_PY_RELNAME}-qscintilla2>=${QSCI2_VERSION}
+py-script_PATH= ${PYQT_PY_RELNAME}-script>=${PYQT_VERSION}
+py-scripttools_PATH= ${PYQT_PY_RELNAME}-scripttools>=${PYQT_VERSION}
+py-sql_PATH= ${PYQT_PY_RELNAME}-sql>=${PYQT_VERSION}
+py-svg_PATH= ${PYQT_PY_RELNAME}-svg>=${PYQT_VERSION}
+py-test_PATH= ${PYQT_PY_RELNAME}-test>=${PYQT_VERSION}
+py-webchannel_PATH= ${PYQT_PY_RELNAME}-webchannel>=${PYQT_VERSION}
+py-webengine_PATH= ${PYQT_PY_RELNAME}-webengine>=${PYQT_VERSION}
+py-webkit_PATH= ${PYQT_PY_RELNAME}-webkit>=${PYQT_VERSION}
+py-xml_PATH= ${PYQT_PY_RELNAME}-xml>=${PYQT_VERSION}
+py-xmlpatterns_PATH= ${PYQT_PY_RELNAME}-xmlpatterns>=${PYQT_VERSION}
+
+py-multimediawidgets_PATH= ${PYQT_PY_RELNAME}-multimediawidgets>=${PYQT_VERSION}
+py-qml_PATH= ${PYQT_PY_RELNAME}-qml>=${PYQT_VERSION}
+py-quickwidgets_PATH= ${PYQT_PY_RELNAME}-quickwidgets>=${PYQT_VERSION}
+py-printsupport_PATH= ${PYQT_PY_RELNAME}-printsupport>=${PYQT_VERSION}
+py-serialport_PATH= ${PYQT_PY_RELNAME}-serialport>=${PYQT_VERSION}
+py-webkitwidgets_PATH= ${PYQT_PY_RELNAME}-webkitwidgets>=${PYQT_VERSION}
+py-widgets_PATH= ${PYQT_PY_RELNAME}-widgets>=${PYQT_VERSION}
+
+py-sip_PORT= devel/py-sip
+
+py-assistant_PORT= devel/${PYQT_RELNAME}-assistant
+py-core_PORT= devel/${PYQT_RELNAME}-core
+py-dbus_PORT= devel/${PYQT_RELNAME}-dbus
+py-dbussupport_PORT= devel/${PYQT_RELNAME}-dbussupport
+py-declarative_PORT= devel/${PYQT_RELNAME}-declarative
+py-demo_PORT= misc/${PYQT_RELNAME}-demo
+py-designer_PORT= devel/${PYQT_RELNAME}-designer
+py-designerplugin_PORT= devel/${PYQT_RELNAME}-designerplugin
+py-doc_PORT= misc/${PYQT_RELNAME}-doc
+py-gui_PORT= x11-toolkits/${PYQT_RELNAME}-gui
+py-help_PORT= devel/${PYQT_RELNAME}-help
+py-multimedia_PORT= multimedia/${PYQT_RELNAME}-multimedia
+py-network_PORT= net/${PYQT_RELNAME}-network
+py-opengl_PORT= x11/${PYQT_RELNAME}-opengl
+py-phonon_PORT= multimedia/${PYQT_RELNAME}-phonon
+py-qscintilla2_PORT= devel/${PYQT_RELNAME}-qscintilla2
+py-script_PORT= devel/${PYQT_RELNAME}-script
+py-scripttools_PORT= devel/${PYQT_RELNAME}-scripttools
+py-sql_PORT= databases/${PYQT_RELNAME}-sql
+py-svg_PORT= graphics/${PYQT_RELNAME}-svg
+py-test_PORT= devel/${PYQT_RELNAME}-test
+py-webchannel_PORT= www/${PYQT_RELNAME}-webchannel
+py-webengine_PORT= www/${PYQT_RELNAME}-webengine
+py-webkit_PORT= www/${PYQT_RELNAME}-webkit
+py-xml_PORT= textproc/${PYQT_RELNAME}-xml
+py-xmlpatterns_PORT= textproc/${PYQT_RELNAME}-xmlpatterns
+
+py-multimediawidgets_PORT= multimedia/py-qt5-multimediawidgets
+py-qml_PORT= lang/py-qt5-qml
+py-quickwidgets_PORT= x11-toolkits/py-qt5-quickwidgets
+py-printsupport_PORT= print/py-qt5-printsupport
+py-serialport_PORT= comms/py-qt5-serialport
+py-webkitwidgets_PORT= www/py-qt5-webkitwidgets
+py-widgets_PORT= x11-toolkits/py-qt5-widgets
+
+py-assistant_DESC= Python bindings for QtAssistant module
+py-core_DESC= Python bindings for QtCore module
+py-dbus_DESC= Python bindings for QtDBus module
+py-dbussupport_DESC= Qt event loop support for dbus-python
+py-declarative_DESC= Python bindings for QtDeclarative module
+py-demo_DESC= PyQt demo and examples
+py-designer_DESC= Python bindings for QtDesigner module
+py-designerplugin_DESC= Python bindings for QtDesigner plugin
+py-doc_DESC= PyQt documentation
+py-gui_DESC= Python bindings for QtGui module
+py-help_DESC= Python bindings for QtHelp module
+py-multimedia_DESC= Python bindings for Multimedia module
+py-network_DESC= Python bindings for QtNetwork module
+py-opengl_DESC= Python bindings for QtOpenGL module
+py-phonon_DESC= Python bindings for Phonon module
+py-qscintilla2_DESC= Python bindings for QScintilla2
+py-script_DESC= Python bindings for QtScript module
+py-scripttools_DESC= Python bindings for QtScriptTools module
+py-sql_DESC= Python bindings for QtSql module
+py-svg_DESC= Python bindings for QtSvg module
+py-test_DESC= Python bindings for QtTest module
+py-webchannel_DESC= Python bindings for QtWebChannel module
+py-webengine_DESC= Python bindings for QtWebEngine module
+py-webkit_DESC= Python bindings for QtWebKit module
+py-xml_DESC= Python bindings for QtXml module
+py-xmlpatterns_DESC= Python bindings for QtXmlPatterns module
+
+py-multimediawidgets_DESC= Python bindings for QtMultimediaWidgets module
+py-qml_DESC= Python bindings for Qml module
+py-quickwidgets_DESC= Python bindings for QtQuickWidgets module
+py-printsupport_DESC= Python bindings for Printsupport module
+py-serialport_DESC= Python bindings for QtSerialPort
+py-webkitwidgets_DESC= Python bindings for QtWebKitWidgets module
+py-widgets_DESC= Python bindings for QTWidgets module
+
+# The versionned executable of sip
+SIP= ${LOCALBASE}/bin/sip-${PYTHON_VER}
+
+# Relative directories
+_VERSION_SUBDIR_REL= PyQt${_PYQT_VERSION}/${PYTHON_VER}
+_APIDIR_REL= share/${_VERSION_SUBDIR_REL}/qsci
+_DOCDIR_REL= share/doc/${_VERSION_SUBDIR_REL}
+_EXAMPLEDIR_REL= share/examples/${_VERSION_SUBDIR_REL}
+_SIPDIR_REL= share/${_VERSION_SUBDIR_REL}/sip
+_DESIGNERDIR_REL= ${QT_PLUGINDIR_REL}/designer/${_VERSION_SUBDIR_REL}
+_QMLDIR_REL= ${QT_QMLDIR_REL}/${_VERSION_SUBDIR_REL}
+
+# Absolute direcotries
+PYQT_APIDIR= ${PREFIX}/${_APIDIR_REL}
+PYQT_DOCDIR= ${PREFIX}/${_DOCDIR_REL}
+PYQT_EXAMPLEDIR= ${PREFIX}/${_EXAMPLEDIR_REL}
+PYQT_SIPDIR= ${PREFIX}/${_SIPDIR_REL}
+PYQT_DESIGNERDIR= ${PREFIX}/${_DESIGNERDIR_REL}
+PYQT_QMLDIR= ${PREFIX}/${_QMLDIR_REL}
+
+PLIST_SUB+= PYQT_APIDIR=${_APIDIR_REL} \
+ PYQT_DOCDIR=${_DOCDIR_REL} \
+ PYQT_EXAMPLEDIR=${_EXAMPLEDIR_REL} \
+ PYQT_SIPDIR=${_SIPDIR_REL} \
+ PYQT_DESIGNERDIR=${_DESIGNERDIR_REL} \
+ PYQT_QMLDIR=${_QMLDIR_REL}
+
+.if defined(PYQT_DIST)
+PORTVERSION= ${PYQT_VERSION}
+MASTER_SITES= ${PYQT_MASTERSITES}
+PKGNAMEPREFIX= ${PYQT_PY_RELNAME}-
+DISTNAME= ${PYQT_DISTNAME}
+DISTINFO_FILE= ${PYQT_DISTINFO_FILE}
+LICENSE?= ${PYQT_LICENSE}
+HAS_CONFIGURE= yes
+
+.if ${_PYQT_VERSION} > 4
+# PyQt5's configure.py generates .pro files and calls qmake to generate the
+# Makefiles. qmake's Makefiles use INSTALL_ROOT instead of DESTDIR.
+DESTDIRNAME= INSTALL_ROOT
+# Limit PyQt5's version to the Qt5 version in ports
+PORTSCOUT?= limit:^${_QT_VERSION:R}
+.endif
+
+PATCHDIR= ${.CURDIR}/../../devel/${PYQT_RELNAME}-core/files
+CONFIGURE_ARGS+=-b ${PREFIX}/bin \
+ -d ${PYTHONPREFIX_SITELIBDIR} \
+ -q ${QMAKE} \
+ --confirm-license \
+ --sip ${SIP} \
+ --sipdir ${PYQT_SIPDIR}
+.if ${_PYQT_VERSION:M5}
+# Move the designer plugin and qml libraries to versioned folders.
+CONFIGURE_ARGS+=--qml-plugindir ${PYQT_QMLDIR} \
+ --designer-plugindir ${PYQT_DESIGNERDIR}
+# Further do not gernate the dinstinfo files.
+CONFIGURE_ARGS+=--no-dist-info
+.endif
+# One of the things PyQt looks for to determine whether to build the Qt DBus
+# main loop module (${PYQT_RELNAME}-dbussupport) is whether the dbus/ directory is
+# present. Only extract it for that port then.
+.if ${PORTNAME} != "dbussupport"
+EXTRACT_AFTER_ARGS+= --exclude "${DISTNAME}/dbus"
+.endif # ${PORTNAME} != "dbussupport"
+
+.if !target(do-configure)
+do-configure:
+ cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} \
+ ${PYTHON_CMD} configure.py ${CONFIGURE_ARGS}
+.endif # !target(do-configure)
+.endif # defined(PYQT_DIST)
+
+# Set build and run depends -- we need to prefix them internally with "py-"
+# else we conflict with the ones defined in bsd.qt.mk with the same name
+_USE_PYQT_ALL+= ${_USE_PYQT${_PYQT_VERSION}_ONLY}
+.for comp in ${_USE_PYQT_ALL:O:u}
+_USE_PYQT_ALL_SUFFIXED+= py-${comp} py-${comp}_build py-${comp}_run
+py-${comp}_BUILD_DEPENDS?= ${py-${comp}_PATH}:${py-${comp}_PORT}@${PY_FLAVOR}
+py-${comp}_RUN_DEPENDS?= ${py-${comp}_PATH}:${py-${comp}_PORT}@${PY_FLAVOR}
+py-${comp}_build_BUILD_DEPENDS?= ${py-${comp}_BUILD_DEPENDS}
+py-${comp}_run_RUN_DEPENDS?= ${py-${comp}_RUN_DEPENDS}
+.endfor
+
+_USE_PYQT= ${USE_PYQT:O:u}
+.for comp in ${_USE_PYQT}
+. if ${_USE_PYQT_ALL_SUFFIXED:Mpy-${comp}}
+BUILD_DEPENDS+= ${py-${comp}_BUILD_DEPENDS}
+RUN_DEPENDS+= ${py-${comp}_RUN_DEPENDS}
+. else
+IGNORE?= cannot be installed: unknown USE_PYQT component ${comp} #'
+. endif
+.endfor
+
+.endif # defined(_INCLUDE_USES_PYQT_MK)
diff --git a/test-ports/Mk/Uses/python.mk b/test-ports/Mk/Uses/python.mk
new file mode 100644
index 00000000..1982ad4d
--- /dev/null
+++ b/test-ports/Mk/Uses/python.mk
@@ -0,0 +1,726 @@
+# $FreeBSD: head/Mk/Uses/python.mk 490485 2019-01-16 15:13:51Z mat $
+#
+# Provide support for Python related ports. This includes detecting Python
+# interpreters, ports providing package and modules for python as well as
+# consumer ports requiring Python at build or run time.
+#
+# Feature: python
+# Usage: USES=python or USES=python:args
+# Valid ARGS: <version>, patch, build, run, test
+#
+# version If your port requires only some set of Python versions, you
+# can set this to [min]-[max] or min+ or -max or as an
+# explicit version (eg. 3.3-3.4 for [min]-[max], 2.7+ or -3.3
+# for min+ and -max, 2.7 for an explicit version). Example:
+#
+# USES=python:2.7 # Only use Python 2.7
+# USES=python:3.3+ # Use Python 3.3 or newer
+# USES=python:3.3-3.4 # Use Python 3.3 or 3.4
+# USES=python:-3.3 # Use any Python up to 3.3
+# USES=python # Use the set default Python
+# # version
+#
+# patch Indicates that Python is needed at patch time and adds
+# it to PATCH_DEPENDS.
+# build Indicates that Python is needed at build time and adds
+# it to BUILD_DEPENDS.
+# run Indicates that Python is needed at run time and adds
+# it to RUN_DEPENDS.
+# test Indicates that Python is needed at test time and adds
+# it to TEST_DEPENDS.
+# env Indicates that the port does not require a dependency on Python
+# itself but needs the environment set up. This is mainly used
+# when depending on flavored python ports, or when a correct
+# PYTHON_CMD is required. It has the same effect than setting
+# PYTHON_NO_DEPENDS.
+#
+# If build, run and test are omitted, Python will be added as BUILD_DEPENDS,
+# RUN_DEPENDS and TEST_DEPENDS.
+# patch is independant, it does not prevent the default build/run/test
+# dependency.
+# env or PYTHON_NO_DEPENDS can be set to not add any dependencies.
+#
+# Exported variables:
+#
+# PYTHON_VERSION - The chosen Python interpreter including the version,
+# e.g. python2.7, python3.3, etc.
+#
+# Variables, which can be set by the port:
+#
+# USE_PYTHON - A list of additional features and functionality to
+# enable. Supported features are:
+#
+# concurrent - Indicates that the port can be installed for
+# different python versions at the same time. The port
+# is supposed to use a unique prefix for certain
+# directories using USES=uniquefiles:dirs (see the
+# uniquefiles.mk Uses for details about the
+# directories), if set to yes. Binaries receive an
+# additional suffix, based on ${PYTHON_VER}.
+#
+# The values for the uniquefiles USES are set as
+# follows:
+#
+# UNIQUE_PREFIX= ${PYTHON_PKGNAMEPREFIX}
+# UNIQUE_SUFFIX= -${PYTHON_VER}
+#
+# If the port is installed for the current default
+# python version, scripts and binaries in
+#
+# ${PREFIX}/bin
+# ${PREFIX}/sbin
+# ${PREFIX}/libexec
+#
+# are linked from the prefixed version to the
+# prefix-less original name, e.g.
+# bin/foo-2.7 --> bin/foo.
+#
+# cython - Depend on lang/cython at build-time.
+#
+# cython_run - Depend on lang/cython at run-time.
+#
+# flavors - Force creation of flavors for Python 2 and 3 default
+# versions, where applicable.
+#
+# noflavors - Disable automatic creation of flavors if they would
+# otherwise be created and they are not wanted.
+#
+# allflavors - Generate flavors for all possible versions and not
+# simply the default ones. Only to be used for py-*
+# ports that are part of the Python distribution, but
+# kept as separate ports.
+#
+# optsuffix - Set PKGNAMESUFFIX to PYTHON_PKGNAMESUFFIX if not the
+# default python version.
+#
+# distutils - Use distutils as do-configure, do-build and
+# do-install targets. implies flavors.
+#
+# autoplist - Automatically generates the packaging list for a
+# port that uses distutils when defined.
+# requires: distutils
+#
+# py3kplist - Automatically generates Python 3.x compatible
+# __pycache__ entries from a Python 2.x packaging list
+# when defined. Use this for ports that do *not* use
+# standard Python packaging mechanisms such as
+# distutils, and support *both* Python 2.x and 3.x.
+# Not needed, if USE_PYTHON=autoplist is set.
+#
+# pythonprefix - Says that the port installs in ${PYTHONBASE} instead
+# of ${PREFIX}.
+#
+# noegginfo - Skip an egg-info entry from plist, if defined.
+#
+# PYTHON_CMD - Python's command line file name, including the
+# version number (used for dependencies).
+# default: ${PYTHONBASE}/bin/${PYTHON_VERSION}
+#
+# PYSETUP - Name of the setup script used by the distutils
+# package.
+# default: setup.py
+#
+# PYDISTUTILS_PKGNAME
+# - Internal name in the distutils for egg-info.
+# default: ${PORTNAME}
+#
+# PYDISTUTILS_PKGVERSION
+# - Internal version in the distutils for egg-info.
+# default: ${PORTVERSION}
+#
+# PYDISTUTILS_CONFIGURE_TARGET
+# - Pass this command to distutils on configure stage.
+# default: config
+#
+# PYDISTUTILS_BUILD_TARGET
+# - Pass this command to distutils on build stage.
+# default: build
+#
+# PYDISTUTILS_INSTALL_TARGET
+# - Pass this command to distutils on install stage.
+# default: install
+#
+# PYDISTUTILS_CONFIGUREARGS
+# - Arguments to config with distutils.
+# default: <empty>
+#
+# PYDISTUTILS_BUILDARGS
+# - Arguments to build with distutils.
+# default: <empty>
+#
+# PYDISTUTILS_INSTALLARGS
+# - Arguments to install with distutils.
+# default: -c -O1 --prefix=${PREFIX} --single-version-externally-managed --root=${STAGEDIR}
+#
+# PYDISTUTILS_EGGINFO
+# - Canonical name for egg-info.
+# default: ${PYDISTUTILS_PKGNAME:C/[^A-Za-z0-9.]+/_/g}-${PYDISTUTILS_PKGVERSION:C/[^A-Za-z0-9.]+/_/g}-py${PYTHON_VER}.egg-info
+#
+# The following variables can be read by ports and must not be modified:
+#
+# PYTHONBASE - The installation prefix of the chosen Python
+# interpreter, e.g. /usr/local
+#
+# PYTHON_PORTVERSION
+# - Version number suitable for ${PORTVERSION}.
+#
+# PYTHON_PORTSDIR - The port directory of the chosen Python interpreter
+#
+# PYTHON_REL - The release number of the chosen Python interpreter
+# without dots, e.g. 2706, 3401, ...
+#
+# PYTHON_SUFFIX - The major-minor release number of the chosen Python
+# interpreter without dots, e.g. 27, 34, ...
+# Used for prefixes and suffixes.
+#
+# PYTHON_MAJOR_VER - The major release version of the chosen Python
+# interpreter, e.g. 2, 3, ...
+#
+# PYTHON_VER - The major-minor release version of the chosen Python
+# interpreter, e.g. 2.7, 3.4, ...
+#
+# PYTHON_ABIVER - Additional ABI flags set by the chosen Python
+# interpreter, e.g. md
+#
+# PYTHON_INCLUDEDIR - Location of the Python include files.
+# default: ${PYTHONBASE}/include/${PYTHON_VERSION}
+#
+# PYTHON_LIBDIR - Base of the python library tree
+# default: ${PYTHONBASE}/lib/${PYTHON_VERSION}
+#
+# PYTHON_SITELIBDIR - Location of the site-packages tree. Don't change,
+# unless you know what you do.
+# default: ${PYTHON_LIBDIR}/site-packages
+#
+# There are PREFIX-clean variants of the PYTHON_*DIR variables above.
+# They are meant to be used by ports instead of the above variables, so the
+# ports respect ${PREFIX} (unless USE_PYTHON=pythonprefix is specified).
+#
+# PYTHONPREFIX_INCLUDEDIR default: ${PREFIX}/include/${PYTHON_VERSION}
+# PYTHONPREFIX_LIBDIR default: ${PREFIX}/lib/${PYTHON_VERSION}
+# PYTHONPREFIX_SITELIBDIR default: ${PYTHONPREFIX_LIBDIR}/site-packages
+#
+# PYTHON_PLATFORM - Python's idea of the OS release.
+# This is faked with ${OPSYS} and ${OSREL} until we
+# find out how to delay defining a variable until
+# after a certain target has been built.
+#
+# PYTHON_PKGNAMEPREFIX
+# - Use this as a ${PKGNAMEPREFIX} to distinguish
+# packages for different Python versions.
+# default: py${PYTHON_SUFFIX}-
+#
+# Using USES=python.mk also will add some useful entries to PLIST_SUB:
+#
+# PYTHON_INCLUDEDIR=${PYTHONPREFIX_INCLUDEDIR:S;${PREFIX}/;;}
+# PYTHON_LIBDIR=${PYTHONPREFIX_LIBDIR:S;${PREFIX}/;;}
+# PYTHON_PLATFORM=${PYTHON_PLATFORM}
+# PYTHON_PYOEXTENSION=${PYTHON_PYOEXTENSION}
+# PYTHON_SITELIBDIR=${PYTHONPREFIX_SITELIBDIR:S;${PREFIX}/;;}
+# PYTHON_SUFFIX=${PYTHON_SUFFIX}
+# PYTHON_VER=${PYTHON_VER}
+# PYTHON_VERSION=${PYTHON_VERSION}
+#
+# and PYTHON2 and PYTHON3 will be set according to the Python version:
+#
+# PYTHON2="" PYTHON3="@comment " for Python 2.x
+# PYTHON2="@comment " PYTHON3="" for Python 3.x
+#
+# PYTHON_PKGNAMESUFFIX
+# - Deprecated, use PYTHON_PKGNAMEPREFIX instead
+# default: -py${PYTHON_SUFFIX}
+#
+# PYDISTUTILS_INSTALLNOSINGLE
+# - Deprecated without replacement
+#
+# MAINTAINER: python@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_PYTHON_MK)
+_INCLUDE_USES_PYTHON_MK= yes
+
+# What Python version and what Python interpreters are currently supported?
+# When adding a version, please keep the comment in
+# Mk/bsd.default-versions.mk in sync.
+_PYTHON_VERSIONS= 2.7 3.6 3.7 3.5 # preferred first
+_PYTHON_PORTBRANCH= 2.7 # ${_PYTHON_VERSIONS:[1]}
+_PYTHON_BASECMD= ${LOCALBASE}/bin/python
+_PYTHON_RELPORTDIR= lang/python
+
+# Make each individual feature available as _PYTHON_FEATURE_<FEATURENAME>
+.for var in ${USE_PYTHON}
+_PYTHON_FEATURE_${var:C/=.*$//:tu}= ${var:C/.*=//:S/,/ /g}
+.endfor
+
+# distutils automatically generates flavors depending on the supported
+# versions.
+.if defined(_PYTHON_FEATURE_DISTUTILS)
+_PYTHON_FEATURE_FLAVORS= yes
+.endif
+
+.if defined(_PYTHON_FEATURE_NOFLAVORS)
+.undef _PYTHON_FEATURE_FLAVORS
+.endif
+
+# Make sure that no dependency or some other environment variable
+# pollutes the build/run dependency detection
+.undef _PYTHON_BUILD_DEP
+.undef _PYTHON_RUN_DEP
+.undef _PYTHON_TEST_DEP
+_PYTHON_ARGS= ${python_ARGS:S/,/ /g}
+.if ${_PYTHON_ARGS:Mpatch}
+_PYTHON_PATCH_DEP= yes
+_PYTHON_ARGS:= ${_PYTHON_ARGS:Npatch}
+.endif
+.if ${_PYTHON_ARGS:Mbuild}
+_PYTHON_BUILD_DEP= yes
+_PYTHON_ARGS:= ${_PYTHON_ARGS:Nbuild}
+.endif
+.if ${_PYTHON_ARGS:Mrun}
+_PYTHON_RUN_DEP= yes
+_PYTHON_ARGS:= ${_PYTHON_ARGS:Nrun}
+.endif
+.if ${_PYTHON_ARGS:Mtest}
+_PYTHON_TEST_DEP= yes
+_PYTHON_ARGS:= ${_PYTHON_ARGS:Ntest}
+.endif
+.if ${_PYTHON_ARGS:Menv}
+PYTHON_NO_DEPENDS= yes
+_PYTHON_ARGS:= ${_PYTHON_ARGS:Nenv}
+.endif
+
+# The port does not specify a build, run or test dependency, assume all are
+# required.
+.if !defined(_PYTHON_BUILD_DEP) && !defined(_PYTHON_RUN_DEP) && \
+ !defined(_PYTHON_TEST_DEP) && !defined(PYTHON_NO_DEPENDS)
+_PYTHON_BUILD_DEP= yes
+_PYTHON_RUN_DEP= yes
+_PYTHON_TEST_DEP= yes
+.endif
+
+.if ${PYTHON2_DEFAULT} != ${PYTHON_DEFAULT} && ${PYTHON3_DEFAULT} != ${PYTHON_DEFAULT}
+WARNING+= "PYTHON_DEFAULT must be a version present in PYTHON2_DEFAULT or PYTHON3_DEFAULT, if you want more Python flavors, set BUILD_ALL_PYTHON_FLAVORS in your make.conf"
+.endif
+
+.if ${_PYTHON_ARGS} == "2"
+DEV_ERROR+= "USES=python:2 is no longer supported, use USES=python:2.7"
+.elif ${_PYTHON_ARGS} == "3"
+DEV_ERROR+= "USES=python:3 is no longer supported, use USES=python:3.5+ or an appropriate version range"
+.endif # ${_PYTHON_ARGS} == "2"
+
+.if defined(PYTHON_VERSION)
+# A port/user requests a specific python version for its dependencies via
+# DEPENDS_ARGS, since it requires the specific python version itself.
+# Several things can happen now:
+# a) the dependency supports the requested version -> everything's fine
+# b) the dependency does not support the requested version
+# 1) the dependency works in a way that the different python
+# versions do not matter -> everything's fine
+# 2) the dependency is likely to break due to the conflict
+# nothing's fine
+#
+# b.2) needs to be resolved. Due to the complexity of how different pieces of
+# software are built, we can't solve this automatically. Instead, let's assume
+# that maintainers know what they are doing and assume PYTHON_VERSION to be a
+# hint. Just warn maintainers, if the versions do not match
+# (_PYTHON_VERSION_NONSUPPORTED).
+_PYTHON_VERSION:= ${PYTHON_VERSION:S/^python//}
+.else
+_PYTHON_VERSION:= ${PYTHON_DEFAULT}
+.endif # defined(PYTHON_VERSION)
+
+# Validate Python version whether it meets the version restriction.
+_PYTHON_VERSION_CHECK:= ${_PYTHON_ARGS:C/^([1-9]\.[0-9])$/\1-\1/}
+_PYTHON_VERSION_MINIMUM_TMP:= ${_PYTHON_VERSION_CHECK:C/([1-9]\.[0-9])[-+].*/\1/}
+_PYTHON_VERSION_MINIMUM:= ${_PYTHON_VERSION_MINIMUM_TMP:M[1-9].[0-9]}
+_PYTHON_VERSION_MAXIMUM_TMP:= ${_PYTHON_VERSION_CHECK:C/.*-([1-9]\.[0-9])/\1/}
+_PYTHON_VERSION_MAXIMUM:= ${_PYTHON_VERSION_MAXIMUM_TMP:M[1-9].[0-9]}
+
+.undef _PYTHON_VERSION_NONSUPPORTED
+.if !empty(_PYTHON_VERSION_MINIMUM) && (${_PYTHON_VERSION} < ${_PYTHON_VERSION_MINIMUM})
+_PYTHON_VERSION_NONSUPPORTED= ${_PYTHON_VERSION_MINIMUM} at least
+.elif !empty(_PYTHON_VERSION_MAXIMUM) && (${_PYTHON_VERSION} > ${_PYTHON_VERSION_MAXIMUM})
+_PYTHON_VERSION_NONSUPPORTED= ${_PYTHON_VERSION_MAXIMUM} at most
+.endif
+
+# If we have an unsupported version of Python, try another.
+.if defined(_PYTHON_VERSION_NONSUPPORTED)
+.if defined(PYTHON_VERSION) || defined(PYTHON_CMD)
+_PV:= ${_PYTHON_VERSION} # preserve the specified python version
+IGNORE= needs Python ${_PYTHON_VERSION_NONSUPPORTED}, but ${_PV} was specified
+.endif # defined(PYTHON_VERSION) || defined(PYTHON_CMD)
+.undef _PYTHON_VERSION
+.for ver in ${PYTHON2_DEFAULT} ${PYTHON3_DEFAULT} ${_PYTHON_VERSIONS}
+__VER= ${ver}
+.if !defined(_PYTHON_VERSION) && \
+ !(!empty(_PYTHON_VERSION_MINIMUM) && ( \
+ ${__VER} < ${_PYTHON_VERSION_MINIMUM})) && \
+ !(!empty(_PYTHON_VERSION_MAXIMUM) && ( \
+ ${__VER} > ${_PYTHON_VERSION_MAXIMUM}))
+_PYTHON_VERSION= ${ver}
+.endif
+.endfor
+.if !defined(_PYTHON_VERSION)
+IGNORE= needs an unsupported version of Python
+.endif
+.endif # defined(_PYTHON_VERSION_NONSUPPORTED)
+
+# Automatically generates FLAVORS if empty
+.if empty(FLAVORS) && defined(_PYTHON_FEATURE_FLAVORS)
+. undef _VALID_PYTHON_VERSIONS
+. for ver in ${PYTHON_DEFAULT} ${PYTHON2_DEFAULT} ${PYTHON3_DEFAULT} ${_PYTHON_VERSIONS}
+__VER= ${ver}
+. if !(!empty(_PYTHON_VERSION_MINIMUM) && ( \
+ ${__VER} < ${_PYTHON_VERSION_MINIMUM})) && \
+ !(!empty(_PYTHON_VERSION_MAXIMUM) && ( \
+ ${__VER} > ${_PYTHON_VERSION_MAXIMUM}))
+. if empty(_VALID_PYTHON_VERSIONS:M${ver})
+_VALID_PYTHON_VERSIONS+= ${ver}
+. endif
+. endif
+. endfor
+# Get all possible flavors depending on version requirements
+. if defined(_VALID_PYTHON_VERSIONS)
+_ALL_PYTHON_FLAVORS= ${_VALID_PYTHON_VERSIONS:S/.//:S/^/py/}
+. else
+_ALL_PYTHON_FLAVORS= ${_PYTHON_VERSIONS:S/.//:S/^/py/}
+. endif
+# Decide how many flavors we want. By default, only generate the default
+# versions.
+. if defined(BUILD_ALL_PYTHON_FLAVORS) || defined(_PYTHON_FEATURE_ALLFLAVORS)
+FLAVORS= ${_ALL_PYTHON_FLAVORS}
+. else
+. for _v in ${PYTHON_DEFAULT} ${PYTHON2_DEFAULT} ${PYTHON3_DEFAULT}
+_f= py${_v:S/.//}
+. if ${_ALL_PYTHON_FLAVORS:M${_f}} && !${FLAVORS:M${_f}}
+.if !empty(FLAVORS)
+FLAVORS:= ${FLAVORS} ${_f}
+.else
+FLAVORS:= ${_f}
+.endif
+. endif
+. endfor
+. endif
+. if !empty(FLAVORS) && empty(FLAVOR)
+FLAVOR= ${FLAVORS:[1]}
+. endif
+.endif
+
+.if ${FLAVOR:Mpy[23][0-9]}
+_PYTHON_VERSION= ${FLAVOR:S/py//:C/(.)/\1./}
+.endif
+
+.if !empty(FLAVOR) && ${_PYTHON_VERSION} != ${PYTHON_DEFAULT}
+.if defined(_PYTHON_FEATURE_OPTSUFFIX)
+DEV_WARNING+= "USE_PYTHON=optsuffix is deprecated, consider migrating to using unconditional PKGNAMESUFFIX or PKGNAMEPREFIX"
+PKGNAMESUFFIX= ${PYTHON_PKGNAMESUFFIX}
+.endif
+.endif
+
+# To avoid having dependencies with @ and empty flavor:
+# _PYTHON_VERSION is either set by (first that matches):
+# - If using Python flavors, from the current Python flavor
+# - If using a version restriction (USES=python:3.4+), from the first
+# acceptable default Python version.
+# - From PYTHON_DEFAULT
+PY_FLAVOR= py${_PYTHON_VERSION:S/.//}
+
+# Pass PYTHON_VERSION down the dependency chain. This ensures that
+# port A -> B -> C all will use the same python version and do not
+# try to find a different one, if the passed version fits into
+# the supported version range.
+PYTHON_VERSION?= python${_PYTHON_VERSION}
+.if !defined(PYTHON_NO_DEPENDS) && \
+ ${PYTHON_VERSION} != python${PYTHON_DEFAULT}
+DEPENDS_ARGS+= PYTHON_VERSION=${PYTHON_VERSION}
+.endif
+
+# NOTE:
+#
+# PYTHON_VERSION will hold whatever is passed down the dependency chain.
+# If a user runs `make PYTHON_VERSION=python3.3, PYTHON_VERSION will be
+# set to 'python3.3'. A port however may require a different version,
+# which is stored (above) in _PYTHON_VERSION.
+# Every python bit below hence should use python${_PYTHON_VERSION}, since
+# this is the value, the _port_ requires
+#
+
+# Got the correct python version, set some publicly accessible variables
+PYTHON_VER= ${_PYTHON_VERSION}
+PYTHON_SUFFIX= ${_PYTHON_VERSION:S/.//g}
+PYTHON_MAJOR_VER= ${PYTHON_VER:R}
+PYTHON_REL= # empty
+PYTHON_ABIVER= # empty
+PYTHON_PORTSDIR= ${_PYTHON_RELPORTDIR}${PYTHON_SUFFIX}
+# Protect partial checkouts from Mk/Scripts/functions.sh:export_ports_env().
+.if !defined(_PORTS_ENV_CHECK) || exists(${PORTSDIR}/${PYTHON_PORTSDIR})
+.include "${PORTSDIR}/${PYTHON_PORTSDIR}/Makefile.version"
+.endif
+# Create a 4 integer version string, prefixing 0 to the last token if
+# it's a single character. Only use the the first 3 tokens of
+# PORTVERSION to support pre-release versions (rc3, alpha4, etc) of
+# any Python port (lang/pythonXY)
+PYTHON_REL= ${PYTHON_PORTVERSION:C/^([0-9]+\.[0-9]+\.[0-9]+).*/\1/:C/\.([0-9]+)$/.0\1/:C/\.0?([0-9][0-9])$/.\1/:S/.//g}
+
+# Might be overridden by calling ports
+PYTHON_CMD?= ${_PYTHON_BASECMD}${_PYTHON_VERSION}
+.if ${PYTHON_VER} != 2.7
+.if exists(${PYTHON_CMD}-config)
+PYTHON_ABIVER!= ${PYTHON_CMD}-config --abiflags
+.else
+# Default ABI flags for lang/python3x ports
+PYTHON_ABIVER= m
+.endif
+.endif
+
+.if !defined(PYTHONBASE)
+PYTHONBASE!= (${PYTHON_CMD} -c 'import sys; print(sys.prefix)' \
+ 2> /dev/null || ${ECHO_CMD} ${LOCALBASE}) | ${TAIL} -1
+.endif
+_EXPORTED_VARS+= PYTHONBASE
+
+PYTHON_INCLUDEDIR= ${PYTHONBASE}/include/python${_PYTHON_VERSION}${PYTHON_ABIVER}
+PYTHON_LIBDIR= ${PYTHONBASE}/lib/python${_PYTHON_VERSION}
+PYTHON_PLATFORM= ${OPSYS:tl}${OSREL:C/\.[0-9.]*//}
+PYTHON_SITELIBDIR= ${PYTHON_LIBDIR}/site-packages
+PYTHON_PKGNAMEPREFIX= py${PYTHON_SUFFIX}-
+PYTHON_PKGNAMESUFFIX= -py${PYTHON_SUFFIX}
+
+PYTHONPREFIX_INCLUDEDIR= ${PYTHON_INCLUDEDIR:S;${PYTHONBASE};${PREFIX};}
+PYTHONPREFIX_LIBDIR= ${PYTHON_LIBDIR:S;${PYTHONBASE};${PREFIX};}
+PYTHONPREFIX_SITELIBDIR= ${PYTHON_SITELIBDIR:S;${PYTHONBASE};${PREFIX};}
+
+# Used for recording the installed files.
+_PYTHONPKGLIST= ${WRKDIR}/.PLIST.pymodtmp
+
+# PEP 0488 (https://www.python.org/dev/peps/pep-0488/)
+.if ${PYTHON_REL} < 3500
+PYTHON_PYOEXTENSION= pyo
+.else
+PYTHON_PYOEXTENSION= opt-1.pyc
+.endif
+
+# Ports bound to a certain python version SHOULD
+# - use the PYTHON_PKGNAMEPREFIX
+# - use directories using the PYTHON_PKGNAMEPREFIX
+# - install binaries using the required PYTHON_VER, with
+# the default python version creating a symlink to the original binary
+# name (for staging-aware ports).
+#
+# What makes a port 'bound' to a certain python version?
+# - it installs data into PYTHON_SITELIBDIR, PYTHON_INCLUDEDIR, ...
+# - it links against libpython*.so
+# - it uses USE_PYTHON=distutils
+#
+
+.if defined(_PYTHON_FEATURE_CYTHON)
+BUILD_DEPENDS+= cython-${PYTHON_VER}:lang/cython@${PY_FLAVOR}
+.endif
+
+.if defined(_PYTHON_FEATURE_CYTHON_RUN)
+RUN_DEPENDS+= cython-${PYTHON_VER}:lang/cython@${PY_FLAVOR}
+.endif
+
+.if defined(_PYTHON_FEATURE_CONCURRENT)
+.if !defined(_PYTHON_FEATURE_FLAVORS) && (${_PYTHON_VERSION_MINIMUM:M3*} || ${_PYTHON_VERSION_MAXIMUM:M2*})
+DEV_WARNING+= "USE_PYTHON=concurrent when only one of Python 2 or 3 is supported AND not using flavors does not make any sense"
+.endif
+_USES_POST+= uniquefiles:dirs
+.if defined(_PYTHON_FEATURE_FLAVORS) && ${FLAVOR} == ${FLAVORS:[1]}
+UNIQUE_DEFAULT_LINKS= yes
+.elif !defined(_PYTHON_FEATURE_FLAVORS) && ${PYTHON_VERSION} == python${PYTHON_DEFAULT}
+UNIQUE_DEFAULT_LINKS= yes
+.else
+UNIQUE_DEFAULT_LINKS= no
+.endif
+UNIQUE_PREFIX= ${PYTHON_PKGNAMEPREFIX}
+UNIQUE_SUFFIX= -${PYTHON_VER}
+UNIQUE_SUFFIX_TYPES+= SUFFIX_MAN
+UNIQUE_SUFFIX_MAN_WITH_EXT= .[1-9ln]
+UNIQUE_SUFFIX_MAN_EXTRA_EXT= .gz
+
+.if defined(_PYTHON_FEATURE_AUTOPLIST)
+_UNIQUE_FIND_SUFFIX_FILES= ${SED} -e 's|^${PREFIX}/||' ${_PYTHONPKGLIST} ${TMPPLIST}
+.else
+_UNIQUE_FIND_SUFFIX_FILES= ${SED} -e 's|^${PREFIX}/||' ${TMPPLIST} 2>/dev/null
+.endif
+UNIQUE_FIND_SUFFIX_FILES+= ${_UNIQUE_FIND_SUFFIX_FILES} | \
+ ${EGREP} -he '^bin/.*$$|^sbin/.*$$|^libexec/.*$$'
+UNIQUE_FIND_SUFFIX_MAN_FILES+= ${_UNIQUE_FIND_SUFFIX_FILES} | \
+ ${EGREP} -he '^man/man[1-9ln]/.*$$'
+.endif # defined(_PYTHON_FEATURE_CONCURRENT)
+
+_CURRENTPORT:= ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}
+.if defined(_PYTHON_FEATURE_DISTUTILS) && \
+ ${_CURRENTPORT} != ${PYTHON_PKGNAMEPREFIX}setuptools
+BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAVOR}
+RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAVOR}
+.endif
+
+# distutils support
+PYSETUP?= setup.py
+PYDISTUTILS_SETUP?= -c \
+ "import sys; import setuptools; \
+ __file__='${PYSETUP}'; sys.argv[0]='${PYSETUP}'; \
+ exec(compile(open(__file__, 'rb').read().replace(b'\\r\\n', b'\\n'), __file__, 'exec'))"
+PYDISTUTILS_CONFIGUREARGS?= # empty
+PYDISTUTILS_BUILDARGS?= # empty
+PYDISTUTILS_INSTALLARGS?= -c -O1 --prefix=${PREFIX}
+.if defined(_PYTHON_FEATURE_DISTUTILS)
+. if !defined(PYDISTUTILS_INSTALLNOSINGLE)
+PYDISTUTILS_INSTALLARGS+= --single-version-externally-managed
+. endif
+PYDISTUTILS_INSTALLARGS+= --root=${STAGEDIR}
+.endif
+PYDISTUTILS_INSTALLARGS:= --record ${_PYTHONPKGLIST} \
+ ${PYDISTUTILS_INSTALLARGS}
+
+PYDISTUTILS_PKGNAME?= ${PORTNAME}
+PYDISTUTILS_PKGVERSION?=${PORTVERSION}
+PYDISTUTILS_EGGINFO?= ${PYDISTUTILS_PKGNAME:C/[^A-Za-z0-9.]+/_/g}-${PYDISTUTILS_PKGVERSION:C/[^A-Za-z0-9.]+/_/g}-py${PYTHON_VER}.egg-info
+PYDISTUTILS_EGGINFODIR?=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
+
+.if !defined(_PYTHON_FEATURE_NOEGGINFO) && \
+ !defined(_PYTHON_FEATURE_AUTOPLIST) && \
+ defined(_PYTHON_FEATURE_DISTUTILS) && \
+ defined(PYTHON_REL)
+_USES_stage+= 933:add-plist-egginfo
+add-plist-egginfo:
+. for egginfo in ${PYDISTUTILS_EGGINFO}
+ if [ -d "${PYDISTUTILS_EGGINFODIR}/${egginfo}" ]; then \
+ ${LS} ${PYDISTUTILS_EGGINFODIR}/${egginfo} | while read f; do \
+ ${ECHO_CMD} ${PYDISTUTILS_EGGINFODIR:S;^${STAGEDIR}${PREFIX}/;;}/${egginfo}/$${f} >> ${TMPPLIST}; \
+ done; \
+ fi;
+. endfor
+.endif
+
+.if defined(_PYTHON_FEATURE_AUTOPLIST) && defined(_PYTHON_FEATURE_DISTUTILS)
+_RELSITELIBDIR= ${PYTHONPREFIX_SITELIBDIR:S;${PREFIX}/;;}
+_RELLIBDIR= ${PYTHONPREFIX_LIBDIR:S;${PREFIX}/;;}
+
+_USES_stage+= 934:add-plist-pymod
+add-plist-pymod:
+ @${SED} -e 's|^${STAGEDIR}${PREFIX}/||' \
+ -e 's|^${PREFIX}/||' \
+ -e 's|^\(man/.*man[0-9]\)/\(.*\.[0-9]\)$$|\1/\2.gz|' \
+ -e 's|[[:alnum:]|[:space:]]*/\.\./*||g; s|/\./|/|g' \
+ ${_PYTHONPKGLIST} | ${SORT} >> ${TMPPLIST}
+
+.else
+.if ${PYTHON_REL} >= 3200 && defined(_PYTHON_FEATURE_PY3KPLIST)
+# When Python version is 3.2+ we rewrite all the filenames
+# of TMPPLIST that end with .py[co], so that they conform
+# to PEP 3147 (see https://www.python.org/dev/peps/pep-3147/)
+PYMAGICTAG= ${PYTHON_CMD} -c 'import sys; print(sys.implementation.cache_tag)'
+_USES_stage+= 935:add-plist-python
+add-plist-python:
+ @${AWK} '\
+ /\.py[co]$$/ && !($$0 ~ "/" pc "/") {id = match($$0, /\/[^\/]+\.py[co]$$/); if (id != 0) {d = substr($$0, 1, RSTART - 1); dirs[d] = 1}; sub(/\.pyc$$/, "." mt "&"); sub(/\.pyo$$/, "." mt "." pyo); sub(/[^\/]+\.py[co]$$/, pc "/&"); print; next} \
+ /^@dirrm / {d = substr($$0, 8); if (d in dirs) {print $$0 "/" pc}; print $$0; next} \
+ /^@dirrmtry / {d = substr($$0, 11); if (d in dirs) {print $$0 "/" pc}; print $$0; next} \
+ {print} \
+ ' \
+ pc="__pycache__" mt="$$(${PYMAGICTAG})" pyo="${PYTHON_PYOEXTENSION}" \
+ ${TMPPLIST} > ${TMPPLIST}.pyc_tmp
+ @${MV} ${TMPPLIST}.pyc_tmp ${TMPPLIST}
+.endif # ${PYTHON_REL} >= 3200 && defined(_PYTHON_FEATURE_PY3KPLIST)
+.endif # defined(_PYTHON_FEATURE_AUTOPLIST) && defined(_PYTHON_FEATURE_DISTUTILS)
+
+# Fix for programs that build python from a GNU auto* environment
+CONFIGURE_ENV+= PYTHON="${PYTHON_CMD}"
+
+# By default CMake picks up the highest available version of Python package.
+# Enforce the version required by the port or the default.
+CMAKE_ARGS+= -DPython_ADDITIONAL_VERSIONS=${PYTHON_VER}
+
+# Python 3rd-party modules
+PYGAME= ${PYTHON_PKGNAMEPREFIX}game>0:devel/py-game@${PY_FLAVOR}
+PYNUMPY= ${PYTHON_PKGNAMEPREFIX}numpy>0:math/py-numpy@${PY_FLAVOR}
+
+# Common Python modules that can be needed but only for some versions of Python.
+.if ${PYTHON_REL} < 3400
+PY_ENUM34= ${PYTHON_PKGNAMEPREFIX}enum34>0:devel/py-enum34@${PY_FLAVOR}
+PY_ENUM_COMPAT= ${PYTHON_PKGNAMEPREFIX}enum-compat>0:devel/py-enum-compat@${PY_FLAVOR}
+PY_PATHLIB= ${PYTHON_PKGNAMEPREFIX}pathlib>0:devel/py-pathlib@${PY_FLAVOR}
+.else
+PY_ENUM34=
+PY_ENUM_COMPAT=
+PY_PATHLIB=
+.endif
+
+.if ${PYTHON_REL} < 3300
+PY_IPADDRESS= ${PYTHON_PKGNAMEPREFIX}ipaddress>0:net/py-ipaddress@${PY_FLAVOR}
+.else
+PY_IPADDRESS=
+.endif
+
+.if ${PYTHON_REL} < 3200
+PY_FUTURES= ${PYTHON_PKGNAMEPREFIX}futures>0:devel/py-futures@${PY_FLAVOR}
+.else
+PY_FUTURES=
+.endif
+
+CMAKE_ARGS+= -DBOOST_PYTHON_SUFFIX:STRING=${PYTHON_SUFFIX}
+PY_BOOST_LIB= boost_python${PYTHON_SUFFIX}
+PY_BOOST= lib${PY_BOOST_LIB}.so:devel/boost-python-libs@${PY_FLAVOR}
+
+# dependencies
+.for _stage in PATCH BUILD RUN TEST
+. if defined(_PYTHON_${_stage}_DEP)
+${_stage}_DEPENDS+= ${PYTHON_CMD}:${PYTHON_PORTSDIR}
+. endif
+.endfor
+
+# set $PREFIX as Python's one
+.if defined(_PYTHON_FEATURE_PYTHONPREFIX)
+PREFIX= ${PYTHONBASE}
+.endif
+
+# Substitutions for pkg-plist
+# Use a short form of the PYTHONPREFIX_*DIR variables; we don't need the
+# base directory in the plist file.
+PLIST_SUB+= PYTHON_INCLUDEDIR=${PYTHONPREFIX_INCLUDEDIR:S;${PREFIX}/;;} \
+ PYTHON_LIBDIR=${PYTHONPREFIX_LIBDIR:S;${PREFIX}/;;} \
+ PYTHON_PLATFORM=${PYTHON_PLATFORM} \
+ PYTHON_PYOEXTENSION=${PYTHON_PYOEXTENSION} \
+ PYTHON_SITELIBDIR=${PYTHONPREFIX_SITELIBDIR:S;${PREFIX}/;;} \
+ PYTHON_SUFFIX=${PYTHON_SUFFIX} \
+ PYTHON_VER=${PYTHON_VER} \
+ PYTHON_VERSION=${PYTHON_VERSION}
+.if ${PYTHON_REL} < 3000
+PLIST_SUB+= PYTHON2="" PYTHON3="@comment "
+.else
+PLIST_SUB+= PYTHON2="@comment " PYTHON3=""
+.endif
+
+_USES_POST+= python
+.endif # _INCLUDE_USES_PYTHON_MK
+
+.if defined(_POSTMKINCLUDED) && !defined(_INCLUDE_USES_PYTHON_POST_MK)
+_INCLUDE_USES_PYTHON_POST_MK= yes
+
+# py-distutils support
+PYDISTUTILS_CONFIGURE_TARGET?= config
+PYDISTUTILS_BUILD_TARGET?= build
+PYDISTUTILS_INSTALL_TARGET?= install
+
+.if defined(_PYTHON_FEATURE_DISTUTILS)
+LDSHARED?= ${CC} -shared
+MAKE_ENV+= LDSHARED="${LDSHARED}" PYTHONDONTWRITEBYTECODE= PYTHONOPTIMIZE=
+
+.if !target(do-configure) && !defined(HAS_CONFIGURE) && !defined(GNU_CONFIGURE)
+do-configure:
+ @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYDISTUTILS_SETUP} ${PYDISTUTILS_CONFIGURE_TARGET} ${PYDISTUTILS_CONFIGUREARGS})
+.endif
+
+.if !target(do-build)
+do-build:
+ @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYDISTUTILS_SETUP} ${PYDISTUTILS_BUILD_TARGET} ${PYDISTUTILS_BUILDARGS})
+.endif
+
+.if !target(do-install)
+do-install:
+ @(cd ${INSTALL_WRKSRC}; ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYDISTUTILS_SETUP} ${PYDISTUTILS_INSTALL_TARGET} ${PYDISTUTILS_INSTALLARGS})
+.endif
+.endif # defined(_PYTHON_FEATURE_DISTUTILS)
+.endif # defined(_POSTMKINCLUDED) && !defined(_INCLUDE_USES_PYTHON_POST_MK)
diff --git a/test-ports/Mk/Uses/qmail.mk b/test-ports/Mk/Uses/qmail.mk
new file mode 100644
index 00000000..2b5ec539
--- /dev/null
+++ b/test-ports/Mk/Uses/qmail.mk
@@ -0,0 +1,63 @@
+# $FreeBSD: head/Mk/Uses/qmail.mk 411970 2016-03-27 01:23:25Z bapt $
+#
+# Feature: qmail
+# Usage: USES=qmail or USES=qmail:ARGS
+# Valid ARGS: both (default, implicit), run, build, vars
+#
+# Ports can use the following vars:
+#
+# QMAIL_PREFIX - Define it if qmail is installed in a different PREFIX.
+# Default: /var/qmail
+#
+# QMAIL_SLAVEPORT - Define it if you install a slaveport of qmail, to
+# prevent stale dependencies. Valid slaveports are:
+# ldap, mysql, spamcontrol and tls.
+#
+# MAINTAINER= bdrewery@FreeBSD.org
+
+.if !defined(_INCLUDE_QMAIL_MK)
+_INCLUDE_QMAIL_MK= yes
+
+QMAIL_PREFIX?= /var/qmail
+
+.if empty(qmail_ARGS)
+qmail_ARGS= both
+.endif
+
+.if ${qmail_ARGS} == "build"
+BUILD_DEPENDS+= ${_QMAIL_DEPENDS}
+.elif ${qmail_ARGS} == "run"
+RUN_DEPENDS+= ${_QMAIL_DEPENDS}
+.elif ${qmail_ARGS} == "both"
+BUILD_DEPENDS+= ${_QMAIL_DEPENDS}
+RUN_DEPENDS+= ${_QMAIL_DEPENDS}
+.elif ${qmail_ARGS} == "vars"
+.else
+IGNORE= USES=qmail - invalid args: [${qmail_ARGS}] specified
+.endif
+
+.if ${qmail_ARGS} != "vars"
+
+_QMAIL_VALID_SLAVEPORTS= ldap mysql spamcontrol tls
+
+. if defined(QMAIL_SLAVEPORT)
+. for slave in ${_QMAIL_VALID_SLAVEPORTS}
+. if ${QMAIL_SLAVEPORT:tl} == ${slave}
+_QMAIL_SLAVEPORT_OKAY= true
+. endif
+. endfor
+
+. if !defined(_QMAIL_SLAVEPORT_OKAY)
+IGNORE= Invalid QMAIL_SLAVEPORT value. Only one can be set, valid values are: ${_QMAIL_VALID_SLAVEPORTS}
+. endif
+. endif
+
+. if defined(QMAIL_SLAVEPORT)
+_QMAIL_DEPENDS= ${QMAIL_PREFIX}/bin/qmail-send:mail/qmail-${QMAIL_SLAVEPORT:tl}
+. else
+_QMAIL_DEPENDS= ${QMAIL_PREFIX}/bin/qmail-send:mail/qmail
+. endif
+
+.endif
+
+.endif
diff --git a/test-ports/Mk/Uses/qmake.mk b/test-ports/Mk/Uses/qmake.mk
new file mode 100644
index 00000000..e495bb08
--- /dev/null
+++ b/test-ports/Mk/Uses/qmake.mk
@@ -0,0 +1,152 @@
+# $FreeBSD: head/Mk/Uses/qmake.mk 473503 2018-06-28 17:39:53Z tcberner $
+#
+# There are three Qt related USES files with different access to Qt.
+# - qmake: The port requires Qt's qmake to build -- creates the configure target
+# - auto includes qt.mk
+# - qt-dist: The port is a port for an part of Qt4 or Qt5
+# - auto inclues qt.mk
+# - qt.mk - Dependency handling. USE_QT=foo bar
+#
+#
+# Provide support for qmake-based projects
+#
+# Feature: qmake
+# Usage: USES=qmake or USES=qmake:ARGS
+# Must be used along with 'USE_QT*=#'
+# Valid ARGS: norecursive outsource
+# ARGS description:
+# norecursive Don't pass -recursive argument to qmake binary
+# outsource Perform an out-of-source build
+# no_env Suppress modification of configure and make environment.
+# no_configure Don't add the configure target -- this is implied by
+# HAS_CONFIGURE=yes and GNU_CONFIGURE=yes
+#
+#
+# Variables for ports:
+# QMAKE_ENV - Environment passed to qmake.
+# Default: ${CONFIGURE_ENV}
+# QMAKE_ARGS - Arguments passed to qmake.
+# Default: see below
+# QMAKE_CONFIGURE_ARGS - Extra arguments passed to qmake after everything
+# else, such as "-foo -no-bar". The arguments are usually
+# set in configure.json. This variable is specific to
+# qmake from Qt 5.
+# Default: empty
+# QMAKE_SOURCE_PATH - Path to qmake project files.
+# Default: ${WRKSRC} if out-of-source build is
+# requested, empty otherwise.
+#
+# User defined variables:
+# QMAKE_VERBOSE - Enable verbose configure output.
+#
+# MAINTAINER: kde@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_QMAKE_MK)
+_INCLUDE_USES_QMAKE_MK= yes
+
+# Suck in qt.mk
+.include "${USESDIR}/qt.mk"
+
+_VALID_ARGS= norecursive outsource no_env no_configure
+
+. for arg in ${qmake_ARGS}
+. if empty(_VALID_ARGS:M${arg})
+IGNORE= Incorrect 'USES+= qmake' usage: argument '${arg}' is not recognized
+. endif
+. endfor
+
+# Check whether we need to add the configure target
+_ADD_CONFIGURE_TARGET= yes
+. if !empty(qmake_ARGS:Mno_configure) || defined(HAS_CONFIGURE) || defined(GNU_CONFIGURE)
+_ADD_CONFIGURE_TARGET= # unset
+. endif
+
+# QMAKESPEC belongs to bsd.qt.mk.
+QMAKE_ENV?= ${CONFIGURE_ENV}
+QMAKE_ARGS+= -spec ${QMAKESPEC} \
+ QMAKE_CC="${CC}" QMAKE_CXX="${CXX}" \
+ QMAKE_LINK_C="${CC}" QMAKE_LINK_C_SHLIB="${CC}" \
+ QMAKE_LINK="${CXX}" QMAKE_LINK_SHLIB="${CXX}" \
+ QMAKE_CFLAGS="${CFLAGS}" \
+ QMAKE_CXXFLAGS="${CXXFLAGS}" \
+ QMAKE_LFLAGS="${LDFLAGS}" \
+ QMAKE_LIBS="${LIBS}" \
+ QMAKE_CFLAGS_DEBUG="" \
+ QMAKE_CFLAGS_RELEASE="" \
+ QMAKE_CXXFLAGS_DEBUG="" \
+ QMAKE_CXXFLAGS_RELEASE="" \
+ PREFIX="${PREFIX}"
+
+. if defined(WITH_DEBUG)
+PLIST_SUB+= DEBUG=""
+QMAKE_ARGS+= CONFIG+="debug" \
+ CONFIG-="release"
+. else
+PLIST_SUB+= DEBUG="@comment "
+QMAKE_ARGS+= CONFIG+="release" \
+ CONFIG-="debug separate_debug_info"
+. endif # defined(WITH_DEBUG)
+
+# We set -recursive by default to keep qmake from running in the build stage.
+. if ! ${qmake_ARGS:Mnorecursive}
+QMAKE_ARGS+= -recursive
+. endif
+
+. if defined(QMAKE_VERBOSE)
+QMAKE_ARGS+= -d
+. endif
+
+# _QMAKE_WRKSRC (and _QMAKE, below) are needed to abstract the qmake target and
+# use it for both qtbase and USES=qmake ports. They are private, not supposed to
+# be used anywhere else.
+_QMAKE_WRKSRC?= ${CONFIGURE_WRKSRC}
+. if ${qmake_ARGS:Moutsource}
+CONFIGURE_WRKSRC= ${WRKDIR}/.build
+BUILD_WRKSRC= ${CONFIGURE_WRKSRC}
+INSTALL_WRKSRC= ${BUILD_WRKSRC}
+TEST_WRKSRC= ${BUILD_WRKSRC}
+QMAKE_SOURCE_PATH?= ${WRKSRC}
+. else
+QMAKE_SOURCE_PATH?= # empty
+. endif
+
+# Add qmake to USE_QT -- unless it's qmake itself
+. if !${PORTNAME} == qmake
+USE_QT+= qmake_build
+. endif
+
+. if empty(qmake_ARGS:Mno_env)
+DESTDIRNAME= INSTALL_ROOT
+CONFIGURE_ENV+= QTDIR="${QT_ARCHDIR}" QMAKE="${QMAKE}" \
+ MOC="${MOC}" RCC="${RCC}" UIC="${UIC}" \
+ QMAKESPEC="${QMAKESPEC}"
+CONFIGURE_ARGS+= --with-qt-includes=${QT_INCDIR} \
+ --with-qt-libraries=${QT_LIBDIR} \
+ --with-extra-includes=${LOCALBASE}/include \
+ --with-extra-libs=${LOCALBASE}/lib
+. endif
+
+_USES_POST+= qmake
+.endif # _QMAKE_MK_INCLUDED
+
+# =============================================================================
+#
+# =============================================================================
+
+.if defined(_POSTMKINCLUDED) && !defined(_QMAKE_MK_POST_INCLUDED)
+_QMAKE_MK_POST_INCLUDED= qmake.mk
+
+# Define a custom target to make it usable by bsd.qt.mk for internal Qt
+# configuration.
+qmake-configure:
+ @${MKDIR} ${_QMAKE_WRKSRC}
+ @cd ${_QMAKE_WRKSRC} && \
+ ${SETENV} ${QMAKE_ENV} ${_QMAKE} ${QMAKE_ARGS} \
+ ${QMAKE_SOURCE_PATH} \
+ ${QMAKE_CONFIGURE_ARGS:?--:} ${QMAKE_CONFIGURE_ARGS}
+
+. if !target(do-configure) && !empty(_ADD_CONFIGURE_TARGET)
+_USES_configure+= 450:qmake-configure
+. endif
+
+.endif # !defined(_INCLUDE_USES_QMAKE_MK)
diff --git a/test-ports/Mk/Uses/qt-dist.mk b/test-ports/Mk/Uses/qt-dist.mk
new file mode 100644
index 00000000..fcc5b5f0
--- /dev/null
+++ b/test-ports/Mk/Uses/qt-dist.mk
@@ -0,0 +1,392 @@
+# $FreeBSD: head/Mk/Uses/qt-dist.mk 492793 2019-02-12 17:43:00Z tcberner $
+#
+# There are three Qt related USES files with different access to Qt.
+# - qmake: The port requires Qt's qmake to build -- creates the configure target
+# - auto includes qt.mk
+# - qt-dist: The port is a port for an part of Qt4 or Qt5
+# - auto inclues qt.mk
+# - qt.mk - Dependency handling. USE_QT=foo bar
+#
+#
+# Usage
+# qt-dist:<version>[,yes|modulename]
+
+.if !defined(_QT_DIST_MK_INCLUDED)
+_QT_DIST_MK_INCLUDED= qt-dist.mk
+
+# Suck in qt.mk and qmake.mk
+qt_ARGS?= # empty
+.include "${USESDIR}/qt.mk"
+qmake_ARGS?= # empty
+.include "${USESDIR}/qmake.mk"
+
+# Supported distribution arguments
+_QT4_DISTS= yes
+_QT5_DISTS= 3d activeqt androidextras base canvas3d charts connectivity \
+ datavis3d declarative doc gamepad graphicaleffects imageformats \
+ location macextras multimedia networkauth purchasing \
+ quickcontrols2 quickcontrols remoteobjects script scxml sensors \
+ serialbus serialport speech svg tools translations \
+ virtualkeyboard wayland webchannel webengine websockets webview \
+ winextras x11extras xmlpatterns
+_QT_DISTS= ${_QT${_QT_VER}_DISTS}
+
+# We only accept one item as an argument. The fetch target further below works
+# around this.
+_QT_DIST= # empty
+. for dist in ${_QT_DISTS:O:u}
+. if ${qt-dist_ARGS:M${dist}}
+. if empty(_QT_DIST)
+_QT_DIST= ${dist}
+. else
+IGNORE= cannot be installed: different Qt dists specified via qt-dist:[${qt-dist_ARGS:S/ /,/g}]
+. endif
+. endif
+. endfor
+
+# Fall back to sensible defaults for _QT_DIST
+. if empty(_QT_DIST)
+. if ${_QT_VER:M4}
+_QT_DIST= yes # don't force qt-dist to be set for Qt4 ports which all have 'yes'.
+. endif
+. if ${_QT_VER:M5}
+_QT_DIST= ${PORTNAME} # don't force qt-dist to be set for Qt5 ports which 75% of time are ${PORTNAME}
+. endif
+. endif
+
+# Check validitiy
+. if empty(_QT_DISTS:M${_QT_DIST})
+IGNORE= Unsupported qt-dist ${_QT_DIST} for qt:${_QT_VER}
+. endif
+################################################################################
+
+# Set standard bsd.port.mk variables
+MASTER_SITES= ${MASTER_SITE_QT}
+DISTINFO_FILE?= ${PORTSDIR}/devel/${_QT_RELNAME}/distinfo
+
+LICENSE?= LGPL21
+
+. if !exists(${PKGDIR}/pkg-descr)
+DESCR?= ${PORTSDIR}/devel/${_QT_RELNAME}/pkg-descr
+. endif
+
+# Stage support.
+DESTDIRNAME= INSTALL_ROOT
+
+. if ${_QT_VER:M4}
+MASTER_SITE_SUBDIR?= archive/qt/${_QT_VERSION:R}/${_QT_VERSION}/
+DISTNAME= qt-everywhere-opensource-src-${_QT_VERSION}
+DIST_SUBDIR= KDE
+. else
+MASTER_SITE_SUBDIR?= official_releases/qt/${_QT_VERSION:R}/${_QT_VERSION}/submodules/
+# www/qt5-webengine hackery: The tarballs of 5.9.5 had a different naming scheme.
+. if ${QT5_VERSION} == "5.9.5"
+DISTNAME= ${_QT_DIST:S,^,qt,:S,$,-opensource-src-${DISTVERSION},}
+. else
+DISTNAME= ${_QT_DIST:S,^,qt,:S,$,-everywhere-src-${DISTVERSION},}
+. endif
+DISTFILES= ${DISTNAME:S,$,${EXTRACT_SUFX},}
+DIST_SUBDIR= KDE/Qt/${_QT_VERSION}
+
+# Qt (at least when used with qmake) has a tendency to overlink: some libraries
+# have dependencies on others in the mkspec configurations and the latter are
+# always passed to the linker even if they are not actually used. By passing
+# --as-needed to the linker by default when building the Qt ports we do not
+# have to declare a lot of unnecessary dependencies in USE_QT5.
+# This could arguably work for Qt4 too, but since it is maintenance mode it is
+# better not to fix what is not explicitly broken there.
+LDFLAGS+= -Wl,--as-needed
+
+. if ${.TARGETS:Mmakesum} || ${.TARGETS:Mfetch} && \
+ defined(DISABLE_SIZE) && defined(NO_CHECKSUM)
+# Ensure that the "makesum" target (with its inner "fetch" one) uses
+# devel/qt*/distinfo for every port.
+. if ${DISTINFO_FILE:H} == ${PORTSDIR}/devel/${_QT_RELNAME}
+_QT_DIST= ${_QT5_DISTS}
+. endif
+. endif
+
+# Qt5's tarballs are xz compressed.
+. if empty(USES:Mtar)
+EXTRACT_SUFX?= .tar.xz
+. endif
+
+. if ${_QT_DIST} == "base" && ${PORTNAME} != "qmake"
+# Qt configure requires pkg-config to detect dependencies.
+.include "${USESDIR}/pkgconfig.mk"
+. endif
+
+# -nomake is only used by qtbase's configure script.
+# Other ports from other Qt modules will automatically build examples and
+# tests if the directories exist because of mkspecs/features/qt_parts.prf.
+EXTRACT_AFTER_ARGS?= ${DISTNAME:S,$,/examples,:S,^,--exclude ,} \
+ ${DISTNAME:S,$,/tests,:S,^,--exclude ,}
+. endif # ! ${_QT_VER:M4}
+
+CONFIGURE_ENV+= MAKE="${MAKE:T}"
+
+CONFIGURE_ARGS+= -opensource -confirm-license \
+ -no-pch \
+ -prefix ${PREFIX} \
+ -bindir ${PREFIX}/${QT_BINDIR_REL} \
+ -headerdir ${PREFIX}/${QT_INCDIR_REL} \
+ -libdir ${PREFIX}/${QT_LIBDIR_REL} \
+ -plugindir ${PREFIX}/${QT_PLUGINDIR_REL} \
+ -importdir ${PREFIX}/${QT_IMPORTDIR_REL} \
+ -datadir ${PREFIX}/${QT_DATADIR_REL} \
+ -docdir ${PREFIX}/${QT_DOCDIR_REL} \
+ -translationdir ${PREFIX}/${QT_L10NDIR_REL} \
+ -sysconfdir ${PREFIX}/${QT_ETCDIR_REL}
+
+. if ${_QT_VER:M4}
+CONFIGURE_ARGS+= -fast \
+ -platform ${QMAKESPEC} \
+ -system-libjpeg -system-libpng \
+ -system-libmng -system-libtiff -system-zlib \
+ -no-phonon-backend \
+ -examplesdir ${PREFIX}/${QT_EXAMPLEDIR_REL}/examples \
+ -demosdir ${PREFIX}/${QT_EXAMPLEDIR_REL}/demos
+. else
+CONFIGURE_ARGS+= -nomake examples -nomake tests \
+ -platform ${QMAKESPECNAME} \
+ -archdatadir ${PREFIX}/${QT_ARCHDIR_REL} \
+ -libexecdir ${PREFIX}/${QT_LIBEXECDIR_REL} \
+ -qmldir ${PREFIX}/${QT_QMLDIR_REL} \
+ -examplesdir ${PREFIX}/${QT_EXAMPLEDIR_REL} \
+ -testsdir ${PREFIX}/${QT_TESTDIR_REL}
+
+. if ${ARCH} == i386 && empty(MACHINE_CPU:Msse2)
+CONFIGURE_ARGS+= -no-sse2
+. endif
+
+# Work around a bug in current binutils, where the gold linker creates
+# duplicate symbols. See pr 218187. Disable the gold-linker for Qt5 ports.
+CONFIGURE_ARGS+= -no-use-gold-linker
+# Pass -recheck-all so that multiple calls to the configure script really
+# re-run all checks.
+CONFIGURE_ARGS+= -recheck-all
+. endif # ${_QT_VER:M4}
+
+. if defined(WANT_QT_DEBUG) || defined(WITH_DEBUG)
+WITH_DEBUG= yes
+STRIP= # It's done prior to bsd.qt.mk inclusion.
+CONFIGURE_ARGS+= -debug -separate-debug-info
+# Override configuration in global qconfig.pri.
+QMAKE_ARGS+= QT_CONFIG+="debug separate_debug_info" \
+ QT_CONFIG-="release"
+. else
+CONFIGURE_ARGS+= -release -no-separate-debug-info
+QMAKE_ARGS+= QT_CONFIG+="release" \
+ QT_CONFIG-="debug separate_debug_info"
+. endif # defined(WANT_QT_DEBUG) || defined(WITH_DEBUG)
+
+. if defined(WANT_QT_VERBOSE_CONFIGURE)
+CONFIGURE_ARGS+= -verbose
+. endif
+
+. if ${_QT_DIST} == "base" || ${_QT_VER:M4}
+. if ${_QT_VER:M4}
+_EXTRA_PATCHES_QT4= ${PORTSDIR}/devel/${_QT_RELNAME}/files/extrapatch-src-corelib-global-qglobal.h \
+ ${PORTSDIR}/devel/${_QT_RELNAME}/files/extrapatch-libtool \
+ ${PORTSDIR}/devel/${_QT_RELNAME}/files/extrapatch-config.tests-unix-compile.test
+# Patch in proper name for armv6 architecture: https://gcc.gnu.org/ml/gcc-patches/2015-06/msg01679.html
+_EXTRA_PATCHES_QT4+= ${PORTSDIR}/devel/${_QT_RELNAME}/files/extrapatch-armv6
+_EXTRA_PATCHES_QT4+= ${PORTSDIR}/devel/${_QT_RELNAME}/files/extrapatch-aarch64
+. else
+_EXTRA_PATCHES_QT5= ${PORTSDIR}/devel/${_QT_RELNAME}/files/extrapatch-mkspecs_features_create__cmake.prf \
+ ${PORTSDIR}/devel/${_QT_RELNAME}/files/extrapatch-mkspecs_features_qt__module.prf \
+ ${PORTSDIR}/devel/${_QT_RELNAME}/files/extrapatch-mkspecs_common_bsd_bsd.conf
+. if ${ARCH:Mmips*} || ${ARCH:Mpowerpc*} || ${ARCH} == sparc64
+_EXTRA_PATCHES_QT5+= ${PORTSDIR}/devel/${_QT_RELNAME}/files/extra-patch-mkspecs_common_g++-base.conf \
+ ${PORTSDIR}/devel/${_QT_RELNAME}/files/extra-patch-mkspecs_common_gcc-base.conf
+USE_GCC= yes
+. endif
+. endif
+EXTRA_PATCHES?= ${PORTSDIR}/devel/${_QT_RELNAME}/files/extrapatch-configure \
+ ${_EXTRA_PATCHES_QT4} ${_EXTRA_PATCHES_QT5}
+. endif # ${_QT_DIST} == "base" || ${_QT_VER:M4}
+
+# Override settings installed in qconfig.h and *.pri files. The flags will be
+# installed along with the port, but have to be passed as arguments while
+# building the port itself. Flags prefixed with "-" (e.g., "-CUPS" and "-cups")
+# are needed to disable some features.
+. if !defined(${QT_MODNAME}) || empty(${QT_MODNAME})
+# Used for both qconfig-*.h and qt_config_*.pri; it can't be empty.
+QT_MODNAME= ${PORTNAME}
+. endif
+QT_DEFINES?= # For qconfig.h flags (without "QT_" prefix).
+QT_CONFIG?= # For *.pri files QT_CONFIG flags.
+. if ${QT_DEFINES}
+QMAKE_ARGS+= DEFINES+="${QT_DEFINES:O:u:C/^([^-])/QT_\1/:C/^-/QT_NO_/:O}"
+. if ${QT_DEFINES:N-*}
+# Use a script to cleanup qconfig-modules.h (see qt-post-install).
+PKGDEINSTALL= ${WRKDIR}/pkg-deinstall
+. endif
+. endif # ${QT_DEFINES}
+. if ${QT_CONFIG:N-*}
+QMAKE_ARGS+= QT_CONFIG+="${QT_CONFIG:N-*:O:u}"
+. endif
+. if ${QT_CONFIG:M-*}
+QMAKE_ARGS+= QT_CONFIG-="${QT_CONFIG:M-*:O:u:C/^-//}"
+. endif
+
+# Add a RUN_DEPENDS on misc/qtchooser to select the binaries.
+# The binaries of both supported Qt versions are installed to
+# ${LOCALBASE}/lib/qt[45]/bin. The port misc/qtchooser installs
+# wrapper binaries into ${LOCALBASE}/bin, and chooses the correct
+# one depending on the value of QT_SELECT (which we pass to both
+# CONFIGURE_ENV and MAKE_ENV). Therefore make all QT_DIST ports
+# RUN_DEPEND on it.
+RUN_DEPENDS+= qtchooser:misc/qtchooser
+
+PLIST_SUB+= SHORTVER=${DISTVERSION:R} \
+ FULLVER=${DISTVERSION:C/-.*//}
+
+# Handle additional PLIST directories, which should only be used for Qt-dist ports.
+. for dir in CMAKE ETC
+# Export QT_CMAKEDIR and QT_ETCDIR.
+PLIST_SUB+= QT_${dir}DIR="${QT_${dir}DIR_REL}"
+. endfor
+
+
+. if ! ${_QT_VER:M4}
+. if ${_QT_DIST} == "base"
+# qtbase requires some tools to be symlinked to the build directory.
+_QT_TOOLS= # empty
+. if ${PORTNAME} != "qmake"
+_QT_TOOLS+= ${QMAKE}
+. endif
+. if ${PORTNAME} != "buildtools"
+_QT_TOOLS+= ${MOC} ${RCC}
+. endif
+. if ${PORTNAME} != "qdoc"
+_QT_TOOLS+= qdoc
+. endif
+. if ${PORTNAME} != "dbus"
+_QT_TOOLS+= qdbuscpp2xml qdbusxml2cpp
+. endif
+. if ${PORTNAME} != "widgets"
+_QT_TOOLS+= ${UIC}
+. endif
+
+# The list of QtBase components that need to be linked into WRKSRC/lib for
+# other QtBase ports. See below.
+_QT5_BASE= core dbus gui network sql widgets
+
+.if ${_QT_VER:M5}
+post-patch: gcc-post-patch
+gcc-post-patch:
+ ${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|' ${WRKSRC}/mkspecs/common/gcc-base.conf
+ ${REINPLACE_CMD} 's|%%GCC_DEFAULT%%|${GCC_DEFAULT}|' ${WRKSRC}/mkspecs/common/gcc-base.conf \
+ ${WRKSRC}/mkspecs/common/g++-base.conf
+.endif
+
+pre-configure: qtbase-pre-configure
+qtbase-pre-configure:
+. for tool in ${_QT_TOOLS}
+ @${TEST} -e ${QT_BINDIR}/${tool:T} && \
+ ${LN} -sf ${QT_BINDIR}/${tool:T} ${CONFIGURE_WRKSRC}/bin/${tool:T} || \
+ ${TRUE}
+. endfor
+
+# The following is a fix for the inplace upgrade problem we faced (see
+# QTBUG-40825 and ports bugs 194088, 195105 and 198720) previously,
+# which previously was adressed by making sure, that ${LOCALBASE}/lib, which
+# would often gets added by pkgconf for the dependencies, was passed after
+# ${WRKSRC}/lib.
+# * We fix the inplace upgrade problem by moving the Qt5 libraries into
+# ${LOCALBASE}/lib/qt5. Therefore a -L${LOCALBASE}/lib does no harm anymore.
+# * However, this means, that the ports belonging to the split up QtBase package
+# now no longer can find their depending QtBase libraries. We fix this by
+# linking these into ${CONFIGURE_WRKSRC}/lib if the given QtBase port depends
+# on them.
+. if ${_QT_DIST:Mbase}
+. for basedep in ${_QT5_BASE}
+. if ! empty(USE_QT:M${basedep})
+ ${LN} -sf ${QT_LIBDIR}/${${basedep}_LIB} ${CONFIGURE_WRKSRC}/lib
+. endif
+. endfor
+. endif
+
+#
+# **** THIS PART IS OBSOLETE FOR THE NEXT QT UPGRADE ****
+#
+# Add ${LOCALBASE}/lib to DEFAULT_LIBDIRS, which we use to filter out
+# certain paths from pkg-config calls (see the explanation in
+# devel/qt5/files/patch-configure) as well as for setting
+# QMAKE_DEFAULT_LIBDIR in mkspecs/qconfig.pri. Part of the solution for
+# ports/194088.
+post-patch: qtbase-post-patch
+qtbase-post-patch:
+ ${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
+ ${WRKSRC}//mkspecs/common/bsd/bsd.conf
+
+. if ${PORTNAME} != "qmake"
+_QMAKE= ${CONFIGURE_WRKSRC}/bin/qmake
+. endif
+. endif
+
+pre-configure: qt5-pre-configure
+qt5-pre-configure:
+# Qt 5.3.2 introduced a check in mkspecs/features/create_cmake.prf that
+# requires tests/auto/cmake to be present, otherwise the configure stage will
+# fail.
+# Since we cannot extract tests/auto/cmake/ and exclude tests/ at the same
+# time, we have to disable the check in a cache file (the only way to get this
+# value through to the configure script in qtbase).
+ ${MKDIR} ${CONFIGURE_WRKSRC}
+ ${ECHO_CMD} 'CMAKE_MODULE_TESTS = -' > ${CONFIGURE_WRKSRC}/.qmake.cache
+#
+# **** THIS PART IS OBSOLETE FOR THE NEXT QT UPGRADE ****
+#
+# We piggyback on QMAKE_LIBDIR_FLAGS to make sure -L${WRKSRC}/lib is passed to
+# the linker before -L/usr/local/lib. By default, the opposite happens, which
+# is a problem when a Qt port is being upgraded, since an existing library
+# would end up being picked up instead of those built in ${WRKSRC}/lib. Since
+# qmake appends the value of QMAKE_LIBDIR to QMAKE_LIBDIR_FLAGS, we can use the
+# latter to get the linker path order right. qmake is smart enough to strip
+# occurrences of ${WRKSRC}/lib from .pc and .prl files when installing them.
+# See QTBUG-40825 and ports bugs 194088, 195105 and 198720.
+ ${ECHO_CMD} 'QMAKE_LIBDIR_FLAGS = -L${CONFIGURE_WRKSRC}/lib' >> ${CONFIGURE_WRKSRC}/.qmake.cache
+ ${ECHO_CMD} 'QMAKE_DEFAULT_LIBDIRS = ${LOCALBASE}/lib' >> ${CONFIGURE_WRKSRC}/.qmake.cache
+ ${ECHO_CMD} 'QMAKE_DEFAULT_INCDIRS = ${LOCALBASE}/include' >> ${CONFIGURE_WRKSRC}/.qmake.cache
+
+post-install: qt-post-install
+qt-post-install:
+. if ${QT_DEFINES:N-*}
+# We can't use SUB_FILES with a shared pkg-deinstall.in.
+# We need it to be a script instead of a group of @unexecs, otherwise
+# qconfig-modules.h cleanup will be run in pre-deinstall stage, which is
+# useless. This will probably be replaced by a Keywords/ script in the future.
+ @${SED} -e 's,%%QT_MODNAME%%,${QT_MODNAME},g' \
+ -e 's,%%QT_INCDIR%%,${QT_INCDIR},g' \
+ ${PORTSDIR}/devel/${_QT_RELNAME}/${FILESDIR:T}/${PKGDEINSTALL:T}.in > \
+ ${PKGDEINSTALL}
+ @${MKDIR} ${STAGEDIR}${QT_INCDIR}/QtCore/modules
+ @${ECHO_CMD} -n \
+ > ${STAGEDIR}${QT_INCDIR}/QtCore/modules/qconfig-${QT_MODNAME}.h
+. for def in ${QT_DEFINES:N-*:O:u:C/=.*$//}
+ @${ECHO_CMD} "#if !defined(QT_${def}) && !defined(QT_NO_${def})" \
+ >> ${STAGEDIR}${QT_INCDIR}/QtCore/modules/qconfig-${QT_MODNAME}.h
+ ${ECHO_CMD} "# define QT_${def}" \
+ >> ${STAGEDIR}${QT_INCDIR}/QtCore/modules/qconfig-${QT_MODNAME}.h
+ @${ECHO_CMD} "#endif" \
+ >> ${STAGEDIR}${QT_INCDIR}/QtCore/modules/qconfig-${QT_MODNAME}.h
+ @${ECHO_CMD} \
+ >> ${STAGEDIR}${QT_INCDIR}/QtCore/modules/qconfig-${QT_MODNAME}.h
+. endfor
+ @${ECHO_CMD} "${PREFIX}/${QT_INCDIR_REL}/QtCore/modules/qconfig-${QT_MODNAME}.h" \
+ >> ${TMPPLIST}
+ @${ECHO_CMD} "@exec echo '#include <QtCore/modules/qconfig-${QT_MODNAME}.h>' >> ${PREFIX}/${QT_INCDIR_REL}/QtCore/qconfig-modules.h" \
+ >> ${TMPPLIST}
+. endif # ${QT_DEFINES:N-*}
+. if ${QT_CONFIG:N-*}
+ @${MKDIR} ${STAGEDIR}${QT_MKSPECDIR}/modules
+ ${ECHO_CMD} "QT_CONFIG += ${QT_CONFIG:N-*:O:u}" \
+ > ${STAGEDIR}${QT_MKSPECDIR}/modules/qt_config_${QT_MODNAME}.pri
+ @${ECHO_CMD} "${PREFIX}/${QT_MKSPECDIR_REL}/modules/qt_config_${QT_MODNAME}.pri" \
+ >> ${TMPPLIST}
+. endif # ${QT_CONFIG:N-*}
+. endif # M4
+
+.endif # defined(_QT_DIST_MK_INCLUDED)
diff --git a/test-ports/Mk/Uses/qt.mk b/test-ports/Mk/Uses/qt.mk
new file mode 100644
index 00000000..f8572544
--- /dev/null
+++ b/test-ports/Mk/Uses/qt.mk
@@ -0,0 +1,510 @@
+# $FreeBSD: head/Mk/Uses/qt.mk 495245 2019-03-10 10:02:38Z adridg $
+#
+# There are three Qt related USES files with different access to Qt.
+# - qmake: The port requires Qt's qmake to build -- creates the configure target
+# - auto includes qt.mk
+# - qt-dist: The port is a port for an part of Qt4 or Qt5
+# - auto includes qt.mk and qmake.mk
+# - qt.mk - Dependency handling. USE_QT=foo bar
+#
+# Usage:
+# USES=qt:<version>[,no_env]
+#
+# Versions: 4 5
+#
+# Port variables:
+# USE_QT - List of Qt modules to depend on, with optional '_build'
+# and '_run' suffixes. Define it empty to include this file
+# without depending on Qt ports.
+# Global switches (for inclusion into /etc/make.conf):
+# QT4_OPTIONS - A list of (Qt 4-only) global options; can be CUPS, NAS
+# and/or QGTKSTYLE. If set, Qt will be built with support
+# for:
+# * Common UNIX Printing System (CUPS);
+# * Network Audio System (NAS);
+# * GTK+-based Qt theme (QGTKSTYLE).
+
+.if !defined(_QT_MK_INCLUDED)
+_QT_MK_INCLUDED= qt.mk
+
+# Qt versions currently supported by the framework.
+_QT_SUPPORTED?= 4 5
+QT4_VERSION?= 4.8.7
+QT5_VERSION?= 5.12.1
+
+# We accept the Qt version to be passed by either or all of the three mk files.
+. if empty(qt_ARGS) && empty(qmake_ARGS) && empty(qt-dist_ARGS)
+IGNORE= qt needs a version (${_QT_SUPPORTED}) passed via qt, qmake or qt-dist.
+. endif
+
+# Gather all the args together
+_QT_GLOBAL_ARGS= ${qt_ARGS} ${qmake_ARGS} ${qt-dist_ARGS}
+
+# Check fo the Qt version to be used
+_QT_VER= # empty
+. for ver in ${_QT_SUPPORTED:O:u}
+. if ${_QT_GLOBAL_ARGS:M${ver}}
+. if !defined(_QT_VERSION)
+_QT_VER= ${ver}
+. else
+. if ${_QT_VERSION} != ${ver}
+IGNORE?= cannot be installed: different Qt versions specified via qt:[${_QT_SUPPORTED:S/ //g}], qmake:[${_QT_SUPPORTED:S/ //g}] a qt-dist:[${_QT_SUPPORTED:S/ //g}]
+. endif
+. endif
+. endif
+. endfor
+
+. if empty(_QT_VER)
+IGNORE?= cannot decide what Qt version to use: specify one via qt:[${_QT_SUPPORTED:S/ //g}], qmake:[${_QT_SUPPORTED:S/ //g}] or qt-dist:[${_QT_SUPPORTED:S/ //g}]
+. endif
+
+# Set the shortcuts used from now on
+_QT_RELNAME= qt${_QT_VER}
+_QT_VERSION= ${QT${_QT_VER}_VERSION}
+
+# A wrapper (qtchooser) is used to invoke binaries.
+QT_BINDIR_REL?= ${QT_ARCHDIR_REL}/bin
+QT_INCDIR_REL?= include/${_QT_RELNAME}
+QT_LIBDIR_REL?= lib/${_QT_RELNAME}
+QT_ARCHDIR_REL?= ${QT_LIBDIR_REL}
+QT_PLUGINDIR_REL?= ${QT_ARCHDIR_REL}/plugins
+QT_LIBEXECDIR_REL?= libexec/${_QT_RELNAME}
+QT_IMPORTDIR_REL?= ${QT_ARCHDIR_REL}/imports
+QT_QMLDIR_REL?= ${QT_ARCHDIR_REL}/qml
+QT_DATADIR_REL?= share/${_QT_RELNAME}
+QT_DOCDIR_REL?= share/doc/${_QT_RELNAME}
+QT_L10NDIR_REL?= ${QT_DATADIR_REL}/translations
+QT_ETCDIR_REL?= etc/xdg
+QT_EXAMPLEDIR_REL?= share/examples/${_QT_RELNAME}
+QT_TESTDIR_REL?= ${QT_DATADIR_REL}/tests
+QT_CMAKEDIR_REL?= lib/cmake
+QT_QTCHOOSERDIR_REL?= ${QT_ETCDIR_REL}/qtchooser
+
+# Not customizable.
+. if ${_QT_VERSION:M4*}
+QT_MKSPECDIR_REL= ${QT_DATADIR_REL}/mkspecs
+_QT_LIBVER= # empty
+. else
+QT_MKSPECDIR_REL= ${QT_ARCHDIR_REL}/mkspecs
+_QT_LIBVER= ${_QT_VERSION:R:R}
+. endif
+
+LRELEASE?= ${QT_BINDIR}/lrelease
+LUPDATE?= ${QT_BINDIR}/lupdate
+MOC?= ${QT_BINDIR}/moc
+RCC?= ${QT_BINDIR}/rcc
+UIC?= ${QT_BINDIR}/uic
+QMAKE?= ${QT_BINDIR}/qmake
+# Needed to redefine the qmake target for internal Qt configuration.
+_QMAKE?= ${QMAKE}
+QMAKESPECNAME?= freebsd-${QMAKE_COMPILER}
+QMAKESPEC?= ${QT_MKSPECDIR}/${QMAKESPECNAME}
+
+# The whole Qt distribution should be built with the same compiler, but it's
+# better to support custom settings. Dereferencing the detection allows to
+# avoid forking a shell on each inclusion of this file, and to catch any CXX
+# customization (via USE_GCC, etc.).
+QMAKE_COMPILER= $$(ccver="$$(${CXX} --version)"; case "$$ccver" in *clang*) echo clang ;; *) echo g++ ;; esac)
+
+. for dir in BIN INC LIB ARCH PLUGIN LIBEXEC IMPORT \
+ QML DATA DOC L10N ETC EXAMPLE TEST MKSPEC \
+ CMAKE QTCHOOSER
+QT_${dir}DIR= ${PREFIX}/${QT_${dir}DIR_REL}
+# Export all directories to the plist substituion for QT_DIST ports.
+# For the others, exclude QT_CMAKEDIR and QT_ETCDIR.
+. if ${dir:NCMAKE} && ${dir:NETC}
+PLIST_SUB+= QT_${dir}DIR="${QT_${dir}DIR_REL}"
+. endif
+. endfor
+
+# Pass the chosen Qt version to the environment for qtchooser.
+CONFIGURE_ENV+= QT_SELECT=${_QT_RELNAME}
+MAKE_ENV+= QT_SELECT=${_QT_RELNAME}
+
+# Make sure both the installed mkspecs as well as the ones being built are
+# found, with the ones from the port being built having preference.
+CONFIGURE_ENV+= QMAKEMODULES="${WRKSRC}/mkspecs/modules:${LOCALBASE}/${QT_MKSPECDIR_REL}/modules"
+MAKE_ENV+= QMAKEMODULES="${WRKSRC}/mkspecs/modules:${LOCALBASE}/${QT_MKSPECDIR_REL}/modules"
+
+_USES_POST+= qt
+.endif # _QT_MK_INCLUDED
+
+# =============================================================================
+#
+# =============================================================================
+
+.if defined(_POSTMKINCLUDED) && !defined(_QT_MK_POST_INCLUDED)
+_QT_MK_POST_INCLUDED= qt.mk
+
+# The Qt components supported by qt.mk: list of shared, and version specific ones
+_USE_QT_ALL= assistant dbus declarative designer doc gui help \
+ imageformats l10n linguist linguisttools multimedia \
+ network opengl pixeltool qdbusviewer qmake script \
+ scripttools sql sql-mysql sql-odbc sql-pgsql \
+ sql-sqlite2 sql-sqlite3 svg testlib webkit \
+ xml xmlpatterns
+.if ${ARCH} == amd64 || ${ARCH} == i386
+_USE_QT_ALL+= sql-ibase
+.endif
+
+_USE_QT4_ONLY= accessible assistant-adp assistantclient clucene codecs-cn codecs-jp \
+ codecs-kr codecs-tw corelib demo graphicssystems-opengl \
+ help-tools iconengines inputmethods makeqpf moc phonon \
+ phonon-gst porting qdoc3 qmlviewer qt3support qtconfig \
+ qtestlib qvfb rcc uic uic3 xmlpatterns-tool
+
+_USE_QT5_ONLY= 3d buildtools canvas3d charts concurrent connectivity \
+ core datavis3d diag examples gamepad \
+ graphicaleffects location networkauth paths phonon4 plugininfo printsupport \
+ qdbus qdoc qdoc-data qev quickcontrols \
+ quickcontrols2 remoteobjects scxml sensors serialbus serialport speech \
+ sql-tds uiplugin uitools virtualkeyboard wayland webchannel \
+ webengine websockets websockets-qml webview widgets x11extras
+
+# Dependency tuples: _LIB should be preferred if possible.
+3d_PORT= graphics/${_QT_RELNAME}-3d
+3d_LIB= libQt${_QT_LIBVER}3DCore.so
+
+accessible_PORT= accessibility/${_QT_RELNAME}-accessible
+accessible_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/accessible/libqtaccessiblewidgets.so
+
+assistant_PORT= devel/${_QT_RELNAME}-assistant
+assistant_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/assistant
+
+assistant-adp_PORT= devel/${_QT_RELNAME}-assistant-adp
+assistant-adp_PATH= assistant_adp
+
+assistantclient_PORT= devel/${_QT_RELNAME}-libqtassistantclient
+assistantclient_LIB= libQt${_QT_LIBVER}AssistantClient.so
+
+buildtools_PORT= devel/${_QT_RELNAME}-buildtools
+buildtools_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/moc
+
+canvas3d_PORT= x11-toolkits/${_QT_RELNAME}-canvas3d
+canvas3d_PATH= ${LOCALBASE}/${QT_QMLDIR_REL}/QtCanvas3D/qmldir
+
+charts_PORT= x11-toolkits/${_QT_RELNAME}-charts
+charts_LIB= libQt${_QT_LIBVER}Charts.so
+
+clucene_PORT= textproc/${_QT_RELNAME}-clucene
+clucene_LIB= libQt${_QT_LIBVER}CLucene.so
+
+codecs-cn_PORT= chinese/${_QT_RELNAME}-codecs-cn
+codecs-cn_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/codecs/libqcncodecs.so
+
+codecs-jp_PORT= japanese/${_QT_RELNAME}-codecs-jp
+codecs-jp_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/codecs/libqjpcodecs.so
+
+codecs-kr_PORT= korean/${_QT_RELNAME}-codecs-kr
+codecs-kr_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/codecs/libqkrcodecs.so
+
+codecs-tw_PORT= chinese/${_QT_RELNAME}-codecs-tw
+codecs-tw_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/codecs/libqtwcodecs.so
+
+concurrent_PORT= devel/${_QT_RELNAME}-concurrent
+concurrent_LIB= libQt${_QT_LIBVER}Concurrent.so
+
+connectivity_PORT= comms/${_QT_RELNAME}-connectivity
+connectivity_LIB= libQt${_QT_LIBVER}Bluetooth.so
+
+core_PORT= devel/${_QT_RELNAME}-core
+core_LIB= libQt${_QT_LIBVER}Core.so
+
+corelib_PORT= devel/${_QT_RELNAME}-corelib
+corelib_LIB= ${core_LIB}
+
+datavis3d_PORT= x11-toolkits/${_QT_RELNAME}-datavis3d
+datavis3d_LIB= libQt${_QT_LIBVER}DataVisualization.so
+
+dbus_PORT= devel/${_QT_RELNAME}-dbus
+dbus_LIB= libQt${_QT_LIBVER}DBus.so
+
+declarative_PORT= x11-toolkits/${_QT_RELNAME}-declarative
+. if ${_QT_VER:M4}
+declarative_LIB= libQt${_QT_LIBVER}Declarative.so
+. else
+declarative_LIB= libQt${_QT_LIBVER}Qml.so
+. endif
+
+demo_PORT= misc/${_QT_RELNAME}-qtdemo
+demo_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qtdemo
+
+designer_PORT= devel/${_QT_RELNAME}-designer
+designer_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/designer
+
+diag_PORT= sysutils/${_QT_RELNAME}-qtdiag
+diag_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qtdiag
+
+doc_PORT= misc/${_QT_RELNAME}-doc
+doc_PATH= ${_QT_RELNAME}-doc>=${_QT_VERSION:R:R}
+
+examples_PORT= misc/${_QT_RELNAME}-examples
+examples_PATH= ${_QT_RELNAME}-examples>=${_QT_VERSION:R:R}
+
+gamepad_PORT= x11-toolkits/${_QT_RELNAME}-gamepad
+gamepad_LIB= libQt${_QT_LIBVER}Gamepad.so
+
+graphicaleffects_PORT= graphics/${_QT_RELNAME}-graphicaleffects
+graphicaleffects_PATH= ${LOCALBASE}/${QT_QMLDIR_REL}/QtGraphicalEffects/qmldir
+
+graphicssystems-opengl_PORT= x11/${_QT_RELNAME}-graphicssystems-opengl
+graphicssystems-opengl_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/graphicssystems/libqglgraphicssystem.so
+
+gui_PORT= x11-toolkits/${_QT_RELNAME}-gui
+gui_LIB= libQt${_QT_LIBVER}Gui.so
+
+help_PORT= devel/${_QT_RELNAME}-help
+help_LIB= libQt${_QT_LIBVER}Help.so
+
+help-tools_PORT= devel/${_QT_RELNAME}-help-tools
+help-tools_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qhelpgenerator
+
+iconengines_PORT= graphics/${_QT_RELNAME}-iconengines
+iconengines_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/iconengines/libqsvgicon.so
+
+imageformats_PORT= graphics/${_QT_RELNAME}-imageformats
+imageformats_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/imageformats/libqtiff.so
+
+inputmethods_PORT= x11/${_QT_RELNAME}-inputmethods
+inputmethods_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/inputmethods/libqimsw-multi.so
+
+linguist_PORT= devel/${_QT_RELNAME}-linguist
+linguist_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/linguist
+
+linguisttools_PORT= devel/${_QT_RELNAME}-linguisttools
+linguisttools_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/lrelease
+
+location_PORT= devel/${_QT_RELNAME}-location
+location_LIB= libQt${_QT_LIBVER}Location.so
+
+l10n_PORT= misc/${_QT_RELNAME}-l10n
+l10n_PATH= ${_QT_RELNAME}-l10n>=${_QT_VERSION:R:R}
+
+makeqpf_PORT= devel/${_QT_RELNAME}-makeqpf
+makeqpf_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/makeqpf
+
+moc_PORT= devel/${_QT_RELNAME}-moc
+moc_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/moc
+
+multimedia_PORT= multimedia/${_QT_RELNAME}-multimedia
+multimedia_LIB= libQt${_QT_LIBVER}Multimedia.so
+
+network_PORT= net/${_QT_RELNAME}-network
+network_LIB= libQt${_QT_LIBVER}Network.so
+
+networkauth_PORT= net/${_QT_RELNAME}-networkauth
+networkauth_LIB= libQt${_QT_LIBVER}NetworkAuth.so
+
+opengl_PORT= graphics/${_QT_RELNAME}-opengl
+opengl_LIB= libQt${_QT_LIBVER}OpenGL.so
+
+paths_PORT= sysutils/${_QT_RELNAME}-qtpaths
+paths_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qtpaths
+
+pixeltool_PORT= graphics/${_QT_RELNAME}-pixeltool
+pixeltool_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/pixeltool
+
+phonon_PORT= multimedia/phonon@${_QT_RELNAME}
+phonon_LIB= libphonon.so
+
+phonon4_PORT= multimedia/phonon@${_QT_RELNAME}
+phonon4_LIB= libphonon4${_QT_RELNAME}.so
+
+phonon-gst_PORT= multimedia/phonon-gstreamer@${_QT_RELNAME}
+phonon-gst_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/phonon_backend/libphonon_gstreamer.so
+
+plugininfo_PORT= sysutils/${_QT_RELNAME}-qtplugininfo
+plugininfo_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qtplugininfo
+
+porting_PORT= devel/${_QT_RELNAME}-porting
+porting_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qt3to4
+
+printsupport_PORT= print/${_QT_RELNAME}-printsupport
+printsupport_LIB= libQt${_QT_LIBVER}PrintSupport.so
+
+qdbus_PORT= devel/${_QT_RELNAME}-qdbus
+qdbus_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qdbus
+
+qdbusviewer_PORT= devel/${_QT_RELNAME}-qdbusviewer
+qdbusviewer_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qdbusviewer
+
+qdoc_PORT= devel/${_QT_RELNAME}-qdoc
+qdoc_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qdoc
+
+qdoc-data_PORT= devel/${_QT_RELNAME}-qdoc-data
+qdoc-data_PATH= ${LOCALBASE}/${QT_DOCDIR_REL}/global/config.qdocconf
+
+qdoc3_PORT= devel/${_QT_RELNAME}-qdoc3
+qdoc3_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qdoc3
+
+qev_PORT= x11/${_QT_RELNAME}-qev
+qev_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qev
+
+qmake_PORT= devel/${_QT_RELNAME}-qmake
+qmake_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qmake
+
+qmlviewer_PORT= devel/${_QT_RELNAME}-qmlviewer
+qmlviewer_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qmlviewer
+
+qt3support_PORT= devel/${_QT_RELNAME}-qt3support
+qt3support_LIB= libQt${_QT_LIBVER}3Support.so
+
+qtconfig_PORT= misc/${_QT_RELNAME}-qtconfig
+qtconfig_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qtconfig
+
+qtestlib_PORT= ${testlib_PORT}
+qtestlib_LIB= ${testlib_LIB}
+
+quickcontrols_PORT= x11-toolkits/${_QT_RELNAME}-quickcontrols
+quickcontrols_PATH= ${LOCALBASE}/${QT_QMLDIR_REL}/QtQuick/Controls/qmldir
+
+quickcontrols2_PORT= x11-toolkits/${_QT_RELNAME}-quickcontrols2
+quickcontrols2_LIB= libQt${_QT_LIBVER}QuickControls2.so
+
+qvfb_PORT= devel/${_QT_RELNAME}-qvfb
+qvfb_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qvfb
+
+rcc_PORT= devel/${_QT_RELNAME}-rcc
+rcc_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/rcc
+
+remoteobjects_PORT= devel/${_QT_RELNAME}-remoteobjects
+remoteobjects_LIB= libQt${_QT_LIBVER}RemoteObjects.so
+
+sensors_PORT= comms/${_QT_RELNAME}-sensors
+sensors_LIB= libQt${_QT_LIBVER}Sensors.so
+
+script_PORT= devel/${_QT_RELNAME}-script
+script_LIB= libQt${_QT_LIBVER}Script.so
+
+scripttools_PORT= devel/${_QT_RELNAME}-scripttools
+scripttools_LIB= libQt${_QT_LIBVER}ScriptTools.so
+
+scxml_PORT= devel/${_QT_RELNAME}-scxml
+scxml_LIB= libQt${_QT_LIBVER}Scxml.so
+
+serialbus_PORT= comms/${_QT_RELNAME}-serialbus
+serialbus_LIB= libQt${_QT_LIBVER}SerialBus.so
+
+serialport_PORT= comms/${_QT_RELNAME}-serialport
+serialport_LIB= libQt${_QT_LIBVER}SerialPort.so
+
+speech_PORT= accessibility/${_QT_RELNAME}-speech
+speech_LIB= libQt${_QT_LIBVER}TextToSpeech.so
+
+sql_PORT= databases/${_QT_RELNAME}-sql
+sql_LIB= libQt${_QT_LIBVER}Sql.so
+
+sql-pgsql_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/sqldrivers/libqsqlpsql.so
+
+. if ${_QT_VERSION:M4*}
+sql-sqlite2_PORT= databases/${_QT_RELNAME}-sqlite-plugin
+. endif
+
+sql-sqlite3_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/sqldrivers/libqsqlite.so
+
+. for db in ibase mysql odbc pgsql sqlite2 sqlite3 tds
+. if ${_QT_VERSION:M4*}
+sql-${db}_PORT?= databases/${_QT_RELNAME}-${db}-plugin
+. else
+sql-${db}_PORT?= databases/${_QT_RELNAME}-sqldrivers-${db}
+. endif
+sql-${db}_PATH?= ${LOCALBASE}/${QT_PLUGINDIR_REL}/sqldrivers/libqsql${db:C/^sql//}.so
+. endfor
+
+svg_PORT= graphics/${_QT_RELNAME}-svg
+svg_LIB= libQt${_QT_LIBVER}Svg.so
+
+testlib_PORT= devel/${_QT_RELNAME}-testlib
+testlib_LIB= libQt${_QT_LIBVER}Test.so
+
+uic_PORT= devel/${_QT_RELNAME}-uic
+uic_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/uic
+
+uic3_PORT= devel/${_QT_RELNAME}-uic3
+uic3_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/uic3
+
+uiplugin_PORT= x11-toolkits/${_QT_RELNAME}-uiplugin
+uiplugin_PATH= ${LOCALBASE}/${QT_INCDIR_REL}/QtUiPlugin/QtUiPlugin
+
+uitools_PORT= devel/${_QT_RELNAME}-uitools
+uitools_PATH= ${LOCALBASE}/${QT_LIBDIR_REL}/libQt${_QT_LIBVER}UiTools.a
+
+virtualkeyboard_PORT= x11-toolkits/${_QT_RELNAME}-virtualkeyboard
+virtualkeyboard_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/platforminputcontexts/libqtvirtualkeyboardplugin.so
+
+webchannel_PORT= www/${_QT_RELNAME}-webchannel
+webchannel_LIB= libQt${_QT_LIBVER}WebChannel.so
+
+webengine_PORT= www/${_QT_RELNAME}-webengine
+webengine_LIB= libQt${_QT_LIBVER}WebEngine.so
+
+websockets_PORT= www/${_QT_RELNAME}-websockets
+websockets_LIB= libQt${_QT_LIBVER}WebSockets.so
+
+websockets-qml_PORT= www/${_QT_RELNAME}-websockets-qml
+websockets-qml_PATH= ${LOCALBASE}/${QT_QMLDIR_REL}/QtWebSockets/qmldir
+
+webkit_PORT= www/${_QT_RELNAME}-webkit
+webkit_LIB= libQt${_QT_LIBVER}WebKit.so
+
+webview_PORT= www/${_QT_RELNAME}-webview
+webview_LIB= libQt${_QT_LIBVER}WebView.so
+
+widgets_PORT= x11-toolkits/${_QT_RELNAME}-widgets
+widgets_LIB= libQt${_QT_LIBVER}Widgets.so
+
+x11extras_PORT= x11/${_QT_RELNAME}-x11extras
+x11extras_LIB= libQt${_QT_LIBVER}X11Extras.so
+
+xml_PORT= textproc/${_QT_RELNAME}-xml
+xml_LIB= libQt${_QT_LIBVER}Xml.so
+
+xmlpatterns_PORT= textproc/${_QT_RELNAME}-xmlpatterns
+xmlpatterns_LIB= libQt${_QT_LIBVER}XmlPatterns.so
+
+xmlpatterns-tool_PORT= textproc/${_QT_RELNAME}-xmlpatterns-tool
+xmlpatterns-tool_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/xmlpatterns
+
+# Actually add the dependencies to the proper lists.
+_USE_QT_ALL+= ${_USE_QT${_QT_VER}_ONLY}
+_USE_QT= ${USE_QT}
+# Iterate through components deprived of suffix.
+. for component in ${_USE_QT:O:u:C/_(build|run)$//}
+# Check that the component is valid.
+. if ${_USE_QT_ALL:M${component}} != ""
+# Skip meta-components (currently none).
+. if defined(${component}_PORT) && (defined(${component}_PATH) || defined(${component}_LIB))
+# Check if a dependency type is explicitly requested.
+. if ${_USE_QT:M${component}_*} != "" && ${_USE_QT:M${component}} == ""
+${component}_TYPE= # empty
+. if ${_USE_QT:M${component}_build} != ""
+${component}_TYPE+= build
+. endif
+. if ${_USE_QT:M${component}_run} != ""
+${component}_TYPE+= run
+. endif
+. endif # ${_USE_QT:M${component}_*} != "" && ${_USE_QT:M${component}} == ""
+# If no dependency type is set, default to full dependency.
+. if !defined(${component}_TYPE)
+${component}_TYPE= build run
+. endif
+# Set real dependencies.
+. if defined(${component}_LIB) && ${${component}_TYPE:Mbuild} && ${${component}_TYPE:Mrun}
+LIB_DEPENDS+= ${${component}_LIB}:${${component}_PORT}
+. else
+${component}_PATH?= ${QT_LIBDIR}/${${component}_LIB}
+${component}_DEPENDS= ${${component}_PATH}:${${component}_PORT}
+. if ${${component}_TYPE:Mbuild} != ""
+BUILD_DEPENDS+= ${${component}_DEPENDS}
+. endif
+. if ${${component}_TYPE:Mrun} != ""
+RUN_DEPENDS+= ${${component}_DEPENDS}
+. endif
+. endif # ${${component}_LIB} && ${${component}_TYPE:Mbuild} && ${${component}_TYPE:Mrun}
+. endif # defined(${component}_PORT) && defined(${component}_PATH)
+. else # ! ${_USE_QT_ALL:M${component}} != ""
+IGNORE= cannot be installed: unknown USE_QT component '${component}'
+. endif # ${_USE_QT_ALL:M${component}} != ""
+. endfor
+
+.endif # defined(_QT_MK_POST_INCLUDED)
diff --git a/test-ports/Mk/Uses/readline.mk b/test-ports/Mk/Uses/readline.mk
new file mode 100644
index 00000000..372f408c
--- /dev/null
+++ b/test-ports/Mk/Uses/readline.mk
@@ -0,0 +1,24 @@
+# $FreeBSD: head/Mk/Uses/readline.mk 444463 2017-06-27 13:46:53Z sunpoet $
+#
+# handle dependency on the readline port
+#
+# Feature: readline
+# Usage: USES=readline
+# Valid ARGS: port
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_READLINE_MK)
+_INCLUDE_USES_READLINE_MK= yes
+
+.if !exists(/usr/lib/libreadline.so)
+readline_ARGS= port
+.endif
+
+.if ${readline_ARGS} == port
+LIB_DEPENDS+= libreadline.so.7:devel/readline
+CPPFLAGS+= -I${LOCALBASE}/include
+LDFLAGS+= -L${LOCALBASE}/lib
+.endif
+
+.endif
diff --git a/test-ports/Mk/Uses/samba.mk b/test-ports/Mk/Uses/samba.mk
new file mode 100644
index 00000000..19d8ec1f
--- /dev/null
+++ b/test-ports/Mk/Uses/samba.mk
@@ -0,0 +1,42 @@
+# $FreeBSD: head/Mk/Uses/samba.mk 472389 2018-06-14 17:50:33Z rene $
+#
+# Handle dependency on samba
+#
+# Feature: samba
+# Usage: USES=samba or USES=samba:ARGS
+# Valid ARGS: build, env, lib, run
+# default is build,run (implicit)
+#
+# When subpackages are available this can be more granular
+#
+
+.if !defined(_INCLUDE_USES_SAMBA_MK)
+_INCLUDE_USES_SAMBA_MK= yes
+
+.if !${samba_ARGS}
+samba_ARGS= build run
+.endif
+
+.if ${samba_ARGS:Nbuild:Nenv:Nlib:Nrun}
+IGNORE= USES=samba has invalid arguments: ${samba_ARGS:Nbuild:Nenv:Nlib:Nrun}
+.endif
+
+SAMBAPORT= net/samba${SAMBA_DEFAULT:S/.//}
+SAMBAINCLUDES= ${LOCALBASE}/include/samba4
+.if ${SAMBA_DEFAULT} == 4.6 || ${SAMBA_DEFAULT} == 4.7 || ${SAMBA_DEFAULT} == 4.8
+SAMBALIBS= ${LOCALBASE}/lib/samba4
+.else
+IGNORE= Invalid version of samba: ${SAMBA_DEFAULT}
+.endif
+
+.if ${samba_ARGS:Mbuild}
+BUILD_DEPENDS+= smbd:${SAMBAPORT}
+.endif
+.if ${samba_ARGS:Mlib}
+LIB_DEPENDS+= libsmbclient.so:${SAMBAPORT}
+.endif
+.if ${samba_ARGS:Mrun}
+RUN_DEPENDS+= smbd:${SAMBAPORT}
+.endif
+
+.endif
diff --git a/test-ports/Mk/Uses/scons.mk b/test-ports/Mk/Uses/scons.mk
new file mode 100644
index 00000000..2fdad610
--- /dev/null
+++ b/test-ports/Mk/Uses/scons.mk
@@ -0,0 +1,32 @@
+# $FreeBSD: head/Mk/Uses/scons.mk 411970 2016-03-27 01:23:25Z bapt $
+#
+# Provide support to use the scons
+#
+# Feature: scons
+# Usage: USES=scons
+#
+# MAINTAINER: python@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_SCONS_MK)
+_INCLUDE_USES_SCONS_MK= yes
+
+.if !empty(scons_ARGS)
+IGNORE= Incorrect 'USES+= scons:${scons_ARGS}' scons takes no arguments
+.endif
+
+MAKEFILE= #
+MAKE_FLAGS= #
+ALL_TARGET= #
+CCFLAGS?= ${CFLAGS}
+LINKFLAGS?= ${LDFLAGS}
+LIBPATH?= ${LOCALBASE}/lib
+CPPPATH?= ${LOCALBASE}/include
+SCONS= ${LOCALBASE}/bin/scons
+BUILD_DEPENDS+= ${SCONS}:devel/scons
+MAKE_CMD= ${SCONS}
+MAKE_ARGS+= CCFLAGS="${CCFLAGS}" CXXFLAGS="${CXXFLAGS}" \
+ LINKFLAGS="${LINKFLAGS}" PKGCONFIGDIR="${PKGCONFIGDIR}" \
+ CPPPATH="${CPPPATH}" LIBPATH="${LIBPATH}" PREFIX="${PREFIX}" \
+ CC="${CC}" CXX="${CXX}" ${DESTDIRNAME:tl}=${STAGEDIR}
+
+.endif
diff --git a/test-ports/Mk/Uses/sdl.mk b/test-ports/Mk/Uses/sdl.mk
new file mode 100644
index 00000000..3ac11940
--- /dev/null
+++ b/test-ports/Mk/Uses/sdl.mk
@@ -0,0 +1,112 @@
+# $FreeBSD: head/Mk/Uses/sdl.mk 492696 2019-02-11 15:21:25Z amdmi3 $
+#
+# Support for SDL-based ports
+#
+# Feature: sdl
+# Usage: USES=sdl
+# USE_SDL=sdl console gfx image mixer mm net pango sound ttf
+# sdl2 gfx2 image2 mixer2 net2 ttf2
+#
+# USE_SDL specifies which SDL components to add as dependencies.
+# Not specifying USE_SDL with USES=sdl is an error.
+# USE_SDL=yes implies USE_SDL=sdl. This is deprecated
+#
+# MAINTAINER: amdmi3@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_SDL_MK)
+_INCLUDE_USES_SDL_MK= yes
+
+# These are the current supported SDL1.2 modules
+_SDL_USE_ALL= sdl console gfx image mixer mm net pango sound ttf
+
+_SDL_sdl_LIB_DEPENDS= libSDL.so:devel/sdl12
+
+_SDL_console_LIB_DEPENDS= libSDL_console.so:devel/sdl_console
+_SDL_console_REQUIRES= sdl
+
+_SDL_gfx_LIB_DEPENDS= libSDL_gfx.so:graphics/sdl_gfx
+_SDL_gfx_REQUIRES= sdl
+
+_SDL_image_LIB_DEPENDS= libSDL_image.so:graphics/sdl_image
+_SDL_image_REQUIRES= sdl
+
+_SDL_mixer_LIB_DEPENDS= libSDL_mixer.so:audio/sdl_mixer
+_SDL_mixer_REQUIRES= sdl
+
+_SDL_mm_LIB_DEPENDS= libSDLmm.so:devel/sdlmm
+_SDL_mm_REQUIRES= sdl
+
+_SDL_net_LIB_DEPENDS= libSDL_net.so:net/sdl_net
+_SDL_net_REQUIRES= sdl
+
+_SDL_pango_LIB_DEPENDS= libSDL_Pango.so:x11-toolkits/sdl_pango
+_SDL_pango_REQUIRES= sdl
+
+_SDL_sound_LIB_DEPENDS= libSDL_sound.so:audio/sdl_sound
+_SDL_sound_REQUIRES= sdl
+
+_SDL_ttf_LIB_DEPENDS= libSDL_ttf.so:graphics/sdl_ttf
+_SDL_ttf_REQUIRES= sdl
+
+# These are the current supported SDL2 modules
+_SDL_USE_ALL+= sdl2 gfx2 image2 mixer2 net2 ttf2
+
+_SDL_sdl2_LIB_DEPENDS= libSDL2.so:devel/sdl20
+
+_SDL_gfx2_LIB_DEPENDS= libSDL2_gfx.so:graphics/sdl2_gfx
+_SDL_gfx2_REQUIRES= sdl2
+
+_SDL_image2_LIB_DEPENDS= libSDL2_image.so:graphics/sdl2_image
+_SDL_image2_REQUIRES= sdl2
+
+_SDL_mixer2_LIB_DEPENDS= libSDL2_mixer.so:audio/sdl2_mixer
+_SDL_mixer2_REQUIRES= sdl2
+
+_SDL_net2_LIB_DEPENDS= libSDL2_net.so:net/sdl2_net
+_SDL_net2_REQUIRES= sdl2
+
+_SDL_ttf2_LIB_DEPENDS= libSDL2_ttf.so:graphics/sdl2_ttf
+_SDL_ttf2_REQUIRES= sdl2
+
+# Basic checks
+.if !empty(sdl_ARGS)
+IGNORE= USES=sdl takes no arguments
+.endif
+
+.if !defined(USE_SDL)
+IGNORE= need to specify sdl component(s) with USE_SDL
+.endif
+
+# Expand implied dependencies on main SDL/SDL2 ports
+_USE_SDL=
+.for _component in ${USE_SDL}
+. if !${_SDL_USE_ALL:M${_component}}
+IGNORE= uses unknown SDL component ${_component}
+. else
+_USE_SDL+= ${_component} ${_SDL_${_component}_REQUIRES}
+. endif
+.endfor
+
+# Provide LIB_DEPENDS
+.for _component in ${_USE_SDL:O:u}
+LIB_DEPENDS+= ${_SDL_${_component}_LIB_DEPENDS}
+.endfor
+
+# Provide dependency on main SDL ports
+.if ${_USE_SDL:Msdl}
+SDL_CONFIG?= ${LOCALBASE}/bin/sdl-config
+BUILD_DEPENDS+= ${SDL_CONFIG}:devel/sdl12
+CONFIGURE_ENV+= SDL_CONFIG=${SDL_CONFIG}
+MAKE_ENV+= SDL_CONFIG=${SDL_CONFIG}
+.endif
+
+.if ${_USE_SDL:Msdl2}
+SDL2_CONFIG?= ${LOCALBASE}/bin/sdl2-config
+BUILD_DEPENDS+= ${SDL2_CONFIG}:devel/sdl20
+CONFIGURE_ENV+= SDL2_CONFIG=${SDL2_CONFIG}
+MAKE_ENV+= SDL2_CONFIG=${SDL2_CONFIG}
+.endif
+
+# _INCLUDE_USES_SDL_MK
+.endif
+
diff --git a/test-ports/Mk/Uses/shared-mime-info.mk b/test-ports/Mk/Uses/shared-mime-info.mk
new file mode 100644
index 00000000..61718a67
--- /dev/null
+++ b/test-ports/Mk/Uses/shared-mime-info.mk
@@ -0,0 +1,22 @@
+# $FreeBSD: head/Mk/Uses/shared-mime-info.mk 411970 2016-03-27 01:23:25Z bapt $
+#
+# handle dependency depends on shared-mime-info and package regen
+#
+# Feature: shared-mime-info
+# Usage: USES=shared-mime-info
+# Valid ARGS: does not require args
+#
+# MAINTAINER: gnome@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_SHARED_MIME_INFO_MK)
+_INCLUDE_USES_SHARED_MIME_INFO_MK= yes
+
+.if !empty(shared-mime-info_ARGS)
+IGNORE= USES=shared-mime-info does not require args
+.endif
+
+BUILD_DEPENDS+= update-mime-database:misc/shared-mime-info
+RUN_DEPENDS+= update-mime-database:misc/shared-mime-info
+PLIST_FILES+= "@shared-mime-info share/mime"
+
+.endif
diff --git a/test-ports/Mk/Uses/shebangfix.mk b/test-ports/Mk/Uses/shebangfix.mk
new file mode 100644
index 00000000..1f16d234
--- /dev/null
+++ b/test-ports/Mk/Uses/shebangfix.mk
@@ -0,0 +1,108 @@
+# $FreeBSD: head/Mk/Uses/shebangfix.mk 456908 2017-12-21 13:27:51Z amdmi3 $
+#
+# Replace #! interpreters in scripts by what we actually have.
+#
+# Standard templates for bash, perl, python,... are included out of
+# the box, others can easily be added per port.
+#
+# Feature: shebangfix
+# Usage: USES=shebangfix
+#
+# SHEBANG_REGEX a regular expression to match files that needs to be converted
+# SHEBANG_FILES list of files or glob pattern relative to ${WRKSRC}
+# SHEBANG_GLOB list of glob pattern find(1) will match with
+#
+# To specify that ${WRKSRC}/path1/file and all .pl files in ${WRKSRC}/path2
+# should be processed:
+#
+# SHEBANG_FILES= path1/file path2/*.pl
+#
+# To define custom shebangs to replace, use the following (note that
+# shebangs with spaces should be quoted):
+#
+# perl_OLD_CMD= /usr/bin/perl5.005 "/usr/bin/setenv perl5.005"
+#
+# To define a new shebang scheme add the following to the port Makefile:
+#
+# SHEBANG_LANG= lua
+# lua_OLD_CMD= /usr/bin/lua
+# lua_CMD= ${LOCALBASE}/bin/lua
+#
+# To override a definition, for example replacing /usr/bin/perl by
+# /usr/bin/env perl, add the following:
+#
+# perl_CMD= ${SETENV} perl
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_SHEBANGFIX_MK)
+_INCLUDE_USES_SHEBANGFIX_MK= yes
+
+SHEBANG_LANG+= bash java ksh perl php python ruby tcl tk
+
+.if ${USES:Mlua*}
+SHEBANG_LANG+= lua
+lua_CMD?= ${LOCALBASE}/bin/${LUA_CMD}
+.endif
+
+tcl_OLD_CMD+= /usr/bin/tclsh
+tcl_CMD?= ${TCLSH}
+
+tk_OLD_CMD+= /usr/bin/wish
+tk_CMD?= ${WISH}
+
+.if ${USES:Mpython*}
+python_CMD?= ${PYTHON_CMD}
+.endif
+
+# Replace the same patterns for all langs and setup a default, that may have
+# been set already above with ?=.
+.for lang in ${SHEBANG_LANG}
+${lang}_CMD?= ${LOCALBASE}/bin/${lang}
+${lang}_OLD_CMD+= "/usr/bin/env ${lang}"
+${lang}_OLD_CMD+= /bin/${lang}
+${lang}_OLD_CMD+= /usr/bin/${lang}
+${lang}_OLD_CMD+= /usr/local/bin/${lang}
+.endfor
+
+.for pyver in 2 3
+python_OLD_CMD+= "/usr/bin/env python${pyver}"
+python_OLD_CMD+= /bin/python${pyver}
+python_OLD_CMD+= /usr/bin/python${pyver}
+python_OLD_CMD+= /usr/local/bin/python${pyver}
+.endfor
+
+.for lang in ${SHEBANG_LANG}
+. if !defined(${lang}_CMD)
+IGNORE+= missing definition for ${lang}_CMD
+. endif
+. if !defined(${lang}_OLD_CMD)
+IGNORE+= missing definition for ${lang}_OLD_CMD
+. endif
+. for old_cmd in ${${lang}_OLD_CMD}
+_SHEBANG_REINPLACE_ARGS+= -e "1s|^\#![[:space:]]*${old_cmd:C/\"//g}\([[:space:]]\)|\#!${${lang}_CMD}\1|"
+_SHEBANG_REINPLACE_ARGS+= -e "1s|^\#![[:space:]]*${old_cmd:C/\"//g}$$|\#!${${lang}_CMD}|"
+. endfor
+.endfor
+
+_USES_patch+= 210:fix-shebang
+fix-shebang:
+.if defined(SHEBANG_REGEX)
+ @cd ${WRKSRC}; \
+ ${FIND} -E . -type f -iregex '${SHEBANG_REGEX}' \
+ -exec ${SED} -i '' ${_SHEBANG_REINPLACE_ARGS} {} +
+.endif
+.if defined(SHEBANG_GLOB)
+. for f in ${SHEBANG_GLOB}
+ @cd ${WRKSRC}; \
+ ${FIND} . -type f -name '${f}' \
+ -exec ${SED} -i '' ${_SHEBANG_REINPLACE_ARGS} {} +
+. endfor
+.endif
+.if defined(SHEBANG_FILES)
+ @cd ${WRKSRC}; \
+ ${FIND} ${SHEBANG_FILES} -type f \
+ -exec ${SED} -i '' ${_SHEBANG_REINPLACE_ARGS} {} +
+.endif
+
+.endif
diff --git a/test-ports/Mk/Uses/sqlite.mk b/test-ports/Mk/Uses/sqlite.mk
new file mode 100644
index 00000000..d4e047e6
--- /dev/null
+++ b/test-ports/Mk/Uses/sqlite.mk
@@ -0,0 +1,24 @@
+# $FreeBSD: head/Mk/Uses/sqlite.mk 411970 2016-03-27 01:23:25Z bapt $
+#
+# Provide support for SQLite
+# Feature: sqlite
+# Usage: USES= sqlite[:version]
+# MAINTAINER: ports@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_SQLITE_MK)
+_INCLUDE_USES_SQLITE_MK= yes
+
+.if !empty(sqlite_ARGS)
+SQLITE_VER= ${sqlite_ARGS}
+.endif
+SQLITE_VER?= 3
+
+.if ${SQLITE_VER} == 3
+LIB_DEPENDS+= libsqlite3.so:databases/sqlite${SQLITE_VER}
+.elif ${SQLITE_VER} == 2
+LIB_DEPENDS+= libsqlite.so:databases/sqlite${SQLITE_VER}
+.else
+IGNORE= cannot install: unknown SQLite version: ${SQLITE_VER}
+.endif
+
+.endif
diff --git a/test-ports/Mk/Uses/ssl.mk b/test-ports/Mk/Uses/ssl.mk
new file mode 100644
index 00000000..4dba5e9a
--- /dev/null
+++ b/test-ports/Mk/Uses/ssl.mk
@@ -0,0 +1,129 @@
+# $FreeBSD: head/Mk/Uses/ssl.mk 487417 2018-12-14 09:34:59Z mat $
+#
+# Handle dependency on *ssl ports.
+#
+# Feature: SSL_DEFAULT
+# Usage: USES=ssl
+# Valid ARGS: none (build and run), build, run
+#
+# The user can choose which ssl library he wants with:
+#
+# DEFAULT_VERSIONS+= ssl=<openssl variant>
+#
+# Variants being base, openssl, openssl111, libressl, and libressl-devel.
+#
+# The Makefile sets these variables:
+# OPENSSLBASE - "/usr" or ${LOCALBASE}
+# OPENSSLDIR - path to openssl
+# OPENSSLLIB - path to the libs
+# OPENSSLINC - path to the matching includes
+# OPENSSLRPATH - rpath for dynamic linker
+#
+# MAKE_ENV - extended with the variables above
+# BUILD_DEPENDS - are added if needed
+# RUN_DEPENDS - are added if needed
+#
+# MAINTAINER: portmgr@FreeBSD.org
+#
+.if !defined(_INCLUDE_USES_SSL_MK)
+_INCLUDE_USES_SSL_MK= yes
+
+.if !empty(ssl_ARGS:Nbuild:Nrun)
+IGNORE= "USES=ssl invalid arguments ${ssl_ARGS}."
+.endif
+
+.if empty(ssl_ARGS) || (!empty(ssl_ARGS:Mbuild) && !empty(ssl_ARGS:Mrun))
+_SSL_BUILD_DEP= 1
+_SSL_RUN_DEP= 1
+.elif !empty(ssl_ARGS:Mbuild)
+_SSL_BUILD_DEP= 1
+.elif !empty(ssl_ARGS:Mrun)
+_SSL_RUN_DEP= 1
+.endif
+
+.if defined(BROKEN_SSL) && ${BROKEN_SSL:M${SSL_DEFAULT}}
+. if defined(BROKEN_SSL_REASON_${SSL_DEFAULT})
+BROKEN= does not build with DEFAULT_VERSIONS+=ssl=${SSL_DEFAULT}: ${BROKEN_SSL_REASON_${SSL_DEFAULT}}
+. elif defined(BROKEN_SSL_REASON)
+BROKEN= does not build with DEFAULT_VERSIONS+=ssl=${SSL_DEFAULT}: ${BROKEN_SSL_REASON}
+. else
+BROKEN= does not build with DEFAULT_VERSIONS+=ssl=${SSL_DEFAULT}
+. endif
+.endif
+
+.if defined(IGNORE_SSL) && ${IGNORE_SSL:M${SSL_DEFAULT}}
+. if defined(IGNORE_SSL_REASON_${SSL_DEFAULT})
+IGNORE= not compatible DEFAULT_VERSIONS+=ssl=${SSL_DEFAULT}: ${IGNORE_SSL_REASON_${SSL_DEFAULT}}
+. elif defined(IGNORE_SSL_REASON)
+IGNORE= not compatible DEFAULT_VERSIONS+=ssl=${SSL_DEFAULT}: ${IGNORE_SSL_REASON}
+. else
+IGNORE= not compatible DEFAULT_VERSIONS+=ssl=${SSL_DEFAULT}
+. endif
+.endif
+
+.if ${SSL_DEFAULT} == base
+OPENSSLBASE= /usr
+OPENSSLDIR?= /etc/ssl
+
+. if !exists(${DESTDIR}/usr/lib/libcrypto.so)
+check-depends::
+ @${ECHO_CMD} "Dependency error: This port requires the OpenSSL library, which is part of"
+ @${ECHO_CMD} "the FreeBSD crypto distribution, but not installed on your"
+ @${ECHO_CMD} "machine. Please see the \"OpenSSL\" section in the handbook"
+ @${ECHO_CMD} "(at \"http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/openssl.html\", for instance)"
+ @${ECHO_CMD} "for instructions on how to obtain and install the FreeBSD"
+ @${ECHO_CMD} "OpenSSL distribution."
+ @${FALSE}
+. endif
+. if exists(${LOCALBASE}/lib/libcrypto.so)
+check-depends::
+ @${ECHO_CMD} "Dependency error: This port wants the OpenSSL library from the FreeBSD"
+ @${ECHO_CMD} "base system. You can't build against it, while a newer"
+ @${ECHO_CMD} "version is installed by a port."
+ @${ECHO_CMD} "Please deinstall the port, remove DEFAULT_VERSIONS=ssl=base or undefine WITH_OPENSSL_BASE."
+ @${FALSE}
+. endif
+
+.else # ${SSL_DEFAULT} != base
+
+OPENSSLBASE= ${LOCALBASE}
+
+OPENSSL_PORT= security/${SSL_DEFAULT}
+
+# Get OPENSSL_SHLIBVER from the port
+.sinclude <${PORTSDIR}/${OPENSSL_PORT}/version.mk>
+
+. if !defined(OPENSSL_SHLIBVER)
+.error You are using an unsupported SSL provider ${SSL_DEFAULT}
+. endif
+
+OPENSSLDIR?= ${OPENSSLBASE}/openssl
+. if defined(_SSL_BUILD_DEP)
+BUILD_DEPENDS+= ${LOCALBASE}/lib/libcrypto.so.${OPENSSL_SHLIBVER}:${OPENSSL_PORT}
+. endif
+. if defined(_SSL_RUN_DEP)
+RUN_DEPENDS+= ${LOCALBASE}/lib/libcrypto.so.${OPENSSL_SHLIBVER}:${OPENSSL_PORT}
+. endif
+OPENSSLRPATH= ${LOCALBASE}/lib
+
+.endif
+
+OPENSSLLIB= ${OPENSSLBASE}/lib
+OPENSSLINC= ${OPENSSLBASE}/include
+
+MAKE_ENV+= OPENSSLBASE=${OPENSSLBASE}
+MAKE_ENV+= OPENSSLDIR=${OPENSSLDIR}
+MAKE_ENV+= OPENSSLINC=${OPENSSLINC}
+MAKE_ENV+= OPENSSLLIB=${OPENSSLLIB}
+
+.if defined(OPENSSLRPATH)
+. if defined(USE_OPENSSL_RPATH)
+CFLAGS+= -Wl,-rpath,${OPENSSLRPATH}
+. endif
+MAKE_ENV+= OPENSSLRPATH=${OPENSSLRPATH}
+OPENSSL_LDFLAGS+= -Wl,-rpath,${OPENSSLRPATH}
+.endif
+
+LDFLAGS+= ${OPENSSL_LDFLAGS}
+
+.endif
diff --git a/test-ports/Mk/Uses/tar.mk b/test-ports/Mk/Uses/tar.mk
new file mode 100644
index 00000000..fc797192
--- /dev/null
+++ b/test-ports/Mk/Uses/tar.mk
@@ -0,0 +1,34 @@
+# $FreeBSD: head/Mk/Uses/tar.mk 410457 2016-03-06 12:29:51Z amdmi3 $
+#
+# handle tar archives
+#
+# Feature: tar
+# Usage: USES=tar[:[xz|lzma|Z|bzip2|tgz|tbz]]
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_TAR_MK)
+_INCLUDE_USES_TAR_MK= yes
+
+.if ${tar_ARGS} == xz
+EXTRACT_SUFX?= .tar.xz
+.elif ${tar_ARGS} == lzma
+EXTRACT_SUFX?= .tar.lzma
+.elif ${tar_ARGS} == txz
+EXTRACT_SUFX?= .txz
+.elif ${tar_ARGS} == bzip2 || ${tar_ARGS} == bz2
+EXTRACT_SUFX?= .tar.bz2
+.elif ${tar_ARGS} == tgz
+EXTRACT_SUFX?= .tgz
+.elif ${tar_ARGS} == tbz
+EXTRACT_SUFX?= .tbz
+.elif ${tar_ARGS} == tbz2
+EXTRACT_SUFX?= .tbz2
+.elif ${tar_ARGS} == Z
+EXTRACT_SUFX?= .tar.Z
+.elif empty(tar_ARGS)
+EXTRACT_SUFX?= .tar
+.else
+IGNORE= Incorrect 'USES+=tar:${tar_ARGS}'
+.endif
+.endif
diff --git a/test-ports/Mk/Uses/tcl.mk b/test-ports/Mk/Uses/tcl.mk
new file mode 100644
index 00000000..e85cfcbc
--- /dev/null
+++ b/test-ports/Mk/Uses/tcl.mk
@@ -0,0 +1,225 @@
+# $FreeBSD: head/Mk/Uses/tcl.mk 454756 2017-11-23 12:11:41Z gahr $
+#
+# vim: ts=8 noexpandtab
+#
+# Provide support to use Tcl/Tk
+#
+# Variables set by this file:
+#
+# TCL_VER - Major.Minor version of Tcl
+#
+# TCLSH - Set to full path of the Tcl interpreter
+#
+# TCL_LIBDIR - Path where the Tcl libraries can be found
+#
+# TCL_INCLUDEDIR - Path where the Tcl C headers can be found
+#
+#
+# TK_VER - Major.Minor version of Tk
+#
+# WISH - Set to full path of the Tk interpreter
+#
+# TK_LIBDIR - Path where the Tk libraries can be found
+#
+# TK_INCLUDEDIR - Path where the Tk C headers can be found
+#
+#
+#
+# Usage:
+#
+# USES+= PORT[:(VERSION|wrapper),build,run,tea]
+#
+# where PORT is one of:
+#
+# - tcl - Depend on Tcl
+# - tk - Depend on both Tk and Tcl (Tk itself depends on Tcl)
+#
+# and VERSION is in one of the following formats:
+#
+# - (empty) - Depend on any installed version of PORT. If none
+# is installed, bring in the default version. See
+# ${_TCLTK_DEFAULT_VERSION} below.
+#
+# - 85, 86, 87 - Depend on a specific version series of PORT. Multiple
+# values are OK. The highest version available is
+# picked.
+#
+# - 85+, 86+, 87+ - Depend on any installed version greater or equal to
+# the specified version.
+#
+# If wrapper is specified, an additional dependency on tcl-wrapper or
+# tk-wrapper is added. It is NOT possible to select a specific version of
+# Tcl/Tk when using the wrapper.
+#
+# Build-time / Run-time only dependencies can be specified with build or run.
+#
+# Tea can be used for Tcl/Tk extensions that use the Tcl Extension Architecture
+# [http://www.tcl.tk/doc/tea] and allows to set common autoconf parameters.
+#
+# MAINTAINER: tcltk@FreeBSD.org
+
+.if ${USES:Mtk} || ${USES:Mtk\:*}
+.if !defined(_TCLTK_PORT)
+_TCLTK_IGNORE= yes
+.endif
+.endif
+
+.if !defined(_INCLUDE_USES_TCL_MK) && !defined(_TCLTK_IGNORE)
+_INCLUDE_USES_TCL_MK= yes
+
+#
+# List the currently available versions.
+#
+# When adding a version, please keep the comment in
+# Mk/bsd.default-versions.mk in sync.
+_TCLTK_VALID_VERSIONS= 85 86 87
+
+#
+# Bring in the default and check that the specified version is in the list of
+# valid versions.
+#
+_TCLTK_DEFAULT_VERSION= ${TCLTK_DEFAULT:S/.//}
+.if ! ${_TCLTK_VALID_VERSIONS:M${_TCLTK_DEFAULT_VERSION}}
+IGNORE= Invalid tcltk version ${TCLTK_DEFAULT}
+.endif
+
+#
+# _TCLTK_PORT tells us whether we're depending on Tcl or Tk. When using
+# USES+=tk, the included file tk.mk sets this before including this file.
+#
+_TCLTK_PORT?= tcl
+
+#
+# Parse a ver+ argument.
+#
+.if ${tcl_ARGS:M*+}
+_TCLTK_MIN_VERSION:= ${tcl_ARGS:M*+:S/+//}
+_TCLTK_WANTED_VERSIONS:=${_TCLTK_DEFAULT_VERSION}
+.endif
+
+#
+# Parse one or more ver arguments.
+#
+.if ${tcl_ARGS:M8[5-7]}
+_TCLTK_WANTED_VERSIONS:=${tcl_ARGS:M8[5-7]}
+.endif
+
+#
+# It makes little sense to specify both the wrapper and a specific version.
+#
+.if ${tcl_ARGS:Mwrapper} && defined(_TCLTK_WANTED_VERSIONS)
+IGNORE= USES=${_TCLTK_PORT}: it is not possible to specify both a version and the wrapper: ${tcl_ARGS}
+.endif
+
+#
+# If no version was specified with any of the ver or ver+ arguments, set the
+# default version.
+#
+.if !defined(_TCLTK_WANTED_VERSIONS)
+_TCLTK_WANTED_VERSIONS= ${_TCLTK_DEFAULT_VERSION}
+.endif
+
+#
+# Resolve minimum versions (ver+). Append anything greater or equal than the
+# specified minimum version to the list of wanted versions.
+#
+.if defined(_TCLTK_MIN_VERSION)
+. for _v in ${_TCLTK_VALID_VERSIONS}
+. if ${_TCLTK_MIN_VERSION} <= ${_v}
+_TCLTK_WANTED_VERSIONS+=${_v}
+. endif
+. endfor
+.endif
+
+#
+# Right now we have built a list of potential versions that we may depend on.
+# Let's sort them and remove any duplicates. We then locate the highest one
+# already installed, if any.
+#
+.for _v in ${_TCLTK_WANTED_VERSIONS:O:u}
+_TCLTK_HIGHEST_VERSION:=${_v}
+. if exists(${LOCALBASE}/lib/lib${_TCLTK_PORT}${_v}.so)
+_TCLTK_WANTED_VERSION:= ${_v}
+. endif
+.endfor
+
+#
+# If we couldn't find any wanted version installed, depend on the default or the highest one.
+.if !defined(_TCLTK_WANTED_VERSION)
+. if ${_TCLTK_WANTED_VERSIONS:M${_TCLTK_DEFAULT_VERSION}}
+_TCLTK_WANTED_VERSION:= ${_TCLTK_DEFAULT_VERSION}
+. else
+_TCLTK_WANTED_VERSION:= ${_TCLTK_HIGHEST_VERSION}
+. endif
+.endif
+
+#
+# Exported variables
+#
+TCL_VER:= ${_TCLTK_WANTED_VERSION:S/8/8./}
+TCL_SHLIB_VER:= ${_TCLTK_WANTED_VERSION}
+TCLSH:= ${LOCALBASE}/bin/tclsh${TCL_VER}
+TCL_LIBDIR:= ${LOCALBASE}/lib/tcl${TCL_VER}
+TCL_INCLUDEDIR:=${LOCALBASE}/include/tcl${TCL_VER}
+
+.if ${_TCLTK_PORT} == "tk"
+TK_VER:= ${_TCLTK_WANTED_VERSION:S/8/8./}
+TK_SHLIB_VER:= ${_TCLTK_WANTED_VERSION}
+WISH:= ${LOCALBASE}/bin/wish${TCL_VER}
+TK_LIBDIR:= ${LOCALBASE}/lib/tk${TK_VER}
+TK_INCLUDEDIR:= ${LOCALBASE}/include/tk${TK_VER}
+.endif
+
+#
+# Dependencies
+#
+_TCLTK_BUILD_DEPENDS=
+_TCLTK_RUN_DEPENDS=
+_TCLTK_LIB_DEPENDS=
+
+# Construct the correct dependency lines (wrapper)
+.if ${tcl_ARGS:Mwrapper}
+. if ${_TCLTK_PORT} == "tcl"
+_TCLTK_WRAPPER_PORT= tclsh:lang/tcl-wrapper
+. elif ${_TCLTK_PORT} == "tk"
+_TCLTK_WRAPPER_PORT= wish:x11-toolkits/tk-wrapper
+. endif
+.endif
+
+# Construct the correct dependency lines (Tcl/Tk)
+.if ${_TCLTK_PORT} == "tcl"
+_TCLTK_EXE_LINE= tclsh${TCL_VER}:lang/tcl${_TCLTK_WANTED_VERSION}
+_TCLTK_LIB_LINE= libtcl${TCL_SHLIB_VER}.so:lang/tcl${_TCLTK_WANTED_VERSION}
+.elif ${_TCLTK_PORT} == "tk"
+_TCLTK_EXE_LINE= wish${TK_VER}:x11-toolkits/tk${_TCLTK_WANTED_VERSION}
+_TCLTK_LIB_LINE= libtk${TK_SHLIB_VER}.so:x11-toolkits/tk${_TCLTK_WANTED_VERSION} \
+ libtcl${TCL_SHLIB_VER}.so:lang/tcl${_TCLTK_WANTED_VERSION}
+.endif
+
+.if ${tcl_ARGS:Mbuild}
+BUILD_DEPENDS+= ${_TCLTK_WRAPPER_PORT} \
+ ${_TCLTK_EXE_LINE}
+.elif ${tcl_ARGS:Mrun}
+RUN_DEPENDS+= ${_TCLTK_WRAPPER_PORT} \
+ ${_TCLTK_EXE_LINE}
+.else
+RUN_DEPENDS+= ${_TCLTK_WRAPPER_PORT}
+LIB_DEPENDS+= ${_TCLTK_LIB_LINE}
+.endif
+
+# Setup TEA stuff
+.if ${tcl_ARGS:Mtea}
+GNU_CONFIGURE= yes
+TCL_PKG?= ${PORTNAME:C/^tcl(-?)//:C/(-?)tcl\$//}${PORTVERSION}
+PLIST_SUB+= TCL_PKG=${TCL_PKG}
+CONFIGURE_ARGS+=--exec-prefix=${PREFIX} \
+ --with-tcl=${TCL_LIBDIR} \
+ --with-tclinclude=${TCL_INCLUDEDIR}
+. if ${_TCLTK_PORT} == "tk"
+CONFIGURE_ARGS+=--with-tk=${TK_LIBDIR} --with-tkinclude=${TK_INCLUDEDIR}
+. endif
+.endif
+
+.endif # defined(_INCLUDE_USES_TCL_MK)
+
+.undef _TCLTK_IGNORE
diff --git a/test-ports/Mk/Uses/terminfo.mk b/test-ports/Mk/Uses/terminfo.mk
new file mode 100644
index 00000000..82840acd
--- /dev/null
+++ b/test-ports/Mk/Uses/terminfo.mk
@@ -0,0 +1,18 @@
+# $FreeBSD: head/Mk/Uses/terminfo.mk 398827 2015-10-08 14:12:53Z amdmi3 $
+#
+# handle terminfo.db and *.terminfo files used by ncurses
+#
+# Feature: terminfo
+# Usage: USES=terminfo
+# Valid ARGS: does not require args
+
+.if !defined(_INCLUDE_USES_TERMINFO_MK)
+_INCLUDE_USES_TERMINFO_MK= yes
+
+.if !empty(terminfo_ARGS)
+IGNORE= USES=terminfo does not require args
+.endif
+
+PLIST_FILES+= @terminfo
+
+.endif
diff --git a/test-ports/Mk/Uses/tk.mk b/test-ports/Mk/Uses/tk.mk
new file mode 100644
index 00000000..af1dc1f9
--- /dev/null
+++ b/test-ports/Mk/Uses/tk.mk
@@ -0,0 +1,10 @@
+# $FreeBSD: head/Mk/Uses/tk.mk 399010 2015-10-10 17:46:45Z bapt $
+#
+# vim: ts=8 noexpandtab
+#
+
+tcl_ARGS= ${tk_ARGS}
+
+_TCLTK_PORT= tk
+
+.include "${USESDIR}/tcl.mk"
diff --git a/test-ports/Mk/Uses/uidfix.mk b/test-ports/Mk/Uses/uidfix.mk
new file mode 100644
index 00000000..6708b33c
--- /dev/null
+++ b/test-ports/Mk/Uses/uidfix.mk
@@ -0,0 +1,31 @@
+# $FreeBSD: head/Mk/Uses/uidfix.mk 413204 2016-04-13 12:20:40Z mi $
+#
+# Changes some default behaviour of build systems to allow installing as user.
+#
+# Feature: uidfix
+# Usage: USES=uidfix
+# Valid ARGS: none
+#
+# MAINTAINER: bapt@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_UIDFIX_MK)
+_INCLUDE_USES_UIDFIX_MK= yes
+.if !defined(GID)
+GID!= id -g
+.endif
+.if ${UID} != 0
+MAKE_ENV+= BINOWN=${UID} SHAREOWN=${UID} CONFOWN=${UID} LIBOWN=${UID}
+MAKE_ENV+= BINGRP=${GID} SHAREGRP=${GID} CONFGRP=${GID} LIBGRP=${GID}
+MAKE_ENV+= INCSOWN=${UID} INCSGRP=${GID}
+BINOWN= ${UID}
+LIBOWN= ${UID}
+SHAREOWN= ${UID}
+WWWOWN= ${UID}
+BINGRP= ${GID}
+LIBGRP= ${GID}
+SHAREGRP= ${GID}
+WWWGRP= ${GID}
+INCSOWN= ${UID}
+INCSGRP= ${GID}
+.endif
+.endif
diff --git a/test-ports/Mk/Uses/uniquefiles.mk b/test-ports/Mk/Uses/uniquefiles.mk
new file mode 100644
index 00000000..39cbb56e
--- /dev/null
+++ b/test-ports/Mk/Uses/uniquefiles.mk
@@ -0,0 +1,221 @@
+# $FreeBSD: head/Mk/Uses/uniquefiles.mk 456737 2017-12-19 16:23:48Z mat $
+#
+# Make files or directories 'unique', by adding a prefix or suffix.
+#
+# Feature: uniquefiles
+# Usage: USES=uniquefiles or USES=uniquefiles:ARGS
+# Valid ARGS: dirs
+#
+# dirs: The port needs a prefix (and only a prefix) based on
+# UNIQUE_PREFIX for the standard directories
+# DOCSDIR, EXAMPLESDIR, DATADIR, WWWDIR, ETCDIR
+#
+# Variables for ports:
+#
+# UNIQUE_PREFIX - The prefix to be used for directories and files.
+# Default: ${PKGNAMEPREFIX}.
+# UNIQUE_PREFIX_FILES - A list of files that need to be prefixed.
+# Default: empty
+# UNIQUE_SUFFIX - The suffix to be used for files.
+# Default: ${PKGNAMESUFFIX}.
+# UNIQUE_SUFFIX_FILES - A list of files that need to be suffixed.
+# Default: empty
+#
+# Variables for the ports framework, but NOT individual ports:
+#
+# UNIQUE_DEFAULT_LINKS - When set to "yes", symlinks of the original
+# filenames are also created pointing to their
+# UNIQUE_* counterparts.
+# This is useful for supporting multiple logical
+# instances from a single physical port, but where
+# you want to mark only *one* of those instances to
+# provide original filenames.
+#
+# category/py-foo, installed as:
+#
+# py27-foo for Python 2.7 (DEFAULT_VERSION)
+# py33-foo for Python 3.3
+#
+# Results in:
+#
+# py27-foo
+# bin/foo-2.7 (UNIQUE_SUFFIX)
+# bin/foo -> bin/foo-2.7 (symlinked original filename)
+# py33-foo creates:
+# bin/foo-3.3 (UNIQUE_SUFFIX)
+#
+# Default: no
+#
+# UNIQUE_FIND_PREFIX_FILES - A shell command to be executed to find files for
+# the specific port. This has to return a
+# list of files to be iterated over.
+# Default: empty
+#
+# UNIQUE_FIND_SUFFIX_FILES - A shell command to be executed to find files for
+# the specific port. This has to return a
+# list of files to be iterated over.
+# Default: empty
+#
+# UNIQUE_SUFFIX_TYPES - A list of TAGS to defined more complex unique
+# suffix handling. It can, for example, handle
+# man pages by doing:
+#
+# UNIQUE_SUFFIX_TYPES+= SUFFIX_MAN
+# UNIQUE_SUFFIX_MAN_WITH_EXT= .[1-9ln]
+# UNIQUE_SUFFIX_MAN_EXTRA_EXT= .gz
+# UNIQUE_FIND_SUFFIX_MAN_FILES= ${EGREP} -he '^man/man[1-9ln]/.*$$' ${TMPPLIST} 2>/dev/null
+#
+# The make(1) target that renames the files
+# runs before the man pages are compressed,
+# this is what the EXTRA_EXT bit is for.
+#
+# NOTE: multiple logical instances are not supported by pkg and the original
+# pkg_tools at the moment.
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_UNIQUEFILES_MK)
+_INCLUDE_USES_UNIQUEFILES_MK= yes
+
+UNIQUE_PREFIX?= ${PKGNAMEPREFIX}
+UNIQUE_SUFFIX?= ${PKGNAMESUFFIX}
+UNIQUE_PREFIX_FILES?= # empty
+UNIQUE_SUFFIX_FILES?= # empty
+
+UNIQUE_SUFFIX_TYPES+= SUFFIX
+
+.if ${uniquefiles_ARGS:Mdirs}
+DOCSDIR= ${PREFIX}/share/doc/${UNIQUE_PREFIX}${PORTNAME}
+EXAMPLESDIR= ${PREFIX}/share/examples/${UNIQUE_PREFIX}${PORTNAME}
+DATADIR= ${PREFIX}/share/${UNIQUE_PREFIX}${PORTNAME}
+WWWDIR= ${PREFIX}/www/${UNIQUE_PREFIX}${PORTNAME}
+ETCDIR= ${PREFIX}/etc/${UNIQUE_PREFIX}${PORTNAME}
+.endif
+
+UNIQUE_DEFAULT_LINKS?= no
+UNIQUE_FIND_PREFIX_FILES?= # empty
+UNIQUE_FIND_SUFFIX_FILES?= # empty
+
+_USES_POST+= uniquefiles
+.endif # _INCLUDE_USES_UNIQUEFILES_MK
+
+.if defined(_POSTMKINCLUDED) && !defined(_INCLUDE_USES_UNIQUEFILES_POST_MK)
+_INCLUDE_USES_UNIQUEFILES_POST_MK= yes
+
+_UNIQUEPKGLIST= ${WRKDIR}/.PLIST.uniquefiles
+
+.if ${UNIQUE_DEFAULT_LINKS} == yes
+_DO_CONDITIONAL_SYMLINK= \
+ if [ ! -e ${STAGEDIR}${PREFIX}/$${fname} -a ! -L ${STAGEDIR}${PREFIX}/$${fname} ]; then \
+ ${ECHO_MSG} "Link: @$${fname} --> $${newf}"; \
+ ${RLN} ${STAGEDIR}${PREFIX}/$${newf} ${STAGEDIR}${PREFIX}/$${fname}; \
+ ${ECHO_CMD} LINKED:$${newf}%%EXTRA_EXT%%:$${fname}%%EXTRA_EXT%% >> ${_UNIQUEPKGLIST}; \
+ fi
+.else
+# We are not symlinking the renamed binary.
+_DO_CONDITIONAL_SYMLINK= ${DO_NADA}
+.endif
+
+_USES_stage+= 775:move-uniquefiles
+move-uniquefiles:
+.if ${UNIQUE_PREFIX_FILES} || ${UNIQUE_FIND_PREFIX_FILES}
+ @${ECHO_MSG} "===> Creating unique files: Move files needing PREFIX";
+.endif
+.for entry in ${UNIQUE_PREFIX_FILES}
+ @fname=${entry}; \
+ if [ -e ${STAGEDIR}${PREFIX}/$${fname} -o -L ${STAGEDIR}${PREFIX}/$${fname} ]; then \
+ newf=$${fname%/*}/${UNIQUE_PREFIX}$${fname##*/} ; \
+ ${ECHO_MSG} "Move: $${fname} --> $${newf}" ; \
+ ${MV} ${STAGEDIR}${PREFIX}/$${fname} ${STAGEDIR}${PREFIX}/$${newf}; \
+ ${ECHO_CMD} MOVED:$${fname}:$${newf} >> ${_UNIQUEPKGLIST}; \
+ ${_DO_CONDITIONAL_SYMLINK:S/%%EXTRA_EXT%%//g}; \
+ else \
+ ${ECHO_MSG} "Makefile error: UNIQUE (prefix): $${fname} not found"; \
+ ${FALSE}; \
+ fi;
+.endfor
+.if ${UNIQUE_FIND_PREFIX_FILES}
+ @for fname in `${UNIQUE_FIND_PREFIX_FILES}`; do \
+ if [ -e ${STAGEDIR}${PREFIX}/$${fname} -o -L ${STAGEDIR}${PREFIX}/$${fname} ]; then \
+ newf=$${fname%/*}/${UNIQUE_PREFIX}$${fname##*/} ; \
+ ${ECHO_MSG} "Move: $${fname} --> $${newf}" ; \
+ ${MV} ${STAGEDIR}${PREFIX}/$${fname} ${STAGEDIR}${PREFIX}/$${newf}; \
+ ${ECHO_CMD} MOVED:$${fname}:$${newf} >> ${_UNIQUEPKGLIST}; \
+ ${_DO_CONDITIONAL_SYMLINK:S/%%EXTRA_EXT%%//g}; \
+ else \
+ ${ECHO_MSG} "Makefile error: UNIQUE (prefix): $${fname} not found"; \
+ ${FALSE}; \
+ fi; \
+ done;
+.endif
+
+.for sufxtype in ${UNIQUE_SUFFIX_TYPES}
+. if (defined(UNIQUE_${sufxtype}_FILES) && ${UNIQUE_${sufxtype}_FILES}) || \
+ (defined(UNIQUE_FIND_${sufxtype}_FILES) && ${UNIQUE_FIND_${sufxtype}_FILES})
+. if defined(UNIQUE_${sufxtype}_WITH_EXT) && ${UNIQUE_${sufxtype}_WITH_EXT}
+ @${ECHO_MSG} "===> Creating unique files: Move ${sufxtype:S|SUFFIX_||} files needing SUFFIX";
+. else
+ @${ECHO_MSG} "===> Creating unique files: Move files needing SUFFIX";
+. endif
+. endif
+. for entry in ${UNIQUE_${sufxtype}_FILES}
+ @fname=${entry}; \
+ if [ -n "${UNIQUE_${sufxtype}_EXTRA_EXT}" ]; then \
+ fname=$${fname%${UNIQUE_${sufxtype}_EXTRA_EXT}}; \
+ fi; \
+ if [ -e ${STAGEDIR}${PREFIX}/$${fname} -o -L ${STAGEDIR}${PREFIX}/$${fname} ]; then \
+ ofname=$${fname##*/}; \
+ newf=$${fname%/*}/$${ofname%${UNIQUE_${sufxtype}_WITH_EXT}}${UNIQUE_SUFFIX}$${ofname#$${ofname%${UNIQUE_${sufxtype}_WITH_EXT}}}; \
+ ${ECHO_MSG} "Move: $${fname} --> $${newf}"; \
+ ${MV} ${STAGEDIR}${PREFIX}/$${fname} ${STAGEDIR}${PREFIX}/$${newf}; \
+ ${ECHO_CMD} MOVED:$${fname}${UNIQUE_${sufxtype}_EXTRA_EXT}:$${newf}${UNIQUE_${sufxtype}_EXTRA_EXT} >> ${_UNIQUEPKGLIST}; \
+ ${_DO_CONDITIONAL_SYMLINK:S/%%EXTRA_EXT%%/${UNIQUE_${sufxtype}_EXTRA_EXT}/g}; \
+ else \
+ ${ECHO_MSG} "Makefile error: UNIQUE (suffix): $${fname} not found"; \
+ ${FALSE}; \
+ fi;
+. endfor
+. if defined(UNIQUE_FIND_${sufxtype}_FILES) && ${UNIQUE_FIND_${sufxtype}_FILES}
+ @for fname in `${UNIQUE_FIND_${sufxtype}_FILES}`; do \
+ if [ -n "${UNIQUE_${sufxtype}_EXTRA_EXT}" ]; then \
+ fname=$${fname%${UNIQUE_${sufxtype}_EXTRA_EXT}}; \
+ fi; \
+ if [ -e ${STAGEDIR}${PREFIX}/$${fname} -o -L ${STAGEDIR}${PREFIX}/$${fname} ]; then \
+ ofname=$${fname##*/}; \
+ newf=$${fname%/*}/$${ofname%${UNIQUE_${sufxtype}_WITH_EXT}}${UNIQUE_SUFFIX}$${ofname#$${ofname%${UNIQUE_${sufxtype}_WITH_EXT}}}; \
+ ${ECHO_MSG} "Move: $${fname} --> $${newf}"; \
+ ${MV} ${STAGEDIR}${PREFIX}/$${fname} ${STAGEDIR}${PREFIX}/$${newf}; \
+ ${ECHO_CMD} MOVED:$${fname}${UNIQUE_${sufxtype}_EXTRA_EXT}:$${newf}${UNIQUE_${sufxtype}_EXTRA_EXT} >> ${_UNIQUEPKGLIST}; \
+ ${_DO_CONDITIONAL_SYMLINK:S/%%EXTRA_EXT%%/${UNIQUE_${sufxtype}_EXTRA_EXT}/g}; \
+ else \
+ ${ECHO_MSG} "Makefile error: UNIQUE (suffix): $${fname} not found"; \
+ ${FALSE}; \
+ fi; \
+ done;
+. endif
+.endfor
+
+# Using .if exists(${_UNIQUEPKGPLIST} below instead of the sh test
+# does not work in poudriere. It works fine on the CLI, though...
+_USES_stage+= 950:move-uniquefiles-plist
+move-uniquefiles-plist:
+ @if [ -e ${_UNIQUEPKGLIST} ]; then \
+ orgIFS=$$IFS; IFS=":"; while read command entry newentry; do \
+ IFS=$$orgIFS; \
+ case $${command} in \
+ MOVED) \
+ ${REINPLACE_CMD} -e "s|^$${entry}$$|$${newentry}|" ${TMPPLIST}; \
+ ;; \
+ LINKED) \
+ ${AWK} '$$0 ~ pe { print; print ne ;next }1' \
+ pe="$${entry}" ne="$${newentry}" \
+ ${TMPPLIST} > ${TMPPLIST}.uniquefilestmp; \
+ ${MV} ${TMPPLIST}.uniquefilestmp ${TMPPLIST}; \
+ ;; \
+ *) ;; \
+ esac; \
+ IFS=":"; \
+ done < ${_UNIQUEPKGLIST}; \
+ fi
+
+.endif # defined(_POSTMKINCLUDED)
diff --git a/test-ports/Mk/Uses/varnish.mk b/test-ports/Mk/Uses/varnish.mk
new file mode 100644
index 00000000..d42131bb
--- /dev/null
+++ b/test-ports/Mk/Uses/varnish.mk
@@ -0,0 +1,30 @@
+# $FreeBSD: head/Mk/Uses/varnish.mk 490309 2019-01-14 18:09:46Z feld $
+#
+# Provide support for Varnish
+#
+# Feature: varnish
+# Usage: USES=varnish
+# Valid ARGS: 4, 6, run
+#
+# MAINTAINER: ports@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_VARNISH_MK)
+_INCLUDE_USES_VARNISH_MK= yes
+
+VARNISH_VERSION= ${VARNISH_DEFAULT}
+
+. if ${varnish_ARGS:M4}
+VARNISH_VERSION= 4
+. elif ${varnish_ARGS:M6}
+VARNISH_VERSION= 6
+. elif defined(VARNISH_DEFAULT)
+. endif
+
+RUN_DEPENDS+= varnish${VARNISH_VERSION}>=${VARNISH_VERSION}:www/varnish${VARNISH_VERSION}
+BUILD_DEPENDS+= varnish${VARNISH_VERSION}>=${VARNISH_VERSION}:www/varnish${VARNISH_VERSION}
+
+CFLAGS+= -I${LOCALBASE}/include -I${LOCALBASE}/include/varnish
+CPPFLAGS+= -I${LOCALBASE}/include -I${LOCALBASE}/include/varnish
+LIBS+= -L${LOCALBASE}/lib
+
+.endif
diff --git a/test-ports/Mk/Uses/waf.mk b/test-ports/Mk/Uses/waf.mk
new file mode 100644
index 00000000..723c7bc2
--- /dev/null
+++ b/test-ports/Mk/Uses/waf.mk
@@ -0,0 +1,51 @@
+# $FreeBSD: head/Mk/Uses/waf.mk 470184 2018-05-17 00:51:35Z timur $
+#
+# Provide support to use the waf building system
+#
+# Feature: waf
+# Usage: USES=waf
+#
+# It implies USES=python:build automatically is no USES=python has been
+# specified yet
+#
+# WAF_CMD can be specified in the ports if the waf script is not
+# in WRKSRC/waf
+# CONFIGURE_TARGET default to 'configure'
+# ALL_TARGET default to 'build'
+# INSTALL_TARGET= default to 'install'
+
+.if !defined(_INCLUDE_USES_WAF_MK)
+_INCLUDE_USES_WAF_MK= yes
+
+.if !empty(waf_ARGS)
+IGNORE= Incorrect 'USES+= waf:${waf_ARGS}' waf takes no arguments
+.endif
+
+.if !${USES:Mpython*}
+python_ARGS= 2.7,build
+.include "${USESDIR}/python.mk"
+.endif
+
+MAKEFILE= #
+MAKE_FLAGS= #
+ALL_TARGET= #
+HAS_CONFIGURE= yes
+MAKE_ARGS+= --verbose
+WAF_CMD?= ./waf
+
+CONFIGURE_TARGET?= configure
+ALL_TARGET?= build
+INSTALL_TARGET?= install
+TEST_TARGET?= test
+
+CONFIGURE_CMD= ${PYTHON_CMD} ${WAF_CMD} ${CONFIGURE_TARGET}
+MAKE_CMD= ${PYTHON_CMD} ${WAF_CMD}
+CONFIGURE_ARGS+= --prefix=${PREFIX} \
+ ${_MAKE_JOBS}
+
+DESTDIRNAME= --destdir
+
+# Set a minimal job of 1
+_MAKE_JOBS= -j${MAKE_JOBS_NUMBER}
+
+.endif
diff --git a/test-ports/Mk/Uses/webplugin.mk b/test-ports/Mk/Uses/webplugin.mk
new file mode 100644
index 00000000..c0fd7e4a
--- /dev/null
+++ b/test-ports/Mk/Uses/webplugin.mk
@@ -0,0 +1,178 @@
+# $FreeBSD: head/Mk/Uses/webplugin.mk 394503 2015-08-17 13:31:25Z mat $
+#
+# Documentation and examples:
+#
+# Feature: webplugin
+# Usage: USES=webplugin or USES=webplugin:ARGS
+# Valid ARGS: gecko: Support geko based plugings
+# native: Support gecko, opera, webkit-gtk*
+# linux: Support linux plugins
+# [list of indivudual engines]: specify browsers to use
+# all: All browser (implicit, default)
+#
+# USES=webplugin will create symlinks automatically for each supported
+# application that supports the webplugin framework. Also, it will remove
+# these symlinks when the plug-in port is uninstalled.
+#
+# WEBPLUGIN_NAME - If your port installs files in ${WEBPLUGIN_DIR},
+# then you can tweak WEBPLUGIN_NAME to change the
+# name of the directory
+# (lib/browser_plugins/symlinks/WEBPLUGIN_NAME).
+# Default: WEBPLUGIN_NAME=${PKGBASE}
+#
+# WEBPLUGIN_FILES - The plug-in files that are going to be linked
+# in lib/browser_plugins/symlinks/*/. It cannot
+# be empty or the port will set IGNORE.
+#
+# WEBPLUGIN_DIR - The directory where the plug-in file(s) can be
+# found. Each plug-in file in WEBPLUGIN_FILES
+# must be found in WEBPLUGIN_DIR. If your port
+# does not install in WEBPLUGIN_DIR, but in its own
+# path, you will need to specify that here or
+# symlinks will be created to non-existent files.
+# Default: WEBPLUGIN_DIR=${_WEBPLUGIN_LIBDIR:S,^${LOCALBASE}/,${PREFIX}/,}/${WEBPLUGIN_NAME}
+#
+# Makefile:
+# ------------------------------------------------------
+# USES= webplugin:gecko
+# [...]
+# WEBPLUGIN_FILES=fooplugin.so fooplugin.xpi
+#
+# post-install:
+# ${MKDIR} ${STAGEDIR}${WEBPLUGIN_DIR}
+# ${INSTALL_DATA} ${WEBPLUGIN_FILES:S,^,${WRKSRC}/plugins/,} \
+# ${STAGEDIR}${WEBPLUGIN_DIR}
+#
+# .include <bsd.port.mk>
+# ------------------------------------------------------
+#
+# You do not need to add lib/browser_plugins and lib/browser_plugins/symlinks
+# in pkg-plist, because they will be removed automatically.
+#
+# pkg-plist:
+# ------------------------------------------------------
+# [...]
+# %%WEBPLUGIN_DIR%%/fooplugin.so
+# %%WEBPLUGIN_DIR%%/fooplugin.xpi
+# ------------------------------------------------------
+#
+# Here is what it will look like when it creates the symlinks:
+#
+# ------------------------------------------------------
+# /usr/local/lib/browser_plugins/symlinks/gecko/fooplugin.so -> /usr/local/lib/browser_plugins/application/fooplugin.so
+# /usr/local/lib/browser_plugins/symlinks/gecko/fooplugin.xpi -> /usr/local/lib/browser_plugins/application/fooplugin.xpi
+# ------------------------------------------------------
+#
+# If your port uses libtool, and installs any *.a and *.la files, do not add
+# these files to WEBPLUGIN_FILES. WEBPLUGIN_FILES should be *.so or/and
+# *.xpi ONLY.
+#
+# Example to add in Makefile and pkg-plist if your port installs plug-ins in
+# its own directory, and you need to set WEBPLUGIN_DIR.
+#
+# Makefile:
+# ------------------------------------------------------
+# [...]
+# USES= webplugin:gecko
+# WEBPLUGIN_DIR=${PREFIX}/lib/application
+# WEBPLUGIN_FILES=fooplugin.so fooplugin.xpi
+#
+# [...]
+#
+# .include <bsd.port.mk>
+# ------------------------------------------------------
+#
+# As for the pkg-plist, it should only include the actual files your
+# port installs:
+#
+# pkg-plist:
+# ------------------------------------------------------
+# [...]
+# lib/application/fooplugin.a
+# lib/application/fooplugin.la
+# lib/application/fooplugin.so
+# lib/application/fooplugin.xpi
+# ------------------------------------------------------
+#
+# Here is what it will look like when it creates symlinks:
+#
+# ------------------------------------------------------
+# /usr/local/lib/browser_plugins/symlinks/gecko/fooplugin.so -> /usr/local/lib/application/fooplugin.so
+# /usr/local/lib/browser_plugins/symlinks/gecko/fooplugin.xpi -> /usr/local/lib/application/fooplugin.xpi
+# ------------------------------------------------------
+#
+# MAINTAINER= gecko@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_WEBPLUGIN_MK)
+_INCLUDE_USES_WEBPLUGIN_MK= yes
+
+WEBPLUGIN_NAME?= ${PKGBASE}
+_WEBPLUGIN_APPS_ALL_LINUX= linux-firefox linux-opera linux-opera-devel \
+ linux-seamonkey
+_WEBPLUGIN_APPS_ALL_NATIVE= gecko opera opera-devel webkit-gtk2
+_WEBPLUGIN_APPS_ALL= ${_WEBPLUGIN_APPS_ALL_LINUX} \
+ ${_WEBPLUGIN_APPS_ALL_NATIVE}
+
+_WEBPLUGIN_TEST= ${_WEBPLUGIN_APPS_ALL}
+.if ${webplugin_ARGS} == all || empty(webplugin_ARGS)
+_WEBPLUGIN_PATTERN= *
+.elif ${webplugin_ARGS} == native
+_WEBPLUGIN_PATTERN= *
+_WEBPLUGIN_TEST= ${_WEBPLUGIN_APPS_ALL_NATIVE}
+.elif ${webplugin_ARGS} == linux
+_WEBPLUGIN_PATTERN= *
+_WEBPLUGIN_TEST= ${_WEBPLUGIN_APPS_ALL_LINUX}
+.else
+_WEBPLUGIN_PATTERN= ${webplugin_ARGS}
+.endif
+
+.if !defined(WEBPLUGIN_FILES)
+IGNORE= Cannot be installed: WEBPLUGIN_FILES is empty. Please, add plug-in files to it
+.endif
+
+.for _TEMP_APP__ in ${_WEBPLUGIN_APPS_ALL}
+_TEMP_APP_=${_TEMP_APP__}
+_TEMP_FLAG_=0
+. for _TEMP_USE__ in ${USE_webplugin}
+_TEMP_USE_=${_TEMP_USE__}
+. if !${_TEMP_APP_:C!${_TEMP_USE_:S/*/.*/:S/?/./}!!} || \
+ ( ${_TEMP_APP_:Mlinux-*} && ${_TEMP_USE_:Mlinux} ) || \
+ ( ${_TEMP_APP_:Nlinux-*} && ${_TEMP_USE_:Mnative} )
+_TEMP_FLAG_=1
+. endif
+. endfor
+. if ${_TEMP_FLAG_}
+USE_WEBPLUGIN_EXP+= ${_TEMP_APP__}
+. endif
+.endfor
+
+.for p in ${_WEBPLUGIN_PATTERN}
+_WEBPLUGIN_MATCHED+= ${_WEBPLUGIN_TEST:M${p}}
+.endfor
+
+_WEBPLUGIN_LIBDIR= ${LOCALBASE}/lib/browser_plugins
+_WEBPLUGIN_SLDIR= ${_WEBPLUGIN_LIBDIR}/symlinks
+
+_WEBPLUGIN_SLDIRS= ${_WEBPLUGIN_MATCHED:S.^.${_WEBPLUGIN_SLDIR}/.}
+
+_WEBPLUGIN_APPS= ${USE_WEBPLUGIN_EXP:S.^.${LOCALBASE}/lib/.:S.$./plugins.:N*opera*:N*gecko*:N*webkit*}
+_WEBPLUGIN_LINKFARMS= ${_WEBPLUGIN_APPS} ${_WEBPLUGIN_SLDIRS}
+
+WEBPLUGIN_DIR?= ${_WEBPLUGIN_LIBDIR:S,^${LOCALBASE}/,${PREFIX}/,}/${WEBPLUGIN_NAME}
+
+PLIST_SUB+= WEBPLUGIN_DIR="${WEBPLUGIN_DIR:S,^${PREFIX}/,,}"
+.for d in ${_WEBPLUGIN_LINKFARMS}
+.for l in ${WEBPLUGIN_FILES}
+PLIST_FILES+= ${d}/${l}
+.endfor
+.endfor
+
+_USES_install+= 600:webplugin-post-install
+webplugin-post-install:
+.for d in ${_WEBPLUGIN_LINKFARMS}
+ ${MKDIR} ${STAGEDIR}${d}
+.for l in ${WEBPLUGIN_FILES}
+ ${LN} -sf ${l:S,^,${WEBPLUGIN_DIR}/,} ${STAGEDIR}${d}/
+.endfor
+.endfor
+.endif
diff --git a/test-ports/Mk/Uses/xfce.mk b/test-ports/Mk/Uses/xfce.mk
new file mode 100644
index 00000000..21603185
--- /dev/null
+++ b/test-ports/Mk/Uses/xfce.mk
@@ -0,0 +1,110 @@
+#
+# $FreeBSD: head/Mk/Uses/xfce.mk 450042 2017-09-18 14:17:15Z madpilot $
+#
+# Provide support for Xfce related ports.
+#
+# Feature: xfce
+# Usage: USES=xfce or USES=xfce:ARGS
+# Valid ARGS: gtk3
+#
+# Variables, which can be set by the port:
+#
+# USE_XFCE List of components
+#
+# MAINTAINER: xfce@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_XFCE_Mk)
+_INCLUDE_USES_XFCE_Mk= yes
+_USES_POST+= xfce
+
+_USE_XFCE_ALL= garcon libexo libgui libmenu libutil panel thunar xfconf
+
+XFCE_MASTER_SITE_VER= 4.12
+
+xfce_ARGS?= # empty
+
+CPPFLAGS+= -I${LOCALBASE}/include
+LIBS+= -L${LOCALBASE}/lib
+
+.if ${xfce_ARGS:Mgtk3}
+libmenu_LIB_DEPENDS= libxfce4ui-2.so:x11/libxfce4menu
+libmenu_USE_XFCE_REQ= xfconf
+
+garcon_LIB_DEPENDS= libgarcon-gtk3-1.so:sysutils/garcon
+garcon_USE_XFCE_REQ= libmenu
+
+panel_LIB_DEPENDS= libxfce4panel-2.0.so:x11-wm/xfce4-panel
+panel_RUN_DEPENDS= xfce4-panel:x11-wm/xfce4-panel
+panel_USE_XFCE_REQ= garcon libexo xfconf
+.else
+libmenu_LIB_DEPENDS= libxfce4ui-1.so:x11/libxfce4menu
+libmenu_USE_XFCE_REQ= xfconf
+
+garcon_LIB_DEPENDS= libgarcon-gtk2-1.so:sysutils/garcon
+garcon_USE_XFCE_REQ= libmenu
+
+panel_LIB_DEPENDS= libxfce4panel-1.0.so:x11-wm/xfce4-panel
+panel_RUN_DEPENDS= xfce4-panel:x11-wm/xfce4-panel
+panel_USE_XFCE_REQ= garcon libexo xfconf
+.endif
+
+libexo_LIB_DEPENDS= libexo-1.so:x11/libexo
+libexo_USE_XFCE_REQ= libmenu
+
+libgui_LIB_DEPENDS= libxfcegui4.so:x11-toolkits/libxfce4gui
+libgui_USE_XFCE_REQ= libutil
+
+libutil_LIB_DEPENDS= libxfce4util.so:x11/libxfce4util
+
+thunar_LIB_DEPENDS= libthunarx-2.so:x11-fm/thunar
+thunar_RUN_DEPENDS= Thunar:x11-fm/thunar
+thunar_USE_XFCE_REQ= xfconf libmenu
+
+xfconf_LIB_DEPENDS= libxfconf-0.so:x11/xfce4-conf
+xfconf_USE_XFCE_REQ= libutil
+
+.if defined(USE_XFCE)
+# First, expand all USE_XFCE_REQ recursively.
+.for comp in ${_USE_XFCE_ALL}
+. for subcomp in ${${comp}_USE_XFCE_REQ}
+${comp}_USE_XFCE_REQ+=${${subcomp}_USE_XFCE_REQ}
+. endfor
+.endfor
+
+# Then, use already expanded USE_XFCE_REQ to expand USE_XFCE.
+.for comp in ${USE_XFCE}
+. if ${_USE_XFCE_ALL:M${comp}} == ""
+IGNORE= cannot install: Unknown component ${comp}
+. endif
+_USE_XFCE+= ${${comp}_USE_XFCE_REQ} ${comp}
+.endfor
+
+# Remove duplicate components
+USE_XFCE= ${_USE_XFCE:O:u}
+
+.for comp in ${USE_XFCE}
+. if defined(${comp}_BUILD_DEPENDS)
+BUILD_DEPENDS+= ${${comp}_BUILD_DEPENDS}
+. endif
+
+. if defined(${comp}_LIB_DEPENDS)
+LIB_DEPENDS+= ${${comp}_LIB_DEPENDS}
+. endif
+
+. if defined(${comp}_RUN_DEPENDS)
+RUN_DEPENDS+= ${${comp}_RUN_DEPENDS}
+. endif
+.endfor
+
+. if ${USE_XFCE:M*gui} == libgui
+DEPRECATED?= Depends on unmaintained x11-toolkits/libxfce4gui
+. endif
+
+.endif # end of defined(USE_XFCE)
+
+.endif
+
+.if defined(_POSTMKINCLUDED) && !defined(_INCLUDE_USES_XFCE_POST_MK)
+_INCLUDE_USES_XFCE_POST_MK= yes
+
+.endif
diff --git a/test-ports/Mk/Uses/zip.mk b/test-ports/Mk/Uses/zip.mk
new file mode 100644
index 00000000..52d8f8d4
--- /dev/null
+++ b/test-ports/Mk/Uses/zip.mk
@@ -0,0 +1,27 @@
+# $FreeBSD: head/Mk/Uses/zip.mk 411970 2016-03-27 01:23:25Z bapt $
+#
+# handle zip archives
+#
+# Feature: zip
+# Usage: USES=zip[:infozip]
+#
+# MAINTAINER: portmgr@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_ZIP_MK)
+_INCLUDE_USES_ZIP_MK= yes
+
+EXTRACT_SUFX?= .zip
+
+EXTRACT_BEFORE_ARGS?= -qo
+EXTRACT_AFTER_ARGS?= -d ${EXTRACT_WRKDIR}
+
+.if empty(zip_ARGS)
+EXTRACT_CMD?= ${UNZIP_NATIVE_CMD}
+.elif ${zip_ARGS} == "infozip"
+EXTRACT_DEPENDS+= ${UNZIP_CMD}:archivers/unzip
+EXTRACT_CMD?= ${UNZIP_CMD}
+.else
+IGNORE= Incorrect 'USES+=zip:${zip_ARGS}' expecting 'USES+=zip[:infozip]'
+.endif
+
+.endif
diff --git a/test-ports/Mk/Uses/zope.mk b/test-ports/Mk/Uses/zope.mk
new file mode 100644
index 00000000..2b0a309b
--- /dev/null
+++ b/test-ports/Mk/Uses/zope.mk
@@ -0,0 +1,95 @@
+# $FreeBSD: head/Mk/Uses/zope.mk 411970 2016-03-27 01:23:25Z bapt $
+#
+# Provide support for Zope-related ports
+#
+# SZOPEBASEDIR - relative base directory of zope server
+# ZOPEBASEDIR - absolute base directory of zope that is
+# ${LOCALBASE}/${SZOPEBASEDIR} by default,
+# ZOPEPRODUCTDIR - directory, where products for zope can be found
+#
+# ZOPE_VERSION - Version of zope that will be used in the port. Set this
+# in your /etc/make.conf in case you want to use a
+# specific version of zope.
+#
+# MAINTAINER: zope@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_ZOPE_MK)
+_INCLUDE_USES_ZOPE_MK= yes
+
+_ZOPE_PORTBRANCH= 2.13
+_ZOPE_ALLBRANCHES= 2.13
+
+_PYTHON_VER_REQUIRED= python2.7
+
+.if defined(ZOPE_VERSION)
+_ZOPE_VERSION:= ${ZOPE_VERSION}
+.else
+_ZOPE_VERSION:= ${_ZOPE_PORTBRANCH}
+.endif
+
+# Validate Zope version whether it meets USE_ZOPE version restriction.
+_ZOPE_VERSION_CHECK:= ${USE_ZOPE:C/^([1-9]\.[0-9]*)$/\1-\1/}
+_ZOPE_VERSION_MINIMUM_TMP:= ${_ZOPE_VERSION_CHECK:C/([1-9]\.[0-9]*)[-+].*/\1/}
+_ZOPE_VERSION_MINIMUM:= ${_ZOPE_VERSION_MINIMUM_TMP:M[1-9].[0-9]}
+_ZOPE_VERSION_MAXIMUM_TMP:= ${_ZOPE_VERSION_CHECK:C/.*-([1-9]\.[0-9]*)/\1/}
+_ZOPE_VERSION_MAXIMUM:= ${_ZOPE_VERSION_MAXIMUM_TMP:M[1-9].[0-9]}
+
+.if !empty(_ZOPE_VERSION_MINIMUM) && ( \
+ ${_ZOPE_VERSION} < ${_ZOPE_VERSION_MINIMUM})
+_ZOPE_VERSION_NONSUPPORTED= ${_ZOPE_VERSION_MINIMUM} at least
+.elif !empty(_ZOPE_VERSION_MAXIMUM) && ( \
+ ${_ZOPE_VERSION} > ${_ZOPE_VERSION_MAXIMUM})
+_ZOPE_VERSION_NONSUPPORTED= ${_ZOPE_VERSION_MAXIMUM} at most
+.endif
+
+# If we have an unsupported version of Zope, try another.
+.if defined(_ZOPE_VERSION_NONSUPPORTED)
+.if defined(ZOPE_VERSION)
+IGNORE= needs Zope ${_ZOPE_VERSION_NONSUPPORTED}.\
+ But you specified ${_ZOPE_VERSION}
+.else
+.undef _ZOPE_VERSION
+.for ver in ${_ZOPE_ALLBRANCHES}
+__VER= ${ver}
+.if !defined(_ZOPE_VERSION) && \
+ !(!empty(_ZOPE_VERSION_MINIMUM) && ( \
+ ${__VER} < ${_ZOPE_VERSION_MINIMUM})) && \
+ !(!empty(_ZOPE_VERSION_MAXIMUM) && ( \
+ ${__VER} > ${_ZOPE_VERSION_MAXIMUM}))
+_ZOPE_VERSION= ${ver}
+.endif
+.endfor
+.if !defined(_ZOPE_VERSION)
+IGNORE= needs an unsupported version of Zope
+_ZOPE_VERSION= ${_ZOPE_PORTBRANCH} # just to avoid version sanity checking.
+.endif
+.endif # defined(ZOPE_VERSION)
+.endif # defined(_ZOPE_VERSION_NONSUPPORTED)
+
+ZOPE_VERSION?= ${_ZOPE_VERSION}
+
+.if !defined(PYTHON_VERSION)
+PYTHON_VERSION= ${_PYTHON_VER_REQUIRED}
+.elif ${PYTHON_VERSION} != ${_PYTHON_VER_REQUIRED}
+IGNORE+= Zope requires Python ${_PYTHON_VER_REQUIRED}.\
+ But you or a port dependency specified ${PYTHON_VERSION}
+.endif # !defined(PYTHON_VERSION)
+
+# Zope-related variables
+.if ${ZOPE_VERSION} == ${_ZOPE_PORTBRANCH}
+RUN_DEPENDS+= zope213>0:www/zope213
+.else
+_USES_sanity+= 300:check-makevars-zope
+check-makevars-zope:
+ @${ECHO} "Makefile error: bad value for ZOPE_VERSION: ${ZOPE_VERSION}."
+ @${ECHO} "Legal values are: ${_ZOPE_PORTBRANCH} (default)"
+ @${FALSE}
+.endif
+ZOPEBASEDIR?= ${PREFIX}/${SZOPEBASEDIR}
+ZOPEPRODUCTDIR?= Products
+
+# Zope specific substitutions
+PLIST_SUB+= ZOPEBASEDIR=${SZOPEBASEDIR} \
+ ZOPEPRODUCTDIR=${SZOPEBASEDIR}/${ZOPEPRODUCTDIR}
+
+.endif # !defined(_INCLUDE_USES_ZOPE_MK)
diff --git a/test-ports/Mk/bsd.ccache.mk b/test-ports/Mk/bsd.ccache.mk
new file mode 100644
index 00000000..9ddaf3c8
--- /dev/null
+++ b/test-ports/Mk/bsd.ccache.mk
@@ -0,0 +1,63 @@
+# $FreeBSD: head/Mk/bsd.ccache.mk 462894 2018-02-25 03:32:18Z bdrewery $
+#-*- tab-width: 4; -*-
+# ex:ts=4
+#
+# WITH_CCACHE_BUILD=yes enables depending on ccache and using it in the build.
+# NO_CCACHE_DEPEND will additionally not add the dependency on ccache.
+# NO_CCACHE will disable this entirely.
+
+COMMANDS_Include_MAINTAINER= portmgr@FreeBSD.org
+
+.if !defined(_CCACHEMKINCLUDED)
+
+_CCACHEMKINCLUDED= yes
+
+# HOME is always set to ${WRKDIR} now. Try to use /root/.ccache as default.
+.if defined(WITH_CCACHE_BUILD) && !defined(CCACHE_DIR)
+. if defined(USER) && ${USER} == root
+CCACHE_DIR= /root/.ccache
+. else
+NO_CCACHE= yes
+WARNING+= WITH_CCACHE_BUILD support disabled, please set CCACHE_DIR.
+. endif
+.endif
+
+# Support NO_CCACHE for common setups, require WITH_CCACHE_BUILD, and
+# don't use if ccache already set in CC
+.if !defined(NO_CCACHE) && defined(WITH_CCACHE_BUILD) && !${CC:M*ccache*} && \
+ !defined(NO_BUILD) && !defined(NOCCACHE)
+
+# Avoid depends loops between ccache and pkg
+. if !defined(NO_CCACHE_DEPEND) && \
+ ${PKGORIGIN} != ${PKG_ORIGIN}
+BUILD_DEPENDS+= ${LOCALBASE}/bin/ccache:devel/ccache
+. endif
+
+CCACHE_WRAPPER_PATH?= ${LOCALBASE}/libexec/ccache
+
+.if exists(${CCACHE_WRAPPER_PATH})
+# Prepend the ccache dir into the PATH and setup ccache env
+PATH:= ${CCACHE_WRAPPER_PATH}:${PATH}
+#.MAKEFLAGS: PATH=${PATH}
+.if !${MAKE_ENV:MPATH=*} && !${CONFIGURE_ENV:MPATH=*}
+MAKE_ENV+= PATH=${PATH}
+CONFIGURE_ENV+= PATH=${PATH}
+.endif
+
+# Ensure this is always in subchild environments
+. if defined(CCACHE_DIR)
+#.MAKEFLAGS: CCACHE_DIR=${CCACHE_DIR}
+MAKE_ENV+= CCACHE_DIR="${CCACHE_DIR}"
+CONFIGURE_ENV+= CCACHE_DIR="${CCACHE_DIR}"
+. endif
+.endif
+
+# Some ports will truncate CCACHE_DIR from the env and due to HOME=${WRKDIR}
+# will incorrectly use ${WRKDIR}/.ccache. Symlink to the proper place.
+${WRKDIR}/.ccache: ${WRKDIR}
+ @${LN} -sf ${CCACHE_DIR} ${WRKDIR}/.ccache
+ccache-wrkdir-link: ${WRKDIR}/.ccache .PHONY
+post-extract: ccache-wrkdir-link
+.endif
+
+.endif
diff --git a/test-ports/Mk/bsd.commands.mk b/test-ports/Mk/bsd.commands.mk
new file mode 100644
index 00000000..39f707de
--- /dev/null
+++ b/test-ports/Mk/bsd.commands.mk
@@ -0,0 +1,132 @@
+# bsd.commands.mk - Common commands used within the ports infrastructure
+#
+# Created by: Gabor Kovesdan <gabor@FreeBSD.org>
+#
+# $FreeBSD: head/Mk/bsd.commands.mk 462459 2018-02-20 22:25:54Z bdrewery $
+#
+# DO NOT COMMIT CHANGES TO THIS FILE BY YOURSELF, EVEN IF YOU DID NOT GET
+# A RESPONSE FROM THE MAINTAINER(S) WITHIN A REASONABLE TIMEFRAME! ALL
+# UNAUTHORISED CHANGES WILL BE UNCONDITIONALLY REVERTED!
+#
+
+COMMANDS_Include_MAINTAINER= portmgr@FreeBSD.org
+
+.if !defined(_COMMANDSMKINCLUDED)
+
+_COMMANDSMKINCLUDED= yes
+
+AWK?= /usr/bin/awk
+BASENAME?= /usr/bin/basename
+BRANDELF?= /usr/bin/brandelf
+BSDMAKE?= /usr/bin/make
+BZCAT?= /usr/bin/bzcat
+BZIP2_CMD?= /usr/bin/bzip2
+CAT?= /bin/cat
+CHGRP?= /usr/bin/chgrp
+CHMOD?= /bin/chmod
+CHOWN?= /usr/sbin/chown
+CHROOT?= /usr/sbin/chroot
+COMM?= /usr/bin/comm
+CP?= /bin/cp
+CPIO?= /usr/bin/cpio
+CUT?= /usr/bin/cut
+DC?= /usr/bin/dc
+DIALOG?= /usr/bin/dialog
+DIALOG4PORTS?= ${LOCALBASE}/bin/dialog4ports
+DIFF?= /usr/bin/diff
+DIRNAME?= /usr/bin/dirname
+EGREP?= /usr/bin/egrep
+EXPR?= /bin/expr
+FALSE?= false # Shell builtin
+FILE?= /usr/bin/file
+FIND?= /usr/bin/find
+FLEX?= /usr/bin/flex
+FMT?= /usr/bin/fmt
+FMT_80?= ${FMT} 75 79
+GMAKE?= gmake
+GREP?= /usr/bin/grep
+GUNZIP_CMD?= /usr/bin/gunzip -f
+GZCAT?= /usr/bin/gzcat
+GZIP?= -9
+GZIP_CMD?= /usr/bin/gzip -nf ${GZIP}
+HEAD?= /usr/bin/head
+ID?= /usr/bin/id
+IDENT?= /usr/bin/ident
+JOT?= /usr/bin/jot
+LDCONFIG?= /sbin/ldconfig
+LHA_CMD?= ${LOCALBASE}/bin/lha
+LN?= /bin/ln
+LS?= /bin/ls
+MKDIR?= /bin/mkdir -p
+MKTEMP?= /usr/bin/mktemp
+MOUNT?= /sbin/mount
+MOUNT_DEVFS?= ${MOUNT} -t devfs devfs
+# XXX: this is a work-around for an obscure bug where
+# mount -t nullfs returns zero status on errors within
+# a make target
+MOUNT_NULLFS?= /sbin/mount_nullfs
+MV?= /bin/mv
+OBJCOPY?= /usr/bin/objcopy
+OBJDUMP?= /usr/bin/objdump
+PASTE?= /usr/bin/paste
+PAX?= /bin/pax
+PRINTF?= /usr/bin/printf
+PS_CMD?= /bin/ps
+PW?= /usr/sbin/pw
+READELF?= /usr/bin/readelf
+REALPATH?= /bin/realpath
+RLN?= ${INSTALL} -l rs
+RM?= /bin/rm -f
+RMDIR?= /bin/rmdir
+SED?= /usr/bin/sed
+SETENV?= /usr/bin/env
+SH?= /bin/sh
+SORT?= /usr/bin/sort
+STRIP_CMD?= /usr/bin/strip
+STAT?= /usr/bin/stat
+# Command to run commands as privileged user
+# Example: "/usr/local/bin/sudo -E sh -c" to use "sudo" instead of "su"
+SU_CMD?= /usr/bin/su root -c
+SYSCTL?= /sbin/sysctl
+TAIL?= /usr/bin/tail
+TEST?= test # Shell builtin
+TR?= /usr/bin/tr
+TRUE?= true # Shell builtin
+UMOUNT?= /sbin/umount
+UNAME?= /usr/bin/uname
+UNMAKESELF_CMD?= ${LOCALBASE}/bin/unmakeself
+UNZIP_CMD?= ${LOCALBASE}/bin/unzip
+UNZIP_NATIVE_CMD?= /usr/bin/unzip
+WHICH?= /usr/bin/which
+XARGS?= /usr/bin/xargs
+XMKMF?= ${LOCALBASE}/bin/xmkmf
+YACC?= /usr/bin/yacc
+
+XZ?= -Mmax
+XZCAT= /usr/bin/xzcat ${XZ}
+XZ_CMD?= /usr/bin/xz ${XZ}
+
+MD5?= /sbin/md5
+SHA256?= /sbin/sha256
+SOELIM?= /usr/bin/soelim
+
+# ECHO is defined in /usr/share/mk/sys.mk, which can either be "echo",
+# or "true" if the make flag -s is given. Use ECHO_CMD where you mean
+# the echo command.
+ECHO_CMD?= echo # Shell builtin
+
+# Used to print all the '===>' style prompts - override this to turn them off.
+ECHO_MSG?= ${ECHO_CMD}
+
+.elif !defined(_PKGTOOLSDEFINED)
+_PKGTOOLSDEFINED= yes
+PKG_BIN?= ${LOCALBASE}/sbin/pkg-static
+PKG_REGISTER?= ${PKG_BIN} register
+PKG_DELETE?= ${PKG_BIN} delete -y
+PKG_INFO?= ${PKG_BIN} info -g
+PKG_VERSION?= ${PKG_BIN} version
+PKG_CREATE?= ${PKG_BIN} create
+PKG_ADD?= ${PKG_BIN} add
+PKG_QUERY?= ${PKG_BIN} query
+
+.endif
diff --git a/test-ports/Mk/bsd.default-versions.mk b/test-ports/Mk/bsd.default-versions.mk
new file mode 100644
index 00000000..fd48b7be
--- /dev/null
+++ b/test-ports/Mk/bsd.default-versions.mk
@@ -0,0 +1,138 @@
+# $FreeBSD: head/Mk/bsd.default-versions.mk 494880 2019-03-07 04:56:28Z acm $
+#
+# MAINTAINER: ports@FreeBSD.org
+#
+# Provide default versions for ports with multiple versions selectable
+# by the user.
+#
+# Users who want to override these defaults can easily do so by defining
+# DEFAULT_VERSIONS in their make.conf as follows:
+#
+# DEFAULT_VERSIONS= perl5=5.20 ruby=2.0
+
+.if !defined(_INCLUDE_BSD_DEFAULT_VERSIONS_MK)
+_INCLUDE_BSD_DEFAULT_VERSIONS_MK= yes
+
+LOCALBASE?= /usr/local
+
+.for lang in APACHE BDB COROSYNC EMACS FIREBIRD FORTRAN FPC GCC GHOSTSCRIPT \
+ LAZARUS LINUX LLVM LUA MYSQL PERL5 PGSQL PHP PYTHON PYTHON2 PYTHON3 \
+ RUBY RUST SAMBA SSL TCLTK VARNISH
+.if defined(${lang}_DEFAULT)
+ERROR+= "The variable ${lang}_DEFAULT is set and it should only be defined through DEFAULT_VERSIONS+=${lang:tl}=${${lang}_DEFAULT} in /etc/make.conf"
+.endif
+#.undef ${lang}_DEFAULT
+.endfor
+
+.for lang in ${DEFAULT_VERSIONS}
+_l= ${lang:C/=.*//g}
+${_l:tu}_DEFAULT= ${lang:C/.*=//g}
+.endfor
+
+# Possible values: 2.4
+APACHE_DEFAULT?= 2.4
+# Possible values: 48, 5, 6
+BDB_DEFAULT?= 5
+# Possible values: 2, 3
+COROSYNC_DEFAULT?= 2
+# Possible_values: full canna nox devel_full devel_nox
+#EMACS_DEFAULT?= let the flavor be the default if not explicitly set
+# Possible values: 2.5
+FIREBIRD_DEFAULT?= 2.5
+# Possible values: flang (experimental), gfortran
+FORTRAN_DEFAULT?= gfortran
+# Possible values: 3.0.4
+FPC_DEFAULT?= 3.0.4
+# Possible values: 6, 7, 8
+GCC_DEFAULT?= 8
+# Possible values: 7, 8, 9, agpl
+GHOSTSCRIPT_DEFAULT?= agpl
+# Possible values: 2.0.0
+LAZARUS_DEFAULT?= 2.0.0
+.if ${ARCH} == amd64
+# Possible values: c6, c6_64, c7
+LINUX_DEFAULT?= c6_64
+.else
+# Possible values: c6
+LINUX_DEFAULT?= c6
+.endif
+# Possible values: 50, 60, 70 (to be used when non-base compiler is required)
+LLVM_DEFAULT?= 70
+# Possible values: 5.1, 5.2, 5.3
+LUA_DEFAULT?= 5.2
+# Possible values: 5.5, 5.6, 5.7, 8.0, 5.5m, 10.0m, 10.1m, 10.2m, 10.3m, 5.5p, 5.6p, 5.7p, 5.6w
+MYSQL_DEFAULT?= 5.6
+# Possible values: 5.24, 5.26, 5.28, devel
+.if !exists(${LOCALBASE}/bin/perl) || (!defined(_PORTS_ENV_CHECK) && \
+ defined(PACKAGE_BUILDING))
+PERL5_DEFAULT?= 5.28
+.elif !defined(PERL5_DEFAULT)
+# There's no need to replace development versions, like "5.23" with "devel"
+# because 1) nobody is supposed to use it outside of poudriere, and 2) it must
+# be set manually in /etc/make.conf in the first place, and we're never getting
+# in here.
+.if !defined(_PERL5_FROM_BIN)
+_PERL5_FROM_BIN!= perl -e 'printf "%vd\n", $$^V;'
+.endif
+_EXPORTED_VARS+= _PERL5_FROM_BIN
+PERL5_DEFAULT:= ${_PERL5_FROM_BIN:R}
+.endif
+# Possible values: 9.4, 9.5, 9.6, 10, 11
+PGSQL_DEFAULT?= 9.5
+# Possible values: 7.1, 7.2, 7.3
+PHP_DEFAULT?= 7.2
+# Possible values: 2.7, 3.5, 3.6, 3.7
+PYTHON_DEFAULT?= 2.7
+# Possible values: 2.7
+PYTHON2_DEFAULT?= 2.7
+# Possible values: 3.5, 3.6, 3.7
+PYTHON3_DEFAULT?= 3.6
+# Possible values: 2.3, 2.4, 2.5
+RUBY_DEFAULT?= 2.4
+# Possible values: rust, rust-nightly
+RUST_DEFAULT?= rust
+# Possible values: 4.6, 4.7, 4.8
+SAMBA_DEFAULT?= 4.7
+# Possible values: base, openssl, openssl111, libressl, libressl-devel
+.if !defined(SSL_DEFAULT)
+# If no preference was set, check for an installed base version
+# but give an installed port preference over it.
+. if !defined(SSL_DEFAULT) && \
+ !exists(${DESTDIR}/${LOCALBASE}/lib/libcrypto.so) && \
+ exists(${DESTDIR}/usr/include/openssl/opensslv.h)
+SSL_DEFAULT= base
+. else
+. if exists(${DESTDIR}/${LOCALBASE}/lib/libcrypto.so)
+. if defined(PKG_BIN)
+# find installed port and use it for dependency
+. if !defined(OPENSSL_INSTALLED)
+. if defined(DESTDIR)
+PKGARGS= -c ${DESTDIR}
+. else
+PKGARGS=
+. endif
+OPENSSL_INSTALLED!= ${PKG_BIN} ${PKGARGS} which -qo ${LOCALBASE}/lib/libcrypto.so || :
+. endif
+. if defined(OPENSSL_INSTALLED) && !empty(OPENSSL_INSTALLED)
+SSL_DEFAULT:= ${OPENSSL_INSTALLED:T}
+WARNING+= "You have ${OPENSSL_INSTALLED} installed but do not have DEFAULT_VERSIONS+=ssl=${SSL_DEFAULT} set in your make.conf"
+. endif
+. else
+check-makevars::
+ @${ECHO_MSG} "You have a ${LOCALBASE}/lib/libcrypto.so file installed, but the framework is unable"
+ @${ECHO_MSG} "to determine what port it comes from."
+ @${ECHO_MSG} "Add DEFAULT_VERSIONS+=ssl=<openssl package name> to your /etc/make.conf and try again."
+ @${FALSE}
+. endif
+. endif
+. endif
+# Make sure we have a default in the end
+SSL_DEFAULT?= base
+.endif
+# Possible values: 8.5, 8.6, 8.7
+TCLTK_DEFAULT?= 8.6
+
+# Possible values: 4, 6
+VARNISH_DEFAULT?= 4
+
+.endif
diff --git a/test-ports/Mk/bsd.destdir.mk b/test-ports/Mk/bsd.destdir.mk
new file mode 100644
index 00000000..64a1f132
--- /dev/null
+++ b/test-ports/Mk/bsd.destdir.mk
@@ -0,0 +1,222 @@
+#-*- tab-width: 4; -*-
+# ex:ts=4
+#
+# bsd.destdir.mk - Support for chrooted installation
+#
+# Created by: Gabor Kovesdan <gabor@FreeBSD.org>
+#
+# $FreeBSD: head/Mk/bsd.destdir.mk 367700 2014-09-08 20:44:21Z bdrewery $
+#
+# Please make sure all changes to this file are passed through the maintainer.
+
+DESTDIR_Include_MAINTAINER= portmgr@FreeBSD.org
+
+#
+# The target order is always: pre-chroot do-chroot post-chroot
+#
+# pre-chroot
+# - You can use this for special preparation work, that
+# want to do before chrooting into the destination
+# environment and doing the real build. At default
+# this target is empty.
+#
+# do-chroot
+# - This is the main target for doing the chrooted
+# operations. It mounts the ports tree and devfs into
+# the destination environment and starts make(1)
+# by calling chroot(1).
+#
+# post-chroot
+# - This target runs chrooted just after chroot(1) was
+# called. You can use this for special preparation
+# work for the chrooted build if necessary. At
+# default, this target is empty.
+#
+# DESTDIR_ENV_LIST
+# - Contains names of the variables in host environ(7),
+# which should be imported into the chrooted environ
+# along with their values.
+# Default: empty.
+#
+# DESTDIR_MOUNT_LIST
+# - Contains the directories to mount into the
+# destination. This is to make PORTSDIR, DISTDIR, etc.
+# available in the destination environment. Three
+# forms of entries are allowed:
+# VAR
+# - Mounts the path contained by VAR into
+# a temporary directory and sets VAR to that
+# directory in the destination environ(7).
+# VAR:HOST_PATH
+# - Mounts HOST_PATH to a a temporary directory
+# and sets VAR to that directory in the
+# destination environ(7).
+# VAR:HOST_PATH:DEST_PATH
+# - Mounts HOST_PATH to DEST_PATH and sets VAR
+# to DEST_PATH in the destination environ(7).
+# Default: PORTSDIR DISTDIR
+#
+# You can use something like this in host /etc/make.conf to
+# customize per-chroot environment:
+# .if ${DESTDIR}=/foo/bar
+# PREFIX=/opt
+# CFLAGS=-O3 -pipe
+# DESTDIR_ENV_LIST=PREFIX CFLAGS
+# .endif
+#
+
+.if !defined(_DESTDIRMKINCLUDED)
+
+_DESTDIRMKINCLUDED= yes
+
+.if defined(WITH_DESTDIR_DEBUG)
+DEBUG_MSG= ${ECHO_MSG} "DEBUG:"
+.else
+DEBUG_MSG= ${TRUE}
+.endif
+
+DESTDIR_ENV_LIST?=
+DESTDIR_ENV= CHROOTED=yes PATH=${PATH} TERM=${TERM}
+.for _var in ${DESTDIR_ENV_LIST:NDESTDIR:NCHROOTED:NPORTSDIR}
+DESTDIR_ENV+= ${_var}="${${_var}}"
+.endfor
+
+# Processing DESTDIR_MOUNT_LIST into something more machine-readable
+# VAR:HOST_PATH:DEST_PATH
+# VAR -> VAR:${VAR}:TMP
+# VAR:HOST_PATH -> VAR:HOST_PATH:TMP
+DESTDIR_MOUNT_LIST?= PORTSDIR DISTDIR
+_DESTDIR_MOUNT_LIST=
+.for _entry in ${DESTDIR_MOUNT_LIST}
+__entry=${_entry}
+.if ${__entry:M*\:*\:*}
+_DESTDIR_MOUNT_LIST+= ${_entry}
+.elif ${__entry:M*\:*}
+_DESTDIR_MOUNT_LIST+= ${_entry}:___temp___
+.else
+.if defined(${_entry}) && !empty(${_entry})
+_DESTDIR_MOUNT_LIST+= ${_entry}:${${_entry}}:___temp___
+.endif
+.endif
+.endfor
+
+.MAIN: all
+.for _target in ${.TARGETS}
+${_target}: pre-chroot do-chroot
+ @${TRUE}
+.endfor
+
+.if !target(pre-chroot)
+pre-chroot:
+ @${TRUE}
+.endif
+
+.if !target(do-chroot)
+do-chroot:
+ @if [ ! -d ${DESTDIR} ]; then \
+ ${ECHO_MSG} "===> Directory ${DESTDIR} does not exist"; \
+ ${ECHO_MSG} "===> Please set DESTDIR to a valid jail environment."; \
+ exit 1; \
+ fi; \
+ _destdir=`${REALPATH} ${DESTDIR}`; \
+ _mounted_entries_list=""; \
+ _created_mountpoints_list=""; \
+ _var_path_list=""; \
+ ${ECHO_MSG} "===> Creating some important subdirectories"; \
+ for _dir in tmp dev; do \
+ [ -d $${_destdir}/$${_dir} ] || \
+ if ${MKDIR} $${_destdir}/$${_dir}; then \
+ ${ECHO_MSG} "===> /$${_dir} subdirectory has been successfully created"; \
+ _created_mountpoints_list="$${_destdir}/$${_dir} $${_created_mountpoints_list}"; \
+ else \
+ ${ECHO_MSG} "===> /$${_dir} subdirectory could not be created"; \
+ exit 2; \
+ fi; \
+ done; \
+ ${DEBUG_MSG} "_DESTDIR_MOUNT_LIST=${_DESTDIR_MOUNT_LIST}"; \
+ for _entry in ${_DESTDIR_MOUNT_LIST}; do \
+ ${DEBUG_MSG} "Processing $${_entry}"; \
+ _mount_var=$${_entry%%:*}; \
+ _tp=$${_entry#*:}; \
+ _host_path=`${REALPATH} $${_tp%:*}`; \
+ _dest_path=$${_entry##*:}; \
+ _full_dest_path=`${REALPATH} -q $${_destdir}/$${_dest_path} || :`; \
+ _entry_was_created=0; \
+ _entry_should_mount=0; \
+ ${DEBUG_MSG} "$${_mount_var}:$${_host_path}:$${_full_dest_path}"; \
+ if [ "$${_dest_path}" = "___temp___" ]; then \
+ ${DEBUG_MSG} "Creating temporary mount point"; \
+ if _full_dest_path=`${MKTEMP} -d $${_destdir}/tmp/mountpoint.XXXXXX`; then \
+ ${DEBUG_MSG} "Temporary mount point $${_full_dest_path} created successfully"; \
+ _entry_was_created=1; \
+ _entry_should_mount=1; \
+ _dest_path=$${_full_dest_path#$${_destdir}}; \
+ _created_mountpoints_list="$${_full_dest_path} $${_created_mountpoints_list}"; \
+ else \
+ ${ECHO_MSG} "===> Failed to create temporary mount point"; \
+ exit 9; \
+ fi; \
+ else \
+ ${DEBUG_MSG} "Checking if already mounted"; \
+ if ${MOUNT}|${GREP} -qs "^$${_host_path} on $${_full_dest_path} ("; then \
+ ${DEBUG_MSG} "$${_host_path} is already mounted on $${_full_dest_path}"; \
+ _var_path_list="$${_var_path_list} $${_mount_var}=$${_dest_path}"; \
+ else \
+ ${DEBUG_MSG} "$${_host_path} is not mounted on $${_full_dest_path}"; \
+ _entry_should_mount=1; \
+ fi; \
+ fi; \
+ [ -d $${_full_dest_path} ] || \
+ if ${MKDIR} $${_full_dest_path}; then \
+ ${DEBUG_MSG} "Mount point $${_full_dest_path} created"; \
+ _entry_was_created=1; \
+ _created_mountpoints_list="$${_created_mountpoints_list} ${_full_dest_path}"; \
+ else \
+ ${ECHO_MSG} "===> Mount point $${_full_dest_path} could not be created"; \
+ exit 7; \
+ fi; \
+ [ "$${_entry_should_mount}" = "0" ] || \
+ if ${MOUNT_NULLFS} $${_host_path} $${_full_dest_path}; then \
+ ${DEBUG_MSG} "Directory $${_host_path} mounted"; \
+ _mounted_entries_list="$${_full_dest_path} $${_mounted_entries_list}"; \
+ _var_path_list="$${_var_path_list} $${_mount_var}=$${_dest_path}"; \
+ else \
+ ${ECHO_MSG} "===> Dir $${_host_path} could not be mounted"; \
+ [ "$${_entry_was_created}" = "0" ] || \
+ ${RMDIR} $${_full_dest_path} || ${TRUE}; \
+ exit 8; \
+ fi; \
+ done; \
+ ${DEBUG_MSG} "Handling devfs separately"; \
+ _full_dest_path=$${_destdir}/dev; \
+ ${MOUNT}|${GREP} -qs "^devfs on $${_full_dest_path} (" || \
+ if ${MOUNT_DEVFS} $${_full_dest_path}; then \
+ ${DEBUG_MSG} "devfs mounted"; \
+ _mounted_entries_list="$${_full_dest_path} $${_mounted_entries_list}"; \
+ else \
+ ${ECHO_MSG} "===> devfs could not be mounted"; \
+ [ -n "$${_created_mountpoints_list%%* $${_destdir}/dev *}" ] || \
+ ${RMDIR} $${_destdir}/dev || ${TRUE}; \
+ exit 9; \
+ fi; \
+ _var_path_list="$${_var_path_list} DEVFS=/dev"; \
+ ${DEBUG_MSG} "Things we mounted: $${_mounted_entries_list}"; \
+ ${DEBUG_MSG} "Things we created: $${_created_mountpoints_list}"; \
+ ${DEBUG_MSG} "_var_path_list: $${_var_path_list}"; \
+ ${ECHO_MSG} "===> Starting chrooted make in ${DESTDIR}..."; \
+ export $${_var_path_list}; \
+ ${CHROOT} $${_destdir} ${SH} -c "\
+ cd $${PORTSDIR}${.CURDIR:S|^${PORTSDIR}||}; \
+ ${SETENV} -i ${DESTDIR_ENV} $${_var_path_list} ${MAKE} ${.TARGETS}" && \
+ { status=$$?; ${ECHO_MSG} "===> Chrooted make in ${DESTDIR} succeeded"; } || \
+ { status=$$?; ${ECHO_MSG} "===> Chrooted make in ${DESTDIR} failed"; }; \
+ ${ECHO_MSG} "===> Cleaning up..."; \
+ for _entry in $${_mounted_entries_list}; do \
+ ${UMOUNT} -f $${_entry} || ${TRUE}; \
+ done; \
+ for _entry in $${_created_mountpoints_list}; do \
+ ${RMDIR} $${_entry} || ${TRUE}; \
+ done; \
+ exit $$status
+.endif # !target(do-chroot)
+.endif # !defined(_DESTDIRMKINCLUDED)
diff --git a/test-ports/Mk/bsd.gcc.mk b/test-ports/Mk/bsd.gcc.mk
new file mode 100644
index 00000000..3f42d6b4
--- /dev/null
+++ b/test-ports/Mk/bsd.gcc.mk
@@ -0,0 +1,216 @@
+#-*- tab-width: 4; -*-
+# ex:ts=4
+#
+# bsd.gcc.mk - Support for smarter USE_GCC usage.
+#
+# Created by: Edwin Groothuis <edwin@freebsd.org>
+#
+# To request the use of a current version of GCC, specify USE_GCC=yes in
+# your port/system configuration. This is the preferred use of USE_GCC.
+# It uses the canonical version of GCC defined in bsd.default-versions.mk.
+#
+# USE_GCC=any is similar, except that it also accepts the old GCC 4.2-
+# based system compiler in older versions of FreeBSD.
+#
+# If your port needs a specific (minimum) version of GCC, you can easily
+# specify that with a USE_GCC= statement. Unless absolutely necessary
+# do so by specifying USE_GCC=X+ which requests at least GCC version X.
+# To request a specific version omit the trailing + sign.
+#
+# Examples:
+# USE_GCC= yes # port requires a current version of GCC
+# # as defined in bsd.default-versions.mk.
+# USE_GCC= any # port requires GCC 4.2 or later.
+# USE_GCC= 7+ # port requires GCC 7 or later.
+# USE_GCC= 5 # port requires GCC 5.
+#
+# If you are wondering what your port exactly does, use "make test-gcc"
+# to see some debugging.
+#
+# $FreeBSD: head/Mk/bsd.gcc.mk 493645 2019-02-23 06:10:50Z gerald $
+
+GCC_Include_MAINTAINER= gerald@FreeBSD.org
+
+# All GCC versions supported by the ports framework. Keep them in
+# ascending order and in sync with the table below.
+# When adding a version, please keep the comment in
+# Mk/bsd.default-versions.mk in sync.
+GCCVERSIONS= 040200 040800 050000 060000 070000 080000
+
+# The first field is the OSVERSION in which it disappeared from the base.
+# The second field is the version as USE_GCC would use.
+GCCVERSION_040200= 9999999 4.2
+GCCVERSION_040800= 0 4.8
+GCCVERSION_050000= 0 5
+GCCVERSION_060000= 0 6
+GCCVERSION_070000= 0 7
+GCCVERSION_080000= 0 8
+
+# No configurable parts below this. ####################################
+#
+
+.if defined(USE_GCC) && ${USE_GCC} == yes
+USE_GCC= ${GCC_DEFAULT}+
+.endif
+
+# Extract the fields from GCCVERSION_...
+.for v in ${GCCVERSIONS}
+. for j in ${GCCVERSION_${v}}
+. if !defined(_GCCVERSION_${v}_R)
+_GCCVERSION_${v}_R= ${j}
+. elif !defined(_GCCVERSION_${v}_V)
+_GCCVERSION_${v}_V= ${j}
+. endif
+. endfor
+.endfor
+
+.if defined(USE_GCC) && !defined(FORCE_BASE_CC_FOR_TESTING)
+
+. if ${USE_GCC} == any
+
+# Enable the clang-is-cc workaround. Default to the last GCC imported
+# into base.
+_USE_GCC:= 4.2
+_GCC_ORLATER:= true
+
+. else # ${USE_GCC} == any
+
+# See if we can use a later version or exclusively the one specified.
+_USE_GCC:= ${USE_GCC:S/+//}
+.if ${USE_GCC} != ${_USE_GCC}
+_GCC_ORLATER:= true
+.endif
+
+. endif # ${USE_GCC} == any
+
+# Initialize _GCC_FOUND${v}. In parallel, check if USE_GCC points to a
+# valid version to begin with.
+.for v in ${GCCVERSIONS}
+. if exists(${LOCALBASE}/bin/gcc${_GCCVERSION_${v}_V:S/.//})
+_GCC_FOUND${v}= port
+. elif ${OSVERSION} < ${_GCCVERSION_${v}_R}
+. if exists(/usr/bin/gcc)
+_GCC_FOUND${v}= base
+. endif
+. endif
+. if ${_USE_GCC}==${_GCCVERSION_${v}_V}
+_GCCVERSION_OKAY= true
+. endif
+.endfor
+
+.if !defined(_GCCVERSION_OKAY)
+IGNORE= Unknown version of GCC specified (USE_GCC=${USE_GCC})
+.endif
+
+# If the GCC package defined in USE_GCC does not exist, but a later
+# version is allowed (for example 4.7+), see if there is a later.
+# First check if the base installed version is good enough, otherwise
+# get the first available version.
+#
+.if defined(_GCC_ORLATER)
+. for v in ${GCCVERSIONS}
+. if ${_USE_GCC} == ${_GCCVERSION_${v}_V}
+_GCC_MIN1:= true
+. endif
+. if defined(_GCC_MIN1) && defined(_GCC_FOUND${v}) && ${_GCC_FOUND${v}}=="base" && !defined(_GCC_FOUND)
+_GCC_FOUND:= ${_GCCVERSION_${v}_V}
+. endif
+. endfor
+. for v in ${GCCVERSIONS}
+. if ${_USE_GCC} == ${_GCCVERSION_${v}_V}
+_GCC_MIN2:= true
+. endif
+. if defined(_GCC_MIN2) && defined(_GCC_FOUND${v}) && !defined(_GCC_FOUND)
+_GCC_FOUND:= ${_GCCVERSION_${v}_V}
+. endif
+. endfor
+
+. if defined(_GCC_FOUND)
+_USE_GCC:= ${_GCC_FOUND}
+. elif ${_USE_GCC} < ${GCC_DEFAULT}
+_USE_GCC:= ${GCC_DEFAULT}
+. endif
+.endif # defined(_GCC_ORLATER)
+
+.endif # defined(USE_GCC)
+
+
+.if defined(_USE_GCC)
+# A concrete version has been selected. Determine if the installed OS
+# features this version in the base, and if not then set proper ports
+# dependencies, CC, CXX, CPP, and flags.
+.for v in ${GCCVERSIONS}
+. if ${_USE_GCC} == ${_GCCVERSION_${v}_V}
+. if ${OSVERSION} > ${_GCCVERSION_${v}_R} || !exists(/usr/bin/gcc)
+V:= ${_GCCVERSION_${v}_V:S/.//}
+_GCC_PORT_DEPENDS:= gcc${V}
+_GCC_PORT:= gcc${V}
+CC:= gcc${V}
+CXX:= g++${V}
+CPP:= cpp${V}
+_GCC_RUNTIME:= ${LOCALBASE}/lib/gcc${V}
+. if ${PORTNAME} == gcc
+# We don't want the rpath stuff while building GCC itself
+# so we do not set the FLAGS as done in the else part.
+# When building a GCC, we want the target libraries to be used and not the
+# host GCC libraries.
+. else
+CFLAGS+= -Wl,-rpath=${_GCC_RUNTIME}
+CXXFLAGS+= -Wl,-rpath=${_GCC_RUNTIME}
+LDFLAGS+= -Wl,-rpath=${_GCC_RUNTIME} -L${_GCC_RUNTIME}
+. endif
+. else # Use GCC in base.
+CC:= gcc
+CXX:= g++
+. if exists(/usr/bin/gcpp)
+CPP:= gcpp
+. else
+CPP:= cpp
+. endif
+. endif # Use GCC in base.
+. endif # ${_USE_GCC} == ${_GCCVERSION_${v}_V}
+.endfor
+.undef V
+
+# Now filter unsupported flags for CC and CXX.
+CFLAGS:= ${CFLAGS:N-mretpoline}
+CXXFLAGS:= ${CXXFLAGS:N-mretpoline}
+
+.if defined(_GCC_PORT_DEPENDS)
+BUILD_DEPENDS+= ${_GCC_PORT_DEPENDS}:lang/${_GCC_PORT}
+RUN_DEPENDS+= ${_GCC_PORT_DEPENDS}:lang/${_GCC_PORT}
+# Later GCC ports already depend on binutils; make sure whatever we
+# build leverages this as well.
+USE_BINUTILS= yes
+.endif
+.endif # defined(_USE_GCC) && !defined(FORCE_BASE_CC_FOR_TESTING)
+
+
+test-gcc:
+ @echo USE_GCC=${USE_GCC}
+.if defined(IGNORE)
+ @echo "IGNORE: ${IGNORE}"
+.else
+.if defined(USE_GCC)
+.if defined(_GCC_ORLATER)
+ @echo Port can use later versions.
+.else
+ @echo Port cannot use later versions.
+.endif
+.for v in ${GCCVERSIONS}
+ @echo -n "GCC version: ${_GCCVERSION_${v}_V} "
+.if defined(_GCC_FOUND${v})
+ @echo -n "(${_GCC_FOUND${v}}) "
+.endif
+ @echo "- OSVERSION up to ${_GCCVERSION_${v}_R}"
+# @echo ${v} - ${_GCC_FOUND${v}} - up to ${_GCCVERSION_${v}_R} - ${_GCCVERSION_${v}_V}
+.endfor
+ @echo Using GCC version ${_USE_GCC}
+.endif
+ @echo CC=${CC} - CXX=${CXX} - CPP=${CPP}
+ @echo CFLAGS=\"${CFLAGS}\"
+ @echo CXXFLAGS=\"${CXXFLAGS}\"
+ @echo LDFLAGS=\"${LDFLAGS}\"
+ @echo "BUILD_DEPENDS=${BUILD_DEPENDS}"
+ @echo "RUN_DEPENDS=${RUN_DEPENDS}"
+.endif
diff --git a/test-ports/Mk/bsd.gecko.mk b/test-ports/Mk/bsd.gecko.mk
new file mode 100644
index 00000000..ab78859c
--- /dev/null
+++ b/test-ports/Mk/bsd.gecko.mk
@@ -0,0 +1,536 @@
+#-*- tab-width: 4; -*-
+# ex:ts=4
+#
+# Date created: 12 Nov 2005
+# Whom: Michael Johnson <ahze@FreeBSD.org>
+#
+# $FreeBSD: head/Mk/bsd.gecko.mk 495403 2019-03-12 00:55:59Z jbeich $
+#
+# 4 column tabs prevent hair loss and tooth decay!
+
+# bsd.gecko.mk abstracts the selection of gecko-based backends. It allows users
+# and porters to support any available gecko backend without needing to build
+# many conditional tests. ${USE_GECKO} is the list of backends that your port
+# can handle, and ${GECKO} is set by bsd.gecko.mk to be the chosen backend.
+# Users set ${WITH_GECKO} to the list of gecko backends they want on their
+# system.
+
+.if defined(USE_GECKO)
+.if !defined(_POSTMKINCLUDED) && !defined(Gecko_Pre_Include)
+Gecko_Pre_Include= bsd.gecko.mk
+
+# This file contains some reusable components for mozilla ports. It's of
+# use primarily to apps from the mozilla project itself (such as Firefox,
+# Thunderbird, etc.), and probably won't be of use for gecko-based ports
+# like epiphany, galeon, etc.
+#
+# You need to make sure to add USE_GECKO=gecko to for your port can uses
+# one of these options below.
+#
+# Ports can use the following:
+#
+# USE_MOZILLA By default, it enables every system dependency
+# listed in '_ALL_DEPENDS'. If your port doesn't
+# need one of those then you can use '-' like
+# 'USE_MOZILLA= -png -vpx' to subtract the
+# dependencies. Experimental deps use '+' like
+# 'USE_MOZILLA= +speex +theora'.
+#
+# MOZILLA_PLIST_DIRS List of directories to descend into when installing
+# and creating the plist
+#
+# MOZ_PIS_SCRIPTS List of scripts residing in ${FILESDIR} to be
+# filtered through MOZCONFIG_SED and installed along
+# with our Pluggable Init Scripts (PIS)
+#
+# MOZ_SED_ARGS sed(1) commands through which MOZ_PIS_SCRIPTS are
+# filtered. There is a default set defined here, so
+# you probably want to add to MOZ_SED_ARGS rather
+# than clobber it
+#
+# MOZ_OPTIONS configure arguments (added to .mozconfig). If
+# NOMOZCONFIG is defined, you probably want to set
+# CONFIGURE_ARGS+=${MOZ_OPTIONS}
+#
+# MOZ_MK_OPTIONS The make(1) arguments (added to .mozconfig). If
+# NOMOZCONFIG is defined, you probably want to set
+# MAKE_ARGS+=${MOZ_MK_OPTIONS}
+#
+# MOZ_EXPORT Environment variables for the build process (added
+# to .mozconfig). If NOMOZCONFIG is defined, you
+# probably want to set MAKE_ENV+=${MOZ_EXPORT}
+#
+# MOZ_CHROME A variable for the --enable-chrome-format= in
+# CONFIGURE_ARGS. The default is omni.
+#
+# MOZ_TOOLKIT A variable for the --enable-default-toolkit= in
+# CONFIGURE_ARGS. The default is cairo-gtk2.
+#
+# PORT_MOZCONFIG Defaults to ${FILESDIR}/mozconfig.in, but can be
+# set to a generic mozconfig included with the port
+#
+# NOMOZCONFIG Don't drop a customized .mozconfig into the build
+# directory. Options will have to be specified in
+# CONFIGURE_ARGS instead
+#
+
+MAINTAINER?= gecko@FreeBSD.org
+
+MOZILLA?= ${PORTNAME}
+MOZILLA_VER?= ${PORTVERSION}
+MOZILLA_BIN?= ${PORTNAME}-bin
+MOZILLA_EXEC_NAME?=${MOZILLA}
+MOZ_RPATH?= ${MOZILLA}
+USES+= compiler:c++17-lang cpe gl gmake iconv localbase perl5 pkgconfig \
+ python:2.7,build desktop-file-utils
+CPE_VENDOR?=mozilla
+USE_GL= gl
+USE_PERL5= build
+USE_XORG= x11 xcb xcomposite xdamage xext xfixes xrender xt
+HAS_CONFIGURE= yes
+CONFIGURE_OUTSOURCE= yes
+
+BUNDLE_LIBS= yes
+
+.if ${MOZILLA_VER:R:R} >= 56
+BUILD_DEPENDS+= llvm${LLVM_DEFAULT}>0:devel/llvm${LLVM_DEFAULT}
+MOZ_EXPORT+= LLVM_CONFIG=llvm-config${LLVM_DEFAULT}
+# Require newer Clang than what's in base system unless user opted out
+. if ${CC} == cc && ${CXX} == c++ && exists(/usr/lib/libc++.so)
+BUILD_DEPENDS+= ${LOCALBASE}/bin/clang${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT}
+CPP= ${LOCALBASE}/bin/clang-cpp${LLVM_DEFAULT}
+CC= ${LOCALBASE}/bin/clang${LLVM_DEFAULT}
+CXX= ${LOCALBASE}/bin/clang++${LLVM_DEFAULT}
+USES:= ${USES:Ncompiler\:*} # XXX avoid warnings
+. endif
+.endif
+
+.if ${MOZILLA_VER:R:R} >= 61
+BUILD_DEPENDS+= ${LOCALBASE}/bin/python${PYTHON3_DEFAULT}:lang/python${PYTHON3_DEFAULT:S/.//g}
+MOZ_EXPORT+= PYTHON3="${LOCALBASE}/bin/python${PYTHON3_DEFAULT}"
+.endif
+
+.if ${MOZILLA_VER:R:R} >= 63
+BUILD_DEPENDS+= rust-cbindgen>=0.6.8:devel/rust-cbindgen \
+ node:www/node
+.endif
+
+.if ${MOZILLA_VER:R:R} < 64
+MOZ_OPTIONS+= --enable-pie
+.endif
+
+MOZILLA_SUFX?= none
+MOZSRC?= ${WRKSRC}
+PLISTF?= ${WRKDIR}/plist_files
+
+MOZ_PIS_DIR?= lib/${MOZILLA}/init.d
+
+PORT_MOZCONFIG?= ${FILESDIR}/mozconfig.in
+MOZCONFIG?= ${WRKSRC}/.mozconfig
+MOZILLA_PLIST_DIRS?= bin lib share/pixmaps share/applications
+PKGINSTALL?= ${WRKDIR}/pkg-install
+PKGDEINSTALL?= ${WRKDIR}/pkg-deinstall
+PKGINSTALL_INC?= ${.CURDIR}/../../www/firefox/files/pkg-install.in
+PKGDEINSTALL_INC?= ${.CURDIR}/../../www/firefox/files/pkg-deinstall.in
+
+MOZ_PKGCONFIG_FILES?= ${MOZILLA}-gtkmozembed ${MOZILLA}-js \
+ ${MOZILLA}-xpcom ${MOZILLA}-plugin
+
+MOZ_EXPORT+= ${CONFIGURE_ENV} \
+ RUSTFLAGS="${RUSTFLAGS}" \
+ PERL="${PERL}" \
+ ac_cv_clock_monotonic=
+MOZ_OPTIONS+= --prefix="${PREFIX}"
+MOZ_MK_OPTIONS+=MOZ_OBJDIR="${BUILD_WRKSRC}"
+
+LDFLAGS+= -Wl,--as-needed
+
+# Adjust -C target-cpu if -march/-mcpu is set by bsd.cpu.mk
+.if ${ARCH} == amd64 || ${ARCH} == i386
+RUSTFLAGS+= ${CFLAGS:M-march=*:S/-march=/-C target-cpu=/}
+.else
+RUSTFLAGS+= ${CFLAGS:M-mcpu=*:S/-mcpu=/-C target-cpu=/}
+.endif
+
+# Standard depends
+_ALL_DEPENDS= event ffi graphite harfbuzz hunspell icu jpeg nspr nss png pixman sqlite vpx webp
+
+event_LIB_DEPENDS= libevent.so:devel/libevent
+event_MOZ_OPTIONS= --with-system-libevent
+
+ffi_LIB_DEPENDS= libffi.so:devel/libffi
+ffi_MOZ_OPTIONS= --enable-system-ffi
+
+.if exists(${FILESDIR}/patch-bug847568)
+graphite_LIB_DEPENDS= libgraphite2.so:graphics/graphite2
+graphite_MOZ_OPTIONS= --with-system-graphite2
+
+harfbuzz_LIB_DEPENDS= libharfbuzz.so:print/harfbuzz
+harfbuzz_MOZ_OPTIONS= --with-system-harfbuzz
+.endif
+
+hunspell_LIB_DEPENDS= libhunspell-1.7.so:textproc/hunspell
+hunspell_MOZ_OPTIONS= --enable-system-hunspell
+
+icu_LIB_DEPENDS= libicui18n.so:devel/icu
+icu_MOZ_OPTIONS= --with-system-icu --with-intl-api
+
+-jpeg_BUILD_DEPENDS=yasm:devel/yasm
+jpeg_USES= jpeg
+jpeg_MOZ_OPTIONS= --with-system-jpeg=${LOCALBASE}
+
+nspr_LIB_DEPENDS= libnspr4.so:devel/nspr
+nspr_MOZ_OPTIONS= --with-system-nspr
+
+nss_LIB_DEPENDS= libnss3.so:security/nss
+nss_MOZ_OPTIONS= --with-system-nss
+
+pixman_LIB_DEPENDS= libpixman-1.so:x11/pixman
+pixman_MOZ_OPTIONS= --enable-system-pixman
+
+png_LIB_DEPENDS= libpng.so:graphics/png
+png_MOZ_OPTIONS= --with-system-png=${LOCALBASE}
+
+sqlite_LIB_DEPENDS= libsqlite3.so:databases/sqlite3
+sqlite_MOZ_OPTIONS= --enable-system-sqlite
+
+-vpx_BUILD_DEPENDS= yasm:devel/yasm
+vpx_LIB_DEPENDS= libvpx.so:multimedia/libvpx
+vpx_MOZ_OPTIONS= --with-system-libvpx
+
+webp_LIB_DEPENDS= libwebp.so:graphics/webp
+webp_MOZ_OPTIONS= --with-system-webp
+
+.for use in ${USE_MOZILLA}
+${use:S/-/_WITHOUT_/}= ${TRUE}
+.endfor
+
+LIB_DEPENDS+= libfontconfig.so:x11-fonts/fontconfig \
+ libfreetype.so:print/freetype2
+
+.for dep in ${_ALL_DEPENDS} ${USE_MOZILLA:M+*:S/+//}
+.if !defined(_WITHOUT_${dep})
+BUILD_DEPENDS+= ${${dep}_BUILD_DEPENDS}
+LIB_DEPENDS+= ${${dep}_LIB_DEPENDS}
+RUN_DEPENDS+= ${${dep}_RUN_DEPENDS}
+USES+= ${${dep}_USES}
+MOZ_OPTIONS+= ${${dep}_MOZ_OPTIONS}
+.else
+BUILD_DEPENDS+= ${-${dep}_BUILD_DEPENDS}
+.endif
+.endfor
+
+# Standard options
+MOZ_CHROME?= omni
+MOZ_TOOLKIT?= cairo-gtk3
+MOZ_CHANNEL?= ${PKGNAMESUFFIX:Urelease:S/^-//}
+MOZ_OPTIONS+= \
+ --enable-chrome-format=${MOZ_CHROME} \
+ --enable-default-toolkit=${MOZ_TOOLKIT} \
+ --enable-update-channel=${MOZ_CHANNEL} \
+ --disable-updater
+# others
+MOZ_OPTIONS+= --with-system-zlib \
+ --with-system-bz2
+
+# API keys from www/chromium
+# http://www.chromium.org/developers/how-tos/api-keys
+# Note: these are for FreeBSD use ONLY. For your own distribution,
+# please get your own set of keys.
+MOZ_EXPORT+= MOZ_GOOGLE_API_KEY=AIzaSyBsp9n41JLW8jCokwn7vhoaMejDFRd1mp8
+
+.if ${PORT_OPTIONS:MGTK2}
+MOZ_TOOLKIT= cairo-gtk2
+.elif ${PORT_OPTIONS:MWAYLAND}
+MOZ_TOOLKIT= cairo-gtk3-wayland
+.endif
+
+USES+= gnome
+.if ${MOZ_TOOLKIT:Mcairo-gtk3*}
+BUILD_DEPENDS+= gtk3>=3.14.6:x11-toolkits/gtk30
+USE_GNOME+= gdkpixbuf2 gtk20 gtk30
+.else # gtk2, cairo-gtk2
+USE_GNOME+= gdkpixbuf2 gtk20
+.endif
+
+.if ${PORT_OPTIONS:MOPTIMIZED_CFLAGS}
+CFLAGS+= -O3
+MOZ_EXPORT+= MOZ_OPTIMIZE_FLAGS="${CFLAGS:M-O*}"
+MOZ_OPTIONS+= --enable-optimize
+.else
+MOZ_OPTIONS+= --disable-optimize
+. if ${MOZILLA_VER:R:R} >= 56
+. if ${/usr/bin/ld:L:tA} != /usr/bin/ld.lld
+# ld 2.17 barfs on Stylo built with -C opt-level=0
+USE_BINUTILS= yes
+LDFLAGS+= -B${LOCALBASE}/bin
+. endif
+. endif
+.endif
+
+.if ${PORT_OPTIONS:MCANBERRA}
+RUN_DEPENDS+= libcanberra>0:audio/libcanberra
+.endif
+
+.if ${PORT_OPTIONS:MDBUS}
+BUILD_DEPENDS+= libnotify>0:devel/libnotify
+LIB_DEPENDS+= libdbus-1.so:devel/dbus \
+ libdbus-glib-1.so:devel/dbus-glib \
+ libstartup-notification-1.so:x11/startup-notification
+MOZ_OPTIONS+= --enable-startup-notification
+.else
+MOZ_OPTIONS+= --disable-dbus
+.endif
+
+.if ${PORT_OPTIONS:MFFMPEG}
+# dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
+RUN_DEPENDS+= ffmpeg>=0.8,1:multimedia/ffmpeg
+.endif
+
+.if ${PORT_OPTIONS:MGCONF}
+USE_GNOME+= gconf2
+MOZ_OPTIONS+= --enable-gconf
+.else
+MOZ_OPTIONS+= --disable-gconf
+.endif
+
+.if ${PORT_OPTIONS:MLIBPROXY}
+LIB_DEPENDS+= libproxy.so:net/libproxy
+MOZ_OPTIONS+= --enable-libproxy
+.else
+MOZ_OPTIONS+= --disable-libproxy
+.endif
+
+.if ${PORT_OPTIONS:MALSA}
+LIB_DEPENDS+= libasound.so:audio/alsa-lib
+RUN_DEPENDS+= ${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:audio/alsa-plugins
+RUN_DEPENDS+= alsa-lib>=1.1.1_1:audio/alsa-lib
+MOZ_OPTIONS+= --enable-alsa
+.endif
+
+.if ${PORT_OPTIONS:MJACK}
+BUILD_DEPENDS+= ${LOCALBASE}/include/jack/jack.h:audio/jack
+MOZ_OPTIONS+= --enable-jack
+.endif
+
+.if ${PORT_OPTIONS:MPULSEAUDIO}
+BUILD_DEPENDS+= ${LOCALBASE}/include/pulse/pulseaudio.h:audio/pulseaudio
+MOZ_OPTIONS+= --enable-pulseaudio
+.else
+MOZ_OPTIONS+= --disable-pulseaudio
+.endif
+
+.if ${PORT_OPTIONS:MSNDIO}
+LIB_DEPENDS+= libsndio.so:audio/sndio
+post-patch-SNDIO-on:
+ @${REINPLACE_CMD} -e 's|OpenBSD|${OPSYS}|g' \
+ ${MOZSRC}/media/libcubeb/src/moz.build \
+ ${MOZSRC}/toolkit/library/moz.build
+. for tests in tests gtest
+ @if [ -f "${MOZSRC}/media/libcubeb/${tests}/moz.build" ]; then \
+ ${REINPLACE_CMD} -e 's|OpenBSD|${OPSYS}|g' \
+ ${MOZSRC}/media/libcubeb/${tests}/moz.build; \
+ fi
+. endfor
+ @if [ -f "${MOZSRC}/media/webrtc/trunk/webrtc/build/common.gypi" ]; then \
+ ${REINPLACE_CMD} -e 's|OS==\"openbsd\"|OS==\"${OPSYS:tl}\"|g' \
+ ${MOZSRC}/media/webrtc/trunk/webrtc/build/common.gypi; \
+ fi
+ @if [ -f "${MOZSRC}/media/webrtc/signaling/test/common.build" ]; then \
+ ${ECHO_CMD} "OS_LIBS += ['sndio']" >> \
+ ${MOZSRC}/media/webrtc/signaling/test/common.build; \
+ fi
+.endif
+
+.if ${PORT_OPTIONS:MRUST} || ${MOZILLA_VER:R:R} >= 54
+BUILD_DEPENDS+= ${RUST_DEFAULT}>=1.30:lang/${RUST_DEFAULT}
+. if ${MOZILLA_VER:R:R} < 54
+MOZ_OPTIONS+= --enable-rust
+. endif
+.else
+MOZ_OPTIONS+= --disable-rust
+.endif
+
+.if ${PORT_OPTIONS:MDEBUG}
+MOZ_OPTIONS+= --enable-debug --disable-release
+STRIP= # ports/184285
+.else
+MOZ_OPTIONS+= --disable-debug --disable-debug-symbols --enable-release
+. if ${MOZILLA_VER:R:R} >= 67 && (${ARCH:Maarch64} || ${MACHINE_CPU:Msse2})
+MOZ_OPTIONS+= --enable-rust-simd
+. endif
+.endif
+
+.if ${PORT_OPTIONS:MPROFILE}
+MOZ_OPTIONS+= --enable-profiling
+STRIP=
+.else
+MOZ_OPTIONS+= --disable-profiling
+.endif
+
+.if ${PORT_OPTIONS:MTEST}
+USE_XORG+= xscrnsaver
+MOZ_OPTIONS+= --enable-tests
+.else
+MOZ_OPTIONS+= --disable-tests
+.endif
+
+.if !defined(STRIP) || ${STRIP} == ""
+MOZ_OPTIONS+= --disable-strip --disable-install-strip
+.else
+MOZ_OPTIONS+= --enable-strip --enable-install-strip
+.endif
+
+# _MAKE_JOBS is only available after bsd.port.post.mk, thus cannot be
+# used in .mozconfig. And client.mk automatically uses -jN where N
+# is what multiprocessing.cpu_count() returns.
+.if defined(DISABLE_MAKE_JOBS) || defined(MAKE_JOBS_UNSAFE)
+MAKE_JOBS_NUMBER= 1
+.endif
+.if defined(MAKE_JOBS_NUMBER)
+MOZ_MAKE_FLAGS+=-j${MAKE_JOBS_NUMBER}
+.endif
+
+.if defined(MOZ_MAKE_FLAGS)
+MOZ_MK_OPTIONS+=MOZ_MAKE_FLAGS="${MOZ_MAKE_FLAGS}"
+.endif
+
+MOZ_SED_ARGS+= -e's|@CPPFLAGS@|${CPPFLAGS}|g' \
+ -e 's|@CFLAGS@|${CFLAGS}|g' \
+ -e 's|@LDFLAGS@|${LDFLAGS}|g' \
+ -e 's|@LIBS@|${LIBS}|g' \
+ -e 's|@LOCALBASE@|${LOCALBASE}|g' \
+ -e 's|@PERL@|${PERL}|g' \
+ -e 's|@MOZDIR@|${PREFIX}/lib/${MOZILLA}|g' \
+ -e 's|%%PREFIX%%|${PREFIX}|g' \
+ -e 's|%%CFLAGS%%|${CFLAGS}|g' \
+ -e 's|%%LDFLAGS%%|${LDFLAGS}|g' \
+ -e 's|%%LIBS%%|${LIBS}|g' \
+ -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
+ -e 's|%%PERL%%|${PERL}|g' \
+ -e 's|%%MOZILLA%%|${MOZILLA}|g' \
+ -e 's|%%MOZILLA_BIN%%|${MOZILLA_BIN}|g' \
+ -e 's|%%MOZDIR%%|${PREFIX}/lib/${MOZILLA}|g'
+MOZCONFIG_SED?= ${SED} ${MOZ_SED_ARGS}
+
+.if ${ARCH} == amd64
+. if ${USE_MOZILLA:M-nss}
+USE_BINUTILS= # intel-gcm.s
+CFLAGS+= -B${LOCALBASE}/bin
+LDFLAGS+= -B${LOCALBASE}/bin
+. endif
+.elif ${ARCH:Mpowerpc*}
+. if ${ARCH} == "powerpc64"
+MOZ_EXPORT+= UNAME_m="${ARCH}"
+CFLAGS+= -mminimal-toc
+. endif
+.elif ${ARCH} == "sparc64"
+# Work around miscompilation/mislinkage of the sCanonicalVTable hacks.
+MOZ_OPTIONS+= --disable-v1-string-abi
+.endif
+
+.else # bsd.port.post.mk
+
+post-patch: gecko-post-patch gecko-moz-pis-patch
+
+gecko-post-patch:
+.if exists(${PKGINSTALL_INC})
+ @${MOZCONFIG_SED} < ${PKGINSTALL_INC} > ${PKGINSTALL}
+.endif
+.if exists(${PKGDEINSTALL_INC})
+ @${MOZCONFIG_SED} < ${PKGDEINSTALL_INC} > ${PKGDEINSTALL}
+.endif
+ @${RM} ${MOZCONFIG}
+.if !defined(NOMOZCONFIG)
+ @if [ -e ${PORT_MOZCONFIG} ] ; then \
+ ${MOZCONFIG_SED} < ${PORT_MOZCONFIG} >> ${MOZCONFIG} ; \
+ fi
+.for arg in ${MOZ_OPTIONS}
+ @${ECHO_CMD} ac_add_options ${arg:Q} >> ${MOZCONFIG}
+.endfor
+.for arg in ${MOZ_MK_OPTIONS}
+ @${ECHO_CMD} mk_add_options ${arg:Q} >> ${MOZCONFIG}
+.endfor
+.for var in ${MOZ_EXPORT}
+ @${ECHO_CMD} export ${var:Q} >> ${MOZCONFIG}
+.endfor
+.endif # .if !defined(NOMOZCONFIG)
+.if exists(${MOZSRC}/build/unix/mozilla-config.in)
+ @${REINPLACE_CMD} -e 's/%{idldir}/%idldir%/g ; \
+ s|"%FULL_NSPR_CFLAGS%"|`nspr-config --cflags`|g ; \
+ s|"%FULL_NSPR_LIBS%"|`nspr-config --libs`|g' \
+ ${MOZSRC}/build/unix/mozilla-config.in
+.endif
+.if ${USE_MOZILLA:M-nspr}
+ @${ECHO_MSG} "===> Applying NSPR patches"
+ @for i in ${.CURDIR}/../../devel/nspr/files/patch-*; do \
+ ${PATCH} ${PATCH_ARGS} -d ${MOZSRC}/nsprpub < $$i; \
+ done
+.endif
+.if ${USE_MOZILLA:M-nss}
+ @${ECHO_MSG} "===> Applying NSS patches"
+ @for i in ${.CURDIR}/../../security/nss/files/patch-*; do \
+ ${PATCH} ${PATCH_ARGS} -d ${MOZSRC}/security/nss < $$i; \
+ done
+.endif
+ @if [ -f ${WRKSRC}/config/baseconfig.mk ] ; then \
+ ${REINPLACE_CMD} -e 's|%%MOZILLA%%|${MOZILLA}|g' \
+ ${WRKSRC}/config/baseconfig.mk; \
+ fi
+ @${REINPLACE_CMD} -e 's|%%MOZILLA%%|${MOZILLA}|g' \
+ ${MOZSRC}/config/baseconfig.mk
+ @${REINPLACE_CMD} -e 's|/usr/local/netscape|${LOCALBASE}|g ; \
+ s|/usr/local/lib/netscape|${LOCALBASE}/lib|g' \
+ ${MOZSRC}/xpcom/io/SpecialSystemDirectory.cpp
+ @${REINPLACE_CMD} -e 's|/etc|${PREFIX}&|g' \
+ ${MOZSRC}/xpcom/build/nsXPCOMPrivate.h
+ @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
+ -e 's|mozilla/plugins|browser_plugins|g' \
+ -e 's|share/mozilla/extensions|lib/xpi|g' \
+ ${MOZSRC}/xpcom/io/nsAppFileLocationProvider.cpp \
+ ${MOZSRC}/toolkit/xre/nsXREDirProvider.cpp
+.if ${MOZILLA_VER:R:R} < 61
+ @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
+ ${MOZSRC}/extensions/spellcheck/hunspell/*/mozHunspell.cpp
+.endif
+
+# handles mozilla pis scripts.
+gecko-moz-pis-patch:
+.for moz in ${MOZ_PIS_SCRIPTS}
+ @${MOZCONFIG_SED} < ${FILESDIR}/${moz} > ${WRKDIR}/${moz}
+.endfor
+
+pre-configure: gecko-pre-configure
+
+gecko-pre-configure:
+.if ${PORT_OPTIONS:MWAYLAND}
+# .if !exists() evaluates too early before gtk3 has a chance to be installed
+ @if ! pkg-config --exists gtk+-wayland-3.0; then \
+ ${ECHO_MSG} "${PKGNAME}: Needs gtk3 with WAYLAND support enabled."; \
+ ${FALSE}; \
+ fi
+.endif
+
+pre-install: gecko-moz-pis-pre-install
+post-install-script: gecko-create-plist
+
+gecko-create-plist:
+# Create the plist
+ ${RM} ${PLISTF}
+.for dir in ${MOZILLA_PLIST_DIRS}
+ @cd ${STAGEDIR}${PREFIX}/${dir} && ${FIND} -H -s * ! -type d | \
+ ${SED} -e 's|^|${dir}/|' >> ${PLISTF}
+.endfor
+ ${CAT} ${PLISTF} | ${SORT} >> ${TMPPLIST}
+
+gecko-moz-pis-pre-install:
+.if defined(MOZ_PIS_SCRIPTS)
+ ${MKDIR} ${STAGEDIR}${PREFIX}/${MOZ_PIS_DIR}
+.for moz in ${MOZ_PIS_SCRIPTS}
+ ${INSTALL_SCRIPT} ${WRKDIR}/${moz} ${STAGEDIR}${PREFIX}/${MOZ_PIS_DIR}
+.endfor
+.endif
+
+.endif
+.endif
+# HERE THERE BE TACOS -- adamw
diff --git a/test-ports/Mk/bsd.gstreamer.mk b/test-ports/Mk/bsd.gstreamer.mk
new file mode 100644
index 00000000..2e54e2dc
--- /dev/null
+++ b/test-ports/Mk/bsd.gstreamer.mk
@@ -0,0 +1,676 @@
+#-*- tab-width: 4; -*-
+# ex:ts=4
+#
+# bsd.gstreamer.mk - Support for gstreamer-plugins-based ports.
+#
+# Created by: Michael Johnson <ahze@FreeBSD.org>
+#
+# $FreeBSD: head/Mk/bsd.gstreamer.mk 488337 2018-12-25 19:43:19Z kwm $
+# $MCom: ports/Mk/bsd.gstreamer.mk,v 1.56 2013/01/15 21:43:45 kwm Exp $
+
+.if !defined(_POSTMKINCLUDED) && !defined(Gstreamer_Pre_Include)
+
+Gstreamer_Include_MAINTAINER= multimedia@FreeBSD.org
+Gstreamer_Pre_Include= bsd.gstreamer.mk
+
+.endif
+
+# Ports can use the following:
+#
+# For Gstreamer 0.10:
+# USE_GSTREAMER= lame faac ffmpeg
+#
+# For Gstreamer 1.x the same rules apply but instead of
+# USE_GSTREAMER=, USE_GSTREAMER1= is used.
+#
+# If you want to use USE_GSTREAMER after <bsd.port.pre.mk>
+# you must follow one of the examples listed below
+#
+# .include <bsd.port.options.mk>
+# .if defined(WITH_VORBIS)
+# USE_GSTREAMER= vorbis
+# .endif
+#
+# or
+# USE_GSTREAMER= yes
+# .include <bsd.port.options.mk>
+# .if defined(WITH_FAAD)
+# USE_GSTREAMER+= faad
+# .endif
+# .include <bsd.port.pre.mk>
+#
+# USE_GSTREAMER=yes will always add a dependency to
+# gstreamer-plugins
+#
+# The use of WANT_GSTREAMER=yes should be discouraged.
+#
+# "Normal" dependencies and variables
+#
+
+GSTREAMER_PORT= ${PORTSDIR}/multimedia/gstreamer-plugins
+_GST_LIB_BASE= ${LOCALBASE}/lib/gstreamer-${GST_VERSION}
+GST_VERSION= 0.10
+GST_MINOR_VERSION= .0
+GST_SHLIB_VERSION= 1
+
+GSTREAMER1_PORT= ${PORTSDIR}/multimedia/gstreamer1-plugins
+_GST1_LIB_BASE= ${LOCALBASE}/lib/gstreamer-${GST1_VERSION}
+GST1_VERSION= 1.4
+GST1_MINOR_VERSION= .0
+GST1_SHLIB_VERSION= 0
+GST1_MINIMAL_VERSION= .0
+
+# These are the current supported gstreamer-plugins modules:
+# Supported plugins by both 0.10 and 1.0.
+_GSTREAMER_PLUGINS= \
+ a52dec \
+ aalib \
+ amrnb \
+ amrwbdec \
+ cairo \
+ cdio \
+ cdparanoia \
+ dts \
+ dv \
+ faac \
+ faad \
+ flac \
+ flite \
+ gdkpixbuf \
+ gl \
+ gme \
+ gnonlin \
+ gsm \
+ jack \
+ jpeg \
+ ladspa \
+ lame \
+ libcaca \
+ libmms \
+ libvisual \
+ mpeg2dec \
+ mpeg2enc \
+ musepack \
+ neon \
+ ogg \
+ opencv \
+ opus \
+ pango \
+ pulse \
+ resindvd \
+ shout2 \
+ sndfile \
+ sndio \
+ sidplay \
+ soundtouch \
+ soup \
+ spc \
+ speex \
+ taglib \
+ theora \
+ twolame \
+ v4l2 \
+ vorbis \
+ wavpack \
+ x264
+
+# plugins only in 0.10
+.if defined(USE_GSTREAMER)
+_GSTREAMER_PLUGINS+= \
+ annodex \
+ bz2 \
+ cdaudio \
+ dvd \
+ esound \
+ ffmpeg \
+ fluendo-mp3 \
+ fluendo-mpegdemux \
+ gconf \
+ gio \
+ gnomevfs \
+ hal \
+ libpng \
+ mad \
+ mm \
+ mp3 \
+ nas \
+ python \
+ qt4 \
+ schroedinger \
+ sdl \
+ vdpau \
+ vp8 \
+ xvid
+.endif # USE_GSTREAMER
+
+# plugins only in 1.0
+.if defined(USE_GSTREAMER1)
+_GSTREAMER_PLUGINS+= \
+ aom \
+ assrender \
+ bs2b \
+ chromaprint \
+ curl \
+ dash \
+ dtls \
+ dvdread \
+ editing-services \
+ gtk \
+ hls \
+ kate \
+ kms \
+ libav \
+ libde265 \
+ lv2 \
+ modplug \
+ mpg123 \
+ mplex \
+ openexr \
+ openh264 \
+ openjpeg \
+ openmpt \
+ png \
+ rsvg \
+ rtmp \
+ smoothstreaming \
+ spandsp \
+ srtp \
+ ttml \
+ vpx \
+ vulkan \
+ webp \
+ webrtcdsp \
+ x \
+ x265 \
+ ximagesrc \
+ zbar
+# vaapi
+.endif # USE_GSTREAMER1
+
+# other plugins
+_USE_GSTREAMER_ALL= bad core good ugly yes ${_GSTREAMER_PLUGINS}
+
+#--------------------------------------------------------------------------#
+
+core_DEPENDS= multimedia/gstreamer-plugins-core
+core_IMPL= #
+
+yes_DEPENDS= multimedia/gstreamer-plugins
+yes_NAME= gstreamer-plugins
+yes_NAME10= gstreamer1-plugins
+yes_GST_PREFIX= # empty
+yes_IMPL= # empty
+
+# XXX check if IMPL is correct for both 0.10 and 1.0
+
+#-- audio plugins section -------------------------------------------------#
+
+# Audio Plugins Section
+a52dec_DEPENDS= audio/gstreamer-plugins-a52dec
+a52dec_IMPL= ugly
+
+amrnb_DEPENDS= audio/gstreamer-plugins-amrnb
+amrnb_IMPL= ugly
+
+amrwbdec_DEPENDS= audio/gstreamer-plugins-amrwbdec
+amrwbdec_IMPL= ugly
+
+bs2b_DEPENDS= audio/gstreamer-plugins-bs2b
+bs2b_IMPL= bad
+
+cdaudio_DEPENDS= audio/gstreamer-plugins-cdaudio
+cdaudio_IMPL= bad
+
+cdparanoia_DEPENDS= audio/gstreamer-plugins-cdparanoia
+cdparanoia_IMPL= #
+
+chromaprint_DEPENDS= audio/gstreamer-plugins-chromaprint
+chromeprint_IMPL= bad
+
+esound_DEPENDS= audio/gstreamer-plugins-esound
+esound_IMPL= good
+
+faac_DEPENDS= audio/gstreamer-plugins-faac
+faac_IMPL= bad
+
+faad_DEPENDS= audio/gstreamer-plugins-faad
+faad_IMPL= bad
+
+flac_DEPENDS= audio/gstreamer-plugins-flac
+flac_IMPL= good
+
+flite_DEPENDS= audio/gstreamer-plugins-flite
+flite_IMPL= bad
+
+fluendo-mp3_DEPENDS= audio/gstreamer-plugins-fluendo-mp3
+fluendo_IMPL= #
+
+gme_DEPENDS= audio/gstreamer-plugins-gme
+gme_IMPL= bad
+
+gsm_DEPENDS= audio/gstreamer-plugins-gsm
+gsm_IMPL= bad
+
+hal_DEPENDS= sysutils/gstreamer-plugins-hal
+hal_IMPL= good
+
+jack_DEPENDS= audio/gstreamer-plugins-jack
+jack_IMPL= good
+
+ladspa_DEPENDS= audio/gstreamer-plugins-ladspa
+ladspa_IMPL= bad
+
+lame_DEPENDS= audio/gstreamer-plugins-lame
+lame_IMPL= ugly
+
+lv2_DEPENDS= audio/gstreamer-plugins-lv2
+lv2_IMPL= bad
+
+mad_DEPENDS= audio/gstreamer-plugins-mad
+mad_IMPL= ugly
+
+modplug_DEPENDS= audio/gstreamer-plugins-modplug
+modplug_IMPL= bad
+
+mp3_DEPENDS= audio/gstreamer-plugins-mp3
+mp3_IMPL= #
+
+mpg123_DEPENDS= audio/gstreamer-plugins-mpg123
+mpg123_IMPL= ugly
+
+musepack_DEPENDS= audio/gstreamer-plugins-musepack
+musepack_IMPL= bad
+
+nas_DEPENDS= audio/gstreamer-plugins-nas
+nas_IMPL= bad
+
+neon_DEPENDS= www/gstreamer-plugins-neon
+neon_IMPL= bad
+
+ogg_DEPENDS= audio/gstreamer-plugins-ogg
+ogg_IMPL= #
+
+opus_DEPENDS= audio/gstreamer-plugins-opus
+opus_IMPL= #
+
+pulse_DEPENDS= audio/gstreamer-plugins-pulse
+pulse_IMPL= good
+
+shout2_DEPENDS= audio/gstreamer-plugins-shout2
+shout2_IMPL= good
+
+sidplay_DEPENDS= audio/gstreamer-plugins-sidplay
+sidplay_IMPL= ugly
+
+sndio_DEPENDS= audio/gstreamer-plugins-sndio
+sndio_IMPL= #
+
+sndfile_DEPENDS= audio/gstreamer-plugins-sndfile
+sndfile_IMPL= bad
+
+soundtouch_DEPENDS= audio/gstreamer-plugins-soundtouch
+soundtouch_IMPL= bad
+
+spc_DEPENDS= audio/gstreamer-plugins-spc
+spc_IMPL= bad
+
+speex_DEPENDS= audio/gstreamer-plugins-speex
+speex_IMPL= good
+
+taglib_DEPENDS= audio/gstreamer-plugins-taglib
+taglib_IMPL= good
+
+twolame_DEPENDS= audio/gstreamer-plugins-twolame
+twolame_IMPL= ugly
+
+vorbis_DEPENDS= audio/gstreamer-plugins-vorbis
+vorbis_IMPL= #
+
+wavpack_DEPENDS= audio/gstreamer-plugins-wavpack
+wavpack_IMPL= good
+
+webrtcdsp_DEPENDS= audio/gstreamer-plugins-webrtcdsp
+webrtcdsp_IMPL= bad
+
+#-- comms plugin section --------------------------------------------------#
+
+spandsp_DEPENDS= comms/gstreamer-plugins-spandsp
+spandsp_IMPL= bad
+
+#-- devel plugin section --------------------------------------------------#
+
+gconf_DEPENDS= devel/gstreamer-plugins-gconf
+gconf_IMPL= good
+
+gio_DEPENDS= devel/gstreamer-plugins-gio
+gio_IMPL= #
+
+gnomevfs_DEPENDS= devel/gstreamer-plugins-gnomevfs
+gnomevfs_IMPL= #
+
+sdl_DEPENDS= devel/gstreamer-plugins-sdl
+sdl_IMPL= bad
+
+soup_DEPENDS= devel/gstreamer-plugins-soup
+soup_IMPL= good
+
+#-- ftp plugin section ----------------------------------------------------#
+
+curl_DEPENDS= ftp/gstreamer-plugins-curl
+curl_IMPL= bad
+
+#-- graphics plugin section -----------------------------------------------#
+
+aalib_DEPENDS= graphics/gstreamer-plugins-aalib
+aalib_IMPL= good
+
+annodex_DEPENDS= multimedia/gstreamer-plugins-annodex
+annodex_IMPL= good
+
+aom_DEPENDS= multimedia/gstreamer-plugins-aom
+aom_IMPL= bad
+
+assrender_DEPENDS= multimedia/gstreamer-plugins-assrender
+assrender_IMPL= bad
+
+cairo_DEPENDS= graphics/gstreamer-plugins-cairo
+cairo_IMPL= good
+
+gdkpixbuf_DEPENDS= graphics/gstreamer-plugins-gdkpixbuf
+gdkpixbuf_IMPL= good
+
+gl_DEPENDS= graphics/gstreamer-plugins-gl
+gl_IMPL= bad
+
+jpeg_DEPENDS= graphics/gstreamer-plugins-jpeg
+jpeg_IMPL= good
+
+kms_DEPENDS= graphics/gstreamer-plugins-kms
+kms_IMPL= bad
+
+libcaca_DEPENDS= graphics/gstreamer-plugins-libcaca
+libcaca_IMPL= good
+
+libpng_DEPENDS= graphics/gstreamer-plugins-libpng
+libpng_IMPL= good
+
+libvisual_DEPENDS= graphics/gstreamer-plugins-libvisual
+libvisual_IMPL= #
+
+opencv_DEPENDS= graphics/gstreamer-plugins-opencv
+opencv_IMPL= bad
+
+openexr_DEPENDS= graphics/gstreamer-plugins-openexr
+openexr_IMPL= bad
+
+openjpeg_DEPENDS= graphics/gstreamer-plugins-openjpeg
+openjpeg_IMPL= bad
+
+openmpt_DEPENDS= audio/gstreamer-plugins-openmpt
+openmpt_IMPL= bad
+
+png_DEPENDS= graphics/gstreamer-plugins-png
+png_IMPL= good
+
+rsvg_DEPENDS= graphics/gstreamer-plugins-rsvg
+rsvg_IMPL= bad
+
+webp_DEPENDS= graphics/gstreamer-plugins-webp
+webp_IMPL= bad
+
+zbar_DEPENDS= graphics/gstreamer-plugins-zbar
+zbar_IMPL= bad
+
+#-- multimedia plugins section --------------------------------------------#
+
+bad_DEPENDS= multimedia/gstreamer-plugins-bad
+bad_IMPL= #
+
+bz2_DEPENDS= multimedia/gstreamer-plugins-bz2
+bz2_IMPL= bad
+
+dash_DEPENDS= multimedia/gstreamer-plugins-dash
+dash_IMPL= bad
+
+dvdread_DEPENDS= multimedia/gstreamer-plugins-dvdread
+dvdread_IMPL= ugly
+
+editing-services_DEPENDS= multimedia/gstreamer-editing-services
+editing-services_GST_PREFIX= gstreamer1-
+editing-services_GST_SUFX= # empty
+editing-services_GST_VERSION= 1.0.0
+editing-services_IMPL= #
+
+ffmpeg_DEPENDS= multimedia/gstreamer-ffmpeg
+ffmpeg_GST_PREFIX= gstreamer-
+ffmpeg_GST_SUFX= # empty
+ffmpeg_GST_VERSION= 0.10.0
+ffmpeg_IMPL= #
+
+fluendo-mpegdemux_DEPENDS= multimedia/gstreamer-plugins-fluendo-mpegdemux
+fluendo-mpegdemux_IMPL= #
+
+dts_DEPENDS= multimedia/gstreamer-plugins-dts
+dts_IMPL= bad
+
+dv_DEPENDS= multimedia/gstreamer-plugins-dv
+dv_IMPL= good
+
+dvd_DEPENDS= multimedia/gstreamer-plugins-dvd
+dvd_IMPL= ugly
+
+good_DEPENDS= multimedia/gstreamer-plugins-good
+good_IMPL= #
+
+gnonlin_DEPENDS= multimedia/gstreamer-plugins-gnonlin
+gnonlin_IMPL= good
+
+hls_DEPENDS= multimedia/gstreamer-plugins-hls
+hls_IMPL= bad
+
+kate_DEPENDS= multimedia/gstreamer-plugins-kate
+kate_IMPL= bad
+
+libav_DEPENDS= multimedia/gstreamer-libav
+libav_GST_PREFIX= gstreamer1-
+libav_GST_SUFX= # empty
+libav_GST_VERSION= 1.0.0
+libav_IMPL= #
+
+libde265_DEPENDS= multimedia/gstreamer-plugins-libde265
+libde265_IMPL= bad
+
+mm_DEPENDS= multimedia/gstreamermm
+mm_GST_PREFIX= gstreamer
+mm_GST_SUFX= # empty
+mm_GST_VERSION= 0.9.4
+mm_IMPL= #
+
+mpeg2dec_DEPENDS= multimedia/gstreamer-plugins-mpeg2dec
+mpeg2dec_IMPL= ugly
+
+mpeg2enc_DEPENDS= multimedia/gstreamer-plugins-mpeg2enc
+mpeg2enc_IMPL= bad
+
+mplex_DEPENDS= multimedia/gstreamer-plugins-mplex
+mplex_IMPL= bad
+
+openh264_DEPENDS= multimedia/gstreamer-plugins-openh264
+openh264_IMPL= bad
+
+qt4_DEPENDS= multimedia/gstreamer-qt4
+qt4_GST_PREFIX= gstreamer-
+qt4_IMPL= #
+
+rtmp_DEPENDS= multimedia/gstreamer-plugins-rtmp
+rtmp_IMPL= bad
+
+smoothstreaming_DEPENDS= multimedia/gstreamer-plugins-smoothstreaming
+smoothstreaming_IMPL= bad
+
+ttml_DEPENDS= multimedia/gstreamer-plugins-ttml
+ttml_IMPL= bad
+
+v4l2_DEPENDS= multimedia/gstreamer-plugins-v4l2
+v4l2_IMPL= good
+
+# hmmm
+vaapi_DEPENDS= multimedia/gstreamer-vaapi
+vaapi_IMPL= bad
+
+vp8_DEPENDS= multimedia/gstreamer-plugins-vp8
+vp8_IMPL= bad
+
+vpx_DEPENDS= multimedia/gstreamer-plugins-vpx
+vpx_IMPL= good
+
+vulkan_DEPENDS= graphics/gstreamer-plugins-vulkan
+vulkan_IMPL= bad
+
+# XXX: This is a quick solution for ports with USE_GSTREAMER=python
+# but without USE_PYTHON.
+PYTHON_PKGNAMEPREFIX?= py*-
+
+python_DEPENDS= multimedia/py-gstreamer
+python_NAME= gstreamer
+python_GST_PREFIX= ${PYTHON_PKGNAMEPREFIX}
+python_GST_SUFX= # empty
+python_GST_VERSION= 0.10.4
+python_IMPL= #
+
+resindvd_DEPENDS= multimedia/gstreamer-plugins-resindvd
+resindvd_IMPL= bad
+
+schroedinger_DEPENDS= multimedia/gstreamer-plugins-schroedinger
+schroedinger_IMPL= bad
+
+theora_DEPENDS= multimedia/gstreamer-plugins-theora
+theora_IMPL= #
+
+ugly_DEPENDS= multimedia/gstreamer-plugins-ugly
+ugly_IMPL= #
+
+vdpau_DEPENDS= multimedia/gstreamer-plugins-vdpau
+vdpau_IMPL= bad
+
+x264_DEPENDS= multimedia/gstreamer-plugins-x264
+x264_IMPL= ugly
+
+x265_DEPENDS= multimedia/gstreamer-plugins-x265
+x265_IMPL= bad
+
+xvid_DEPENDS= multimedia/gstreamer-plugins-xvid
+xvid_IMPL= bad
+
+
+#-- Net Plugins Section ---------------------------------------------------#
+
+libmms_DEPENDS= net/gstreamer-plugins-libmms
+libmms_IMPL= bad
+
+srtp_DEPENDS= net/gstreamer-plugins-srtp
+srtp_IMPL= bad
+
+#-- security plugins section ----------------------------------------------#
+
+dtls_DEPENDS= security/gstreamer-plugins-dtls
+dtls_IMPL= bad
+
+#-- sysutils plugins section ----------------------------------------------#
+
+cdio_DEPENDS= sysutils/gstreamer-plugins-cdio
+cdio_IMPL= ugly
+
+#-- x11 plugins section ---------------------------------------------------#
+
+x_DEPENDS= x11/gstreamer-plugins-x
+x_IMPL= #
+
+ximagesrc_DEPENDS= x11/gstreamer-plugins-ximagesrc
+ximagesrc_IMPL= good
+
+#-- x11-toolkits plugins section ------------------------------------------#
+
+gtk_DEPENDS= x11-toolkits/gstreamer-plugins-gtk
+gtk_IMPL= bad
+
+pango_DEPENDS= x11-toolkits/gstreamer-plugins-pango
+pango_IMPL= #
+
+#--------------------------------------------------------------------------#
+
+.if defined(_POSTMKINCLUDED) && !defined(Gstreamer_Post_Include)
+Gstreamer_Post_Include= bsd.gstreamer.mk
+
+.if (defined (USE_GSTREAMER) && defined(USE_GSTREAMER1))
+IGNORE= USE_GSTREAMER and USE_GSTREAMER1 can't be used together
+.endif
+
+_GST_IMPL_LIST:= #
+
+.if defined(USE_GSTREAMER)
+# update this with the gst 1.0 version below
+. for ext in ${USE_GSTREAMER}
+${ext}_GST_PREFIX?= gstreamer-plugins-
+${ext}_GST_VERSION?= ${GST_VERSION}${GST_MINOR_VERSION}
+${ext}_NAME?= ${ext}
+. if ${_USE_GSTREAMER_ALL:M${ext}}!= "" && exists(${PORTSDIR}/${${ext}_DEPENDS})
+_GST_BUILD_DEPENDS+= ${${ext}_GST_PREFIX}${${ext}_NAME}>=${${ext}_GST_VERSION}:${${ext}_DEPENDS}
+_GST_RUN_DEPENDS+= ${${ext}_GST_PREFIX}${${ext}_NAME}>=${${ext}_GST_VERSION}:${${ext}_DEPENDS}
+_GST_GST_IMPL_LIST+= ${${ext}_IMPL}
+. else
+IGNORE= cannot install: unknown gstreamer ${GST_VERSION} plugin -- ${ext}
+. endif
+. endfor
+
+# everything wants this
+_GST_BUILD_DEPENDS+= gstreamer-plugins>=0:multimedia/gstreamer-plugins
+_GST_LIB_DEPENDS+= libgstreamer-0.10.so:multimedia/gstreamer
+_GST_RUN_DEPENDS+= gstreamer-plugins>=0:multimedia/gstreamer-plugins
+
+. for plugin in ${_GST_IMPL_LIST:O:u}
+_GST_BUILD_DEPENDS+= gstreamer-plugins-${plugin}>=0:multimedia/gstreamer-plugins-${plugin}
+_GST_RUN_DEPENDS+= gstreamer-plugins-${plugin}>=0:multimedia/gstreamer-plugins-${plugin}
+. endfor
+
+BUILD_DEPENDS+= ${_GST_BUILD_DEPENDS:O:u}
+LIB_DEPENDS+= ${_GST_LIB_DEPENDS:O:u}
+RUN_DEPENDS+= ${_GST_RUN_DEPENDS:O:u}
+.endif
+
+.if defined(USE_GSTREAMER1)
+. for ext in ${USE_GSTREAMER1}
+${ext}_GST_PREFIX?= gstreamer1-plugins-
+${ext}_GST_VERSION?= ${GST1_VERSION}
+${ext}_NAME10?= ${ext}
+${ext}_GST_DEPENDS?= ${${ext}_DEPENDS:S,gstreamer-,gstreamer1-,}
+. if ${_USE_GSTREAMER_ALL:M${ext}}!= "" && exists(${PORTSDIR}/${${ext}_GST_DEPENDS})
+_GST_BUILD_DEPENDS+= ${${ext}_GST_PREFIX}${${ext}_NAME10}>=${${ext}_GST_VERSION}:${${ext}_GST_DEPENDS}
+_GST_RUN_DEPENDS+= ${${ext}_GST_PREFIX}${${ext}_NAME10}>=${${ext}_GST_VERSION}:${${ext}_GST_DEPENDS}
+. if defined(${ext}1_IMPL)
+_GST_IMPL_LIST+= ${${ext}1_IMPL}
+. else
+_GST_IMPL_LIST+= ${${ext}_IMPL}
+. endif
+. else
+IGNORE= cannot install: unknown gstreamer ${GST1_VERSION} plugin -- ${ext}
+. endif
+. endfor
+
+# everything wants this
+_GST_BUILD_DEPENDS+= gstreamer1-plugins>=${GST1_VERSION}:multimedia/gstreamer1-plugins
+_GST_LIB_DEPENDS+= libgstreamer-1.0.so:multimedia/gstreamer1
+_GST_RUN_DEPENDS+= gstreamer1-plugins>=${GST1_VERSION}:multimedia/gstreamer1-plugins
+
+. for plugin in ${_GST_IMPL_LIST:O:u}
+_GST_BUILD_DEPENDS+= gstreamer1-plugins-${plugin}>=${GST1_VERSION}:multimedia/gstreamer1-plugins-${plugin}
+_GST_RUN_DEPENDS+= gstreamer1-plugins-${plugin}>=${GST1_VERSION}:multimedia/gstreamer1-plugins-${plugin}
+. endfor
+
+BUILD_DEPENDS+= ${_GST_BUILD_DEPENDS:O:u}
+LIB_DEPENDS+= ${_GST_LIB_DEPENDS:O:u}
+RUN_DEPENDS+= ${_GST_RUN_DEPENDS:O:u}
+.endif
+
+# The End
+.endif
diff --git a/test-ports/Mk/bsd.java.mk b/test-ports/Mk/bsd.java.mk
new file mode 100644
index 00000000..854671d8
--- /dev/null
+++ b/test-ports/Mk/bsd.java.mk
@@ -0,0 +1,469 @@
+#-*- tab-width: 4; -*-
+# ex:ts=4
+#
+# bsd.java.mk - Support for Java-based ports.
+#
+# Created by: Ernst de Haan <znerd@FreeBSD.org>
+#
+# For FreeBSD committers:
+# Please send all suggested changes to the maintainer instead of committing
+# them to svn yourself.
+#
+# $FreeBSD: head/Mk/bsd.java.mk 453438 2017-11-04 01:16:31Z kevans $
+#
+
+.if !defined(Java_Include)
+
+Java_Include= bsd.java.mk
+Java_Include_MAINTAINER= java@FreeBSD.org
+
+#-------------------------------------------------------------------------------
+# Variables that each port can define:
+#
+# USE_JAVA Should be defined to the remaining variables to have any
+# effect
+#
+# JAVA_VERSION List of space-separated suitable java versions for the
+# port. An optional "+" allows you to specify a range of
+# versions. (allowed values: 1.6[+] 1.7[+] 1.8[+])
+#
+# JAVA_OS List of space-separated suitable JDK port operating systems
+# for the port. (allowed values: native linux)
+#
+# JAVA_VENDOR List of space-separated suitable JDK port vendors for the
+# port. (allowed values: openjdk oracle sun)
+#
+# JAVA_BUILD When set, it means that the selected JDK port should be
+# added to build dependencies for the port.
+#
+# JAVA_EXTRACT This variable works exactly the same as JAVA_BUILD but
+# regarding extract dependencies.
+#
+# JAVA_RUN This variable works exactly the same as JAVA_BUILD but
+# regarding run dependencies.
+#
+# USE_ANT Should be defined when the port uses Apache Ant. Ant is thus
+# considered to be the sub-make command. When no 'do-build'
+# target is defined by the port, a default one will be set
+# that simply runs Ant according to MAKE_ENV, MAKE_ARGS and
+# ALL_TARGET. Read the documentation in bsd.port.mk for more
+# information.
+#
+#-------------------------------------------------------------------------------
+# Variables defined for the port:
+#
+# JAVA_PORT The name of the JDK port. (e.g. 'java/openjdk6')
+#
+# JAVA_PORT_VERSION The version of the JDK port. (e.g. '1.6')
+#
+# JAVA_PORT_OS The operating system used by the JDK port. (e.g. 'linux')
+#
+# JAVA_PORT_VENDOR The vendor of the JDK port. (e.g. 'sun')
+#
+# JAVA_PORT_OS_DESCRIPTION Description of the operating system used by the
+# JDK port. (e.g. 'Linux')
+#
+# JAVA_PORT_VENDOR_DESCRIPTION Description of the vendor of the JDK port.
+# (e.g. 'OpenJDK BSD Porting Team')
+#
+# JAVA_HOME Path to the installation directory of the JDK. (e.g.
+# '/usr/local/openjdk6')
+#
+# JAVAC Path to the Java compiler to use. (e.g.
+# '/usr/local/openjdk6/bin/javac' or '/usr/local/bin/javac')
+#
+# JAR Path to the JAR tool to use. (e.g.
+# '/usr/local/openjdk6/bin/jar' or '/usr/local/bin/fastjar')
+#
+# APPLETVIEWER Path to the appletviewer utility. (e.g.
+# '/usr/local/linux-jdk1.7.0/bin/appletviewer')
+#
+# JAVA Path to the java executable. Use this for executing Java
+# programs. (e.g. '/usr/local/openjdk6/bin/java')
+#
+# JAVADOC Path to the javadoc utility program.
+#
+# JAVAH Path to the javah program.
+#
+# JAVAP Path to the javap program.
+#
+# JAVA_KEYTOOL Path to the keytool utility program.
+#
+# JAVA_N2A Path to the native2ascii tool.
+#
+# JAVA_POLICYTOOL Path to the policytool program.
+#
+# JAVA_SERIALVER Path to the serialver utility program.
+#
+# RMIC Path to the RMI stub/skeleton generator, rmic.
+#
+# RMIREGISTRY Path to the RMI registry program, rmiregistry.
+#
+# RMID Path to the RMI daemon program.
+#
+# JAVA_CLASSES Path to the archive that contains the JDK class files. On
+# most JDKs, this is ${JAVA_HOME}/jre/lib/rt.jar.
+#
+# JAVASHAREDIR The base directory for all shared Java resources.
+#
+# JAVAJARDIR The directory where a port should install JAR files.
+#
+# JAVALIBDIR The directory where JAR files installed by other ports
+# are located.
+#
+#-------------------------------------------------------------------------------
+# Porter's hints
+#
+# To retrieve the Major version number from JAVA_PORT_VERSION (e.g. "1.6"):
+# -> ${JAVA_PORT_VERSION:C/^([0-9])\.([0-9])(.*)$/\1.\2/}
+#
+#-------------------------------------------------------------------------------
+# There are the following stages:
+#
+# Stage 1: Define constants
+# Stage 2: Determine which JDK ports are installed and which JDK ports are
+# suitable
+# Stage 3: Decide the exact JDK to use (or install)
+# Stage 4: Add any dependencies if necessary
+# Stage 5: Define all settings for the port to use
+#
+
+. if defined(USE_JAVA)
+
+
+#-------------------------------------------------------------------------------
+# Stage 1: Define constants
+#
+
+# System-global directories
+# NB: If the value of JAVALIBDIR is altered here it must also be altered
+# in java/javavmwrapper/Makefile.
+JAVASHAREDIR?= ${PREFIX}/share/java
+JAVAJARDIR?= ${JAVASHAREDIR}/classes
+JAVALIBDIR?= ${LOCALBASE}/share/java/classes
+
+# Add appropriate substitutions to PLIST_SUB and LIST_SUB
+PLIST_SUB+= JAVASHAREDIR="${JAVASHAREDIR:S,^${PREFIX}/,,}" \
+ JAVAJARDIR="${JAVAJARDIR:S,^${PREFIX}/,,}"
+SUB_LIST+= JAVASHAREDIR="${JAVASHAREDIR}" \
+ JAVAJARDIR="${JAVAJARDIR}" \
+ JAVALIBDIR="${JAVALIBDIR}"
+. if defined(JAVA_VERSION)
+SUB_LIST+= JAVA_VERSION="${JAVA_VERSION}"
+. endif
+. if defined(JAVA_VENDOR)
+SUB_LIST+= JAVA_VENDOR="${JAVA_VENDOR}"
+. endif
+. if defined(JAVA_OS)
+SUB_LIST+= JAVA_OS="${JAVA_OS}"
+. endif
+
+# The complete list of Java versions, os and vendors supported.
+__JAVA_VERSION_LIST= 1.6 1.7 1.8 1.9
+_JAVA_VERSION_LIST= ${__JAVA_VERSION_LIST} ${__JAVA_VERSION_LIST:S/$/+/}
+_JAVA_OS_LIST= native linux
+_JAVA_VENDOR_LIST= openjdk oracle sun
+
+# Set all meta-information about JDK ports:
+# port location, corresponding JAVA_HOME, JDK version, OS, vendor
+_JAVA_PORT_NATIVE_OPENJDK_JDK_1_6_INFO= PORT=java/openjdk6 HOME=${LOCALBASE}/openjdk6 \
+ VERSION=1.6.0 OS=native VENDOR=openjdk
+_JAVA_PORT_NATIVE_OPENJDK_JDK_1_7_INFO= PORT=java/openjdk7 HOME=${LOCALBASE}/openjdk7 \
+ VERSION=1.7.0 OS=native VENDOR=openjdk
+_JAVA_PORT_NATIVE_OPENJDK_JDK_1_8_INFO= PORT=java/openjdk8 HOME=${LOCALBASE}/openjdk8 \
+ VERSION=1.8.0 OS=native VENDOR=openjdk
+_JAVA_PORT_LINUX_ORACLE_JDK_1_8_INFO= PORT=java/linux-oracle-jdk18 HOME=${LOCALBASE}/linux-oracle-jdk1.8.0 \
+ VERSION=1.8.0 OS=linux VENDOR=oracle
+_JAVA_PORT_LINUX_ORACLE_JDK_1_9_INFO= PORT=java/linux-oracle-jdk9 HOME=${LOCALBASE}/linux-oracle-jdk9 \
+ VERSION=1.9.0 OS=linux VENDOR=oracle
+
+# Verbose description for each VENDOR
+_JAVA_VENDOR_openjdk= "OpenJDK BSD Porting Team"
+_JAVA_VENDOR_oracle= Oracle
+_JAVA_VENDOR_sun= Sun
+
+# Verbose description for each OS
+_JAVA_OS_native= Native
+_JAVA_OS_linux= Linux
+
+# List all JDK ports in order of preference
+__JAVA_PORTS_ALL= JAVA_PORT_NATIVE_OPENJDK_JDK_1_8 \
+ JAVA_PORT_NATIVE_OPENJDK_JDK_1_7 \
+ JAVA_PORT_NATIVE_OPENJDK_JDK_1_6 \
+ JAVA_PORT_LINUX_ORACLE_JDK_1_8 \
+ JAVA_PORT_LINUX_ORACLE_JDK_1_9
+_JAVA_PORTS_ALL= ${JAVA_PREFERRED_PORTS} \
+ ${__JAVA_PORTS_ALL}
+
+# Set the name of the file that indicates that a JDK is indeed installed, as a
+# relative path within the JAVA_HOME directory.
+_JDK_FILE=bin/javac
+
+#-------------------------------------------------------------------------------
+# Stage 2: Determine which JDK ports are suitable and which JDK ports are
+# suitable
+#
+
+# From here, the port is using bsd.java.mk v2.0
+
+# Error checking: defined JAVA_{HOME,PORT,PORT_VERSION,PORT_VENDOR,PORT_OS}
+. for variable in JAVA_HOME JAVA_PORT JAVA_PORT_VERSION JAVA_PORT_VENDOR JAVA_PORT_OS
+. if defined(${variable})
+check-makevars::
+ @${ECHO_CMD} "${PKGNAME}: Environment error: \"${variable}\" should not be defined -- clearing."
+.undef ${variable}
+. endif
+. endfor
+
+# Error checking: JAVA_VERSION
+.if defined(JAVA_VERSION)
+.if !defined(_JAVA_VERSION_LIST_REGEXP)
+_JAVA_VERSION_LIST_REGEXP= ${_JAVA_VERSION_LIST:C/\+/\\+/:ts|}
+.endif
+
+check-makevars::
+ @( test ! -z "${JAVA_VERSION}" && ( ${ECHO_CMD} "${JAVA_VERSION}" | ${TR} " " "\n" | ${GREP} -Eq "${_JAVA_VERSION_LIST_REGEXP}")) || \
+ (${ECHO_CMD} "${PKGNAME}: Makefile error: \"${JAVA_VERSION}\" is not a valid value for JAVA_VERSION. It should be one or more of: ${__JAVA_VERSION_LIST} (with an optional \"+\" suffix.)"; ${FALSE})
+.endif
+
+# Error checking: JAVA_VENDOR
+.if defined(JAVA_VENDOR)
+.if !defined(_JAVA_VENDOR_LIST_REGEXP)
+_JAVA_VENDOR_LIST_REGEXP= ${_JAVA_VENDOR_LIST:ts|}
+.endif
+
+check-makevars::
+ @( test ! -z "${JAVA_VENDOR}" && ( ${ECHO_CMD} "${JAVA_VENDOR}" | ${TR} " " "\n" | ${GREP} -Eq "${_JAVA_VENDOR_LIST_REGEXP}" )) || \
+ (${ECHO_CMD} "${PKGNAME}: Makefile error: \"${JAVA_VENDOR}\" is not a valid value for JAVA_VENDOR. It should be one or more of: ${_JAVA_VENDOR_LIST}"; \
+ ${FALSE})
+.endif
+
+# Error checking: JAVA_OS
+.if defined(JAVA_OS)
+.if !defined(_JAVA_OS_LIST_REGEXP)
+_JAVA_OS_LIST_REGEXP= ${_JAVA_OS_LIST:ts|}
+.endif
+
+check-makevars::
+ @( test ! -z "${JAVA_OS}" && ( ${ECHO_CMD} "${JAVA_OS}" | ${TR} " " "\n" | ${GREP} -Eq "${_JAVA_OS_LIST_REGEXP}")) || \
+ (${ECHO_CMD} "${PKGNAME}: Makefile error: \"${JAVA_OS}\" is not a valid value for JAVA_OS. It should be one or more of: ${_JAVA_OS_LIST}"; \
+ ${FALSE})
+.endif
+
+# Set default values for JAVA_BUILD and JAVA_RUN
+# When nothing is set, assume JAVA_BUILD=jdk and JAVA_RUN=jre
+# (unless NO_BUILD is set)
+. if !defined(JAVA_EXTRACT) && !defined(JAVA_BUILD) && !defined(JAVA_RUN)
+. if !defined(NO_BUILD)
+JAVA_BUILD= jdk
+. endif
+JAVA_RUN= jre
+. endif
+
+# JDK dependency setting
+. undef _JAVA_PORTS_INSTALLED
+. undef _JAVA_PORTS_POSSIBLE
+. if defined(JAVA_VERSION)
+_JAVA_VERSION= ${JAVA_VERSION:S/1.6+/1.6 1.7+/:S/1.7+/1.7 1.8+/:S/1.8+/1.8 1.9+/:S/1.9+/1.9/}
+. else
+_JAVA_VERSION= ${__JAVA_VERSION_LIST}
+. endif
+. if defined(JAVA_OS)
+_JAVA_OS= ${JAVA_OS}
+. else
+_JAVA_OS= ${_JAVA_OS_LIST}
+. endif
+. if defined(JAVA_VENDOR)
+_JAVA_VENDOR= ${JAVA_VENDOR}
+. else
+_JAVA_VENDOR= ${_JAVA_VENDOR_LIST}
+. endif
+
+. for A_JAVA_PORT in ${_JAVA_PORTS_ALL}
+A_JAVA_PORT_INFO:= ${A_JAVA_PORT:S/^/\${_/:S/$/_INFO}/}
+A_JAVA_PORT_HOME= ${A_JAVA_PORT_INFO:MHOME=*:S,HOME=,,}
+A_JAVA_PORT_VERSION= ${A_JAVA_PORT_INFO:MVERSION=*:C/VERSION=([0-9])\.([0-9])(.*)/\1.\2/}
+A_JAVA_PORT_OS= ${A_JAVA_PORT_INFO:MOS=*:S,OS=,,}
+A_JAVA_PORT_VENDOR= ${A_JAVA_PORT_INFO:MVENDOR=*:S,VENDOR=,,}
+.if !defined(_JAVA_PORTS_INSTALLED) && exists(${A_JAVA_PORT_HOME}/${_JDK_FILE})
+__JAVA_PORTS_INSTALLED+= ${A_JAVA_PORT}
+.endif
+
+# Because variables inside for loops are special (directly replaced as strings),
+# we are allowed to use them inside modifiers, where normally ${FOO:M${BAR}} is
+# not allowed.
+#
+.for ver in ${A_JAVA_PORT_VERSION}
+.for os in ${A_JAVA_PORT_OS}
+.for vendor in ${A_JAVA_PORT_VENDOR}
+.if ${_JAVA_VERSION:M${ver}} && ${_JAVA_OS:M${os}} && ${_JAVA_VENDOR:M${vendor}}
+__JAVA_PORTS_POSSIBLE+= ${A_JAVA_PORT}
+.endif
+.endfor
+.endfor
+.endfor
+
+. endfor
+.if !defined(_JAVA_PORTS_INSTALLED)
+_JAVA_PORTS_INSTALLED= ${__JAVA_PORTS_INSTALLED:C/ [ ]+/ /g}
+.endif
+_JAVA_PORTS_POSSIBLE= ${__JAVA_PORTS_POSSIBLE:C/ [ ]+/ /g}
+
+
+#-------------------------------------------------------------------------------
+# Stage 3: Decide the exact JDK to use (or install)
+#
+
+# Find an installed JDK port that matches the requirements of the port
+
+. undef _JAVA_PORTS_INSTALLED_POSSIBLE
+
+. for A_JAVA_PORT in ${_JAVA_PORTS_POSSIBLE}
+__JAVA_PORTS_INSTALLED_POSSIBLE+= ${_JAVA_PORTS_INSTALLED:M${A_JAVA_PORT}}
+. endfor
+_JAVA_PORTS_INSTALLED_POSSIBLE= ${__JAVA_PORTS_INSTALLED_POSSIBLE:C/[ ]+//g}
+
+. if ${_JAVA_PORTS_INSTALLED_POSSIBLE} != ""
+. for i in ${_JAVA_PORTS_INSTALLED_POSSIBLE}
+. if !defined(_JAVA_PORTS_INSTALLED_POSSIBLE_shortcircuit)
+_JAVA_PORT= $i
+_JAVA_PORTS_INSTALLED_POSSIBLE_shortcircuit= 1
+. endif
+. endfor
+# If no installed JDK port fits, then pick one from the list of possible ones
+. else
+. for i in ${_JAVA_PORTS_POSSIBLE}
+. if !defined(_JAVA_PORTS_POSSIBLE_shortcircuit)
+_JAVA_PORT= $i
+_JAVA_PORTS_POSSIBLE_shortcircuit= 1
+. endif
+. endfor
+. endif
+
+_JAVA_PORT_INFO:= ${_JAVA_PORT:S/^/\${_/:S/$/_INFO}/}
+JAVA_PORT= ${_JAVA_PORT_INFO:MPORT=*:S,PORT=,,}
+JAVA_HOME= ${_JAVA_PORT_INFO:MHOME=*:S,HOME=,,}
+JAVA_PORT_VERSION= ${_JAVA_PORT_INFO:MVERSION=*:S,VERSION=,,}
+JAVA_PORT_OS= ${_JAVA_PORT_INFO:MOS=*:S,OS=,,}
+JAVA_PORT_VENDOR= ${_JAVA_PORT_INFO:MVENDOR=*:S,VENDOR=,,}
+
+JAVA_PORT_VENDOR_DESCRIPTION:= ${JAVA_PORT_VENDOR:S/^/\${_JAVA_VENDOR_/:S/$/}/}
+JAVA_PORT_OS_DESCRIPTION:= ${JAVA_PORT_OS:S/^/\${_JAVA_OS_/:S/$/}/}
+
+#-------------------------------------------------------------------------------
+# Stage 4: Add any dependencies if necessary
+#
+
+# Ant Support: USE_ANT --> JAVA_BUILD=jdk
+. if defined(USE_ANT)
+JAVA_BUILD= jdk
+. endif
+
+# Add the JDK port to the dependencies
+DEPEND_JAVA= ${JAVA}:${JAVA_PORT}
+. if defined(JAVA_EXTRACT)
+EXTRACT_DEPENDS+= ${DEPEND_JAVA}
+. endif
+. if defined(JAVA_BUILD)
+. if defined(NO_BUILD)
+check-makevars::
+ @${ECHO_CMD} "${PKGNAME}: Makefile error: JAVA_BUILD and NO_BUILD cannot be set at the same time.";
+ @${FALSE}
+. endif
+BUILD_DEPENDS+= ${DEPEND_JAVA}
+. endif
+. if defined(JAVA_RUN)
+RUN_DEPENDS+= ${DEPEND_JAVA}
+. endif
+
+# Ant support: default do-build target
+. if defined(USE_ANT)
+DESTDIRNAME?= -Dfreebsd.ports.destdir
+ANT?= ${LOCALBASE}/bin/ant
+MAKE_ENV+= JAVA_HOME=${JAVA_HOME}
+BUILD_DEPENDS+= ${ANT}:devel/apache-ant
+ALL_TARGET?=
+. if !target(do-build)
+do-build:
+ @(cd ${BUILD_WRKSRC}; \
+ ${SETENV} ${MAKE_ENV} ${ANT} ${MAKE_ARGS} ${ALL_TARGET})
+. endif
+. if !target(do-test) && defined(TEST_TARGET)
+TEST_DEPENDS+= ${DEPEND_JAVA}
+TEST_DEPENDS+= ${ANT}:devel/apache-ant
+do-test:
+ @(cd ${TEST_WRKSRC}; \
+ ${SETENV} ${MAKE_ENV} ${ANT} ${MAKE_ARGS} ${TEST_TARGET})
+. endif
+. endif
+
+#-----------------------------------------------------------------------------
+# Stage 5: Define all settings for the port to use
+#
+# At this stage both JAVA_HOME and JAVA_PORT are definitely given a value.
+#
+# Define the location of the Java compiler.
+
+# Only define JAVAC if a JDK is needed
+. undef JAVAC
+
+# Then test if a JAVAC has to be set (JAVA_BUILD==jdk)
+. if defined(JAVA_BUILD)
+. if (${JAVA_BUILD:tu} == "JDK") && !defined(JAVAC)
+JAVAC?= ${JAVA_HOME}/bin/javac
+. endif
+. endif
+
+# Define the location of some more executables.
+APPLETVIEWER?= ${JAVA_HOME}/bin/appletviewer
+JAR?= ${JAVA_HOME}/bin/jar
+JAVA?= ${JAVA_HOME}/bin/java
+JAVADOC?= ${JAVA_HOME}/bin/javadoc
+JAVAH?= ${JAVA_HOME}/bin/javah
+JAVAP?= ${JAVA_HOME}/bin/javap
+JAVA_N2A?= ${JAVA_HOME}/bin/native2ascii
+JAVA_SERIALVER?=${JAVA_HOME}/bin/serialver
+RMIC?= ${JAVA_HOME}/bin/rmic
+RMIREGISTRY?= ${JAVA_HOME}/bin/rmiregistry
+JAVA_KEYTOOL?= ${JAVA_HOME}/bin/keytool
+JAVA_POLICYTOOL?= ${JAVA_HOME}/bin/policytool
+RMID?= ${JAVA_HOME}/bin/rmid
+
+# Set the location of the ZIP or JAR file with all standard Java classes.
+JAVA_CLASSES= ${JAVA_HOME}/jre/lib/rt.jar
+
+
+#-------------------------------------------------------------------------------
+# Additional Java support
+
+# Debug target
+# Use it to check Java dependency while porting
+java-debug:
+ @${ECHO_CMD} "# User specified parameters:"
+ @${ECHO_CMD} "JAVA_VERSION= ${JAVA_VERSION} (${_JAVA_VERSION})"
+ @${ECHO_CMD} "JAVA_OS= ${JAVA_OS} (${_JAVA_OS})"
+ @${ECHO_CMD} "JAVA_VENDOR= ${JAVA_VENDOR} (${_JAVA_VENDOR})"
+ @${ECHO_CMD} "JAVA_BUILD= ${JAVA_BUILD}"
+ @${ECHO_CMD} "JAVA_RUN= ${JAVA_RUN}"
+ @${ECHO_CMD} "JAVA_EXTRACT= ${JAVA_EXTRACT}"
+ @${ECHO_CMD}
+ @${ECHO_CMD} "# JDK port dependency selection process:"
+ @${ECHO_CMD} "_JAVA_PORTS_POSSIBLE= ${_JAVA_PORTS_POSSIBLE}"
+ @${ECHO_CMD} "_JAVA_PORTS_INSTALLED= ${_JAVA_PORTS_INSTALLED}"
+ @${ECHO_CMD} "_JAVA_PORTS_INSTALLED_POSSIBLE= ${_JAVA_PORTS_INSTALLED_POSSIBLE}"
+ @${ECHO_CMD} "_JAVA_PORT= ${_JAVA_PORT}"
+ @${ECHO_CMD} "_JAVA_PORT_INFO= ${_JAVA_PORT_INFO:S/\t/ /}"
+ @${ECHO_CMD}
+ @${ECHO_CMD} "# Selected JDK port:"
+ @${ECHO_CMD} "JAVA_PORT= ${JAVA_PORT}"
+ @${ECHO_CMD} "JAVA_HOME= ${JAVA_HOME}"
+ @${ECHO_CMD} "JAVA_PORT_VERSION= ${JAVA_PORT_VERSION}"
+ @${ECHO_CMD} "JAVA_PORT_OS= ${JAVA_PORT_OS} (${JAVA_PORT_OS_DESCRIPTION})"
+ @${ECHO_CMD} "JAVA_PORT_VENDOR= ${JAVA_PORT_VENDOR} (${JAVA_PORT_VENDOR_DESCRIPTION})"
+ @${ECHO_CMD}
+ @${ECHO_CMD} "# Additional variables:"
+ @${ECHO_CMD} "JAVAC= ${JAVAC}"
+ @${ECHO_CMD} "JAVA_CLASSES= ${JAVA_CLASSES}"
+
+. endif
+.endif
diff --git a/test-ports/Mk/bsd.ldap.mk b/test-ports/Mk/bsd.ldap.mk
new file mode 100644
index 00000000..3f779c0f
--- /dev/null
+++ b/test-ports/Mk/bsd.ldap.mk
@@ -0,0 +1,99 @@
+# -*- tab-width: 4; -*-
+# ex: ts=4
+#
+# $FreeBSD: head/Mk/bsd.ldap.mk 451193 2017-10-04 09:32:12Z bapt $
+#
+
+.if defined(_POSTMKINCLUDED) && !defined(Ldap_Post_Include)
+
+Ldap_Post_Include= bsd.ldap.mk
+Database_Include_MAINTAINER= ports@FreeBSD.org
+
+# For including this file define macro USE_OPENLDAP. Defining macro like
+# USE_OPENLDAP_VER or WANT_OPENLDAP_VER will include this file too.
+#
+##
+# USE_OPENLDAP - Add OpenLDAP client dependency.
+# If no version is given (by the maintainer via the port or
+# by the user via defined variable), try to find the
+# currently installed version. Fall back to default if
+# necessary (OpenLDAP 2.4 = 24).
+# DEFAULT_OPENLDAP_VER
+# - OpenLDAP default version. Can be overriden within a port.
+# Default: 24.
+# WANT_OPENLDAP_VER
+# - Maintainer can set an arbitrary version of OpenLDAP by using it.
+# WANT_OPENLDAP_SASL
+# - User-defined variable to depend upon SASL-enabled OpenLDAP
+# client. Must NOT be set in a port Makefile.
+# IGNORE_OPENLDAP_OPENLDAP
+# - This variable can be defined if the ports doesn't support
+# one or more version of OpenLDAP.
+# WITH_OPENLDAP_VER
+# - User defined variable to set OpenLDAP version.
+# OPENLDAP_VER
+# - Detected OpenLDAP version.
+
+.if defined(USE_OPENLDAP)
+DEFAULT_OPENLDAP_VER?= 24
+# OpenLDAP client versions currently supported
+OPENLDAP24_LIB= libldap-2.4.so.2
+
+.if exists(${LOCALBASE}/bin/ldapwhoami)
+_OPENLDAP_VER!= ${LOCALBASE}/bin/ldapwhoami -VV 2>&1 | ${GREP} ldapwhoami | ${SED} -E 's/.*OpenLDAP: ldapwhoami (2)\.(3|4).*/\1\2/'
+.endif
+
+.if defined(WANT_OPENLDAP_VER)
+.if defined(WITH_OPENLDAP_VER) && ${WITH_OPENLDAP_VER} != ${WANT_OPENLDAP_VER}
+IGNORE= cannot install: the port wants openldap${WANT_OPENLDAP_VER}-client and you try to install openldap${WITH_OPENLDAP_VER}-client
+.endif
+OPENLDAP_VER= ${WANT_OPENLDAP_VER}
+.elif defined(WITH_OPENLDAP_VER)
+OPENLDAP_VER= ${WITH_OPENLDAP_VER}
+.else
+.if defined(_OPENLDAP_VER)
+OPENLDAP_VER= ${_OPENLDAP_VER}
+.else
+OPENLDAP_VER= ${DEFAULT_OPENLDAP_VER}
+.endif
+.endif # WANT_OPENLDAP_VER
+
+.if defined(_OPENLDAP_VER)
+.if ${_OPENLDAP_VER} != ${OPENLDAP_VER}
+IGNORE= cannot install: OpenLDAP versions mismatch: openldap${_OPENLDAP_VER}-client is installed and wanted version is openldap${OPENLDAP_VER}-client
+.endif
+.endif
+
+CFLAGS+= -DLDAP_DEPRECATED
+
+_OPENLDAP_CLIENT_PKG!= ${PKG_INFO} -Ex openldap.\*-client 2>/dev/null; ${ECHO_CMD}
+_OPENLDAP_FLAVOUR= ${_OPENLDAP_CLIENT_PKG:C/openldap//:C/-client-.*//}
+
+.if defined(WANT_OPENLDAP_SASL)
+.if !empty(_OPENLDAP_CLIENT_PKG) && empty(_OPENLDAP_FLAVOUR)
+IGNORE= cannot install: SASL support requested and ${_OPENLDAP_CLIENT_PKG} is installed
+.endif
+_OPENLDAP_FLAVOUR= -sasl
+.endif
+
+# And now we are checking if we can use it
+.if defined(OPENLDAP${OPENLDAP_VER}_LIB)
+# compatability shim
+.if defined(BROKEN_WITH_OPENLDAP)
+IGNORE_WITH_OPENLDAP=${BROKEN_WITH_OPENLDAP}
+.endif
+.if defined(IGNORE_WITH_OPENLDAP)
+. for VER in ${IGNORE_WITH_OPENLDAP}
+. if (${OPENLDAP_VER} == "${VER}")
+IGNORE= cannot install: doesn't work with OpenLDAP version: ${OPENLDAP_VER} (Doesn't support OpenLDAP ${IGNORE_WITH_OPENLDAP})
+. endif
+. endfor
+.endif # IGNORE_WITH_OPENLDAP
+LIB_DEPENDS+= ${OPENLDAP${OPENLDAP_VER}_LIB}:net/openldap${OPENLDAP_VER}${_OPENLDAP_FLAVOUR}-client
+.else
+IGNORE= cannot install: unknown OpenLDAP version: ${OPENLDAP_VER}
+.endif # Check for correct libs
+
+.endif # defined(USE_OPENLDAP)
+
+.endif # defined(_POSTMKINCLUDED) && !defined(Ldap_Post_Include)
diff --git a/test-ports/Mk/bsd.licenses.db.mk b/test-ports/Mk/bsd.licenses.db.mk
new file mode 100644
index 00000000..56604987
--- /dev/null
+++ b/test-ports/Mk/bsd.licenses.db.mk
@@ -0,0 +1,424 @@
+#-*- tab-width: 4; -*-
+# ex:ts=4
+#
+# $FreeBSD: head/Mk/bsd.licenses.db.mk 453460 2017-11-04 13:14:01Z dbaio $
+
+# ** Please run changes to this file by eadler@ first **
+
+Licenses_db_Include_MAINTAINER= portmgr@FreeBSD.org
+
+#
+# bsd.licenses.db.mk - License database for bsd.licenses.mk
+#
+# Created by: Alejandro Pulver <alepulver@FreeBSD.org>
+#
+# Please view me with 4 column tabs!
+#
+
+# The canonical source of license names and short-name identifiers:
+# - SPDX License List
+# https://spdx.org/licenses/
+#
+# See also:
+# - Copyfree Licenses
+# http://copyfree.org/standard/licenses
+# - Wikipedia (article "Comparison of Free Software Licenses")
+# http://en.wikipedia.org/wiki/Comparison_of_free_software_licences
+#
+# Probably will be automatically incorporated from FOSSology's software.
+#
+# IMPORTANT: as this file is going to be included by most ports, we may
+# consider having licenses here only as "tags" as most of them will be free,
+# to remove some loops and additional variables here. This will not affect the
+# rest of bsd.licenses.mk, and anyways restricted licenses that aren't used by
+# many ports should be defined in each one's Makefile.
+
+# XXX Start of editable section
+
+# License definitions
+#
+# _LICENSE_LIST - List of defined licenses
+# _LICENSE_LIST_GROUPS - List of defined license groups
+#
+
+_LICENSE_LIST= BSL CDDL CPAL-1.0 ClArtistic EPL GFDL GMGPL \
+ ISCL MIT NCSA OFL10 OFL11 OWL OpenSSL PD PSFL PostgreSQL \
+ RUBY UNLICENSE WTFPL1 WTFPL ZLIB ZPL21
+
+# GNU family
+_LICENSE_LIST+= AGPLv3 GPLv1 GPLv2 GPLv3 GPLv3RLE LGPL20 LGPL21 LGPL3
+_LICENSE_LIST+= AGPLv3+ GPLv1+ GPLv2+ GPLv3+ GPLv3RLE+ LGPL20+ LGPL21+ \
+ LGPL3+
+
+# BSD family
+_LICENSE_LIST+= BSD BSD2CLAUSE BSD3CLAUSE BSD4CLAUSE
+
+# LaTeX family
+_LICENSE_LIST+= LPPL10 LPPL11 LPPL12 LPPL13 LPPL13a LPPL13b LPPL13c
+
+# Apache family
+_LICENSE_LIST+= APACHE10 APACHE11 APACHE20
+
+# Artistic family
+_LICENSE_LIST+= ART10 ARTPERL10 ART20
+
+# PHP family
+_LICENSE_LIST+= PHP202 PHP30 PHP301
+
+# Creative Commons family
+_LICENSE_LIST+= CC0-1.0 \
+ CC-BY-1.0 CC-BY-2.0 CC-BY-2.5 CC-BY-3.0 CC-BY-4.0 \
+ CC-BY-ND-1.0 CC-BY-ND-2.0 CC-BY-ND-2.5 CC-BY-ND-3.0 CC-BY-ND-4.0 \
+ CC-BY-NC-1.0 CC-BY-NC-2.0 CC-BY-NC-2.5 CC-BY-NC-3.0 CC-BY-NC-4.0 \
+ CC-BY-NC-ND-1.0 CC-BY-NC-ND-2.0 CC-BY-NC-ND-2.5 CC-BY-NC-ND-3.0 CC-BY-NC-ND-4.0 \
+ CC-BY-NC-SA-1.0 CC-BY-NC-SA-2.0 CC-BY-NC-SA-2.5 CC-BY-NC-SA-3.0 CC-BY-NC-SA-4.0 \
+ CC-BY-SA-1.0 CC-BY-SA-2.0 CC-BY-SA-2.5 CC-BY-SA-3.0 CC-BY-SA-4.0
+
+# MPL family
+_LICENSE_LIST+= MPL10 MPL11 MPL20
+
+# Others
+_LICENSE_LIST+= NONE
+
+# List of groups (only names must be present)
+
+_LICENSE_NAME_FSF= Free Software Foundation Approved
+
+_LICENSE_NAME_GPL= GPL Compatible
+
+_LICENSE_NAME_OSI= OSI Approved
+
+_LICENSE_NAME_COPYFREE= Complies with Copyfree Standard Definition
+
+_LICENSE_NAME_FONTS= Font licenses
+
+# Default permissions for licenses here, if not defined
+
+_LICENSE_PERMS_DEFAULT= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
+
+# Properties of license "xxx" (similar to port variables, but single)
+#
+# _LICENSE_NAME_xxx - Full name/description of license/group
+# _LICENSE_PERMS_xxx - Permissions (if not defined defaults to
+# ${_LICENSE_PERMS_DEFAULT}.
+# _LICENSE_GROUPS_xxx - Groups (optional)
+#
+# Notes:
+# - General permissions from groups are added to each license, if not defined.
+#
+
+_LICENSE_NAME_AGPLv3= GNU Affero General Public License version 3
+_LICENSE_GROUPS_AGPLv3= FSF GPL OSI
+
+# Note that though plus is allowed in a variable (and this license) name it
+# needs an extra space before following equals sign for them not to be parsed
+# as a single += operator
+_LICENSE_NAME_AGPLv3+ = ${_LICENSE_NAME_AGPLv3} (or later)
+_LICENSE_GROUPS_AGPLv3+ = ${_LICENSE_GROUPS_AGPLv3}
+
+_LICENSE_NAME_APACHE10= Apache License 1.0
+_LICENSE_GROUPS_APACHE10= FSF
+
+_LICENSE_NAME_APACHE11= Apache License 1.1
+_LICENSE_GROUPS_APACHE11= FSF OSI
+
+_LICENSE_NAME_APACHE20= Apache License 2.0
+_LICENSE_GROUPS_APACHE20= FSF OSI
+
+_LICENSE_NAME_ART10= Artistic License version 1.0
+_LICENSE_GROUPS_ART10= OSI
+
+_LICENSE_NAME_ARTPERL10=Artistic License (perl) version 1.0
+_LICENSE_GROUPS_ARTPERL10= OSI
+
+_LICENSE_NAME_ART20= Artistic License version 2.0
+_LICENSE_GROUPS_ART20= FSF GPL OSI
+
+_LICENSE_NAME_BSD= BSD license Generic Version (deprecated)
+_LICENSE_GROUPS_BSD= FSF OSI COPYFREE
+
+_LICENSE_NAME_BSD2CLAUSE= BSD 2-clause "Simplified" License
+_LICENSE_GROUPS_BSD2CLAUSE= FSF OSI COPYFREE
+
+_LICENSE_NAME_BSD3CLAUSE= BSD 3-clause "New" or "Revised" License
+_LICENSE_GROUPS_BSD3CLAUSE= FSF OSI COPYFREE
+
+_LICENSE_NAME_BSD4CLAUSE= BSD 4-clause "Original" or "Old" License
+_LICENSE_GROUPS_BSD4CLAUSE= FSF
+
+_LICENSE_NAME_BSL= Boost Software License
+_LICENSE_GROUPS_BSL= FSF OSI COPYFREE
+
+_LICENSE_NAME_CC0-1.0= Creative Commons Zero v1.0 Universal
+_LICENSE_GROUPS_CC0-1.0= FSF GPL COPYFREE
+
+_LICENSE_NAME_CC-BY-1.0= Creative Commons Attribution 1.0
+_LICENSE_GROUPS_CC-BY-1.0= # empty
+
+_LICENSE_NAME_CC-BY-2.0= Creative Commons Attribution 2.0
+_LICENSE_GROUPS_CC-BY-2.0= # empty
+
+_LICENSE_NAME_CC-BY-2.5= Creative Commons Attribution 2.5
+_LICENSE_GROUPS_CC-BY-2.5= # empty
+
+_LICENSE_NAME_CC-BY-3.0= Creative Commons Attribution 3.0
+_LICENSE_GROUPS_CC-BY-3.0= # empty
+
+_LICENSE_NAME_CC-BY-4.0= Creative Commons Attribution 4.0
+_LICENSE_GROUPS_CC-BY-4.0= # empty
+
+_LICENSE_NAME_CC-BY-ND-1.0= Creative Commons Attribution No Derivatives 1.0
+_LICENSE_GROUPS_CC-BY-ND-1.0= # empty
+
+_LICENSE_NAME_CC-BY-ND-2.0= Creative Commons Attribution No Derivatives 2.0
+_LICENSE_GROUPS_CC-BY-ND-2.0= # empty
+
+_LICENSE_NAME_CC-BY-ND-2.5= Creative Commons Attribution No Derivatives 2.5
+_LICENSE_GROUPS_CC-BY-ND-2.5= # empty
+
+_LICENSE_NAME_CC-BY-ND-3.0= Creative Commons Attribution No Derivatives 3.0
+_LICENSE_GROUPS_CC-BY-ND-3.0= # empty
+
+_LICENSE_NAME_CC-BY-ND-4.0= Creative Commons Attribution No Derivatives 4.0
+_LICENSE_GROUPS_CC-BY-ND-4.0= # empty
+
+_LICENSE_NAME_CC-BY-NC-1.0= Creative Commons Attribution Non Commercial 1.0
+_LICENSE_GROUPS_CC-BY-NC-1.0= # empty
+_LICENSE_PERMS_CC-BY-NC-1.0= dist-mirror pkg-mirror auto-accept
+
+_LICENSE_NAME_CC-BY-NC-2.0= Creative Commons Attribution Non Commercial 2.0
+_LICENSE_GROUPS_CC-BY-NC-2.0= # empty
+_LICENSE_PERMS_CC-BY-NC-2.0= dist-mirror pkg-mirror auto-accept
+
+_LICENSE_NAME_CC-BY-NC-2.5= Creative Commons Attribution Non Commercial 2.5
+_LICENSE_GROUPS_CC-BY-NC-2.5= # empty
+_LICENSE_PERMS_CC-BY-NC-2.5= dist-mirror pkg-mirror auto-accept
+
+_LICENSE_NAME_CC-BY-NC-3.0= Creative Commons Attribution Non Commercial 3.0
+_LICENSE_GROUPS_CC-BY-NC-3.0= # empty
+_LICENSE_PERMS_CC-BY-NC-3.0= dist-mirror pkg-mirror auto-accept
+
+_LICENSE_NAME_CC-BY-NC-4.0= Creative Commons Attribution Non Commercial 4.0
+_LICENSE_GROUPS_CC-BY-NC-4.0= # empty
+_LICENSE_PERMS_CC-BY-NC-4.0= dist-mirror pkg-mirror auto-accept
+
+_LICENSE_NAME_CC-BY-NC-ND-1.0= Creative Commons Attribution Non Commercial No Derivatives 1.0
+_LICENSE_GROUPS_CC-BY-NC-ND-1.0= # empty
+_LICENSE_PERMS_CC-BY-NC-ND-1.0= dist-mirror pkg-mirror auto-accept
+
+_LICENSE_NAME_CC-BY-NC-ND-2.0= Creative Commons Attribution Non Commercial No Derivatives 2.0
+_LICENSE_GROUPS_CC-BY-NC-ND-2.0= # empty
+_LICENSE_PERMS_CC-BY-NC-ND-2.0= dist-mirror pkg-mirror auto-accept
+
+_LICENSE_NAME_CC-BY-NC-ND-2.5= Creative Commons Attribution Non Commercial No Derivatives 2.5
+_LICENSE_GROUPS_CC-BY-NC-ND-2.5= # empty
+_LICENSE_PERMS_CC-BY-NC-ND-2.5= dist-mirror pkg-mirror auto-accept
+
+_LICENSE_NAME_CC-BY-NC-ND-3.0= Creative Commons Attribution Non Commercial No Derivatives 3.0
+_LICENSE_GROUPS_CC-BY-NC-ND-3.0= # empty
+_LICENSE_PERMS_CC-BY-NC-ND-3.0= dist-mirror pkg-mirror auto-accept
+
+_LICENSE_NAME_CC-BY-NC-ND-4.0= Creative Commons Attribution Non Commercial No Derivatives 4.0
+_LICENSE_GROUPS_CC-BY-NC-ND-4.0= # empty
+_LICENSE_PERMS_CC-BY-NC-ND-4.0= dist-mirror pkg-mirror auto-accept
+
+_LICENSE_NAME_CC-BY-NC-SA-1.0= Creative Commons Attribution Non Commercial Share Alike 1.0
+_LICENSE_GROUPS_CC-BY-NC-SA-1.0= # empty
+_LICENSE_PERMS_CC-BY-NC-SA-1.0= dist-mirror pkg-mirror auto-accept
+
+_LICENSE_NAME_CC-BY-NC-SA-2.0= Creative Commons Attribution Non Commercial Share Alike 2.0
+_LICENSE_GROUPS_CC-BY-NC-SA-2.0= # empty
+_LICENSE_PERMS_CC-BY-NC-SA-2.0= dist-mirror pkg-mirror auto-accept
+
+_LICENSE_NAME_CC-BY-NC-SA-2.5= Creative Commons Attribution Non Commercial Share Alike 2.5
+_LICENSE_GROUPS_CC-BY-NC-SA-2.5= # empty
+_LICENSE_PERMS_CC-BY-NC-SA-2.5= dist-mirror pkg-mirror auto-accept
+
+_LICENSE_NAME_CC-BY-NC-SA-3.0= Creative Commons Attribution Non Commercial Share Alike 3.0
+_LICENSE_GROUPS_CC-BY-NC-SA-3.0= # empty
+_LICENSE_PERMS_CC-BY-NC-SA-3.0= dist-mirror pkg-mirror auto-accept
+
+_LICENSE_NAME_CC-BY-NC-SA-4.0= Creative Commons Attribution Non Commercial Share Alike 4.0
+_LICENSE_GROUPS_CC-BY-NC-SA-4.0= # empty
+_LICENSE_PERMS_CC-BY-NC-SA-4.0= dist-mirror pkg-mirror auto-accept
+
+_LICENSE_NAME_CC-BY-SA-1.0= Creative Commons Attribution Share Alike 1.0
+_LICENSE_GROUPS_CC-BY-SA-1.0= # empty
+
+_LICENSE_NAME_CC-BY-SA-2.0= Creative Commons Attribution Share Alike 2.0
+_LICENSE_GROUPS_CC-BY-SA-2.0= # empty
+
+_LICENSE_NAME_CC-BY-SA-2.5= Creative Commons Attribution Share Alike 2.5
+_LICENSE_GROUPS_CC-BY-SA-2.5= # empty
+
+_LICENSE_NAME_CC-BY-SA-3.0= Creative Commons Attribution Share Alike 3.0
+_LICENSE_GROUPS_CC-BY-SA-3.0= # empty
+
+_LICENSE_NAME_CC-BY-SA-4.0= Creative Commons Attribution Share Alike 4.0
+_LICENSE_GROUPS_CC-BY-SA-4.0= # empty
+
+_LICENSE_NAME_CDDL= Common Development and Distribution License
+_LICENSE_GROUPS_CDDL= FSF OSI
+
+_LICENSE_NAME_ClArtistic= Clarified Artistic License
+_LICENSE_GROUPS_ClArtistic= FSF GPL OSI
+
+_LICENSE_NAME_CPAL-1.0= Common Public Attribution License
+_LICENSE_GROUPS_CPAL-1.0= FSF OSI
+
+_LICENSE_NAME_EPL= Eclipse Public License
+_LICENSE_GROUPS_EPL= FSF OSI
+
+_LICENSE_NAME_GFDL= GNU Free Documentation License
+_LICENSE_GROUPS_GFDL= FSF
+
+_LICENSE_NAME_GMGPL= GNAT Modified General Public License
+_LICENSE_GROUPS_GMGPL= FSF GPL OSI
+
+_LICENSE_NAME_GPLv1= GNU General Public License version 1
+_LICENSE_GROUPS_GPLv1= FSF GPL OSI
+
+_LICENSE_NAME_GPLv1+ = ${_LICENSE_NAME_GPLv1} (or later)
+_LICENSE_GROUPS_GPLv1+ = ${_LICENSE_GROUPS_GPLv1}
+
+_LICENSE_NAME_GPLv2= GNU General Public License version 2
+_LICENSE_GROUPS_GPLv2= FSF GPL OSI
+
+_LICENSE_NAME_GPLv2+ = ${_LICENSE_NAME_GPLv2} (or later)
+_LICENSE_GROUPS_GPLv2+ = ${_LICENSE_GROUPS_GPLv2}
+
+_LICENSE_NAME_GPLv3= GNU General Public License version 3
+_LICENSE_GROUPS_GPLv3= FSF GPL OSI
+
+_LICENSE_NAME_GPLv3+ = ${_LICENSE_NAME_GPLv3} (or later)
+_LICENSE_GROUPS_GPLv3+ = ${_LICENSE_GROUPS_GPLv3}
+
+_LICENSE_NAME_GPLv3RLE= GNU GPL version 3 Runtime Library Exception
+_LICENSE_GROUPS_GPLv3RLE= FSF GPL OSI
+
+_LICENSE_NAME_GPLv3RLE+ = ${_LICENSE_NAME_GPLv3RLE} (or later)
+_LICENSE_GROUPS_GPLv3RLE+ = ${_LICENSE_GROUPS_GPLv3RLE}
+
+_LICENSE_NAME_ISCL= Internet Systems Consortium License
+_LICENSE_GROUPS_ISCL= FSF GPL OSI COPYFREE
+
+_LICENSE_NAME_LGPL20= GNU Library General Public License version 2.0
+_LICENSE_GROUPS_LGPL20= FSF GPL OSI
+
+_LICENSE_NAME_LGPL20+ = ${_LICENSE_NAME_LGPL20} (or later)
+_LICENSE_GROUPS_LGPL20+ = ${_LICENSE_GROUPS_LGPL20}
+
+_LICENSE_NAME_LGPL21= GNU Lesser General Public License version 2.1
+_LICENSE_GROUPS_LGPL21= FSF GPL OSI
+
+_LICENSE_NAME_LGPL21+ = ${_LICENSE_NAME_LGPL21} (or later)
+_LICENSE_GROUPS_LGPL21+ = ${_LICENSE_GROUPS_LGPL21}
+
+_LICENSE_NAME_LGPL3= GNU Lesser General Public License version 3
+_LICENSE_GROUPS_LGPL3= FSF GPL OSI
+
+_LICENSE_NAME_LGPL3+ = ${_LICENSE_NAME_LGPL3} (or later)
+_LICENSE_GROUPS_LGPL3+ = ${_LICENSE_GROUPS_LGPL3}
+
+_LICENSE_NAME_LPPL10= LaTeX Project Public License version 1.0
+_LICENSE_GROUPS_LPPL10= FSF OSI
+_LICENSE_PERMS_LPPL10= dist-mirror dist-sell
+
+_LICENSE_NAME_LPPL11= LaTeX Project Public License version 1.1
+_LICENSE_GROUPS_LPPL11= FSF OSI
+_LICENSE_PERMS_LPPL11= dist-mirror dist-sell
+
+_LICENSE_NAME_LPPL12= LaTeX Project Public License version 1.2
+_LICENSE_GROUPS_LPPL12= FSF OSI
+_LICENSE_PERMS_LPPL12= dist-mirror dist-sell
+
+_LICENSE_NAME_LPPL13= LaTeX Project Public License version 1.3
+_LICENSE_GROUPS_LPPL13= FSF OSI
+_LICENSE_PERMS_LPPL13= dist-mirror dist-sell
+
+_LICENSE_NAME_LPPL13a= LaTeX Project Public License version 1.3a
+_LICENSE_GROUPS_LPPL13a= FSF OSI
+_LICENSE_PERMS_LPPL13a= dist-mirror dist-sell
+
+_LICENSE_NAME_LPPL13b= LaTeX Project Public License version 1.3b
+_LICENSE_GROUPS_LPPL13b= FSF OSI
+_LICENSE_PERMS_LPPL13b= dist-mirror dist-sell
+
+_LICENSE_NAME_LPPL13c= LaTeX Project Public License version 1.3c
+_LICENSE_GROUPS_LPPL13c= FSF OSI
+_LICENSE_PERMS_LPPL13c= dist-mirror dist-sell
+
+_LICENSE_NAME_MIT= MIT license / X11 license
+_LICENSE_GROUPS_MIT= COPYFREE FSF GPL OSI
+
+_LICENSE_NAME_MPL10= Mozilla Public License version 1.0
+_LICENSE_GROUPS_MPL10= FSF OSI
+
+_LICENSE_NAME_MPL11= Mozilla Public License version 1.1
+_LICENSE_GROUPS_MPL11= FSF OSI
+
+_LICENSE_NAME_MPL20= Mozilla Public License version 2.0
+_LICENSE_GROUPS_MPL20= FSF OSI
+
+_LICENSE_NAME_NCSA= University of Illinois/NCSA Open Source License
+_LICENSE_GROUPS_NCSA= COPYFREE FSF GPL OSI
+
+_LICENSE_NAME_OFL10= SIL Open Font License version 1.0 (http://scripts.sil.org/OFL)
+_LICENSE_GROUPS_OFL10= FONTS
+
+_LICENSE_NAME_OFL11= SIL Open Font License version 1.1 (http://scripts.sil.org/OFL)
+_LICENSE_GROUPS_OFL11= FONTS
+
+_LICENSE_NAME_OpenSSL= OpenSSL License
+_LICENSE_GROUPS_OpenSSL= FSF
+
+_LICENSE_NAME_OWL= Open Works License (owl.apotheon.org)
+_LICENSE_GROUPS_OWL= COPYFREE
+
+_LICENSE_NAME_PostgreSQL= PostgreSQL Licence
+_LICENSE_GROUPS_PostgreSQL= FSF GPL OSI COPYFREE
+
+_LICENSE_NAME_PD= Public Domain
+_LICENSE_GROUPS_PD= GPL COPYFREE
+
+_LICENSE_NAME_PHP202= PHP License version 2.02
+_LICENSE_GROUPS_PHP202= FSF OSI
+
+_LICENSE_NAME_PHP30= PHP License version 3.0
+_LICENSE_GROUPS_PHP30= FSF OSI
+
+_LICENSE_NAME_PHP301= PHP License version 3.01
+_LICENSE_GROUPS_PHP301= FSF OSI
+
+_LICENSE_NAME_PSFL= Python Software Foundation License
+_LICENSE_GROUPS_PSFL= FSF GPL OSI
+
+_LICENSE_NAME_RUBY= Ruby License
+_LICENSE_GROUPS_RUBY= FSF
+
+_LICENSE_NAME_NONE= No license specified
+_LICENSE_GROUPS_NONE= # empty
+_LICENSE_PERMS_NONE= none
+
+_LICENSE_NAME_UNLICENSE= The Unlicense
+_LICENSE_GROUPS_UNLICENSE= COPYFREE FSF GPL
+
+_LICENSE_NAME_WTFPL1= Do What the Fuck You Want To Public License version 1
+_LICENSE_GROUPS_WTFPL1= GPL FSF COPYFREE
+
+_LICENSE_NAME_WTFPL= Do What the Fuck You Want To Public License version 2
+_LICENSE_GROUPS_WTFPL= GPL FSF COPYFREE
+
+_LICENSE_NAME_ZLIB= zlib License
+_LICENSE_GROUPS_ZLIB= GPL FSF OSI
+
+_LICENSE_NAME_ZPL21= Zope Public License version 2.1
+_LICENSE_GROUPS_ZPL21= GPL OSI
+
+# Set default permissions if not defined
+
+.for lic in ${_LICENSE_LIST}
+. if !defined(_LICENSE_PERMS_${lic})
+_LICENSE_PERMS_${lic}= ${_LICENSE_PERMS_DEFAULT}
+. endif
+.endfor
diff --git a/test-ports/Mk/bsd.licenses.mk b/test-ports/Mk/bsd.licenses.mk
new file mode 100644
index 00000000..0991048e
--- /dev/null
+++ b/test-ports/Mk/bsd.licenses.mk
@@ -0,0 +1,817 @@
+#-*- tab-width: 4; -*-
+# ex:ts=4
+#
+# $FreeBSD: head/Mk/bsd.licenses.mk 476184 2018-08-01 16:33:11Z adamw $
+
+# ** Please run changes to this file by eadler@ first **
+
+Licenses_Include_MAINTAINER= portmgr@FreeBSD.org
+
+#
+# bsd.licenses.mk - License auditing framework.
+#
+# Created by: Alejandro Pulver <alepulver@FreeBSD.org>
+#
+# Please view me with 4 column tabs!
+#
+
+# TODO:
+# - Bring back save and checksum with new dialog interface (only offers to do
+# so if ran by root, otherwise silently remove the options). Also only allow
+# saving per-port options (known or unknown), and only when accepted.
+# - Add custom restriction targets for better integration (now some files are
+# removed from FTP if restricted for CDROM for example, as the old
+# behavior).
+
+# The following cases are not considered:
+#
+# - Redistribution of modified distfiles, because is never done.
+# - Creating binaries from modified sources, because packages almost always
+# contain modifications to the source, cannot be autodetected (i.e.
+# patch-* in ${FILESDIR}, post-* targets, etc), and these licenses tend to
+# have more restrictions anyways.
+#
+
+# Integration with target sequences
+#
+# _SANITY_SEQ+= check-license (after check-vulnerable)
+# _PATCH_SEQ+= ask-license (before any other targets)
+# _INSTALL_SUSEQ+= install-license (after install-desktop-entries)
+#
+# The 'check-license' target will determine if the license was accepted,
+# rejected or has to be asked later to the user in 'ask-license' (by then
+# licenses should be extracted). The 'install-license' target installs the
+# applications' licenses, a general package license mentioning them, and a
+# restriction report (to be used by ports, scripts and similar tools).
+
+# Variables provided to the ports system and users in general, to modify the
+# behavior of the framework
+#
+# DISABLE_LICENSES - Disable license auditing framework completely.
+# NO_LICENSES_INSTALL - Do not install catalog, report and licenses.
+# NO_LICENSES_DIALOGS - Disable interactive menus for asking licenses.
+
+#NO_LICENSES_INSTALL= yes
+#NO_LICENSES_DIALOGS= yes
+
+# Variables provided to users (can be passed to make or set in /etc/make.conf)
+#
+# LICENSES_ACCEPTED - Accepted licenses.
+# LICENSES_REJECTED - Rejected licenses.
+# LICENSES_GROUPS_ACCEPTED - Accepted license groups.
+# LICENSES_GROUPS_REJECTED - Rejected license groups.
+# LICENSES_ASK - Require explicit user approval for all licenses not
+# present in previous variables (for example, stock
+# accepted licenses will ask confirmation).
+#
+
+# Variables provided to ports
+#
+# LICENSE - Code of license (short name).
+# LICENSE_PERMS - Permissions; use "none" if empty.
+# LICENSE_GROUPS - Groups the license belongs.
+# LICENSE_NAME - Full license name (for the reports).
+# LICENSE_FILE - Full path to license (or use LICENSE_TEXT).
+# LICENSE_TEXT - Text to use as a license, useful when referencing to
+# another place if it's not in the distfile.
+# LICENSE_DISTFILES - Name of licensed files (defaults to ${_DISTFILES}).
+# LICENSE_COMB - Set to "dual" or "multi", for OR/AND behavior
+# (defaults to "single" if undefined, the common case)
+#
+# The following cases are supported after defining LICENSE:
+#
+# Case 1: license defined in the framework (aka "known").
+#
+# In this case the only allowed variables to set are LICENSE_FILE and
+# LICENSE_DISTFILES. The rest are managed by the framework and are not allowed
+# to change.
+#
+# Case 2: license only known by the port (aka "unknown").
+#
+# In this case LICENSE_{PERMS,NAME} are mandatory, in addition to
+# either LICENSE_FILE or LICENSE_TEXT. Optional variable is
+# LICENSE_GROUPS.
+#
+# Available components for LICENSE_PERMS:
+# dist-mirror - Redistribution of distfile is permitted
+# (like FTP mirroring; port is not RESTRICTED).
+# dist-sell - Selling of distfile, e.g. on CD-ROM is permitted
+# (port does not need to set NO_CDROM).
+# pkg-mirror - Free redistribution of package is permitted
+# (like FTP upload; port does not set NO_PACKAGE).
+# pkg-sell - Selling of package is permitted, e.g. on CD-ROM.
+# auto-accept - License is accepted by default, without presented
+# agreement, unless the user defines LICENSES_ASK.
+#
+# Notes about permissions:
+# - Permissions use a default-deny policy (e.g. not setting "dist-mirror"
+# means it is automatically excluded).
+# - Components can be negated by prefixing them with "no-" (like
+# "no-pkg-sell").
+# - In case a component is present and also excluded (i.e. no-dist-sell and
+# dist-sell together in LICENSE_PERMS), it will be excluded.
+# - XXX Currently there is no point in "no-" prefixes, as permissions are not
+# inherited from groups. Maybe it looks more clear that way than leaving the
+# variable empty?
+#
+# Dual/multiple licenses:
+#
+# If LICENSE_COMB is set to "dual", then LICENSE can (must, actually) have
+# more than one component. After that each license "lic" in LICENSE falls in
+# previous cases (known or unknown), but their variables are prefixed by
+# _LICENSE_ and suffixed by _lic. The main license name, perms and groups will
+# be set automatically (following appropiate logic). The idea is that any
+# license from LICENSE can be chosen to use the package.
+#
+# The case when LICENSE_COMB is set to "multi" is similar. But the idea is
+# that all of the licenses in LICENSE must be agreed to use the package.
+#
+
+.if defined(_POSTMKINCLUDED) && !defined(BEFOREPORTMK)
+
+.if defined(LICENSE)
+
+# Include known licenses from database
+
+.include "${PORTSDIR}/Mk/bsd.licenses.db.mk"
+
+# Lists of variables and valid components
+#
+# _LICENSE_LIST_PERMS - Valid permission components
+# _LICENSE_LIST_PORT_VARS - License variables defined by the port
+
+_LICENSE_LIST_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept none
+_LICENSE_LIST_PORT_VARS= PERMS NAME GROUPS
+
+# Path variables
+#
+# _LICENSE_DIR - Directory to install licenses
+# _LICENSE_STORE - Store for known license files
+# _LICENSE_CATALOG - License catalog (make include file) to be created (dst)
+# _LICENSE_CATALOG_TMP - Same as above, but in WRKDIR (src)
+# _LICENSE_REPORT - License summary, shows licenses and how they are combined (dst)
+# _LICENSE_REPORT_TMP - Same as above, but in WRKDIR (src)
+# _LICENSE_COOKIE - Set when license is accepted, it is not present in
+# bsd.port.mk to avoid creating LICENSE_{REQ,SEQ} for a
+# few more targets only.
+
+_LICENSE_DIR?= ${PREFIX}/share/licenses/${PKGNAME}
+_LICENSE_STORE?= ${PORTSDIR}/Templates/Licenses
+_LICENSE_CATALOG?= ${_LICENSE_DIR}/catalog.mk
+_LICENSE_CATALOG_TMP?= ${WRKDIR}/.license-catalog.mk
+_LICENSE_REPORT?= ${_LICENSE_DIR}/LICENSE
+_LICENSE_REPORT_TMP?= ${WRKDIR}/.license-report
+_LICENSE_COOKIE?= ${WRKDIR}/.license_done.${PORTNAME}.${PREFIX:S/\//_/g}
+
+# Defaults (never overriden for now)
+#
+# _LICENSE - Copy of LICENSE (for now)
+# _LICENSE_COMB - Copy of LICENSE_COMB (but "single" instead of empty)
+
+_LICENSE?= ${LICENSE}
+.if !defined(LICENSE_COMB)
+_LICENSE_COMB= single
+.else
+_LICENSE_COMB= ${LICENSE_COMB}
+.endif
+
+# Check if single or dual/multiple license
+#
+# Make sure LICENSE_COMB is only used with more than one license.
+
+.if ${_LICENSE_COMB} != "single" && ${_LICENSE_COMB} != "dual" && ${_LICENSE_COMB} != "multi"
+_LICENSE_ERROR?= invalid value for LICENSE_COMB: "${_LICENSE_COMB}" (should be "single", "dual" or "multi")
+.endif
+
+.for lic in ${_LICENSE}
+. if defined(_LICENSE_DEFINED)
+. if ${_LICENSE_COMB} == "single"
+_LICENSE_ERROR?= multiple licenses in LICENSE, but LICENSE_COMB is set to "single" (or undefined)
+. else
+_LICENSE_MULTI= yes
+. endif
+. else
+_LICENSE_DEFINED= yes
+. endif
+.endfor
+.if ${_LICENSE_COMB} != "single" && !defined(_LICENSE_MULTI)
+_LICENSE_ERROR?= single license in LICENSE, but LICENSE_COMB is set to "${_LICENSE_COMB}" (requires more than one)
+.endif
+.if !defined(_LICENSE_DEFINED)
+_LICENSE_ERROR?= no licenses present in LICENSE (empty string)
+.endif
+.undef _LICENSE_DEFINED
+.undef _LICENSE_MULTI
+
+# Evaluate port license groups and permissions
+#
+# Available values for _LICENSE_TYPE:
+#
+# Case 1: "known" (license info taken from internal database)
+# Case 2: "unknown" (LICENSE is not known, and info taken from port)
+#
+# Make sure required variables are defined, and remove conflicting (positive
+# and negative) duplicated components.
+
+.if ${_LICENSE_COMB} == "single"
+# Defaults to empty
+_LICENSE_GROUPS?= #
+# Start
+. for lic in ${_LICENSE}
+. if ${_LICENSE_LIST:M${lic}} != ""
+# Case 1: license defined in the framework.
+_LICENSE_TYPE= known
+. for var in ${_LICENSE_LIST_PORT_VARS}
+. if defined(LICENSE_${var})
+_LICENSE_ERROR?= redefining LICENSE_${var} is not allowed for known licenses, to define a custom license try another LICENSE name like ${_LICENSE}-variant
+. endif
+. if !defined(_LICENSE_${var}_${lic})
+_LICENSE_ERROR?= ERROR: missing _LICENSE_${var}_${lic} in bsd.licenses.db.mk
+. else
+_LICENSE_${var}= ${_LICENSE_${var}_${lic}}
+. endif
+. endfor
+# Check for LICENSE_FILE or at least LICENSE_TEXT (which simulates it)
+. if !defined(LICENSE_FILE)
+. if !defined(LICENSE_TEXT)
+. if exists(${_LICENSE_STORE}/${lic})
+_LICENSE_FILE= ${_LICENSE_STORE}/${lic}
+. else
+# No license file in /usr/ports/Templates/Licenses
+_LICENSE_TEXT= The license: ${_LICENSE} (${_LICENSE_NAME}) is standard, please read from the web.
+_LICENSE_FILE= ${WRKDIR}/${lic}
+. endif
+. else
+_LICENSE_ERROR?= defining LICENSE_TEXT is not allowed for known licenses
+. endif
+. else
+_LICENSE_FILE= ${LICENSE_FILE}
+. endif
+
+. else
+# Case 2: license only known by the port.
+_LICENSE_TYPE= unknown
+. for var in ${_LICENSE_LIST_PORT_VARS}
+. if defined(LICENSE_${var})
+_LICENSE_${var}= ${LICENSE_${var}}
+. elif !defined(_LICENSE_${var})
+_LICENSE_ERROR?= for unknown licenses, defining LICENSE_${var} is mandatory (otherwise use a known LICENSE)
+. endif
+. endfor
+# Check LICENSE_PERMS for invalid, ambiguous and duplicate components
+__LICENSE_PERMS:= #
+. for comp in ${_LICENSE_PERMS}
+. if ${_LICENSE_LIST_PERMS:M${comp:C/^no-//}} == ""
+_LICENSE_ERROR?= invalid LICENSE_PERMS component "${comp}"
+. elif ${__LICENSE_PERMS:M${comp}} == "" && \
+ ${_LICENSE_PERMS:Mno-${comp:C/^no-//}} == ""
+__LICENSE_PERMS+= ${comp}
+. endif
+. endfor
+_LICENSE_PERMS:= ${__LICENSE_PERMS}
+. undef __LICENSE_PERMS
+# Check for LICENSE_FILE or at least LICENSE_TEXT (which simulates it)
+. if !defined(LICENSE_FILE)
+. if !defined(LICENSE_TEXT)
+_LICENSE_ERROR?= either LICENSE_FILE or LICENSE_TEXT must be defined
+. else
+_LICENSE_TEXT= ${LICENSE_TEXT}
+_LICENSE_FILE= ${WRKDIR}/${lic}
+. endif
+. else
+_LICENSE_FILE= ${LICENSE_FILE}
+. endif
+. endif
+
+# Only one is allowed
+. if defined(LICENSE_FILE) && defined(LICENSE_TEXT)
+_LICENSE_ERROR?= defining both LICENSE_FILE and LICENSE_TEXT is not allowed
+. endif
+# Distfiles
+. if !defined(LICENSE_DISTFILES)
+_LICENSE_DISTFILES= ${_DISTFILES}
+. else
+_LICENSE_DISTFILES= ${LICENSE_DISTFILES}
+. endif
+. endfor
+
+.else
+
+. if defined(LICENSE_FILE)
+. for lic in ${_LICENSE}
+LICENSE_FILE_${lic}?= ${LICENSE_FILE}
+. endfor
+. endif
+
+. for lic in ${_LICENSE}
+# Defaults to empty
+_LICENSE_GROUPS_${lic}?=#
+. if ${_LICENSE_LIST:M${lic}} != ""
+# Case 1: license defined in the framework.
+_LICENSE_TYPE_${lic}= known
+. for var in ${_LICENSE_LIST_PORT_VARS}
+. if defined(LICENSE_${var}_${lic})
+_LICENSE_ERROR?= redefining LICENSE_${var}_${lic} is not allowed for known licenses, to define a custom license try another LICENSE name for ${lic} like ${lic}-variant
+. endif
+. if !defined(_LICENSE_${var}_${lic})
+_LICENSE_ERROR?= ERROR: missing _LICENSE_${var}_${lic} in bsd.licenses.db.mk
+. endif
+. endfor
+# Check for LICENSE_FILE or at least LICENSE_TEXT (which simulates it)
+. if !defined(LICENSE_FILE_${lic})
+. if !defined(LICENSE_TEXT_${lic})
+. if exists(${_LICENSE_STORE}/${lic})
+_LICENSE_FILE_${lic}= ${_LICENSE_STORE}/${lic}
+. else
+# No license file in /usr/ports/Templates/Licenses
+_LICENSE_TEXT_${lic}= The license: ${lic} (${_LICENSE_NAME_${lic}}) is standard, please read from the web.
+_LICENSE_FILE_${lic}= ${WRKDIR}/${lic}
+. endif
+. else
+_LICENSE_ERROR?= defining LICENSE_TEXT_${lic} is not allowed for known licenses
+. endif
+. else
+_LICENSE_FILE_${lic}= ${LICENSE_FILE_${lic}}
+. endif
+
+. else
+# Case 2: license only known by the port.
+_LICENSE_TYPE_${lic}= unknown
+. for var in ${_LICENSE_LIST_PORT_VARS}
+. if defined(LICENSE_${var}_${lic})
+_LICENSE_${var}_${lic}= ${LICENSE_${var}_${lic}}
+. elif !defined(_LICENSE_${var}_${lic})
+_LICENSE_ERROR?= for unknown licenses, defining LICENSE_${var}_${lic} is mandatory (otherwise use a known LICENSE)
+. endif
+. endfor
+# Check LICENSE_PERMS for invalid, ambiguous and duplicate components
+__LICENSE_PERMS:= #
+. for comp in ${_LICENSE_PERMS_${lic}}
+. if ${_LICENSE_LIST_PERMS:M${comp:C/^no-//}} == ""
+_LICENSE_ERROR?= invalid LICENSE_PERMS_${var} component "${comp}"
+. elif ${__LICENSE_PERMS:M${comp}} == "" && \
+ ${_LICENSE_PERMS_${lic}:Mno-${comp:C/^no-//}} == ""
+__LICENSE_PERMS+= ${comp}
+. endif
+. endfor
+_LICENSE_PERMS_${lic}:= ${__LICENSE_PERMS}
+. undef __LICENSE_PERMS
+# Check for LICENSE_FILE or at least LICENSE_TEXT (which simulates it)
+. if !defined(LICENSE_FILE_${lic})
+. if !defined(LICENSE_TEXT_${lic})
+_LICENSE_ERROR?= either LICENSE_FILE_${lic} or LICENSE_TEXT_${lic} must be defined
+. else
+_LICENSE_TEXT_${lic}= ${LICENSE_TEXT_${lic}}
+_LICENSE_FILE_${lic}= ${WRKDIR}/${lic}
+. endif
+. else
+_LICENSE_FILE_${lic}= ${LICENSE_FILE_${lic}}
+. endif
+. endif
+
+# Only one is allowed
+. if defined(LICENSE_FILE_${lic}) && defined(LICENSE_TEXT_${lic})
+_LICENSE_ERROR?= defining both LICENSE_FILE_${lic} and LICENSE_TEXT_${lic}is not allowed
+. endif
+# Distfiles
+. if !defined(LICENSE_DISTFILES_${lic})
+_LICENSE_DISTFILES_${lic}= ${_DISTFILES}
+. else
+_LICENSE_DISTFILES_${lic}= ${LICENSE_DISTFILES_${lic}}
+. endif
+. endfor
+.endif
+
+# Check if the user agrees with the license
+
+# Make sure these are defined
+
+LICENSES_ACCEPTED?= #
+LICENSES_REJECTED?= #
+LICENSES_GROUPS_ACCEPTED?= #
+LICENSES_GROUPS_REJECTED?= #
+
+# Evaluate per-license status
+
+.if ${_LICENSE_COMB} == "single"
+. for lic in ${_LICENSE}
+. if ${LICENSES_REJECTED:M${lic}} != ""
+_LICENSE_STATUS?= rejected
+. endif
+. for group in ${_LICENSE_GROUPS}
+. if ${LICENSES_GROUPS_REJECTED:M${group}} != ""
+_LICENSE_STATUS?= rejected
+. endif
+. if ${LICENSES_GROUPS_ACCEPTED:M${group}} != ""
+_LICENSE_STATUS?= accepted
+. endif
+. endfor
+. if ${LICENSES_ACCEPTED:M${lic}} != ""
+_LICENSE_STATUS?= accepted
+. endif
+. if ${_LICENSE_PERMS:Mauto-accept} != "" && !defined(LICENSES_ASK)
+_LICENSE_STATUS?= accepted
+. endif
+_LICENSE_STATUS?= ask
+. endfor
+
+.else
+. for lic in ${_LICENSE}
+. if ${LICENSES_REJECTED:M${lic}} != ""
+_LICENSE_STATUS_${lic}?= rejected
+. endif
+. for group in ${_LICENSE_GROUPS_${lic}}
+. if ${LICENSES_GROUPS_REJECTED:M${group}} != ""
+_LICENSE_STATUS_${lic}?= rejected
+. endif
+. if ${LICENSES_GROUPS_ACCEPTED:M${group}} != ""
+_LICENSE_STATUS_${lic}?= accepted
+. endif
+. endfor
+. if ${LICENSES_ACCEPTED:M${lic}} != ""
+_LICENSE_STATUS_${lic}?= accepted
+. endif
+. if ${_LICENSE_PERMS_${lic}:Mauto-accept} != "" && !defined(LICENSES_ASK)
+_LICENSE_STATUS_${lic}?= accepted
+. endif
+_LICENSE_STATUS_${lic}?= ask
+. endfor
+.endif
+
+# Evaluate general status
+
+.if ${_LICENSE_COMB} == "dual"
+. for lic in ${_LICENSE}
+. if ${_LICENSE_STATUS_${lic}} == "accepted"
+_LICENSE_STATUS= accepted
+. elif ${_LICENSE_STATUS_${lic}} == "ask"
+_LICENSE_STATUS?= ask
+_LICENSE_TO_ASK+= ${lic}
+. endif
+_LICENSE_STATUS?= rejected
+. endfor
+
+.elif ${_LICENSE_COMB} == "multi"
+. for lic in ${_LICENSE}
+. if ${_LICENSE_STATUS_${lic}} == "rejected"
+_LICENSE_STATUS= rejected
+. elif ${_LICENSE_STATUS_${lic}} == "ask"
+_LICENSE_STATUS?= ask
+_LICENSE_TO_ASK+= ${lic}
+. endif
+. endfor
+_LICENSE_STATUS?= accepted
+.endif
+
+# For dual/multi licenses, after processing all sub-licenses, the following
+# must be determined: _LICENSE_NAME, _LICENSE_PERMS and _LICENSE_GROUPS.
+
+.if ${_LICENSE_COMB} == "dual"
+_LICENSE_NAME= Dual (any of): ${_LICENSE}
+# Calculate least restrictive permissions (union)
+_LICENSE_PERMS:= #
+. for lic in ${_LICENSE}
+. for comp in ${_LICENSE_LIST_PERMS}
+. if ${_LICENSE_PERMS_${lic}:M${comp}} != "" && \
+ ${_LICENSE_PERMS:M${comp}} == ""
+_LICENSE_PERMS+= ${comp}
+. endif
+. endfor
+. endfor
+# Calculate least restrictive groups (union)
+_LICENSE_GROUPS:= #
+. for lic in ${_LICENSE}
+. for comp in ${_LICENSE_LIST_GROUPS}
+. if ${_LICENSE_GROUPS_${lic}:M${comp}} != "" && \
+ ${_LICENSE_GROUPS:M${comp}} == ""
+_LICENSE_GROUPS+= ${comp}
+. endif
+. endfor
+. endfor
+
+.elif ${_LICENSE_COMB} == "multi"
+_LICENSE_NAME= Multiple (all of): ${_LICENSE}
+# Calculate most restrictive permissions (intersection)
+_LICENSE_PERMS:= ${_LICENSE_LIST_PERMS}
+. for lic in ${_LICENSE}
+. for comp in ${_LICENSE_LIST_PERMS}
+. if ${_LICENSE_PERMS_${lic}:M${comp}} == ""
+_LICENSE_PERMS:= ${_LICENSE_PERMS:N${comp}}
+. endif
+. endfor
+. endfor
+# Calculate most restrictive groups (intersection)
+_LICENSE_GROUPS:= ${_LICENSE_LIST_GROUPS}
+. for lic in ${_LICENSE}
+. for comp in ${_LICENSE_LIST_GROUPS}
+. if ${_LICENSE_GROUPS_${lic}:M${comp}} == ""
+_LICENSE_GROUPS:= ${_LICENSE_GROUPS:N${comp}}
+. endif
+. endfor
+. endfor
+.endif
+
+# Prepare information for asking license to the user
+
+.if ${_LICENSE_STATUS} == "ask" && ${_LICENSE_COMB} != "single"
+_LICENSE_ASK_DATA!= mktemp -ut portslicense
+.endif
+
+# Calculate restrictions and set RESTRICTED_FILES when
+# appropiate, together with cleaning targets.
+#
+# XXX For multiple licenses restricted distfiles are always removed from both
+# CDROM and FTP, but the current framework supports separating them (would
+# require better/new delete-package and delete-distfiles targets)
+
+.if ${_LICENSE_PERMS:Mpkg-mirror} == ""
+_LICENSE_RESTRICTED+= delete-package
+.elif ${_LICENSE_PERMS:Mpkg-sell} == ""
+_LICENSE_CDROM+= delete-package
+.endif
+
+.if ${_LICENSE_COMB} == "multi"
+. for lic in ${_LICENSE}
+. if ${_LICENSE_PERMS_${lic}:Mdist-mirror} == "" || ${_LICENSE_PERMS_${lic}:Mdist-sell} == ""
+RESTRICTED_FILES+= ${_LICENSE_DISTFILES_${lic}}
+. endif
+. endfor
+. if defined(RESTRICTED_FILES)
+RESTRICTED_FILES+= ${_PATCHFILES}
+_LICENSE_RESTRICTED+= delete-distfiles
+_LICENSE_CDROM+= delete-distfiles
+. endif
+.else
+. if ${_LICENSE_PERMS:Mdist-mirror} == ""
+_LICENSE_RESTRICTED+= delete-distfiles
+RESTRICTED_FILES= ${_PATCHFILES} ${_DISTFILES}
+. elif ${_LICENSE_PERMS:Mdist-sell} == ""
+_LICENSE_CDROM+= delete-distfiles
+RESTRICTED_FILES= ${_PATCHFILES} ${_DISTFILES}
+. endif
+.endif
+
+.if defined(_LICENSE_RESTRICTED)
+# _LICENSE_RESTRICTED contains 'delete-distfiles' and 'delete-package' if
+# needed with RESTRICTED_FILES filled from above.
+clean-restricted: ${_LICENSE_RESTRICTED}
+clean-restricted-list: ${_LICENSE_RESTRICTED:C/$/-list/}
+.else
+clean-restricted:
+clean-restricted-list:
+.endif
+
+.if defined(_LICENSE_CDROM)
+clean-for-cdrom: ${_LICENSE_CDROM}
+clean-for-cdrom-list: ${_LICENSE_CDROM:C/$/-list/}
+.else
+clean-for-cdrom:
+clean-for-cdrom-list:
+.endif
+
+# Check variables are correctly defined and print status up to here
+
+.if ${_LICENSE_STATUS} == "ask" && defined(BATCH)
+IGNORE= License ${_LICENSE} needs confirmation, but BATCH is defined
+.endif
+
+# This should probably be incrementally done while parsing all the license
+# possibilities.
+debug-license: check-license
+.if ${_LICENSE_PERMS:Mdist-mirror}
+ @${ECHO_MSG} "===> License allows mirroring distribution files"
+.else
+ @${ECHO_MSG} "===> License does not allow mirroring distribution files"
+.endif
+.if ${_LICENSE_PERMS:Mdist-sell}
+ @${ECHO_MSG} "===> License allows selling distribution files"
+.else
+ @${ECHO_MSG} "===> License does not allow selling distribution files"
+.endif
+.if ${_LICENSE_PERMS:Mpkg-mirror}
+ @${ECHO_MSG} "===> License allows mirroring pre-built packages"
+.else
+ @${ECHO_MSG} "===> License does not allow mirroring pre-build packages"
+.endif
+.if ${_LICENSE_PERMS:Mpkg-sell}
+ @${ECHO_MSG} "===> License allows selling pre-build packages"
+.else
+ @${ECHO_MSG} "===> License does not allow selling pre-build packages"
+.endif
+.if ${_LICENSE_PERMS:Mauto-accept}
+ @${ECHO_MSG} "===> License allows being auto-accepted"
+.else
+ @${ECHO_MSG} "===> License requires manual intervention by the user to accept its terms"
+.endif
+
+
+check-license:
+.if defined(_LICENSE_ERROR)
+ @${ECHO_MSG} "===> License not correctly defined: ${_LICENSE_ERROR}"
+ @exit 1
+.endif
+.if ${_LICENSE_STATUS} == "rejected"
+ @${ECHO_MSG} "===> License ${_LICENSE} rejected by the user"
+ @${ECHO_MSG}
+ @${ECHO_MSG} "If you want to install this port make sure the following license(s) are not present in LICENSES_REJECTED, either in make arguments or /etc/make.conf: ${_LICENSE}. Also check LICENSES_GROUPS_REJECTED in case they contain a group this license(s) belong to." | ${FMT}
+ @${ECHO_MSG}
+ @exit 1
+.elif ${_LICENSE_STATUS} == "accepted"
+ @${ECHO_MSG} "===> License ${_LICENSE} accepted by the user"
+.elif ${_LICENSE_STATUS} == "ask"
+ @${ECHO_MSG} "===> License ${_LICENSE} needs confirmation, will ask later"
+.endif
+
+# Display, ask and save preference if requested
+
+ask-license: ${_LICENSE_COOKIE}
+
+${_LICENSE_COOKIE}:
+# Make sure all required license files exist
+.if ${_LICENSE_COMB} == "single"
+. if !defined(LICENSE_FILE) && defined(_LICENSE_TEXT)
+ @test -f ${_LICENSE_FILE} || ${ECHO_CMD} "${_LICENSE_TEXT}" | ${FMT} > ${_LICENSE_FILE}
+. endif
+ @test -f ${_LICENSE_FILE} || \
+ (${ECHO_MSG} "===> Missing license file for ${_LICENSE} in ${_LICENSE_FILE}"; exit 1)
+.else
+. for lic in ${_LICENSE}
+. if !defined(LICENSE_FILE_${lic}) && defined(_LICENSE_TEXT_${lic})
+ @test -f ${_LICENSE_FILE_${lic}} || ${ECHO_CMD} "${_LICENSE_TEXT_${lic}}" | ${FMT} > ${_LICENSE_FILE_${lic}}
+. endif
+ @test -f ${_LICENSE_FILE_${lic}} || \
+ (${ECHO_MSG} "===> Missing license file for ${lic} in ${_LICENSE_FILE_${lic}}"; exit 1)
+. endfor
+.endif
+
+.if ${_LICENSE_STATUS} == "ask"
+. if !defined(NO_LICENSES_DIALOGS)
+# Dialog interface
+. if ${_LICENSE_COMB} == "single"
+ @${DIALOG} --title "License for ${PKGNAME} (${_LICENSE})" \
+ --yes-label Accept --no-label Reject --yesno \
+ "$$(${CAT} ${_LICENSE_FILE})" 21 76
+
+. elif ${_LICENSE_COMB} == "dual"
+ @${RM} ${_LICENSE_ASK_DATA}
+. for lic in ${_LICENSE_TO_ASK}
+ @${ECHO_CMD} "${lic}:${_LICENSE_FILE_${lic}}" >> ${_LICENSE_ASK_DATA}
+. endfor
+ @menu_cmd="${DIALOG} --hline \"This port requires you to accept at least one license\" --menu \"License for ${PKGNAME} (dual)\" 21 70 15"; \
+ trap '${RM} $$tmpfile' EXIT INT TERM; \
+ tmpfile=$$(mktemp -t portlicenses); \
+ for lic in ${_LICENSE_TO_ASK}; do \
+ menu_cmd="$${menu_cmd} VIEW_$${lic} \"View the license $${lic}\" USE_$${lic} \"Accept the license $${lic}\""; \
+ done; \
+ menu_cmd="$${menu_cmd} REJECT \"Reject the licenses (all)\""; \
+ while true; do \
+ ${SH} -c "$${menu_cmd} 2>\"$${tmpfile}\""; \
+ result=$$(${CAT} "$${tmpfile}"); \
+ case $${result} in \
+ REJECT) exit 1;; \
+ VIEW_*) name=$$(${ECHO_CMD} $${result} | ${SED} -e 's/^VIEW_//'); \
+ file=$$(${GREP} "^$${name}:" ${_LICENSE_ASK_DATA} | ${CUT} -d : -f 2); \
+ ${DIALOG} --textbox "$${file}" 21 75 ;; \
+ USE_*) name=$$(${ECHO_CMD} $${result} | ${SED} -e 's/^USE_//'); \
+ ${ECHO_CMD} $${name} > ${_LICENSE_COOKIE}; \
+ break ;; \
+ esac; \
+ done
+
+. elif ${_LICENSE_COMB} == "multi"
+ @${RM} ${_LICENSE_ASK_DATA}
+. for lic in ${_LICENSE_TO_ASK}
+ @${ECHO_CMD} "${lic}:${_LICENSE_FILE_${lic}}" >> ${_LICENSE_ASK_DATA}
+. endfor
+ @menu_cmd="${DIALOG} --hline \"This port requires you to accept all mentioned licenses\" --menu \"License for ${PKGNAME} (multi)\" 21 70 15"; \
+ trap '${RM} $$tmpfile' EXIT INT TERM; \
+ tmpfile=$$(mktemp -t portlicenses); \
+ for lic in ${_LICENSE_TO_ASK}; do \
+ menu_cmd="$${menu_cmd} VIEW_$${lic} \"View the license $${lic}\""; \
+ done; \
+ menu_cmd="$${menu_cmd} ACCEPT \"Accept the licenses (all)\" REJECT \"Reject the licenses (all)\""; \
+ while true; do \
+ ${SH} -c "$${menu_cmd} 2>\"$${tmpfile}\""; \
+ result=$$(${CAT} "$${tmpfile}"); \
+ case $${result} in \
+ ACCEPT) break ;; \
+ REJECT) exit 1 ;; \
+ VIEW_*) name=$$(${ECHO_CMD} $${result} | ${SED} -e 's/^VIEW_//'); \
+ file=$$(${GREP} "^$${name}:" ${_LICENSE_ASK_DATA} | ${CUT} -d : -f 2); \
+ ${DIALOG} --textbox "$${file}" 21 75 ;; \
+ esac; \
+ done
+. endif
+
+. else
+# Text interface
+ @${ECHO_MSG}
+. if ${_LICENSE_COMB} == "single"
+ @${ECHO_MSG} "To install the port you must agree to the license: ${_LICENSE} (${_LICENSE_NAME})." | ${FMT}
+ @${ECHO_MSG}
+ @${ECHO_MSG} "You can view the license at ${_LICENSE_FILE:S/${WRKDIR}\//${WRKDIR:T}\//}."
+. elif ${_LICENSE_COMB} == "dual"
+ @${ECHO_MSG} "To install the port you must agree to any of the following licenses:"
+. elif ${_LICENSE_COMB} == "multi"
+ @${ECHO_MSG} "To install the port you must agree to all of the following licenses:"
+. endif
+ @${ECHO_MSG}
+. if ${_LICENSE_COMB} != "single"
+. for lic in ${_LICENSE_TO_ASK}
+. if defined(WRKDIRPREFIX)
+ @${ECHO_MSG} "- ${lic} (${_LICENSE_NAME_${lic}}), available at ${_LICENSE_FILE_${lic}}"
+. else
+ @${ECHO_MSG} "- ${lic} (${_LICENSE_NAME_${lic}}), available at ${_LICENSE_FILE_${lic}:S/${WRKDIR}\//${WRKDIR:T}\//}"
+. endif
+. endfor
+ @${ECHO_MSG}
+. endif
+ @${ECHO_MSG} "If you agree with the corresponding license(s), add them to LICENSES_ACCEPTED either in make arguments or /etc/make.conf." | ${FMT}
+ @${ECHO_MSG}
+ @exit 1
+. endif
+ @${RM} ${_LICENSE_ASK_DATA}
+.endif
+
+# Create report and catalog
+.if !defined(NO_LICENSES_INSTALL)
+ @${RM} ${_LICENSE_CATALOG_TMP} ${_LICENSE_REPORT_TMP}
+. if ${_LICENSE_COMB} == "single"
+# Catalog
+. for var in _LICENSE _LICENSE_NAME _LICENSE_PERMS _LICENSE_GROUPS _LICENSE_DISTFILES
+ @${ECHO_CMD} "${var}=${${var}:C/^[[:blank:]]*//}" >> ${_LICENSE_CATALOG_TMP}
+. endfor
+# Report
+ @${ECHO_CMD} "This package has a single license: ${_LICENSE} (${_LICENSE_NAME})." > ${_LICENSE_REPORT_TMP}
+. else
+# Catalog
+. for var in _LICENSE _LICENSE_COMB _LICENSE_NAME _LICENSE_PERMS _LICENSE_GROUPS
+ @${ECHO_CMD} "${var}=${${var}:C/^[[:blank:]]*//}" >> ${_LICENSE_CATALOG_TMP}
+. endfor
+. if ${_LICENSE_COMB} == "dual" && ${_LICENSE_STATUS} == "ask"
+ @${SED} -e 's/^/_LICENSE_SELECTED=/' ${_LICENSE_COOKIE} >> ${_LICENSE_CATALOG_TMP}
+. endif
+. for lic in ${_LICENSE}
+. for var in NAME PERMS GROUPS DISTFILES
+ @${ECHO_CMD} "_LICENSE_${var}_${lic} =${_LICENSE_${var}_${lic}:C/^[[:blank:]]*//}" >> ${_LICENSE_CATALOG_TMP}
+. endfor
+. endfor
+# Report
+. if ${_LICENSE_COMB} == "dual"
+ @${ECHO_CMD} "This package has dual licenses (any of):" >> ${_LICENSE_REPORT_TMP}
+. elif ${_LICENSE_COMB} == "multi"
+ @${ECHO_CMD} "This package has multiple licenses (all of):" >> ${_LICENSE_REPORT_TMP}
+. endif
+. for lic in ${_LICENSE}
+ @${ECHO_CMD} "- ${lic} (${_LICENSE_NAME_${lic}})" >> ${_LICENSE_REPORT_TMP}
+. endfor
+. endif
+.endif
+
+# Cookie (done here)
+ @${TOUCH} ${_LICENSE_COOKIE}
+
+# Package list entries, and installation
+
+.if !defined(NO_LICENSES_INSTALL)
+PLIST_FILES+= ${_LICENSE_CATALOG} \
+ ${_LICENSE_REPORT}
+
+.if ${_LICENSE_COMB} == "single"
+PLIST_FILES+= ${_LICENSE_DIR}/${_LICENSE}
+.else
+. for lic in ${_LICENSE}
+. if defined(_LICENSE_FILE_${lic})
+PLIST_FILES+= ${_LICENSE_DIR}/${lic}
+. endif
+. endfor
+.endif
+
+install-license:
+ @${MKDIR} ${STAGEDIR}${_LICENSE_DIR}
+ @${INSTALL_DATA} ${_LICENSE_CATALOG_TMP} ${STAGEDIR}${_LICENSE_CATALOG}
+ @${INSTALL_DATA} ${_LICENSE_REPORT_TMP} ${STAGEDIR}${_LICENSE_REPORT}
+.if ${_LICENSE_COMB} == "single"
+ @${INSTALL_DATA} ${_LICENSE_FILE} ${STAGEDIR}${_LICENSE_DIR}/${_LICENSE}
+.else
+. for lic in ${_LICENSE}
+ @${INSTALL_DATA} ${_LICENSE_FILE_${lic}} ${STAGEDIR}${_LICENSE_DIR}/${lic}
+. endfor
+.endif
+.endif
+
+.else # !LICENSE
+
+debug-license:
+. if defined(LICENSE_VERBOSE)
+ @${ECHO_MSG} "===> License debug empty, port has not defined LICENSE"
+. endif
+
+check-license:
+. if defined(LICENSE_VERBOSE)
+ @${ECHO_MSG} "===> License check disabled, port has not defined LICENSE"
+. endif
+
+.endif # LICENSE
+
+.endif
diff --git a/test-ports/Mk/bsd.local.mk b/test-ports/Mk/bsd.local.mk
new file mode 100644
index 00000000..9b2159fb
--- /dev/null
+++ b/test-ports/Mk/bsd.local.mk
@@ -0,0 +1,28 @@
+# bsd.local.mk - Sandbox for local modification to ports framework.
+#
+# Created by: Mark Linimon <linimon@FreeBSD.org>
+#
+# $FreeBSD: head/Mk/bsd.local.mk 358214 2014-06-18 07:14:22Z bapt $
+#
+
+.if !defined(_POSTMKINCLUDED) && !defined(Local_Pre_Include)
+
+Local_Pre_Include= bsd.local.mk
+
+#
+# Here is where any code that needs to run at bsd.port.pre.mk inclusion
+# time should live.
+#
+
+.endif # !defined(_POSTMKINCLUDED) && !defined(Local_Pre_Include)
+
+.if defined(_POSTMKINCLUDED) && !defined(Local_Post_Include)
+
+Local_Post_Include= bsd.local.mk
+
+#
+# here is where any code that needs to run at bsd.port.post.mk inclusion
+# time should live.
+#
+
+.endif # defined(_POSTMKINCLUDED) && !defined(Local_Post_Include)
diff --git a/test-ports/Mk/bsd.ocaml.mk b/test-ports/Mk/bsd.ocaml.mk
new file mode 100644
index 00000000..7b981354
--- /dev/null
+++ b/test-ports/Mk/bsd.ocaml.mk
@@ -0,0 +1,204 @@
+# ex:ts=4
+#
+# $MBSDlabs: portmk/bsd.ocaml.mk,v 1.18 2006/08/06 18:47:23 stas Exp $
+# $FreeBSD: head/Mk/bsd.ocaml.mk 426575 2016-11-20 12:35:57Z bapt $
+#
+# bsd.ocaml.mk - Support for the Objective Caml language packages
+#
+# Author: Stanislav Sedov <ssedov@mbsd.msk.ru>
+#
+# Feel free to send any comments and suggestions to maintainer.
+#
+# Currently recognised variables are:
+#
+# USE_OCAML - Set if your port uses OCaml to build/install.
+# NO_OCAML_BUILDDEPENDS - Don't add ocamlc to BUILD|EXTRACT|PATCH_DEPENDS.
+# NO_OCAML_RUNDEPENDS - Don't add ocamlc to RUN_DEPENDS.
+# USE_OCAML_FINDLIB - Set if your port uses ocamlfind to install
+# packages. Package direcories will be
+# automatically deleted.
+# USE_OCAML_CAMLP4 - Set if your port uses camlp4 to build.
+# USE_OCAML_TK - Set if you port needs ocaml-labltk.
+# NO_OCAMLTK_BUILDDEPENDS - Don't add labltk to BUILD|EXTRACT|PATCH_DEPENDS.
+# NO_OCAMLTK_RUNDEPENDS - Don't add labltk to RUN_DEPENDS.
+# USE_OCAML_LDCONFIG - Set if your port installs shared libraries
+# into ocaml site-lib dir. OCaml ld.conf file
+# will be automatically processed.
+# USE_OCAMLFIND_PLIST - Add contents of findlib target directories
+# automatically.
+# USE_OCAML_WASH - Set if your port wants to automatically
+# purge shared Ocaml dirs on uninstall. It's
+# useful when installing to non-standard PREFIX
+# OCAML_PKGDIRS - Directories under site-lib to be processed
+# if USE_OCAML_FINDLIB specified.
+# Default: ${PORTNAME}
+# OCAML_LDLIBS - Directories under PREFIX to be automatically
+# added/removed from ld.conf
+# Default: ${OCAML_SITELIBDIR}/${PORTNAME}
+
+.if !defined(OCAML_include)
+
+OCAML_MAINTAINER= ports@FreeBSD.org
+OCAML_include= bsd.ocaml.mk
+
+#
+# OCaml programs location
+#
+OCAMLC?= ${LOCALBASE}/bin/ocamlc
+OCAMLC_OPT?= ${LOCALBASE}/bin/ocamlc.opt
+OCAMLCP?= ${LOCALBASE}/bin/ocamlcp
+OCAMLFIND?= ${LOCALBASE}/bin/ocamlfind
+CAMLP4?= ${LOCALBASE}/bin/camlp4
+OCAMLTK?= ${LOCALBASE}/bin/labltk
+
+#
+# OCaml library directory
+#
+OCAML_LIBDIR?= lib/ocaml
+
+#
+# Where to install site libraries
+#
+OCAML_SITELIBDIR?= ${OCAML_LIBDIR}/site-lib
+
+#
+# OCaml compiler port dependency
+#
+OCAMLC_PORT?= lang/ocaml
+OCAMLC_DEPEND?= ${OCAMLC}:${OCAMLC_PORT}
+
+#
+# OCaml package manager port dependency
+#
+OCAMLFIND_PORT?= devel/ocaml-findlib
+OCAMLFIND_DEPEND?= ${OCAMLFIND}:${OCAMLFIND_PORT}
+
+#
+# OCaml camlp4 port dependency
+#
+CAMLP4_PORT?= devel/ocaml-camlp4
+CAMLP4_DEPEND?= ${CAMLP4}:${CAMLP4_PORT}
+
+#
+# OCaml TK bindings dependency
+#
+OCAMLTK_PORT?= x11-toolkits/ocaml-labltk
+OCAMLTK_DEPENDS?= ${OCAMLTK}:${OCAMLTK_PORT}
+
+#
+# Common OCaml examples and documents location
+#
+OCAML_DOCSDIR= ${PREFIX}/share/doc/ocaml
+OCAML_EXAMPLESDIR= ${PREFIX}/share/examples/ocaml
+
+#
+# Location of OCaml ld.conf file
+#
+OCAML_LDCONF?= ${OCAML_LIBDIR}/ld.conf
+
+# ocaml-findlib-1.4.1_1 wants to edit our ld.conf file, which does not
+# work well with staging.
+.if defined(USE_OCAML_LDCONFIG)
+. if !target(ocaml-ldconfig)
+OCAMLFIND_LDCONF?= /dev/null
+. endif
+.endif
+
+OCAMLFIND_DESTDIR?= ${PREFIX}/${OCAML_SITELIBDIR}
+OCAMLFIND_LDCONF?= ${PREFIX}/${OCAML_LDCONF}
+
+.if defined(USE_OCAML)
+. if !defined(NO_OCAML_BUILDDEPENDS)
+EXTRACT_DEPENDS+= ${OCAMLC_DEPEND}
+PATCH_DEPENDS+= ${OCAMLC_DEPEND}
+BUILD_DEPENDS+= ${OCAMLC_DEPEND}
+. endif
+. if !defined(NO_OCAML_RUNDEPENDS)
+RUN_DEPENDS+= ${OCAMLC_DEPEND}
+. endif
+PLIST_SUB+= OCAML_SITELIBDIR="${OCAML_SITELIBDIR}"
+.endif
+
+.if defined(USE_OCAML_FINDLIB)
+#
+# We'll additionally add ocamlfind to RUN_DEPENDS, since
+# if the port requires ocamlfind to install - it requires
+# some ocaml libraries and these libraries RUN_DEPENDS on
+# ocamlfind
+#
+BUILD_DEPENDS+= ${OCAMLFIND_DEPEND}
+RUN_DEPENDS+= ${OCAMLFIND_DEPEND}
+MAKE_ENV+= OCAMLFIND_DESTDIR="${STAGEDIR}${OCAMLFIND_DESTDIR}" \
+ OCAMLFIND_LDCONF="${OCAMLFIND_LDCONF}"
+
+#
+# Directories under site-lib to process automatically
+#
+OCAML_PKGDIRS?= ${PORTNAME}
+_USES_install+= 735:ocaml-findlib
+. if !target(ocaml-findlib)
+ocaml-findlib:
+. for DIR in ${OCAML_PKGDIRS}
+. if defined(USE_OCAMLFIND_PLIST)
+ @${FIND} ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/${DIR}/ -type f -print | ${SED} -e \
+ 's,^${STAGEDIR}${PREFIX}/,,' >> ${TMPPLIST}
+. endif
+ @${ECHO_CMD} "@postunexec ${OCAMLFIND} remove ${DIR} 2>/dev/null" \
+ >> ${TMPPLIST}
+. endfor
+. endif
+.endif
+
+.if defined(USE_OCAML_CAMLP4)
+BUILD_DEPENDS+= ${CAMLP4_DEPEND}
+.endif
+
+.if defined(USE_OCAML_TK)
+. if !defined(NO_OCAMLTK_BUILDDEPENDS)
+EXTRACT_DEPENDS+= ${OCAMLTK_DEPENDS}
+PATCH_DEPENDS+= ${OCAMLTK_DEPENDS}
+BUILD_DEPENDS+= ${OCAMLTK_DEPENDS}
+. endif
+. if !defined(NO_OCAMLTK_RUNDEPENDS)
+RUN_DEPENDS+= ${OCAMLTK_DEPENDS}
+. endif
+.endif
+
+.if defined(USE_OCAML_LDCONFIG)
+#
+# Directories under PREFIX for appending to ld.conf
+#
+OCAML_LDLIBS?= ${OCAML_SITELIBDIR}/${PORTNAME}
+_USES_install+= 740:ocaml-ldconfig
+. if !target(ocaml-ldconfig)
+ocaml-ldconfig:
+. for LIB in ${OCAML_LDLIBS}
+ @${ECHO_CMD} "@postexec ${ECHO_CMD} "%D/${LIB}" >> %D/${OCAML_LDCONF}" \
+ >> ${TMPPLIST}
+ @${ECHO_CMD} "@postunexec ${SED} -i \"\" -e '/${LIB:S#/#\/#g}/d' %D/${OCAML_LDCONF}" >> ${TMPPLIST}
+. endfor
+. endif
+.endif
+
+.if defined(USE_OCAML_WASH)
+. if !target(ocaml-wash)
+_USES_install+= 745:ocaml-wash
+ocaml-wash:
+# If ld.conf is empty
+ @${ECHO_CMD} "@postunexec if [ ! -s %D/${OCAML_LDCONF} ]; then ${RM} %D/${OCAML_LDCONF}; fi || true" >> ${TMPPLIST}
+. endif
+.endif
+
+.endif #!defined(OCAML_include)
+
+.if defined(_POSTMKINCLUDED)
+
+.if defined(USE_OCAML_FINDLIB)
+
+pre-install: ${STAGEDIR}${OCAMLFIND_DESTDIR}
+${STAGEDIR}${OCAMLFIND_DESTDIR}:
+ @${MKDIR} ${.TARGET}
+
+.endif
+
+.endif # _POSTMKINCLUDED
diff --git a/test-ports/Mk/bsd.octave.mk b/test-ports/Mk/bsd.octave.mk
new file mode 100644
index 00000000..c0ff9905
--- /dev/null
+++ b/test-ports/Mk/bsd.octave.mk
@@ -0,0 +1,45 @@
+#-*- tab-width: 4; -*-
+# ex:ts=4
+#
+# $FreeBSD: head/Mk/bsd.octave.mk 462981 2018-02-25 22:23:45Z stephen $
+#
+# bsd.octave.mk - Octave related macro
+# Common code to install octave-forge packages.
+# It is, in effect, a wrapper using the package handling already built
+# into math/octave.
+
+MASTER_SITES= SF/octave/Octave%20Forge%20Packages/Individual%20Package%20Releases \
+ SF/octave/Octave%20Forge%20Packages/R2009-06-07 \
+ SF/octave/Octave%20Forge%20Packages/R2009-05-08
+DISTNAME= ${OCTAVE_PKGNAME}-${PORTVERSION}
+
+bsd_octave_mk_MAINTAINER= stephen@FreeBSD.org
+
+BUILD_DEPENDS+= octave:math/octave
+RUN_DEPENDS+= octave:math/octave \
+ ${LOCALBASE}/libexec/octave/load-octave-pkg:math/octave-forge-base
+LIB_DEPENDS+= libpcre.so:devel/pcre
+
+USES+= fortran gmake compiler:c++14-lang
+CXXFLAGS+= -std=gnu++11
+
+DIST_SUBDIR= octave-forge
+OCTAVE_PKGNAME= ${PORTNAME:S/octave-forge-//}
+TARBALLS_DIR= ${LOCALBASE}/share/octave/tarballs
+INSTALL_TARBALLS_DIR= ${STAGEDIR}${PREFIX}/share/octave/tarballs
+
+MAKE_ENV+= PACKAGE=${WRKDIR}/${DISTNAME}.tar.gz
+MAKE_ARGS= CC="${CC}" CXX="${CXX}" LD_CXX="${CXX}" DL_LD="${CXX}" MKOCTFILE="${LOCALBASE}/bin/mkoctfile" OCTAVE_VERSION=-`${MAKE} -C ${.CURDIR}/../../math/octave -V PORTVERSION`
+
+LOAD_OCTAVE_PKG_CMD= ${LOCALBASE}/libexec/octave/load-octave-pkg
+
+do-install:
+ ${MKDIR} ${INSTALL_TARBALLS_DIR}
+ ${INSTALL_DATA} ${WRKDIR}/${DISTNAME}.tar.gz ${INSTALL_TARBALLS_DIR}/.
+ ${LN} -s -f ${DISTNAME}.tar.gz ${INSTALL_TARBALLS_DIR}/${OCTAVE_PKGNAME}.tar.gz
+
+post-install:
+ @${ECHO_CMD} "share/octave/tarballs/${DISTNAME}.tar.gz" >> ${TMPPLIST}
+ @${ECHO_CMD} "share/octave/tarballs/${OCTAVE_PKGNAME}.tar.gz" >> ${TMPPLIST}
+ @${ECHO_CMD} "@postunexec if [ -x ${LOAD_OCTAVE_PKG_CMD} ]; then ${LOAD_OCTAVE_PKG_CMD}; fi" >> ${TMPPLIST}
+ @${ECHO_CMD} "@postexec if [ -x ${LOAD_OCTAVE_PKG_CMD} ]; then ${LOAD_OCTAVE_PKG_CMD}; fi" >> ${TMPPLIST}
diff --git a/test-ports/Mk/bsd.options.desc.mk b/test-ports/Mk/bsd.options.desc.mk
new file mode 100644
index 00000000..62b8cced
--- /dev/null
+++ b/test-ports/Mk/bsd.options.desc.mk
@@ -0,0 +1,549 @@
+# $FreeBSD: head/Mk/bsd.options.desc.mk 491828 2019-02-01 15:27:35Z tobik $
+#
+# READ BEFORE EDITING:
+# - Please keep descriptions sorted alphabetically by variable name.
+#
+# - Please respect these limits or the dialog options wrap or get cutoff
+# - OPTION_DESC?= must be 19 characters or less
+# - OPTION description text must be 43 characters or less
+#
+# - This file is maintained by ports@FreeBSD.org so that entries can be added
+# to it easily. Any sweeping changes should be approved by portmgr@.
+
+Options_Desc_MAINTAINER= ports@FreeBSD.org
+
+# OPTION_DESC: Description:
+# Length | | Length |
+#
+A52_DESC?= AC-3 support via liba52
+AAC_DESC?= AAC/MP4 format support
+AACPLUS_DESC?= AAC support via libaacplus
+AALIB_DESC?= AAlib graphics library support
+ACOUSTID_DESC?= AcoustID audio fingerprinting support
+ALAC_DESC?= Apple Lossless audio format support
+ALSA_DESC?= ALSA audio architecture support
+AMR_DESC?= AMR 3GPP speech codec support (opencore)
+AMR_NB_DESC?= AMR Narrow Band audio support (opencore)
+AMR_WB_DESC?= AMR Wide Band audio support (opencore)
+AO_DESC?= libao audio library support
+APACHE_DESC?= Apache server support
+APE_DESC?= Monkey's Audio lossless format support
+ARCHIVE_DESC?= bzip2/zip/iso9660 archive support
+ARMADILLO_DESC?= TPS transform computation via Armadillo
+ASIO_DESC?= Asynchronous I/O support
+ASM_DESC?= Use optimized assembly code
+ASPELL_DESC?= Spell checking support via GNU Aspell
+ASSERT_DESC?= Enable debug assertions
+ATLAS_DESC?= ATLAS blas implementation
+AUDIOFILE_DESC?= SGI audio file format support
+AVAHI_DESC?= Zeroconf support via Avahi
+BASH_DESC?= Install programmable completions for Bash
+BDB_DESC?= Berkeley DB support
+BDB1_DESC?= Berkeley DB 1.85 support
+BITTORRENT_DESC?= BitTorrent file sharing support
+BOOST_DESC?= Boost C++ libraries support
+BROTLI_DESC?= Brotli compression support
+BZIP2_DESC?= bzip2 compression support
+CACA_DESC?= libcaca graphics library support
+CAIRO_DESC?= Cairo graphics library support
+CARES_DESC?= Asynchronous DNS resolution via c-ares
+CDDA_DESC?= Digital Audio CD support
+CDDA2WAV_DESC?= CD ripping support (via cdda2wav)
+CDDB_DESC?= CDDB (compact disc database) support
+CDIO_DESC?= CDIO support via libcdio
+CDPARANOIA_DESC?= CD ripping support (via cdparanoia)
+CELT_DESC?= CELT audio codec support
+CFITSIO_DESC?= FITS support via CFITSIO
+COLORD_DESC?= Color management via colord
+COMPOSITE_DESC?= X11 Composite extension support
+COOKIE_DESC?= Web cookie support
+CUE_DESC?= Embedded CUE sheets support
+CUPS_DESC?= CUPS printing system support
+CURL_DESC?= Data transfer support via cURL
+CXX_DESC?= C++ language support
+CYASSL_DESC?= SSL/TLS support via CyaSSL
+DAGRAB_DESC?= CD ripping support (via dagrab)
+DATA_DESC?= Install data files
+DBM_DESC?= dbm database library support
+DBUS_DESC?= D-Bus IPC system support
+DCA_DESC?= DTS support via libdca
+DCRAW_DESC?= Raw image processing support via dcraw
+DEBUG_DESC?= Build with debugging support
+DEVD_DESC?= Install devd(8) files
+DIRAC_DESC?= Dirac codec support via libdirac
+DJVU_DESC?= DjVu document support
+DOCS_DESC?= Build and/or install documentation
+DOXYGEN_DESC?= Build documentation with Doxygen
+DTRACE_DESC?= Build with DTrace probes
+DV_DESC?= Quasar DV video codec support (libdv)
+DVDCSS_DESC?= Encrypted DVD support via libdvdcss
+ECW_DESC?= ECW image format support
+ESOUND_DESC?= EsounD sound server support
+EXAMPLES_DESC?= Build and/or install examples
+EXIV2_DESC?= EXIF and IPTC metadata support via exiv2
+EXPAT_DESC?= XML parser support via Expat
+FAAC_DESC?= FAAC AAC encoder support
+FAAD_DESC?= FAAD AAC decoder support
+FAM_DESC?= File Alteration Monitor support
+FASTCGI_DESC?= FastCGI protocol support
+FFMPEG_DESC?= FFmpeg support (WMA, AIFF, AC3, APE...)
+FFTW_DESC?= Discrete Fourier Transform support
+FINGER_DESC?= finger(1) user information support
+FIREBIRD_DESC?= Firebird (Interbase) database support
+FISH_DESC?= Install programmable completions for Fish
+FLAC_DESC?= FLAC lossless audio codec support
+FLICKR_DESC?= Flickr support via flickcurl
+FLUIDSYNTH_DESC?= MIDI playback support via FluidSynth
+FONTCONFIG_DESC?= X11 font configuration support
+FORTRAN_DESC?= Fortran language support
+FPECTL_DESC?= Floating point exception handling
+FPX_DESC?= FlashPix image format support
+FREETDS_DESC?= FreeTDS library support
+FREETYPE_DESC?= TrueType font rendering support
+FREEXL_DESC?= Excel file (.xls) support via FreeXL
+FREI0R_DESC?= Frei0r video plugins support
+FRIBIDI_DESC?= Bidirectional text support via GNU FriBidi
+FTP_DESC?= FTP protocol support
+FTPS_DESC?= FTP with SSL/TLS support
+FUSE_DESC?= FUSE (Filesystem in Userspace) support
+GCC_DESC?= Build with modern GCC (from ports)
+GCONF_DESC?= GConf configuration backend support
+GCRYPT_DESC?= Use GNU crypt library instead of OpenSSL
+GD_DESC?= GD graphics library support
+GDBM_DESC?= GNU dbm library support
+GDM_DESC?= Install GDM login manager
+GEOIP_DESC?= GeoIP IP location support
+GEOS_DESC?= GEOS Geometry Engine support
+GEOTIFF_DESC?= GeoTIFF file format support
+GGI_DESC?= General Graphics Interface support
+GHOSTSCRIPT_DESC?= Ghostscript support
+GIF_DESC?= GIF image format support
+GIO_DESC?= Use GIO for file I/O
+GLADE_DESC?= Glade interface builder support
+GLUT_DESC?= OpenGL Utility Toolkit support
+GLX_DESC?= X11 OpenGL rendering support
+GMP_DESC?= GMP (multiple precision arithmetic) support
+GNOME_DESC?= GNOME desktop environment support
+GNOMEKEYRING_DESC?= GNOME Keyring password manager support
+GNOMEVFS2_DESC?= GnomeVFS2 (virtual file system) support
+GNUPG_DESC?= GNU Privacy Guard support
+GNUPLOT_DESC?= Plotting support via gnuplot
+GNUTLS_DESC?= SSL/TLS support via GnuTLS
+GOPHER_DESC?= Gopher protocol support
+GPERFTOOLS_DESC?= Google gperftools support
+GPHOTO_DESC?= Digital cameras support via libgphoto2
+GRAPHMAGICK_DESC?= GraphicsMagick image processing support
+GRAPHVIZ_DESC?= Graphviz graph drawing support
+GRASS_DESC?= Geographic Information System (GIS) support
+GRIB_API_DESC?= ECMWF GRIB API support
+GSM_DESC?= GSM codec support
+GSSAPI_BASE_DESC?= GSSAPI support via base system (needs Kerberos)
+GSSAPI_DESC?= GSSAPI Security API support
+GSSAPI_HEIMDAL_DESC?= GSSAPI support via security/heimdal
+GSSAPI_MIT_DESC?= GSSAPI support via security/krb5
+GSSAPI_NONE_DESC?= Disable GSSAPI support
+GSTREAMER_DESC?= Multimedia support via GStreamer
+GTA_DESC?= Generic Tagged Array (GTA) support
+GTK2_DESC?= GTK+ 2 GUI toolkit support
+GTK3_DESC?= GTK+ 3 GUI toolkit support
+GUI_DESC?= GUI (Graphical User Interface) support
+GUILE_DESC?= Guile extension language support
+GVFS_DESC?= Virtual filesystems support via GVFS
+H323_DESC?= H.323 codec support
+HAL_DESC?= HAL (Hardware Abstraction Layer) support
+HDF5_DESC?= HDF-5 data format support
+HPACK_DESC?= Header Compression for HTTP/2.0 support
+HTTP2_DESC?= HTTP protocol version 2.0 support
+HTTPD_DESC?= httpd output streaming support
+HTTPS_DESC?= HTTPS protocol support
+HUNSPELL_DESC?= Spell checking support via Hunspell
+ICONS_DESC?= Install icon theme(s)
+ICONV_DESC?= Encoding conversion support via iconv
+ICU_DESC?= Unicode support via ICU
+ID3_DESC?= ID3 tags support
+ID3TAG_DESC?= ID3 v1/v2 tags support
+IDN_DESC?= International Domain Names support
+IMAGEMAGICK_DESC?= ImageMagick image processing support
+IMLIB_DESC?= Imlib image library support
+IMLIB2_DESC?= Imlib 2 image library support
+INI_DESC?= INI file/format/parser support
+IODBC_DESC?= ODBC backend via iODBC
+IPV4_DESC?= IPv4 protocol support
+IPV6_DESC?= IPv6 protocol support
+ISPELL_DESC?= Spell checking support via Ispell
+JABBER_DESC?= Jabber communications protocol support
+JACK_DESC?= JACK audio server support
+JASPER_DESC?= JPEG 2000 support via JasPer
+JAVA_DESC?= Java platform support
+JBIG_DESC?= JBIG image format support
+JHEAD_DESC?= jhead EXIF manipulator support
+JPEG_DESC?= JPEG image format support
+JPEG2000_DESC?= JPEG 2000 support
+JSON_C_DESC?= JSON file/format parser support via json-c
+JSON_DESC?= JSON file/format/parser support
+KDE4_DESC?= KDE 4 desktop environment support
+KERBEROS_DESC?= Kerberos support
+KERBEROS4_DESC?= Kerberos 4 support
+KERBEROS5_DESC?= Kerberos 5 support
+KML_DESC?= Keyhole Markup Language (KML) support
+KWALLET_DESC?= KWallet password manager support
+LADSPA_DESC?= LADSPA audio plugins support
+LAME_DESC?= LAME MP3 audio encoder support
+LANG_AF_DESC?= Afrikaans language support
+LANG_AK_DESC?= Akan language support
+LANG_AM_DESC?= Armenian language support
+LANG_AR_DESC?= Arabic language support
+LANG_AST_DESC?= Asturian language support
+LANG_BB_DESC?= Bengali (Bangladesh) language support
+LANG_BE_DESC?= Belarusian language support
+LANG_BG_DESC?= Bulgarian language support
+LANG_BN_DESC?= Bengali language support
+LANG_BR_DESC?= Breton language support
+LANG_BS_DESC?= Bosnian language support
+LANG_CA_DESC?= Catalan language support
+LANG_CN_DESC?= Chinese language support
+LANG_CS_DESC?= Czech language support
+LANG_CY_DESC?= Welsh language support
+LANG_DA_DESC?= Danish language support
+LANG_DE_DESC?= German language support
+LANG_EL_DESC?= Greek language support
+LANG_EO_DESC?= Esperanto language support
+LANG_ES_DESC?= Spanish language support
+LANG_ET_DESC?= Estonian language support
+LANG_EU_DESC?= Basque language support
+LANG_FA_DESC?= Persian language support
+LANG_FI_DESC?= Finnish language support
+LANG_FR_DESC?= French language support
+LANG_FY_DESC?= Frisian language support
+LANG_GA_DESC?= Irish language support
+LANG_GB_DESC?= English (GB) language support
+LANG_GD_DESC?= Gaelic (Scotland) language support
+LANG_GL_DESC?= Galician language support
+LANG_GU_DESC?= Gujarati language support
+LANG_HE_DESC?= Hebrew language support
+LANG_HI_DESC?= Hindi language support
+LANG_HR_DESC?= Croatian language support
+LANG_HU_DESC?= Hungarian language support
+LANG_ID_DESC?= Indonesian language support
+LANG_IS_DESC?= Icelandic language support
+LANG_IT_DESC?= Italian language support
+LANG_JA_DESC?= Japanese language support
+LANG_JP_DESC?= Japanese (ja-JP-mac) language support
+LANG_KK_DESC?= Kazakh language support
+LANG_KN_DESC?= Kannada language support
+LANG_KO_DESC?= Korean language support
+LANG_KU_DESC?= Kurdish language support
+LANG_LG_DESC?= Luganda language support
+LANG_LK_DESC?= Tamil (Sri Lanka) language support
+LANG_LT_DESC?= Lithuanian language support
+LANG_LV_DESC?= Latvian language support
+LANG_MAI_DESC?= Maithili language support
+LANG_MK_DESC?= Macedonian language support
+LANG_ML_DESC?= Malayalam language support
+LANG_MN_DESC?= Mongolian language support
+LANG_MR_DESC?= Marathi language support
+LANG_NB_DESC?= Norwegian language support
+LANG_NL_DESC?= Dutch language support
+LANG_NN_DESC?= Norwegian Nynorsk language support
+LANG_NSO_DESC?= Northern Sotho language support
+LANG_OR_DESC?= Oriya language support
+LANG_PA_DESC?= Punjabi language support
+LANG_PBR_DESC?= Portuguese (Brazil) language support
+LANG_PL_DESC?= Polish language support
+LANG_PT_DESC?= Portuguese language support
+LANG_RM_DESC?= Romansh language support
+LANG_RO_DESC?= Romanian language support
+LANG_RU_DESC?= Russian language support
+LANG_SA_DESC?= Spanish (Argentina) language support
+LANG_SC_DESC?= Spanish (Chile) language support
+LANG_SE_DESC?= Swedish language support
+LANG_SI_DESC?= Sinhala language support
+LANG_SK_DESC?= Slovak language support
+LANG_SL_DESC?= Slovenian language support
+LANG_SM_DESC?= Spanish (Mexico) language support
+LANG_SON_DESC?= Songhai language support
+LANG_SQ_DESC?= Albanian language support
+LANG_SR_DESC?= Serbian language support
+LANG_SV_DESC?= Swedish language support
+LANG_TA_DESC?= Tamil language support
+LANG_TE_DESC?= Telugu language support
+LANG_TH_DESC?= Thai language support
+LANG_TR_DESC?= Turkish language support
+LANG_TW_DESC?= Taiwanese language support
+LANG_UA_DESC?= Ukrainian language support
+LANG_UK_DESC?= Ukrainian language support
+LANG_US_DESC?= English (US) language support
+LANG_VI_DESC?= Vietnamese language support
+LANG_ZA_DESC?= English (South Africa) language support
+LANG_ZU_DESC?= Zulu language support
+LASH_DESC?= LASH audio support
+LASTFM_DESC?= Last.fm streaming support
+LATEX_DESC?= LaTeX support
+LCMS2_DESC?= Little CMS 2.x support
+LDAP_DESC?= LDAP protocol support
+LDAPS_DESC?= LDAP protocol over SSL support
+LENSFUN_DESC?= Camera lens database support via LensFun
+LFS_DESC?= Large files support
+LIBBLURAY_DESC?= Blu-ray discs support via libbluray
+LIBEDIT_DESC?= Command line editing via libedit
+LIBEV_DESC?= High-performance events support via libev
+LIBEXIF_DESC?= EXIF metadata support via libexif
+LIBEXTRACTOR_DESC?= Metadata extraction support
+LIBLO_DESC?= Open Sound Control support via liblo
+LIBMNG_DESC?= MNG animated images support via libmng
+LIBOIL_DESC?= Inner loop optimization support via liboil
+LIBPAPER_DESC?= Paper size selection support via libpaper
+LIBRSVG2_DESC?= SVG vector graphics support via librsvg2
+LIBVIRT_DESC?= Virtualization support via libvirt
+LIBVISUAL_DESC?= Audio visualization support via libvisual
+LIBWMF_DESC?= Windows Metafile format support
+LIBWRAP_DESC?= TCP wrapper support
+LIBXINE_DESC?= Multimedia codec support via libxine
+LIBXML2_DESC?= XML parser support via libxml2
+LIGHTTPD_DESC?= Lighttpd server support
+LIRC_DESC?= Infrared remote control support
+LITE_DESC?= Reduced features or memory footprint
+LIVEMEDIA_DESC?= Multimedia streaming support via liveMedia
+LQR_DESC?= Liquid Rescale support
+LSOF_DESC?= LiSt Open Files utility support
+LUA_DESC?= Lua scripting language support
+LZ4_DESC?= LZ4 compression support
+LZMA_DESC?= LZMA compression support
+LZO_DESC?= LZO compression support
+MAD_DESC?= MAD MP3 audio decoder support
+MAGICK_DESC?= ImageMagick image processing library support
+MANPAGES_DESC?= Build and/or install manual pages
+MAPSERVER_DESC?= Mapserver support
+MATE_DESC?= MATE desktop environment support
+MATROSKA_DESC?= Matroska container format support
+MBEDTLS_DESC?= SSL/TLS support via mbed TLS
+MDNSRESPONDER_DESC?= Zeroconf support via mDNSResponder
+METALINK_DESC?= Metalink support
+MIKMOD_DESC?= MOD audio format support
+MIXER_DESC?= Audio mixer support
+MJPEGTOOLS_DESC?= MJPEG Tools support
+MMKEYS_DESC?= Multimedia keys support
+MMS_DESC?= MMS streaming support
+MMX_DESC?= Use MMX optimized routines
+MODPERL_DESC?= mod_perl protocol support
+MODPLUG_DESC?= ModPlug decoder support
+MONGO_DESC?= MongoDB support
+MONO_DESC?= Mono bindings or support
+MONPLUGINS_DESC?= Plugins from monitoring-plugins.org
+MOTIF_DESC?= Motif widget library support
+MOUSE_DESC?= Mouse support
+MP3_DESC?= MP3 audio format support
+MP4_DESC?= MP4 media format support
+MPEG2_DESC?= MPEG-2 video support via libmpeg2
+MPG123_DESC?= MP3 decoding support via mpg123
+MPI_DESC?= MPI (Message Passing Interface) support
+MPICH_DESC?= Parallel processing support via MPICH 3
+MPICH2_DESC?= Parallel processing support via MPICH 2
+MPLAYER_DESC?= MPlayer media player support
+MPLS_DESC?= MPLS support
+MPP_DESC?= Musepack audio format support
+MSQL_DESC?= mSQL database support
+MSSQL_DESC?= Microsoft SQL Server support
+MTP_DESC?= Media Transfer Protocol support
+MULTIBYTE_DESC?= Multibyte character encoding support
+MUSEPACK_DESC?= MPC audio format support
+MYSQL_DESC?= MySQL database support
+MYSQL_JDBC_DESC?= JDBC connection to MySQL databases
+NAGPLUGINS_DESC?= Plugins from nagios-plugins.org
+NAS_DESC?= Network Audio System support
+NCURSES_DESC?= Console (text) interface support
+NETCDF_DESC?= NetCDF data format support
+NETLIB_DESC?= Blas implementation from Netlib
+NETPBM_DESC?= Netpbm graphics toolkit support
+NFS_DESC?= Network File System support
+NIS_DESC?= Network Information Services/YP support
+NLS_DESC?= Native Language Support
+NMAP_DESC?= NMAP security scanning support
+NNTP_DESC?= NNTP (News) support
+NOTIFY_DESC?= Desktop notification support
+NSS_DESC?= SSL/TLS support via NSS
+NTLM_DESC?= NTLM authentication support
+NUMPY_DESC?= NumPy mathematical computing support
+OBJC_DESC?= Objective-C language support
+ODBC_DESC?= ODBC database backend
+ODF_DESC?= Open Document Format (ODF) file support
+OGG_DESC?= Ogg media format support
+OPENAL_DESC?= Audio support via OpenAL
+OPENBLAS_DESC?= OpenBLAS blas implementation
+OPENCL_DESC?= Heterogeneous computing via OpenCL
+OPENCV_DESC?= Computer Vision support via OpenCV
+OPENEXR_DESC?= HDR image format support via OpenEXR
+OPENGL_DESC?= 2D/3D rendering support via OpenGL
+OPENJPEG_DESC?= Enhanced JPEG graphics support
+OPENMP_DESC?= Parallel processing support via OpenMP
+OPENMPI_DESC?= Parallel processing support via Open MPI
+OPENRAW_DESC?= RAW camera format support
+OPENSSL_DESC?= SSL/TLS support via OpenSSL
+OPTIMIZED_CFLAGS_DESC?= Use extra compiler optimizations
+OPUS_DESC?= Opus audio codec support
+ORACLE_DESC?= Oracle database support
+ORACLE_JDBC_DESC?= JDBC connection to Oracle databases
+OSD_DESC?= On-screen display support
+OSS_DESC?= Open Sound System support
+PAM_DESC?= Pluggable authentication module support
+PANGO_DESC?= Pango rendering library support
+PCRE_DESC?= Use Perl Compatible Regular Expressions
+PDF_DESC?= PDF document support
+PERL_DESC?= Perl scripting language support
+PGO_DESC?= Use Profile-Guided Optimization
+PGSQL_DESC?= PostgreSQL database support
+PGSQL_JDBC_DESC?= JDBC connection to PostgreSQL databases
+PHONON_DESC?= Multimedia support via Phonon
+PHP_DESC?= PHP bindings or support
+PIXBUF_DESC?= GDK-PixBuf library support
+PLUGINS_DESC?= Build and/or install plugins
+PNG_DESC?= PNG image format support
+PNM_DESC?= PNM image format support
+PODOFO_DESC?= PDF file support via PoDoFo
+POLARSSL_DESC?= SSL/TLS support via PolarSSL
+POPPLER_DESC?= PDF and PS file support via poppler
+PORTAUDIO_DESC?= PortAudio library support
+POSTGIS_DESC?= PostGIS geographic support for PostgreSQL
+PRINT_DESC?= Printer support
+PROFILE_DESC?= Build with profiling support
+PROJ_DESC?= PROJ.4 cartographic projections support
+PROXY_DESC?= Proxy support
+PS_DESC?= PostScript document support
+PSL_DESC?= Public Suffix List support
+PTH_DESC?= Threading/multiprocessing via GNU Pth
+PULSEAUDIO_DESC?= PulseAudio sound server support
+PYMALLOC_DESC?= Use Python's internal malloc()
+PYTHON_DESC?= Python bindings or support
+PYTHON2_DESC?= Python 2.x bindings or support
+PYTHON3_DESC?= Python 3.x bindings or support
+QT4_DESC?= Qt 4 toolkit support
+QT5_DESC?= Qt 5 toolkit support
+QUICKTIME_DESC?= QuickTime media support
+RADIUS_DESC?= RADIUS protocol support
+RAW_DESC?= RAW format support
+READLINE_DESC?= Command line editing via libreadline
+REDIS_DESC?= Redis key-value store database support
+REGEX_DESC?= Regular expression support
+RESIN3_DESC?= Resin 3.x support
+RTMP_DESC?= RTMP protocol support via librtmp
+RTMPDUMP_DESC?= RTMP protocol support via rtmpdump
+RTSP_DESC?= Real Time Streaming Protocol (RTSP) support
+RUBY_DESC?= Ruby bindings or support
+SAMPLERATE_DESC?= Sample rate conversion support
+SANE_DESC?= SANE API scanner support
+SASL_DESC?= SASL authentication support
+SCHROEDINGER_DESC?= Dirac video codec support via libschroedinger
+SCIPY_DESC?= SciPy scientific computing support
+SDL_DESC?= Simple Direct Media Layer support
+SEM_DESC?= POSIX semaphores support
+SFCGAL_DESC?= 3D operations support via SFCGAL
+SHOUTCAST_DESC?= SHOUTcast and Ogg Icecast support
+SIMD_DESC?= Use CPU-specific optimizations
+SLANG_DESC?= S-Lang console graphics library support
+SMB_DESC?= SMB network protocol support
+SNAPPY_DESC?= Snappy compression library support
+SNDFILE_DESC?= Audio conversion support via libsndfile
+SNDIO_DESC?= Sndio audio support
+SNMP_DESC?= SNMP network protocol support
+SOCKS_DESC?= SOCKS proxy support
+SOUND_DESC?= Sound (audio) support
+SOUNDTOUCH_DESC?= Sound processing support via SoundTouch
+SOXR_DESC?= SoX resampler support via libsoxr
+SPANDSP_DESC?= SpanDSP faxing support
+SPATIALITE_DESC?= SpatiaLite support
+SPDY_DESC?= SPDY network protocol support
+SPEEX_DESC?= Speex audio format support
+SQL_DESC?= SQL database support
+SQLITE_DESC?= SQLite database support
+SQLITE2_DESC?= SQLite 2 database support
+SQLITE3_DESC?= SQLite 3 database support
+SSE_DESC?= Use SSE optimized routines
+SSH_DESC?= SSH protocol support
+SSL_DESC?= SSL protocol support
+STATIC_DESC?= Build static executables and/or libraries
+STRIP_DESC?= Strip binaries before installation
+STROKE_DESC?= Mouse gestures support via libstroke
+SVG_DESC?= SVG vector image format support
+SVGALIB_DESC?= SVGA graphics support
+SVN_DESC?= Subversion support
+SWFDEC_DESC?= Flash support via Swfdec
+SWIG_DESC?= SWIG binding/wrapper support
+SYBASE_DESC?= Sybase SQL Server support
+SYSLOG_DESC?= Syslog logging support
+SZIP_DESC?= Szip compression support
+TCL_DESC?= Tcl scripting language support
+TCLTK_DESC?= Tcl/Tk GUI toolkit support
+TELNET_DESC?= Telnet support
+TEST_DESC?= Build and/or run tests
+TFTP_DESC?= TFTP support
+THEORA_DESC?= Ogg Theora video codec support
+THREADS_DESC?= Threading support
+TIDY_DESC?= Tidy HTML cleaner support
+TIFF_DESC?= TIFF image format support
+TINYXML_DESC?= XML parser support via TinyXML
+TK_DESC?= Tk GUI toolkit support
+TLS_DESC?= Secure network connection support via TLS
+TOMCAT6_DESC?= Tomcat 6.x support
+TOMCAT7_DESC?= Tomcat 7.x support
+TOMCAT8_DESC?= Tomcat 8.x support
+TOMCAT85_DESC?= Tomcat 8.5.x support
+TOMCAT9_DESC?= Tomcat 9.x support
+TOOLAME_DESC?= TooLAME MP2 audio encoder support
+TREMOR_DESC?= Tremor audio decoder support
+TTA_DESC?= TTA lossless audio format support
+TWOLAME_DESC?= TwoLAME MP2 audio encoder support
+UCS2_DESC?= Unicode UCS-2 encoding support
+UCS4_DESC?= Unicode UCS-4 encoding support
+UDUNITS_DESC?= Unidata units library (udunits) support
+UDUNITS2_DESC?= Unidata units library (udunits) support
+UNICODE_DESC?= Unicode support
+UNIXODBC_DESC?= ODBC backend via unixODBC
+UNRAR_DESC?= RAR decompression support
+UNZIP_DESC?= Zip decompression support
+UPNP_DESC?= UPnP protocol support
+UTF16_DESC?= Unicode UTF-16 encoding support
+UTF8_DESC?= Unicode UTF-8 encoding support
+V4L_DESC?= Video 4 Linux support
+VAAPI_DESC?= VAAPI (GPU video acceleration) support
+VAPI_DESC?= Build VALA API files
+VDPAU_DESC?= VDPAU (GPU video acceleration) support
+VIDEO_DESC?= Video support
+VO_AACENC_DESC?= AAC audio encoding via vo-aacenc
+VO_AMRWBENC_DESC?= AMR Wide Band encoding via vo-amrwbenc
+VORBIS_DESC?= Ogg Vorbis audio codec support
+VPX_DESC?= VP8/VP9 video codec support
+WAV_DESC?= WAV audio format support
+WAVPACK_DESC?= WavPack lossless audio format support
+WAYLAND_DESC?= Wayland (graphics) support
+WEBGL_DESC?= WebGL 2D/3D graphics rendering support
+WEBKIT_DESC?= WebKit webpage renderer support
+WEBP_DESC?= WebP image format support
+WEBSERVER_DESC?= Build and/or install internal web server
+WEBUI_DESC?= Build and/or install web user interface
+WMA_DESC?= Windows Media Audio audio format support
+WMF_DESC?= Windows Metafile image format support
+WOLFSSL_DESC?= SSL/TLS support via wolfSSL
+WXGTK_DESC?= wxGTK GUI toolkit support
+X11_DESC?= X11 (graphics) support
+X264_DESC?= H.264 video codec support via x264
+X265_DESC?= H.265 video codec support via x265
+XALAN_DESC?= Xalan XSLT processor support
+XCURSOR_DESC?= Cursor themes support
+XERCES_DESC?= XML parser support via Xerces
+XFT_DESC?= Xft font library support
+XINE_DESC?= Multimedia support via Xine
+XINERAMA_DESC?= X11 Xinerama extension support
+XKLAVIER_DESC?= Keyboard layout settings
+XML_DESC?= XML format or parser support
+XPM_DESC?= XPM pixmap image format support
+XRANDR_DESC?= X11 XRandR extension support
+XS_DESC?= Use XS libraries for speed boost
+XSPF_DESC?= XSPF playlist format support
+XVID_DESC?= Xvid MPEG-4 video codec support
+XVIDEO_DESC?= X11 Video extension library support
+XVMC_DESC?= X11 XvMC video extension support
+YAML_DESC?= YAML format or parser support
+ZLIB_DESC?= zlib compression support
+ZOPE_DESC?= Zope web application framework support
+ZSH_DESC?= Install programmable completions for zsh
+ZSTD_DESC?= Zstandard compression support
diff --git a/test-ports/Mk/bsd.options.mk b/test-ports/Mk/bsd.options.mk
new file mode 100644
index 00000000..9dff9bc6
--- /dev/null
+++ b/test-ports/Mk/bsd.options.mk
@@ -0,0 +1,627 @@
+# $FreeBSD: head/Mk/bsd.options.mk 493901 2019-02-25 22:07:54Z jbeich $
+#
+# These variables are used in port makefiles to define the options for a port.
+#
+# OPTIONS_DEFINE - List of options this ports accept
+# OPTIONS_DEFINE_${ARCH} - List of options this ports accept and are
+# specific to ${ARCH}
+# OPTIONS_DEFAULT - List of options activated by default
+# OPTIONS_DEFAULT_${ARCH} - List of options activated by default for a
+# given arch
+#
+# ${OPTION}_DESC - Description of the ${OPTION}
+#
+# OPTIONS_SINGLE - List of single-choice grouped options: 1 and
+# only 1 among N
+# OPTIONS_RADIO - List of radio-choice grouped options: 0 or 1
+# among N
+# OPTIONS_MULTI - List of multiple-choice grouped options: at
+# least 1 among N
+# OPTIONS_GROUP - List of group-choice grouped options: 0 or
+# more among N
+#
+# OPTIONS_SINGLE_${NAME} - List of OPTIONS grouped as single choice (for
+# the single named as ${NAME} as defined in
+# OPTIONS_SINGLE)
+# OPTIONS_RADIO_${NAME} - List of OPTIONS grouped as radio choice (for
+# the radio named as ${NAME} as defined in
+# OPTIONS_RADIO)
+# OPTIONS_MULTI_${NAME} - List of OPTIONS grouped as multiple-choice
+# (for the multi named as ${NAME} as defined in
+# OPTIONS_MULTI)
+# OPTIONS_GROUP_${NAME} - List of OPTIONS grouped as group-choice (for
+# the group named as ${NAME} as defined in
+# OPTIONS_GROUP)
+#
+# OPTIONS_EXCLUDE - List of options unsupported (useful for slave ports)
+# OPTIONS_EXCLUDE_${ARCH} - List of options unsupported on a given ${ARCH}
+# OPTIONS_EXCLUDE_${OPSYS} - List of options unsupported on a given ${OPSYS}
+# OPTIONS_EXCLUDE_${OPSYS}_${OSREL:R} - List of options unsupported on a given
+# ${OPSYS} and major version (8/9/10...)
+# OPTIONS_SLAVE - This is designed for slave ports, it removes an
+# option from the options list inherited from the
+# master port and it always adds it to PORT_OPTIONS
+# meaning activated
+#
+# These variables can be used in make.conf to configure options. They are
+# processed in the order listed below, i.e. later variables override the effects
+# of previous variables. Options saved using the options dialog are processed
+# right before OPTIONS_SET_FORCE. When building a port a dialog to configure
+# options will only appear if there are new options, i.e. options which have not
+# been configured before either using the option dialog in a previous build or
+# using the variables below. You can force the dialog to appear by running
+# "make config".
+#
+# OPTIONS_SET - List of options to enable for all ports.
+# OPTIONS_UNSET - List of options to disable for all ports.
+# ${OPTIONS_NAME}_SET - List of options to enable for a specific port.
+# ${OPTIONS_NAME}_UNSET - List of options to disable for a specific port.
+#
+# OPTIONS_SET_FORCE - List of options to enable for all ports.
+# OPTIONS_UNSET_FORCE - List of options to disable for all ports.
+# ${OPTIONS_NAME}_SET_FORCE - List of options to enable for a specific port.
+# ${OPTIONS_NAME}_UNSET_FORCE
+# - List of options to disable for a specific port.
+#
+# These variables can be used on the command line. They override the effects of
+# the make.conf variables above.
+#
+# WITH - Set options from the command line
+# WITHOUT - Unset options from the command line
+#
+#
+# These variables are strictly informational (read-only). They indicate the
+# current state of the selected options; they are space-delimited lists.
+#
+# SELECTED_OPTIONS - list of options set "on"
+# DESELECTED_OPTIONS - list of options set "off"
+#
+#
+# The following knobs are there to simplify the handling of OPTIONS in simple
+# cases :
+#
+# OPTIONS_SUB When defined it will add to PLIST_SUB:
+# Option enabled ${opt}=""
+# Option disabled ${opt}="@comment "
+#
+# ${opt}_CONFIGURE_ON When option is enabled, it will add its content to
+# the CONFIGURE_ARGS.
+# ${opt}_CONFIGURE_OFF When option is disabled, it will add its content to
+# the CONFIGURE_ARGS.
+# ${opt}_CONFIGURE_ENABLE Will add to CONFIGURE_ARGS:
+# Option enabled --enable-${content}
+# Option disabled --disable-${content}
+# ${opt}_CONFIGURE_WITH Will add to CONFIGURE_ARGS:
+# Option enabled --with-${content}
+# Option disabled --without-${content}
+#
+# ${opt}_CMAKE_ON When option is enabled, it will add its content to
+# the CMAKE_ARGS.
+# ${opt}_CMAKE_OFF When option is disabled, it will add its content to
+# the CMAKE_ARGS.
+#
+# ${opt}_CMAKE_BOOL Will add to CMAKE_ARGS:
+# Option enabled -D${content}:BOOL=true
+# Option disabled -D${content}:BOOL=false
+# ${opt}_CMAKE_BOOL_OFF Will add to CMAKE_ARGS:
+# Option enabled -D${content}:BOOL=false
+# Option disabled -D${content}:BOOL=true
+#
+# ${opt}_QMAKE_ON When option is enabled, it will add its content to
+# the QMAKE_ARGS.
+# ${opt}_QMAKE_OFF When option is disabled, it will add its content to
+# the QMAKE_ARGS.
+#
+# ${opt}_MESON_ON When option is enabled, it will add its
+# content to MESON_ARGS.
+# ${opt}_MESON_OFF When option is disabled, it will add its
+# content to MESON_ARGS.
+#
+# ${opt}_MESON_TRUE Will add to MESON_ARGS:
+# Option enabled -D${content}=true
+# Option disabled -D${content}=false
+# ${opt}_MESON_FALSE Will add to MESON_ARGS:
+# Option enabled -D${content}=false
+# Option disabled -D${content}=true
+#
+# ${opt}_MESON_YES Will add to MESON_ARGS:
+# Option enabled -D${content}=yes
+# Option disabled -D${content}=no
+# ${opt}_MESON_NO Will add to MESON_ARGS:
+# Option enabled -D${content}=no
+# Option disabled -D${content}=yes
+#
+# ${opt}_MESON_ENABLED Will add to MESON_ARGS:
+# Option enabled -D${content}=enabled
+# Option disabled -D${content}=disabled
+# ${opt}_MESON_DISABLED Will add to MESON_ARGS:
+# Option enabled -D${content}=disabled
+# Option disabled -D${content}=enabled
+#
+# ${opt}_IMPLIES When opt is enabled, options named in IMPLIES will
+# get enabled too.
+# ${opt}_PREVENTS When opt is enabled, if any options in PREVENTS are
+# also enabled, it will produce an error.
+# ${opt}_PREVENTS_MSG Provides a message explaining why the options
+# cannot be selected together.
+#
+# ${opt}_USE= FOO=bar When option is enabled, it will enable
+# USE_FOO+= bar
+# If you need more than one option, you can do
+# FOO=bar,baz and you'll get USE_FOO=bar baz
+# ${opt}_USE_OFF= FOO=bar When option is disabled, it will enable
+# USE_FOO+= bar
+#
+# ${opt}_VARS= FOO=bar When option is enabled, it will set
+# FOO= bar
+# ${opt}_VARS= FOO+=bar When option is enabled, it will append
+# FOO+= bar
+# ${opt}_VARS_OFF= FOO=bar When option is disabled, it will set
+# FOO= bar
+# ${opt}_VARS_OFF= FOO+=bar When option is disabled, it will append
+# FOO+= bar
+#
+# For each of the depends target PKG FETCH EXTRACT PATCH BUILD LIB RUN,
+# defining ${opt}_${deptype}_DEPENDS will add its content to the actual
+# dependency when the option is enabled. Defining
+# ${opt}_${deptype}_DEPENDS_OFF will add its content to the actual dependency
+# when the option is disabled.
+#
+# For each of the variables in _OPTIONS_FLAGS below, defining
+# ${opt}_${variable} will add its content to the actual variable when the
+# option is enabled. Defining ${opt}_${variable}_OFF will add its content to
+# the actual variable when the option is disabled.
+
+##
+# Set all the options available for the ports, beginning with the
+# global ones and ending with the ones decided by the maintainer.
+
+.if !defined(OPTIONSMKINCLUDED)
+OPTIONSMKINCLUDED= bsd.options.mk
+
+OPTIONS_NAME?= ${PKGORIGIN:S/\//_/}
+OPTIONS_FILE?= ${PORT_DBDIR}/${OPTIONS_NAME}/options
+
+_OPTIONS_FLAGS= ALL_TARGET BROKEN CATEGORIES CFLAGS CONFIGURE_ENV CONFLICTS \
+ CONFLICTS_BUILD CONFLICTS_INSTALL CPPFLAGS CXXFLAGS \
+ DESKTOP_ENTRIES DISTFILES EXTRA_PATCHES EXTRACT_ONLY \
+ GH_ACCOUNT GH_PROJECT GH_SUBDIR GH_TAGNAME GH_TUPLE \
+ GL_ACCOUNT GL_COMMIT GL_PROJECT GL_SITE GL_SUBDIR GL_TUPLE \
+ IGNORE INFO INSTALL_TARGET LDFLAGS LIBS MAKE_ARGS MAKE_ENV \
+ MASTER_SITES PATCHFILES PATCH_SITES PLIST_DIRS PLIST_FILES \
+ PLIST_SUB PORTDOCS PORTEXAMPLES SUB_FILES SUB_LIST \
+ TEST_TARGET USES BINARY_ALIAS
+_OPTIONS_DEPENDS= PKG FETCH EXTRACT PATCH BUILD LIB RUN TEST
+
+# The format here is target_family:priority:target-type
+_OPTIONS_TARGETS= fetch:300:pre fetch:500:do fetch:700:post \
+ extract:300:pre extract:500:do extract:700:post \
+ patch:300:pre patch:500:do patch:700:post \
+ configure:300:pre configure:500:do configure:700:post \
+ build:300:pre build:500:do build:700:post \
+ install:300:pre install:500:do install:700:post \
+ test:300:pre test:500:do test:700:post \
+ package:300:pre package:500:do package:700:post \
+ stage:800:post
+
+# Add per arch options
+.for opt in ${OPTIONS_DEFINE_${ARCH}}
+.if empty(OPTIONS_DEFINE:M${opt})
+OPTIONS_DEFINE+= ${opt}
+.endif
+.endfor
+
+# Add per arch defaults
+OPTIONS_DEFAULT+= ${OPTIONS_DEFAULT_${ARCH}}
+
+_ALL_EXCLUDE= ${OPTIONS_EXCLUDE_${ARCH}} ${OPTIONS_EXCLUDE} \
+ ${OPTIONS_SLAVE} ${OPTIONS_EXCLUDE_${OPSYS}} \
+ ${OPTIONS_EXCLUDE_${OPSYS}_${OSREL:R}}
+
+.for opt in ${OPTIONS_DEFINE:O:u}
+. if !${_ALL_EXCLUDE:M${opt}}
+. for opt_implied in ${${opt}_IMPLIES}
+. if ${_ALL_EXCLUDE:M${opt_implied}}
+_ALL_EXCLUDE+= ${opt}
+. endif
+. endfor
+. endif
+.endfor
+
+# Remove options the port maintainer doesn't want, part 1
+.for opt in ${_ALL_EXCLUDE:O:u}
+OPTIONS_DEFAULT:= ${OPTIONS_DEFAULT:N${opt}}
+OPTIONS_DEFINE:= ${OPTIONS_DEFINE:N${opt}}
+. for otype in SINGLE RADIO MULTI GROUP
+. for m in ${OPTIONS_${otype}}
+OPTIONS_${otype}_${m}:= ${OPTIONS_${otype}_${m}:N${opt}}
+. endfor
+. endfor
+.endfor
+
+# Remove empty SINGLE/GROUP/RADIO/MULTI
+# Can be empty because of exclude/slaves
+.for otype in SINGLE RADIO MULTI GROUP
+. for m in ${OPTIONS_${otype}}
+. if empty(OPTIONS_${otype}_${m})
+OPTIONS_${otype}:= ${OPTIONS_${otype}:N${m}}
+. endif
+. endfor
+.endfor
+
+# Sort options
+ALL_OPTIONS:= ${OPTIONS_DEFINE:O:u}
+OPTIONS_DEFAULT:= ${OPTIONS_DEFAULT:O:u}
+
+# complete list
+COMPLETE_OPTIONS_LIST= ${ALL_OPTIONS}
+.for otype in SINGLE RADIO MULTI GROUP
+. for m in ${OPTIONS_${otype}}
+COMPLETE_OPTIONS_LIST+= ${OPTIONS_${otype}_${m}}
+. endfor
+.endfor
+
+# Some options are always enabled by default.
+.for _opt in DOCS NLS EXAMPLES IPV6
+.if ${COMPLETE_OPTIONS_LIST:M${_opt}}
+PORT_OPTIONS+= ${_opt}
+.endif
+.endfor
+
+# Remove options the port maintainer doesn't want, part 2
+.for opt in ${_ALL_EXCLUDE:O:u}
+PORT_OPTIONS:= ${PORT_OPTIONS:N${opt}}
+.endfor
+
+## Now create the list of activated options
+.if defined(OPTIONS_OVERRIDE)
+# Special case $OPTIONS_OVERRIDE; if it is defined forget about anything done
+# before
+NEW_OPTIONS=
+PORT_OPTIONS:= ${OPTIONS_OVERRIDE}
+.else
+NEW_OPTIONS= ${COMPLETE_OPTIONS_LIST}
+
+## Set default options defined by the port maintainer
+PORT_OPTIONS+= ${OPTIONS_DEFAULT}
+
+## Set system-wide defined options (set by user in make.conf)
+. for opt in ${OPTIONS_SET}
+. if !empty(COMPLETE_OPTIONS_LIST:M${opt})
+PORT_OPTIONS+= ${opt}
+NEW_OPTIONS:= ${NEW_OPTIONS:N${opt}}
+. endif
+. endfor
+
+## Remove the options excluded system-wide (set by user in make.conf)
+. for opt in ${OPTIONS_UNSET}
+PORT_OPTIONS:= ${PORT_OPTIONS:N${opt}}
+NEW_OPTIONS:= ${NEW_OPTIONS:N${opt}}
+. endfor
+
+## Set the options specified per-port (set by user in make.conf)
+. for opt in ${${OPTIONS_NAME}_SET}
+. if !empty(COMPLETE_OPTIONS_LIST:M${opt})
+PORT_OPTIONS+= ${opt}
+NEW_OPTIONS:= ${NEW_OPTIONS:N${opt}}
+. endif
+. endfor
+
+## Unset the options excluded per-port (set by user in make.conf)
+. for opt in ${${OPTIONS_NAME}_UNSET}
+PORT_OPTIONS:= ${PORT_OPTIONS:N${opt}}
+NEW_OPTIONS:= ${NEW_OPTIONS:N${opt}}
+. endfor
+
+## options files (from dialog)
+. if exists(${OPTIONS_FILE}) && !make(rmconfig)
+. include "${OPTIONS_FILE}"
+. endif
+. sinclude "${OPTIONS_FILE}.local"
+
+_OPTIONS_UNIQUENAME= ${PKGNAMEPREFIX}${PORTNAME}
+.for _k in SET UNSET SET_FORCE UNSET_FORCE
+.if defined(${_OPTIONS_UNIQUENAME}_${_k})
+WARNING+= "You are using ${_OPTIONS_UNIQUENAME}_${_k} which is not supported any more, use:"
+WARNING+= "${OPTIONS_NAME}_${_k}= ${${_OPTIONS_UNIQUENAME}_${_k}}"
+.endif
+.endfor
+
+## Finish by using the options set by the port config dialog, if any
+. for opt in ${OPTIONS_FILE_SET}
+. if !empty(COMPLETE_OPTIONS_LIST:M${opt})
+PORT_OPTIONS+= ${opt}
+NEW_OPTIONS:= ${NEW_OPTIONS:N${opt}}
+. endif
+. endfor
+
+.for opt in ${OPTIONS_FILE_UNSET}
+PORT_OPTIONS:= ${PORT_OPTIONS:N${opt}}
+NEW_OPTIONS:= ${NEW_OPTIONS:N${opt}}
+.endfor
+
+.endif
+
+## FORCE
+## Set system-wide defined options (set by user in make.conf)
+. for opt in ${OPTIONS_SET_FORCE}
+. if !empty(COMPLETE_OPTIONS_LIST:M${opt})
+PORT_OPTIONS+= ${opt}
+NEW_OPTIONS:= ${NEW_OPTIONS:N${opt}}
+. endif
+. endfor
+
+## Remove the options excluded system-wide (set by user in make.conf)
+. for opt in ${OPTIONS_UNSET_FORCE}
+PORT_OPTIONS:= ${PORT_OPTIONS:N${opt}}
+NEW_OPTIONS:= ${NEW_OPTIONS:N${opt}}
+. endfor
+
+## Set the options specified per-port (set by user in make.conf)
+. for opt in ${${OPTIONS_NAME}_SET_FORCE}
+. if !empty(COMPLETE_OPTIONS_LIST:M${opt})
+PORT_OPTIONS+= ${opt}
+NEW_OPTIONS:= ${NEW_OPTIONS:N${opt}}
+. endif
+. endfor
+
+## Unset the options excluded per-port (set by user in make.conf)
+. for opt in ${${OPTIONS_NAME}_UNSET_FORCE}
+PORT_OPTIONS:= ${PORT_OPTIONS:N${opt}}
+NEW_OPTIONS:= ${NEW_OPTIONS:N${opt}}
+. endfor
+
+
+## Cmdline always win over the rest
+.for opt in ${WITH}
+. if !empty(COMPLETE_OPTIONS_LIST:M${opt})
+PORT_OPTIONS+= ${opt}
+NEW_OPTIONS:= ${NEW_OPTIONS:N${opt}}
+. endif
+.endfor
+
+.for opt in ${WITHOUT}
+PORT_OPTIONS:= ${PORT_OPTIONS:N${opt}}
+NEW_OPTIONS:= ${NEW_OPTIONS:N${opt}}
+.endfor
+
+## Enable options implied by other options
+# _PREVENTS is handled in bsd.port.mk:pre-check-config
+## 1) Build dependency chain in A.B format:
+_DEPCHAIN=
+.for opt in ${COMPLETE_OPTIONS_LIST}
+. for o in ${${opt}_IMPLIES}
+_DEPCHAIN+= ${opt}.$o
+. endfor
+.endfor
+## 2) Check each dependency pair and if LHS is in PORT_OPTIONS then add RHS.
+## All of RHS of "RHS.*" (i.e. indirect dependency) are also added for
+## fast convergence.
+_PORT_OPTIONS:= ${PORT_OPTIONS}
+.for _count in _0 ${COMPLETE_OPTIONS_LIST}
+count= ${_count}
+### Check if all of the nested dependency are resolved already.
+. if ${count} == _0 || ${_PORT_OPTIONS} != ${PORT_OPTIONS}
+PORT_OPTIONS:= ${_PORT_OPTIONS}
+. for dc in ${_DEPCHAIN}
+. for opt in ${_PORT_OPTIONS}
+_opt=${opt}
+### Add all of direct and indirect dependency only if
+### they are not in ${PORT_OPTIONS}.
+. if !empty(_opt:M${dc:R})
+. for d in ${dc:E} ${_DEPCHAIN:M${dc:E}.*:E}
+. if empty(_PORT_OPTIONS:M$d)
+_PORT_OPTIONS+= $d
+. endif
+. endfor
+. endif
+. endfor
+. endfor
+. endif
+.endfor
+
+# Finally, add options required by slave ports
+PORT_OPTIONS+= ${OPTIONS_SLAVE}
+
+# Sort options and eliminate duplicates
+PORT_OPTIONS:= ${PORT_OPTIONS:O:u}
+
+_REALLY_ALL_POSSIBLE_OPTIONS:= ${COMPLETE_OPTIONS_LIST} ${_ALL_EXCLUDE}
+_REALLY_ALL_POSSIBLE_OPTIONS:= ${_REALLY_ALL_POSSIBLE_OPTIONS:O:u}
+
+# Handle PORTDOCS and PORTEXAMPLES
+.for _type in DOCS EXAMPLES
+. if !empty(_REALLY_ALL_POSSIBLE_OPTIONS:M${_type})
+. if empty(PORT_OPTIONS:M${_type})
+PLIST_SUB+= PORT${_type}="@comment "
+. else
+PLIST_SUB+= PORT${_type}=""
+. endif
+. endif
+.endfor
+
+.if defined(NO_OPTIONS_SORT)
+ALL_OPTIONS= ${OPTIONS_DEFINE}
+.endif
+
+.for target in ${_OPTIONS_TARGETS:C/:.*//:u}
+_OPTIONS_${target}?=
+.endfor
+
+.for opt in ${_REALLY_ALL_POSSIBLE_OPTIONS}
+# PLIST_SUB
+PLIST_SUB?=
+SUB_LIST?=
+. if defined(OPTIONS_SUB)
+. if ! ${PLIST_SUB:M${opt}=*}
+. if ${PORT_OPTIONS:M${opt}}
+PLIST_SUB:= ${PLIST_SUB} ${opt}="" NO_${opt}="@comment "
+. else
+PLIST_SUB:= ${PLIST_SUB} ${opt}="@comment " NO_${opt}=""
+. endif
+. endif
+. if ! ${SUB_LIST:M${opt}=*}
+. if ${PORT_OPTIONS:M${opt}}
+SUB_LIST:= ${SUB_LIST} ${opt}="" NO_${opt}="@comment "
+. else
+SUB_LIST:= ${SUB_LIST} ${opt}="@comment " NO_${opt}=""
+. endif
+. endif
+. endif
+
+. if ${PORT_OPTIONS:M${opt}}
+. if defined(${opt}_USE)
+. for option in ${${opt}_USE:C/=.*//:O:u}
+_u= ${option}
+USE_${_u:tu}+= ${${opt}_USE:M${option}=*:C/.*=//g:C/,/ /g}
+. endfor
+. endif
+. if defined(${opt}_VARS)
+. for var in ${${opt}_VARS:C/=.*//:O:u}
+_u= ${var}
+. if ${_u:M*+}
+${_u:C/.$//:tu}+= ${${opt}_VARS:M${var}=*:C/[^+]*\+=//:C/^"(.*)"$$/\1/}
+. else
+${_u:tu}= ${${opt}_VARS:M${var}=*:C/[^=]*=//:C/^"(.*)"$$/\1/}
+. endif
+. endfor
+. endif
+. if defined(${opt}_CONFIGURE_ENABLE)
+CONFIGURE_ARGS+= ${${opt}_CONFIGURE_ENABLE:S/^/--enable-/}
+. endif
+. if defined(${opt}_CONFIGURE_WITH)
+CONFIGURE_ARGS+= ${${opt}_CONFIGURE_WITH:S/^/--with-/}
+. endif
+. if defined(${opt}_CMAKE_BOOL)
+CMAKE_ARGS+= ${${opt}_CMAKE_BOOL:C/.*/-D&:BOOL=true/}
+. endif
+. if defined(${opt}_CMAKE_BOOL_OFF)
+CMAKE_ARGS+= ${${opt}_CMAKE_BOOL_OFF:C/.*/-D&:BOOL=false/}
+. endif
+. if defined(${opt}_MESON_TRUE)
+MESON_ARGS+= ${${opt}_MESON_TRUE:C/.*/-D&=true/}
+. endif
+. if defined(${opt}_MESON_FALSE)
+MESON_ARGS+= ${${opt}_MESON_FALSE:C/.*/-D&=false/}
+. endif
+. if defined(${opt}_MESON_YES)
+MESON_ARGS+= ${${opt}_MESON_YES:C/.*/-D&=yes/}
+. endif
+. if defined(${opt}_MESON_NO)
+MESON_ARGS+= ${${opt}_MESON_NO:C/.*/-D&=no/}
+. endif
+. if defined(${opt}_MESON_ENABLED)
+MESON_ARGS+= ${${opt}_MESON_ENABLED:C/.*/-D&=enabled/}
+. endif
+. if defined(${opt}_MESON_DISABLED)
+MESON_ARGS+= ${${opt}_MESON_DISABLED:C/.*/-D&=disabled/}
+. endif
+. for configure in CONFIGURE CMAKE MESON QMAKE
+. if defined(${opt}_${configure}_ON)
+${configure}_ARGS+= ${${opt}_${configure}_ON}
+. endif
+. endfor
+. for flags in ${_OPTIONS_FLAGS}
+. if defined(${opt}_${flags})
+${flags}+= ${${opt}_${flags}}
+. endif
+. endfor
+. for deptype in ${_OPTIONS_DEPENDS}
+. if defined(${opt}_${deptype}_DEPENDS)
+${deptype}_DEPENDS+= ${${opt}_${deptype}_DEPENDS}
+. endif
+. endfor
+. for target in ${_OPTIONS_TARGETS}
+_target= ${target:C/:.*//}
+_prio= ${target:C/.*:(.*):.*/\1/}
+_type= ${target:C/.*://}
+_OPTIONS_${_target}:= ${_OPTIONS_${_target}} ${_prio}:${_type}-${_target}-${opt}-on
+. endfor
+. else
+. if defined(${opt}_USE_OFF)
+. for option in ${${opt}_USE_OFF:C/=.*//:O:u}
+_u= ${option}
+USE_${_u:tu}+= ${${opt}_USE_OFF:M${option}=*:C/.*=//g:C/,/ /g}
+. endfor
+. endif
+. if defined(${opt}_VARS_OFF)
+. for var in ${${opt}_VARS_OFF:C/=.*//:O:u}
+_u= ${var}
+. if ${_u:M*+}
+${_u:C/.$//:tu}+= ${${opt}_VARS_OFF:M${var}=*:C/[^+]*\+=//:C/^"(.*)"$$/\1/}
+. else
+${_u:tu}= ${${opt}_VARS_OFF:M${var}=*:C/[^=]*=//:C/^"(.*)"$$/\1/}
+. endif
+. endfor
+. endif
+. if defined(${opt}_CONFIGURE_ENABLE)
+CONFIGURE_ARGS+= ${${opt}_CONFIGURE_ENABLE:S/^/--disable-/:C/=.*//}
+. endif
+. if defined(${opt}_CONFIGURE_WITH)
+CONFIGURE_ARGS+= ${${opt}_CONFIGURE_WITH:S/^/--without-/:C/=.*//}
+. endif
+. if defined(${opt}_CMAKE_BOOL)
+CMAKE_ARGS+= ${${opt}_CMAKE_BOOL:C/.*/-D&:BOOL=false/}
+. endif
+. if defined(${opt}_CMAKE_BOOL_OFF)
+CMAKE_ARGS+= ${${opt}_CMAKE_BOOL_OFF:C/.*/-D&:BOOL=true/}
+. endif
+. if defined(${opt}_MESON_TRUE)
+MESON_ARGS+= ${${opt}_MESON_TRUE:C/.*/-D&=false/}
+. endif
+. if defined(${opt}_MESON_FALSE)
+MESON_ARGS+= ${${opt}_MESON_FALSE:C/.*/-D&=true/}
+. endif
+. if defined(${opt}_MESON_YES)
+MESON_ARGS+= ${${opt}_MESON_YES:C/.*/-D&=no/}
+. endif
+. if defined(${opt}_MESON_NO)
+MESON_ARGS+= ${${opt}_MESON_NO:C/.*/-D&=yes/}
+. endif
+. if defined(${opt}_MESON_ENABLED)
+MESON_ARGS+= ${${opt}_MESON_ENABLED:C/.*/-D&=disabled/}
+. endif
+. if defined(${opt}_MESON_DISABLED)
+MESON_ARGS+= ${${opt}_MESON_DISABLED:C/.*/-D&=enabled/}
+. endif
+. for configure in CONFIGURE CMAKE MESON QMAKE
+. if defined(${opt}_${configure}_OFF)
+${configure}_ARGS+= ${${opt}_${configure}_OFF}
+. endif
+. endfor
+. for flags in ${_OPTIONS_FLAGS}
+. if defined(${opt}_${flags}_OFF)
+${flags}+= ${${opt}_${flags}_OFF}
+. endif
+. endfor
+. for deptype in ${_OPTIONS_DEPENDS}
+. if defined(${opt}_${deptype}_DEPENDS_OFF)
+${deptype}_DEPENDS+= ${${opt}_${deptype}_DEPENDS_OFF}
+. endif
+. endfor
+. for target in ${_OPTIONS_TARGETS}
+_target= ${target:C/:.*//}
+_prio= ${target:C/.*:(.*):.*/\1/}
+_type= ${target:C/.*://}
+_OPTIONS_${_target}:= ${_OPTIONS_${_target}} ${_prio}:${_type}-${_target}-${opt}-off
+. endfor
+. endif
+.endfor
+
+.undef (SELECTED_OPTIONS)
+.undef (DESELECTED_OPTIONS)
+# Wait to expand PORT_OPTIONS until the last moment in case something modifies
+# the selected OPTIONS after bsd.port.options.mk is included. This uses
+# bmake's :@ for loop.
+_SELECTED_OPTIONS= ${ALL_OPTIONS:@opt@${PORT_OPTIONS:M${opt}}@}
+_DESELECTED_OPTIONS= ${ALL_OPTIONS:@opt@${"${PORT_OPTIONS:M${opt}}":?:${opt}}@}
+.for otype in MULTI GROUP SINGLE RADIO
+. for m in ${OPTIONS_${otype}}
+_SELECTED_OPTIONS+= ${OPTIONS_${otype}_${m}:@opt@${PORT_OPTIONS:M${opt}}@}
+_DESELECTED_OPTIONS+= ${OPTIONS_${otype}_${m}:@opt@${"${PORT_OPTIONS:M${opt}}":?:${opt}}@}
+. endfor
+.endfor
+SELECTED_OPTIONS= ${_SELECTED_OPTIONS:O:u}
+DESELECTED_OPTIONS= ${_DESELECTED_OPTIONS:O:u}
+
+.endif
diff --git a/test-ports/Mk/bsd.port.mk b/test-ports/Mk/bsd.port.mk
new file mode 100644
index 00000000..e92b1c37
--- /dev/null
+++ b/test-ports/Mk/bsd.port.mk
@@ -0,0 +1,5387 @@
+#-*- tab-width: 4; -*-
+# ex:ts=4
+#
+# $FreeBSD: head/Mk/bsd.port.mk 493977 2019-02-26 18:54:42Z sunpoet $
+# $NetBSD: $
+#
+# bsd.port.mk - 940820 Jordan K. Hubbard.
+# This file is in the public domain.
+#
+# Please view me with 4 column tabs!
+
+# This is the master file for the most common elements to all port
+# Makefile in the ports system. For a more general overview of its
+# use and importance, see the Porter's Handbook.
+
+# There are two different types of "maintainers" in the ports framework.
+# The maintainer alias of the bsd.port.mk file is listed below in the
+# FreeBSD_MAINTAINER entry. You should consult them if you have any
+# questions/suggestions regarding this file.
+#
+# DO NOT COMMIT CHANGES TO THIS FILE BY YOURSELF, EVEN IF YOU DID NOT GET
+# A RESPONSE FROM THE MAINTAINER(S) WITHIN A REASONABLE TIMEFRAME! ALL
+# UNAUTHORISED CHANGES WILL BE UNCONDITIONALLY REVERTED!
+
+FreeBSD_MAINTAINER= portmgr@FreeBSD.org
+
+# For each port, the MAINTAINER variable is what you should consult for
+# contact information on the person(s) to contact if you have questions/
+# suggestions about that specific port. By default (if no MAINTAINER
+# is listed), a port is maintained by the subscribers of the ports@FreeBSD.org
+# mailing list, and any correspondence should be directed there.
+#
+# MAINTAINER - The e-mail address of the contact person for this port.
+# Default: ports@FreeBSD.org
+#
+# These are meta-variables that are automatically set to the system
+# you are running on. These are provided in case you need to take
+# different actions for different values.
+#
+# ARCH - The architecture of the target machine, such as would be
+# returned by "uname -p".
+# OPSYS - Portability clause. This is the operating system the
+# makefile is being used on. Automatically set to
+# "FreeBSD," "NetBSD," or "OpenBSD" as appropriate.
+# OSREL - The release version (numeric) of the operating system.
+# OSVERSION - The value of __FreeBSD_version.
+#
+# This is the beginning of the list of all variables that need to be
+# defined in a port, listed in order that they should be included
+# to fit in with existing conventions. (Exception: MAINTAINER actually
+# should appear after EXTRACT_ONLY and before MASTER_SITE_BACKUP).
+#
+# These variables are used to identify your port.
+#
+# PORTNAME - Name of software. Mandatory.
+# PORTVERSION - Version of software. Mandatory when no DISTVERSION is given.
+# PORTREVISION - Version of port. Optional. Commonly used to indicate
+# that an update has happened that affects the port
+# framework itself, but not the distributed software
+# (e.g., local patches or Makefile changes).
+# PORTEPOCH - Optional. In certain odd cases, the PORTREVISION logic
+# can be fooled by ports that appear to go backwards
+# numerically (e.g. if port-0.3 is newer than port-1998).
+# In this case, incrementing PORTEPOCH forces the revision.
+# Default: 0 (no effect).
+# PKGNAME - Always defined as
+# ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}.
+# Do not define this in your Makefile.
+# PKGNAMEPREFIX - Prefix to specify that port is language-specific, etc.
+# Optional.
+# PKGNAMESUFFIX - Suffix to specify compilation options or a version
+# designator (in case there are different versions of
+# one port as is the case for Tcl).
+# Optional.
+# PKGVERSION - Always defined as ${PORTVERSION}.
+# Do not define this in your Makefile.
+# DISTVERSION - Vendor version of the distribution.
+# Default: ${PORTVERSION}
+# DISTNAME - Name of port or distribution used in generating
+# WRKSRC and DISTFILES below.
+# Default:
+# ${PORTNAME}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}
+# CATEGORIES - A list of descriptive categories into which this port falls.
+# Mandatory.
+#
+# These variable describe how to fetch files required for building the port.
+#
+# DISTFILES - Name(s) of archive file(s) containing distribution.
+# Set this to an empty string if the port doesn't require it.
+# Default: ${DISTNAME}${EXTRACT_SUFX}
+# EXTRACT_SUFX - Suffix for archive names
+# You never have to set both DISTFILES and EXTRACT_SUFX.
+# Default: .tar.bz2 if USES=tar:bzip2 is set, .tar.xz if
+# USES=tar:xz USE_XZ is set, .tar.gz otherwise).
+# MASTER_SITES - Primary location(s) for distribution files if not found
+# locally. See bsd.sites.mk for common choices for
+# MASTER_SITES.
+# MASTER_SITE_SUBDIR
+# - Subdirectory of MASTER_SITES. Will sometimes need to be
+# set to ${PORTNAME} for (e.g.) MASTER_SITE_SOURCEFORGE.
+# Only guaranteed to work for choices of ${MASTER_SITES}
+# defined in bsd.sites.mk.
+# Default: not set.
+# PATCHFILES - Name(s) of additional files that contain distribution
+# patches. Make will look for them at PATCH_SITES (see below).
+# They will automatically be uncompressed before patching if
+# the names end with ".gz", ".bz2" or ".Z".
+# For each file you can optionally specify a strip
+# flag of patch(1) after a colon if it has a different
+# base directory, e.g. "file1 file2:-p1 file3".
+# You can also use a :group at the end for matching up to
+# dist file groups. See Porters Handbook for more information.
+# Syntax: PATCHFILES= patch[:-pX][:group]
+# Default: not set.
+# PATCH_SITES - Primary location(s) for distribution patch files
+# if not found locally.
+# DIST_SUBDIR - Suffix to ${DISTDIR}. If set, all ${DISTFILES} and
+# ${PATCHFILES} will be put in this subdirectory of
+# ${DISTDIR} (see below). Also they will be fetched in this
+# subdirectory from FreeBSD mirror sites.
+# ALLFILES - All of ${DISTFILES} and ${PATCHFILES}.
+# NOFETCHFILES - If set, don't download these files from the ${MASTER_SITES}
+# or ${MASTER_SITE_BACKUP} (but do from
+# ${MASTER_SITE_OVERRIDE})
+# EXTRACT_ONLY - If set, a subset of ${DISTFILES} you want to
+# actually extract.
+#
+# (NOTE: by convention, the MAINTAINER entry (see above) should go here.)
+#
+# These variables are typically set in /etc/make.conf to indicate
+# the user's preferred location to fetch files from. You should
+# rarely need to set these.
+#
+# MASTER_SITE_BACKUP
+# - Backup location(s) for distribution files and patch
+# files if not found locally and ${MASTER_SITES}/${PATCH_SITES}.
+# This should *not* be changed.
+# Default:
+# http://distcache.FreeBSD.org/ports-distfiles/${DIST_SUBDIR}/
+# MASTER_SITE_OVERRIDE
+# - If set, prepend the MASTER_SITES setting with this value.
+# MASTER_SITE_FREEBSD
+# - If set, prepend ${MASTER_SITE_BACKUP} in MASTER_SITES.
+#
+# Set these if your port should not be built under certain circumstances.
+# These are string variables; you should set them to the reason why
+# they are necessary.
+#
+# RESTRICTED - Prevent the distribution of distfiles and packages to
+# the FTP sites or on CDROM (e.g. forbidden by license
+# considerations).
+# NO_CDROM - Packages and distfiles may not go on CDROM (e.g. must
+# not be re-sold) but can go on FTP sites.
+# NO_PACKAGE - Port should not be packaged for ftp sites or CDROMs,
+# but distfiles can be put on ftp sites and CDROMs.
+# FORBIDDEN - Package build should not be attempted because of
+# security vulnerabilities.
+# LEGAL_TEXT - Port has legal issues (e.g., special permission to distribute, lacks a license).
+# LEGAL_PACKAGE - Port has no legal issues but defines NO_PACKAGE
+# IGNORE - Package build should be skipped entirely (e.g.
+# because of serious unfixable problems in the build,
+# because it cannot be manually fetched, etc). Error
+# logs will not appear on pointyhat, so this should be
+# used sparingly.
+# IGNORE_${ARCH} - Port should be ignored on ${ARCH}.
+# IGNORE_${OPSYS} - Port should be ignored on ${OPSYS}.
+# IGNORE_${OPSYS}_${OSREL:R} - Port should be ignored on a single
+# release of ${OPSYS}, e.g IGNORE_FreeBSD_8
+# would affect all point releases of FreeBSD 8.
+# IGNORE_${OPSYS}_${OSREL:R}_${ARCH} - Port should be ignored on a
+# single release of ${OPSYS} and specific architecture,
+# e.g IGNORE_FreeBSD_8_i386 would affect all point
+# releases of FreeBSD 8 in i386.
+# BROKEN - Port is believed to be broken. Package builds can
+# still be attempted using TRYBROKEN to test this
+# assumption.
+# BROKEN_${ARCH} - Port is believed to be broken on ${ARCH}. Package builds
+# can still be attempted using TRYBROKEN to
+# test this assumption.
+# BROKEN_${OPSYS} - Port is believed to be broken on ${OPSYS}. Package builds
+# can still be attempted using TRYBROKEN to
+# test this assumption.
+# BROKEN_${OPSYS}_${OSREL:R} - Port is believed to be broken on a single
+# release of ${OPSYS}, e.g BROKEN_FreeBSD_8
+# would affect all point releases of FreeBSD 8
+# unless TRYBROKEN is also set.
+# BROKEN_${OPSYS}_${OSREL:R}_${ARCH} - Port is believed to be broken on a
+# single release of ${OPSYS} and specific architecture,
+# e.g BROKEN_FreeBSD_8_i386 would affect all point
+# releases of FreeBSD 8 in i386
+# unless TRYBROKEN is also set.
+# DEPRECATED - Port is deprecated to install. Advisory only.
+# EXPIRATION_DATE
+# - If DEPRECATED is set, determines a date when
+# the port is planed to remove. The date format is
+# ISO 8601 (YYYY-MM-DD).
+#
+# DISABLE_VULNERABILITIES
+# - If set, do not check if the port is listed in the
+# vulnerabilities database.
+#
+# In addition to RESTRICTED or NO_CDROM, if only a subset of distfiles
+# or patchfiles have redistribution restrictions, set the following
+# to the list of such files.
+#
+# RESTRICTED_FILES
+# - List of files that cannot be redistributed.
+# Default: "${DISTFILES} ${PATCHFILES}" if RESTRICTED
+# or NO_CDROM is set, empty otherwise.
+#
+# These variables are booleans, so you don't need to set them to the reason.
+#
+# IS_INTERACTIVE
+# - Set this if your port needs to interact with the user
+# during any step in a package build. User can then decide
+# to skip this port by setting ${BATCH}, or compiling only
+# the interactive ports by setting ${INTERACTIVE}.
+# Default: not set.
+# USE_SUBMAKE - Set this if you want that each of the port's main 7 targets
+# (extract, patch, configure, build, stage, install and
+# package) to be executed in a separate make(1) process.
+# Useful when one of the stages needs to influence make(1)
+# variables of the later stages using ${WRKDIR}/Makefile.inc
+# generated on the fly.
+# Default: not set.
+#
+# NO_ARCH - Set this if port is architecture neutral.
+#
+# NO_ARCH_IGNORE - Set this to a list files to ignore when NO_ARCH is checked
+# in stage-qa (i.e. architecture specific files that are
+# 'bundled' with the port).
+#
+# Set these if your port only makes sense to certain architectures.
+# They are lists containing names for them (e.g., "amd64 i386").
+# (Defaults: not set.)
+#
+# ONLY_FOR_ARCHS
+# - Only build ports if ${ARCH} matches one of these.
+# NOT_FOR_ARCHS - Only build ports if ${ARCH} doesn't match one of these.
+# ONLY_FOR_ARCHS_REASON
+# ONLY_FOR_ARCHS_REASON_${ARCH}
+# - Reason why it's only for ${ONLY_FOR_ARCHS}s
+# NOT_FOR_ARCHS_REASON
+# NOT_FOR_ARCHS_REASON_${ARCH}
+# - Reason why it's not for ${NOT_FOR_ARCHS}s
+# IA32_BINARY_PORT
+# - Set this instead of ONLY_FOR_ARCHS if the given port
+# fetches and installs compiled i386 binaries.
+#
+# Dependency checking. Use these if your port requires another port
+# not in the list below. (Default: empty.)
+#
+# EXTRACT_DEPENDS
+# - A list of "path:dir[:target]" tuples of other ports this
+# package depends on in the "extract" stage. "path" is
+# the name of a file if it starts with a slash (/), an
+# executable otherwise. make will test for the existence
+# (if it is a full pathname) or search for it in your
+# $PATH (if it is an executable) and go into "dir" to do
+# a "make all install" if it's not found. If the third
+# field ("target") exists, it will be used instead of
+# ${DEPENDS_TARGET}. The first field also supports a
+# package name with a version range, in the form package>=1.2
+# if a particular version is desired.
+# PATCH_DEPENDS - A list of "path:dir[:target]" tuples of other ports this
+# package depends on in the "patch" stage. "path" is the
+# name of a file if it starts with a slash (/), an
+# executable otherwise. make will test for the existence
+# (if it is a full pathname) or search for it in your
+# $PATH (if it is an executable) and go into "dir" to do
+# a "make all install" if it's not found. If the third
+# field ("target") exists, it will be used instead of
+# ${DEPENDS_TARGET}. The first field also supports a
+# package name with a version range, in the form package>=1.2
+# if a particular version is desired.
+# FETCH_DEPENDS - A list of "path:dir[:target]" tuples of other ports this
+# package depends in the "fetch" stage. "path" is the
+# name of a file if it starts with a slash (/), an
+# executable otherwise. make will test for the
+# existence (if it is a full pathname) or search for
+# it in your $PATH (if it is an executable) and go
+# into "dir" to do a "make all install" if it's not
+# found. If the third field ("target") exists, it will
+# be used instead of ${DEPENDS_TARGET}. The first field
+# also supports a package name with a version range, in
+# the form package>=1.2 if a particular version is desired.
+# BUILD_DEPENDS - A list of "path:dir[:target]" tuples of other ports this
+# package depends to build (between the "extract" and
+# "build" stages, inclusive). The test done to
+# determine the existence of the dependency is the
+# same as FETCH_DEPENDS. If the third field ("target")
+# exists, it will be used instead of ${DEPENDS_TARGET}.
+# RUN_DEPENDS - A list of "path:dir[:target]" tuples of other ports this
+# package depends to run. The test done to determine
+# the existence of the dependency is the same as
+# FETCH_DEPENDS. This will be checked during the
+# "install" stage and the name of the dependency will
+# be put into the package as well. If the third field
+# ("target") exists, it will be used instead of
+# ${DEPENDS_TARGET}. The first field also supports a
+# package name with a version range, in the form package>=1.2
+# if a particular version is desired.
+# LIB_DEPENDS - A list of "lib:dir[:target]" tuples of other ports this
+# package depends on. "lib" is the name of a shared library.
+# TEST_DEPENDS - A list of "path:dir[:target]" tuples of other ports this
+# package depends on in the "test" stage. "path" is the
+# name of a file if it starts with a slash (/), an
+# executable otherwise. make will test for the existence
+# (if it is a full pathname) or search for it in your
+# $PATH (if it is an executable) and go into "dir" to do
+# a "make all install" if it's not found. If the third
+# field ("target") exists, it will be used instead of
+# ${DEPENDS_TARGET}. The first field also supports a
+# package name with a version range, in the form package>=1.2
+# if a particular version is desired.
+# DEPENDS_TARGET
+# - The default target to execute when a port is calling a
+# dependency.
+# Default: install
+#
+# These variables control options about how a port gets built and/or
+# are shorthand notations for common sets of dependencies.
+# Use these if your port uses some of the common software packages. By
+# convention these should be set to 'yes', although they only need to be
+# defined. Defaults: not set, unless explicitly indicated below.
+#
+# Note: the distinction between the USE_* and WANT_* variables, and the
+# WITH_* and WITHOUT_* variables, are that the former are restricted to
+# usage inside the ports framework, and the latter are reserved for user-
+# settable options. (Setting USE_* in /etc/make.conf is always wrong).
+#
+# WITH_DEBUG - If set, debugging flags are added to CFLAGS and the
+# binaries don't get stripped by INSTALL_PROGRAM or
+# INSTALL_LIB. Besides, individual ports might
+# add their specific to produce binaries for debugging
+# purposes. You can override the debug flags that are
+# passed to the compiler by setting DEBUG_FLAGS. It is
+# set to "-g" at default.
+#
+# NOTE: to override a globally defined WITH_DEBUG at a
+# later time ".undef WITH_DEBUG" can be used
+#
+# WITH_DEBUG_PORTS - A list of origins for which WITH_DEBUG will be set
+#
+# WITHOUT_SSP - Disable SSP.
+#
+# SSP_CFLAGS - Defaults to -fstack-protector. This value
+# is added to CFLAGS and the necessary flags
+# are added to LDFLAGS. Note that SSP_UNSAFE
+# can be used in Makefiles by port maintainers
+# if a port breaks with it (it should be
+# extremely rare).
+##
+# USE_LOCALE - LANG and LC_ALL are set to the value of this variable in
+# CONFIGURE_ENV and MAKE_ENV. Example: USE_LOCALE=en_US.UTF-8
+##
+# USE_GCC - If set, this port requires this version of gcc, either in
+# the system or installed from a port.
+# USE_CSTD - Override the default C language standard (gnu89, gnu99)
+# USE_CXXSTD Override the default C++ language standard
+# USE_BINUTILS - Use binutils suite from port instead of the version in base.
+# CFLAGS_${ARCH} Append the cflags to CFLAGS only on the specified architecture
+# CXXFLAGS_${ARCH}
+# Append the cxxflags to CXXFLAGS only on the specified architecture
+##
+# LDFLAGS_${ARCH} Append the ldflags to LDFLAGS only on the specified architecture
+##
+# USE_OPENLDAP - If set, this port uses the OpenLDAP libraries.
+# Implies: WANT_OPENLDAP_VER?=24
+# WANT_OPENLDAP_VER
+# - Legal values are: 23, 24
+# If set to an unknown value, the port is marked BROKEN.
+# WANT_OPENLDAP_SASL
+# - If set, the system should use OpenLDAP libraries
+# with SASL support.
+##
+# USE_JAVA - If set, this port relies on the Java language.
+# Implies inclusion of bsd.java.mk. (Also see
+# that file for more information on USE_JAVA_*).
+# USE_OCAML - If set, this port relies on the OCaml language.
+# Implies inclusion of bsd.ocaml.mk. (Also see
+# that file for more information on USE_OCAML*).
+# USE_RUBY - If set, this port relies on the Ruby language.
+# Implies inclusion of bsd.ruby.mk. (Also see
+# that file for more information on USE_RUBY_*).
+##
+# USE_GECKO - If set, this port uses the Gecko/Mozilla product.
+# See bsd.gecko.mk for more details.
+##
+# USE_WX - If set, this port uses the WxWidgets library and related
+# components. See bsd.wx.mk for more details.
+##
+#
+# USE_QT4 - A list of the Qt 4 dependencies the port has (e.g,
+# corelib, webkit). Implies that the port needs Qt.
+# Implies the inclusion of bsd.qt.mk. See bsd.qt.mk
+# for more details.
+#
+# USE_QT5 - A list of the Qt 5 dependencies the port has (e.g,
+# core, webkit). Implies that the port needs Qt.
+# Implies the inclusion of bsd.qt.mk. See bsd.qt.mk
+# for more details.
+##
+# USE_LINUX_PREFIX
+# - Controls the action of PREFIX (see above). Only use this
+# if the port is a Linux infrastructure port (e.g. contains libs
+# or a sound server which supports the FreeBSD native one),
+# use the default prefix if it's a leaf port (e.g. a game or
+# program).
+# Implies NO_LICENSES_INSTALL=yes, NO_MTREE=yes, and causes
+# Linux ldconfig to be used when USE_LDCONFIG is defined.
+##
+# USE_XORG - Set to a list of X.org module dependencies.
+# Implies inclusion of bsd.xorg.mk.
+##
+# USE_TEX - A list of the TeX dependencies the port has.
+#
+##
+# USE_RC_SUBR - If set, the ports startup/shutdown script uses the common
+# routines found in /etc/rc.subr.
+# If this is set to a list of files, these files will be
+# automatically added to ${SUB_FILES}, some %%VAR%%'s will
+# automatically be expanded, they will be installed in
+# ${PREFIX}/etc/rc.d if ${PREFIX} is not /usr, otherwise they
+# will be installed in /etc/rc.d/ and added to the packing list.
+##
+# Conflict checking. Use if your port cannot be installed at the same time as
+# another package.
+#
+# CONFLICTS - A list of package name patterns that the port conflicts
+# with, separated by blanks. The names may include shell
+# pattern meta-characters "*", "?", "[", "]", and "!".
+# Example: apache*-1.2* apache*-1.3.[012345] apache-*+ssl_*
+#
+# CONFLICTS_BUILD
+# - Check conflict prior to the build.
+#
+# CONFLICTS_INSTALL
+# - Check conflict prior to the installation stage.
+#
+# Various directory definitions and variables to control them.
+# You rarely need to redefine any of these except WRKSRC and NO_WRKSUBDIR.
+#
+# LOCALBASE - Where ports install things.
+# Default: /usr/local
+# LINUXBASE - Where Linux ports install things.
+# Default: /compat/linux
+# PREFIX - Where *this* port installs its files.
+# Default: ${LINUXBASE} if USE_LINUX_PREFIX is set,
+# otherwise ${LOCALBASE}
+#
+# IGNORE_PATH_CHECKS
+# - There are some sanity checks against PREFIX.
+# You can disable these checks with defining
+# this variable, but this is not recommended!
+# Only do this if you really know what you are
+# doing. These sanity checks are the following:
+# - PREFIX has to be an absolute path.
+# - PREFIX can't have a trailing slash.
+#
+# BUNDLE_LIBS Teach pkg(8) to not automatically add all shared libraries
+# installed by a port as shared libraries "provided" for
+# other packages (i.e., do not expose them in the solver).
+# This has to be used for ports that bundle third party
+# libraries for internal usage.
+# MASTERDIR - Where the port finds patches, package files, etc. Define
+# this is you have two or more ports that share most of the
+# files.
+# Default: ${.CURDIR}
+# PORTSDIR - The root of the ports tree.
+# Default: /usr/ports
+# DISTDIR - Where to search for and store copies of original sources
+# Default: ${PORTSDIR}/distfiles
+# PACKAGES - A top level directory where all packages go (rather than
+# going locally to each port).
+# Default: ${PORTSDIR}/packages
+# WRKDIRPREFIX - The place to root the temporary working directory
+# hierarchy. This path must *not* end in '/'.
+# Default: none
+# WRKDIR - A temporary working directory that gets *clobbered* on clean
+# Default: ${WRKDIRPREFIX}${.CURDIR}/work
+# WRKSRC - A subdirectory of ${WRKDIR} where the distribution actually
+# unpacks to.
+# Default: ${WRKDIR}/${DISTNAME}
+# WRKSRC_SUBDIR - A subdirectory of ${WRKSRC} where the distribution actually
+# builds in.
+# Default: not set
+# NO_WRKSUBDIR - Assume port unpacks without a subdirectory, and extract it in
+# ${WRKSRC} instead of ${WRKDIR}.
+# PATCHDIR - A directory containing any additional patches you made
+# to port this software to FreeBSD.
+# Default: ${MASTERDIR}/files
+# SCRIPTDIR - A directory containing any auxiliary scripts
+# Default: ${MASTERDIR}/scripts
+# FILESDIR - A directory containing any miscellaneous additional files.
+# Default: ${MASTERDIR}/files
+# PKGDIR - A directory containing any package creation files.
+# Default: ${MASTERDIR}
+# SRC_BASE - The root of the src tree. (Some ports require this to get
+# kernel sources). Default: /usr/src
+# UID_FILES - A list of files containing information about registered UIDs.
+# Note that files have decreasing priority.
+# GID_FILES - A list of files containing information about registered GIDs.
+# Note that files have decreasing priority.
+#
+# Variables that serve as convenient "aliases" for your *-install targets.
+# Use these like: "${INSTALL_PROGRAM} ${WRKSRC}/prog ${PREFIX}/bin".
+#
+# INSTALL_PROGRAM
+# - A command to install binary executables. (By
+# default, also strips them, unless ${STRIP} is
+# overridden to be the empty string).
+# INSTALL_KLD - As INSTALL_PROGRAM, but without the STRIP.
+# INSTALL_LIB - As INSTALL_DATA, but also strips the file.
+# INSTALL_SCRIPT
+# - A command to install executable scripts.
+# INSTALL_DATA - A command to install sharable data and static libs.
+# INSTALL_MAN - A command to install manpages and documentation.
+# COPYTREE_BIN
+# COPYTREE_SHARE
+# - Similiar to INSTALL_PROGRAM and INSTALL_DATA commands but
+# working on whole trees of directories, takes 3 arguments,
+# last one is find(1) arguments and optional.
+# Example use:
+# cd ${WRKSRC}/doc && ${COPYTREE_SHARE} . ${DOCSDIR} "! -name *\.bak"
+#
+# Installs all directories and files from ${WRKSRC}/doc
+# to ${DOCSDIR} except sed(1) backup files.
+#
+# MANPREFIX - The directory prefix for manual pages.
+# Default: ${PREFIX}
+# MAN<sect>PREFIX
+# - If manual pages of some sections install in different
+# locations than others, use these.
+# Default: ${MANPREFIX}
+#
+# Set the following to specify all .info files your port installs.
+#
+# INFO - A list of .info files (omitting the trailing ".info");
+# only one entry per document! These files are listed in
+# the path relative to ${INFO_PATH}.
+# INFO_PATH - Path, where all .info files will be installed by your
+# port, relative to ${PREFIX}
+#
+# Set the following to specify all documentation your port installs into
+# ${DOCSDIR}
+#
+# PORTDOCS - A list of files and directories relative to DOCSDIR.
+# Shell glob patterns can be used, directories include
+# the entire subtree of contained files and directories.
+# Should not be set when no documentation files are
+# installed.
+# Useful for dynamically generated documentation.
+#
+# Set the following to specify all documentation your port installs into
+# ${EXAMPLESDIR}
+#
+# PORTEXAMPLES - A list of files and directories relative to EXAMPLESDIR.
+# Shell glob patterns can be used, directories include
+# the entire subtree of contained files and directories.
+# Should not be set when no examples files are
+# installed.
+# Useful for dynamically generated examples.
+#
+# Set the following to specify all files and directories your port installs into
+# ${DATADIR}
+#
+# PORTDATA - A list of files and directories relative to DATADIR.
+# Shell glob patterns can be used, directories include
+# the entire subtree of contained files and directories.
+# Should not be set when no data files are
+# installed.
+# Useful for dynamically generated data files.
+#
+# Default targets and their behaviors:
+#
+# fetch - Retrieves missing ${DISTFILES} and ${PATCHFILES} for this
+# port.
+# fetch-list - Show list of commands to retrieve missing ${DISTFILES} and
+# ${PATCHFILES} for this port.
+# fetch-recursive
+# - Retrieves missing ${DISTFILES} and ${PATCHFILES} for this
+# port and dependencies.
+# fetch-recursive-list
+# - Show list of commands to retrieve missing ${DISTFILES} and
+# ${PATCHFILES} for this port and dependencies.
+# fetch-required
+# - Retrieves missing ${DISTFILES} and ${PATCHFILES} for this
+# port and dependencies.
+# fetch-required-list
+# - Show list of commands to retrieve missing ${DISTFILES} and
+# ${PATCHFILES} for this port and dependencies.
+# fetch-url-list
+# - Show list of URLS to retrieve missing ${DISTFILES} and
+# ${PATCHFILES} for this port.
+# fetch-urlall-list
+# - Show list of URLS to retrieve ${DISTFILES} and
+# ${PATCHFILES} for this port.
+#
+# all-depends-list
+# - Show all directories which are dependencies
+# for this port.
+# build-depends-list
+# - Show all directories which are build-dependencies
+# for this port.
+# package-depends-list
+# - Show all directories which are package-dependencies
+# for this port. This is based upon the dependency
+# tree as recorded in the Makefiles of the ports
+# collection, not as recorded in the currently
+# installed ports.
+# actual-package-depends
+# - Like package-depends-list but with the difference
+# that the dependencies of the currently installed
+# ports are used instead of the dependencies as
+# recorded in the ports collection.
+# run-depends-list
+# - Show all directories which are run-dependencies
+# for this port.
+# test-depends-list
+# - Show all directories which are test-dependencies
+# for this port.
+#
+# extract - Unpacks ${DISTFILES} into ${WRKDIR}.
+# patch - Apply any provided patches to the source.
+# configure - Runs either GNU configure, one or more local configure
+# scripts or nothing, depending on what's available.
+# build - Actually compile the sources.
+# install - Install the results of a build.
+# reinstall - Install the results of a build, ignoring "already installed"
+# flag.
+# deinstall - Remove the installation.
+# deinstall-all - Remove all installations with the same PKGORIGIN.
+# test - Run tests for the port.
+# package - Create a package from an _installed_ port.
+# package-recursive
+# - Create a package for a port and _all_ of its dependencies.
+# describe - Try to generate a one-line description for each port for
+# use in INDEX files and the like.
+# check-plist - Checks for files missing from the plist, and files in the plist
+# that are not installed by the port.
+# check-sanity - Perform some basic checks of the port layout.
+# checkpatch - Do a "patch -C" instead of a "patch". Note that it may
+# give incorrect results if multiple patches deal with
+# the same file.
+# checksum - Use distinfo to ensure that your distfiles are valid.
+# checksum-recursive
+# - Run checksum in this port and all dependencies.
+# makesum - Generate distinfo (only do this for your own ports!).
+# clean - Remove ${WRKDIR} and other temporary files used for building.
+# clean-depends - Do a "make clean" for all dependencies.
+# config - Configure options for this port (using ${DIALOG}).
+# Automatically run prior to extract, patch, configure, build,
+# install, and package.
+# config-recursive
+# - Configure options for this port for a port and all its
+# dependencies.
+# showconfig - Display options config for this port.
+# showconfig-recursive
+# - Display options config for this port and all its
+# dependencies.
+# rmconfig - Remove the options config for this port.
+# rmconfig-recursive
+# - Remove the options config for this port and all its
+# dependencies.
+#
+# Default sequence for "all" is:
+#
+# check-sanity fetch checksum extract patch configure build
+#
+# Please read the comments in the targets section below; you
+# should be able to use the pre-* or post-* targets/scripts
+# (which are available for every stage except checksum) or
+# override the do-* targets to do pretty much anything you want.
+#
+# The TARGET_ORDER_OVERRIDE variable can be set to multiple <priority>:<target>
+# to change the ordering of targets, have a look at the _SEQ variables at the
+# end of this file for the default order and priorities.
+#
+# NEVER override the "regular" targets unless you want to open
+# a major can of worms.
+#
+# Set these variables if your port doesn't need some of the steps.
+# Note that there are no NO_PATCH or NO_CONFIGURE variables because
+# those steps are empty by default. NO_EXTRACT is not allowed anymore
+# since we need to at least create ${WRKDIR}. Also, NO_CHECKSUM is a user
+# variable and is not to be set in a port's Makefile. See above for NO_PACKAGE.
+#
+# NO_BUILD - Use a dummy (do-nothing) build target.
+# NO_INSTALL - Use a dummy (do-nothing) install target.
+# NO_TEST - Use a dummy (do-nothing) test target.
+#
+# Here are some variables used in various stages.
+#
+# For options see bsd.options.mk
+#
+# For fetch:
+#
+# FETCH_BINARY - Path to ftp/http fetch command if not in $PATH.
+# Default: "/usr/bin/fetch"
+# FETCH_ARGS - Arguments to ftp/http fetch command.
+# Default: "-Fpr"
+# FETCH_CMD - ftp/http fetch command.
+# Default: ${FETCH_BINARY} ${FETCH_ARGS}
+# FETCH_BEFORE_ARGS
+# - Arguments to ${FETCH_CMD} before filename.
+# Default: none
+# FETCH_AFTER_ARGS
+# - Arguments to ${FETCH_CMD} following filename.
+# Default: none
+# FETCH_ENV - Environment to pass to ${FETCH_CMD}.
+# Default: none
+# FETCH_REGET - Times to retry fetching of files on checksum errors.
+# Default: 1
+# CLEAN_FETCH_ENV
+# - Disable package dependency in fetch target for mass
+# fetching. User settable.
+#
+# For extract:
+#
+# EXTRACT_CMD - Command for extracting archive
+# Default: ${TAR}
+# EXTRACT_BEFORE_ARGS
+# - Arguments to ${EXTRACT_CMD} before filename.
+# Default: "-xf"
+# EXTRACT_AFTER_ARGS
+# - Arguments to ${EXTRACT_CMD} following filename.
+# Default: "--no-same-owner --no-same-permissions"
+# For patch:
+#
+# EXTRA_PATCHES - Define this variable if you have patches not in
+# ${PATCHDIR}. This usually happens when you need to
+# do some pre-processing before some distribution
+# patches can be applied. In that case, fetch them as
+# extra distfiles, put the processed results in
+# ${WRKDIR}, then point EXTRA_PATCHES to them.
+# The patches specified by this variable will be
+# applied after the normal distribution patches but
+# before those in ${PATCHDIR}. This can also contain
+# directories, all the files named patch-* in those directories
+# will be applied.
+# EXTRA_PATCH_TREE - where to find extra 'out-of-tree' patches
+# Points to a directory hierarchy with the same layout
+# as the ports tree, where local patches can be found.
+# This allows a third party to keep their patches in
+# some other source control system if needed.
+# PATCH_WRKSRC - Directory to apply patches in.
+# Default: ${WRKSRC}
+#
+# For configure:
+#
+# HAS_CONFIGURE - If set, this port has its own configure script. The
+# configure stage will not do anything if this is not set.
+# GNU_CONFIGURE - If set, you are using GNU configure (optional). Implies
+# HAS_CONFIGURE.
+# CONFIGURE_OUTSOURCE - If set, this port builds in an empty ${CONFIGURE_WRKSRC}
+# not being under ${WRKSRC}.
+# CONFIGURE_WRKSRC
+# - Directory to run configure in.
+# Default: ${WRKSRC}
+# CONFIGURE_SCRIPT
+# - Name of configure script, relative to ${CONFIGURE_WRKSRC}.
+# Default: "Makefile.PL" if USES=perl5 and USE_PERL5=configure
+# are set, "configure" otherwise.
+# CONFIGURE_TARGET
+# - The name of target to call when GNU_CONFIGURE is
+# defined.
+# Default: ${ARCH}-portbld-${OPSYS:tl}${OSREL}
+# GNU_CONFIGURE_PREFIX
+# - The directory passed as prefix to the configure script if
+# GNU_CONFIGURE is set.
+# Default: ${PREFIX}
+# CONFIGURE_ARGS
+# - Pass these args to configure if ${HAS_CONFIGURE} is set.
+# Default: "--prefix=${GNU_CONFIGURE_PREFIX}
+# --infodir=${PREFIX}/${INFO_PATH} --localstatedir=/var
+# --mandir=${MANPREFIX}/man --build=${CONFIGURE_TARGET}" if
+# GNU_CONFIGURE is set, "CC=${CC} CFLAGS=${CFLAGS}
+# PREFIX=${PREFIX} INSTALLPRIVLIB=${PREFIX}/lib
+# INSTALLARCHLIB=${PREFIX}/lib" if USES=perl5 and
+# USE_PERL5=configure are set, empty otherwise.
+# CONFIGURE_ENV - Pass these env (shell-like) to configure if
+# ${HAS_CONFIGURE} is set.
+# CONFIGURE_LOG - The name of configure log file. It will be printed to
+# the screen if configure fails.
+# Default: config.log
+# CONFIGURE_FAIL_MESSAGE
+# - A message displayed to users when configure
+# fails (note: this assumes the do-configure
+# target has not been overwritten). This message
+# will be passed through /usr/bin/fmt before
+# being shown to the user.
+#
+# WITHOUT_FBSD10_FIX Disable FreeBSD 10.0 autotools workaround.
+#
+# For build and install:
+#
+# MAKEFILE - Name of the makefile.
+# Default: Makefile
+# ALL_TARGET - Default target for sub-make in build stage.
+# Default: all
+# BUILD_WRKSRC - Directory to do build in (default: ${WRKSRC}).
+# MAKE_ENV - Additional environment vars passed to sub-make in build
+# and install stages.
+# Default: see below
+# MAKE_ARGS - Any extra arguments to sub-make in build and install stages.
+# Default: none
+##
+# MAKE_JOBS_UNSAFE
+# - Disallow multiple jobs even when user set a global override.
+# To be used with known bad ports.
+# DISABLE_MAKE_JOBS
+# - Set to disable the multiple jobs feature. User settable.
+# MAKE_JOBS_NUMBER
+# - Override the number of make jobs to be used. User settable.
+# MAKE_JOBS_NUMBER_LIMIT
+# - Set a limit for maximum number of make jobs allowed to be
+# used.
+## cacche
+#
+# WITH_CCACHE_BUILD
+# - Enable CCACHE support (devel/ccache). User settable.
+# CCACHE_DIR
+# - Which directory to use for ccache (default: $HOME/.ccache)
+# NO_CCACHE
+# - Disable CCACHE support for example for certain ports if
+# CCACHE is enabled. User settable.
+#
+# For test:
+#
+# TEST_TARGET - Target for sub-make in test stage. If not defined,
+# no default test target is provided.
+# Default: (none)
+# TEST_WRKSRC - Directory to do test in (default: ${WRKSRC}).
+# TEST_ENV - Additional environment vars passed to sub-make in test
+# stage
+# Default: ${MAKE_ENV}
+# TEST_ARGS - Any extra arguments to sub-make in test stage
+# Default: ${MAKE_ARGS}
+#
+# For install:
+#
+# INSTALL_TARGET
+# - Default target for sub-make in install stage.
+# Default: install
+# INSTALL_WRKSRC
+# - Directory to install from
+# Default: ${WRKSRC}
+# NO_MTREE - If set, will not invoke mtree from bsd.port.mk from
+# the "install" target.
+# MTREE_FILE - The name of the mtree file.
+# Default: ${PORTSDIR}/Templates/BSD.local.dist or
+# /etc/mtree/BSD.usr.dist if ${PREFIX} == "/usr".
+# PLIST_DIRS - Directories to be added to packing list
+# PLIST_FILES - Files and symbolic links to be added to packing list
+#
+# PLIST - Name of the `packing list' file.
+# Change this to ${WRKDIR}/PLIST or something if you
+# need to write to it. (It is not a good idea for a port
+# to write to any file outside ${WRKDIR} during a normal
+# build.)
+# Default: ${PKGDIR}/pkg-plist
+# TMPPLIST - Name of the `packing list' file after processing
+# Default: ${WRKDIR}/.PLIST.mktmp
+# PLIST_SUB - List of "variable=value" pair for substitution in ${PLIST}
+# Default: see below
+#
+# SUB_FILES - Files that should be passed through sed(1) and redirected to
+# ${WRKDIR}.
+# - For each file specified in SUB_FILES, there must be a
+# corresponding file in ${FILESDIR} whose suffix is ".in". For
+# instance, if the Makefile specifies "SUB_FILES= pkg-message"
+# then there must be a file called pkg-message.in in
+# ${FILESDIR}.
+# - The substitution process is the same as PLIST_FILES, as
+# described below except that any line beginning with @comment
+# is deleted.
+# SUB_LIST - List of "variable=value" pair for substitution in ${SUB_FILES}
+# Some pairs are added by default: eg. PREFIX=${PREFIX}
+#
+# USE_LDCONFIG - If set to "yes", this adds ${PREFIX}/lib to the list of
+# directories to be searched for shared libraries.
+# Otherwise, this is a list of directories to be added to that
+# list. The directory names are written to
+# ${LOCALBASE}/libdata/ldconfig/${PKGBASE} which is then
+# used by the ldconfig startup script.
+# This mechanism replaces ldconfig scripts installed by some
+# ports, often under such names as 000.${UNQUENAME}.sh.
+# If USE_LINUX_PREFIX is defined, the Linux version of
+# ldconfig will be used instead of the native FreeBSD
+# version, and the directory list given will be ignored.
+# USE_LDCONFIG32
+# - Same as USE_LDCONFIG but the target file is
+# ${LOCALBASE}/libdata/ldconfig32/${PKGBASE} instead.
+# Note: that should only be used on 64-bit architectures.
+#
+# DOCSDIR - Name of the directory to install the packages docs in.
+# Default: ${PREFIX}/share/doc/${PORTNAME}
+# DOCSDIR_REL - The DOCSDIR relative to ${PREFIX}
+# EXAMPLESDIR - Name of the directory to install the packages examples in.
+# Default: ${PREFIX}/share/examples/${PORTNAME}
+# EXAMPLESDIR_REL
+# - The EXAMPLESDIR relative to ${PREFIX}
+# DATADIR - Name of the directory to install the packages shared data in.
+# Default: ${PREFIX}/share/${PORTNAME}
+# DATADIR_REL - The DATADIR relative to ${PREFIX}
+#
+# WWWDIR - Name of the directory to install the packages www data in.
+# Default: ${PREFIX}/www/${PORTNAME}
+# WWWDIR_REL - The WWWDIR relative to ${PREFIX}
+#
+# USERS - List of users to create at install time. Each login must
+# have a corresponding entry in ${UID_FILES}.
+# GROUPS - List of groups to create at install time. Each group must
+# have a corresponding entry in ${GID_FILES}.
+#
+# DESKTOPDIR - Name of the directory to install ${DESKTOP_ENTRIES} in.
+# Default: ${PREFIX}/share/applications
+# DESKTOP_ENTRIES
+# - List of desktop entry files to generate and install in
+# ${DESKTOPDIR}. The format is
+# "Name" "Comment" "Icon" "Exec" "Categories" StartupNotify
+# Rules:
+# * Only add desktop entries for applications which do not
+# require a terminal (ie. X applications).
+# * If the upstream distribution already installs .desktop
+# files, you do not need to use this.
+# * If you require a more elaborate .desktop file than this
+# variable permits, write it yourself and install it
+# in ${DESKTOPDIR}.
+# Notes:
+# * Comment, Icon and StartupNotify may be empty
+# strings (""). Categories may be an empty string in some
+# cases (see below). The other fields are mandatory.
+# * If Comment is an empty string, port ${COMMENT} will be
+# used.
+# * If set, Icon must be either absolute path (usually
+# ${PREFIX}/share/pixmaps/${PORTNAME}.png) or icon name
+# without extension if installed icons follow Icon Theme
+# Specification.
+# * If Categories is an empty string, bsd.port.mk will try
+# to deduce a default value using the CATEGORIES variable.
+# If the deduction fails, you will have to set Categories
+# manually. You should check the generated value using
+# "make desktop-categories", and override it if necessary.
+# * Exec will also be used to name the .desktop file.
+# * StartupNotify may be true, false or empty (see Desktop
+# Entry Specification for details).
+# * The files will be automatically added to ${PLIST}.
+# Example:
+# "X Window Information" \
+# "Get information about X windows" \
+# "${PREFIX}/share/pixmaps/wininfo.png" \
+# "${PREFIX}/bin/wininfo" \
+# "System;" \
+# ""
+# See http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html
+# for an explanation of the fields. If you need to create more
+# than one file, just chain them into a single variable.
+#
+# Note that the install target will automatically add manpages (see
+# above) and also substitute special sequences of characters (delimited
+# by "%%") as defined in PLIST_SUB to generate ${TMPPLIST}. For
+# instance, "OSREL=${OSREL}" in PLIST_SUB causes all occurrences of
+# "%%OSREL%%" in ${PLIST} to be substituted by the value of OSREL.
+# ${TMPPLIST} is generated before the do-install stage. If you are
+# generating the packing list on-the-fly, make sure it's generated before
+# do-install is called!
+#
+# This is used in all stages:
+#
+# SCRIPTS_ENV - Additional environment vars passed to scripts in
+# ${SCRIPTDIR} executed by bsd.port.mk.
+# Default: see below
+#
+# Finally, variables to change if you want a special behavior. These
+# are for debugging purposes. Don't set them in your Makefile.
+#
+# ECHO_MSG - Used to print all the '===>' style prompts - override this
+# to turn them off.
+# Default: ${ECHO_CMD}
+# PATCH_DEBUG - If set, print out more information about the patches as
+# it attempts to apply them.
+# PKG_DBDIR - Where package installation is recorded; this directory
+# must not contain anything else.
+# Default: /var/db/pkg
+# PORT_DBDIR - Where port configuration options are recorded.
+# Default: /var/db/ports
+# NO_PKG_REGISTER
+# - Don't register a port installation as a package.
+# FORCE_PKG_REGISTER
+# - If set, it will overwrite any existing package
+# registration information in ${PKG_DBDIR}/${PKGNAME}.
+# NO_DEPENDS - Don't verify build of dependencies.
+# STRICT_DEPENDS
+# - Verify dependencies but consider missing dependencies as
+# fatal.
+# CHECKSUM_ALGORITHMS
+# - Different checksum algorithms to check for verifying the
+# integrity of the distfiles. The absence of the algorithm
+# in distinfo doesn't make it fail.
+# Default: sha256
+# NO_CHECKSUM - Don't verify the checksum. Typically used when
+# when you noticed the distfile you just fetched has
+# a different checksum and you intend to verify if
+# the port still works with it.
+# USE_PACKAGE_DEPENDS
+# - Try to install dependencies from existing packages instead
+# of building the port from scratch. Fallback on source
+# if an existing package is not present.
+# USE_PACKAGE_DEPENDS_ONLY
+# - Like USE_PACKAGE_DEPENDS, but do not fallback on source.
+# INSTALL_AS_USER
+# - Define this to install as the current user, intended
+# for systems where you have no root access.
+# DISABLE_SIZE - Do not check the size of a distfile even if the SIZE field
+# has been specified in distinfo. This is useful
+# when using an alternate FETCH_CMD.
+#
+# PKG_CREATE_VERBOSE - If set, pass the -v option to pkg create which
+# ensures periodic output during packaging and
+# will help prevent timeouts by build monitors
+#
+# End of the list of all variables that need to be defined in a port.
+# Most port authors should not need to understand anything after this point.
+#
+
+LANG= C
+LC_ALL= C
+.export LANG LC_ALL
+
+# These need to be absolute since we don't know how deep in the ports
+# tree we are and thus can't go relative. They can, of course, be overridden
+# by individual Makefiles or local system make configuration.
+PORTSDIR?= /usr/ports
+LOCALBASE?= /usr/local
+LINUXBASE?= /compat/linux
+DISTDIR?= ${PORTSDIR}/distfiles
+_DISTDIR?= ${DISTDIR}/${DIST_SUBDIR}
+INDEXDIR?= ${PORTSDIR}
+SRC_BASE?= /usr/src
+USESDIR?= ${PORTSDIR}/Mk/Uses
+SCRIPTSDIR?= ${PORTSDIR}/Mk/Scripts
+LIB_DIRS?= /lib /usr/lib ${LOCALBASE}/lib
+STAGEDIR?= ${WRKDIR}/stage
+NOTPHONY?=
+FLAVORS?=
+FLAVOR?=
+# Disallow forced FLAVOR as make argument since we cannot change it to the
+# proper default.
+.if empty(FLAVOR) && !empty(.MAKEOVERRIDES:MFLAVOR)
+.error FLAVOR may not be passed empty as a make argument.
+.endif
+# Store env FLAVOR for later
+.if !defined(_FLAVOR)
+_FLAVOR:= ${FLAVOR}
+.endif
+PORTS_FEATURES+= FLAVORS
+MINIMAL_PKG_VERSION= 1.6.0
+
+_PORTS_DIRECTORIES+= ${PKG_DBDIR} ${PREFIX} ${WRKDIR} ${EXTRACT_WRKDIR} \
+ ${STAGEDIR}${PREFIX} ${WRKDIR}/pkg ${BINARY_LINKDIR}
+
+# Ensure .CURDIR contains an absolute path without a trailing slash. Failed
+# builds can occur when PORTSDIR is a symbolic link, or with something like
+# make -C /usr/ports/category/port/.
+.CURDIR:= ${.CURDIR:tA}
+
+# make sure bmake treats -V as expected
+.MAKE.EXPAND_VARIABLES= yes
+
+.include "${PORTSDIR}/Mk/bsd.commands.mk"
+
+# Do not leak flavors to childs make
+.MAKEOVERRIDES:= ${.MAKEOVERRIDES:NFLAVOR}
+
+.if defined(CROSS_TOOLCHAIN)
+.if !defined(CROSS_SYSROOT)
+IGNORE= CROSS_SYSROOT should be defined
+.endif
+.include "${LOCALBASE}/share/toolchains/${CROSS_TOOLCHAIN}.mk"
+# Do not define CPP on purpose
+.if !defined(HOSTCC)
+HOSTCC:= ${CC}
+HOSTCXX:= ${CXX}
+.endif
+.if !defined(CC_FOR_BUILD)
+CC_FOR_BUILD:= ${HOSTCC}
+CXX_FOR_BUILD:= ${HOSTCXX}
+.endif
+CONFIGURE_ENV+= HOSTCC="${HOSTCC}" HOSTCXX="${HOSTCXX}" CC_FOR_BUILD="${CC_FOR_BUILD}" CXX_FOR_BUILD="${CXX_FOR_BUILD}"
+
+CC= ${XCC} --sysroot=${CROSS_SYSROOT}
+CXX= ${XCXX} --sysroot=${CROSS_SYSROOT}
+CPP= ${XCPP} --sysroot=${CROSS_SYSROOT}
+.for _tool in AS AR LD NM OBJCOPY RANLIB SIZE STRINGS
+${_tool}= ${CROSS_BINUTILS_PREFIX}${tool:tl}
+.endfor
+LD+= --sysroot=${CROSS_SYSROOT}
+STRIP_CMD= ${CROSS_BINUTILS_PREFIX}strip
+# only bmake support the below
+STRIPBIN= ${STRIP_CMD}
+.export.env STRIPBIN
+.endif
+
+#
+# DESTDIR section to start a chrooted process if invoked with DESTDIR set
+#
+
+.if defined(DESTDIR) && !empty(DESTDIR) && !defined(CHROOTED) && \
+ !defined(BEFOREPORTMK) && !defined(INOPTIONSMK)
+
+.include "${PORTSDIR}/Mk/bsd.destdir.mk"
+
+.else
+
+.if !target(makepatch)
+makepatch:
+ @${SETENV} WRKDIR=${WRKDIR} PATCHDIR=${PATCHDIR} \
+ PATCH_WRKSRC=${PATCH_WRKSRC} \
+ STRIP_COMPONENTS="${PATCH_STRIP:S/-p//}" \
+ ${SH} ${SCRIPTSDIR}/smart_makepatch.sh
+.endif
+
+
+# Start of options section
+.if defined(INOPTIONSMK) || ( !defined(USEOPTIONSMK) && !defined(AFTERPORTMK) )
+
+
+# Get the default maintainer
+MAINTAINER?= ports@FreeBSD.org
+
+# Get the architecture
+.if !defined(ARCH)
+ARCH!= ${UNAME} -p
+.endif
+HOSTARCH:= ${ARCH}
+.if defined(CROSS_TOOLCHAIN)
+ARCH= ${CROSS_TOOLCHAIN:C,-.*$,,}
+.endif
+_EXPORTED_VARS+= ARCH
+
+# Get operating system versions for a cross build
+.if defined(CROSS_SYSROOT)
+.if !exists(${CROSS_SYSROOT}/usr/include/sys/param.h)
+.error CROSS_SYSROOT does not include /usr/include/sys/param.h.
+.endif
+OSVERSION!= ${AWK} '/^\#define[[:blank:]]__FreeBSD_version/ {print $$3}' < ${CROSS_SYSROOT}/usr/include/sys/param.h
+_OSRELEASE!= ${AWK} -v version=${OSVERSION} 'END { printf("%d.%d-CROSS", version / 100000, version / 1000 % 100) }' < /dev/null
+.endif
+
+# Get the operating system type
+.if !defined(OPSYS)
+OPSYS!= ${UNAME} -s
+.endif
+_EXPORTED_VARS+= OPSYS
+
+.if !defined(_OSRELEASE)
+_OSRELEASE!= ${UNAME} -r
+.endif
+_EXPORTED_VARS+= _OSRELEASE
+
+# Get the operating system revision
+OSREL?= ${_OSRELEASE:C/-.*//}
+_EXPORTED_VARS+= OSREL
+
+# Get __FreeBSD_version
+.if !defined(OSVERSION)
+.if exists(/usr/include/sys/param.h)
+OSVERSION!= ${AWK} '/^\#define[[:blank:]]__FreeBSD_version/ {print $$3}' < /usr/include/sys/param.h
+.elif exists(${SRC_BASE}/sys/sys/param.h)
+OSVERSION!= ${AWK} '/^\#define[[:blank:]]__FreeBSD_version/ {print $$3}' < ${SRC_BASE}/sys/sys/param.h
+.else
+.error Unable to determine OS version. Either define OSVERSION, install /usr/include/sys/param.h or define SRC_BASE.
+.endif
+.endif
+_EXPORTED_VARS+= OSVERSION
+
+.if (${OPSYS} == FreeBSD && ${OSVERSION} < 1102000) || \
+ (${OPSYS} == DragonFly && ${DFLYVERSION} < 400400)
+_UNSUPPORTED_SYSTEM_MESSAGE= Ports Collection support for your ${OPSYS} version has ended, and no ports\
+ are guaranteed to build on this system. Please upgrade to a supported release.
+. if defined(ALLOW_UNSUPPORTED_SYSTEM)
+WARNING+= "${_UNSUPPORTED_SYSTEM_MESSAGE}"
+. else
+show-unsupported-system-error:
+ @${ECHO_MSG} "/!\\ ERROR: /!\\"
+ @${ECHO_MSG}
+ @${ECHO_MSG} "${_UNSUPPORTED_SYSTEM_MESSAGE}" | ${FMT_80}
+ @${ECHO_MSG}
+ @${ECHO_MSG} "No support will be provided if you silence this message by defining ALLOW_UNSUPPORTED_SYSTEM." | ${FMT_80}
+ @${ECHO_MSG}
+ @${FALSE}
+. endif
+.endif
+
+# Convert OSVERSION to major release number
+_OSVERSION_MAJOR= ${OSVERSION:C/([0-9]?[0-9])([0-9][0-9])[0-9]{3}/\1/}
+# Sanity checks for chroot/jail building.
+# Skip if OSVERSION specified on cmdline for testing. Only works for bmake.
+.if !defined(.MAKEOVERRIDES) || !${.MAKEOVERRIDES:MOSVERSION}
+.if ${_OSVERSION_MAJOR} != ${_OSRELEASE:R}
+.error UNAME_r (${_OSRELEASE}) and OSVERSION (${OSVERSION}) do not agree on major version number.
+.elif ${_OSVERSION_MAJOR} != ${OSREL:R}
+.error OSREL (${OSREL}) and OSVERSION (${OSVERSION}) do not agree on major version number.
+.endif
+.endif
+
+# Only define tools here (for transition period with between pkg tools)
+.include "${PORTSDIR}/Mk/bsd.commands.mk"
+
+.if !defined(_PKG_CHECKED) && !defined(PACKAGE_BUILDING) && exists(${PKG_BIN})
+.if !defined(_PKG_VERSION)
+_PKG_VERSION!= ${PKG_BIN} -v
+.endif
+_PKG_STATUS!= ${PKG_BIN} version -t ${_PKG_VERSION:C/-.*//g} ${MINIMAL_PKG_VERSION}
+.if ${_PKG_STATUS} == "<"
+IGNORE= pkg(8) must be version ${MINIMAL_PKG_VERSION} or greater, but you have ${_PKG_VERSION}. You must upgrade the ${PKG_ORIGIN} port first
+.endif
+_PKG_CHECKED= 1
+.endif
+_EXPORTED_VARS+= _PKG_CHECKED
+
+MASTERDIR?= ${.CURDIR}
+
+.if ${MASTERDIR} != ${.CURDIR}
+SLAVE_PORT?= yes
+MASTER_PORT?=${MASTERDIR:C/[^\/]+\/\.\.\///:C/[^\/]+\/\.\.\///:C/^.*\/([^\/]+\/[^\/]+)$/\\1/}
+.else
+SLAVE_PORT?= no
+MASTER_PORT?=
+.endif
+
+# If they exist, include Makefile.inc, then architecture/operating
+# system specific Makefiles, then local Makefile.local.
+
+.if ${MASTERDIR} != ${.CURDIR} && exists(${.CURDIR}/../Makefile.inc)
+.include "${.CURDIR}/../Makefile.inc"
+USE_SUBMAKE= yes
+.endif
+
+.if exists(${MASTERDIR}/../Makefile.inc)
+.include "${MASTERDIR}/../Makefile.inc"
+USE_SUBMAKE= yes
+.endif
+
+.if exists(${MASTERDIR}/Makefile.${ARCH}-${OPSYS})
+.include "${MASTERDIR}/Makefile.${ARCH}-${OPSYS}"
+USE_SUBMAKE= yes
+.elif exists(${MASTERDIR}/Makefile.${OPSYS})
+.include "${MASTERDIR}/Makefile.${OPSYS}"
+USE_SUBMAKE= yes
+.elif exists(${MASTERDIR}/Makefile.${ARCH})
+.include "${MASTERDIR}/Makefile.${ARCH}"
+USE_SUBMAKE= yes
+.endif
+
+.if exists(${MASTERDIR}/Makefile.local)
+.include "${MASTERDIR}/Makefile.local"
+USE_SUBMAKE= yes
+.elif ${MASTERDIR} != ${.CURDIR} && exists(${.CURDIR}/Makefile.local)
+.include "${.CURDIR}/Makefile.local"
+USE_SUBMAKE= yes
+.endif
+
+.for _CATEGORY in ${CATEGORIES}
+PKGCATEGORY?= ${_CATEGORY}
+.endfor
+_PORTDIRNAME= ${.CURDIR:T}
+PORTDIRNAME?= ${_PORTDIRNAME}
+PKGORIGIN?= ${PKGCATEGORY}/${PORTDIRNAME}
+
+# where 'make config' records user configuration options
+PORT_DBDIR?= /var/db/ports
+
+UID_FILES?= ${PORTSDIR}/UIDs
+GID_FILES?= ${PORTSDIR}/GIDs
+UID_OFFSET?= 0
+GID_OFFSET?= 0
+
+# predefined accounts from src/etc/master.passwd
+# alpha numeric sort order
+USERS_BLACKLIST= _dhcp _pflogd _ypldap auditdistd bin bind daemon games hast kmem mailnull man news nobody operator pop proxy root smmsp sshd toor tty unbound uucp www
+
+# predefined accounts from src/etc/group
+# alpha numeric sort order
+GROUPS_BLACKLIST= _dhcp _pflogd _ypldap audit authpf bin bind daemon dialer ftp games guest hast kmem mail mailnull man network news nobody nogroup operator proxy smmsp sshd staff sys tty unbound uucp wheel www
+
+LDCONFIG_DIR= libdata/ldconfig
+LDCONFIG32_DIR= libdata/ldconfig32
+
+# At least KDE needs TMPDIR for the package building,
+# so we're setting it to the known default value.
+.if defined(PACKAGE_BUILDING)
+TMPDIR?= /tmp
+.endif # defined(PACKAGE_BUILDING)
+
+.if defined(WITH_DEBUG_PORTS)
+.if ${WITH_DEBUG_PORTS:M${PKGORIGIN}}
+WITH_DEBUG= yes
+.endif
+.endif
+
+.include "${PORTSDIR}/Mk/bsd.default-versions.mk"
+.include "${PORTSDIR}/Mk/bsd.options.mk"
+
+.endif
+# End of options section.
+
+# Start of pre-makefile section.
+.if !defined(AFTERPORTMK) && !defined(INOPTIONSMK)
+
+.if defined(_PREMKINCLUDED)
+DEV_ERROR+= "you cannot include bsd.port[.pre].mk twice"
+.endif
+
+_PREMKINCLUDED= yes
+
+.if defined(PORTVERSION)
+.if ${PORTVERSION:M*[-_,]*}x != x
+IGNORE= PORTVERSION ${PORTVERSION} may not contain '-' '_' or ','
+.endif
+.if defined(DISTVERSION)
+DEV_ERROR+= "Defining both PORTVERSION and DISTVERSION is wrong, only set one, if necessary, set DISTNAME"
+.endif
+DISTVERSION?= ${PORTVERSION:S/:/::/g}
+.elif defined(DISTVERSION)
+PORTVERSION= ${DISTVERSION:tl:C/([a-z])[a-z]+/\1/g:C/([0-9])([a-z])/\1.\2/g:C/:(.)/\1/g:C/[^a-z0-9+]+/./g}
+.endif
+
+PORTREVISION?= 0
+.if ${PORTREVISION} != 0
+_SUF1= _${PORTREVISION}
+.endif
+
+PORTEPOCH?= 0
+.if ${PORTEPOCH} != 0
+_SUF2= ,${PORTEPOCH}
+.endif
+
+PKGVERSION= ${PORTVERSION:C/[-_,]/./g}${_SUF1}${_SUF2}
+PKGNAME= ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PKGVERSION}
+DISTVERSIONFULL= ${DISTVERSIONPREFIX}${DISTVERSION:C/:(.)/\1/g}${DISTVERSIONSUFFIX}
+.if defined(USE_GITHUB) && empty(MASTER_SITES:MGHC) && empty(USE_GITHUB:Mnodefault)
+. if empty(DISTNAME)
+_GITHUB_MUST_SET_DISTNAME= yes
+. else
+DEV_WARNING+= "You are using USE_GITHUB and DISTNAME is set which is wrong. Set GH_ACCOUNT/GH_PROJECT/GH_TAGNAME correctly and remove WRKSRC entirely."
+. endif
+.else
+DISTNAME?= ${PORTNAME}-${DISTVERSIONFULL}
+.endif
+
+INDEXFILE?= INDEX-${OSVERSION:C/([0-9]*)[0-9]{5}/\1/}
+
+.if defined(USE_XORG) || defined(XORG_CAT)
+.include "${PORTSDIR}/Mk/bsd.xorg.mk"
+.endif
+
+PACKAGES?= ${PORTSDIR}/packages
+TEMPLATES?= ${PORTSDIR}/Templates
+KEYWORDS?= ${PORTSDIR}/Keywords
+
+PATCHDIR?= ${MASTERDIR}/files
+FILESDIR?= ${MASTERDIR}/files
+SCRIPTDIR?= ${MASTERDIR}/scripts
+PKGDIR?= ${MASTERDIR}
+
+PREFIX?= ${LOCALBASE}
+
+PKGCOMPATDIR?= ${LOCALBASE}/lib/compat/pkg
+
+.if defined(USE_LOCAL_MK)
+.include "${PORTSDIR}/Mk/bsd.local.mk"
+.endif
+
+.if defined(USE_PHP) && (!defined(USES) || ( defined(USES) && !${USES:Mphp*} ))
+DEV_WARNING+= "Using USE_PHP alone is deprecated, please use USES=php"
+USES+= php
+.endif
+
+.if defined(USE_JAVA)
+.include "${PORTSDIR}/Mk/bsd.java.mk"
+.endif
+
+.if defined(USE_RUBY) || defined(USE_LIBRUBY)
+.include "${PORTSDIR}/Mk/bsd.ruby.mk"
+.endif
+
+.if defined(USE_OCAML)
+.include "${PORTSDIR}/Mk/bsd.ocaml.mk"
+.endif
+
+.if defined(USE_APACHE_BUILD)
+USES+= apache:build,${USE_APACHE_BUILD:C/2([0-9])/2.\1/g}
+.elif defined(USE_APACHE_RUN)
+USES+= apache:run,${USE_APACHE_RUN:C/2([0-9])/2.\1/g}
+.elif defined(USE_APACHE)
+USE_APACHE:= ${USE_APACHE:S/common/server,/}
+USES+= apache:${USE_APACHE:C/2([0-9])/2.\1/g}
+.endif
+
+.if defined(USE_TEX)
+.include "${PORTSDIR}/Mk/bsd.tex.mk"
+.endif
+
+.if defined(USE_GECKO)
+.include "${PORTSDIR}/Mk/bsd.gecko.mk"
+.endif
+
+.if (defined(USE_GNOME) || defined(INSTALLS_ICONS)) && empty(USES:Mgnome)
+DEV_WARNING+= "Using USE_GNOME alone is deprecated, please add USES=gnome."
+USES+= gnome
+.endif
+
+.if defined(USE_MATE) && empty(USES:Mmate)
+DEV_WARNING+= "Using USE_MATE alone is deprecated, please add USES=mate."
+USES+= mate
+.endif
+
+.if defined(USE_GL) && (!defined(USES) || !${USES:Mgl})
+DEV_WARNING+= "Using USE_GL alone is deprecated, please add USES=gl."
+USES+= gl
+.endif
+
+.if defined(USE_SDL) && (!defined(USES) || !${USES:Msdl})
+DEV_WARNING+= "Using USE_SDL alone is deprecated, please add USES=sdl."
+USES+= sdl
+.endif
+
+.if defined(USE_MYSQL)
+USE_MYSQL:= ${USE_MYSQL:N[yY][eE][sS]:Nclient}
+.if defined(WANT_MYSQL_VER)
+.if empty(USE_MYSQL)
+USE_MYSQL:=${WANT_MYSQL_VER}
+.else
+USE_MYSQL:=${USE_MYSQL},${WANT_MYSQL_VER}
+.endif
+.endif
+USES+=mysql:${USE_MYSQL}
+.endif
+
+.if defined(WANT_WX) || defined(USE_WX) || defined(USE_WX_NOT)
+.include "${PORTSDIR}/Mk/bsd.wx.mk"
+.endif
+
+.if defined(WANT_GSTREAMER) || defined(USE_GSTREAMER) || defined(USE_GSTREAMER1)
+.include "${PORTSDIR}/Mk/bsd.gstreamer.mk"
+.endif
+
+.if !defined(UID)
+UID!= ${ID} -u
+.endif
+
+DESTDIRNAME?= DESTDIR
+
+# setup empty variables for USES targets
+.for target in sanity fetch extract patch configure build install test package stage
+_USES_${target}?=
+.endfor
+
+# Loading features
+.for f in ${USES}
+_f:= ${f:C/\:.*//}
+.if !defined(${_f}_ARGS)
+${_f}_ARGS:= ${f:C/^[^\:]*(\:|\$)//:S/,/ /g}
+.endif
+.endfor
+.for f in ${USES}
+.include "${USESDIR}/${f:C/\:.*//}.mk"
+.endfor
+
+.if !empty(FLAVORS)
+. if ${FLAVORS:Mall}
+DEV_ERROR+= "FLAVORS cannot contain 'all', it is a reserved value"
+. endif
+. for f in ${FLAVORS}
+. if ${f:C/[[:lower:][:digit:]_]//g}
+_BAD_FLAVOR_NAMES+= ${f}
+. endif
+. endfor
+. if !empty(_BAD_FLAVOR_NAMES)
+DEV_ERROR+= "FLAVORS contains flavors that are not all [a-z0-9_]: ${_BAD_FLAVOR_NAMES}"
+. endif
+.endif
+
+.if !empty(FLAVOR)
+. if empty(FLAVORS)
+IGNORE= FLAVOR is defined (to ${FLAVOR}) while this port does not have FLAVORS.
+. elif ! ${FLAVORS:M${FLAVOR}}
+IGNORE= Unknown flavor '${FLAVOR}', possible flavors: ${FLAVORS}.
+. endif
+.endif
+
+.if !empty(FLAVORS) && empty(FLAVOR)
+FLAVOR= ${FLAVORS:[1]}
+.endif
+
+# Reorder FLAVORS so the default is first if set by the port.
+.if empty(_FLAVOR) && !empty(FLAVORS) && !empty(FLAVOR)
+FLAVORS:= ${FLAVOR} ${FLAVORS:N${FLAVOR}}
+.endif
+
+.if !empty(FLAVOR) && !defined(_DID_FLAVORS_HELPERS)
+_DID_FLAVORS_HELPERS= yes
+_FLAVOR_HELPERS_OVERRIDE= DESCR PLIST PKGNAMEPREFIX PKGNAMESUFFIX
+_FLAVOR_HELPERS_APPEND= CONFLICTS CONFLICTS_BUILD CONFLICTS_INSTALL \
+ PKG_DEPENDS EXTRACT_DEPENDS PATCH_DEPENDS \
+ FETCH_DEPENDS BUILD_DEPENDS LIB_DEPENDS \
+ RUN_DEPENDS TEST_DEPENDS
+# These overwrite the current value
+.for v in ${_FLAVOR_HELPERS_OVERRIDE}
+.if defined(${FLAVOR}_${v})
+${v}= ${${FLAVOR}_${v}}
+.endif
+.endfor
+
+# These append to the current value
+.for v in ${_FLAVOR_HELPERS_APPEND}
+.if defined(${FLAVOR}_${v})
+${v}+= ${${FLAVOR}_${v}}
+.endif
+.endfor
+
+.for v in BROKEN IGNORE
+.if defined(${FLAVOR}_${v})
+${v}= flavor "${FLAVOR}" ${${FLAVOR}_${v}}
+.endif
+.endfor
+.endif # defined(${FLAVOR})
+
+
+EXTRACT_SUFX?= .tar.gz
+
+.if defined(USE_LINUX_PREFIX)
+PREFIX= ${LINUXBASE}
+DATADIR?= ${PREFIX}/usr/share/${PORTNAME}
+DOCSDIR?= ${PREFIX}/usr/share/doc/${PORTNAME}-${PORTVERSION}
+NO_LICENSES_INSTALL= yes
+NO_MTREE= yes
+.endif
+
+# You can force skipping these test by defining IGNORE_PATH_CHECKS
+.if !defined(IGNORE_PATH_CHECKS)
+.if ! ${PREFIX:M/*}
+.BEGIN:
+ @${ECHO_MSG} "PREFIX must be defined as an absolute path so that when 'make'"
+ @${ECHO_MSG} "is invoked in the work area PREFIX points to the right place."
+ @${FALSE}
+.endif
+.endif
+
+DATADIR?= ${PREFIX}/share/${PORTNAME}
+DOCSDIR?= ${PREFIX}/share/doc/${PORTNAME}
+ETCDIR?= ${PREFIX}/etc/${PORTNAME}
+EXAMPLESDIR?= ${PREFIX}/share/examples/${PORTNAME}
+WWWDIR?= ${PREFIX}/www/${PORTNAME}
+
+# Owner and group of the WWW user
+WWWOWN?= www
+WWWGRP?= www
+
+# Keep PKGNG_ORIGIN/WITH_PKGNG for compat with scripts which are looking for it
+PKG_ORIGIN?= ports-mgmt/pkg
+PKGNG_ORIGIN= ${PKG_ORIGIN}
+WITH_PKGNG?= yes
+WITH_PKG?= ${WITH_PKGNG}
+
+.endif
+# End of pre-makefile section.
+
+# Start of post-makefile section.
+.if !defined(BEFOREPORTMK) && !defined(INOPTIONSMK)
+
+.if defined(_POSTMKINCLUDED)
+DEV_ERROR+= "${PKGNAME}: Makefile error: you cannot include bsd.port[.post].mk twice"
+ @${FALSE}
+.endif
+
+_POSTMKINCLUDED= yes
+
+.if defined(BUNDLE_LIBS)
+PKG_NOTES+= no_provide_shlib
+PKG_NOTE_no_provide_shlib= yes
+.endif
+
+.if defined(DEPRECATED)
+PKG_NOTES+= deprecated
+PKG_NOTE_deprecated=${DEPRECATED}
+.endif
+
+.if defined(EXPIRATION_DATE)
+PKG_NOTES+= expiration_date
+PKG_NOTE_expiration_date= ${EXPIRATION_DATE}
+.endif
+
+.if !empty(FLAVOR)
+PKG_NOTES+= flavor
+PKG_NOTE_flavor= ${FLAVOR}
+.endif
+
+TEST_ARGS?= ${MAKE_ARGS}
+TEST_ENV?= ${MAKE_ENV}
+
+PKG_ENV+= PORTSDIR=${PORTSDIR}
+CONFIGURE_ENV+= XDG_DATA_HOME=${WRKDIR} \
+ XDG_CONFIG_HOME=${WRKDIR} \
+ HOME=${WRKDIR}
+MAKE_ENV+= XDG_DATA_HOME=${WRKDIR} \
+ XDG_CONFIG_HOME=${WRKDIR} \
+ HOME=${WRKDIR}
+# Respect TMPDIR passed via make.conf or similar and pass it down
+# to configure and make.
+.if defined(TMPDIR)
+MAKE_ENV+= TMPDIR="${TMPDIR}"
+CONFIGURE_ENV+= TMPDIR="${TMPDIR}"
+.endif # defined(TMPDIR)
+
+QA_ENV+= STAGEDIR=${STAGEDIR} \
+ PREFIX=${PREFIX} \
+ LINUXBASE=${LINUXBASE} \
+ LOCALBASE=${LOCALBASE} \
+ "STRIP=${STRIP}" \
+ TMPPLIST=${TMPPLIST} \
+ CURDIR='${.CURDIR}' \
+ FLAVOR=${FLAVOR} \
+ FLAVORS='${FLAVORS}' \
+ BUNDLE_LIBS=${BUNDLE_LIBS} \
+ LDCONFIG_DIR="${LDCONFIG_DIR}" \
+ PKGORIGIN=${PKGORIGIN} \
+ LIB_RUN_DEPENDS='${_LIB_RUN_DEPENDS:C,[^:]*:([^:]*):?.*,\1,}' \
+ UNIFIED_DEPENDS=${_UNIFIED_DEPENDS:C,([^:]*:[^:]*):?.*,\1,:O:u:Q} \
+ PKGBASE=${PKGBASE} \
+ LICENSE="${LICENSE}" \
+ LICENSE_PERMS="${_LICENSE_PERMS}" \
+ DISABLE_LICENSES="${DISABLE_LICENSES:Dyes}" \
+ PORTNAME=${PORTNAME} \
+ NO_ARCH=${NO_ARCH} \
+ "NO_ARCH_IGNORE=${NO_ARCH_IGNORE}" \
+ USE_RUBY=${USE_RUBY}
+.if !empty(USES:Mssl)
+QA_ENV+= USESSSL=yes
+.endif
+.if !empty(USES:Mdesktop-file-utils)
+QA_ENV+= USESDESKTOPFILEUTILS=yes
+.endif
+.if !empty(USES:Mlibtool*)
+QA_ENV+= USESLIBTOOL=yes
+.endif
+.if !empty(USES:Mshared-mime-info)
+QA_ENV+= USESSHAREDMIMEINFO=yes
+.endif
+.if !empty(USES:Mterminfo)
+QA_ENV+= USESTERMINFO=yes
+.endif
+
+CO_ENV+= STAGEDIR=${STAGEDIR} \
+ PREFIX=${PREFIX} \
+ LOCALBASE=${LOCALBASE} \
+ WRKDIR=${WRKDIR} \
+ WRKSRC=${WRKSRC} \
+ MTREE_FILE=${MTREE_FILE} \
+ TMPPLIST=${TMPPLIST} \
+ SCRIPTSDIR=${SCRIPTSDIR} \
+ PLIST_SUB_SED="${PLIST_SUB_SED}" \
+ PORT_OPTIONS="${PORT_OPTIONS}" \
+ PORTSDIR="${PORTSDIR}"
+
+.if defined(CROSS_SYSROOT)
+PKG_ENV+= ABI_FILE=${CROSS_SYSROOT}/bin/sh
+MAKE_ENV+= NM=${NM} \
+ STRIPBIN=${STRIPBIN} \
+ PKG_CONFIG_SYSROOT_DIR="${CROSS_SYSROOT}"
+CONFIGURE_ENV+= PKG_CONFIG_SYSROOT_DIR="${CROSS_SYSROOT}"
+.endif
+
+.if empty(FLAVOR)
+_WRKDIR= work
+.else
+_WRKDIR= work-${FLAVOR}
+.endif
+
+WRKDIR?= ${WRKDIRPREFIX}${.CURDIR}/${_WRKDIR}
+BINARY_LINKDIR= ${WRKDIR}/.bin
+PATH:= ${BINARY_LINKDIR}:${PATH}
+.if !${MAKE_ENV:MPATH=*} && !${CONFIGURE_ENV:MPATH=*}
+MAKE_ENV+= PATH=${PATH}
+CONFIGURE_ENV+= PATH=${PATH}
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_GITHUB) && defined(USE_GITHUB) && empty(USE_GITHUB:Mnodefault)
+.if defined(WRKSRC)
+DEV_WARNING+= "You are using USE_GITHUB and WRKSRC is set which is wrong. Set GH_PROJECT correctly, set WRKSRC_SUBDIR or remove WRKSRC entirely."
+.endif
+WRKSRC?= ${WRKDIR}/${GH_PROJECT}-${GH_TAGNAME_EXTRACT}
+.endif
+
+.if !default(IGNORE_MASTER_SITE_GITLAB) && defined(USE_GITLAB) && empty(USE_GITLAB:Mnodefault)
+WRKSRC?= ${WRKDIR}/${GL_PROJECT}-${GL_COMMIT}-${GL_COMMIT}
+.endif
+
+# If the distname is not extracting into a specific subdirectory, have the
+# ports framework force extract into a subdirectory so that metadata files
+# do not get in the way of the build, and vice-versa.
+.if defined(NO_WRKSUBDIR)
+# Some ports have DISTNAME=PORTNAME, and USE_RC_SUBR=PORTNAME, in those case,
+# the rc file will conflict with WRKSRC, as WRKSRC is artificial, make it the
+# most unlikely to conflict as we can.
+WRKSRC?= ${WRKDIR}/${PKGNAME}
+EXTRACT_WRKDIR:= ${WRKSRC}
+.else
+WRKSRC?= ${WRKDIR}/${DISTNAME}
+EXTRACT_WRKDIR:= ${WRKDIR}
+.endif
+.if defined(WRKSRC_SUBDIR)
+WRKSRC:= ${WRKSRC}/${WRKSRC_SUBDIR}
+.endif
+
+.if defined(CONFIGURE_OUTSOURCE)
+CONFIGURE_CMD?= ${WRKSRC}/${CONFIGURE_SCRIPT}
+CONFIGURE_WRKSRC?= ${WRKDIR}/.build
+BUILD_WRKSRC?= ${CONFIGURE_WRKSRC}
+INSTALL_WRKSRC?= ${CONFIGURE_WRKSRC}
+TEST_WRKSRC?= ${CONFIGURE_WRKSRC}
+.endif
+
+PATCH_WRKSRC?= ${WRKSRC}
+CONFIGURE_WRKSRC?= ${WRKSRC}
+BUILD_WRKSRC?= ${WRKSRC}
+INSTALL_WRKSRC?=${WRKSRC}
+TEST_WRKSRC?= ${WRKSRC}
+
+PLIST_SUB+= OSREL=${OSREL} PREFIX=%D LOCALBASE=${LOCALBASE} \
+ RESETPREFIX=${PREFIX}
+SUB_LIST+= PREFIX=${PREFIX} LOCALBASE=${LOCALBASE} \
+ DATADIR=${DATADIR} DOCSDIR=${DOCSDIR} EXAMPLESDIR=${EXAMPLESDIR} \
+ WWWDIR=${WWWDIR} ETCDIR=${ETCDIR}
+# This is used for check-stagedir.sh and check_leftover.sh to replace
+# directories/files with PLIST_SUB %%KEYS%%.
+# Remove VARS which values are PLIST_SUB_SED_MIN long or shorter
+PLIST_SUB_SED_MIN?= 2
+PLIST_SUB_SED_tmp1= ${PLIST_SUB:C/.*=.{1,${PLIST_SUB_SED_MIN}}$//g}
+# Remove VARS that are too generic
+# Remove empty values
+# Remove @comment values
+PLIST_SUB_SED_tmp2= ${PLIST_SUB_SED_tmp1:NEXTRACT_SUFX=*:NOSREL=*:NLIB32DIR=*:NPREFIX=*:NLOCALBASE=*:NRESETPREFIX=*:N*="":N*="@comment*}
+# Handle VARS for which there is a _regex entry
+PLIST_SUB_SED_tmp3?= ${PLIST_SUB_SED_tmp2:C/(${PLIST_SUB:M*_regex=*:C/_regex=.*/=.*/:Q:S/\\ /|/g:S/\\//g})//:C/(.*)_regex=(.*)/\1=\2/}
+# Remove quotes
+# Replace . with \. for later sed(1) usage
+PLIST_SUB_SED?= ${PLIST_SUB_SED_tmp3:C/([^=]*)="?([^"]*)"?/s!\2!%%\1%%!g;/g:C/\./\\./g}
+
+# kludge to strip trailing whitespace from CFLAGS;
+# sub-configure will not # survive double space
+CFLAGS:= ${CFLAGS:C/ $//}
+
+.if defined(WITHOUT_CPU_CFLAGS)
+.if defined(_CPUCFLAGS)
+.if !empty(_CPUCFLAGS)
+CFLAGS:= ${CFLAGS:C/${_CPUCFLAGS}//}
+.endif
+.endif
+.endif
+
+# Reset value from bsd.own.mk.
+.if defined(WITH_DEBUG)
+.if !defined(INSTALL_STRIPPED)
+STRIP= #none
+MAKE_ENV+= DONTSTRIP=yes
+STRIP_CMD= ${TRUE}
+.endif
+DEBUG_FLAGS?= -g
+CFLAGS:= ${CFLAGS:N-O*:N-fno-strict*} ${DEBUG_FLAGS}
+.if defined(INSTALL_TARGET)
+INSTALL_TARGET:= ${INSTALL_TARGET:S/^install-strip$/install/g}
+.endif
+.endif
+
+.if !defined(WITHOUT_SSP)
+.include "${PORTSDIR}/Mk/bsd.ssp.mk"
+.endif
+
+# XXX PIE support to be added here
+MAKE_ENV+= NO_PIE=yes
+# We will control debug files. Don't let builds that use /usr/share/mk
+# split out debug symbols since the plist won't know to expect it.
+MAKE_ENV+= MK_DEBUG_FILES=no
+MAKE_ENV+= MK_KERNEL_SYMBOLS=no
+
+CONFIGURE_SHELL?= ${SH}
+MAKE_SHELL?= ${SH}
+
+CONFIGURE_ENV+= SHELL=${CONFIGURE_SHELL} CONFIG_SHELL=${CONFIGURE_SHELL}
+MAKE_ENV+= SHELL=${MAKE_SHELL} NO_LINT=YES
+
+.if defined(PATCHFILES) && ${PATCHFILES:M*.zip}
+PATCH_DEPENDS+= ${LOCALBASE}/bin/unzip:archivers/unzip
+.endif
+
+# Check the compatibility layer for amd64/ia64
+
+.if ${ARCH} == "amd64" || ${ARCH} =="ia64"
+.if exists(/usr/lib32)
+HAVE_COMPAT_IA32_LIBS?= YES
+.endif
+.if !defined(HAVE_COMPAT_IA32_KERN)
+HAVE_COMPAT_IA32_KERN!= if ${SYSCTL} -n compat.ia32.maxvmem >/dev/null 2>&1; then echo YES; fi; echo
+.if empty(HAVE_COMPAT_IA32_KERN)
+.undef HAVE_COMPAT_IA32_KERN
+.endif
+.endif
+.endif
+_EXPORTED_VARS+= HAVE_COMPAT_IA32_KERN
+
+.if defined(IA32_BINARY_PORT) && ${ARCH} != "i386"
+.if ${ARCH} == "amd64" || ${ARCH} == "ia64"
+.if !defined(HAVE_COMPAT_IA32_KERN)
+IGNORE= requires a kernel with compiled-in IA32 compatibility
+.elif !defined(HAVE_COMPAT_IA32_LIBS)
+IGNORE= requires 32-bit libraries installed under /usr/lib32
+.endif
+_LDCONFIG_FLAGS=-32
+LIB32DIR= lib32
+.else
+IGNORE= requires i386 (or compatible) platform to run
+.endif
+.else
+LIB32DIR= lib
+.endif
+PLIST_SUB+= LIB32DIR=${LIB32DIR}
+
+.if ${WITH_PKG} == devel
+PKG_ORIGIN= ports-mgmt/pkg-devel
+.endif
+
+.if !defined(PKG_DEPENDS) && !defined(CLEAN_FETCH_ENV)
+PKG_DEPENDS+= ${LOCALBASE}/sbin/pkg:${PKG_ORIGIN}
+.endif
+
+.if defined(USE_GCC)
+.include "${PORTSDIR}/Mk/bsd.gcc.mk"
+.endif
+
+.if defined(LLD_UNSAFE) && ${/usr/bin/ld:L:tA} == /usr/bin/ld.lld
+LDFLAGS+= -fuse-ld=bfd
+BINARY_ALIAS+= ld=${LD}
+. if !defined(USE_BINUTILS)
+. if exists(/usr/bin/ld.bfd)
+LD= /usr/bin/ld.bfd
+CONFIGURE_ENV+= LD=${LD}
+MAKE_ENV+= LD=${LD}
+. else
+USE_BINUTILS= yes
+. endif
+. endif
+.endif
+
+.if defined(USE_BINUTILS) && !defined(DISABLE_BINUTILS)
+BUILD_DEPENDS+= ${LOCALBASE}/bin/as:devel/binutils
+BINUTILS?= ADDR2LINE AR AS CPPFILT GPROF LD NM OBJCOPY OBJDUMP RANLIB \
+ READELF SIZE STRINGS
+BINUTILS_NO_MAKE_ENV?=
+. for b in ${BINUTILS}
+${b}= ${LOCALBASE}/bin/${b:C/PP/++/:tl}
+. if defined(GNU_CONFIGURE) || defined(BINUTILS_CONFIGURE)
+CONFIGURE_ENV+= ${b}="${${b}}"
+. endif
+. if ${BINUTILS_NO_MAKE_ENV:M${b}} == ""
+MAKE_ENV+= ${b}="${${b}}"
+. endif
+. endfor
+.endif
+
+.if defined(USE_OPENLDAP) || defined(WANT_OPENLDAP_VER)
+.include "${PORTSDIR}/Mk/bsd.ldap.mk"
+.endif
+
+.if defined(USE_RC_SUBR)
+SUB_FILES+= ${USE_RC_SUBR}
+.endif
+
+.if defined(USE_LDCONFIG) && ${USE_LDCONFIG:tl} == "yes"
+USE_LDCONFIG= ${PREFIX}/lib
+.endif
+.if defined(USE_LDCONFIG32) && ${USE_LDCONFIG32:tl} == "yes"
+IGNORE= has USE_LDCONFIG32 set to yes, which is not correct
+.endif
+
+PKG_IGNORE_DEPENDS?= 'this_port_does_not_exist'
+
+.if defined(_DESTDIR_VIA_ENV)
+MAKE_ENV+= ${DESTDIRNAME}=${STAGEDIR}
+.else
+MAKE_ARGS+= ${DESTDIRNAME}=${STAGEDIR}
+.endif
+
+.if defined(NO_PREFIX_RMDIR)
+CO_ENV+= NO_PREFIX_RMDIR=1
+.else
+CO_ENV+= NO_PREFIX_RMDIR=0
+.endif
+
+
+METADIR= ${WRKDIR}/.metadir
+
+PKGPREINSTALL?= ${PKGDIR}/pkg-pre-install
+PKGPOSTINSTALL?= ${PKGDIR}/pkg-post-install
+PKGPREDEINSTALL?= ${PKGDIR}/pkg-pre-deinstall
+PKGPOSTDEINSTALL?= ${PKGDIR}/pkg-post-deinstall
+PKGPREUPGRADE?= ${PKGDIR}/pkg-pre-upgrade
+PKGPOSTUPGRADE?= ${PKGDIR}/pkg-post-upgrade
+PKGUPGRADE?= ${PKGDIR}/pkg-upgrade
+
+_FORCE_POST_PATTERNS= rmdir kldxref mkfontscale mkfontdir fc-cache \
+ fonts.dir fonts.scale gtk-update-icon-cache \
+ gio-querymodules \
+ gtk-query-immodules \
+ ldconfig \
+ load-octave-pkg \
+ ocamlfind \
+ update-desktop-database update-mime-database \
+ gdk-pixbuf-query-loaders catalog.ports \
+ glib-compile-schemas \
+ ccache-update-links
+
+.if defined(USE_LOCAL_MK)
+.include "${PORTSDIR}/Mk/bsd.local.mk"
+.endif
+
+.if defined(USE_XORG) || defined(XORG_CAT)
+.include "${PORTSDIR}/Mk/bsd.xorg.mk"
+.endif
+
+.if defined(WANT_GSTREAMER) || defined(USE_GSTREAMER) || defined(USE_GSTREAMER1)
+.include "${PORTSDIR}/Mk/bsd.gstreamer.mk"
+.endif
+
+.if defined(USE_JAVA)
+.include "${PORTSDIR}/Mk/bsd.java.mk"
+.endif
+
+.if defined(USE_OCAML)
+.include "${PORTSDIR}/Mk/bsd.ocaml.mk"
+.endif
+
+.if defined(USE_PHP) && (!defined(USES) || ( defined(USES) && !${USES:Mphp*} ))
+DEV_WARNING+= "Using USE_PHP alone is deprecated, please use USES=php"
+_USES_POST+= php
+.endif
+
+.if defined(USE_WX) || defined(USE_WX_NOT)
+.include "${PORTSDIR}/Mk/bsd.wx.mk"
+.endif
+
+.if defined(USE_GECKO)
+.include "${PORTSDIR}/Mk/bsd.gecko.mk"
+.endif
+
+.if exists(${PORTSDIR}/Makefile.inc)
+.include "${PORTSDIR}/Makefile.inc"
+USE_SUBMAKE= yes
+.endif
+
+# Loading features
+.for f in ${_USES_POST}
+_f:= ${f:C/\:.*//}
+.if !defined(${_f}_ARGS)
+${_f}_ARGS:= ${f:C/^[^\:]*(\:|\$)//:S/,/ /g}
+.endif
+.endfor
+.for f in ${_USES_POST}
+.include "${USESDIR}/${f:C/\:.*//}.mk"
+.endfor
+
+.if defined(PORTNAME)
+.include "${PORTSDIR}/Mk/bsd.sanity.mk"
+.endif
+
+.if defined(USE_LOCALE)
+CONFIGURE_ENV+= LANG=${USE_LOCALE} LC_ALL=${USE_LOCALE}
+MAKE_ENV+= LANG=${USE_LOCALE} LC_ALL=${USE_LOCALE}
+.endif
+
+.if defined(USE_XORG)
+# Add explicit X options to avoid problems with false positives in configure
+.if defined(GNU_CONFIGURE)
+CONFIGURE_ARGS+=--x-libraries=${LOCALBASE}/lib --x-includes=${LOCALBASE}/include
+.endif
+.endif
+
+# Macro for doing in-place file editing using regexps
+REINPLACE_ARGS?= -i.bak
+REINPLACE_CMD?= ${SED} ${REINPLACE_ARGS}
+
+# Names of cookies used to skip already completed stages
+EXTRACT_COOKIE?= ${WRKDIR}/.extract_done.${PORTNAME}.${PREFIX:S/\//_/g}
+CONFIGURE_COOKIE?= ${WRKDIR}/.configure_done.${PORTNAME}.${PREFIX:S/\//_/g}
+INSTALL_COOKIE?= ${WRKDIR}/.install_done.${PORTNAME}.${PREFIX:S/\//_/g}
+BUILD_COOKIE?= ${WRKDIR}/.build_done.${PORTNAME}.${PREFIX:S/\//_/g}
+PATCH_COOKIE?= ${WRKDIR}/.patch_done.${PORTNAME}.${PREFIX:S/\//_/g}
+PACKAGE_COOKIE?= ${WRKDIR}/.package_done.${PORTNAME}.${PREFIX:S/\//_/g}
+STAGE_COOKIE?= ${WRKDIR}/.stage_done.${PORTNAME}.${PREFIX:S/\//_/g}
+
+# How to do nothing. Override if you, for some strange reason, would rather
+# do something.
+DO_NADA?= ${TRUE}
+
+# Use this as the first operand to always build dependency.
+NONEXISTENT?= /nonexistent
+
+CHECKSUM_ALGORITHMS?= sha256
+
+DISTINFO_FILE?= ${MASTERDIR}/distinfo
+
+MAKE_FLAGS?= -f
+MAKEFILE?= Makefile
+MAKE_CMD?= ${BSDMAKE}
+MAKE_ENV+= PREFIX=${PREFIX} \
+ LOCALBASE=${LOCALBASE} \
+ CC="${CC}" CFLAGS="${CFLAGS}" \
+ CPP="${CPP}" CPPFLAGS="${CPPFLAGS}" \
+ LDFLAGS="${LDFLAGS}" LIBS="${LIBS}" \
+ CXX="${CXX}" CXXFLAGS="${CXXFLAGS}" \
+ MANPREFIX="${MANPREFIX}"
+
+# Add -fno-strict-aliasing to CFLAGS with optimization level -O2 or higher.
+# gcc 4.x enable strict aliasing optimization with -O2 which is known to break
+# a lot of ports.
+.if !defined(WITHOUT_NO_STRICT_ALIASING)
+.if ${CC} != "icc"
+.if empty(CFLAGS:M-fno-strict-aliasing)
+CFLAGS+= -fno-strict-aliasing
+.endif
+.endif
+.endif
+
+.for lang in C CXX
+.if defined(USE_${lang}STD)
+${lang}FLAGS:= ${${lang}FLAGS:N-std=*} -std=${USE_${lang}STD}
+.endif
+
+${lang}FLAGS+= ${${lang}FLAGS_${ARCH}}
+.endfor
+
+LDFLAGS+= ${LDFLAGS_${ARCH}}
+
+# Multiple make jobs support
+.if defined(DISABLE_MAKE_JOBS) || defined(MAKE_JOBS_UNSAFE)
+_MAKE_JOBS?= #
+MAKE_JOBS_NUMBER= 1
+.else
+.if defined(MAKE_JOBS_NUMBER)
+_MAKE_JOBS_NUMBER:= ${MAKE_JOBS_NUMBER}
+.else
+.if !defined(_SMP_CPUS)
+_SMP_CPUS!= ${SYSCTL} -n kern.smp.cpus
+.endif
+_EXPORTED_VARS+= _SMP_CPUS
+_MAKE_JOBS_NUMBER= ${_SMP_CPUS}
+.endif
+.if defined(MAKE_JOBS_NUMBER_LIMIT) && ( ${MAKE_JOBS_NUMBER_LIMIT} < ${_MAKE_JOBS_NUMBER} )
+MAKE_JOBS_NUMBER= ${MAKE_JOBS_NUMBER_LIMIT}
+.else
+MAKE_JOBS_NUMBER= ${_MAKE_JOBS_NUMBER}
+.endif
+_MAKE_JOBS?= -j${MAKE_JOBS_NUMBER}
+BUILD_FAIL_MESSAGE+= Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to the maintainer.
+.endif
+
+.include "${PORTSDIR}/Mk/bsd.ccache.mk"
+
+.if !make(makesum)
+FETCH_ENV?= SSL_NO_VERIFY_PEER=1 SSL_NO_VERIFY_HOSTNAME=1
+.endif
+FETCH_BINARY?= /usr/bin/fetch
+FETCH_ARGS?= -Fpr
+FETCH_REGET?= 1
+FETCH_CMD?= ${FETCH_BINARY} ${FETCH_ARGS}
+
+.if defined(RANDOMIZE_MASTER_SITES)
+.if exists(/usr/games/random)
+RANDOM_CMD?= /usr/games/random
+.elif exists(/usr/bin/random)
+RANDOM_CMD?= /usr/bin/random
+.endif
+.if defined(RANDOM_CMD) && !empty(RANDOM_CMD)
+RANDOM_ARGS?= -w -f -
+_RANDOMIZE_SITES= ${RANDOM_CMD} ${RANDOM_ARGS}
+.endif
+.endif
+
+TOUCH?= /usr/bin/touch
+TOUCH_FLAGS?= -f
+
+DISTORIG?= .bak.orig
+PATCH?= /usr/bin/patch
+PATCH_STRIP?= -p0
+PATCH_DIST_STRIP?= -p0
+.if defined(PATCH_DEBUG)
+PATCH_DEBUG_TMP= yes
+PATCH_ARGS?= --forward -E ${PATCH_STRIP}
+PATCH_DIST_ARGS?= --suffix ${DISTORIG} --forward -E ${PATCH_DIST_STRIP}
+.else
+PATCH_ARGS?= --forward --quiet -E ${PATCH_STRIP}
+PATCH_DIST_ARGS?= --suffix ${DISTORIG} --forward --quiet -E ${PATCH_DIST_STRIP}
+.endif
+.if !defined(QUIET)
+PATCH_SILENT= PATCH_SILENT=yes
+.endif
+.if defined(BATCH)
+PATCH_ARGS+= --batch
+PATCH_DIST_ARGS+= --batch
+.endif
+
+# Prevent breakage with VERSION_CONTROL=numbered
+PATCH_ARGS+= -V simple
+PATCH_DIST_ARGS+= -V simple
+
+.if defined(PATCH_CHECK_ONLY)
+PATCH_ARGS+= -C
+PATCH_DIST_ARGS+= -C
+.endif
+
+.if ${PATCH} == "/usr/bin/patch"
+PATCH_ARGS+= --suffix .orig
+PATCH_DIST_ARGS+= --suffix .orig
+.endif
+
+TAR?= /usr/bin/tar
+
+# EXTRACT_SUFX is defined in .pre.mk section
+EXTRACT_CMD?= ${TAR}
+EXTRACT_BEFORE_ARGS?= -xf
+EXTRACT_AFTER_ARGS?= --no-same-owner --no-same-permissions
+
+# Figure out where the local mtree file is
+.if !defined(MTREE_FILE) && !defined(NO_MTREE)
+.if ${PREFIX} == /usr
+MTREE_FILE= /etc/mtree/BSD.usr.dist
+.else
+MTREE_FILE= ${PORTSDIR}/Templates/BSD.local.dist
+.endif
+.endif
+MTREE_CMD?= /usr/sbin/mtree
+MTREE_ARGS?= -U ${MTREE_FOLLOWS_SYMLINKS} -f ${MTREE_FILE} -d -e -p
+
+_SHAREMODE?= 0644
+
+# A few aliases for *-install targets
+INSTALL_PROGRAM= ${INSTALL} ${COPY} ${STRIP} -m ${BINMODE}
+INSTALL_KLD= ${INSTALL} ${COPY} -m ${BINMODE}
+INSTALL_LIB= ${INSTALL} ${COPY} ${STRIP} -m ${_SHAREMODE}
+INSTALL_SCRIPT= ${INSTALL} ${COPY} -m ${BINMODE}
+INSTALL_DATA= ${INSTALL} ${COPY} -m ${_SHAREMODE}
+INSTALL_MAN= ${INSTALL} ${COPY} -m ${MANMODE}
+
+INSTALL_MACROS= BSD_INSTALL_PROGRAM="${INSTALL_PROGRAM}" \
+ BSD_INSTALL_LIB="${INSTALL_LIB}" \
+ BSD_INSTALL_SCRIPT="${INSTALL_SCRIPT}" \
+ BSD_INSTALL_DATA="${INSTALL_DATA}" \
+ BSD_INSTALL_MAN="${INSTALL_MAN}"
+MAKE_ENV+= ${INSTALL_MACROS}
+SCRIPTS_ENV+= ${INSTALL_MACROS}
+
+# Macro for copying entire directory tree with correct permissions
+# In the -exec shell commands, we add add a . as the first argument, it would
+# end up being $0 aka the script name, which is not part of $@, so we force it
+# to be able to use $@ directly.
+COPYTREE_BIN= ${SH} -c '(${FIND} -Ed $$1 $$3 | ${CPIO} -dumpl $$2 >/dev/null 2>&1) && \
+ ${FIND} -Ed $$1 $$3 \( -type d -exec ${SH} -c '\''cd '\''$$2'\'' && chmod 755 "$$@"'\'' . {} + \
+ -o -type f -exec ${SH} -c '\''cd '\''$$2'\'' && chmod ${BINMODE} "$$@"'\'' . {} + \)' COPYTREE_BIN
+COPYTREE_SHARE= ${SH} -c '(${FIND} -Ed $$1 $$3 | ${CPIO} -dumpl $$2 >/dev/null 2>&1) && \
+ ${FIND} -Ed $$1 $$3 \( -type d -exec ${SH} -c '\''cd '\''$$2'\'' && chmod 755 "$$@"'\'' . {} + \
+ -o -type f -exec ${SH} -c '\''cd '\''$$2'\'' && chmod ${_SHAREMODE} "$$@"'\'' . {} + \)' COPYTREE_SHARE
+
+# The user can override the NO_PACKAGE by specifying this from
+# the make command line
+.if defined(FORCE_PACKAGE)
+.undef NO_PACKAGE
+.endif
+
+DESCR?= ${PKGDIR}/pkg-descr
+PLIST?= ${PKGDIR}/pkg-plist
+PKGHELP?= ${PKGDIR}/pkg-help
+PKGINSTALL?= ${PKGDIR}/pkg-install
+PKGDEINSTALL?= ${PKGDIR}/pkg-deinstall
+PKGMESSAGE?= ${PKGDIR}/pkg-message
+_PKGMESSAGES+= ${PKGMESSAGE}
+
+TMPPLIST?= ${WRKDIR}/.PLIST.mktmp
+
+.if defined(PKG_NOCOMPRESS)
+PKG_SUFX?= .tar
+.else
+PKG_SUFX?= .txz
+.endif
+# where pkg(8) stores its data
+PKG_DBDIR?= /var/db/pkg
+
+ALL_TARGET?= all
+INSTALL_TARGET?= install
+INSTALL_TARGET+= ${LATE_INSTALL_ARGS}
+
+# Integrate with the license auditing framework
+.if !defined (DISABLE_LICENSES)
+.include "${PORTSDIR}/Mk/bsd.licenses.mk"
+.endif
+
+# Popular master sites
+.include "${PORTSDIR}/Mk/bsd.sites.mk"
+
+# Empty declaration to avoid "variable MASTER_SITES recursive" error
+MASTER_SITES?=
+PATCH_SITES?=
+_MASTER_SITES_DEFAULT?=
+_PATCH_SITES_DEFAULT?=
+
+# Feed internal _{MASTER,PATCH}_SITES_n where n is a group designation
+# as per grouping rules (:something)
+# Organize _{MASTER,PATCH}_SITES_{DEFAULT,[^/:]+} according to grouping
+# rules (:something)
+.for _S in ${MASTER_SITES}
+_S_TEMP= ${_S:S/^${_S:C@/?:[^/:]+$@/@}//:S/^://}
+. if !empty(_S_TEMP)
+. for _group in ${_S_TEMP:S/,/ /g}
+_G_TEMP= ${_group}
+. if ${_G_TEMP:C/[a-zA-Z0-9_]//g}
+check-makevars::
+ @${ECHO_MSG} "The ${_S} MASTER_SITES line has"
+ @${ECHO_MSG} "a group with invalid characters, only use [a-zA-Z0-9_]"
+ @${FALSE}
+. endif
+. if ${_G_TEMP} == all || ${_G_TEMP} == ALL || ${_G_TEMP} == default
+check-makevars::
+ @${ECHO_MSG} "Makefile error: the words all, ALL and default are reserved and cannot be"
+ @${ECHO_MSG} "used in group definitions. Please fix your MASTER_SITES"
+ @${FALSE}
+. endif
+_MASTER_SITES_${_group}+= ${_S:C@^(.*/):[^/:]+$@\1@}
+. endfor
+. else
+_MASTER_SITES_DEFAULT+= ${_S:C@^(.*/):[^/:]+$@\1@}
+. endif
+.endfor
+.for _S in ${PATCH_SITES}
+_S_TEMP= ${_S:S/^${_S:C@/:[^/:]+$@/@}//:S/^://}
+. if !empty(_S_TEMP)
+. for _group in ${_S_TEMP:S/,/ /g}
+_G_TEMP= ${_group}
+. if ${_G_TEMP:C/[a-zA-Z0-9_]//g}
+check-makevars::
+ @${ECHO_MSG} "The ${_S} PATCH_SITES line has"
+ @${ECHO_MSG} "a group with invalid characters, only use [a-zA-Z0-9_]"
+ @${FALSE}
+. endif
+. if ${_G_TEMP} == all || ${_G_TEMP} == ALL || ${_G_TEMP} == default
+check-makevars::
+ @${ECHO_MSG} "The words all, ALL and default are reserved and cannot be"
+ @${ECHO_MSG} "used in group definitions. Please fix your PATCH_SITES"
+ @${FALSE}
+. endif
+_PATCH_SITES_${_group}+= ${_S:C@^(.*/):[^/:]+$@\1@}
+. endfor
+. else
+_PATCH_SITES_DEFAULT+= ${_S:C@^(.*/):[^/:]+$@\1@}
+. endif
+.endfor
+
+# Feed internal _{MASTER,PATCH}_SITE_SUBDIR_n where n is a group designation
+# as per grouping rules (:something)
+# Organize _{MASTER,PATCH}_SITE_SUBDIR_{DEFAULT,[^/:]+} according to grouping
+# rules (:something)
+.for _S in ${MASTER_SITE_SUBDIR}
+_S_TEMP= ${_S:S/^${_S:C@/:[^/:]+$@/@}//:S/^://}
+. if !empty(_S_TEMP)
+. for _group in ${_S_TEMP:S/,/ /g}
+_G_TEMP= ${_group}
+. if ${_G_TEMP} == all || ${_G_TEMP} == ALL || ${_G_TEMP} == default
+check-makevars::
+ @${ECHO_MSG} "Makefile error: the words all, ALL and default are reserved and cannot be"
+ @${ECHO_MSG} "used in group definitions. Please fix your MASTER_SITE_SUBDIR"
+ @${FALSE}
+. endif
+. if defined(_MASTER_SITES_${_group})
+_MASTER_SITE_SUBDIR_${_group}+= ${_S:C@^(.*)/:[^/:]+$@\1@}
+. endif
+. endfor
+. else
+. if defined(_MASTER_SITES_DEFAULT)
+_MASTER_SITE_SUBDIR_DEFAULT+= ${_S:C@^(.*)/:[^/:]+$@\1@}
+. endif
+. endif
+.endfor
+.for _S in ${PATCH_SITE_SUBDIR}
+_S_TEMP= ${_S:S/^${_S:C@/:[^/:]+$@/@}//:S/^://}
+. if !empty(_S_TEMP)
+. for _group in ${_S_TEMP:S/,/ /g}
+_G_TEMP= ${_group}
+. if ${_G_TEMP} == all || ${_G_TEMP} == ALL || ${_G_TEMP} == default
+check-makevars::
+ @${ECHO_MSG} "Makefile error: the words all, ALL and default are reserved and cannot be"
+ @${ECHO_MSG} "used in group definitions. Please fix your PATCH_SITE_SUBDIR"
+ @${FALSE}
+. endif
+. if defined(_PATCH_SITES_${_group})
+_PATCH_SITE_SUBDIR_${_group}+= ${_S:C@^(.*)/:[^/:]+$@\1@}
+. endif
+. endfor
+. else
+. if defined(_PATCH_SITES_DEFAULT)
+_PATCH_SITE_SUBDIR_DEFAULT+= ${_S:C@^(.*)/:[^/:]+$@\1@}
+. endif
+. endif
+.endfor
+
+# Substitute subdirectory names
+# XXX simpler/faster solution but not the best space wise, suggestions please
+.for _S in ${MASTER_SITES}
+_S_TEMP= ${_S:S/^${_S:C@/:[^/:]+$@/@}//:S/^://}
+. if !empty(_S_TEMP)
+. for _group in ${_S_TEMP:S/,/ /g}
+. if !defined(_MASTER_SITE_SUBDIR_${_group})
+MASTER_SITES_TMP= ${_MASTER_SITES_${_group}:S^%SUBDIR%/^^}
+. else
+_S_TEMP_TEMP= ${_MASTER_SITES_${_group}:M*%SUBDIR%/*}
+. if empty(_S_TEMP_TEMP)
+MASTER_SITES_TMP= ${_MASTER_SITES_${_group}}
+. else
+MASTER_SITES_TMP=
+. for site in ${_MASTER_SITES_${_group}}
+_S_TEMP_TEMP= ${site:M*%SUBDIR%/*}
+. if empty(_S_TEMP_TEMP)
+MASTER_SITES_TMP+= ${site}
+. else
+. for dir in ${_MASTER_SITE_SUBDIR_${_group}}
+MASTER_SITES_TMP+= ${site:S^%SUBDIR%^\${dir}^}
+. endfor
+. endif
+. endfor
+. endif
+. endif
+_MASTER_SITES_${_group}:= ${MASTER_SITES_TMP}
+. endfor
+. endif
+.endfor
+.if defined(_MASTER_SITE_SUBDIR_DEFAULT)
+_S_TEMP= ${_MASTER_SITES_DEFAULT:M*%SUBDIR%/*}
+. if empty(_S_TEMP)
+MASTER_SITES_TMP= ${_MASTER_SITES_DEFAULT}
+. else
+MASTER_SITES_TMP=
+. for site in ${_MASTER_SITES_DEFAULT}
+_S_TEMP_TEMP= ${site:M*%SUBDIR%/*}
+. if empty(_S_TEMP_TEMP)
+MASTER_SITES_TMP+= ${site}
+. else
+. for dir in ${_MASTER_SITE_SUBDIR_DEFAULT}
+MASTER_SITES_TMP+= ${site:S^%SUBDIR%^\${dir}^}
+. endfor
+. endif
+. endfor
+. endif
+.else
+MASTER_SITES_TMP= ${_MASTER_SITES_DEFAULT:S^%SUBDIR%/^^}
+.endif
+_MASTER_SITES_DEFAULT:= ${MASTER_SITES_TMP}
+MASTER_SITES_TMP=
+.for _S in ${PATCH_SITES}
+_S_TEMP= ${_S:S/^${_S:C@/:[^/:]+$@/@}//:S/^://}
+. if !empty(_S_TEMP)
+. for _group in ${_S_TEMP:S/,/ /g}
+. if !defined(_PATCH_SITE_SUBDIR_${_group})
+PATCH_SITES_TMP= ${_PATCH_SITES_${_group}:S^%SUBDIR%/^^}
+. else
+_S_TEMP_TEMP= ${_PATCH_SITES_${_group}:M*%SUBDIR%/*}
+. if empty(_S_TEMP_TEMP)
+PATCH_SITES_TMP= ${_PATCH_SITES_${_group}}
+. else
+PATCH_SITES_TMP=
+. for site in ${_PATCH_SITES_${_group}}
+_S_TEMP_TEMP= ${site:M*%SUBDIR%/*}
+. if empty(_S_TEMP_TEMP)
+PATCH_SITES_TMP+= ${site}
+. else
+. for dir in ${_PATCH_SITE_SUBDIR_${_group}}
+PATCH_SITES_TMP+= ${site:S^%SUBDIR%^\${dir}^}
+. endfor
+. endif
+. endfor
+. endif
+. endif
+_PATCH_SITES_${_group}:= ${PATCH_SITES_TMP}
+. endfor
+. endif
+.endfor
+.if defined(_PATCH_SITE_SUBDIR_DEFAULT)
+_S_TEMP= ${_PATCH_SITES_DEFAULT:M*%SUBDIR%/*}
+. if empty(_S_TEMP)
+PATCH_SITES_TMP= ${_PATCH_SITES_DEFAULT}
+. else
+PATCH_SITES_TMP=
+. for site in ${_PATCH_SITES_DEFAULT}
+_S_TEMP_TEMP= ${site:M*%SUBDIR%/*}
+. if empty(_S_TEMP_TEMP)
+PATCH_SITES_TMP+= ${site}
+. else
+. for dir in ${_PATCH_SITE_SUBDIR_DEFAULT}
+PATCH_SITES_TMP+= ${site:S^%SUBDIR%^\${dir}^}
+. endfor
+. endif
+. endfor
+. endif
+.else
+PATCH_SITES_TMP= ${_PATCH_SITES_DEFAULT:S^%SUBDIR%/^^}
+.endif
+_PATCH_SITES_DEFAULT:= ${PATCH_SITES_TMP}
+PATCH_SITES_TMP=
+
+# The primary backup site.
+MASTER_SITE_BACKUP?= \
+ http://distcache.FreeBSD.org/ports-distfiles/${DIST_SUBDIR}/
+MASTER_SITE_BACKUP:= ${MASTER_SITE_BACKUP:S^\${DIST_SUBDIR}/^^}
+
+# If the user has MASTER_SITE_FREEBSD set, go to the FreeBSD repository
+# for everything, but don't search it twice by appending it to the end.
+.if defined(MASTER_SITE_FREEBSD)
+_MASTER_SITE_OVERRIDE:= ${MASTER_SITE_BACKUP}
+_MASTER_SITE_BACKUP:= # empty
+.else
+_MASTER_SITE_OVERRIDE= ${MASTER_SITE_OVERRIDE}
+_MASTER_SITE_BACKUP= ${MASTER_SITE_BACKUP}
+.endif
+
+NOFETCHFILES?=
+
+# Organize DISTFILES, PATCHFILES, _MASTER_SITES_ALL, _PATCH_SITES_ALL
+# according to grouping rules (:something)
+DISTFILES?= ${DISTNAME}${EXTRACT_SUFX}
+_MASTER_SITES_ALL= ${_MASTER_SITES_DEFAULT}
+_PATCH_SITES_ALL= ${_PATCH_SITES_DEFAULT}
+_G_TEMP= DEFAULT
+.for _D in ${DISTFILES}
+_D_TEMP= ${_D:S/^${_D:C/:[^:]+$//}//}
+. if !empty(_D_TEMP)
+. for _group in ${_D_TEMP:S/^://:S/,/ /g}
+. if !defined(_MASTER_SITES_${_group})
+_G_TEMP_TEMP= ${_G_TEMP:M/${_group}/}
+. if empty(_G_TEMP_TEMP)
+_G_TEMP+= ${_group}
+_MASTER_SITES_ALL+= ${_MASTER_SITES_${_group}}
+. endif
+. endif
+. endfor
+_DISTFILES+= ${_D:C/:[^:]+$//}
+. else
+_DISTFILES+= ${_D}
+. endif
+.endfor
+_G_TEMP= DEFAULT
+.for _P in ${PATCHFILES}
+_P_TEMP= ${_P:C/:[^-:][^:]*$//}
+_P_groups= ${_P:S/^${_P:C/:[^:]+$//}//:S/^://}
+_P_file= ${_P_TEMP:C/:-[^:]+$//}
+_P_strip= ${_P_TEMP:S/^${_P_TEMP:C/:-[^:]*$//}//:S/^://}
+. if !empty(_P_groups)
+. for _group in ${_P_groups:S/,/ /g}
+. if !defined(_PATCH_SITES_${_group})
+_G_TEMP_TEMP= ${_G_TEMP:M/${_group}/}
+. if empty(_G_TEMP_TEMP)
+_G_TEMP+= ${_group}
+_PATCH_SITES_ALL+= ${_PATCH_SITES_${_group}}
+. endif
+. endif
+. endfor
+. endif
+_PATCHFILES:= ${_PATCHFILES} ${_P_file}
+. if empty(_P_strip)
+_PATCHFILES2:= ${_PATCHFILES2} ${_P_file}
+. else
+_PATCHFILES2:= ${_PATCHFILES2} ${_P_file}:${_P_strip}
+. endif
+.endfor
+_P_groups=
+_P_file=
+_P_strip=
+_G_TEMP=
+_G_TEMP_TEMP=
+ALLFILES?= ${_DISTFILES} ${_PATCHFILES}
+
+#
+# Sort the master site list according to the patterns in MASTER_SORT
+#
+MASTER_SORT?=
+MASTER_SORT_REGEX?=
+MASTER_SORT_REGEX+= ${MASTER_SORT:S|.|\\.|g:S|^|://[^/]*|:S|$|/|}
+
+MASTER_SORT_AWK= BEGIN { RS = " "; ORS = " "; IGNORECASE = 1 ; gl = "${MASTER_SORT_REGEX:S|\\|\\\\|g}"; }
+.for srt in ${MASTER_SORT_REGEX}
+MASTER_SORT_AWK+= /${srt:S|/|\\/|g}/ { good["${srt:S|\\|\\\\|g}"] = good["${srt:S|\\|\\\\|g}"] " " $$0 ; next; }
+.endfor
+MASTER_SORT_AWK+= { rest = rest " " $$0; } END { n=split(gl, gla); for(i=1;i<=n;i++) { print good[gla[i]]; } print rest; }
+
+#
+# Hackery to enable simple fetch targets with several dynamic MASTER_SITES
+#
+_MASTER_SITES_ENV= _MASTER_SITES_DEFAULT=${_MASTER_SITES_DEFAULT:Q}
+.for _F in ${DISTFILES}
+_F_TEMP= ${_F:S/^${_F:C/:[^:]+$//}//:S/^://}
+. if !empty(_F_TEMP)
+. for _group in ${_F_TEMP:S/,/ /g}
+. if defined(_MASTER_SITES_${_group})
+_MASTER_SITES_ENV+= _MASTER_SITES_${_group}=${_MASTER_SITES_${_group}:Q}
+. endif
+. endfor
+. endif
+.endfor
+_PATCH_SITES_ENV= _PATCH_SITES_DEFAULT=${_PATCH_SITES_DEFAULT:Q}
+.for _F in ${PATCHFILES}
+_F_TEMP= ${_F:S/^${_F:C/:[^-:][^:]*$//}//:S/^://}
+. if !empty(_F_TEMP)
+. for _group in ${_F_TEMP:S/,/ /g}
+. if defined(_PATCH_SITES_${_group})
+_PATCH_SITES_ENV+= _PATCH_SITES_${_group}=${_PATCH_SITES_${_group}:Q}
+. endif
+. endfor
+. endif
+.endfor
+
+CKSUMFILES= ${ALLFILES}
+
+# List of all files, with ${DIST_SUBDIR} in front. Used for checksum.
+.if defined(DIST_SUBDIR)
+.if defined(CKSUMFILES) && ${CKSUMFILES}!=""
+_CKSUMFILES?= ${CKSUMFILES:S/^/${DIST_SUBDIR}\//}
+.endif
+.else
+_CKSUMFILES?= ${CKSUMFILES}
+.endif
+
+# This is what is actually going to be extracted, and is overridable
+# by user.
+EXTRACT_ONLY?= ${_DISTFILES}
+
+.if !target(maintainer)
+maintainer:
+ @${ECHO_CMD} "${MAINTAINER}"
+.endif
+
+.if !defined(CATEGORIES)
+check-categories:
+ @${ECHO_MSG} "${PKGNAME}: Makefile error: CATEGORIES is mandatory."
+ @${FALSE}
+.else
+
+VALID_CATEGORIES+= accessibility afterstep arabic archivers astro audio \
+ benchmarks biology cad chinese comms converters databases \
+ deskutils devel docs dns editors elisp emulators enlightenment finance french ftp \
+ games geography german gnome gnustep graphics hamradio haskell hebrew hungarian \
+ ipv6 irc japanese java kde ${_KDE_CATEGORIES_SUPPORTED} kld korean lang linux lisp \
+ mail mate math mbone misc multimedia net net-im net-mgmt net-p2p news \
+ palm parallel pear perl5 plan9 polish portuguese ports-mgmt \
+ print python ruby rubygems russian \
+ scheme science security shells spanish sysutils \
+ tcl textproc tk \
+ ukrainian vietnamese windowmaker wayland www \
+ x11 x11-clocks x11-drivers x11-fm x11-fonts x11-servers x11-themes \
+ x11-toolkits x11-wm xfce zope base
+
+check-categories:
+.for cat in ${CATEGORIES}
+. if empty(VALID_CATEGORIES:M${cat})
+ @${ECHO_MSG} "${PKGNAME}: Makefile error: category ${cat} not in list of valid categories."; \
+ ${FALSE};
+. endif
+.endfor
+.endif
+
+PKGREPOSITORYSUBDIR?= All
+PKGREPOSITORY?= ${PACKAGES}/${PKGREPOSITORYSUBDIR}
+.if exists(${PACKAGES})
+PACKAGES:= ${PACKAGES:S/:/\:/g}
+_HAVE_PACKAGES= yes
+PKGFILE?= ${PKGREPOSITORY}/${PKGNAME}${PKG_SUFX}
+.else
+PKGFILE?= ${.CURDIR}/${PKGNAME}${PKG_SUFX}
+.endif
+WRKDIR_PKGFILE= ${WRKDIR}/pkg/${PKGNAME}${PKG_SUFX}
+
+# The "latest version" link -- ${PKGNAME} minus everthing after the last '-'
+PKGLATESTREPOSITORY?= ${PACKAGES}/Latest
+PKGBASE?= ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}
+PKGLATESTFILE= ${PKGLATESTREPOSITORY}/${PKGBASE}${PKG_SUFX}
+
+CONFIGURE_SCRIPT?= configure
+CONFIGURE_CMD?= ./${CONFIGURE_SCRIPT}
+CONFIGURE_TARGET?= ${HOSTARCH}-portbld-${OPSYS:tl}${OSREL}
+CONFIGURE_TARGET:= ${CONFIGURE_TARGET:S/--build=//}
+CONFIGURE_LOG?= config.log
+
+# A default message to print if do-configure fails.
+CONFIGURE_FAIL_MESSAGE?= "Please report the problem to ${MAINTAINER} [maintainer] and attach the \"${CONFIGURE_WRKSRC}/${CONFIGURE_LOG}\" including the output of the failure of your make command. Also, it might be a good idea to provide an overview of all packages installed on your system (e.g. a ${PKG_INFO} -Ea)."
+
+CONFIG_SITE?= ${PORTSDIR}/Templates/config.site
+.if defined(GNU_CONFIGURE)
+# Maximum command line length
+.if !defined(CONFIGURE_MAX_CMD_LEN)
+CONFIGURE_MAX_CMD_LEN!= ${SYSCTL} -n kern.argmax
+.endif
+_EXPORTED_VARS+= CONFIGURE_MAX_CMD_LEN
+GNU_CONFIGURE_PREFIX?= ${PREFIX}
+GNU_CONFIGURE_MANPREFIX?= ${MANPREFIX}
+CONFIGURE_ARGS+= --prefix=${GNU_CONFIGURE_PREFIX} $${_LATE_CONFIGURE_ARGS}
+.if defined(CROSS_TOOLCHAIN)
+CROSS_HOST= ${ARCH:S/amd64/x86_64/}-unknown-${OPSYS:tl}${OSREL}
+CONFIGURE_ARGS+= --host=${CROSS_HOST}
+.endif
+CONFIGURE_ENV+= CONFIG_SITE=${CONFIG_SITE} lt_cv_sys_max_cmd_len=${CONFIGURE_MAX_CMD_LEN}
+HAS_CONFIGURE= yes
+
+SET_LATE_CONFIGURE_ARGS= \
+ _LATE_CONFIGURE_ARGS="" ; \
+ if [ -z "${CONFIGURE_ARGS:M--localstatedir=*:Q}" ] && \
+ ${CONFIGURE_CMD} --help 2>&1 | ${GREP} -- --localstatedir > /dev/null; then \
+ _LATE_CONFIGURE_ARGS="$${_LATE_CONFIGURE_ARGS} --localstatedir=/var" ; \
+ fi ; \
+ if [ ! -z "`${CONFIGURE_CMD} --help 2>&1 | ${GREP} -- '--mandir'`" ]; then \
+ _LATE_CONFIGURE_ARGS="$${_LATE_CONFIGURE_ARGS} --mandir=${GNU_CONFIGURE_MANPREFIX}/man" ; \
+ fi ; \
+ if [ ! -z "`${CONFIGURE_CMD} --help 2>&1 | ${GREP} -- '--disable-silent-rules'`" ]; then \
+ _LATE_CONFIGURE_ARGS="$${_LATE_CONFIGURE_ARGS} --disable-silent-rules" ; \
+ fi ; \
+ if [ ! -z "`${CONFIGURE_CMD} --help 2>&1 | ${GREP} -- '--enable-jobserver\[.*\#\]'`" ]; then \
+ _LATE_CONFIGURE_ARGS="$${_LATE_CONFIGURE_ARGS} --enable-jobserver=${MAKE_JOBS_NUMBER}" ; \
+ fi ; \
+ if [ ! -z "`${CONFIGURE_CMD} --help 2>&1 | ${GREP} -- '--infodir'`" ]; then \
+ _LATE_CONFIGURE_ARGS="$${_LATE_CONFIGURE_ARGS} --infodir=${GNU_CONFIGURE_PREFIX}/${INFO_PATH}/${INFO_SUBDIR}" ; \
+ fi ; \
+ if [ -z "`${CONFIGURE_CMD} --version 2>&1 | ${EGREP} -i '(autoconf.*2\.13|Unrecognized option)'`" ]; then \
+ _LATE_CONFIGURE_ARGS="$${_LATE_CONFIGURE_ARGS} --build=${CONFIGURE_TARGET}" ; \
+ else \
+ _LATE_CONFIGURE_ARGS="$${_LATE_CONFIGURE_ARGS} ${CONFIGURE_TARGET}" ; \
+ fi ;
+.endif
+
+# Passed to most of script invocations
+SCRIPTS_ENV+= CURDIR=${MASTERDIR} DISTDIR=${DISTDIR} \
+ WRKDIR=${WRKDIR} WRKSRC=${WRKSRC} PATCHDIR=${PATCHDIR} \
+ SCRIPTDIR=${SCRIPTDIR} FILESDIR=${FILESDIR} \
+ PORTSDIR=${PORTSDIR} PREFIX=${PREFIX} LOCALBASE=${LOCALBASE}
+
+.if defined(BATCH)
+SCRIPTS_ENV+= BATCH=yes
+.endif
+
+.if ${PREFIX} == /usr
+MANPREFIX?= /usr/share
+.else
+MANPREFIX?= ${PREFIX}
+.endif
+
+MANDIRS+= ${MANPREFIX}/man
+.for sect in 1 2 3 4 5 6 7 8 9
+MAN${sect}PREFIX?= ${MANPREFIX}
+.endfor
+MANLPREFIX?= ${MANPREFIX}
+MANNPREFIX?= ${MANPREFIX}
+INFO_PATH?= share/info
+
+.if defined(INFO)
+RUN_DEPENDS+= indexinfo:print/indexinfo
+
+. for D in ${INFO:H}
+RD:= ${D}
+. if ${RD} != "."
+. if !defined(INFO_SUBDIR)
+INFO_SUBDIR:= ${RD}
+. elif ${INFO_SUBDIR} != ${RD}
+BROKEN= only one subdirectory in INFO is allowed
+. endif
+. endif
+.undef RD
+. endfor
+.endif
+
+DOCSDIR_REL?= ${DOCSDIR:S,^${PREFIX}/,,}
+EXAMPLESDIR_REL?= ${EXAMPLESDIR:S,^${PREFIX}/,,}
+DATADIR_REL?= ${DATADIR:S,^${PREFIX}/,,}
+WWWDIR_REL?= ${WWWDIR:S,^${PREFIX}/,,}
+ETCDIR_REL?= ${ETCDIR:S,^${PREFIX}/,,}
+
+PLIST_SUB+= DOCSDIR="${DOCSDIR_REL}" \
+ EXAMPLESDIR="${EXAMPLESDIR_REL}" \
+ DATADIR="${DATADIR_REL}" \
+ WWWDIR="${WWWDIR_REL}" \
+ ETCDIR="${ETCDIR_REL}"
+
+DESKTOPDIR?= ${PREFIX}/share/applications
+
+.MAIN: all
+
+################################################################
+# Many ways to disable a port.
+#
+# If we're in BATCH mode and the port is interactive, or we're
+# in interactive mode and the port is non-interactive, skip all
+# the important targets. The reason we have two modes is that
+# one might want to leave a build in BATCH mode running
+# overnight, then come back in the morning and do _only_ the
+# interactive ones that required your intervention.
+#
+# Ignore ports that can't be resold if building for a CDROM.
+#
+# Don't build a port if it's restricted and we don't want to get
+# into that.
+#
+# Don't build a port if it's broken, unless we're running a parallel
+# build (in case it's fixed).
+#
+# Don't build a port if it's forbidden for whatever reason.
+#
+# Don't build a port if the system is too old.
+################################################################
+
+# Check the machine architectures
+.if defined(ONLY_FOR_ARCHS)
+.for __ARCH in ${ONLY_FOR_ARCHS}
+.if ${ARCH:M${__ARCH}} != ""
+__ARCH_OK?= 1
+.endif
+.endfor
+.else
+__ARCH_OK?= 1
+.endif
+
+.if defined(NOT_FOR_ARCHS)
+.for __NARCH in ${NOT_FOR_ARCHS}
+.if ${ARCH:M${__NARCH}} != ""
+.undef __ARCH_OK
+.endif
+.endfor
+.endif
+
+.if !defined(__ARCH_OK)
+.if defined(ONLY_FOR_ARCHS)
+IGNORE= is only for ${ONLY_FOR_ARCHS:O},
+.else # defined(NOT_FOR_ARCHS)
+IGNORE= does not run on ${NOT_FOR_ARCHS:O},
+.endif
+IGNORE+= while you are running ${ARCH}
+
+.if defined(ONLY_FOR_ARCHS_REASON_${ARCH})
+IGNORE+= (reason: ${ONLY_FOR_ARCHS_REASON_${ARCH}})
+.elif defined(ONLY_FOR_ARCHS_REASON)
+IGNORE+= (reason: ${ONLY_FOR_ARCHS_REASON})
+.endif
+
+.if defined(NOT_FOR_ARCHS_REASON_${ARCH})
+IGNORE+= (reason: ${NOT_FOR_ARCHS_REASON_${ARCH}})
+.elif defined(NOT_FOR_ARCHS_REASON)
+IGNORE+= (reason: ${NOT_FOR_ARCHS_REASON})
+.endif
+
+.endif
+
+# Check the user interaction and legal issues
+.if !defined(NO_IGNORE)
+.if (defined(IS_INTERACTIVE) && defined(BATCH))
+IGNORE= is an interactive port
+.elif (!defined(IS_INTERACTIVE) && defined(INTERACTIVE))
+IGNORE= is not an interactive port
+.elif (defined(NO_CDROM) && defined(FOR_CDROM))
+IGNORE= may not be placed on a CDROM: ${NO_CDROM}
+.elif (defined(RESTRICTED) && defined(NO_RESTRICTED))
+IGNORE= is restricted: ${RESTRICTED}
+.elif (defined(NO_PACKAGE) && defined(PACKAGE_BUILDING))
+IGNORE= may not be packaged: ${NO_PACKAGE}
+.elif defined(IGNORE_${ARCH})
+IGNORE= ${IGNORE_${ARCH}}
+.elif defined(IGNORE_${OPSYS}_${OSREL:R}_${ARCH})
+IGNORE= ${IGNORE_${OPSYS}_${OSREL:R}_${ARCH}}
+.elif defined(IGNORE_${OPSYS}_${OSREL:R})
+IGNORE= ${IGNORE_${OPSYS}_${OSREL:R}}
+.elif defined(IGNORE_${OPSYS})
+IGNORE= ${IGNORE_${OPSYS}}
+.elif defined(BROKEN)
+.if !defined(TRYBROKEN)
+IGNORE= is marked as broken: ${BROKEN}
+.endif
+.elif defined(BROKEN_${ARCH})
+.if !defined(TRYBROKEN)
+IGNORE= is marked as broken on ${ARCH}: ${BROKEN_${ARCH}}
+.endif
+.elif defined(BROKEN_${OPSYS}_${OSREL:R}_${ARCH})
+.if !defined(TRYBROKEN)
+IGNORE= is marked as broken on ${OPSYS} ${OSREL} ${ARCH}: ${BROKEN_${OPSYS}_${OSREL:R}_${ARCH}}
+.endif
+.elif defined(BROKEN_${OPSYS}_${OSREL:R})
+.if !defined(TRYBROKEN)
+IGNORE= is marked as broken on ${OPSYS} ${OSREL}: ${BROKEN_${OPSYS}_${OSREL:R}}
+.endif
+.elif defined(BROKEN_${OPSYS})
+.if !defined(TRYBROKEN)
+IGNORE= is marked as broken on ${OPSYS}: ${BROKEN_${OPSYS}}
+.endif
+.elif defined(FORBIDDEN)
+IGNORE= is forbidden: ${FORBIDDEN}
+.endif
+
+# Define the text to be output to LEGAL
+.if defined(LEGAL_TEXT)
+LEGAL= ${LEGAL_TEXT}
+.elif defined(RESTRICTED)
+LEGAL= ${RESTRICTED}
+.elif defined(NO_CDROM)
+LEGAL= ${NO_CDROM}
+.elif defined(NO_PACKAGE) && ! defined(LEGAL_PACKAGE)
+LEGAL= ${NO_PACKAGE}
+.endif
+
+.if (defined(MANUAL_PACKAGE_BUILD) && defined(PACKAGE_BUILDING))
+IGNORE= has to be built manually: ${MANUAL_PACKAGE_BUILD}
+clean:
+ @${IGNORECMD}
+.endif
+
+.if defined(IGNORE)
+.if defined(IGNORE_SILENT)
+IGNORECMD= ${DO_NADA}
+.else
+IGNORECMD= ${ECHO_MSG} "===> ${PKGNAME} "${IGNORE:Q}. | ${FMT_80} ; exit 1
+.endif
+
+_TARGETS= check-sanity fetch checksum extract patch configure all build \
+ install reinstall test package stage restage
+
+.for target in ${_TARGETS}
+.if !target(${target})
+${target}:
+ @${IGNORECMD}
+.if defined(INSTALLS_DEPENDS)
+ @${FALSE}
+.endif
+.endif
+.endfor
+
+.endif
+
+.endif # !defined(NO_IGNORE)
+
+ignorelist:
+.if defined(IGNORE) || defined(NO_PACKAGE)
+ignorelist: package-name
+.endif
+
+ignorelist-verbose:
+.if defined(IGNORE)
+ @${ECHO_CMD} "${PKGNAME}|IGNORE: "${IGNORE:Q}
+.elif defined(NO_PACKAGE)
+ @${ECHO_CMD} "${PKGNAME}|NO_PACKAGE: "${NO_PACKAGE:Q}
+.endif
+
+################################################################
+# Clean directories for ftp or CDROM.
+################################################################
+
+.if !defined(LICENSE)
+
+.if defined(RESTRICTED)
+clean-restricted: delete-distfiles delete-package
+clean-restricted-list: delete-distfiles-list delete-package-list
+RESTRICTED_FILES?= ${_DISTFILES} ${_PATCHFILES}
+.else
+clean-restricted:
+clean-restricted-list:
+.endif
+
+.if defined(NO_CDROM)
+clean-for-cdrom: delete-distfiles delete-package
+clean-for-cdrom-list: delete-distfiles-list delete-package-list
+RESTRICTED_FILES?= ${_DISTFILES} ${_PATCHFILES}
+.else
+clean-for-cdrom:
+clean-for-cdrom-list:
+.endif
+
+.endif # !defined(LICENSE)
+
+.if defined(ALL_HOOK)
+all:
+ @cd ${.CURDIR} && ${SETENV} CURDIR=${.CURDIR} DISTNAME=${DISTNAME} \
+ DISTDIR=${DISTDIR} WRKDIR=${WRKDIR} WRKSRC=${WRKSRC} \
+ PATCHDIR=${PATCHDIR} SCRIPTDIR=${SCRIPTDIR} \
+ FILESDIR=${FILESDIR} PORTSDIR=${PORTSDIR} PREFIX=${PREFIX} \
+ BUILD_DEPENDS="${BUILD_DEPENDS}" RUN_DEPENDS="${RUN_DEPENDS}" \
+ CONFLICTS="${CONFLICTS}" \
+ ${ALL_HOOK}
+.endif
+
+.if !target(all)
+all: stage
+.endif
+
+.if !defined(DEPENDS_TARGET)
+.if defined(DEPENDS_PRECLEAN)
+DEPENDS_TARGET= clean
+DEPENDS_ARGS= NOCLEANDEPENDS=yes
+.endif
+.if make(reinstall)
+DEPENDS_TARGET+= reinstall
+.else
+DEPENDS_TARGET+= install
+.endif
+.if defined(DEPENDS_CLEAN)
+DEPENDS_TARGET+= clean
+DEPENDS_ARGS+= NOCLEANDEPENDS=yes
+.endif
+.endif
+
+.if defined(USE_GITLAB) && !${USE_GITLAB:Mnodefault} && empty(GL_COMMIT_DEFAULT)
+check-makevars::
+ @${ECHO_MSG} "GL_COMMIT is a required 40 character hash for use USE_GITLAB"
+ @${FALSE}
+.endif
+
+################################################################
+#
+# Do preliminary work to detect if we need to run the config
+# target or not.
+#
+################################################################
+.if ((!defined(OPTIONS_DEFINE) && !defined(OPTIONS_SINGLE) && !defined(OPTIONS_MULTI)) \
+ && !defined(OPTIONS_GROUP) && !defined(OPTIONS_RADIO) \
+ || defined(CONFIG_DONE_${PKGBASE:tu}) || \
+ defined(PACKAGE_BUILDING) || defined(BATCH))
+_OPTIONS_OK=yes
+.endif
+
+################################################################
+# The following are used to create easy dummy targets for
+# disabling some bit of default target behavior you don't want.
+# They still check to see if the target exists, and if so don't
+# do anything, since you might want to set this globally for a
+# group of ports in a Makefile.inc, but still be able to
+# override from an individual Makefile.
+################################################################
+
+# Disable build
+.if defined(NO_BUILD) && !target(build)
+build: configure
+ @${TOUCH} ${TOUCH_FLAGS} ${BUILD_COOKIE}
+.endif
+
+# Disable package
+.if defined(NO_PACKAGE) && !target(package)
+package:
+.if !defined(IGNORE_SILENT)
+ @${ECHO_MSG} "===> ${PKGNAME} may not be packaged: "${NO_PACKAGE:Q}.
+.endif
+.endif
+
+################################################################
+# More standard targets start here.
+#
+# These are the body of the build/install framework. If you are
+# not happy with the default actions, and you can't solve it by
+# adding pre-* or post-* targets/scripts, override these.
+################################################################
+
+.if defined(TRYBROKEN) && defined(BROKEN)
+buildanyway-message:
+ @${ECHO_MSG} "Trying build of ${PKGNAME} even though it is marked BROKEN."
+.endif
+
+# Warn user about deprecated packages. Advisory only.
+
+.if !target(check-deprecated)
+# Try and keep these messages in sync with the ones in Mk/Scripts/create-manifest.sh
+check-deprecated:
+.if ${MAINTAINER} == "ports@FreeBSD.org"
+ @${ECHO_MSG} "===> NOTICE:"
+ @${ECHO_MSG}
+ @${ECHO_MSG} "The ${PORTNAME} port currently does not have a maintainer. As a result, it is"
+ @${ECHO_MSG} "more likely to have unresolved issues, not be up-to-date, or even be removed in"
+ @${ECHO_MSG} "the future. To volunteer to maintain this port, please create an issue at:"
+ @${ECHO_MSG}
+ @${ECHO_MSG} "https://bugs.freebsd.org/bugzilla"
+ @${ECHO_MSG}
+ @${ECHO_MSG} "More information about port maintainership is available at:"
+ @${ECHO_MSG}
+ @${ECHO_MSG} "https://www.freebsd.org/doc/en/articles/contributing/ports-contributing.html#maintain-port"
+ @${ECHO_MSG}
+.endif
+.if defined(DEPRECATED)
+ @${ECHO_MSG} "===> NOTICE:"
+ @${ECHO_MSG}
+ @${ECHO_MSG} "This port is deprecated; you may wish to reconsider installing it:"
+ @${ECHO_MSG}
+ @${ECHO_MSG} ${DEPRECATED:Q}.
+ @${ECHO_MSG}
+.if defined(EXPIRATION_DATE)
+ @${ECHO_MSG} "It is scheduled to be removed on or after ${EXPIRATION_DATE}."
+ @${ECHO_MSG}
+.endif
+.endif
+.endif
+
+# Check if the port is listed in the vulnerability database
+
+AUDITFILE?= ${PKG_DBDIR}/vuln.xml
+
+check-vulnerable:
+.if !defined(DISABLE_VULNERABILITIES) && !defined(PACKAGE_BUILDING) \
+ && exists(${AUDITFILE})
+ @${SETENV} \
+ dp_ECHO_MSG="${ECHO_MSG}" \
+ dp_PKG_BIN="${PKG_BIN}" \
+ dp_PORTNAME="${PORTNAME}" \
+ dp_PKGNAME="${PKGNAME}" \
+ dp_SCRIPTSDIR="${SCRIPTSDIR}" \
+ ${SH} ${SCRIPTSDIR}/check-vulnerable.sh
+.endif
+
+# Quote simply quote all variables, except FETCH_ENV, some ports are creative
+# with it, and it needs to be quoted twice to pass through the echo/eval in
+# do-fetch.
+_DO_FETCH_ENV= \
+ dp_DISABLE_SIZE='${DISABLE_SIZE}' \
+ dp_DISTDIR='${_DISTDIR}' \
+ dp_DISTINFO_FILE='${DISTINFO_FILE}' \
+ dp_DIST_SUBDIR='${DIST_SUBDIR}' \
+ dp_ECHO_MSG='${ECHO_MSG}' \
+ dp_FETCH_AFTER_ARGS='${FETCH_AFTER_ARGS}' \
+ dp_FETCH_BEFORE_ARGS='${FETCH_BEFORE_ARGS}' \
+ dp_FETCH_CMD='${FETCH_CMD}' \
+ dp_FETCH_ENV=${FETCH_ENV:Q} \
+ dp_FORCE_FETCH_ALL='${FORCE_FETCH_ALL}' \
+ dp_FORCE_FETCH_LIST='${FORCE_FETCH_LIST}' \
+ dp_MASTER_SITE_BACKUP='${_MASTER_SITE_BACKUP}' \
+ dp_MASTER_SITE_OVERRIDE='${_MASTER_SITE_OVERRIDE}' \
+ dp_MASTER_SORT_AWK='${MASTER_SORT_AWK}' \
+ dp_NO_CHECKSUM='${NO_CHECKSUM}' \
+ dp_RANDOMIZE_SITES='${_RANDOMIZE_SITES}' \
+ dp_SCRIPTSDIR='${SCRIPTSDIR}' \
+ dp_TARGET='${.TARGET}'
+.if defined(DEVELOPER)
+_DO_FETCH_ENV+= dp_DEVELOPER=yes
+.else
+_DO_FETCH_ENV+= dp_DEVELOPER=
+.endif
+
+# Fetch
+
+.if !target(do-fetch)
+do-fetch:
+.if !empty(DISTFILES)
+ @${SETENV} \
+ ${_DO_FETCH_ENV} ${_MASTER_SITES_ENV} \
+ dp_SITE_FLAVOR=MASTER \
+ ${SH} ${SCRIPTSDIR}/do-fetch.sh ${DISTFILES:C/.*/'&'/}
+.endif
+.if defined(PATCHFILES) && !empty(PATCHFILES)
+ @${SETENV} \
+ ${_DO_FETCH_ENV} ${_PATCH_SITES_ENV} \
+ dp_SITE_FLAVOR=PATCH \
+ ${SH} ${SCRIPTSDIR}/do-fetch.sh ${PATCHFILES:C/:-p[0-9]//:C/.*/'&'/}
+.endif
+.endif
+#
+# Prints out a list of files to fetch (useful to do a batch fetch)
+
+.if !target(fetch-list)
+fetch-list:
+.if !empty(DISTFILES)
+ @${SETENV} \
+ ${_DO_FETCH_ENV} ${_MASTER_SITES_ENV} \
+ dp_SITE_FLAVOR=MASTER \
+ ${SH} ${SCRIPTSDIR}/do-fetch.sh ${DISTFILES:C/.*/'&'/}
+.endif
+.if defined(PATCHFILES) && !empty(PATCHFILES)
+ @${SETENV} \
+ ${_DO_FETCH_ENV} ${_PATCH_SITES_ENV} \
+ dp_SITE_FLAVOR=PATCH \
+ ${SH} ${SCRIPTSDIR}/do-fetch.sh ${PATCHFILES:C/:-p[0-9]//:C/.*/'&'/}
+.endif
+.endif
+
+# Used by fetch-urlall-list and fetch-url-list
+
+.if !target(fetch-url-list-int)
+fetch-url-list-int:
+.if !empty(DISTFILES)
+ @${SETENV} \
+ ${_DO_FETCH_ENV} ${_MASTER_SITES_ENV} \
+ dp_SITE_FLAVOR=MASTER \
+ ${SH} ${SCRIPTSDIR}/do-fetch.sh ${DISTFILES:C/.*/'&'/}
+.endif
+.if defined(PATCHFILES) && !empty(PATCHFILES)
+ @${SETENV} \
+ ${_DO_FETCH_ENV} ${_PATCH_SITES_ENV} \
+ dp_SITE_FLAVOR=PATCH \
+ ${SH} ${SCRIPTSDIR}/do-fetch.sh ${PATCHFILES:C/:-p[0-9]//:C/.*/'&'/}
+.endif
+.endif
+
+# Prints out all the URL for all the DISTFILES and PATCHFILES.
+
+.if !target(fetch-urlall-list)
+fetch-urlall-list:
+ @cd ${.CURDIR} && ${SETENV} FORCE_FETCH_ALL=yes ${MAKE} fetch-url-list-int
+.endif
+
+# Prints the URL for all the DISTFILES and PATCHFILES that are not here
+
+.if !target(fetch-url-list)
+fetch-url-list: fetch-url-list-int
+.endif
+
+
+# Extract
+
+clean-wrkdir:
+ @${RM} -r ${WRKDIR}
+
+.if !target(do-extract)
+do-extract: ${EXTRACT_WRKDIR}
+ @for file in ${EXTRACT_ONLY}; do \
+ if ! (cd ${EXTRACT_WRKDIR} && ${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${_DISTDIR}/$$file ${EXTRACT_AFTER_ARGS});\
+ then \
+ exit 1; \
+ fi; \
+ done
+ @if [ ${UID} = 0 ]; then \
+ ${CHMOD} -R ug-s ${WRKDIR}; \
+ ${CHOWN} -R 0:0 ${WRKDIR}; \
+ fi
+.endif
+
+# Patch
+
+.if !target(do-patch)
+do-patch:
+ @${SETENV} \
+ dp_BZCAT="${BZCAT}" \
+ dp_CAT="${CAT}" \
+ dp_DISTDIR="${_DISTDIR}" \
+ dp_ECHO_MSG="${ECHO_MSG}" \
+ dp_EXTRA_PATCHES="${EXTRA_PATCHES}" \
+ dp_EXTRA_PATCH_TREE="${EXTRA_PATCH_TREE}" \
+ dp_GZCAT="${GZCAT}" \
+ dp_OPSYS="${OPSYS}" \
+ dp_PATCH="${PATCH}" \
+ dp_PATCHDIR="${PATCHDIR}" \
+ dp_PATCHFILES="${_PATCHFILES2}" \
+ dp_PATCH_ARGS=${PATCH_ARGS:Q} \
+ dp_PATCH_DEBUG_TMP="${PATCH_DEBUG_TMP}" \
+ dp_PATCH_DIST_ARGS="${PATCH_DIST_ARGS}" \
+ dp_PATCH_SILENT="${PATCH_SILENT}" \
+ dp_PATCH_WRKSRC=${PATCH_WRKSRC} \
+ dp_PKGNAME="${PKGNAME}" \
+ dp_PKGORIGIN="${PKGORIGIN}" \
+ dp_SCRIPTSDIR="${SCRIPTSDIR}" \
+ dp_UNZIP_NATIVE_CMD="${UNZIP_NATIVE_CMD}" \
+ dp_XZCAT="${XZCAT}" \
+ ${SH} ${SCRIPTSDIR}/do-patch.sh
+.endif
+
+.if !target(run-autotools-fixup)
+run-autotools-fixup:
+# Work around an issue where FreeBSD 10.0 is detected as FreeBSD 1.x.
+.if !defined(WITHOUT_FBSD10_FIX)
+ -@for f in `${FIND} ${WRKDIR} -type f \( -name config.libpath -o \
+ -name config.rpath -o -name configure -o -name libtool.m4 -o \
+ -name ltconfig -o -name libtool -o -name aclocal.m4 -o \
+ -name acinclude.m4 \)` ; do \
+ ${SED} -i.fbsd10bak \
+ -e 's|freebsd1\*)|freebsd1.\*)|g' \
+ -e 's|freebsd\[12\]\*)|freebsd[12].*)|g' \
+ -e 's|freebsd\[123\]\*)|freebsd[123].*)|g' \
+ -e 's|freebsd\[\[12\]\]\*)|freebsd[[12]].*)|g' \
+ -e 's|freebsd\[\[123\]\]\*)|freebsd[[123]].*)|g' \
+ $${f} ; \
+ cmp -s $${f}.fbsd10bak $${f} || \
+ ${ECHO_MSG} "===> FreeBSD 10 autotools fix applied to $${f}"; \
+ ${TOUCH} ${TOUCH_FLAGS} -mr $${f}.fbsd10bak $${f} ; \
+ ${RM} $${f}.fbsd10bak ; \
+ done
+.endif
+.endif
+
+# Configure
+
+.if !target(do-configure)
+do-configure:
+ @if [ -f ${SCRIPTDIR}/configure ]; then \
+ cd ${.CURDIR} && ${SETENV} ${SCRIPTS_ENV} ${SH} \
+ ${SCRIPTDIR}/configure; \
+ fi
+.if defined(GNU_CONFIGURE)
+ @CONFIG_GUESS_DIRS=$$(${FIND} ${WRKDIR} -name config.guess -o -name config.sub \
+ | ${XARGS} -n 1 ${DIRNAME}); \
+ for _D in $${CONFIG_GUESS_DIRS}; do \
+ ${RM} $${_D}/config.guess; \
+ ${CP} ${TEMPLATES}/config.guess $${_D}/config.guess; \
+ ${CHMOD} a+rx $${_D}/config.guess; \
+ ${RM} $${_D}/config.sub; \
+ ${CP} ${TEMPLATES}/config.sub $${_D}/config.sub; \
+ ${CHMOD} a+rx $${_D}/config.sub; \
+ done
+.endif
+.if defined(HAS_CONFIGURE)
+ @${MKDIR} ${CONFIGURE_WRKSRC}
+ @(cd ${CONFIGURE_WRKSRC} && \
+ ${SET_LATE_CONFIGURE_ARGS} \
+ if ! ${SETENV} CC="${CC}" CPP="${CPP}" CXX="${CXX}" \
+ CFLAGS="${CFLAGS}" CPPFLAGS="${CPPFLAGS}" CXXFLAGS="${CXXFLAGS}" \
+ LDFLAGS="${LDFLAGS}" LIBS="${LIBS}" \
+ INSTALL="/usr/bin/install -c" \
+ INSTALL_DATA="${INSTALL_DATA}" \
+ INSTALL_LIB="${INSTALL_LIB}" \
+ INSTALL_PROGRAM="${INSTALL_PROGRAM}" \
+ INSTALL_SCRIPT="${INSTALL_SCRIPT}" \
+ ${CONFIGURE_ENV} ${CONFIGURE_CMD} ${CONFIGURE_ARGS}; then \
+ ${ECHO_MSG} "===> Script \"${CONFIGURE_SCRIPT}\" failed unexpectedly."; \
+ (${ECHO_CMD} ${CONFIGURE_FAIL_MESSAGE}) | ${FMT_80} ; \
+ ${FALSE}; \
+ fi)
+.endif
+.endif
+
+# Build
+# XXX: ${MAKE_ARGS:N${DESTDIRNAME}=*} would be easier but it is not valid with the old fmake
+DO_MAKE_BUILD?= ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} ${_MAKE_JOBS} ${MAKE_ARGS:C,^${DESTDIRNAME}=.*,,g}
+.if !target(do-build)
+do-build:
+ @(cd ${BUILD_WRKSRC}; if ! ${DO_MAKE_BUILD} ${ALL_TARGET}; then \
+ if [ -n "${BUILD_FAIL_MESSAGE}" ] ; then \
+ ${ECHO_MSG} "===> Compilation failed unexpectedly."; \
+ (${ECHO_CMD} "${BUILD_FAIL_MESSAGE}") | ${FMT_80} ; \
+ fi; \
+ ${FALSE}; \
+ fi)
+.endif
+
+# Check conflicts
+
+.if !target(check-conflicts)
+check-conflicts: check-build-conflicts check-install-conflicts
+.endif
+
+.if !target(check-build-conflicts)
+check-build-conflicts:
+.if ( defined(CONFLICTS) || defined(CONFLICTS_BUILD) ) && !defined(DISABLE_CONFLICTS) && !defined(DEFER_CONFLICTS_CHECK)
+ @conflicts_with=$$( \
+ { ${PKG_QUERY} -g "%n-%v %p %o" ${CONFLICTS:C/.+/'&'/} ${CONFLICTS_BUILD:C/.+/'&'/} 2>/dev/null || : ; } \
+ | while read pkgname prfx orgn; do \
+ if [ "/${PREFIX}" = "/$${prfx}" -a "/${PKGORIGIN}" != "/$${orgn}" ]; then \
+ ${ECHO_CMD} -n " $${pkgname}"; \
+ fi; \
+ done); \
+ if [ -n "$${conflicts_with}" ]; then \
+ ${ECHO_MSG}; \
+ ${ECHO_MSG} "===> ${PKGNAME} conflicts with installed package(s): "; \
+ for entry in $${conflicts_with}; do \
+ ${ECHO_MSG} " $${entry}"; \
+ done; \
+ ${ECHO_MSG}; \
+ ${ECHO_MSG} " They will not build together."; \
+ ${ECHO_MSG} " Please remove them first with pkg delete."; \
+ exit 1;\
+ fi
+.endif
+.endif
+
+.if !target(identify-install-conflicts)
+identify-install-conflicts:
+.if ( defined(CONFLICTS) || defined(CONFLICTS_INSTALL) ) && !defined(DISABLE_CONFLICTS)
+ @conflicts_with=$$( \
+ { ${PKG_QUERY} -g "%n-%v %p %o" ${CONFLICTS:C/.+/'&'/} ${CONFLICTS_INSTALL:C/.+/'&'/} 2>/dev/null || : ; } \
+ | while read pkgname prfx orgn; do \
+ if [ "/${PREFIX}" = "/$${prfx}" -a "/${PKGORIGIN}" != "/$${orgn}" ]; then \
+ ${ECHO_CMD} -n " $${pkgname}"; \
+ fi; \
+ done); \
+ if [ -n "$${conflicts_with}" ]; then \
+ ${ECHO_MSG}; \
+ ${ECHO_MSG} "===> ${PKGNAME} conflicts with installed package(s): "; \
+ for entry in $${conflicts_with}; do \
+ ${ECHO_MSG} " $${entry}"; \
+ done; \
+ ${ECHO_MSG}; \
+ ${ECHO_MSG} " They install files into the same place."; \
+ ${ECHO_MSG} " You may want to stop build with Ctrl + C."; \
+ sleep 10; \
+ fi
+.endif
+.endif
+
+.if !target(check-install-conflicts)
+check-install-conflicts:
+.if ( defined(CONFLICTS) || defined(CONFLICTS_INSTALL) || ( defined(CONFLICTS_BUILD) && defined(DEFER_CONFLICTS_CHECK) ) ) && !defined(DISABLE_CONFLICTS)
+.if defined(DEFER_CONFLICTS_CHECK)
+ @conflicts_with=$$( \
+ { ${PKG_QUERY} -g "%n-%v %p %o" ${CONFLICTS:C/.+/'&'/} ${CONFLICTS_BUILD:C/.+/'&'/} ${CONFLICTS_INSTALL:C/.+/'&'/} 2>/dev/null || : ; } \
+ | while read pkgname prfx orgn; do \
+ if [ "/${PREFIX}" = "/$${prfx}" -a "/${PKGORIGIN}" != "/$${orgn}" ]; then \
+ ${ECHO_CMD} -n " $${pkgname}"; \
+ fi; \
+ done); \
+ if [ -n "$${conflicts_with}" ]; then \
+ ${ECHO_MSG}; \
+ ${ECHO_MSG} "===> ${PKGNAME} conflicts with installed package(s): "; \
+ for entry in $${conflicts_with}; do \
+ ${ECHO_MSG} " $${entry}"; \
+ done; \
+ ${ECHO_MSG}; \
+ ${ECHO_MSG} " Please remove them first with pkg delete."; \
+ exit 1; \
+ fi
+.else
+ @conflicts_with=$$( \
+ { ${PKG_QUERY} -g "%n-%v %p %o" ${CONFLICTS:C/.+/'&'/} ${CONFLICTS_INSTALL:C/.+/'&'/} 2>/dev/null || : ; } \
+ | while read pkgname prfx orgn; do \
+ if [ "/${PREFIX}" = "/$${prfx}" -a "/${PKGORIGIN}" != "/$${orgn}" ]; then \
+ ${ECHO_CMD} -n " $${pkgname}"; \
+ fi; \
+ done); \
+ if [ -n "$${conflicts_with}" ]; then \
+ ${ECHO_MSG}; \
+ ${ECHO_MSG} "===> ${PKGNAME} conflicts with installed package(s): "; \
+ for entry in $${conflicts_with}; do \
+ ${ECHO_MSG} " $${entry}"; \
+ done; \
+ ${ECHO_MSG}; \
+ ${ECHO_MSG} " They install files into the same place."; \
+ ${ECHO_MSG} " Please remove them first with pkg delete."; \
+ exit 1; \
+ fi
+.endif # defined(DEFER_CONFLICTS_CHECK)
+.endif
+.endif
+
+# Install
+
+.if !target(do-install) && !defined(NO_INSTALL)
+do-install:
+ @(cd ${INSTALL_WRKSRC} && ${SETENV} ${MAKE_ENV} ${FAKEROOT} ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${INSTALL_TARGET})
+.endif
+
+# Test
+
+.if !target(do-test) && defined(TEST_TARGET)
+DO_MAKE_TEST?= ${SETENV} ${TEST_ENV} ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} ${TEST_ARGS:C,^${DESTDIRNAME}=.*,,g}
+do-test:
+ @(cd ${TEST_WRKSRC}; if ! ${DO_MAKE_TEST} ${TEST_TARGET}; then \
+ if [ -n "${TEST_FAIL_MESSAGE}" ] ; then \
+ ${ECHO_MSG} "===> Tests failed unexpectedly."; \
+ (${ECHO_CMD} "${TEST_FAIL_MESSAGE}") | ${FMT_80} ; \
+ fi; \
+ ${FALSE}; \
+ fi)
+.endif
+
+# Package
+
+.if defined(_HAVE_PACKAGES)
+_EXTRA_PACKAGE_TARGET_DEP+= ${PKGFILE}
+_PORTS_DIRECTORIES+= ${PKGREPOSITORY}
+
+${PKGFILE}: ${WRKDIR_PKGFILE} ${PKGREPOSITORY}
+ @${LN} -f ${WRKDIR_PKGFILE} ${PKGFILE} 2>/dev/null \
+ || ${CP} -f ${WRKDIR_PKGFILE} ${PKGFILE}
+
+. if ${PKGORIGIN} == "ports-mgmt/pkg" || ${PKGORIGIN} == "ports-mgmt/pkg-devel"
+_EXTRA_PACKAGE_TARGET_DEP+= ${PKGLATESTREPOSITORY}
+_PORTS_DIRECTORIES+= ${PKGLATESTREPOSITORY}
+_EXTRA_PACKAGE_TARGET_DEP+= ${PKGLATESTFILE}
+
+${PKGLATESTFILE}: ${PKGFILE} ${PKGLATESTREPOSITORY}
+ ${INSTALL} -l rs ${PKGFILE} ${PKGLATESTFILE}
+. endif
+
+.endif
+
+# from here this will become a loop for subpackages
+${WRKDIR_PKGFILE}: ${TMPPLIST} create-manifest ${WRKDIR}/pkg
+ @if ! ${SETENV} ${PKG_ENV} FORCE_POST="${_FORCE_POST_PATTERNS}" ${PKG_CREATE} ${PKG_CREATE_ARGS} -m ${METADIR} -p ${TMPPLIST} -f ${PKG_SUFX:S/.//} -o ${WRKDIR}/pkg ${PKGNAME}; then \
+ cd ${.CURDIR} && eval ${MAKE} delete-package >/dev/null; \
+ exit 1; \
+ fi
+ #
+# Temporary will be later dynamically added per subpackages
+_EXTRA_PACKAGE_TARGET_DEP+= ${WRKDIR_PKGFILE}
+# This will be the end of the loop
+
+.if !target(do-package)
+PKG_CREATE_ARGS= -r ${STAGEDIR}
+. if defined(PKG_CREATE_VERBOSE)
+PKG_CREATE_ARGS+= -v
+. endif
+do-package: ${_EXTRA_PACKAGE_TARGET_DEP} ${WRKDIR}/pkg
+.endif
+
+.if !target(delete-package)
+delete-package:
+ @${ECHO_MSG} "===> Deleting package for ${PKGNAME}"
+# When staging, the package may only be in the workdir if not root
+ @${RM} ${PKGFILE} ${WRKDIR_PKGFILE} 2>/dev/null || :
+.endif
+
+.if !target(delete-package-list)
+delete-package-list:
+ @${ECHO_CMD} "[ -f ${PKGFILE} ] && (${ECHO_CMD} deleting ${PKGFILE}; ${RM} ${PKGFILE})"
+.endif
+
+# Used by scripts and users to install a package from local repository.
+# Poudriere -i uses this, please keep.
+.if !target(install-package)
+.if defined(FORCE_PKG_REGISTER)
+_INSTALL_PKG_ARGS= -f
+.endif
+.if defined(INSTALLS_DEPENDS)
+_INSTALL_PKG_ARGS+= -A
+.endif
+install-package:
+ @if [ -f "${WRKDIR}/pkg/${PKGNAME}${PKG_SUFX}" ]; then \
+ _pkgfile="${WRKDIR_PKGFILE}"; \
+ else \
+ _pkgfile="${PKGFILE}"; \
+ fi; \
+ ${PKG_ADD} ${_INSTALL_PKG_ARGS} $${_pkgfile}
+.endif
+
+
+# Utility targets follow
+
+.if !target(check-already-installed)
+.if !defined(NO_PKG_REGISTER) && !defined(FORCE_PKG_REGISTER)
+check-already-installed:
+ @${ECHO_MSG} "===> Checking if ${PKGBASE} is already installed"; \
+ pkgname=`${PKG_INFO} -q -O ${PKGBASE}`; \
+ if [ -n "$${pkgname}" ]; then \
+ v=`${PKG_VERSION} -t $${pkgname} ${PKGNAME}`; \
+ if [ "$${v}" = "<" ]; then \
+ ${ECHO_CMD} "===> An older version of ${PKGBASE} is already installed ($${pkgname})"; \
+ else \
+ ${ECHO_CMD} "===> ${PKGNAME} is already installed"; \
+ fi; \
+ ${ECHO_MSG} " You may wish to \`\`make deinstall'' and install this port again"; \
+ ${ECHO_MSG} " by \`\`make reinstall'' to upgrade it properly."; \
+ ${ECHO_MSG} " If you really wish to overwrite the old port of ${PKGBASE}"; \
+ ${ECHO_MSG} " without deleting it first, set the variable \"FORCE_PKG_REGISTER\""; \
+ ${ECHO_MSG} " in your environment or the \"make install\" command line."; \
+ exit 1; \
+ fi
+.endif
+.endif
+
+.if !target(check-umask)
+check-umask:
+ @if [ `${SH} -c umask` != 0022 ]; then \
+ ${ECHO_MSG} "===> Warning: your umask is \"`${SH} -c umask`"\".; \
+ ${ECHO_MSG} " If this is not desired, set it to an appropriate value"; \
+ ${ECHO_MSG} " and install this port again by \`\`make reinstall''."; \
+ fi
+.endif
+
+# Needed for poudriere wait for at least a year before removing
+# XXX 2017-04-09
+.if !target(install-mtree)
+install-mtree:
+.endif
+
+.if !target(install-ldconfig-file)
+install-ldconfig-file:
+. if defined(USE_LDCONFIG) || defined(USE_LDCONFIG32)
+. if defined(USE_LDCONFIG)
+. if !defined(USE_LINUX_PREFIX)
+. if ${USE_LDCONFIG} != "${LOCALBASE}/lib" && !defined(INSTALL_AS_USER)
+ @${ECHO_MSG} "===> Installing ldconfig configuration file"
+. if defined(NO_MTREE) || ${PREFIX} != ${LOCALBASE}
+ @${MKDIR} ${STAGEDIR}${LOCALBASE}/${LDCONFIG_DIR}
+. endif
+ @${ECHO_CMD} ${USE_LDCONFIG} | ${TR} ' ' '\n' \
+ > ${STAGEDIR}${LOCALBASE}/${LDCONFIG_DIR}/${PKGBASE}
+ @${ECHO_CMD} ${LOCALBASE}/${LDCONFIG_DIR}/${PKGBASE} >> ${TMPPLIST}
+. if ${PREFIX} != ${LOCALBASE}
+ @${ECHO_CMD} "@dir ${LOCALBASE}/${LDCONFIG_DIR}" >> ${TMPPLIST}
+. endif
+. endif
+. endif
+. endif
+. if defined(USE_LDCONFIG32)
+. if !defined(INSTALL_AS_USER)
+ @${ECHO_MSG} "===> Installing 32-bit ldconfig configuration file"
+. if defined(NO_MTREE) || ${PREFIX} != ${LOCALBASE}
+ @${MKDIR} ${STAGEDIR}${LOCALBASE}/${LDCONFIG32_DIR}
+. endif
+ @${ECHO_CMD} ${USE_LDCONFIG32} | ${TR} ' ' '\n' \
+ > ${STAGEDIR}${LOCALBASE}/${LDCONFIG32_DIR}/${PKGBASE}
+ @${ECHO_CMD} ${LOCALBASE}/${LDCONFIG32_DIR}/${PKGBASE} >> ${TMPPLIST}
+. if ${PREFIX} != ${LOCALBASE}
+ @${ECHO_CMD} "@dir ${LOCALBASE}/${LDCONFIG32_DIR}" >> ${TMPPLIST}
+. endif
+. endif
+. endif
+. endif
+.endif
+
+.if !defined(USE_LINUX_PREFIX)
+. if !target(fixup-lib-pkgconfig)
+fixup-lib-pkgconfig:
+ @if [ -d ${STAGEDIR}${PREFIX}/lib/pkgconfig ]; then \
+ if [ -z "$$(${FIND} ${STAGEDIR}${PREFIX}/lib/pkgconfig -maxdepth 0 -empty)" ]; then \
+ ${MKDIR} ${STAGEDIR}${PREFIX}/libdata/pkgconfig; \
+ ${MV} ${STAGEDIR}${PREFIX}/lib/pkgconfig/* ${STAGEDIR}${PREFIX}/libdata/pkgconfig; \
+ fi; \
+ ${RMDIR} ${STAGEDIR}${PREFIX}/lib/pkgconfig; \
+ fi
+. endif
+.endif
+
+.if !target(create-users-groups)
+.if defined(GROUPS) || defined(USERS)
+_UG_INSTALL= ${WRKDIR}/users-groups-install.sh
+_UG_DEINSTALL= ${WRKDIR}/users-groups-deinstall.sh
+PKGPREINSTALL+= ${_UG_INSTALL}
+PKGPOSTDEINSTALL+= ${_UG_DEINSTALL}
+create-users-groups:
+ @${SETENV} \
+ dp_ECHO_MSG="${ECHO_MSG}" \
+ dp_GID_FILES="${GID_FILES}" \
+ dp_GID_OFFSET="${GID_OFFSET}" \
+ dp_GROUPS_BLACKLIST="${GROUPS_BLACKLIST}" \
+ dp_INSTALL="${INSTALL}" \
+ dp_OPSYS="${OPSYS}" \
+ dp_OSVERSION="${OSVERSION}" \
+ dp_PREFIX="${PREFIX}" \
+ dp_PW="${PW}" \
+ dp_SCRIPTSDIR="${SCRIPTSDIR}" \
+ dp_UG_DEINSTALL="${_UG_DEINSTALL}" \
+ dp_UG_INSTALL="${_UG_INSTALL}" \
+ dp_UID_FILES="${UID_FILES}" \
+ dp_UID_OFFSET="${UID_OFFSET}" \
+ dp_USERS_BLACKLIST="${USERS_BLACKLIST}" \
+ ${SH} ${SCRIPTSDIR}/do-users-groups.sh "${USERS}" "${GROUPS}"
+.endif
+.endif
+
+.if !defined(DISABLE_SECURITY_CHECK)
+.if !target(security-check)
+security-check: ${TMPPLIST}
+# Scan PLIST for:
+# 1. setugid files
+# 2. accept()/recvfrom() which indicates network listening capability
+# 3. insecure functions (gets/mktemp/tempnam/[XXX])
+# 4. startup scripts, in conjunction with 2.
+# 5. world-writable files/dirs
+#
+# The ${NONEXISTENT} argument of ${READELF} is there so that there are always
+# at least two file arguments, and forces it to always output the "File: foo"
+# header lines.
+#
+ -@${RM} ${WRKDIR}/.PLIST.setuid ${WRKDIR}/.PLIST.writable ${WRKDIR}/.PLIST.readelf; \
+ ${AWK} -v prefix='${PREFIX}' ' \
+ match($$0, /^@cwd /) { prefix = substr($$0, RSTART + RLENGTH); if (prefix == "/") prefix=""; next; } \
+ /^@/ { next; } \
+ /^\// { print; next; } \
+ { print prefix "/" $$0; } \
+ ' ${TMPPLIST} > ${WRKDIR}/.PLIST.flattened; \
+ ${TR} '\n' '\0' < ${WRKDIR}/.PLIST.flattened \
+ | ${XARGS} -0 -J % ${FIND} % -prune ! -type l -type f \( -perm -4000 -o -perm -2000 \) \( -perm -0010 -o -perm -0001 \) 2> /dev/null > ${WRKDIR}/.PLIST.setuid; \
+ ${TR} '\n' '\0' < ${WRKDIR}/.PLIST.flattened \
+ | ${XARGS} -0 -J % ${FIND} % -prune -perm -0002 \! -type l 2> /dev/null > ${WRKDIR}/.PLIST.writable; \
+ ${TR} '\n' '\0' < ${WRKDIR}/.PLIST.flattened \
+ | ${XARGS} -0 -J % ${FIND} % -prune ! -type l -type f -print0 2> /dev/null \
+ | ${XARGS} -0 ${READELF} -r ${NONEXISTENT} 2> /dev/null > ${WRKDIR}/.PLIST.readelf; \
+ if \
+ ! ${AWK} -v audit="$${PORTS_AUDIT}" -f ${SCRIPTSDIR}/security-check.awk \
+ ${WRKDIR}/.PLIST.flattened ${WRKDIR}/.PLIST.readelf ${WRKDIR}/.PLIST.setuid ${WRKDIR}/.PLIST.writable; \
+ then \
+ www_site=$$(cd ${.CURDIR} && ${MAKE} www-site); \
+ if [ ! -z "$${www_site}" ]; then \
+ ${ECHO_MSG}; \
+ ${ECHO_MSG} " For more information, and contact details about the security"; \
+ ${ECHO_MSG} " status of this software, see the following webpage: "; \
+ ${ECHO_MSG} "$${www_site}"; \
+ fi; \
+ fi
+.endif
+.else # i.e. defined(DISABLE_SECURITY_CHECK)
+security-check:
+ @${ECHO_MSG} " WARNING: Security check has been disabled."
+.endif # !defined(DISABLE_SECURITY_CHECK)
+
+################################################################
+# Skeleton targets start here
+#
+# You shouldn't have to change these. Either add the pre-* or
+# post-* targets/scripts or redefine the do-* targets. These
+# targets don't do anything other than checking for cookies and
+# call the necessary targets/scripts.
+################################################################
+
+extract-message:
+ @${ECHO_MSG} "===> Extracting for ${PKGNAME}"
+patch-message:
+ @${ECHO_MSG} "===> Patching for ${PKGNAME}"
+configure-message:
+ @${ECHO_MSG} "===> Configuring for ${PKGNAME}"
+build-message:
+ @${ECHO_MSG} "===> Building for ${PKGNAME}"
+stage-message:
+ @${ECHO_MSG} "===> Staging for ${PKGNAME}"
+install-message:
+ @${ECHO_MSG} "===> Installing for ${PKGNAME}"
+test-message:
+ @${ECHO_MSG} "===> Testing for ${PKGNAME}"
+package-message:
+ @${ECHO_MSG} "===> Building package for ${PKGNAME}"
+
+# Empty pre-* and post-* targets
+
+.if exists(${SCRIPTDIR})
+.for stage in pre post
+.for name in pkg check-sanity fetch extract patch configure build stage install package
+
+.if !target(${stage}-${name}-script)
+.if exists(${SCRIPTDIR}/${stage}-${name})
+${stage}-${name}-script:
+ @ cd ${.CURDIR} && ${SETENV} ${SCRIPTS_ENV} ${SH} \
+ ${SCRIPTDIR}/${.TARGET:S/-script$//}
+.endif
+.endif
+
+.endfor
+.endfor
+.endif
+
+.if !target(pretty-print-www-site)
+pretty-print-www-site:
+ @www_site=$$(cd ${.CURDIR} && ${MAKE} www-site); \
+ if [ -n "$${www_site}" ]; then \
+ ${ECHO_MSG} -n " and/or visit the "; \
+ ${ECHO_MSG} -n "<a href=\"$${www_site}\">web site</a>"; \
+ ${ECHO_MSG} " for further information"; \
+ fi
+.endif
+
+################################################################
+# Some more targets supplied for users' convenience
+################################################################
+
+# Checkpatch
+#
+# Special target to verify patches
+
+.if !target(checkpatch)
+checkpatch:
+ @cd ${.CURDIR} && ${MAKE} ${PATCH_SILENT} PATCH_CHECK_ONLY=yes ${_PATCH_DEP} ${_PATCH_REAL_SEQ}
+.endif
+
+# Reinstall
+#
+# Special target to re-run install
+
+.if !target(reinstall)
+reinstall:
+ @${RM} ${INSTALL_COOKIE} ${PACKAGE_COOKIE}
+ @cd ${.CURDIR} && DEPENDS_TARGET="${DEPENDS_TARGET}" ${MAKE} -DFORCE_PKG_REGISTER install
+.endif
+
+.if !target(restage)
+restage:
+ @${RM} -r ${STAGEDIR} ${STAGE_COOKIE} ${INSTALL_COOKIE} ${PACKAGE_COOKIE}
+ @cd ${.CURDIR} && ${MAKE} stage
+.endif
+
+# Deinstall
+#
+# Special target to remove installation
+
+.if !target(deinstall)
+deinstall:
+.if defined(UID) && ${UID} != 0 && !defined(INSTALL_AS_USER)
+ @${ECHO_MSG} "===> Switching to root credentials for '${.TARGET}' target"
+ @cd ${.CURDIR} && \
+ ${SU_CMD} "${MAKE} ${.TARGET}"
+ @${ECHO_MSG} "===> Returning to user credentials"
+.else
+ @${ECHO_MSG} "===> Deinstalling for ${PKGBASE}"
+ @if ${PKG_INFO} -e ${PKGBASE}; then \
+ p=`${PKG_INFO} -q -O ${PKGBASE}`; \
+ ${ECHO_MSG} "===> Deinstalling $${p}"; \
+ ${PKG_DELETE} -f ${PKGBASE} ; \
+ else \
+ ${ECHO_MSG} "===> ${PKGBASE} not installed, skipping"; \
+ fi
+ @${RM} ${INSTALL_COOKIE} ${PACKAGE_COOKIE}
+.endif
+.endif
+
+# Deinstall-all
+#
+# Special target to remove installation of all ports of the same origin
+
+.if !target(deinstall-all)
+deinstall-all:
+.if ${UID} != 0 && !defined(INSTALL_AS_USER)
+ @${ECHO_MSG} "===> Switching to root credentials for '${.TARGET}' target"
+ @cd ${.CURDIR} && \
+ ${SU_CMD} "${MAKE} ${.TARGET}"
+ @${ECHO_MSG} "===> Returning to user credentials"
+.else
+ @${ECHO_MSG} "===> Deinstalling for ${PKGORIGIN}"
+ @deinstall_names=`${PKG_INFO} -q -O ${PKGORIGIN}`; \
+ for oldpkgorigin in $$(${GREP} "|${PKGORIGIN}|" ${PORTSDIR}/MOVED | ${CUT} -f 1 -d '|' | ${SORT} -u); do \
+ deinstall_names="$${deinstall_names} $$(${PKG_INFO} -q -O $${oldpkgorigin})"; \
+ done; \
+ if [ -n "$${deinstall_names}" ]; then \
+ for d in $${deinstall_names}; do \
+ ${ECHO_MSG} "===> Deinstalling $${d}"; \
+ ${PKG_DELETE} -f $${d}; \
+ done; \
+ else \
+ ${ECHO_MSG} "===> ${PKGORIGIN} not installed, skipping"; \
+ fi; \
+ ${RM} ${INSTALL_COOKIE} ${PACKAGE_COOKIE}
+.endif
+.endif
+
+# Cleaning up
+
+.if !target(do-clean)
+do-clean:
+ @if [ -d ${WRKDIR} ]; then \
+ if [ -w ${WRKDIR} ]; then \
+ ${RM} -r ${WRKDIR}; \
+ else \
+ ${ECHO_MSG} "===> ${WRKDIR} not writable, skipping"; \
+ fi; \
+ fi
+.endif
+
+.if !target(clean)
+pre-clean: clean-msg
+clean-msg:
+ @${ECHO_MSG} "===> Cleaning for ${PKGNAME}"
+
+.if empty(FLAVORS)
+CLEAN_DEPENDENCIES=
+.if !defined(NOCLEANDEPENDS)
+CLEAN_DEPENDENCIES+= limited-clean-depends-noflavor
+limited-clean-depends-noflavor:
+ @cd ${.CURDIR} && ${MAKE} limited-clean-depends
+.endif
+.if target(pre-clean)
+CLEAN_DEPENDENCIES+= pre-clean-noflavor
+pre-clean-noflavor:
+ @cd ${.CURDIR} && ${SETENV} ${MAKE} pre-clean
+.endif
+CLEAN_DEPENDENCIES+= do-clean-noflavor
+do-clean-noflavor:
+ @cd ${.CURDIR} && ${SETENV} ${MAKE} do-clean
+.if target(post-clean)
+CLEAN_DEPENDENCIES+= post-clean-noflavor
+post-clean-noflavor:
+ @cd ${.CURDIR} && ${SETENV} ${MAKE} post-clean
+.endif
+.ORDER: ${CLEAN_DEPENDENCIES}
+clean: ${CLEAN_DEPENDENCIES}
+.endif
+
+.if !empty(_FLAVOR)
+_CLEANFLAVORS= ${_FLAVOR}
+.else
+_CLEANFLAVORS= ${FLAVORS}
+.endif
+.for _f in ${_CLEANFLAVORS}
+CLEAN_DEPENDENCIES=
+.if !defined(NOCLEANDEPENDS)
+CLEAN_DEPENDENCIES+= limited-clean-depends-${_f}
+limited-clean-depends-${_f}:
+ @cd ${.CURDIR} && ${SETENV} FLAVOR=${_f} ${MAKE} limited-clean-depends
+.endif
+.if target(pre-clean)
+CLEAN_DEPENDENCIES+= pre-clean-${_f}
+pre-clean-${_f}:
+ @cd ${.CURDIR} && ${SETENV} FLAVOR=${_f} ${MAKE} pre-clean
+.endif
+CLEAN_DEPENDENCIES+= do-clean-${_f}
+do-clean-${_f}:
+ @cd ${.CURDIR} && ${SETENV} FLAVOR=${_f} ${MAKE} do-clean
+.if target(post-clean)
+CLEAN_DEPENDENCIES+= post-clean-${_f}
+post-clean-${_f}:
+ @cd ${.CURDIR} && ${SETENV} FLAVOR=${_f} ${MAKE} post-clean
+.endif
+.ORDER: ${CLEAN_DEPENDENCIES}
+clean: ${CLEAN_DEPENDENCIES}
+.endfor
+.endif
+
+.if !target(distclean)
+distclean: clean
+ @cd ${.CURDIR} && ${MAKE} delete-distfiles RESTRICTED_FILES="${_DISTFILES:Q} ${_PATCHFILES:Q}"
+.endif
+
+.if !target(delete-distfiles)
+delete-distfiles:
+ @${ECHO_MSG} "===> Deleting distfiles for ${PKGNAME}"
+ @(if [ "X${RESTRICTED_FILES}" != "X" -a -d ${_DISTDIR} ]; then \
+ cd ${_DISTDIR}; \
+ for file in ${RESTRICTED_FILES}; do \
+ ${RM} $${file}; \
+ dir=$${file%/*}; \
+ if [ "$${dir}" != "$${file}" ]; then \
+ ${RMDIR} -p $${dir} >/dev/null 2>&1 || :; \
+ fi; \
+ done; \
+ fi)
+.if defined(DIST_SUBDIR)
+ -@${RMDIR} ${_DISTDIR} >/dev/null 2>&1 || ${TRUE}
+.endif
+.endif
+
+.if !target(delete-distfiles-list)
+delete-distfiles-list:
+ @${ECHO_CMD} "# ${PKGNAME}"
+ @if [ "X${RESTRICTED_FILES}" != "X" ]; then \
+ for file in ${RESTRICTED_FILES}; do \
+ ${ECHO_CMD} "[ -f ${_DISTDIR}/$$file ] && (${ECHO_CMD} deleting ${_DISTDIR}/$$file; ${RM} ${_DISTDIR}/$$file)"; \
+ dir=$${file%/*}; \
+ if [ "$${dir}" != "$${file}" ]; then \
+ ${ECHO_CMD} "(cd ${_DISTDIR} && ${RMDIR} -p $${dir} 2>/dev/null)"; \
+ fi; \
+ done; \
+ fi
+.if defined(DIST_SUBDIR)
+ @${ECHO_CMD} "${RMDIR} ${_DISTDIR} 2>/dev/null || ${TRUE}"
+.endif
+.endif
+
+# Generates patches.
+
+update-patches:
+ @toedit=`PATCH_WRKSRC=${PATCH_WRKSRC} \
+ PATCHDIR=${PATCHDIR} \
+ PATCH_LIST=${PATCHDIR}/patch-* \
+ DIFF_ARGS=${DIFF_ARGS} \
+ DISTORIG=${DISTORIG} \
+ ${SH} ${PORTSDIR}/Tools/scripts/update-patches`; \
+ case $$toedit in "");; \
+ *) ${ECHO_CMD} -n 'edit patches: '; read i; \
+ cd ${PATCHDIR} && $${VISUAL:-$${EDIT:-/usr/bin/vi}} $$toedit;; esac
+
+# Checksumming utilities
+
+# List all algorithms here, all the variables name must begin with dp_
+_CHECKSUM_INIT_ENV= \
+ dp_SHA256=${SHA256}
+
+.if !target(makesum)
+# Some port change the options with OPTIONS_*_FORCE when make(makesum) to be
+# able to add all distfiles in one go.
+# For this to work, we need to call the do-fetch script directly here so that
+# the options consistent when fetching and when makesum'ing.
+# As we're fetching new distfiles, that are not in the distinfo file, disable
+# checksum and sizes checks.
+makesum: check-sanity
+.if !empty(DISTFILES)
+ @${SETENV} \
+ ${_DO_FETCH_ENV} ${_MASTER_SITES_ENV} \
+ dp_NO_CHECKSUM=yes dp_DISABLE_SIZE=yes \
+ dp_SITE_FLAVOR=MASTER \
+ ${SH} ${SCRIPTSDIR}/do-fetch.sh ${DISTFILES:C/.*/'&'/}
+.endif
+.if defined(PATCHFILES) && !empty(PATCHFILES)
+ @${SETENV} \
+ ${_DO_FETCH_ENV} ${_PATCH_SITES_ENV} \
+ dp_NO_CHECKSUM=yes dp_DISABLE_SIZE=yes \
+ dp_SITE_FLAVOR=PATCH \
+ ${SH} ${SCRIPTSDIR}/do-fetch.sh ${PATCHFILES:C/:-p[0-9]//:C/.*/'&'/}
+.endif
+ @${SETENV} \
+ ${_CHECKSUM_INIT_ENV} \
+ dp_CHECKSUM_ALGORITHMS='${CHECKSUM_ALGORITHMS:tu}' \
+ dp_CKSUMFILES='${_CKSUMFILES}' \
+ dp_DISTDIR='${DISTDIR}' \
+ dp_DISTINFO_FILE='${DISTINFO_FILE}' \
+ dp_ECHO_MSG='${ECHO_MSG}' \
+ dp_SCRIPTSDIR='${SCRIPTSDIR}' \
+ ${SH} ${SCRIPTSDIR}/makesum.sh ${DISTFILES:C/.*/'&'/}
+.endif
+
+.if !target(checksum)
+checksum: fetch
+.if !empty(_CKSUMFILES) && !defined(NO_CHECKSUM)
+ @${SETENV} \
+ ${_CHECKSUM_INIT_ENV} \
+ dp_CHECKSUM_ALGORITHMS='${CHECKSUM_ALGORITHMS:tu}' \
+ dp_CURDIR='${.CURDIR}' \
+ dp_DISTDIR='${DISTDIR}' \
+ dp_DISTINFO_FILE='${DISTINFO_FILE}' \
+ dp_DIST_SUBDIR='${DIST_SUBDIR}' \
+ dp_ECHO_MSG='${ECHO_MSG}' \
+ dp_FETCH_REGET='${FETCH_REGET}' \
+ dp_MAKE='${MAKE}' \
+ dp_MAKEFLAGS='${.MAKEFLAGS}' \
+ dp_SCRIPTSDIR='${SCRIPTSDIR}' \
+ dp_DISABLE_SIZE='${DISABLE_SIZE}' \
+ dp_NO_CHECKSUM='${NO_CHECKSUM}' \
+ ${SH} ${SCRIPTSDIR}/checksum.sh ${_CKSUMFILES:C/.*/'&'/}
+.endif
+.endif
+
+# Some port's archives contains files modes that are a bit too restrictive for
+# some usage. For example:
+# BUILD_DEPENDS= ${NONEXISTENT}:foo/bar:configure
+# When building as a regular user, dependencies are installed/built as root, so
+# if the archive contains files that have a mode of, say, 600, they will not be
+# readable by the port requesting the dependency.
+# This will also fix broken distribution files where directories don't have the
+# executable bit on.
+extract-fixup-modes:
+ @${CHMOD} -R u+w,a+rX ${WRKDIR}
+
+################################################################
+# The special package-building targets
+# You probably won't need to touch these
+################################################################
+
+# Nobody should want to override this unless PKGNAME is simply bogus.
+
+.if !target(package-name)
+package-name:
+ @${ECHO_CMD} ${PKGNAME}
+.endif
+
+# Build a package but don't check the package cookie
+
+.if !target(repackage)
+repackage: pre-repackage package
+
+pre-repackage:
+ @${RM} ${PACKAGE_COOKIE}
+.endif
+
+# Build a package but don't check the cookie for installation, also don't
+# install package cookie
+
+.if !target(package-noinstall)
+package-noinstall: package
+.endif
+
+################################################################
+# Dependency checking
+################################################################
+
+.if !target(depends)
+depends: pkg-depends extract-depends patch-depends lib-depends fetch-depends build-depends run-depends
+
+.for deptype in PKG EXTRACT PATCH FETCH BUILD LIB RUN TEST
+${deptype:tl}-depends:
+.if defined(${deptype}_DEPENDS) && !defined(NO_DEPENDS)
+ @${SETENV} \
+ dp_RAWDEPENDS="${${deptype}_DEPENDS}" \
+ dp_DEPTYPE="${deptype}_DEPENDS" \
+ dp_DEPENDS_TARGET="${DEPENDS_TARGET}" \
+ dp_DEPENDS_PRECLEAN="${DEPENDS_PRECLEAN}" \
+ dp_DEPENDS_CLEAN="${DEPENDS_CLEAN}" \
+ dp_DEPENDS_ARGS="${DEPENDS_ARGS}" \
+ dp_USE_PACKAGE_DEPENDS="${USE_PACKAGE_DEPENDS}" \
+ dp_USE_PACKAGE_DEPENDS_ONLY="${USE_PACKAGE_DEPENDS_ONLY}" \
+ dp_PKG_ADD="${PKG_ADD}" \
+ dp_PKG_INFO="${PKG_INFO}" \
+ dp_WRKDIR="${WRKDIR}" \
+ dp_PKGNAME="${PKGNAME}" \
+ dp_STRICT_DEPENDS="${STRICT_DEPENDS}" \
+ dp_LOCALBASE="${LOCALBASE}" \
+ dp_LIB_DIRS="${LIB_DIRS}" \
+ dp_SH="${SH}" \
+ dp_SCRIPTSDIR="${SCRIPTSDIR}" \
+ PORTSDIR="${PORTSDIR}" \
+ dp_MAKE="${MAKE}" \
+ dp_MAKEFLAGS='${.MAKEFLAGS}' \
+ ${SH} ${SCRIPTSDIR}/do-depends.sh
+.endif
+.endfor
+
+.endif
+
+# Dependency lists: both build and runtime, recursive. Print out directory names.
+
+_UNIFIED_DEPENDS=${PKG_DEPENDS} ${EXTRACT_DEPENDS} ${PATCH_DEPENDS} ${FETCH_DEPENDS} ${BUILD_DEPENDS} ${LIB_DEPENDS} ${RUN_DEPENDS} ${TEST_DEPENDS}
+_DEPEND_SPECIALS= ${_UNIFIED_DEPENDS:M*\:*\:*:C,^[^:]*:([^:]*):.*$,\1,}
+
+.for d in ${_UNIFIED_DEPENDS:M*\:/*}
+_PORTSDIR_STR= $${PORTSDIR}/
+DEV_WARNING+= "It looks like the ${d} depends line has an absolute port origin, make sure to remove \$${_PORTSDIR_STR} from it."
+.endfor
+
+all-depends-list:
+ @${ALL-DEPENDS-LIST}
+
+_FLAVOR_RECURSIVE_SH= \
+ if [ -z "$${recursive_cmd}" ]; then \
+ ${ECHO_MSG} "_FLAVOR_RECURSIVE_SH requires recursive_cmd to be set to the recursive make target to run." >&2; \
+ ${FALSE}; \
+ fi; \
+ if [ "$${recursive_dirs-null}" = "null" ]; then \
+ ${ECHO_MSG} "_FLAVOR_RECURSIVE_SH requires recursive_dirs to be set to the directories to recurse." >&2; \
+ ${FALSE}; \
+ fi; \
+ for dir in $${recursive_dirs}; do \
+ unset flavor; \
+ case $${dir} in \
+ *@*) \
+ flavor=$${dir\#*@}; \
+ dir=$${dir%@*}; \
+ ;; \
+ esac; \
+ case $$dir in \
+ /*) ;; \
+ *) dir=${PORTSDIR}/$$dir ;; \
+ esac; \
+ (cd $$dir; ${SETENV} FLAVOR=$${flavor} ${MAKE} $${recursive_cmd}); \
+ done
+
+# This script is shared among several dependency list variables. See file for
+# usage.
+DEPENDS-LIST= \
+ ${SETENV} \
+ PORTSDIR="${PORTSDIR}" \
+ dp_MAKE="${MAKE}" \
+ dp_PKGNAME="${PKGNAME}" \
+ dp_PKG_INFO="${PKG_INFO}" \
+ dp_SCRIPTSDIR="${SCRIPTSDIR}" \
+ ${SH} ${SCRIPTSDIR}/depends-list.sh \
+ ${DEPENDS_SHOW_FLAVOR:D-f}
+
+ALL-DEPENDS-LIST= ${DEPENDS-LIST} -r ${_UNIFIED_DEPENDS:Q}
+ALL-DEPENDS-FLAVORS-LIST= ${DEPENDS-LIST} -f -r ${_UNIFIED_DEPENDS:Q}
+MISSING-DEPENDS-LIST= ${DEPENDS-LIST} -m ${_UNIFIED_DEPENDS:Q}
+BUILD-DEPENDS-LIST= ${DEPENDS-LIST} "${PKG_DEPENDS} ${EXTRACT_DEPENDS} ${PATCH_DEPENDS} ${FETCH_DEPENDS} ${BUILD_DEPENDS} ${LIB_DEPENDS}"
+RUN-DEPENDS-LIST= ${DEPENDS-LIST} "${LIB_DEPENDS} ${RUN_DEPENDS}"
+TEST-DEPENDS-LIST= ${DEPENDS-LIST} ${TEST_DEPENDS:Q}
+CLEAN-DEPENDS-LIST= ${DEPENDS-LIST} -wr ${_UNIFIED_DEPENDS:Q}
+CLEAN-DEPENDS-LIMITED-LIST= ${DEPENDS-LIST} -w ${_UNIFIED_DEPENDS:Q}
+
+.if !target(clean-depends)
+clean-depends:
+ @for dir in $$(${CLEAN-DEPENDS-LIST}); do \
+ (cd $$dir; ${MAKE} NOCLEANDEPENDS=yes clean); \
+ done
+.endif
+
+.if !target(limited-clean-depends)
+limited-clean-depends:
+ @for dir in $$(${CLEAN-DEPENDS-LIMITED-LIST}); do \
+ (cd $$dir; ${MAKE} NOCLEANDEPENDS=yes clean); \
+ done
+.endif
+
+.if !target(deinstall-depends)
+deinstall-depends:
+ @recursive_cmd="deinstall"; \
+ recursive_dirs="$$(${ALL-DEPENDS-FLAVORS-LIST})"; \
+ ${_FLAVOR_RECURSIVE_SH}
+.endif
+
+.if !target(fetch-specials)
+fetch-specials:
+ @${ECHO_MSG} "===> Fetching all distfiles required by ${PKGNAME} for building"
+ @recursive_cmd="fetch"; \
+ recursive_dirs="${_DEPEND_SPECIALS}"; \
+ ${_FLAVOR_RECURSIVE_SH}
+.endif
+
+.if !target(fetch-recursive)
+fetch-recursive:
+ @${ECHO_MSG} "===> Fetching all distfiles for ${PKGNAME} and dependencies"
+ @recursive_cmd="fetch"; \
+ recursive_dirs="${.CURDIR} $$(${ALL-DEPENDS-FLAVORS-LIST})"; \
+ ${_FLAVOR_RECURSIVE_SH}
+.endif
+
+.if !target(fetch-recursive-list)
+fetch-recursive-list:
+ @recursive_cmd="fetch-list"; \
+ recursive_dirs="${.CURDIR} $$(${ALL-DEPENDS-FLAVORS-LIST})"; \
+ ${_FLAVOR_RECURSIVE_SH}
+.endif
+
+# Used by fetch-required and fetch-required list, this script looks
+# at each of the dependencies. If 3 items are specified in the tuple,
+# such as foo:graphics/foo:extract, the first item (foo)
+# is examined. Only if it begins with a / and does not exist on the
+# file-system will ``make targ'' proceed.
+# For more usual (dual-item) dependency tuples, the ``make targ''
+# proceeds, if the exact package, which the directory WOULD'VE installed,
+# is not yet installed.
+# This is the exact behaviour of the old code, and it may need
+# revisiting. For example, the entire first case seems dubious, and in
+# the second case we, probably, should be satisfied with _any_ (earlier)
+# package, with the same origin as that of the dir.
+#
+# -mi
+FETCH_LIST?= for i in $$deps; do \
+ prog=$${i%%:*}; dir=$${i\#*:}; \
+ case $$dir in \
+ /*) ;; \
+ *) dir=${PORTSDIR}/$$dir ;; \
+ esac; \
+ case $$dir in \
+ *:*) if [ $$prog != $${prog\#/} -o ! -e $$prog ]; then \
+ dir=$${dir%%:*}; \
+ else \
+ continue; \
+ fi;; \
+ *) if [ -d ${PKG_DBDIR}/$$(cd $$dir; ${MAKE} -V PKGNAME) ]; then \
+ continue; \
+ fi;; \
+ esac; \
+ echo cd $$dir; cd $$dir; ${MAKE} $$targ; \
+ done
+
+.if !target(fetch-required)
+fetch-required: fetch
+.if defined(NO_DEPENDS)
+ @${ECHO_MSG} "===> NO_DEPENDS is set, not fetching any other distfiles for ${PKGNAME}"
+.else
+ @${ECHO_MSG} "===> Fetching all required distfiles for ${PKGNAME} and dependencies"
+.for deptype in PKG EXTRACT PATCH FETCH BUILD RUN
+.if defined(${deptype}_DEPENDS)
+ @targ=fetch; deps="${${deptype}_DEPENDS}"; ${FETCH_LIST}
+.endif
+.endfor
+.endif
+
+.endif
+
+.if !target(fetch-required-list)
+fetch-required-list: fetch-list
+.if !defined(NO_DEPENDS)
+.for deptype in PKG EXTRACT PATCH FETCH BUILD RUN
+.if defined(${deptype}_DEPENDS)
+ @targ=fetch-list; deps="${${deptype}_DEPENDS}"; ${FETCH_LIST}
+.endif
+.endfor
+.endif
+.endif
+
+.if !target(checksum-recursive)
+checksum-recursive:
+ @${ECHO_MSG} "===> Fetching and checking checksums for ${PKGNAME} and dependencies"
+ @recursive_cmd="checksum"; \
+ recursive_dirs="${.CURDIR} $$(${ALL-DEPENDS-FLAVORS-LIST})"; \
+ ${_FLAVOR_RECURSIVE_SH}
+.endif
+
+# Dependency lists: build and runtime. Print out directory names.
+
+build-depends-list:
+.if defined(PKG_DEPENDS) || defined(EXTRACT_DEPENDS) || defined(PATCH_DEPENDS) || defined(FETCH_DEPENDS) || defined(BUILD_DEPENDS) || defined(LIB_DEPENDS)
+ @${BUILD-DEPENDS-LIST}
+.endif
+
+run-depends-list:
+.if defined(LIB_DEPENDS) || defined(RUN_DEPENDS)
+ @${RUN-DEPENDS-LIST}
+.endif
+
+test-depends-list:
+.if defined(TEST_DEPENDS)
+ @${TEST-DEPENDS-LIST}
+.endif
+
+# Package (recursive runtime) dependency list. Print out both directory names
+# and package names.
+
+package-depends-list:
+.if defined(CHILD_DEPENDS) || defined(LIB_DEPENDS) || defined(RUN_DEPENDS)
+ @${PACKAGE-DEPENDS-LIST}
+.endif
+
+_LIB_RUN_DEPENDS= ${LIB_DEPENDS} ${RUN_DEPENDS}
+PACKAGE-DEPENDS-LIST?= \
+ if [ "${CHILD_DEPENDS}" ]; then \
+ installed=$$(${PKG_INFO} -qO ${PKGORIGIN} 2>/dev/null || \
+ ${TRUE}); \
+ if [ "$$installed" ]; then \
+ break; \
+ fi; \
+ if [ -z "$$installed" ]; then \
+ installed="${PKGNAME}"; \
+ fi; \
+ for pkgname in $$installed; do \
+ ${ECHO_CMD} "$$pkgname ${.CURDIR} ${PKGORIGIN}"; \
+ done; \
+ fi; \
+ checked="${PARENT_CHECKED}"; \
+ for dir in ${_LIB_RUN_DEPENDS:C,[^:]*:([^:]*):?.*,\1,}; do \
+ unset flavor; \
+ case $${dir} in \
+ *@*) \
+ flavor=$${dir\#*@}; \
+ dir=$${dir%@*}; \
+ ;; \
+ esac; \
+ case "$$dir" in \
+ /*) ;; \
+ *) dir=${PORTSDIR}/$$dir ;; \
+ esac ; \
+ dir=$$(${REALPATH} $$dir); \
+ if [ -d $$dir ]; then \
+ case $$checked in \
+ $$dir|$$dir\ *|*\ $$dir|*\ $$dir\ *) continue;; \
+ esac; \
+ childout=$$(cd $$dir; ${SETENV} FLAVOR=$${flavor} ${MAKE} CHILD_DEPENDS=yes PARENT_CHECKED="$$checked" package-depends-list); \
+ set -- $$childout; \
+ childdir=""; \
+ while [ $$\# != 0 ]; do \
+ childdir="$$childdir $$2"; \
+ ${ECHO_CMD} "$$1 $$2 $$3"; \
+ shift 3; \
+ done; \
+ checked="$$dir $$childdir $$checked"; \
+ else \
+ ${ECHO_MSG} "${PKGNAME}: \"$$dir\" non-existent -- dependency list incomplete" >&2; \
+ fi; \
+ done
+
+ACTUAL-PACKAGE-DEPENDS?= \
+ depfiles="" ; \
+ for lib in ${LIB_DEPENDS:C/\:.*//}; do \
+ depfiles="$$depfiles `${SETENV} LIB_DIRS="${LIB_DIRS}" LOCALBASE="${LOCALBASE}" ${SH} ${SCRIPTSDIR}/find-lib.sh $${lib}`" ; \
+ done ; \
+ ${SETENV} PKG_BIN="${PKG_BIN}" ${SH} ${SCRIPTSDIR}/actual-package-depends.sh $${depfiles} ${RUN_DEPENDS:C/(.*)\:.*/"\1"/}
+
+PKG_NOTES_ENV?=
+.for note in ${PKG_NOTES}
+PKG_NOTES_ENV+= dp_PKG_NOTE_${note}=${PKG_NOTE_${note}:Q}
+.endfor
+
+create-manifest:
+ @${SETENV} \
+ dp_SCRIPTSDIR='${SCRIPTSDIR}' \
+ dp_ACTUAL_PACKAGE_DEPENDS='${ACTUAL-PACKAGE-DEPENDS}' \
+ dp_CATEGORIES='${CATEGORIES:u:S/$/,/}' \
+ dp_COMMENT=${COMMENT:Q} \
+ dp_COMPLETE_OPTIONS_LIST='${COMPLETE_OPTIONS_LIST}' \
+ dp_DEPRECATED=${DEPRECATED:Q} \
+ dp_DESCR='${DESCR}' \
+ dp_EXPIRATION_DATE='${EXPIRATION_DATE}' \
+ dp_GROUPS='${GROUPS:u:S/$/,/}' \
+ dp_LICENSE='${LICENSE:u:S/$/,/}' \
+ dp_LICENSE_COMB='${LICENSE_COMB}' \
+ dp_MAINTAINER='${MAINTAINER}' \
+ dp_METADIR='${METADIR}' \
+ dp_NO_ARCH='${NO_ARCH}' \
+ dp_PKGBASE='${PKGBASE}' \
+ dp_PKGDEINSTALL='${PKGDEINSTALL}' \
+ dp_PKGINSTALL='${PKGINSTALL}' \
+ dp_PKGMESSAGES='${_PKGMESSAGES}' \
+ dp_PKGORIGIN='${PKGORIGIN}' \
+ dp_PKGPOSTDEINSTALL='${PKGPOSTDEINSTALL}' \
+ dp_PKGPOSTINSTALL='${PKGPOSTINSTALL}' \
+ dp_PKGPOSTUPGRADE='${PKGPOSTUPGRADE}' \
+ dp_PKGPREDEINSTALL='${PKGPREDEINSTALL}' \
+ dp_PKGPREINSTALL='${PKGPREINSTALL}' \
+ dp_PKGPREUPGRADE='${PKGPREUPGRADE}' \
+ dp_PKGUPGRADE='${PKGUPGRADE}' \
+ dp_PKGVERSION='${PKGVERSION}' \
+ dp_PKG_BIN='${PKG_BIN}' \
+ dp_PKG_IGNORE_DEPENDS='${PKG_IGNORE_DEPENDS}' \
+ dp_PKG_NOTES='${PKG_NOTES}' \
+ dp_PORT_OPTIONS='${PORT_OPTIONS}' \
+ dp_PREFIX='${PREFIX}' \
+ dp_USERS='${USERS:u:S/$/,/}' \
+ dp_WWW='${WWW}' \
+ ${PKG_NOTES_ENV} \
+ ${SH} ${SCRIPTSDIR}/create-manifest.sh
+
+
+# Print out package names.
+
+package-depends:
+ @${PACKAGE-DEPENDS-LIST} | ${AWK} '{print $$1":"$$3}'
+
+actual-package-depends:
+ @${ACTUAL-PACKAGE-DEPENDS}
+
+# Build packages for port and dependencies
+
+package-recursive: package
+ @recursive_cmd="package-noinstall"; \
+ recursive_dirs="$$(${ALL-DEPENDS-FLAVORS-LIST})"; \
+ ${_FLAVOR_RECURSIVE_SH}
+
+# Show missing dependencies
+missing:
+ @for dir in $$(${MISSING-DEPENDS-LIST}); do \
+ echo $${dir#${PORTSDIR}/}; \
+ done
+
+# Show missing dependencies by name
+missing-packages:
+ @_packages=$$(${PKG_INFO} -aq); \
+ for dir in $$(${ALL-DEPENDS-LIST}); do \
+ _p=$$(cd $$dir; ${MAKE} -VPKGNAME); \
+ if ! $$(${ECHO_CMD} $${_packages} | ${GREP} -q $${_p}); then \
+ ${ECHO_CMD} $${_p}; \
+ fi; \
+ done
+
+################################################################
+# Everything after here are internal targets and really
+# shouldn't be touched by anybody but the release engineers.
+################################################################
+
+# This target generates an index entry suitable for aggregation into
+# a large index. Format is:
+#
+# distribution-name|port-path|installation-prefix|comment| \
+# description-file|maintainer|categories|extract-depends| \
+# patch-depends|fetch-depends|build-depends|run-depends|www site
+#
+# If this ever changes, portmgr should contact the portsnap maintainer
+# first to avoid gratuitous breakage.
+
+. if !target(describe)
+_EXTRACT_DEPENDS=${EXTRACT_DEPENDS:C/^[^ :]+:([^ :@]+)(@[^ :]+)?(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,}
+_PATCH_DEPENDS=${PATCH_DEPENDS:C/^[^ :]+:([^ :@]+)(@[^ :]+)?(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,}
+_FETCH_DEPENDS=${FETCH_DEPENDS:C/^[^ :]+:([^ :@]+)(@[^ :]+)?(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,}
+_LIB_DEPENDS=${LIB_DEPENDS:C/^[^ :]+:([^ :@]+)(@[^ :]+)?(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,}
+_BUILD_DEPENDS=${BUILD_DEPENDS:C/^[^ :]+:([^ :@]+)(@[^ :]+)?(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,} ${_LIB_DEPENDS}
+_RUN_DEPENDS=${RUN_DEPENDS:C/^[^ :]+:([^ :@]+)(@[^ :]+)?(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,} ${_LIB_DEPENDS}
+. if exists(${DESCR})
+_DESCR=${DESCR}
+. else
+_DESCR=/dev/null
+. endif
+
+. if defined(BUILDING_INDEX) && defined(INDEX_PORTS)
+INDEX_OUT=${INDEX_TMPDIR}/${INDEXFILE}.desc.aggr
+. else
+INDEX_OUT=/dev/stdout
+. endif
+
+. if empty(FLAVORS) || defined(_DESCRIBE_WITH_FLAVOR)
+describe:
+ @(${ECHO_CMD} -n "${PKGNAME}|${.CURDIR}|${PREFIX}|"; \
+ ${ECHO_CMD} -n ${COMMENT:Q}; \
+ ${ECHO_CMD} -n "|${_DESCR}|${MAINTAINER}|${CATEGORIES}|${_EXTRACT_DEPENDS}|${_PATCH_DEPENDS}|${_FETCH_DEPENDS}|${_BUILD_DEPENDS:O:u}|${_RUN_DEPENDS:O:u}|"; \
+ while read one two discard; do \
+ case "$$one" in \
+ WWW:) case "$$two" in \
+ https://*|http://*|ftp://*) ${ECHO_CMD} -n "$$two" ;; \
+ *) ${ECHO_CMD} -n "http://$$two" ;; \
+ esac; \
+ break; \
+ ;; \
+ esac; \
+ done < ${DESCR}; ${ECHO_CMD}) >>${INDEX_OUT}
+. else # empty(FLAVORS)
+describe: ${FLAVORS:S/^/describe-/}
+. for f in ${FLAVORS}
+describe-${f}:
+ @cd ${.CURDIR} && ${SETENV} FLAVOR=${f} ${MAKE} -B -D_DESCRIBE_WITH_FLAVOR describe
+. endfor
+. endif # empty(FLAVORS)
+. endif
+
+www-site:
+.if exists(${DESCR})
+ @${AWK} '$$1 ~ /^WWW:/ {print $$2}' ${DESCR} | ${HEAD} -1
+.else
+ @${ECHO_CMD}
+.endif
+
+.if !target(readmes)
+readmes: readme
+.endif
+
+.if !target(readme)
+readme:
+ @${RM} ${.CURDIR}/README.html
+ @cd ${.CURDIR} && ${MAKE} ${.CURDIR}/README.html
+.endif
+
+${.CURDIR}/README.html:
+ @${ECHO_MSG} "===> Creating README.html for ${PKGNAME}"
+ @${SED} -e 's|%%PORT%%|'$$(${ECHO_CMD} ${.CURDIR} | \
+ ${SED} -e 's|.*/\([^/]*/[^/]*\)$$|\1|')'|g' \
+ -e 's|%%PKG%%|${PKGNAME}|g' \
+ -e 's|%%COMMENT%%|'"$$(${ECHO_CMD} ${COMMENT:Q})"'|' \
+ -e '/%%COMMENT%%/d' \
+ -e 's|%%DESCR%%|'"$$(${ECHO_CMD} ${DESCR} | \
+ ${SED} -e 's|${.CURDIR}/||')"'|' \
+ -e 's|%%EMAIL%%|'"$$(${ECHO_CMD} "${MAINTAINER}" | \
+ ${SED} -e 's/([^)]*)//;s/.*<//;s/>.*//')"'|g' \
+ -e 's|%%MAINTAINER%%|${MAINTAINER}|g' \
+ -e 's|%%WEBSITE%%|'"$$(cd ${.CURDIR} && eval ${MAKE} pretty-print-www-site)"'|' \
+ -e 's|%%BUILD_DEPENDS%%|'"$$(cd ${.CURDIR} && eval ${MAKE} pretty-print-build-depends-list)"'|' \
+ -e 's|%%RUN_DEPENDS%%|'"$$(cd ${.CURDIR} && eval ${MAKE} pretty-print-run-depends-list)"'|' \
+ -e 's|%%TOP%%|'"$$(${ECHO_CMD} ${CATEGORIES} | \
+ ${SED} -e 's| .*||' -e 's|[^/]*|..|g')"'/..|' \
+ ${TEMPLATES}/README.port >> ${.TARGET}
+
+# The following two targets require an up-to-date INDEX in ${PORTSDIR}
+
+_PRETTY_PRINT_DEPENDS_LIST=\
+ if [ ! -r ${INDEXDIR}/${INDEXFILE} ] ; then \
+ ${ECHO_MSG} "${.TARGET} requires an INDEX file (${INDEXFILE}). Please run make index or make fetchindex."; \
+ else \
+ target=${.TARGET:C/pretty-print-(.*)-depends-list/\1/} ; \
+ if [ "$$target" = "build" ] ; then fldnum=8 ; else fldnum=9 ; fi; \
+ ${ECHO_MSG} -n 'This port requires package(s) "' ; \
+ ${ECHO_MSG} -n `${AWK} -F\| "\\$$1 ~ /^${PKGNAME}/ {print \\$$$${fldnum};}" ${INDEXDIR}/${INDEXFILE}` ; \
+ ${ECHO_MSG} "\" to $$target."; \
+ fi;
+
+
+.if !target(pretty-print-build-depends-list)
+pretty-print-build-depends-list:
+.if defined(PKG_DEPENDS) || defined(EXTRACT_DEPENDS) || defined(PATCH_DEPENDS) || \
+ defined(FETCH_DEPENDS) || defined(BUILD_DEPENDS) || defined(LIB_DEPENDS)
+ @${_PRETTY_PRINT_DEPENDS_LIST}
+.endif
+.endif
+
+.if !target(pretty-print-run-depends-list)
+pretty-print-run-depends-list:
+.if defined(RUN_DEPENDS) || defined(LIB_DEPENDS)
+ @${_PRETTY_PRINT_DEPENDS_LIST}
+.endif
+.endif
+
+_SUB_LIST_TEMP= ${SUB_LIST:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/}
+.if !target(apply-slist)
+apply-slist:
+.if defined(SUB_FILES)
+.for file in ${SUB_FILES}
+.if !exists(${FILESDIR}/${file}.in)
+ @${ECHO_MSG} "** Missing ${FILESDIR}/${file}.in for ${PKGNAME}."; exit 1
+.else
+ @${SED} ${_SUB_LIST_TEMP} -e '/^@comment /d' ${FILESDIR}/${file}.in > ${WRKDIR}/${file}
+.endif
+.endfor
+.for i in pkg-message pkg-install pkg-deinstall pkg-req
+.if ${SUB_FILES:M${i}*}!=""
+${i:S/-//:tu}= ${WRKDIR}/${SUB_FILES:M${i}*}
+.endif
+.endfor
+.endif
+.endif
+
+# Generate packing list. Also tests to make sure all required package
+# files exist.
+
+.if !target(generate-plist)
+generate-plist: ${WRKDIR}
+ @${ECHO_MSG} "===> Generating temporary packing list"
+ @${MKDIR} ${TMPPLIST:H}
+ @if [ ! -f ${DESCR} ]; then ${ECHO_MSG} "** Missing pkg-descr for ${PKGNAME}."; exit 1; fi
+ @>${TMPPLIST}
+ @for file in ${PLIST_FILES}; do \
+ ${ECHO_CMD} $${file} | ${SED} ${PLIST_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} >> ${TMPPLIST}; \
+ done
+.if !empty(PLIST)
+ @if [ -f ${PLIST} ]; then \
+ ${SED} ${PLIST_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} ${PLIST} >> ${TMPPLIST}; \
+ fi
+.endif
+
+.for dir in ${PLIST_DIRS}
+ @${ECHO_CMD} ${dir} | ${SED} ${PLIST_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} -e 's,^,@dir ,' >> ${TMPPLIST}
+.endfor
+
+.if defined(USE_LINUX_PREFIX)
+.if defined(USE_LDCONFIG)
+ @${ECHO_CMD} '@preexec [ -n "`/sbin/sysctl -q compat.linux.osrelease`" ] || ( echo "Cannot install package: kernel missing Linux support"; exit 1 )' >> ${TMPPLIST}
+ @${ECHO_CMD} "@postexec ${LINUXBASE}/sbin/ldconfig" >> ${TMPPLIST}
+ @${ECHO_CMD} "@postunexec ${LINUXBASE}/sbin/ldconfig" >> ${TMPPLIST}
+.endif
+.else
+.if defined(USE_LDCONFIG) || defined(USE_LDCONFIG32)
+.if !defined(INSTALL_AS_USER)
+ @${ECHO_CMD} "@postexec /usr/sbin/service ldconfig restart > /dev/null" >> ${TMPPLIST}
+ @${ECHO_CMD} "@postunexec /usr/sbin/service ldconfig restart > /dev/null" >> ${TMPPLIST}
+.else
+ @${ECHO_CMD} "@postexec /usr/sbin/service ldconfig restart > /dev/null || ${TRUE}" >> ${TMPPLIST}
+ @${ECHO_CMD} "@postunexec /usr/sbin/service ldconfig restart > /dev/null || ${TRUE}" >> ${TMPPLIST}
+.endif
+.endif
+.endif
+.endif
+
+${TMPPLIST}:
+ @cd ${.CURDIR} && ${MAKE} generate-plist
+
+.for _type in EXAMPLES DOCS
+.if !empty(_REALLY_ALL_POSSIBLE_OPTIONS:M${_type})
+.if !target(add-plist-${_type:tl})
+.if defined(PORT${_type}) && !empty(PORT_OPTIONS:M${_type})
+add-plist-${_type:tl}:
+.for x in ${PORT${_type}}
+ @if ${ECHO_CMD} "${x}"| ${AWK} '$$1 ~ /(\*|\||\[|\]|\?|\{|\}|\$$)/ { exit 1};'; then \
+ if [ ! -e ${STAGEDIR}${${_type}DIR}/${x} ]; then \
+ ${ECHO_CMD} ${${_type}DIR}/${x} >> ${TMPPLIST}; \
+ fi;fi
+.endfor
+ @${FIND} -P ${PORT${_type}:S/^/${STAGEDIR}${${_type}DIR}\//} ! -type d 2>/dev/null | \
+ ${SED} -ne 's,^${STAGEDIR},,p' >> ${TMPPLIST}
+.endif
+.endif
+.endif
+.endfor
+
+.if !target(add-plist-data)
+.if defined(PORTDATA)
+add-plist-data:
+.for x in ${PORTDATA}
+ @if ${ECHO_CMD} "${x}"| ${AWK} '$$1 ~ /(\*|\||\[|\]|\?|\{|\}|\$$)/ { exit 1};'; then \
+ if [ ! -e ${STAGEDIR}${DATADIR}/${x} ]; then \
+ ${ECHO_CMD} ${DATADIR}/${x} >> ${TMPPLIST}; \
+ fi;fi
+.endfor
+ @${FIND} -P ${PORTDATA:S/^/${STAGEDIR}${DATADIR}\//} ! -type d 2>/dev/null | \
+ ${SED} -ne 's,^${STAGEDIR},,p' >> ${TMPPLIST}
+.endif
+.endif
+
+.if !target(add-plist-info)
+.if defined(INFO)
+add-plist-info:
+.for i in ${INFO}
+ @${LS} ${STAGEDIR}${PREFIX}/${INFO_PATH}/$i.info* | ${SED} -e s:${STAGEDIR}:@info\ :g >> ${TMPPLIST}
+.endfor
+.endif
+.endif
+
+# If we're installing into a non-standard PREFIX, we need to remove that directory at
+# deinstall-time
+.if !target(add-plist-post)
+.if (${PREFIX} != ${LOCALBASE} && ${PREFIX} != ${LINUXBASE} && \
+ ${PREFIX} != "/usr" && ${PREFIX} != "/" && !defined(NO_PREFIX_RMDIR))
+add-plist-post:
+ @${ECHO_CMD} "@dir ${PREFIX}" >> ${TMPPLIST}
+.endif
+.endif
+
+.if !target(install-rc-script)
+.if defined(USE_RC_SUBR)
+install-rc-script:
+ @${ECHO_MSG} "===> Staging rc.d startup script(s)"
+ @for i in ${USE_RC_SUBR}; do \
+ _prefix=${PREFIX}; \
+ [ "${PREFIX}" = "/usr" ] && _prefix="" ; \
+ ${INSTALL_SCRIPT} ${WRKDIR}/$${i} ${STAGEDIR}$${_prefix}/etc/rc.d/$${i%.sh}; \
+ ${ECHO_CMD} "$${_prefix}/etc/rc.d/$${i%.sh}" >> ${TMPPLIST}; \
+ done
+.endif
+.endif
+
+.if !target(check-man)
+check-man: stage
+ @${ECHO_MSG} "====> Checking man pages (check-man)"
+ @mdirs= ; \
+ for dir in ${MANDIRS:S/^/${STAGEDIR}/} ; do \
+ [ -d $$dir ] && mdirs="$$mdirs $$dir" ;\
+ done ; \
+ err=0 ; \
+ for dir in $$mdirs; do \
+ for f in $$(find $$dir -name "*.gz"); do \
+ ${ECHO_CMD} "===> Checking $${f##*/}" ; \
+ gunzip -c $$f | mandoc -Tlint -Werror && continue ; \
+ err=1 ; \
+ done ; \
+ done ; \
+ exit $$err
+.endif
+
+# Compress all manpage not already compressed which are not hardlinks
+# Find all manpages which are not compressed and are hardlinks, and only get the list of inodes concerned, for each of them compress the first one found and recreate the hardlinks for the others
+# Fixes all dead symlinks left by the previous round
+.if !target(compress-man)
+compress-man:
+ @${ECHO_MSG} "====> Compressing man pages (compress-man)"
+ @mdirs= ; \
+ for dir in ${MANDIRS:S/^/${STAGEDIR}/} ; do \
+ [ -d $$dir ] && mdirs="$$mdirs $$dir" ;\
+ done ; \
+ for dir in $$mdirs; do \
+ ${FIND} $$dir -type f \! -name "*.gz" -links 1 -exec ${GZIP_CMD} {} \; ; \
+ ${FIND} $$dir -type f \! -name "*.gz" \! -links 1 -exec ${STAT} -f '%i' {} \; | \
+ ${SORT} -u | while read inode ; do \
+ unset ref ; \
+ for f in $$(${FIND} $$dir -type f -inum $${inode} -print); do \
+ if [ -z $$ref ]; then \
+ ref=$${f}.gz ; \
+ ${GZIP_CMD} $${f} ; \
+ continue ; \
+ fi ; \
+ ${RM} $${f} ; \
+ (cd $${f%/*}; ${LN} -f $${ref##*/} $${f##*/}.gz) ; \
+ done ; \
+ done ; \
+ ${FIND} $$dir -type l \! -name "*.gz" | while read link ; do \
+ ${LN} -sf $$(readlink $$link).gz $$link.gz ;\
+ ${RM} $$link ; \
+ done; \
+ done
+.endif
+
+.if !target(stage-dir)
+stage-dir: ${STAGEDIR}${PREFIX}
+.if !defined(NO_MTREE)
+ @${MTREE_CMD} ${MTREE_ARGS} ${STAGEDIR}${PREFIX} > /dev/null
+.endif
+.endif
+
+.if !target(makeplist)
+makeplist: stage
+ @${SETENV} ${CO_ENV} ${SH} ${SCRIPTSDIR}/check-stagedir.sh makeplist
+.endif
+
+.if !target(check-plist)
+check-plist: stage
+ @${ECHO_MSG} "====> Checking for pkg-plist issues (check-plist)"
+ @${SETENV} ${CO_ENV} ${SH} ${SCRIPTSDIR}/check-stagedir.sh checkplist
+ @${ECHO_MSG} "===> No pkg-plist issues found (check-plist)"
+.endif
+
+.if !target(check-orphans)
+check-orphans: check-plist
+.endif
+
+.if !target(stage-qa)
+stage-qa:
+ @${ECHO_MSG} "====> Running Q/A tests (stage-qa)"
+ @${SETENV} ${QA_ENV} ${SH} ${SCRIPTSDIR}/qa.sh
+.if !defined(DEVELOPER)
+ @${ECHO_MSG} "/!\\ To run stage-qa automatically add DEVELOPER=yes to your environment /!\\"
+.endif
+.endif
+
+pretty-flavors-package-names: .PHONY
+.if empty(FLAVORS)
+ @${ECHO_CMD} "no flavor: ${PKGNAME}"
+.else
+.for f in ${FLAVORS}
+ @${ECHO_CMD} -n "${f}: "
+ @cd ${.CURDIR} && ${SETENV} FLAVOR=${f} ${MAKE} -B -V PKGNAME
+.endfor
+.endif
+
+flavors-package-names: .PHONY
+.if empty(FLAVORS)
+ @${ECHO_CMD} "${PKGNAME}"
+.else
+.for f in ${FLAVORS}
+ @cd ${.CURDIR} && ${SETENV} FLAVOR=${f} ${MAKE} -B -V PKGNAME
+.endfor
+.endif
+
+# Fake installation of package so that user can pkg delete it later.
+.if !target(fake-pkg)
+STAGE_ARGS= -i ${STAGEDIR}
+
+.if !defined(NO_PKG_REGISTER)
+fake-pkg:
+.if defined(INSTALLS_DEPENDS)
+ @${ECHO_MSG} "===> Registering installation for ${PKGNAME} as automatic"
+.else
+ @${ECHO_MSG} "===> Registering installation for ${PKGNAME}"
+.endif
+.if defined(INSTALLS_DEPENDS)
+ @${SETENV} ${PKG_ENV} FORCE_POST="${_FORCE_POST_PATTERNS}" ${PKG_REGISTER} -d ${STAGE_ARGS} -m ${METADIR} -f ${TMPPLIST}
+.else
+ @${SETENV} ${PKG_ENV} FORCE_POST="${_FORCE_POST_PATTERNS}" ${PKG_REGISTER} ${STAGE_ARGS} -m ${METADIR} -f ${TMPPLIST}
+.endif
+ @${RM} -r ${METADIR}
+.endif
+.endif
+
+# Depend is generally meaningless for arbitrary ports, but if someone wants
+# one they can override this. This is just to catch people who've gotten into
+# the habit of typing `make depend all install' as a matter of course.
+# Same goes for tags
+.for _t in depend tags
+.if !target(${_t})
+${_t}:
+.endif
+.endfor
+
+.if !defined(NOPRECIOUSMAKEVARS)
+# These won't change, so we can pass them through the environment
+.for var in ${_EXPORTED_VARS}
+.if empty(.MAKEFLAGS:M${var}=*) && !empty(${var})
+.MAKEFLAGS: ${var}=${${var}:Q}
+.endif
+.endfor
+.endif
+PORTS_ENV_VARS+= ${_EXPORTED_VARS}
+
+.if !target(pre-check-config)
+pre-check-config:
+_CHECK_OPTIONS_NAMES= OPTIONS_DEFINE
+_CHECK_OPTIONS_NAMES+= ${OPTIONS_GROUP:S/^/OPTIONS_GROUP_/}
+_CHECK_OPTIONS_NAMES+= ${OPTIONS_MULTI:S/^/OPTIONS_MULTI_/}
+_CHECK_OPTIONS_NAMES+= ${OPTIONS_RADIO:S/^/OPTIONS_RADIO_/}
+_CHECK_OPTIONS_NAMES+= ${OPTIONS_SINGLE:S/^/OPTIONS_SINGLE_/}
+.for var in ${_CHECK_OPTIONS_NAMES}
+. if defined(${var})
+. for o in ${${var}}
+. if ${o:C/[-_[:upper:][:digit:]]//g}
+OPTIONS_BAD_NAMES+= ${o}
+. endif
+. endfor
+. endif
+.endfor
+.if defined(OPTIONS_BAD_NAMES) && !empty(OPTIONS_BAD_NAMES)
+DEV_WARNING+= "These options name have characters outside of [-_A-Z0-9]:"
+DEV_WARNING+= "${OPTIONS_BAD_NAMES:O:u}"
+.endif
+.for single in ${OPTIONS_SINGLE}
+. for opt in ${OPTIONS_SINGLE_${single}}
+. if empty(ALL_OPTIONS:M${single}) || !empty(PORT_OPTIONS:M${single})
+. if !empty(PORT_OPTIONS:M${opt})
+OPTIONS_WRONG_SINGLE_${single}+= ${opt}
+. if defined(OPTFOUND)
+OPTIONS_WRONG_SINGLE+= ${single}
+. else
+OPTFOUND= true
+. endif
+. endif
+. else
+# if conditional and if the condition is unchecked, remove opt from the list of
+# set options
+PORT_OPTIONS:= ${PORT_OPTIONS:N${opt}}
+OPTNOCHECK= true
+. endif
+. endfor
+. if !defined(OPTFOUND) && !defined(OPTNOCHECK)
+OPTIONS_WRONG_SINGLE+= ${single}
+. endif
+. undef OPTFOUND
+. undef OPTNOCHECK
+.endfor
+.undef single
+
+.for radio in ${OPTIONS_RADIO}
+. for opt in ${OPTIONS_RADIO_${radio}}
+. if !empty(PORT_OPTIONS:M${opt})
+OPTIONS_WRONG_RADIO_${radio}+= ${opt}
+. if defined(OPTFOUND)
+OPTIONS_WRONG_RADIO+= ${radio}
+. else
+OPTFOUND= true
+. endif
+. endif
+. endfor
+. undef OPTFOUND
+.endfor
+
+.for multi in ${OPTIONS_MULTI}
+. for opt in ${OPTIONS_MULTI_${multi}}
+. if empty(ALL_OPTIONS:M${multi}) || !empty(PORT_OPTIONS:M${multi})
+. if !empty(PORT_OPTIONS:M${opt})
+OPTFOUND= true
+. endif
+. else
+# if conditional and if the condition is unchecked, remove opt from the list of
+# set options
+PORT_OPTIONS:= ${PORT_OPTIONS:N${opt}}
+OPTNOCHECK= true
+. endif
+. endfor
+. if !defined(OPTFOUND) && !defined(OPTNOCHECK)
+OPTIONS_WRONG_MULTI+= ${multi}
+. endif
+. undef OPTFOUND
+. undef OPTNOCHECK
+.endfor
+.undef multi
+
+.for opt in ${PORT_OPTIONS}
+. for conflict in ${${opt}_PREVENTS}
+. if ${PORT_OPTIONS:M${conflict}}
+. if empty(OPTIONS_WRONG_PREVENTS:M${opt})
+OPTIONS_WRONG_PREVENTS+= ${opt}
+. endif
+OPTIONS_WRONG_PREVENTS_${opt}+= ${conflict}
+. endif
+. endfor
+.endfor
+.undef conflict
+.undef opt
+.endif #pre-check-config
+
+.if !target(_check-config)
+_check-config: pre-check-config
+.for multi in ${OPTIONS_WRONG_MULTI}
+ @${ECHO_MSG} "====> You must check at least one option in the ${multi} multi"
+.endfor
+.for single in ${OPTIONS_WRONG_SINGLE}
+ @${ECHO_MSG} "====> You must select one and only one option from the ${single} single"
+.if defined(OPTIONS_WRONG_SINGLE_${single})
+ @${ECHO_MSG} "=====> Only one of these must be defined: ${OPTIONS_WRONG_SINGLE_${single}}"
+.else
+ @${ECHO_MSG} "=====> No option was selected (and one must be)"
+.endif
+.endfor
+.for radio in ${OPTIONS_WRONG_RADIO}
+ @${ECHO_MSG} "====> You cannot select multiple options from the ${radio} radio"
+ @${ECHO_MSG} "=====> Only one of these must be defined: ${OPTIONS_WRONG_RADIO_${radio}}"
+.endfor
+.if defined(OPTIONS_WRONG_PREVENTS)
+ @${ECHO_MSG} "====> Two or more enabled options conflict with each other"
+. for prevents in ${OPTIONS_WRONG_PREVENTS}
+ @${ECHO_MSG} "=====> Option ${prevents} conflicts with ${OPTIONS_WRONG_PREVENTS_${prevents}} (select only one)"
+. if defined(${prevents}_PREVENTS_MSG)
+ @${ECHO_MSG} "======> ${${prevents}_PREVENTS_MSG}"
+. endif
+. endfor
+.endif
+.if !empty(OPTIONS_WRONG_MULTI) || !empty(OPTIONS_WRONG_SINGLE) || !empty(OPTIONS_WRONG_RADIO) || !empty(OPTIONS_WRONG_PREVENTS)
+_CHECK_CONFIG_ERROR= true
+.endif
+.endif # _check-config
+
+.if !target(check-config)
+check-config: _check-config
+.if !empty(_CHECK_CONFIG_ERROR)
+ @${FALSE}
+.endif
+.endif # check-config
+
+.if !target(sanity-config)
+sanity-config: _check-config
+.if !empty(_CHECK_CONFIG_ERROR)
+ @echo -n "Config is invalid. Re-edit? [Y/n] "; \
+ read answer; \
+ case $$answer in \
+ [Nn]|[Nn][Oo]) \
+ exit 0; \
+ esac; \
+ cd ${.CURDIR} && ${MAKE} config
+.endif
+.endif # sanity-config
+
+.if !target(pre-config)
+pre-config:
+D4P_ENV= PKGNAME="${PKGNAME}" \
+ PORT_OPTIONS="${PORT_OPTIONS}" \
+ ALL_OPTIONS="${ALL_OPTIONS}" \
+ OPTIONS_MULTI="${OPTIONS_MULTI}" \
+ OPTIONS_SINGLE="${OPTIONS_SINGLE}" \
+ OPTIONS_RADIO="${OPTIONS_RADIO}" \
+ OPTIONS_GROUP="${OPTIONS_GROUP}" \
+ NEW_OPTIONS="${NEW_OPTIONS}" \
+ DIALOG4PORTS="${DIALOG4PORTS}" \
+ PREFIX="${PREFIX}" \
+ LOCALBASE="${LOCALBASE}" \
+ PORTSDIR="${PORTSDIR}" \
+ MAKE="${MAKE}" \
+ D4PHEIGHT="${D4PHEIGHT}" \
+ D4PWIDTH="${D4PWIDTH}" \
+ D4PFULLSCREEN="${D4PFULLSCREEN}"
+.if exists(${PKGHELP})
+D4P_ENV+= PKGHELP="${PKGHELP}"
+.endif
+.for opt in ${ALL_OPTIONS}
+D4P_ENV+= ${opt}_DESC=""${${opt}_DESC:Q}""
+.endfor
+.for otype in MULTI GROUP SINGLE RADIO
+. for m in ${OPTIONS_${otype}}
+D4P_ENV+= OPTIONS_${otype}_${m}="${OPTIONS_${otype}_${m}}" \
+ ${m}_DESC=""${${m}_DESC:Q}""
+. for opt in ${OPTIONS_${otype}_${m}}
+D4P_ENV+= ${opt}_DESC=""${${opt}_DESC:Q}""
+. endfor
+. endfor
+.endfor
+.undef m
+.undef otype
+.undef opt
+.endif # pre-config
+
+.if !target(do-config)
+do-config:
+.if empty(ALL_OPTIONS) && empty(OPTIONS_SINGLE) && empty(OPTIONS_MULTI) && empty(OPTIONS_RADIO) && empty(OPTIONS_GROUP)
+ @${ECHO_MSG} "===> No options to configure"
+.else
+ @optionsdir=${OPTIONS_FILE:H}; \
+ if [ ! -w "${PORT_DBDIR}" -a "`stat -f %u ${PORT_DBDIR:H}`" = 0 ]; \
+ then \
+ ${ECHO_MSG} "===> Switching to root credentials to create $${optionsdir}"; \
+ (${SU_CMD} "${SH} -c \"${MKDIR} $${optionsdir} 2> /dev/null\"") || \
+ (${ECHO_MSG} "===> Cannot create $${optionsdir}, check permissions"; exit 1); \
+ ${ECHO_MSG} "===> Returning to user credentials" ; \
+ else \
+ ${MKDIR} $${optionsdir} 2> /dev/null || \
+ (${ECHO_MSG} "===> Cannot create $${optionsdir}, check permissions"; exit 1) ; \
+ fi
+ @TMPOPTIONSFILE=$$(mktemp -t portoptions); \
+ trap "${RM} $${TMPOPTIONSFILE}; exit 1" 1 2 3 5 10 13 15; \
+ ${SETENV} ${D4P_ENV} ${SH} ${SCRIPTSDIR}/dialog4ports.sh $${TMPOPTIONSFILE} || { \
+ ${RM} $${TMPOPTIONSFILE}; \
+ ${ECHO_MSG} "===> Options unchanged"; \
+ exit 0; \
+ }; \
+ ${ECHO_CMD}; \
+ if [ ! -e $${TMPOPTIONSFILE} ]; then \
+ ${ECHO_MSG} "===> No user-specified options to save for ${PKGNAME}"; \
+ exit 0; \
+ fi; \
+ SELOPTIONS=$$(${CAT} $${TMPOPTIONSFILE}); \
+ ${RM} $${TMPOPTIONSFILE}; \
+ TMPOPTIONSFILE=$$(mktemp -t portoptions); \
+ trap "${RM} $${TMPOPTIONSFILE}; exit 1" 1 2 3 5 10 13 15; \
+ ${ECHO_CMD} "# This file is auto-generated by 'make config'." > $${TMPOPTIONSFILE}; \
+ ${ECHO_CMD} "# Options for ${PKGNAME}" >> $${TMPOPTIONSFILE}; \
+ ${ECHO_CMD} "_OPTIONS_READ=${PKGNAME}" >> $${TMPOPTIONSFILE}; \
+ ${ECHO_CMD} "_FILE_COMPLETE_OPTIONS_LIST=${COMPLETE_OPTIONS_LIST}" >> $${TMPOPTIONSFILE}; \
+ for i in ${COMPLETE_OPTIONS_LIST}; do \
+ if ${ECHO_CMD} $${SELOPTIONS} | ${GREP} -qw $${i}; then \
+ ${ECHO_CMD} "OPTIONS_FILE_SET+=$${i}" >> $${TMPOPTIONSFILE}; \
+ else \
+ ${ECHO_CMD} "OPTIONS_FILE_UNSET+=$${i}" >> $${TMPOPTIONSFILE}; \
+ fi; \
+ done; \
+ if [ ! -w "${OPTIONS_FILE:H}" -a "`stat -f %u ${OPTIONS_FILE:H}`" != ${UID} ]; \
+ then \
+ ${ECHO_MSG} "===> Switching to root credentials to write ${OPTIONS_FILE}"; \
+ ${SU_CMD} "${CAT} $${TMPOPTIONSFILE} > ${OPTIONS_FILE}"; \
+ ${ECHO_MSG} "===> Returning to user credentials"; \
+ else \
+ ${CAT} $${TMPOPTIONSFILE} > ${OPTIONS_FILE}; \
+ fi; \
+ ${RM} $${TMPOPTIONSFILE}
+ @cd ${.CURDIR} && ${MAKE} sanity-config
+.endif
+.endif # do-config
+
+.if !target(config)
+.if !defined(NO_DIALOG)
+config: pre-config do-config
+.else
+config:
+ @${ECHO_MSG} "===> Skipping 'config' as NO_DIALOG is defined"
+.endif
+.endif # config
+
+.if !target(config-recursive)
+config-recursive:
+ @${ECHO_MSG} "===> Setting user-specified options for ${PKGNAME} and dependencies";
+ @recursive_cmd="config-conditional"; \
+ recursive_dirs="${.CURDIR} $$(${ALL-DEPENDS-FLAVORS-LIST})"; \
+ ${_FLAVOR_RECURSIVE_SH}
+.endif # config-recursive
+
+.if !target(config-conditional)
+config-conditional:
+.if !empty(NEW_OPTIONS)
+ @cd ${.CURDIR} && ${MAKE} config;
+.endif
+.endif # config-conditional
+
+.if !target(showconfig) && (make(*config*) || (!empty(.MAKEFLAGS:M-V) && !empty(.MAKEFLAGS:M*_DESC)))
+.include "${PORTSDIR}/Mk/bsd.options.desc.mk"
+MULTI_EOL= : you have to choose at least one of them
+SINGLE_EOL= : you have to select exactly one of them
+RADIO_EOL= : you can only select none or one of them
+showconfig: check-config
+.if !empty(COMPLETE_OPTIONS_LIST)
+ @${ECHO_MSG} "===> The following configuration options are available for ${PKGNAME}":
+.for opt in ${ALL_OPTIONS}
+ @[ -z "${PORT_OPTIONS:M${opt}}" ] || match="on" ; ${ECHO_MSG} -n " ${opt}=$${match:-off}"
+. if !empty(${opt}_DESC)
+ @${ECHO_MSG} -n ": "${${opt}_DESC:Q}
+. endif
+ @${ECHO_MSG} ""
+.endfor
+
+#multi and conditional multis
+.for otype in MULTI GROUP SINGLE RADIO
+. for m in ${OPTIONS_${otype}}
+. if empty(${m}_DESC)
+ @${ECHO_MSG} "====> Options available for the ${otype:tl} ${m}${${otype}_EOL}"
+. else
+ @${ECHO_MSG} "====> ${${m}_DESC}${${otype}_EOL}"
+. endif
+. for opt in ${OPTIONS_${otype}_${m}}
+ @[ -z "${PORT_OPTIONS:M${opt}}" ] || match="on" ; ${ECHO_MSG} -n " ${opt}=$${match:-off}"
+. if !empty(${opt}_DESC)
+ @${ECHO_MSG} -n ": "${${opt}_DESC:Q}
+. endif
+ @${ECHO_MSG} ""
+. endfor
+. endfor
+.endfor
+
+.undef otype
+.undef m
+.undef opt
+ @${ECHO_MSG} "===> Use 'make config' to modify these settings"
+.endif
+.endif # showconfig
+
+.if !target(showconfig-recursive)
+showconfig-recursive:
+ @${ECHO_MSG} "===> The following configuration options are available for ${PKGNAME} and its dependencies";
+ @recursive_cmd="showconfig"; \
+ recursive_dirs="${.CURDIR} $$(${ALL-DEPENDS-FLAVORS-LIST})"; \
+ ${_FLAVOR_RECURSIVE_SH}
+.endif # showconfig-recursive
+
+.if !target(rmconfig)
+rmconfig:
+.if exists(${OPTIONS_FILE})
+ -@${ECHO_MSG} "===> Removing user-configured options for ${PKGNAME}"; \
+ optionsdir=${OPTIONS_FILE:H}; \
+ if [ ${UID} != 0 -a "x${INSTALL_AS_USER}" = "x" -a ! -w "${OPTIONS_FILE}" ]; then \
+ ${ECHO_MSG} "===> Switching to root credentials to remove ${OPTIONS_FILE} and $${optionsdir}"; \
+ ${SU_CMD} "${RM} ${OPTIONS_FILE} ; \
+ ${RMDIR} $${optionsdir}"; \
+ ${ECHO_MSG} "===> Returning to user credentials"; \
+ else \
+ ${RM} ${OPTIONS_FILE}; \
+ ${RMDIR} $${optionsdir} 2>/dev/null || return 0; \
+ fi
+.else
+ @${ECHO_MSG} "===> No user-specified options configured for ${PKGNAME}"
+.endif
+.endif # rmconfig
+
+.if !target(rmconfig-recursive)
+rmconfig-recursive:
+ @${ECHO_MSG} "===> Removing user-specified options for ${PKGNAME} and its dependencies";
+ @recursive_cmd="rmconfig"; \
+ recursive_dirs="${.CURDIR} $$(${ALL-DEPENDS-FLAVORS-LIST})"; \
+ ${_FLAVOR_RECURSIVE_SH}
+.endif # rmconfig-recursive
+
+.if !target(pretty-print-config)
+MULTI_START= [
+MULTI_END= ]
+GROUP_START= [
+GROUP_END= ]
+SINGLE_START= (
+SINGLE_END= )
+RADIO_START= (
+RADIO_END= )
+pretty-print-config:
+.for opt in ${ALL_OPTIONS}
+ @[ -z "${PORT_OPTIONS:M${opt}}" ] || match="+" ; ${ECHO_MSG} -n "$${match:--}${opt} "
+.endfor
+.for otype in MULTI GROUP SINGLE RADIO
+. for m in ${OPTIONS_${otype}}
+ @${ECHO_MSG} -n "${m}${${otype}_START} "
+. for opt in ${OPTIONS_${otype}_${m}}
+ @[ -z "${PORT_OPTIONS:M${opt}}" ] || match="+" ; ${ECHO_MSG} -n "$${match:--}${opt} "
+. endfor
+ @${ECHO_MSG} -n "${${otype}_END} "
+. endfor
+.endfor
+.undef otype
+.undef m
+.undef opt
+ @${ECHO_MSG} ""
+.endif # pretty-print-config
+
+desktop-categories:
+ @${SETENV} \
+ dp_CATEGORIES="${CATEGORIES}" \
+ dp_ECHO_CMD=${ECHO_CMD} \
+ dp_SCRIPTSDIR="${SCRIPTSDIR}" \
+ dp_SORT="${SORT}" \
+ dp_TR="${TR}" \
+ ${SH} ${SCRIPTSDIR}/desktop-categories.sh
+
+.if defined(DESKTOP_ENTRIES)
+check-desktop-entries:
+ @${SETENV} \
+ dp_CURDIR="${.CURDIR}" \
+ dp_ECHO_CMD=${ECHO_CMD} \
+ dp_ECHO_MSG=${ECHO_MSG} \
+ dp_EXPR="${EXPR}" \
+ dp_GREP="${GREP}" \
+ dp_MAKE="${MAKE}" \
+ dp_PKGNAME="${PKGNAME}" \
+ dp_SCRIPTSDIR="${SCRIPTSDIR}" \
+ dp_SED="${SED}" \
+ dp_VALID_DESKTOP_CATEGORIES="${VALID_DESKTOP_CATEGORIES}" \
+ dp_TR="${TR}" \
+ ${SH} ${SCRIPTSDIR}/check-desktop-entries.sh ${DESKTOP_ENTRIES}
+.endif
+
+.if !target(install-desktop-entries)
+.if defined(DESKTOP_ENTRIES)
+install-desktop-entries:
+ @${SETENV} \
+ dp_CURDIR="${.CURDIR}" \
+ dp_ECHO_CMD=${ECHO_CMD} \
+ dp_SCRIPTSDIR="${SCRIPTSDIR}" \
+ dp_STAGEDIR="${STAGEDIR}" \
+ dp_DESKTOPDIR="${DESKTOPDIR}" \
+ dp_TMPPLIST="${TMPPLIST}" \
+ dp_MAKE="${MAKE}" \
+ dp_SED="${SED}" \
+ ${SH} ${SCRIPTSDIR}/install-desktop-entries.sh ${DESKTOP_ENTRIES}
+.endif
+.endif
+
+.if !empty(BINARY_ALIAS)
+.if !target(create-binary-alias)
+create-binary-alias: ${BINARY_LINKDIR}
+.for target src in ${BINARY_ALIAS:C/=/ /}
+ @${RLN} `which ${src}` ${BINARY_LINKDIR}/${target}
+.endfor
+.endif
+.endif
+
+.if defined(WARNING)
+WARNING_WAIT?= 10
+show-warnings:
+ @${ECHO_MSG} "/!\\ WARNING /!\\"
+ @${ECHO_MSG}
+.for m in ${WARNING}
+ @${ECHO_MSG} "${m}" | ${FMT_80}
+ @${ECHO_MSG}
+.endfor
+ @sleep ${WARNING_WAIT}
+.endif
+
+.if defined(ERROR)
+show-errors:
+ @${ECHO_MSG} "/!\\ ERRORS /!\\"
+ @${ECHO_MSG}
+.for m in ${ERROR}
+ @${ECHO_MSG} "${m}" | ${FMT_80}
+ @${ECHO_MSG}
+.endfor
+ @${FALSE}
+.endif
+
+.if defined(DEVELOPER)
+.if defined(DEV_WARNING)
+DEV_WARNING_WAIT?= 10
+show-dev-warnings:
+ @${ECHO_MSG} "/!\\ ${PKGNAME}: Makefile warnings, please consider fixing /!\\"
+ @${ECHO_MSG}
+.for m in ${DEV_WARNING}
+ @${ECHO_MSG} ${m} | ${FMT_80}
+ @${ECHO_MSG}
+.endfor
+.if defined(DEV_WARNING_FATAL)
+ @${FALSE}
+.else
+ @sleep ${DEV_WARNING_WAIT}
+.endif
+.endif
+
+.if defined(DEV_ERROR)
+show-dev-errors:
+ @${ECHO_MSG} "/!\\ ${PKGNAME}: Makefile errors /!\\"
+ @${ECHO_MSG}
+.for m in ${DEV_ERROR}
+ @${ECHO_MSG} "${m}" | ${FMT_80}
+ @${ECHO_MSG}
+.endfor
+ @${FALSE}
+.endif
+.endif #DEVELOPER
+
+${_PORTS_DIRECTORIES}:
+ @${MKDIR} ${.TARGET}
+
+# Please note that the order of the following targets is important, and
+# should not be modified.
+
+_TARGETS_STAGES= SANITY PKG FETCH EXTRACT PATCH CONFIGURE BUILD INSTALL TEST PACKAGE STAGE
+
+# Define the SEQ of actions to take when each target is ran, and which targets
+# it depends on before running its SEQ.
+#
+# Main target has a priority of 500, pre-target 300, post-target 700,
+# target-depends 150. Other targets are spaced in between those
+#
+# If you change the pre-foo and post-foo values here, go and keep them in sync
+# in _OPTIONS_TARGETS in bsd.options.mk
+
+_SANITY_SEQ= 050:post-chroot 100:pre-everything \
+ 125:show-unsupported-system-error 150:check-makefile \
+ 190:show-errors 200:show-warnings \
+ 210:show-dev-errors 220:show-dev-warnings \
+ 250:check-categories 300:check-makevars \
+ 350:check-desktop-entries 400:check-depends \
+ 450:identify-install-conflicts 500:check-deprecated \
+ 550:check-vulnerable 600:check-license 650:check-config \
+ 700:buildanyway-message 750:options-message ${_USES_sanity}
+
+_PKG_DEP= check-sanity
+_PKG_SEQ= 500:pkg-depends
+_FETCH_DEP= pkg
+_FETCH_SEQ= 150:fetch-depends 300:pre-fetch 450:pre-fetch-script \
+ 500:do-fetch 550:fetch-specials 700:post-fetch \
+ 850:post-fetch-script \
+ ${_OPTIONS_fetch} ${_USES_fetch}
+_EXTRACT_DEP= fetch
+_EXTRACT_SEQ= 010:check-build-conflicts 050:extract-message 100:checksum \
+ 150:extract-depends 190:clean-wrkdir 200:${EXTRACT_WRKDIR} \
+ 300:pre-extract 450:pre-extract-script 500:do-extract \
+ 700:post-extract 850:post-extract-script \
+ 999:extract-fixup-modes \
+ ${_OPTIONS_extract} ${_USES_extract} ${_SITES_extract}
+_PATCH_DEP= extract
+_PATCH_SEQ= 050:ask-license 100:patch-message 150:patch-depends \
+ 300:pre-patch 450:pre-patch-script 500:do-patch \
+ 700:post-patch 850:post-patch-script \
+ ${_OPTIONS_patch} ${_USES_patch}
+_CONFIGURE_DEP= patch
+_CONFIGURE_SEQ= 150:build-depends 151:lib-depends 160:create-binary-alias \
+ 200:configure-message \
+ 300:pre-configure 450:pre-configure-script \
+ 490:run-autotools-fixup 500:do-configure 700:post-configure \
+ 850:post-configure-script \
+ ${_OPTIONS_configure} ${_USES_configure}
+_BUILD_DEP= configure
+_BUILD_SEQ= 100:build-message 300:pre-build 450:pre-build-script \
+ 500:do-build 700:post-build 850:post-build-script \
+ ${_OPTIONS_build} ${_USES_build}
+_STAGE_DEP= build
+# STAGE is special in its numbering as it has install and stage, so install is
+# the main, and stage goes after.
+_STAGE_SEQ= 050:stage-message 100:stage-dir 150:run-depends \
+ 200:apply-slist 300:pre-install \
+ 400:generate-plist 450:pre-su-install 475:create-users-groups \
+ 500:do-install 550:kmod-post-install 600:fixup-lib-pkgconfig 700:post-install \
+ 750:post-install-script 800:post-stage 850:compress-man \
+ 860:install-rc-script 870:install-ldconfig-file \
+ 880:install-license 890:install-desktop-entries \
+ 900:add-plist-info 910:add-plist-docs 920:add-plist-examples \
+ 930:add-plist-data 940:add-plist-post ${POST_PLIST:C/^/990:/} \
+ ${_OPTIONS_install} ${_USES_install} \
+ ${_OPTIONS_stage} ${_USES_stage}
+.if defined(DEVELOPER)
+_STAGE_SEQ+= 995:stage-qa
+.else
+stage-qa: stage
+.endif
+_TEST_DEP= stage
+_TEST_SEQ= 100:test-message 150:test-depends 300:pre-test 500:do-test \
+ 800:post-test \
+ ${_OPTIONS_test} ${_USES_test}
+_INSTALL_DEP= stage
+_INSTALL_SEQ= 100:install-message \
+ 200:check-already-installed \
+ 300:create-manifest
+_INSTALL_SUSEQ= 400:fake-pkg 500:security-check
+
+_PACKAGE_DEP= stage
+_PACKAGE_SEQ= 100:package-message 300:pre-package 450:pre-package-script \
+ 500:do-package 850:post-package-script \
+ ${_OPTIONS_package} ${_USES_package}
+
+# Enforce order for -jN builds
+.for _t in ${_TARGETS_STAGES}
+# Check if the port need to change the default order of some targets...
+. if defined(TARGET_ORDER_OVERRIDE)
+_tmp_seq:=
+. for _entry in ${_${_t}_SEQ}
+# for _target because :M${_target} does not work with fmake
+. for _target in ${_entry:C/^[0-9]+://}
+. if ${TARGET_ORDER_OVERRIDE:M*\:${_target}}
+_tmp_seq:= ${_tmp_seq} ${TARGET_ORDER_OVERRIDE:M*\:${_target}}
+. else
+_tmp_seq:= ${_tmp_seq} ${_entry}
+. endif
+. endfor
+. endfor
+_${_t}_SEQ:= ${_tmp_seq}
+. endif
+. for s in ${_${_t}_SEQ:O:C/^[0-9]+://}
+. if target(${s})
+. if ! ${NOTPHONY:M${s}}
+_PHONY_TARGETS+= ${s}
+. endif
+_${_t}_REAL_SEQ+= ${s}
+. endif
+. endfor
+. for s in ${_${_t}_SUSEQ:O:C/^[0-9]+://}
+. if target(${s})
+. if ! ${NOTPHONY:M${s}}
+_PHONY_TARGETS+= ${s}
+. endif
+_${_t}_REAL_SUSEQ+= ${s}
+. endif
+. endfor
+.ORDER: ${_${_t}_DEP} ${_${_t}_REAL_SEQ}
+.endfor
+
+# Define all of the main targets which depend on a sequence of other targets.
+# See above *_SEQ and *_DEP. The _DEP will run before this defined target is
+# ran. The _SEQ will run as this target once _DEP is satisfied.
+
+.for target in extract patch configure build stage install package
+
+# Check if config dialog needs to show and execute it if needed. If is it not
+# needed (_OPTIONS_OK), then just depend on the cookie which is defined later
+# to depend on the *_DEP and execute the *_SEQ.
+# If options are required, execute config-conditional and then re-execute the
+# target noting that config is no longer needed.
+.if !target(${target}) && defined(_OPTIONS_OK)
+_PHONY_TARGETS+= ${target}
+${target}: ${${target:tu}_COOKIE}
+.elif !target(${target})
+${target}: config-conditional
+ @cd ${.CURDIR} && ${MAKE} CONFIG_DONE_${PKGBASE:tu}=1 ${${target:tu}_COOKIE}
+.elif target(${target}) && defined(IGNORE)
+.endif
+
+.if !exists(${${target:tu}_COOKIE})
+
+# Define the real target behavior. Depend on the target's *_DEP. Execute
+# the target's *_SEQ. Also handle su and USE_SUBMAKE needs.
+.if ${UID} != 0 && defined(_${target:tu}_REAL_SUSEQ) && !defined(INSTALL_AS_USER)
+. if defined(USE_SUBMAKE)
+${${target:tu}_COOKIE}: ${_${target:tu}_DEP}
+ @cd ${.CURDIR} && ${MAKE} ${_${target:tu}_REAL_SEQ}
+. else # !USE_SUBMAKE
+${${target:tu}_COOKIE}: ${_${target:tu}_DEP} ${_${target:tu}_REAL_SEQ}
+. endif # USE_SUBMAKE
+ @${ECHO_MSG} "===> Switching to root credentials for '${target}' target"
+ @cd ${.CURDIR} && \
+ ${SU_CMD} "${MAKE} ${_${target:tu}_REAL_SUSEQ}"
+ @${ECHO_MSG} "===> Returning to user credentials"
+ @${TOUCH} ${TOUCH_FLAGS} ${.TARGET}
+.else # No SU needed
+. if defined(USE_SUBMAKE)
+${${target:tu}_COOKIE}: ${_${target:tu}_DEP}
+ @cd ${.CURDIR} && \
+ ${MAKE} ${_${target:tu}_REAL_SEQ} ${_${target:tu}_REAL_SUSEQ}
+ @${TOUCH} ${TOUCH_FLAGS} ${.TARGET}
+. else # !USE_SUBMAKE
+${${target:tu}_COOKIE}: ${_${target:tu}_DEP} ${_${target:tu}_REAL_SEQ} ${_${target:tu}_REAL_SUSEQ}
+ @${TOUCH} ${TOUCH_FLAGS} ${.TARGET}
+. endif # USE_SUBMAKE
+.endif # SU needed
+
+.else # exists(cookie)
+${${target:tu}_COOKIE}::
+ @if [ ! -e ${.TARGET} ]; then \
+ cd ${.CURDIR} && ${MAKE} ${.TARGET}; \
+ fi
+.endif # !exists(cookie)
+
+.endfor # foreach(targets)
+
+.PHONY: ${_PHONY_TARGETS} check-sanity fetch pkg
+
+.if !target(check-sanity)
+check-sanity: ${_SANITY_REAL_SEQ}
+.endif
+
+.if !target(fetch)
+fetch: ${_FETCH_DEP} ${_FETCH_REAL_SEQ}
+.endif
+
+.if !target(pkg)
+pkg: ${_PKG_DEP} ${_PKG_REAL_SEQ}
+.endif
+
+.if !target(test)
+test: ${_TEST_DEP}
+.if !defined(NO_TEST)
+test: ${_TEST_REAL_SEQ}
+.endif
+.endif
+
+.endif
+# End of post-makefile section.
+
+.endif
+# End of the DESTDIR if statement
diff --git a/test-ports/Mk/bsd.port.options.mk b/test-ports/Mk/bsd.port.options.mk
new file mode 100644
index 00000000..70ce7cec
--- /dev/null
+++ b/test-ports/Mk/bsd.port.options.mk
@@ -0,0 +1,23 @@
+# bsd.port.options.mk - Allow OPTIONS to determine dependencies
+#
+# usage:
+#
+# .include "bsd.port.options.mk"
+# <deal with user options>
+# .include "bsd.port.pre.mk"
+# <other work, including adjusting dependencies>
+# .include "bsd.port.post.mk"
+#
+# Created by: Shaun Amott <shaun@inerd.com>
+#
+# $FreeBSD: head/Mk/bsd.port.options.mk 358258 2014-06-18 12:21:35Z bapt $
+#
+
+OPTIONS_Include_MAINTAINER= portmgr@FreeBSD.org
+
+USEOPTIONSMK= yes
+INOPTIONSMK= yes
+
+.include "bsd.port.mk"
+
+.undef INOPTIONSMK
diff --git a/test-ports/Mk/bsd.port.post.mk b/test-ports/Mk/bsd.port.post.mk
new file mode 100644
index 00000000..64c2f262
--- /dev/null
+++ b/test-ports/Mk/bsd.port.post.mk
@@ -0,0 +1,7 @@
+# $FreeBSD: head/Mk/bsd.port.post.mk 340713 2014-01-22 15:12:27Z mat $
+
+AFTERPORTMK= yes
+
+.include "bsd.port.mk"
+
+.undef AFTERPORTMK
diff --git a/test-ports/Mk/bsd.port.pre.mk b/test-ports/Mk/bsd.port.pre.mk
new file mode 100644
index 00000000..bd8ced28
--- /dev/null
+++ b/test-ports/Mk/bsd.port.pre.mk
@@ -0,0 +1,7 @@
+# $FreeBSD: head/Mk/bsd.port.pre.mk 340713 2014-01-22 15:12:27Z mat $
+
+BEFOREPORTMK= yes
+
+.include "bsd.port.mk"
+
+.undef BEFOREPORTMK
diff --git a/test-ports/Mk/bsd.port.subdir.mk b/test-ports/Mk/bsd.port.subdir.mk
new file mode 100644
index 00000000..63f23f2e
--- /dev/null
+++ b/test-ports/Mk/bsd.port.subdir.mk
@@ -0,0 +1,516 @@
+# from: @(#)bsd.subdir.mk 5.9 (Berkeley) 2/1/91
+# $FreeBSD: head/Mk/bsd.port.subdir.mk 453873 2017-11-09 21:48:58Z jrm $
+#
+# The include file <bsd.port.subdir.mk> contains the default targets
+# for building ports subdirectories.
+#
+#
+# +++ variables +++
+#
+# STRIP - The flag passed to the install program to cause the binary
+# to be stripped. This is to be used when building your
+# own install script so that the entire system can be made
+# stripped/not-stripped using a single knob. [-s]
+#
+# OPSYS - Get the operating system type [`uname -s`]
+#
+# SUBDIR - A list of subdirectories that should be built as well.
+# Each of the targets will execute the same target in the
+# subdirectories.
+#
+#
+# +++ targets +++
+#
+# README.html:
+# Creating README.html for package.
+#
+# afterinstall, all, beforeinstall, build, checksum, clean,
+# clean-for-cdrom, clean-restricted,
+# clean-for-cdrom-list, clean-restricted-list,
+# configure, deinstall,
+# depend, depends, describe, extract, fetch, fetch-list,
+# ignorelist, ignorelist-verbose,
+# install, maintainer, makesum, package, readmes, realinstall, reinstall,
+# tags
+#
+# search:
+# Search for ports using either 'make search key=<keyword>'
+# or 'make search name=<keyword>'.
+
+PORTSDIR?= /usr/ports
+TEMPLATES?= ${PORTSDIR}/Templates
+.if defined(PORTSTOP)
+README= ${TEMPLATES}/README.top
+.else
+README= ${TEMPLATES}/README.category
+.endif
+MOVEDDIR?= ${PORTSDIR}
+MOVEDFILE?= MOVED
+
+# Ensure .CURDIR contains an absolute path without a trailing slash. Failed
+# builds can occur when PORTSDIR is a symbolic link, or with something like
+# make -C /usr/ports/category/port/.
+.CURDIR:= ${.CURDIR:tA}
+
+.include "${PORTSDIR}/Mk/bsd.commands.mk"
+
+.MAIN: all
+
+.if !defined(DEBUG_FLAGS)
+STRIP?= -s
+.endif
+
+# These are variables that are invariant for the lifetime of a recursive port traversal
+# (index build, etc), so it is more efficient to precompute them here and pass them in
+# to child makes explicitly, instead of recomputing them tens of thousands of times.
+
+.if !defined(NOPRECIOUSMAKEVARS)
+.if !defined(ARCH)
+ARCH!= ${UNAME} -p
+.endif
+_EXPORTED_VARS+= ARCH
+
+.if !defined(OSVERSION)
+.if exists(/usr/include/sys/param.h)
+OSVERSION!= ${AWK} '/^\#define[[:blank:]]__FreeBSD_version/ {print $$3}' < /usr/include/sys/param.h
+.elif exists(${SRC_BASE}/sys/sys/param.h)
+OSVERSION!= ${AWK} '/^\#define[[:blank:]]__FreeBSD_version/ {print $$3}' < ${SRC_BASE}/sys/sys/param.h
+.else
+OSVERSION!= ${SYSCTL} -n kern.osreldate
+.endif
+.endif
+_EXPORTED_VARS+= OSVERSION
+
+WITH_PKG= yes
+WITH_PKGNG= yes
+
+.if !defined(_OSRELEASE)
+_OSRELEASE!= ${UNAME} -r
+.endif
+_EXPORTED_VARS+= _OSRELEASE
+.if !defined(OSREL)
+OSREL= ${_OSRELEASE:C/[-(].*//}
+.endif
+_EXPORTED_VARS+= OSREL
+
+.if !defined(OPSYS)
+OPSYS!= ${UNAME} -s
+.endif
+_EXPORTED_VARS+= OPSYS
+
+.if ${ARCH} == "amd64" || ${ARCH} =="ia64"
+.if !defined(HAVE_COMPAT_IA32_KERN)
+HAVE_COMPAT_IA32_KERN!= if ${SYSCTL} -n compat.ia32.maxvmem >/dev/null 2>&1; then echo YES; fi; echo
+.if empty(HAVE_COMPAT_IA32_KERN)
+.undef HAVE_COMPAT_IA32_KERN
+.endif
+.endif
+.endif
+_EXPORTED_VARS+= HAVE_COMPAT_IA32_KERN
+
+.if !defined(CONFIGURE_MAX_CMD_LEN)
+CONFIGURE_MAX_CMD_LEN!= ${SYSCTL} -n kern.argmax
+.endif
+_EXPORTED_VARS+= CONFIGURE_MAX_CMD_LEN
+
+.if !defined(_JAVA_VERSION_LIST_REGEXP)
+_JAVA_VERSION_LIST_REGEXP!= ${MAKE} -V _JAVA_VERSION_LIST_REGEXP USE_JAVA=1 -f ${PORTSDIR}/Mk/bsd.port.mk
+.endif
+_EXPORTED_VARS+= _JAVA_VERSION_LIST_REGEXP
+
+.if !defined(_JAVA_VENDOR_LIST_REGEXP)
+_JAVA_VENDOR_LIST_REGEXP!= ${MAKE} -V _JAVA_VENDOR_LIST_REGEXP USE_JAVA=1 -f ${PORTSDIR}/Mk/bsd.port.mk
+.endif
+_EXPORTED_VARS+= _JAVA_VENDOR_LIST_REGEXP
+
+.if !defined(_JAVA_OS_LIST_REGEXP)
+_JAVA_OS_LIST_REGEXP!= ${MAKE} -V _JAVA_OS_LIST_REGEXP USE_JAVA=1 -f ${PORTSDIR}/Mk/bsd.port.mk
+.endif
+_EXPORTED_VARS+= _JAVA_OS_LIST_REGEXP
+
+.if !defined(_JAVA_PORTS_INSTALLED)
+_JAVA_PORTS_INSTALLED!= ${MAKE} -V _JAVA_PORTS_INSTALLED USE_JAVA=1 -f ${PORTSDIR}/Mk/bsd.port.mk
+.endif
+_EXPORTED_VARS+= _JAVA_PORTS_INSTALLED
+
+.if !defined(UID)
+UID!= ${ID} -u
+.endif
+_EXPORTED_VARS+= UID
+
+.endif
+
+INDEXDIR?= ${PORTSDIR}
+INDEXFILE?= INDEX-${OSVERSION:C/([0-9]*)[0-9]{5}/\1/}
+
+# local customization of the ports tree
+.sinclude "${.CURDIR}/Makefile.local"
+
+TARGETS+= all
+TARGETS+= build
+TARGETS+= checksum
+TARGETS+= clean
+TARGETS+= clean-for-cdrom
+TARGETS+= clean-for-cdrom-list
+TARGETS+= clean-restricted
+TARGETS+= clean-restricted-list
+TARGETS+= configure
+TARGETS+= deinstall
+TARGETS+= depend
+TARGETS+= depends
+TARGETS+= distclean
+TARGETS+= extract
+TARGETS+= fetch
+TARGETS+= fetch-list
+TARGETS+= ignorelist
+TARGETS+= ignorelist-verbose
+TARGETS+= makesum
+TARGETS+= maintainer
+TARGETS+= package
+TARGETS+= package-recursive
+TARGETS+= realinstall
+TARGETS+= reinstall
+TARGETS+= tags
+
+.for __target in ${TARGETS}
+.if !target(${__target})
+.if defined(SUBDIR) && !empty(SUBDIR)
+${__target}: ${SUBDIR:S/^/_/:S/$/.${__target}/}
+.else
+${__target}:
+.endif
+.endif
+.endfor
+
+.if defined(SUBDIR) && !empty(SUBDIR)
+
+.for __target in ${TARGETS} checksubdirs describe readmes
+${SUBDIR:S/^/_/:S/$/.${__target}/}: _SUBDIRUSE
+.endfor
+
+_SUBDIRUSE: .USE
+ @OK=""; sub=${.TARGET:S/^_//:R}; \
+ for dud in $$DUDS; do \
+ if [ $${dud} = $$sub ]; then \
+ OK="false"; \
+ ${ECHO_MSG} "===> ${DIRPRFX}$$sub skipped"; \
+ fi; \
+ done; \
+ if test -d ${.CURDIR}/$${sub}.${MACHINE_ARCH}; then \
+ edir=$${sub}.${MACHINE_ARCH}; \
+ elif test -d ${.CURDIR}/$${sub}; then \
+ edir=$${sub}; \
+ else \
+ OK="false"; \
+ ${ECHO_MSG} "===> ${DIRPRFX}$${sub} non-existent"; \
+ fi; \
+ if [ "$$OK" = "" ]; then \
+ ${ECHO_MSG} "===> ${DIRPRFX}$${edir}"; \
+ cd ${.CURDIR}/$${edir}; \
+ ${MAKE} -B ${.TARGET:E:realinstall=install} \
+ DIRPRFX=${DIRPRFX}$$edir/; \
+ fi
+
+.for _subdir in ${SUBDIR:S/^/_/}
+${_subdir}:: ${_subdir:S/$/.all/}
+.endfor
+
+.endif
+
+.if !target(install)
+.if !target(beforeinstall)
+beforeinstall:
+.endif
+.if !target(afterinstall)
+afterinstall:
+.endif
+install: afterinstall
+afterinstall: realinstall
+realinstall: beforeinstall ${SUBDIR:S/^/_/:S/$/.realinstall/}
+.endif
+
+IGNOREDIR= Mk Templates Tools distfiles packages pkg Keywords
+
+.if !target(checksubdirs)
+.if defined(PORTSTOP)
+checksubdirs: checksubdir ${SUBDIR:S/^/_/:S/$/.checksubdirs/}
+.else
+checksubdirs: checksubdir
+.endif
+.endif
+
+.if !target(checksubdir)
+checksubdir:
+ @for d in *; do \
+ if [ -d "$$d" ]; then \
+ found=0; \
+ for s in ${SUBDIR} ${IGNOREDIR}; do \
+ if [ "x$$s" = "x$$d" ]; then \
+ found=1; \
+ break; \
+ fi; \
+ done; \
+ if [ $$found = 0 ]; then \
+ ${ECHO_MSG} "Warning: directory $$d not in SUBDIR"; \
+ fi; \
+ fi; \
+ done
+ @for s in ${SUBDIR}; do \
+ if ! [ -d ${.CURDIR}/$$s ]; then \
+ ${ECHO_MSG} "Warning: directory $$s in SUBDIR does not exist"; \
+ fi \
+ done
+.endif
+
+.if !target(describe)
+.if defined(PORTSTOP)
+# This is a bit convoluted to deal with the fact that make will overlap I/O from child make processes
+# if they write more than 2k: this will corrupt the INDEX file. make -P does not do this, but it adds
+# extraneous output and redirects stderr, so we lose error reporting from child makes. Instead we have
+# to roll our own implementation of make -P and make sure that each child make writes to their own file,
+# which we will combine at the end. This gives substantial performance benefits over doing a make -j1
+
+.if defined(BUILDING_INDEX)
+describe: ${SUBDIR:S/^/describe./}
+
+.for i in ${SUBDIR}
+describe.$i:
+ @cd ${.CURDIR}; ${MAKE} -B ${i:S/^/_/:S/$/.describe/} > ${INDEX_TMPDIR}/${INDEXFILE}.desc.${i}
+.endfor
+.else
+describe: ${SUBDIR:S/^/_/:S/$/.describe/}
+.endif
+.else
+describe:
+ @for sub in ${SUBDIR}; do \
+ if ${TEST} -d ${.CURDIR}/$${sub}; then \
+ ${ECHO_MSG} "===> ${DIRPRFX}$${sub}"; \
+ cd ${.CURDIR}/$${sub}; \
+ ${MAKE} -B describe || \
+ (${ECHO_CMD} "===> ${DIRPRFX}$${sub} failed" >&2; \
+ exit 1) ;\
+ else \
+ ${ECHO_MSG} "===> ${DIRPRFX}$${sub} non-existent"; \
+ fi; \
+ done
+.endif
+.endif
+
+.if !target(readmes)
+.if defined(PORTSTOP)
+readmes: readme ${SUBDIR:S/^/_/:S/$/.readmes/}
+ @${ECHO_MSG} "===> Creating README.html for all ports"
+ @perl ${PORTSDIR}/Tools/make_readmes < ${INDEXDIR}/${INDEXFILE}
+.else
+readmes: readme
+.endif
+.endif
+
+.if !target(readme)
+readme:
+ @${RM} README.html
+ @${MAKE} README.html
+.endif
+
+HTMLIFY= ${SED} -e 's/&/\&amp;/g' -e 's/>/\&gt;/g' -e 's/</\&lt;/g'
+
+package-name:
+ @${ECHO_CMD} ${.CURDIR} | ${SED} -e 's^.*/^^'
+
+README.html:
+ @${ECHO_CMD} "===> Creating README.html"
+ @> $@.tmp
+.for entry in ${SUBDIR}
+.if exists(${entry})
+.if defined(PORTSTOP)
+ @${ECHO_CMD} -n '<a href="'${entry}/README.html'">'"`${ECHO_CMD} ${entry} | ${HTMLIFY}`"'</a>: ' >> $@.tmp
+.else
+ @${ECHO_CMD} -n '<a href="'${entry}/README.html'">'"`cd ${entry}; ${MAKE} package-name | ${HTMLIFY}`</a>: " >> $@.tmp
+.endif
+ @${ECHO_CMD} `cd ${entry}; ${MAKE} -V COMMENT` | ${HTMLIFY} >> $@.tmp
+.endif
+.endfor
+ @${SORT} -t '>' +1 -2 $@.tmp > $@.tmp2
+.if exists(${DESCR})
+ @${HTMLIFY} ${DESCR} > $@.tmp3
+.else
+ @> $@.tmp3
+.endif
+.if defined(COMMENT)
+ @${ECHO_CMD} "${COMMENT}" | ${HTMLIFY} > $@.tmp4
+.else
+ @> $@.tmp4
+.endif
+ @${CAT} ${README} | \
+ ${SED} -e 's/%%CATEGORY%%/'"`basename ${.CURDIR}`"'/g' \
+ -e '/%%COMMENT%%/r$@.tmp4' \
+ -e '/%%COMMENT%%/d' \
+ -e '/%%DESCR%%/r$@.tmp3' \
+ -e '/%%DESCR%%/d' \
+ -e '/%%SUBDIR%%/r$@.tmp2' \
+ -e '/%%SUBDIR%%/d' \
+ > $@
+ @${RM} $@.tmp $@.tmp2 $@.tmp3 $@.tmp4
+
+# Pass in the cached invariant variables to child makes.
+.if !defined(NOPRECIOUSMAKEVARS)
+.for var in ${_EXPORTED_VARS}
+.if empty(.MAKEFLAGS:M${var}=*) && !empty(${var})
+.MAKEFLAGS: ${var}=${${var}:Q}
+.endif
+.endfor
+.endif
+
+PORTSEARCH_DISPLAY_FIELDS?=name,path,info,maint,index,bdeps,rdeps,www
+PORTSEARCH_KEYLIM?=0
+PORTSEARCH_XKEYLIM?=0
+PORTSEARCH_IGNORECASE?=1
+PORTSEARCH_MOVED?=1
+
+_PORTSEARCH= \
+ here=${.CURDIR}; \
+ if [ ! -r ${INDEXDIR}/${INDEXFILE} ] ; then \
+ ${ECHO_MSG} "The ${.TARGET} target requires ${INDEXFILE}. Please run make index or make fetchindex."; \
+ else \
+ cd ${PORTSDIR}; \
+ if [ -z "$$key" -a -z "$$xkey" -a \
+ -z "$$name" -a -z "$$xname" -a \
+ -z "$$path" -a -z "$$xpath" -a \
+ -z "$$info" -a -z "$$xinfo" -a \
+ -z "$$maint" -a -z "$$xmaint" -a \
+ -z "$$cat" -a -z "$$xcat" -a \
+ -z "$$bdeps" -a -z "$$xbdeps" -a \
+ -z "$$rdeps" -a -z "$$xrdeps" -a \
+ -z "$$www" -a -z "$$xwww" ]; \
+ then \
+ ${ECHO_MSG} "The ${.TARGET} target requires a keyword parameter or name parameter,"; \
+ ${ECHO_MSG} "e.g.: \"make ${.TARGET} key=somekeyword\""; \
+ ${ECHO_MSG} "or \"make ${.TARGET} name=somekeyword\""; \
+ exit; \
+ fi; \
+ ${AWK} -F\| -v there="$$here/" -v top="$$(pwd -P)" \
+ -v key="$$key" -v xkey="$$xkey" \
+ -v name="$$name" -v xname="$$xname" \
+ -v path="$$path" -v xpath="$$xpath" \
+ -v info="$$info" -v xinfo="$$xinfo" \
+ -v maint="$$maint" -v xmaint="$$xmaint" \
+ -v cat="$$cat" -v xcat="$$xcat" \
+ -v bdeps="$$bdeps" -v xbdeps="$$xbdeps" \
+ -v rdeps="$$rdeps" -v xrdeps="$$xrdeps" \
+ -v www="$$www" -v xwww="$$xwww" \
+ -v icase="$${icase:-${PORTSEARCH_IGNORECASE}}" \
+ -v keylim="$${keylim:-${PORTSEARCH_KEYLIM}}" \
+ -v xkeylim="$${xkeylim:-${PORTSEARCH_XKEYLIM}}" \
+ -v display="$${display:-${PORTSEARCH_DISPLAY_FIELDS}}" \
+ -v xdisplay="$$xdisplay" \
+ 'BEGIN { \
+ gsub(/\+/,"\\+",name); \
+ if (substr(there, 1, length(top)) == top) \
+ there = "${PORTSDIR}" substr(there, 1 + length(top)); \
+ therelen = length(there); \
+ keylen = length(key); keylim = keylim && keylen; \
+ if (!keylim && keylen) \
+ parms[0] = (icase ? tolower(key) : key); \
+ xkeylen = length(xkey); xkeylim = xkeylim && xkeylen; \
+ if (!xkeylim && xkeylen) \
+ xparms[0] = (icase ? tolower(xkey) : xkey); \
+ if (icase) { \
+ if (length(name)) parms[1] = tolower(name); if (length(xname)) xparms[1] = tolower(xname); \
+ if (length(path)) parms[2] = tolower(path); if (length(xpath)) xparms[2] = tolower(xpath); \
+ if (length(info)) parms[4] = tolower(info); if (length(xinfo)) xparms[4] = tolower(xinfo); \
+ if (length(maint)) parms[6] = tolower(maint); if (length(xmaint)) xparms[6] = tolower(xmaint); \
+ if (length(cat)) parms[7] = tolower(cat); if (length(xcat)) xparms[7] = tolower(xcat); \
+ if (length(bdeps)) parms[8] = tolower(bdeps); if (length(xbdeps)) xparms[8] = tolower(xbdeps); \
+ if (length(rdeps)) parms[9] = tolower(rdeps); if (length(xrdeps)) xparms[9] = tolower(xrdeps); \
+ if (length(www)) parms[10] = tolower(www); if (length(xwww)) xparms[10] = tolower(xwww); \
+ } else { \
+ if (length(name)) parms[1] = name; if (length(xname)) xparms[1] = xname; \
+ if (length(path)) parms[2] = path; if (length(xpath)) xparms[2] = xpath; \
+ if (length(info)) parms[4] = info; if (length(xinfo)) xparms[4] = xinfo; \
+ if (length(maint)) parms[6] = maint; if (length(xmaint)) xparms[6] = xmaint; \
+ if (length(cat)) parms[7] = cat; if (length(xcat)) xparms[7] = xcat; \
+ if (length(bdeps)) parms[8] = bdeps; if (length(xbdeps)) xparms[8] = xbdeps; \
+ if (length(rdeps)) parms[9] = rdeps; if (length(xrdeps)) xparms[9] = xrdeps; \
+ if (length(www)) parms[10] = www; if (length(xwww)) xparms[10] = xwww; \
+ } \
+ fields["name"] = 1; names[1] = "Port"; \
+ fields["path"] = 2; names[2] = "Path"; \
+ fields["info"] = 4; names[4] = "Info"; \
+ fields["maint"] = 6; names[6] = "Maint"; \
+ fields["cat"] = 7; names[7] = "Index"; \
+ fields["bdeps"] = 8; names[8] = "B-deps"; \
+ fields["rdeps"] = 9; names[9] = "R-deps"; \
+ fields["www"] = 10; names[10] = "WWW"; \
+ split(display, d, /,[ \t]*/); \
+ split(xdisplay, xd, /,[ \t]*/); \
+ for (i in d) { \
+ toprint = 1; \
+ for (j in xd) { \
+ if (d[i] == xd[j] ) { \
+ toprint=0; \
+ break; \
+ }\
+ } \
+ if (toprint == 1 ) disp[fields[d[i]]] = 1; \
+ } \
+ } \
+ { \
+ if (match($$2, "^/usr/ports/[^/]*/[^/]*$$") > 0) \
+ sub("^/usr/ports", "${PORTSDIR}", $$2); \
+ if (substr($$2, 1, therelen) != there) \
+ next; \
+ for (i in parms) \
+ if ((icase ? tolower($$i) : $$i) !~ parms[i]) \
+ next; \
+ for (i in xparms) \
+ if ((icase ? tolower($$i) : $$i) ~ xparms[i]) \
+ next; \
+ found = 0; \
+ for (i = 1; i < 11; i++) \
+ if (i in disp) { \
+ if (xkeylim && (icase ? tolower($$i) : $$i) ~ xkey) \
+ next; \
+ if (!found && keylim && (icase ? tolower($$i) : $$i) ~ key) \
+ found = 1; \
+ } \
+ if (keylim && !found) \
+ next; \
+ for (i = 1; i < 11; i++) \
+ if (i in disp) \
+ printf("%s:\t%s\n", names[i], $$i); \
+ print(""); \
+ }' ${INDEXDIR}/${INDEXFILE}; \
+ if [ "$$name" -o "$$xname" ] && [ ${PORTSEARCH_MOVED} -gt 0 ]; \
+ then \
+ ${AWK} -F\| -v name="$$name" -v xname="$$xname" \
+ -v icase="$${icase:-${PORTSEARCH_IGNORECASE}}" \
+ 'BEGIN { \
+ if (icase) { \
+ if (length(name)) name = tolower(name); if (length(xname)) xname = tolower(xname); \
+ } \
+ fields["name"] = 1; names[1] = "Port"; \
+ fields["destination"] = 2; names[2] = "Moved"; \
+ fields["date"] = 3; names[3] = "Date"; \
+ fileds["reason"] = 4; names[4] = "Reason"; \
+ } \
+ { \
+ oldname = $$1; newname = $$2; \
+ if (oldname ~ /^\#/) next; \
+ sub(".*\/", "", oldname); newname = sub(".*\/", "", newname); \
+ if (((icase ? tolower(oldname) : oldname) ~ name) || \
+ ((icase ? tolower(newname) : newname) ~ name)) { \
+ for (i = 1; i <= 4; i++) { \
+ printf("%s:\t%s\n", names[i], $$i); \
+ } \
+ print(""); \
+ } \
+ }' ${MOVEDDIR}/${MOVEDFILE}; \
+ fi \
+ fi
+
+search:
+ @${_PORTSEARCH}
+
+quicksearch:
+ @export display="name,path,info" ; \
+ ${_PORTSEARCH}
diff --git a/test-ports/Mk/bsd.ruby.mk b/test-ports/Mk/bsd.ruby.mk
new file mode 100644
index 00000000..16af29e1
--- /dev/null
+++ b/test-ports/Mk/bsd.ruby.mk
@@ -0,0 +1,408 @@
+#
+# bsd.ruby.mk - Utility definitions for Ruby related ports.
+#
+# Created by: Akinori MUSHA <knu@FreeBSD.org>
+#
+# $FreeBSD: head/Mk/bsd.ruby.mk 487272 2018-12-12 01:35:33Z gerald $
+#
+
+.if !defined(Ruby_Include)
+
+Ruby_Include= bsd.ruby.mk
+Ruby_Include_MAINTAINER= ruby@FreeBSD.org
+
+#
+# [variables that a user may define]
+#
+# RUBY_VER - (See below)
+# RUBY_DEFAULT_VER - Set to (e.g.) "2.4" if you want to refer to "ruby24"
+# just as "ruby".
+# RUBY_ARCH - (See below)
+#
+# [variables that each port can define]
+#
+# RUBY - Set to full path of ruby. If you set this, the values
+# of the following variables are automatically obtained
+# from the ruby executable: RUBY_VER, RUBY_VERSION,
+# RUBY_NAME, RUBY_ARCH, RUBY_LIBDIR, RUBY_ARCHLIBDIR,
+# RUBY_SITELIBDIR, and RUBY_SITEARCHLIBDIR.
+# RUBY_VER - Set to the alternative short version of ruby in the
+# form of `x.y' (see below for current value).
+# USE_RUBY - Says that the port uses ruby for building and running.
+# RUBY_NO_BUILD_DEPENDS - Says that the port should not build-depend on ruby.
+# RUBY_NO_RUN_DEPENDS - Says that the port should not run-depend on ruby.
+# USE_RUBY_EXTCONF - Says that the port uses extconf.rb to configure.
+# Implies USE_RUBY.
+# RUBY_EXTCONF - Set to the alternative name of extconf.rb
+# (default: extconf.rb).
+# RUBY_EXTCONF_SUBDIRS - Set to list of subdirectories, if multiple modules
+# are included.
+# USE_RUBY_SETUP - Says that the port uses setup.rb to configure and
+# build.
+# RUBY_SETUP - Set to the alternative name of setup.rb
+# (default: setup.rb).
+# USE_RUBY_RDOC - Says that the port uses rdoc to generate documents.
+# RUBY_REQUIRE - Set to a Ruby expression to evaluate before building
+# the port. The constant "Ruby" is set to the integer
+# version number of ruby, and the result of the
+# expression will be set to RUBY_PROVIDED, which is
+# left undefined if the result is nil, false or a
+# zero-length string. Implies USE_RUBY.
+# USE_RUBYGEMS - Do not use this -- instead USES=gem
+#
+# [variables that each port should not (re)define]
+#
+# RUBY_PKGNAMEPREFIX - Common PKGNAMEPREFIX for ruby ports
+# (default: ruby${RUBY_SUFFIX}-)
+# RUBY_RELVERSION - Full version of ruby without preview/beta suffix in
+# the form of `x.y.z' (see below for current value).
+# RUBY_RELVERSION_CODE - Integer version of RUBY_RELVERSION in the form of
+# `xyz'.
+# RUBY_VERSION - Composite version of RUBY_RELVERSION and
+# RUBY_PATCHLEVEL in the form of `x.y.z.p'.
+# (default: ${RUBY_RELVERSION}.${RUBY_PATCHLEVEL})
+# RUBY_VERSION_CODE - Composite integer version of RUBY_VERSION in the form
+# of `xyzp'.
+# RUBY_PORTVERSION - PORTVERSION for the standard ruby ports (ruby,
+# ruby-gdbm, etc.).
+# RUBY_PORTREVISION - PORTREVISION for the standard ruby ports.
+# RUBY_PORTEPOCH - PORTEPOCH for the standard ruby ports.
+# RUBY_DISTNAME - DISTNAME for the standard ruby ports, i.e. the
+# basename of the ruby distribution tarball.
+# RUBY_DISTVERSION - The version number part of RUBY_DISTNAME.
+# RUBY_PATCHFILES - PATCHFILES for the standard ruby ports, i.e. the
+# basename of the ruby distribution tarball.
+# RUBY_WRKSRC - WRKSRC for the ruby port.
+# MASTER_SITE_SUBDIR_RUBY - MASTER_SITE_SUBDIR for the ruby distfiles.
+#
+# RUBY_SHLIBVER - Major version of libruby (see below for current
+# value).
+# RUBY_ARCH - Set to target architecture name.
+# (e.g. i386-freebsd7)
+# RUBY_SUFFIX - Suffix for ruby binaries and directories
+# (${RUBY_VER:S/.//}).
+# RUBY_WITHOUT_SUFFIX - Always ${LOCALBASE}/bin/ruby.
+# RUBY_WITH_SUFFIX - Always ${RUBY_WITHOUT_SUFFIX}${RUBY_SUFFIX}.
+# RUBY_NAME - Ruby's name with trailing suffix.
+#
+# RUBY_MODNAME - Set to the module name (default: ${PORTNAME}).
+#
+# RUBY_RDOC - Full path of rdoc executable.
+#
+# RUBY_BASE_PORT - Port path of base ruby without PORTSDIR, without
+# suffix except version.
+# RUBY_PORT - Port path of ruby without PORTSDIR.
+# RUBY_RDOC_PORT - Port path of rdoc without PORTSDIR.
+#
+# DEPEND_RUBY - BUILD_DEPENDS/RUN_DEPENDS entry for ruby.
+# DEPEND_RUBY_RDOC - BUILD_DEPENDS entry for rdoc.
+#
+# RUBY_LIBDIR - Installation path for architecture independent
+# libraries.
+# RUBY_ARCHLIBDIR - Installation path for architecture dependent
+# libraries.
+# RUBY_SITELIBDIR - Installation path for site architecture independent
+# libraries.
+# RUBY_SITEARCHLIBDIR - Installation path for site architecture dependent
+# libraries.
+# RUBY_DOCDIR - Installation path for documents.
+# RUBY_EXAMPLESDIR - Installation path for examples.
+# RUBY_RIDIR - Installation path for site architecture independent ri
+# documents.
+# RUBY_SITERIDIR - Installation path for site architecture dependent ri
+# documents.
+# RUBY_MODDOCDIR - Installation path for the module's documents.
+# RUBY_MODEXAMPLESDIR - Installation path for the module's examples.
+#
+
+.if defined(RUBY_DEFAULT_VER)
+WARNING+= "RUBY_DEFAULT_VER is defined, consider using DEFAULT_VERSIONS=ruby=${RUBY_DEFAULT_VER} instead"
+.endif
+
+RUBY_DEFAULT_VER?= ${RUBY_DEFAULT}
+
+RUBY_VER?= ${RUBY_DEFAULT_VER}
+
+.if defined(RUBY)
+.if !exists(${RUBY})
+IGNORE= cannot install: you set the variable RUBY to "${RUBY}", but it does not seem to exist. Please specify an already installed ruby executable
+.endif
+
+_RUBY_TEST!= ${RUBY} -e 'begin; require "rbconfig"; puts "ok" ; rescue LoadError; puts "error"; end'
+.if !empty(_RUBY_TEST) && ${_RUBY_TEST} != "ok"
+IGNORE= cannot install: you set the variable RUBY to "${RUBY}", but it failed to include rbconfig. Please specify a properly installed ruby executable
+.endif
+
+_RUBY_CONFIG= ${RUBY} -r rbconfig -e 'C = RbConfig::CONFIG' -e
+
+RUBY_VERSION!= ${_RUBY_CONFIG} 'puts C["ruby_version"]'
+RUBY_SUFFIX?= # empty
+
+RUBY_ARCH!= ${_RUBY_CONFIG} 'puts C["target"]'
+RUBY_NAME!= ${_RUBY_CONFIG} 'puts C["ruby_install_name"]'
+
+_RUBY_SYSLIBDIR!= ${_RUBY_CONFIG} 'puts C["libdir"]'
+_RUBY_SITEDIR!= ${_RUBY_CONFIG} 'puts C["sitedir"]'
+_RUBY_VENDORDIR!= ${_RUBY_CONFIG} 'puts C["vendordir"]'
+.else
+RUBY?= ${LOCALBASE}/bin/${RUBY_NAME}
+
+.if defined(RUBY_VER)
+# When adding a version, please keep the comment in
+# Mk/bsd.default-versions.mk in sync.
+. if ${RUBY_VER} == 2.3
+#
+# Ruby 2.3
+#
+RUBY_RELVERSION= 2.3.8
+RUBY_PORTREVISION= 1
+RUBY_PORTEPOCH= 1
+RUBY_PATCHLEVEL= 0
+RUBY23= "" # PLIST_SUB helpers
+
+. elif ${RUBY_VER} == 2.4
+#
+# Ruby 2.4
+#
+RUBY_RELVERSION= 2.4.5
+RUBY_PORTREVISION= 1
+RUBY_PORTEPOCH= 1
+RUBY_PATCHLEVEL= 0
+RUBY24= "" # PLIST_SUB helpers
+
+. elif ${RUBY_VER} == 2.5
+#
+# Ruby 2.5
+#
+RUBY_RELVERSION= 2.5.3
+RUBY_PORTREVISION= 1
+RUBY_PORTEPOCH= 1
+RUBY_PATCHLEVEL= 0
+RUBY25= "" # PLIST_SUB helpers
+
+# When adding a version, please keep the comment in
+# Mk/bsd.default-versions.mk in sync.
+. else
+#
+# Other versions
+#
+IGNORE= Only ruby 2.3, 2.4 and 2.5 are supported
+_INVALID_RUBY_VER= 1
+. endif
+.endif # defined(RUBY_VER)
+
+.if !defined(_INVALID_RUBY_VER)
+
+RUBY23?= "@comment "
+RUBY24?= "@comment "
+RUBY25?= "@comment "
+
+.if defined(BROKEN_RUBY${RUBY_VER:R}${RUBY_VER:E})
+.if ${BROKEN_RUBY${RUBY_VER:R}${RUBY_VER:E}} == "yes"
+BROKEN= does not build with Ruby ${RUBY_VER}
+.else
+BROKEN= ${BROKEN_RUBY${RUBY_VER:R}${RUBY_VER:E}}
+.endif
+.endif
+
+.if ${RUBY_PATCHLEVEL} == 0
+RUBY_VERSION?= ${RUBY_RELVERSION}
+RUBY_DISTVERSION?= ${RUBY_RELVERSION}
+.else
+RUBY_VERSION?= ${RUBY_RELVERSION}.${RUBY_PATCHLEVEL}
+RUBY_DISTVERSION?= ${RUBY_RELVERSION}-p${RUBY_PATCHLEVEL}
+.endif
+
+RUBY_WRKSRC= ${WRKDIR}/ruby-${RUBY_DISTVERSION}
+
+RUBY_CONFIGURE_ARGS+= --with-rubyhdrdir="${PREFIX}/include/ruby-${RUBY_VER}/" \
+ --with-rubylibprefix="${PREFIX}/lib/ruby" \
+ --docdir="${RUBY_DOCDIR}" \
+ --with-soname=ruby${RUBY_SUFFIX}
+
+CONFIGURE_TARGET?= ${ARCH}-portbld-${OPSYS:tl}${OSREL:C/\..*//}
+
+RUBY_ARCH?= ${ARCH}-${OPSYS:tl}${OSREL:C/\..*//}
+RUBY_NAME?= ruby${RUBY_SUFFIX}
+
+_RUBY_SYSLIBDIR?= ${PREFIX}/lib
+_RUBY_SITEDIR?= ${_RUBY_SYSLIBDIR}/ruby/site_ruby
+_RUBY_VENDORDIR?= ${_RUBY_SYSLIBDIR}/ruby/vendor_ruby
+.endif
+.endif
+# defined(RUBY)
+
+.if !defined(_INVALID_RUBY_VER)
+
+RUBY_DEFAULT_SUFFIX?= ${RUBY_DEFAULT_VER:S/.//}
+
+RUBY_DISTVERSION?= ${RUBY_VERSION}
+RUBY_PORTVERSION?= ${RUBY_VERSION}
+MASTER_SITE_SUBDIR_RUBY?= ${RUBY_VER}
+RUBY_DISTNAME?= ruby-${RUBY_DISTVERSION}
+
+RUBY_WRKSRC?= ${WRKDIR}/${RUBY_DISTNAME}
+
+RUBY_RELVERSION_CODE?= ${RUBY_RELVERSION:S/.//g}
+RUBY_VERSION_CODE?= ${RUBY_VERSION:S/.//g}
+RUBY_VER= ${RUBY_VERSION:C/([[:digit:]]+\.[[:digit:]]+).*/\1/}
+RUBY_SUFFIX= ${RUBY_VER:S/.//}
+
+RUBY_WITHOUT_SUFFIX?= ${LOCALBASE}/bin/ruby
+RUBY_WITH_SUFFIX?= ${RUBY_WITHOUT_SUFFIX}${RUBY_SUFFIX}
+
+RUBY_PKGNAMEPREFIX?= ruby${RUBY_SUFFIX}-
+RUBY_SHLIBVER?= ${RUBY_VER:S/.//}
+
+RUBY_CONFIGURE_ARGS+= --program-prefix=""
+
+.if ${RUBY_VER} != ${RUBY_DEFAULT_VER}
+DEPENDS_ARGS+= RUBY_VER=${RUBY_VER}
+.endif
+
+RUBY_CONFIGURE_ARGS+= --program-suffix="${RUBY_SUFFIX}"
+
+RUBY_MODNAME?= ${PORTNAME}
+
+# Commands
+RUBY_RDOC?= ${LOCALBASE}/bin/rdoc${RUBY_VER:S/.//}
+
+# Ports
+RUBY_BASE_PORT?= lang/ruby${RUBY_VER:S/.//}
+RUBY_PORT?= ${RUBY_BASE_PORT}
+
+# Depends
+DEPEND_RUBY?= ${RUBY}:${RUBY_PORT}
+
+# Directories
+RUBY_LIBDIR?= ${_RUBY_SYSLIBDIR}/ruby/${RUBY_VER}
+RUBY_ARCHLIBDIR?= ${RUBY_LIBDIR}/${RUBY_ARCH}
+RUBY_SITELIBDIR?= ${_RUBY_SITEDIR}/${RUBY_VER}
+RUBY_SITEARCHLIBDIR?= ${RUBY_SITELIBDIR}/${RUBY_ARCH}
+RUBY_VENDORLIBDIR?= ${_RUBY_VENDORDIR}/${RUBY_VER}
+RUBY_VENDORARCHLIBDIR?= ${RUBY_VENDORLIBDIR}/${RUBY_ARCH}
+RUBY_DOCDIR?= ${PREFIX}/share/doc/${RUBY_NAME}
+RUBY_EXAMPLESDIR?= ${PREFIX}/share/examples/${RUBY_NAME}
+RUBY_RIDIR?= ${PREFIX}/share/ri/${RUBY_VER}/system
+RUBY_SITERIDIR?= ${PREFIX}/share/ri/${RUBY_VER}/site
+RUBY_MODDOCDIR?= ${RUBY_DOCDIR}/${RUBY_MODNAME}
+RUBY_MODEXAMPLESDIR?= ${RUBY_EXAMPLESDIR}/${RUBY_MODNAME}
+
+# PLIST
+PLIST_RUBY_DIRS= RUBY_LIBDIR="${RUBY_LIBDIR}" \
+ RUBY_ARCHLIBDIR="${RUBY_ARCHLIBDIR}" \
+ RUBY_SITELIBDIR="${RUBY_SITELIBDIR}" \
+ RUBY_SITEARCHLIBDIR="${RUBY_SITEARCHLIBDIR}" \
+ RUBY_VENDORLIBDIR="${RUBY_VENDORLIBDIR}" \
+ RUBY_VENDORARCHLIBDIR="${RUBY_VENDORARCHLIBDIR}" \
+ RUBY_MODDOCDIR="${RUBY_MODDOCDIR}" \
+ RUBY_MODEXAMPLESDIR="${RUBY_MODEXAMPLESDIR}" \
+ RUBY_DOCDIR="${RUBY_DOCDIR}" \
+ RUBY_EXAMPLESDIR="${RUBY_EXAMPLESDIR}" \
+ RUBY_RIDIR="${RUBY_RIDIR}" \
+ RUBY_SITERIDIR="${RUBY_SITERIDIR}"
+
+PLIST_SUB+= ${PLIST_RUBY_DIRS:C,DIR="(${LOCALBASE}|${PREFIX})/,DIR=",} \
+ RUBY_VERSION="${RUBY_VERSION}" \
+ RUBY_VER="${RUBY_VER}" \
+ RUBY_SHLIBVER="${RUBY_SHLIBVER}" \
+ RUBY_ARCH="${RUBY_ARCH}" \
+ RUBY_SUFFIX="${RUBY_SUFFIX}" \
+ RUBY_NAME="${RUBY_NAME}" \
+ RUBY_DEFAULT_SUFFIX="${RUBY_DEFAULT_SUFFIX}" \
+ RUBY23=${RUBY23} \
+ RUBY24=${RUBY24} \
+ RUBY25=${RUBY25}
+
+.if defined(USE_RUBY_RDOC)
+MAKE_ENV+= RUBY_RDOC=${RUBY_RDOC}
+.endif
+
+# require check
+.if defined(RUBY_REQUIRE)
+USE_RUBY= yes
+
+.if exists(${RUBY})
+RUBY_PROVIDED!= ${RUBY} -e '\
+ Ruby = ${RUBY_RELVERSION_CODE}; \
+ value = begin; ${RUBY_REQUIRE}; end and puts value'
+.else
+RUBY_PROVIDED= "should be" # the latest version is going to be installed
+.endif
+
+.if empty(RUBY_PROVIDED)
+.undef RUBY_PROVIDED
+.endif
+.endif
+
+.if ${PORT_OPTIONS:MDEBUG}
+RUBY_FLAGS+= -d
+.endif
+
+#
+# extconf.rb support
+#
+.if defined(USE_RUBY_EXTCONF)
+USE_RUBY= yes
+
+RUBY_EXTCONF?= extconf.rb
+CONFIGURE_ARGS+= --with-opt-dir="${LOCALBASE}"
+CONFIGURE_ENV+= RB_USER_INSTALL=yes
+
+do-configure: ruby-extconf-configure
+
+ruby-extconf-configure:
+.if defined(RUBY_EXTCONF_SUBDIRS)
+.for d in ${RUBY_EXTCONF_SUBDIRS}
+ @${ECHO_MSG} "===> Running ${RUBY_EXTCONF} in ${d} to configure"
+ @cd ${CONFIGURE_WRKSRC}/${d}; \
+ ${SETENV} ${CONFIGURE_ENV} ${RUBY} ${RUBY_FLAGS} ${RUBY_EXTCONF} ${CONFIGURE_ARGS}
+.endfor
+.else
+ @${ECHO_MSG} "===> Running ${RUBY_EXTCONF} to configure"
+ @cd ${CONFIGURE_WRKSRC}; \
+ ${SETENV} ${CONFIGURE_ENV} ${RUBY} ${RUBY_FLAGS} ${RUBY_EXTCONF} ${CONFIGURE_ARGS}
+.endif
+.endif
+
+#
+# setup.rb support
+#
+.if defined(USE_RUBY_SETUP)
+RUBY_SETUP?= setup.rb
+
+do-configure: ruby-setup-configure
+
+ruby-setup-configure:
+ @${ECHO_MSG} "===> Running ${RUBY_SETUP} to configure"
+ @cd ${BUILD_WRKSRC}; \
+ ${SETENV} ${CONFIGURE_ENV} ${RUBY} ${RUBY_FLAGS} ${RUBY_SETUP} config ${CONFIGURE_ARGS}
+
+do-build: ruby-setup-build
+
+ruby-setup-build:
+ @${ECHO_MSG} "===> Running ${RUBY_SETUP} to build"
+ @cd ${BUILD_WRKSRC}; \
+ ${SETENV} ${MAKE_ENV} ${RUBY} ${RUBY_FLAGS} ${RUBY_SETUP} setup
+
+do-install: ruby-setup-install
+
+ruby-setup-install:
+ @${ECHO_MSG} "===> Running ${RUBY_SETUP} to install"
+ @cd ${INSTALL_WRKSRC}; \
+ ${SETENV} ${MAKE_ENV} ${RUBY} ${RUBY_FLAGS} ${RUBY_SETUP} install --prefix=${STAGEDIR}
+.endif
+
+.if defined(USE_RUBY)
+.if !defined(RUBY_NO_BUILD_DEPENDS)
+EXTRACT_DEPENDS+= ${DEPEND_RUBY}
+PATCH_DEPENDS+= ${DEPEND_RUBY}
+BUILD_DEPENDS+= ${DEPEND_RUBY}
+.endif
+.if !defined(RUBY_NO_RUN_DEPENDS)
+RUN_DEPENDS+= ${DEPEND_RUBY}
+.endif
+.endif
+
+.endif # _INVALID_RUBY_VER
+.endif
diff --git a/test-ports/Mk/bsd.sanity.mk b/test-ports/Mk/bsd.sanity.mk
new file mode 100644
index 00000000..7178a5b3
--- /dev/null
+++ b/test-ports/Mk/bsd.sanity.mk
@@ -0,0 +1,288 @@
+# $FreeBSD: head/Mk/bsd.sanity.mk 492696 2019-02-11 15:21:25Z amdmi3 $
+#
+# MAINTAINER: portmgr@FreeBSD.org
+#
+
+# Warnings for everyone
+
+.for opt in ${ALL_OPTIONS:NDEBUG}
+.if defined(WITH_${opt})
+WARNING+= "WITH_${opt} is unsupported, use WITH=${opt} on the command line, or one of these in /etc/make.conf, OPTIONS_SET+=${opt} to set it globally, or ${OPTIONS_NAME}_SET+=${opt} for only this port."
+.endif
+.if defined(WITHOUT_${opt})
+WARNING+= "WITHOUT_${opt} is unsupported, use WITHOUT=${opt} on the command line, or one of these in /etc/make.conf, OPTIONS_UNSET+=${opt} to set it globally, or ${OPTIONS_NAME}_UNSET+=${opt} for only this port."
+.endif
+.endfor
+
+ALL_UNSUPPORTED= WITHOUT_NLS NOPORTDOCS NOPORTEXAMPLES WITH_BDB_VER \
+ OVERRIDE_LINUX_BASE_PORT WITH_OPENSSL_PORT \
+ WITH_OPENSSL_BASE PYTHON_DEFAULT_VERSION \
+ PYTHON2_DEFAULT_VERSION PYTHON3_DEFAULT_VERSION
+ALL_DEPRECATED=
+ALL_NOTNEEDED= WITH_NEW_XORG WITHOUT_NEW_XORG WITH_KMS WITHOUT_KMS
+
+WITHOUT_NLS_ALT= "OPTIONS_UNSET=NLS, or ${OPTIONS_NAME}_UNSET+=NLS instead"
+NOPORTDOCS_ALT= "OPTIONS_UNSET=DOCS, or ${OPTIONS_NAME}_UNSET+=DOCS instead"
+NOPORTEXAMPLES_ALT= "OPTIONS_UNSET=EXAMPLES, or ${OPTIONS_NAME}_UNSET+=EXAMPLES instead"
+WITH_BDB_VER_ALT= "DEFAULT_VERSIONS+=bdb=${WITH_BDB_VER}"
+OVERRIDE_LINUX_BASE_PORT_ALT= "DEFAULT_VERSIONS+=linux=${OVERRIDE_LINUX_BASE_PORT}"
+WITH_OPENSSL_PORT_ALT= "DEFAULT_VERSIONS+=ssl=${SSL_DEFAULT:Uopenssl} in your make.conf"
+WITH_OPENSSL_BASE_ALT= "DEFAULT_VERSIONS+=ssl=base in your make.conf"
+WITH_NEW_XORG_ALT= "removed and has no effect"
+WITHOUT_NEW_XORG_ALT= ${WITH_NEW_XORG_ALT}
+WITH_MKS_ALT= "removed and has no effect"
+WITHOUT_MKS_ALT= ${WITH_MKS_ALT}
+PYTHON_DEFAULT_VERSION_ALT= "DEFAULT_VERSIONS=python=${PYTHON_DEFAULT_VERSION:S/^python//}"
+PYTHON2_DEFAULT_VERSION_ALT= "DEFAULT_VERSIONS=python2=${PYTHON2_DEFAULT_VERSION:S/^python//}"
+PYTHON3_DEFAULT_VERSION_ALT= "DEFAULT_VERSIONS=python3=${PYTHON3_DEFAULT_VERSION:S/^python//}"
+
+.for a in ${ALL_DEPRECATED}
+.if defined(${a})
+WARNING+= "${a} is deprecated, please use ${${a}_ALT}"
+.endif
+.endfor
+
+.for a in ${ALL_NOTNEEDED}
+.if defined(${a})
+WARNING+= "${a} is not needed: ${${a}_REASON}"
+.endif
+.endfor
+
+.for a in ${ALL_UNSUPPORTED}
+.if defined(${a})
+ERROR+= "${a} is unsupported, please use ${${a}_ALT}"
+.endif
+.endfor
+
+
+
+# Warnings only when DEVELOPER=yes
+
+.if exists(${.CURDIR}/../../Mk/bsd.port.mk)
+.if ${.CURDIR:H:T} != ${PKGCATEGORY}
+DEV_ERROR+= "The first entry in CATEGORIES should be the directory where the port lives"
+.endif
+.else
+DEV_WARNING+= "Not validating first entry in CATEGORIES due to being outside of PORTSDIR. Please ensure this is proper when committing."
+.endif
+
+.if defined(USE_PERL5) && ${USE_PERL5} == yes
+DEV_ERROR+= "USE_PERL5=yes is unsupported, please use USES=perl5 instead"
+.endif
+
+.if !empty(LIB_DEPENDS:M*/../*)
+DEV_ERROR+= "LIB_DEPENDS contains unsupported relative path to dependency"
+.endif
+
+.if !empty(RUN_DEPENDS:M*/../*)
+DEV_ERROR+= "RUN_DEPENDS contains unsupported relative path to dependency"
+.endif
+
+.if defined(USE_GNOME) && ${USE_GNOME:Mpkgconfig}
+DEV_ERROR+= "USE_GNOME=pkgconfig is unsupported, please use USES=pkgconfig"
+.endif
+
+.if defined(USE_ZOPE) && ${USE_ZOPE} == yes
+DEV_ERROR+= "USE_ZOPE=yes is unsupported, please use USES=zope instead"
+.endif
+
+.if defined(USE_SDL) && ${USE_SDL} == yes
+DEV_ERROR+= "USE_SDL=yes is unsupported, please use USE_SDL=sdl instead"
+.endif
+
+.if defined(USE_GITHUB) && defined(GH_COMMIT)
+DEV_ERROR+= "GH_COMMIT is unsupported, please convert GHL-\>GH in MASTER_SITES and set GH_TAGNAME to tag or commit hash and remove GH_COMMIT"
+.endif
+
+.if defined(USE_GNOME) && ${USE_GNOME:Mgnomehack}
+DEV_WARNING+= "USE_GNOME=gnomehack is deprecated, please use USES=pathfix"
+.endif
+
+.if defined(USE_GNOME) && ${USE_GNOME:Mdesktopfileutils}
+DEV_WARNING+= "USE_GNOME=desktopfileutils is deprecated, please use USES=desktop-file-utils"
+.endif
+
+.if defined(LIB_DEPENDS) && ${LIB_DEPENDS:Nlib*}
+DEV_ERROR+= "All LIB_DEPENDS should use the new format and start out with lib. \(libfoo.so vs foo.so\)"
+.endif
+
+.if defined(LICENSE)
+.if ${LICENSE:MBSD}
+DEV_WARNING+= "LICENSE must not contain BSD, instead use BSD[234]CLAUSE"
+.endif
+.else
+. if empty(USES:Mmetaport)
+DEV_WARNING+= "Please set LICENSE for this port"
+. endif
+.endif
+
+.for _a in ${ONLY_FOR_ARCHS}
+.if defined(ONLY_FOR_ARCHS_REASON_${_a})
+DEV_WARNING+= "ONLY_FOR_ARCHS_${_a} is defined and ${_a} is in ONLY_FOR_ARCHS, the message will never be used."
+.endif
+.endfor
+
+.if defined(USE_PYDISTUTILS) && ${USE_PYDISTUTILS} == "easy_install"
+DEV_ERROR+= "USE_PYDISTUTILS=easy_install is no longer supported, please use USE_PYDISTUTILS=yes"
+.endif
+
+.if defined(USE_PYTHON) && (${USE_PYTHON} == "yes" || ${USE_PYTHON:C/[-0-9.+]*//} == "")
+_PYTHON_VAL := ${USE_PYTHON}
+.if ${_PYTHON_VAL} != "yes"
+DEV_ERROR+= "USE_PYTHON=${_PYTHON_VAL} is no longer supported, please use USES=python:${_PYTHON_VAL}"
+.else
+DEV_ERROR+= "USE_PYTHON=yes is no longer supported, please use USES=python"
+.endif
+.endif
+.if defined(USE_PYTHON_RUN)
+.if ${USE_PYTHON_RUN} != "yes"
+DEV_ERROR+= "USE_PYTHON_RUN is no longer supported, please use USES=python:${USE_PYTHON_RUN},run"
+.else
+DEV_ERROR+= "USE_PYTHON_RUN is no longer supported, please use USES=python:run"
+.endif
+.endif
+.if defined(USE_PYTHON_BUILD)
+.if ${USE_PYTHON_BUILD} != "yes"
+DEV_ERROR+= "USE_PYTHON_BUILD is no longer supported, please use USES=python:${USE_PYTHON_BUILD},build"
+.else
+DEV_ERROR+= "USE_PYTHON_BUILD is no longer supported, please use USES=python:build"
+.endif
+.endif
+
+.if defined(USE_RC_SUBR) && ${USE_RC_SUBR:tu} == YES
+DEV_ERROR+= "USE_RC_SUBR=yes has not been supported for a long time, remove it."
+.endif
+
+.if defined(USE_TCL) || defined(USE_TCL_BUILD) || defined(USE_TCL_RUN) || defined(USE_TCL_WRAPPER) || \
+ defined(USE_TK) || defined(USE_TK_BUILD) || defined(USE_TK_RUN) || defined(USE_TK_WRAPPER)
+DEV_ERROR+= "USE_TCL and USE_TK are no longer supported, please use USES=tcl or USES=tk"
+.endif
+
+.if defined(USE_FPC) && ${USE_FPC:tl} == "yes"
+DEV_ERROR+= "USE_FPC=yes is no longer supported, please use USES=fpc"
+.endif
+
+.for _type in EXAMPLES DOCS
+. if defined(PORT${_type}) && empty(_REALLY_ALL_POSSIBLE_OPTIONS:M${_type})
+DEV_ERROR+= "PORT${_type} does not do anything unless the ${_type} option is present."
+. endif
+.endfor
+
+SANITY_UNSUPPORTED= USE_OPENAL USE_FAM USE_MAKESELF USE_ZIP USE_LHA USE_CMAKE \
+ USE_READLINE USE_ICONV PERL_CONFIGURE PERL_MODBUILD \
+ USE_PERL5_BUILD USE_PERL5_RUN USE_DISPLAY USE_FUSE \
+ USE_GETTEXT USE_GMAKE USE_SCONS USE_DRUPAL NO_INSTALL_MANPAGES \
+ INSTALLS_SHLIB USE_PYDISTUTILS PYTHON_CONCURRENT_INSTALL \
+ PYDISTUTILS_AUTOPLIST PYTHON_PY3K_PLIST_HACK PYDISTUTILS_NOEGGINFO \
+ USE_PYTHON_PREFIX USE_BZIP2 USE_XZ USE_PGSQL NEED_ROOT \
+ UNIQUENAME LATEST_LINK USE_SQLITE USE_FIREBIRD USE_PHPEXT \
+ USE_ZENDEXT USE_PHP_BUILD USE_PHPIZE WANT_PHP_CLI WANT_PHP_CGI \
+ WANT_PHP_MOD WANT_PHP_WEB WANT_PHP_EMB USE_BDB PLIST_DIRSTRY \
+ USE_RCORDER USE_OPENSSL WANT_GNOME RUBYGEM_AUTOPLIST WANT_SDL \
+ INSTALLS_EGGINFO USE_DOS2UNIX NO_STAGE USE_RUBYGEMS USE_GHOSTSCRIPT \
+ USE_GHOSTSCRIPT_BUILD USE_GHOSTSCRIPT_RUN USE_AUTOTOOLS APACHE_PORT \
+ USE_FPC_RUN WANT_FPC_BASE WANT_FPC_ALL USE_QT4 USE_QT5 QT_NONSTANDARD
+SANITY_DEPRECATED= MLINKS \
+ USE_MYSQL WANT_MYSQL_VER \
+ PYDISTUTILS_INSTALLNOSINGLE \
+ USE_APACHE USE_APACHE_BUILD USE_APACHE_RUN
+SANITY_NOTNEEDED= CMAKE_NINJA WX_UNICODE USE_KDEBASE_VER \
+ USE_KDELIBS_VER USE_QT_VER
+
+.for a in 1 2 3 4 5 6 7 8 9 L N
+SANITY_DEPRECATED+= MAN${a}
+MAN${a}_ALT= pkg-plist to list manpages
+.endfor
+
+USE_AUTOTOOLS_ALT= USES=autoreconf and GNU_CONFIGURE=yes
+USE_OPENAL_ALT= USES=openal
+USE_FAM_ALT= USES=fam
+USE_MAKESELF_ALT= USES=makeself
+USE_ZIP_ALT= USES=zip
+USE_LHA_ALT= USES=lha
+USE_BZIP2_ALT= USES=tar:bzip2
+USE_XZ_ALT= USES=tar:xz
+USE_CMAKE_ALT= USES=cmake
+USE_READLINE_ALT= USES=readline
+USE_ICONV_ALT= USES=iconv
+USE_GMAKE_ALT= USES=gmake
+PERL_CONFIGURE_ALT= USES=perl5 along with USE_PERL5=configure
+PERL_MODBUILD_ALT= USES=perl5 along with USE_PERL5=modbuild
+USE_PERL5_BUILD_ALT= USES=perl5 along with USE_PERL5=build
+USE_PERL5_RUN_ALT= USES=perl5 along with USE_PERL5=run
+USE_DISPLAY_ALT= USES=display
+USE_FUSE_ALT= USES=fuse
+USE_GETTEXT_ALT= USES=gettext
+USE_SCONS_ALT= USES=scons
+USE_DRUPAL_ALT= USES=drupal
+USE_PYDISTUTILS_ALT= USE_PYTHON=distutils
+USE_PGSQL_ALT= USES=pgsql
+INSTALLS_SHLIB_ALT= USE_LDCONFIG
+NEED_ROOT_ALT= USES=fakeroot or USES=uidfix
+PYTHON_CONCURRENT_INSTALL_ALT= USE_PYTHON=concurrent
+PYDISTUTILS_AUTOPLIST_ALT= USE_PYTHON=autoplist
+PYTHON_PY3K_PLIST_HACK_ALT= USE_PYTHON=py3kplist
+PYDISTUTILS_NOEGGINFO_ALT= USE_PYTHON=noegginfo
+USE_PYTHON_PREFIX_ALT= USE_PYTHON=pythonprefix
+NO_INSTALL_MANPAGES_ALT= USES=imake:noman
+UNIQUENAME_ALT= PKGBASE
+LATEST_LINK_ALT= PKGBASE
+CMAKE_NINJA_REASON= Now the ninja generator is the default
+WX_UNICODE_REASON= Now no-op as only unicode is supported now
+PLIST_DIRSTRY_ALT= PLIST_DIRS
+USE_SQLITE_ALT= USES=sqlite
+USE_FIREBIRD_ALT= USES=firebird
+USE_BDB_ALT= USES=bdb:${USE_BDB}
+USE_MYSQL_ALT= USES=mysql:${USE_MYSQL}
+WANT_MYSQL_VER_ALT= USES=mysql:${WANT_MYSQL_VER}
+USE_OPENSSL_ALT= USES=ssl
+USE_PHPIZE_ALT= USES=php:phpize
+USE_PHPEXT_ALT= USES=php:ext
+USE_ZENDEXT_ALT= USES=php:zend
+USE_PHP_BUILD_ALT= USES=php:build
+WANT_PHP_CLI_ALT= USES=php:cli
+WANT_PHP_CGI_ALT= USES=php:cgi
+WANT_PHP_MOD_ALT= USES=php:mod
+WANT_PHP_WEB_ALT= USES=php:web
+WANT_PHP_EMB_ALT= USES=php:embed
+USE_RCORDER_ALT= USE_RC_SUBR=${USE_RCORDER}
+WANT_GNOME_ALT= USES=gnome
+MLINKS_ALT= it no more
+USE_DOS2UNIX_ALT= USES=dos2unix
+PYDISTUTILS_INSTALLNOSINGLE_ALT= it no more
+INSTALLS_EGGINFO_ALT= an entry in the plist
+WANT_SDL_ALT= USE_SDL for SDL directly, if you need optional dependency, use options
+RUBYGEM_AUTOPLIST_ALT= USES=gem
+USE_RUBYGEMS_ALT= USES=gem
+USE_GHOSTSCRIPT_ALT= USES=ghostscript
+USE_GHOSTSCRIPT_BUILD_ALT= USES=ghostscript
+USE_GHOSTSCRIPT_RUN_ALT= USES=ghostscript
+NO_STAGE_ALT= https://wiki.freebsd.org/ports/StageDir to convert your port to staging
+USE_APACHE_ALT= USES=apache:${USE_APACHE:C/2(0-9)/2.\1/g}
+USE_APACHE_BUILD_ALT= USES=apache:build,${USE_APACHE_BUILD:C/2(0-9)/2.\1/g}
+USE_APACHE_RUN_ALT= USES=apache:run,${USE_APACHE_RUN:C/2(0-9)/2.\1/g}
+APACHE_PORT_ALT= DEFAULT_VERSIONS+=apache=${APACHE_PORT:S/www\/apache//:C/2(0-9)/2.\1/}
+USE_FPC_RUN_ALT= USES=fpc:run
+WANT_FPC_BASE_ALT= USES=fpc:base
+WANT_FPC_ALL_ALT= USES=fpc:all
+USE_QT4_ALT= USES=qt:4 and USE_QT=${USE_QT4}
+USE_QT5_ALT= USES=qt:5 and USE_QT=${USE_QT5}
+QT_NONSTANDARD_ALT= USES=qmake:no_env
+
+.for a in ${SANITY_DEPRECATED}
+.if defined(${a})
+DEV_WARNING+= "${a} is deprecated, please use ${${a}_ALT}"
+.endif
+.endfor
+
+.for a in ${SANITY_NOTNEEDED}
+.if defined(${a})
+DEV_WARNING+= "${a} is not needed: ${${a}_REASON}"
+.endif
+.endfor
+
+.for a in ${SANITY_UNSUPPORTED}
+.if defined(${a})
+DEV_ERROR+= "${a} is unsupported, please use ${${a}_ALT}"
+.endif
+.endfor
diff --git a/test-ports/Mk/bsd.sites.mk b/test-ports/Mk/bsd.sites.mk
new file mode 100644
index 00000000..f1f75363
--- /dev/null
+++ b/test-ports/Mk/bsd.sites.mk
@@ -0,0 +1,1356 @@
+# bsd.sites.mk - Popular master sites.
+#
+# Sites_MAINTAINER= ports@FreeBSD.org
+#
+# This file does not have any designated maintainer, so feel free to
+# commit to it yourself. However, it is generally a good idea to
+# notify the principal maintainer in case you have a change to one of
+# the software environments (KDE, GNOME, etc.).
+#
+# Also, this file is included from bsd.port.mk for all invocations, so
+# committing a syntax error to this file is a cardinal sin, and will
+# be punished accordingly. DO NOT COMMIT SOMETHING YOU HAVEN'T TESTED.
+# You have been warned. :)
+#
+# Note: because it is included for all invocations, please keep the size
+# of this file manageable. If a distfile is unfetchable from the first
+# few dozen locations, it is unlikely to be fetchable from any past that,
+# and those fetch failures will simply waste time and bandwidth. Please
+# pick a globally representative subset.
+#
+# Note: all entries should terminate with a slash.
+#
+# $FreeBSD: head/Mk/bsd.sites.mk 494205 2019-02-28 21:36:11Z sunpoet $
+#
+
+# Where to put distfiles that don't have any other master site
+.if !defined(IGNORE_MASTER_SITE_LOCAL)
+MASTER_SITE_LOCAL+= \
+ http://distcache.FreeBSD.org/local-distfiles/%SUBDIR%/ \
+ http://distcache.us-east.FreeBSD.org/local-distfiles/%SUBDIR%/ \
+ http://distcache.eu.FreeBSD.org/local-distfiles/%SUBDIR%/ \
+ http://distcache.us-west.FreeBSD.org/local-distfiles/%SUBDIR%/
+
+MASTER_SITE_PORTS_JP+= \
+ ftp://ports.jp.FreeBSD.org/pub/FreeBSD-jp/ports-jp/LOCAL_PORTS/%SUBDIR%/ \
+ ftp://ftp4.jp.FreeBSD.org/pub/FreeBSD-jp/ports-jp/LOCAL_PORTS/%SUBDIR%/ \
+ ftp://ftp.ics.es.osaka-u.ac.jp/pub/mirrors/FreeBSD-jp/ports-jp/LOCAL_PORTS/%SUBDIR%/
+.endif
+
+##
+## KEEP THIS LIST SORTED
+##
+
+.if !defined(IGNORE_MASTER_SITE_AFTERSTEP)
+MASTER_SITE_AFTERSTEP+= \
+ ftp://ftp.afterstep.org/%SUBDIR%/ \
+ ftp://ftp.kddlabs.co.jp/X11/AfterStep/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_APACHE)
+MASTER_SITE_APACHE+= \
+ https://www.apache.org/dist/%SUBDIR%/ \
+ https://archive.apache.org/dist/%SUBDIR%/ \
+ http://ftp.twaren.net/Unix/Web/apache/%SUBDIR%/ \
+ http://apache.mirror.uber.com.au/%SUBDIR%/ \
+ http://apache.spd.co.il/%SUBDIR%/ \
+ https://ftp.mirrorservice.org/sites/ftp.apache.org/%SUBDIR%/ \
+ https://ftp-stud.hs-esslingen.de/pub/Mirrors/ftp.apache.org/dist/%SUBDIR%/ \
+ ftp://mir1.ovh.net/ftp.apache.org/dist/%SUBDIR%/ \
+ ftp://ftp.forthnet.gr/pub/www/apache/%SUBDIR%/ \
+ ftp://xenia.sote.hu/pub/mirrors/www.apache.org/%SUBDIR%/ \
+ ftp://ftp.heanet.ie/mirrors/www.apache.org/dist/%SUBDIR%/ \
+ https://mirrors.ircam.fr/pub/apache/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_APACHE_COMMONS_BINARIES)
+MASTER_SITE_APACHE_COMMONS_BINARIES+= \
+ ${MASTER_SITE_APACHE:S,%SUBDIR%,commons/&/binaries,}
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_APACHE_COMMONS_SOURCE)
+MASTER_SITE_APACHE_COMMONS_SOURCE+= \
+ ${MASTER_SITE_APACHE:S,%SUBDIR%,commons/&/source,}
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_APACHE_HTTPD)
+MASTER_SITE_APACHE_HTTPD+= \
+ ${MASTER_SITE_APACHE:S,%SUBDIR%,httpd/&,}
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_APACHE_JAKARTA)
+MASTER_SITE_APACHE_JAKARTA+= \
+ ${MASTER_SITE_APACHE:S,%SUBDIR%,jakarta/&,}
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_APACHE_TOMCAT)
+MASTER_SITE_APACHE_TOMCAT+= \
+ ${MASTER_SITE_APACHE:S,%SUBDIR%,tomcat/&,}
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_APACHE_XML)
+MASTER_SITE_APACHE_XML+= \
+ ${MASTER_SITE_APACHE:S,%SUBDIR%,xml/&,}
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_BERLIOS)
+MASTER_SITE_BERLIOS+= \
+ ${MASTER_SITE_SOURCEFORGE}
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_CHEESESHOP)
+MASTER_SITE_CHEESESHOP+= \
+ https://files.pythonhosted.org/packages/%SUBDIR%/ \
+ https://pypi.org/packages/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_COMP_SOURCES)
+MASTER_SITE_COMP_SOURCES+= \
+ http://ftp.isc.org/pub/usenet/comp.sources.%SUBDIR%/ \
+ http://ftp.funet.fi/pub/archive/comp.sources.%SUBDIR%/ \
+ http://ftp.fi.netbsd.org/pub/misc/archive/comp.sources.%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_CRAN)
+MASTER_SITE_CRAN+= \
+ https://cloud.r-project.org/%SUBDIR%/ \
+ https://stat.ethz.ch/CRAN/%SUBDIR%/ \
+ http://cran.utstat.utoronto.ca/%SUBDIR%/ \
+ https://cran.cnr.berkeley.edu/%SUBDIR%/ \
+ https://cran.csiro.au/%SUBDIR%/ \
+ https://mirrors.tuna.tsinghua.edu.cn/CRAN/%SUBDIR%/ \
+ http://camoruco.ing.uc.edu.ve/cran/%SUBDIR%/ \
+ https://mirror.las.iastate.edu/CRAN/%SUBDIR%/ \
+ https://cran.ma.imperial.ac.uk/%SUBDIR%/ \
+ https://cran.gis-lab.info/%SUBDIR%/ \
+ https://cran.ism.ac.jp/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_CRAN_ARCHIVE)
+MASTER_SITE_CRAN_ARCHIVE+= ${MASTER_SITE_CRAN:S,$,Archive/${PORTNAME}/,}
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_CRATESIO)
+MASTER_SITE_CRATESIO+= https://crates.io/api/v1/crates/%SUBDIR%/download?dummy=/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_DEBIAN)
+MASTER_SITE_DEBIAN+= \
+ http://cdn.debian.net/debian/%SUBDIR%/ \
+ http://www.gtlib.gatech.edu/pub/debian/%SUBDIR%/ \
+ ftp://ftp.us.debian.org/debian/%SUBDIR%/ \
+ ${MASTER_SITE_DEBIAN_NON_US:S,/debian-non-US/,/debian/,}
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_DEBIAN_NON_US)
+MASTER_SITE_DEBIAN_NON_US+= \
+ http://ftp.au.debian.org/debian-non-US/%SUBDIR%/ \
+ ftp://ftp.bg.debian.org/debian-non-US/%SUBDIR%/ \
+ ftp://ftp.br.debian.org/debian-non-US/%SUBDIR%/ \
+ http://ftp.cl.debian.org/debian-non-US/%SUBDIR%/ \
+ ftp://ftp.cz.debian.org/debian-non-US/%SUBDIR%/ \
+ ftp://ftp.de.debian.org/debian-non-US/%SUBDIR%/ \
+ ftp://ftp.ee.debian.org/debian-non-US/%SUBDIR%/ \
+ ftp://ftp.es.debian.org/debian-non-US/%SUBDIR%/ \
+ ftp://ftp.fi.debian.org/debian-non-US/%SUBDIR%/ \
+ ftp://ftp.fr.debian.org/debian-non-US/%SUBDIR%/ \
+ http://ftp.hk.debian.org/debian-non-US/%SUBDIR%/ \
+ http://ftp.hr.debian.org/debian-non-US/%SUBDIR%/ \
+ ftp://ftp.hu.debian.org/debian-non-US/%SUBDIR%/ \
+ http://ftp.ie.debian.org/debian-non-US/%SUBDIR%/ \
+ ftp://ftp.is.debian.org/debian-non-US/%SUBDIR%/ \
+ http://ftp.it.debian.org/debian-non-US/%SUBDIR%/ \
+ http://ftp.jp.debian.org/debian-non-US/%SUBDIR%/ \
+ ftp://ftp.nl.debian.org/debian-non-US/%SUBDIR%/ \
+ ftp://ftp.no.debian.org/debian-non-US/%SUBDIR%/ \
+ ftp://ftp.pl.debian.org/debian-non-US/%SUBDIR%/ \
+ ftp://ftp.ru.debian.org/debian-non-US/%SUBDIR%/ \
+ ftp://ftp.se.debian.org/debian-non-US/%SUBDIR%/ \
+ ftp://ftp.si.debian.org/debian-non-US/%SUBDIR%/ \
+ ftp://ftp.sk.debian.org/debian-non-US/%SUBDIR%/ \
+ ftp://ftp.uk.debian.org/debian-non-US/%SUBDIR%/ \
+ http://ftp.wa.au.debian.org/debian-non-US/%SUBDIR%/ \
+ ftp://ftp2.de.debian.org/debian-non-US/%SUBDIR%/ \
+ ftp://ftp.snt.utwente.nl/pub/linux/debian-non-US/%SUBDIR%/ \
+ ftp://ftp.acc.umu.se/debian-non-US/%SUBDIR%/ \
+ ftp://mirror.symnds.com/debian-non-US/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_DEBIAN_POOL)
+MASTER_SITE_DEBIAN_POOL+= \
+ ${MASTER_SITE_DEBIAN:C|(/%SUBDIR%/)|/pool/main/${PORTNAME:C/^(.).*$/\1/}/${PORTNAME}/|}
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_EASYSW)
+MASTER_SITE_EASYSW+= \
+ http://ftp.funet.fi/pub/mirrors/ftp.easysw.com/pub/%SUBDIR%/ \
+ ftp://ftp.funet.fi/pub/mirrors/ftp.easysw.com/pub/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_ECLIPSE)
+MASTER_SITE_ECLIPSE+= \
+ ftp://sunsite.informatik.rwth-aachen.de/pub/mirror/eclipse.org/%SUBDIR%/ \
+ ftp://sunsite.informatik.rwth-aachen.de/pub/mirror/eclipse/%SUBDIR%/ \
+ https://ftp-stud.hs-esslingen.de/pub/Mirrors/eclipse/%SUBDIR%/ \
+ https://www.mirrorservice.org/sites/download.eclipse.org/eclipseMirror/%SUBDIR%/ \
+ http://eclipse.stu.edu.tw/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_EXIM)
+MASTER_SITE_EXIM+= \
+ ftp://ftp.exim.org/pub/exim/%SUBDIR%/ \
+ ftp://mirror.easyname.at/exim-ftp/%SUBDIR%/ \
+ http://dl.ambiweb.de/mirrors/ftp.exim.org/exim/%SUBDIR%/ \
+ ftp://exim.noris.de/exim/%SUBDIR%/ \
+ ftp://ftp.bytemine.net/exim/exim/%SUBDIR%/ \
+ ftp://ftp.heanet.ie/pub/exim/%SUBDIR%/ \
+ https://ftp.heanet.ie/pub/exim/%SUBDIR%/ \
+ http://washitake.com/mail/exim/mirror/exim/%SUBDIR%/ \
+ ftp://ftp.kaist.ac.kr/exim/%SUBDIR%/ \
+ http://ftp.kaist.ac.kr/exim/%SUBDIR%/ \
+ ftp://sunsite.uio.no/pub/mail/exim/exim/%SUBDIR%/ \
+ ftp://sunsite.icm.edu.pl/pub/unix/mail/exim/exim/%SUBDIR%/ \
+ https://sunsite.icm.edu.pl/pub/unix/mail/exim/exim/%SUBDIR%/ \
+ ftp://mirrors.dominios.pt/pub/ftp.exim.org/exim/%SUBDIR%/ \
+ ftp://mirror.switch.ch/mirror/exim/exim/%SUBDIR%/ \
+ http://mirror.switch.ch/ftp/mirror/exim/exim/%SUBDIR%/ \
+ ftp://ftp.mirrorservice.org/sites/ftp.exim.org/pub/%SUBDIR%/ \
+ http://exim.telcom.net.ua/ftp/%SUBDIR/ \
+ ftp://idcnetwork.org/pub/exim/exim/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_CENTOS_LINUX)
+MASTER_SITE_CENTOS_LINUX+= \
+ http://mirror.centos.org/%SUBDIR%/:DEFAULT,amd64,i386 \
+ http://vault.centos.org/%SUBDIR%/:DEFAULT,amd64,i386,SOURCE
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_EPEL)
+MASTER_SITE_EPEL+= \
+ https://dl.fedoraproject.org/pub/epel/6/x86_64/Packages/%SUBDIR%/:DEFAULT,amd64 \
+ https://dl.fedoraproject.org/pub/epel/6/i386/Packages/%SUBDIR%/:DEFAULT,i386 \
+ https://dl.fedoraproject.org/pub/epel/6/SRPMS/Packages/%SUBDIR%/:SOURCE \
+ http://dl.fedoraproject.org/pub/epel/6/x86_64/Packages/%SUBDIR%/:DEFAULT,amd64 \
+ http://dl.fedoraproject.org/pub/epel/6/i386/Packages/%SUBDIR%/:DEFAULT,i386 \
+ http://dl.fedoraproject.org/pub/epel/6/SRPMS/Packages/%SUBDIR%/:SOURCE
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_EPEL7)
+MASTER_SITE_EPEL7+= \
+ https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/%SUBDIR%/:DEFAULT,amd64 \
+ https://dl.fedoraproject.org/pub/epel/7/SRPMS/Packages/%SUBDIR%/:SOURCE \
+ http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/%SUBDIR%/:DEFAULT,amd64 \
+ http://dl.fedoraproject.org/pub/epel/7/SRPMS/Packages/%SUBDIR%/:SOURCE
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_FEDORA_LINUX)
+MASTER_SITE_FEDORA_LINUX+= \
+ https://archives.fedoraproject.org/pub/archive/fedora/linux/%SUBDIR%/:DEFAULT,SOURCE \
+ https://archives.fedoraproject.org/pub/archive/fedora/linux/%SUBDIR%/:DEFAULT,SOURCE \
+ ftp://ftp.pbone.net/vol4/archive.fedoraproject.org/fedora/linux/%SUBDIR%/:DEFAULT,SOURCE \
+ ftp://ftp.gmd.de/archives.fedoraproject.org/fedora/linux/%SUBDIR%/:DEFAULT,SOURCE \
+ ftp://mirror.fraunhofer.de/archives.fedoraproject.org/fedora/linux/%SUBDIR%/:DEFAULT,SOURCE \
+ ftp://ftp-mirror.bi.fraunhofer.de/archives.fedoraproject.org/fedora/linux/%SUBDIR%/:DEFAULT,SOURCE
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_FARSIGHT)
+MASTER_SITE_FARSIGHT+= \
+ https://dl.farsightsecurity.com/dist/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_FESTIVAL)
+MASTER_SITE_FESTIVAL+= \
+ http://www.festvox.org/packed/festival/%SUBDIR%/ \
+ http://www.cstr.ed.ac.uk/downloads/festival/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_FESTIVAL_OGI)
+MASTER_SITE_FESTIVAL_OGI+= \
+ ftp://ftp.tuwien.ac.at/opsys/linux/blinux/festival/mirror.ogi-synth_home/ \
+ http://www.cslu.ogi.edu/tts/download/data/
+.endif
+
+#
+# FreeBSD mirror sites
+#
+# For the full list, see the Handbook:
+#
+# http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/mirrors-ftp.html
+#
+.if !defined(IGNORE_MASTER_SITE_FREEBSD_ORG)
+MASTER_SITE_FREEBSD_ORG+= \
+ https://download.FreeBSD.org/pub/FreeBSD/%SUBDIR%/ \
+ ftp://ftp.FreeBSD.org/pub/FreeBSD/%SUBDIR%/ \
+ ftp://ftp.se.FreeBSD.org/pub/FreeBSD/%SUBDIR%/ \
+ ftp://ftp.jp.FreeBSD.org/pub/FreeBSD/%SUBDIR%/ \
+ ftp://ftp.uk.FreeBSD.org/pub/FreeBSD/%SUBDIR%/ \
+ ftp://ftp.ru.FreeBSD.org/pub/FreeBSD/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_FRUGALWARE)
+MASTER_SITE_FRUGALWARE+= \
+ ftp://ftp7.frugalware.org/pub/frugalware/frugalware-stable/source/%SUBDIR%/ \
+ ftp://ftp2.frugalware.org/mirror/ftp.frugalware.org/pub/frugalware/frugalware-stable/source/%SUBDIR%/ \
+ ftp://ftp6.frugalware.org/mirrors/linux/frugalware/frugalware-stable/source/%SUBDIR%/ \
+ ftp://ftp4.frugalware.org/pub/linux/distributions/frugalware/frugalware-stable/source/%SUBDIR%/ \
+ ftp://ftp12.frugalware.org/mirrors/ftp.frugalware.org/pub/frugalware/frugalware-stable/source/%SUBDIR%/ \
+ ftp://ftp10.frugalware.org/pub/linux/frugalware/frugalware-stable/source/%SUBDIR%/
+# ftp://ftp5.frugalware.org/packages/frugalware/pub/frugalware/frugalware-stable/source/%SUBDIR%/
+# ftp://ftp3.frugalware.org/mirrors/frugalware/pub/frugalware/frugalware-stable/source/%SUBDIR%/
+# ftp://ftp9.frugalware.org/pub/frugalware/frugalware-stable/source/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_GCC)
+MASTER_SITE_GCC+= \
+ https://mirrors.kernel.org/sourceware/gcc/%SUBDIR%/ \
+ http://gcc.parentingamerica.com/%SUBDIR%/ \
+ http://gcc.cybermirror.org/%SUBDIR%/ \
+ http://gcc-uk.internet.bs/%SUBDIR%/ \
+ http://www.netgull.com/gcc/%SUBDIR%/ \
+ http://robotlab.itk.ppke.hu/gcc/%SUBDIR%/ \
+ http://gcc.fyxm.net/%SUBDIR%/ \
+ https://ftp-stud.hs-esslingen.de/pub/Mirrors/sourceware.org/gcc/%SUBDIR%/ \
+ ftp://ftp.funet.fi/pub/mirrors/sourceware.org/pub/gcc/%SUBDIR%/ \
+ ftp://gcc.gnu.org/pub/gcc/%SUBDIR%/ \
+ ftp://ftp.lip6.fr/pub/gcc/%SUBDIR%/ \
+ ftp://ftp.irisa.fr/pub/mirrors/gcc.gnu.org/gcc/%SUBDIR%/ \
+ ftp://ftp.uvsq.fr/pub/gcc/%SUBDIR%/ \
+ ftp://ftp.gwdg.de/pub/misc/gcc/%SUBDIR%/ \
+ ftp://ftp.mpi-sb.mpg.de/pub/gnu/mirror/gcc.gnu.org/pub/gcc/%SUBDIR%/ \
+ ftp://ftp.nluug.nl/mirror/languages/gcc/%SUBDIR%/ \
+ ftp://ftp.mirrorservice.org/sites/sourceware.org/pub/gcc/%SUBDIR%/ \
+ ftp://ftp.ntua.gr/pub/gnu/gcc/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_GENTOO)
+MASTER_SITE_GENTOO+= \
+ http://gentoo.mirrors.pair.com/%SUBDIR%/ \
+ http://mirrors.tds.net/pub/gentoo/%SUBDIR%/ \
+ ftp://ftp.mirrorservice.org/sites/www.ibiblio.org/gentoo/%SUBDIR%/ \
+ http://ftp.snt.utwente.nl/pub/os/linux/gentoo/%SUBDIR%/ \
+ http://trumpetti.atm.tut.fi/gentoo/%SUBDIR%/ \
+ https://ftp.uni-erlangen.de/pub/mirrors/gentoo/%SUBDIR%/ \
+ http://gentoo.inode.at/%SUBDIR%/ \
+ http://gentoo.gg3.net/%SUBDIR%/ \
+ http://mirrors.163.com/gentoo/%SUBDIR%/ \
+ ftp://ftp.gtlib.gatech.edu/pub/gentoo/%SUBDIR%/ \
+ ftp://ftp.ussg.iu.edu/pub/linux/gentoo/%SUBDIR%/ \
+ ftp://mirrors.tds.net/pub/gentoo/%SUBDIR%/ \
+ ftp://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/%SUBDIR%/ \
+ ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo/%SUBDIR%/ \
+ ftp://trumpetti.atm.tut.fi/gentoo/%SUBDIR%/ \
+ ftp://ftp.tu-clausthal.de/pub/linux/gentoo/%SUBDIR%/ \
+ ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo/%SUBDIR%/ \
+ ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/%SUBDIR%/ \
+ ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo/%SUBDIR%/ \
+ ftp://gentoo.inode.at/source/%SUBDIR%/
+.endif
+
+# Keep this before USE_GITHUB
+.if !empty(MASTER_SITES:M*/github.com/*/archive/*)
+DEV_WARNING+= "MASTER_SITES contains ${MASTER_SITES:M*/github.com/*/archive/*}, please use USE_GITHUB instead."
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_GITHUB)
+#
+# In order to use GitHub your port must define USE_GITHUB and the following
+# variables:
+#
+# GH_ACCOUNT - account name of the GitHub user hosting the project
+# default: ${PORTNAME}
+#
+# GH_PROJECT - name of the project on GitHub
+# default: ${PORTNAME}
+#
+# GH_TAGNAME - name of the tag to download (2.0.1, hash, ...)
+# Using the name of a branch here is incorrect. It is
+# possible to do GH_TAGNAME= GIT_HASH to do a snapshot.
+# default: ${DISTVERSIONFULL}
+#
+# GH_SUBDIR - directory relative to WRKSRC where to move this distfile's
+# content after extracting.
+#
+# GH_TUPLE - above shortened to account:project:tagname[:group][/subdir]
+#
+.if defined(USE_GITHUB)
+. if defined(GH_TAGNAME) && ${GH_TAGNAME} == master
+IGNORE?= Using master as GH_TAGNAME is invalid. \
+ Must use a tag or commit hash so the upstream does \
+ not "reroll" as soon as the branch is updated
+. endif
+. if defined(GH_TUPLE)
+. for _tuple in ${GH_TUPLE}
+_t_tmp=${_tuple}
+. if ${_t_tmp:C@^([^:]*):([^:]*):([^:]*)((:[^:/]*)?)((/.*)?)@\4@:S/://:C/[a-zA-Z0-9_]//g}
+check-makevars::
+ @${ECHO_MSG} "The ${_tuple} GH_TUPLE line has"
+ @${ECHO_MSG} "a tag containing something else than [a-zA-Z0-9_]"
+ @${FALSE}
+. endif
+. endfor
+GH_ACCOUNT+= ${GH_TUPLE:C@^([^:]*):([^:]*):([^:]*)((:[^:/]*)?)((/.*)?)@\1\4@}
+GH_PROJECT+= ${GH_TUPLE:C@^([^:]*):([^:]*):([^:]*)((:[^:/]*)?)((/.*)?)@\2\4@}
+GH_TAGNAME+= ${GH_TUPLE:C@^([^:]*):([^:]*):([^:]*)((:[^:/]*)?)((/.*)?)@\3\4@}
+GH_SUBDIR+= ${GH_TUPLE:C@^([^:]*):([^:]*):([^:]*)((:[^:/]*)?)((/.*)?)@\6\4@:M/*:S/^\///}
+. endif
+# We are cheating and using backend URLS for GitHub here. See ports/194898
+# comment #15 for explanation as to why and how to deal with it if it breaks.
+MASTER_SITE_GITHUB+= https://codeload.github.com/%SUBDIR%
+MASTER_SITE_GITHUB_CLOUD+= https://cloud.github.com/downloads/%SUBDIR%
+
+. if !defined(MASTER_SITES) || !${MASTER_SITES:MGH} && !${MASTER_SITES:MGHC} && !${USE_GITHUB:Mnodefault}
+MASTER_SITES+= GH
+. endif
+GH_ACCOUNT_DEFAULT= ${PORTNAME}
+GH_ACCOUNT?= ${GH_ACCOUNT_DEFAULT}
+GH_PROJECT_DEFAULT= ${PORTNAME}
+GH_PROJECT?= ${GH_PROJECT_DEFAULT}
+# Use full PREFIX/SUFFIX and converted DISTVERSION
+GH_TAGNAME_DEFAULT= ${DISTVERSIONFULL}
+GH_TAGNAME?= ${GH_TAGNAME_DEFAULT}
+# Iterate over GH_ACCOUNT, GH_PROJECT, GH_TAGNAME and GH_SUBDIR to extract groups
+_GITHUB_GROUPS= DEFAULT
+. for _gh_v in GH_ACCOUNT GH_PROJECT GH_TAGNAME GH_SUBDIR
+. for _v_ex in ${${_gh_v}}
+_GH_GROUPS= ${_v_ex:S/^${_v_ex:C@:[^/:]+$@@}//:S/^://}
+. if !empty(_GH_GROUPS)
+. for _group in ${_GH_GROUPS:S/,/ /g}
+. if ${_group} == all || ${_group} == ALL || ${_group} == default
+check-makevars::
+ @${ECHO_MSG} "Makefile error: the words all, ALL and default are reserved and cannot be"
+ @${ECHO_MSG} "used in group definitions. Please fix your ${_gh_v}"
+ @${FALSE}
+. endif
+. if !${_GITHUB_GROUPS:M${_group}}
+_GITHUB_GROUPS+= ${_group}
+. endif
+${_gh_v}_${_group}= ${_v_ex:C@^(.*):[^/:]+$@\1@}
+. endfor
+. else
+${_gh_v}_DEFAULT= ${_v_ex:C@^(.*):[^/:]+$@\1@}
+. endif
+. endfor
+. endfor
+# Put the default values back into the variables so that the *default* behavior
+# is not changed.
+GH_ACCOUNT:= ${GH_ACCOUNT_DEFAULT}
+GH_PROJECT:= ${GH_PROJECT_DEFAULT}
+GH_TAGNAME:= ${GH_TAGNAME_DEFAULT}
+GH_SUBDIR:= ${GH_SUBDIR_DEFAULT}
+. if defined(GH_TAGNAME)
+GH_TAGNAME_SANITIZED= ${GH_TAGNAME:S,/,-,g}
+# GitHub silently converts tags starting with v to not have v in the filename
+# and extraction directory. It also replaces + with -.
+GH_TAGNAME_EXTRACT= ${GH_TAGNAME_SANITIZED:C/^[vV]([0-9])/\1/:S/+/-/g}
+. endif
+. if defined(_GITHUB_MUST_SET_DISTNAME)
+# GH_TAGNAME defaults to DISTVERSIONFULL; Avoid adding DISTVERSIONFULL in twice
+. if ${GH_TAGNAME} != ${DISTVERSIONFULL}
+DISTNAME= ${GH_ACCOUNT}-${GH_PROJECT}-${DISTVERSIONFULL}-${GH_TAGNAME_SANITIZED}
+. else
+DISTNAME= ${GH_ACCOUNT}-${GH_PROJECT}-${GH_TAGNAME_SANITIZED}
+. endif
+. endif
+# This new scheme rerolls distfiles. Also ensure they are renamed to avoid
+# conflicts. Use _GITHUB_REV in case github changes their zipping or structure
+# which has happened before.
+_GITHUB_REV= 0
+. if ${MASTER_SITES:MGH}
+DISTNAME:= ${DISTNAME}_GH${_GITHUB_REV}
+. endif
+_GITHUB_EXTRACT_SUFX= .tar.gz
+# Put the DEFAULT distfile first
+_GITHUB_CLONE_DIR?= ${WRKDIR}/git-clone
+_PORTS_DIRECTORIES+= ${_GITHUB_CLONE_DIR}
+. if !${USE_GITHUB:Mnodefault} && defined(_GITHUB_MUST_SET_DISTNAME)
+DISTFILES+= ${DISTNAME}${_GITHUB_EXTRACT_SUFX}
+git-clone: git-clone-DEFAULT
+git-clone-DEFAULT: ${_GITHUB_CLONE_DIR}
+ @git clone https://github.com/${GH_ACCOUNT_DEFAULT}/${GH_PROJECT_DEFAULT}.git ${_GITHUB_CLONE_DIR}/${GH_PROJECT_DEFAULT}
+ @${ECHO_MSG} "Cloned the default github repository into ${_GITHUB_CLONE_DIR}/${GH_PROJECT_DEFAULT}" | ${FMT_80}
+. endif
+. if !empty(GH_SUBDIR)
+_SITES_extract:= 690:post-extract-gh-DEFAULT
+post-extract-gh-DEFAULT:
+ @${RMDIR} ${WRKSRC}/${GH_SUBDIR_DEFAULT} 2>/dev/null || :
+ @${MKDIR} ${WRKSRC}/${GH_SUBDIR_DEFAULT:H} 2>/dev/null || :
+ @${LN} -s ${GH_SUBDIR_DEFAULT:C/[^\/]//g:C/\//..\//g:S/^$/./} ${WRKSRC}/${GH_SUBDIR_DEFAULT}
+. endif
+# If there are non default groups
+. if !empty(_GITHUB_GROUPS:NDEFAULT)
+# Then for each of the remaining groups, add DISTFILES and MASTER_SITES
+# entries with the correct group and create {WRKSRC,DISTNAME,DISTFILES}_group
+# helper variables.
+. for _group in ${_GITHUB_GROUPS:NDEFAULT}
+GH_ACCOUNT_${_group}?= ${GH_ACCOUNT_DEFAULT}
+GH_PROJECT_${_group}?= ${GH_PROJECT_DEFAULT}
+GH_TAGNAME_${_group}?= ${GH_TAGNAME_DEFAULT}
+GH_TAGNAME_${_group}_SANITIZED= ${GH_TAGNAME_${_group}:S,/,-,}
+GH_TAGNAME_${_group}_EXTRACT= ${GH_TAGNAME_${_group}_SANITIZED:C/^[vV]([0-9])/\1/}
+_GH_TUPLE_OUT:= ${_GH_TUPLE_OUT} ${GH_ACCOUNT_${_group}}:${GH_PROJECT_${_group}}:${GH_TAGNAME_${_group}}:${_group}/${GH_SUBDIR_${_group}}
+DISTNAME_${_group}:= ${GH_ACCOUNT_${_group}}-${GH_PROJECT_${_group}}-${GH_TAGNAME_${_group}_SANITIZED}
+DISTFILE_${_group}:= ${DISTNAME_${_group}}_GH${_GITHUB_REV}${_GITHUB_EXTRACT_SUFX}
+DISTFILES:= ${DISTFILES} ${DISTFILE_${_group}}:${_group}
+MASTER_SITES:= ${MASTER_SITES} ${MASTER_SITE_GITHUB:S@%SUBDIR%@${GH_ACCOUNT_${_group}}/${GH_PROJECT_${_group}}/tar.gz/${GH_TAGNAME_${_group}}?dummy=/:${_group}@}
+WRKSRC_${_group}:= ${WRKDIR}/${GH_PROJECT_${_group}}-${GH_TAGNAME_${_group}_EXTRACT}
+. if !empty(GH_SUBDIR_${_group})
+# In order to sort the subdir extraction so that foo/bar is moved in before
+# foo/bar/baz, we count the number of / in the path and use it to order the
+# targets. This handles up to 9 levels. The max as of r463123 is 4.
+_SITES_extract:= ${_SITES_extract} 69${GH_SUBDIR_${_group}:C=[^/]+= =g:[#]}:post-extract-gh-${_group}
+post-extract-gh-${_group}:
+ @${RMDIR} ${WRKSRC}/${GH_SUBDIR_${_group}} 2>/dev/null || :
+ @${MKDIR} ${WRKSRC}/${GH_SUBDIR_${_group}:H} 2>/dev/null || :
+ @${MV} ${WRKSRC_${_group}} ${WRKSRC}/${GH_SUBDIR_${_group}}
+ @${LN} -s ${WRKSRC:T}/${GH_SUBDIR_${_group}} ${WRKSRC_${_group}}
+. endif
+git-clone: git-clone-${_group}
+git-clone-${_group}: ${_GITHUB_CLONE_DIR}
+ @git clone https://github.com/${GH_ACCOUNT_${_group}}/${GH_PROJECT_${_group}}.git ${_GITHUB_CLONE_DIR}/${GH_PROJECT_${_group}}
+ @${ECHO_MSG} "Cloned the ${_group} github repository into ${_GITHUB_CLONE_DIR}/${GH_PROJECT_${_group}}" | ${FMT_80}
+. endfor
+. endif
+convert-to-gh-tuple:
+ @${ECHO_MSG} ${GH_ACCOUNT}:${GH_PROJECT}:${GH_TAGNAME} ${_GH_TUPLE_OUT:S/\/$//}
+.endif # defined(USE_GITHUB)
+.endif # !defined(IGNORE_MASTER_SITE_GITHUB)
+
+.if !defined(IGNORE_MASTER_SITE_GITLAB)
+#
+# In order to use GitLab your port must define USE_GITLAB and the following
+# variables:
+#
+# GL_SITE - site URL hosting GitLab and the project
+# default: https://gitlab.com
+#
+# GL_ACCOUNT - account name of the GitLab user hosting the project
+# default: ${PORTNAME}
+#
+# GL_PROJECT - name of the project on GitLab
+# default: ${PORTNAME}
+#
+# GL_COMMIT - the commit hash of the repository, must be the full hash and
+# is a required variable for GitLab.
+#
+# GL_SUBDIR - directory relative to WRKSRC where to move this distfile's
+# content after extracting.
+#
+# GL_TUPLE - above shortened to [site[:port][/webroot]:]account:project:commit:group[/subdir]
+#
+.if defined(USE_GITLAB)
+. if defined(GL_TUPLE)
+. for _tuple in ${GL_TUPLE}
+. if ${_tuple:C@^(([^:]*://[^:/]*(:[0-9]{1,5})?(/[^:]*[^/])?:)?)([^:]*):([^:]*):([^:]*)(:[^:/]*)((/.*)?)@\7@:S/^://:C/[a-f0-9]{40}//g}
+check-makevars::
+ @${ECHO_MSG} "The ${_tuple}"
+ @${ECHO_MSG} "GL_TUPLE is improperly formatted or, the commit"
+ @${ECHO_MSG} "section contains something other than [a-f0-9]"
+ @${FALSE}
+. endif
+. endfor
+GL_SITE+= ${GL_TUPLE:C@^(([^:]*://[^:/]*(:[0-9]{1,5})?(/[^:]*[^/])?:)?)([^:]*):([^:]*):([^:]*)(:[^:/]*)((/.*)?)@\1\8@}
+GL_ACCOUNT+= ${GL_TUPLE:C@^(([^:]*://[^:/]*(:[0-9]{1,5})?(/[^:]*[^/])?:)?)([^:]*):([^:]*):([^:]*)(:[^:/]*)((/.*)?)@\5\8@}
+GL_PROJECT+= ${GL_TUPLE:C@^(([^:]*://[^:/]*(:[0-9]{1,5})?(/[^:]*[^/])?:)?)([^:]*):([^:]*):([^:]*)(:[^:/]*)((/.*)?)@\6\8@}
+GL_COMMIT+= ${GL_TUPLE:C@^(([^:]*://[^:/]*(:[0-9]{1,5})?(/[^:]*[^/])?:)?)([^:]*):([^:]*):([^:]*)(:[^:/]*)((/.*)?)@\7\8@}
+GL_SUBDIR+= ${GL_TUPLE:C@^(([^:]*://[^:/]*(:[0-9]{1,5})?(/[^:]*[^/])?:)?)([^:]*):([^:]*):([^:]*)(:[^:/]*)((/.*)?)@\9\8@:M/*:S/^\///}
+. endif
+
+. if empty(USE_GITLAB:Mnodefault)
+MASTER_SITES+= ${GL_SITE}/${GL_ACCOUNT}/${GL_PROJECT}/repository/${GL_COMMIT}/archive.tar.gz?dummy=/
+. endif
+GL_SITE_DEFAULT= https://gitlab.com
+GL_SITE?= ${GL_SITE_DEFAULT}
+GL_ACCOUNT_DEFAULT= ${PORTNAME}
+GL_ACCOUNT?= ${GL_ACCOUNT_DEFAULT}
+GL_PROJECT_DEFAULT= ${PORTNAME}
+GL_PROJECT?= ${GL_PROJECT_DEFAULT}
+_GITLAB_GROUPS= DEFAULT
+. for _gl_v in GL_SITE GL_ACCOUNT GL_PROJECT GL_COMMIT GL_SUBDIR
+. for _v_ex in ${${_gl_v}}
+_GL_GROUPS= ${_v_ex:S/^${_v_ex:C@:[^/:]+$@@}//:S/^://}
+. if !empty(_GL_GROUPS)
+. for _group in ${_GL_GROUPS:S/,/ /g}
+. if ${_group} == all || ${_group} == ALL || ${_group} == default
+check-makevars::
+ @${ECHO_MSG} "Makefile error: the words all, ALL and default are reserved and cannot be"
+ @${ECHO_MSG} "used in group definitions. Please fix your ${_gl_v}"
+ @${FALSE}
+. endif
+. if !${_GITLAB_GROUPS:M${_group}}
+_GITLAB_GROUPS+= ${_group}
+. endif
+${_gl_v}_${_group}= ${_v_ex:C@^(.*):[^/:]+$@\1@}
+. endfor
+. else
+${_gl_v}_DEFAULT= ${_v_ex:C@^(.*):[^/:]+$@\1@}
+. endif
+. endfor
+. endfor
+GL_SITE:= ${GL_SITE_DEFAULT}
+GL_ACCOUNT:= ${GL_ACCOUNT_DEFAULT}
+GL_PROJECT:= ${GL_PROJECT_DEFAULT}
+GL_COMMIT:= ${GL_COMMIT_DEFAULT}
+GL_SUBDIR:= ${GL_SUBDIR_DEFAULT}
+
+
+_GITLAB_REV= 0
+DISTNAME:= ${GL_ACCOUNT}-${GL_PROJECT}-${GL_COMMIT}_GL${_GITLAB_REV}
+
+_GITLAB_EXTRACT_SUFX= .tar.gz
+
+_GITLAB_CLONE_DIR?= ${WRKDIR}/git-clone
+_PORTS_DIRECTORIES+= ${_GITLAB_CLONE_DIR}
+. if !${USE_GITLAB:Mnodefault}
+DISTFILES+= ${DISTNAME}${_GITLAB_EXTRACT_SUFX}
+git-clone: git-clone-DEFAULT
+git-clone-DEFAULT: ${_GITLAB_CLONE_DIR}
+ @git clone ${GL_SITE_DEFAULT}/${GL_ACCOUNT_DEFAULT}/${GL_PROJECT_DEFAULT}.git ${_GITLAB_CLONE_DIR}/${GL_PROJECT_DEFAULT}
+ @${ECHO_MSG} "Cloned the default GitLab repository into ${_GITLAB_CLONE_DIR}/${GL_PROJECT_DEFAULT}" | ${FMT_80}
+. endif
+. if !empty(GL_SUBDIR)
+_SITES_extract:= 69${GL_SUBDIR_${_group}:C=[^/]+= =g:[#]}:post-extract-gl-DEFAULT
+post-extract-gl-DEFAULT:
+ @${RMDIR} ${WRKSRC}/${GL_SUBDIR_DEFAULT} 2>/dev/null || :
+ @${MKDIR} ${WRKSRC}/${GL_SUBDIR_DEFAULT:H} 2>/dev/null || :
+ @${LN} -s ${GL_SUBDIR_DEFAULT:C/[^\/]//g:C/\//..\//g:S/^$/./} ${WRKSRC}/${GL_SUBDIR_DEFAULT}
+. endif
+. if !empty(_GITLAB_GROUPS:NDEFAULT)
+. for _group in ${_GITLAB_GROUPS:NDEFAULT}
+# We set GL_SITE earlier, we need to verify its not empty
+. if empty(GL_SITE_${_group})
+GL_SITE_${_group}= ${GL_SITE_DEFAULT}
+. endif
+GL_ACCOUNT_${_group}?= ${GL_ACCOUNT_DEFAULT}
+GL_PROJECT_${_group}?= ${GL_PROJECT_DEFAULT}
+
+_GL_TUPLE_OUT:= ${_GL_TUPLE_OUT} ${GL_SITE_${_group}}:${GL_ACCOUNT_${_group}}:${GL_PROJECT_${_group}}:${GL_COMMIT_${_group}}:${_group}/${GL_SUBDIR_${_group}}
+DISTNAME_${_group}:= ${GL_ACCOUNT}-${GL_PROJECT_${_group}}-${GL_COMMIT_${_group}}_GL${_GITLAB_REV}
+DISTFILE_${_group}:= ${DISTNAME_${_group}}${_GITLAB_EXTRACT_SUFX}
+DISTFILES:= ${DISTFILES} ${DISTFILE_${_group}}:${_group}
+MASTER_SITES:= ${MASTER_SITES} ${GL_SITE_${_group}}/${GL_ACCOUNT_${_group}}/${GL_PROJECT_${_group}}/repository/${GL_COMMIT_${_group}}/archive.tar.gz?dummy=/:${_group}
+WRKSRC_${_group}:= ${WRKDIR}/${GL_PROJECT_${_group}}-${GL_COMMIT_${_group}}-${GL_COMMIT_${_group}}
+. if !empty(GL_SUBDIR_${_group})
+_SITES_extract:= ${_SITES_extract} 690:post-extract-gl-${_group}
+post-extract-gl-${_group}:
+ @${RMDIR} ${WRKSRC}/${GL_SUBDIR_${_group}} 2>/dev/null || :
+ @${MKDIR} ${WRKSRC}/${GL_SUBDIR_${_group}:H} 2>/dev/null || :
+ @${MV} ${WRKSRC_${_group}} ${WRKSRC}/${GL_SUBDIR_${_group}}
+ @${LN} -s ${WRKSRC:T}/${GL_SUBDIR_${_group}} ${WRKSRC_${_group}}
+. endif
+git-clone: git-clone-${_group}
+git-clone-${_group}: ${_GITLAB_CLONE_DIR}
+ @git clone ${GL_SITE_${_group}}/${GL_ACCOUNT_${_group}}/${GL_PROJECT_${_group}}.git ${_GITLAB_CLONE_DIR}/${GL_PROJECT_${_group}}
+ @${ECHO_MSG} "Cloned the ${_group} GitLab repository into ${_GITLAB_CLONE_DIR}/${GL_PROJECT_${_group}}" | ${FMT_80}
+. endfor
+. endif
+.endif # defined(USE_GITLAB)
+.endif # !defined(IGNORE_MASTER_SITE_GITLAB)
+
+.if !defined(IGNORE_MASTER_SITE_GNOME)
+MASTER_SITE_GNOME+= \
+ https://download.gnome.org/%SUBDIR%/ \
+ http://download.gnome.org/%SUBDIR%/ \
+ http://ftp.belnet.be/mirror/ftp.gnome.org/%SUBDIR%/ \
+ ftp://ftp.belnet.be/mirror/ftp.gnome.org/%SUBDIR%/ \
+ https://ftp.acc.umu.se/pub/GNOME/%SUBDIR%/ \
+ ftp://ftp.cse.buffalo.edu/pub/Gnome/%SUBDIR%/ \
+ https://fr2.rpmfind.net/linux/gnome.org/%SUBDIR%/ \
+ http://www.gtlib.gatech.edu/pub/gnome/%SUBDIR%/ \
+ ftp://ftp.kddlabs.co.jp/pub/GNOME/%SUBDIR%/ \
+ ftp://ftp.mirrorservice.org/sites/ftp.gnome.org/pub/GNOME/%SUBDIR%/ \
+ ftp://ftp.nara.wide.ad.jp/pub/X11/GNOME/%SUBDIR%/ \
+ https://ftp.gnome.org/pub/GNOME/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_GIMP)
+MASTER_SITE_GIMP+= \
+ http://gimp.mirrors.hoobly.com/pub/%SUBDIR%/ \
+ http://gimper.net/downloads/pub/%SUBDIR%/ \
+ http://mirror.hessmo.com/gimp/pub/%SUBDIR%/ \
+ http://de-mirror.gimper.net/pub/%SUBDIR%/ \
+ http://gimp.afri.cc/pub/%SUBDIR%/ \
+ https://download.gimp.org/pub/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_GNU)
+MASTER_SITE_GNU+= \
+ https://ftpmirror.gnu.org/%SUBDIR%/ \
+ https://ftp.gnu.org/gnu/%SUBDIR%/ \
+ ftp://ftp.gnu.org/gnu/%SUBDIR%/ \
+ http://www.gtlib.gatech.edu/pub/gnu/gnu/%SUBDIR%/ \
+ https://mirrors.kernel.org/gnu/%SUBDIR%/ \
+ ftp://ftp.kddlabs.co.jp/GNU/gnu/%SUBDIR%/ \
+ ftp://ftp.mirrorservice.org/sites/ftp.gnu.org/gnu/%SUBDIR%/ \
+ ftp://ftp.informatik.hu-berlin.de/pub/gnu/gnu/%SUBDIR%/ \
+ ftp://ftp.informatik.rwth-aachen.de/pub/mirror/ftp.gnu.org/pub/gnu/%SUBDIR%/ \
+ http://ftp.funet.fi/pub/gnu/prep/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_GNUPG)
+MASTER_SITE_GNUPG+= \
+ https://gnupg.org/ftp/gcrypt/%SUBDIR%/ \
+ https://ftp.heanet.ie/mirrors/ftp.gnupg.org/gcrypt/%SUBDIR%/ \
+ ftp://ftp.franken.de/pub/crypt/mirror/ftp.gnupg.org/gcrypt/%SUBDIR%/ \
+ ftp://mirror.switch.ch/mirror/gnupg/%SUBDIR%/ \
+ https://mirrors.dotsrc.org/gcrypt/%SUBDIR%/ \
+ ftp://ftp.freenet.de/pub/ftp.gnupg.org/gcrypt/%SUBDIR%/ \
+ ftp://ftp.crysys.hu/pub/gnupg/%SUBDIR%/ \
+ https://www.mirrorservice.org/sites/ftp.gnupg.org/gcrypt/%SUBDIR%/ \
+ https://artfiles.org/gnupg.org/%SUBDIR%/ \
+ ftp://ftp.gnupg.org/gcrypt/%SUBDIR%/ \
+ http://mirror.tje.me.uk/pub/mirrors/ftp.gnupg.org/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_GNUSTEP)
+MASTER_SITE_GNUSTEP+= \
+ ftp://ftp.gnustep.org/pub/gnustep/%SUBDIR%/ \
+ http://ftp.gnustep.org/pub/gnustep/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_GNU_ALPHA)
+MASTER_SITE_GNU_ALPHA+= \
+ https://alpha.gnu.org/gnu/%SUBDIR%/ \
+ ftp://spinellicreations.com/alpha/gnu/%SUBDIR%/ \
+ http://www.nic.funet.fi/pub/gnu/alpha/gnu/%SUBDIR%/ \
+ http://mirror.thecodefactory.org/gnualpha/%SUBDIR%/ \
+ https://www.mirrorservice.org/sites/alpha.gnu.org/gnu/%SUBDIR%/ \
+ http://gnu.c3sl.ufpr.br/alpha/%SUBDIR%/ \
+ https://mirror.cedia.org.ec/gnualpha/%SUBDIR%/ \
+ http://gnu-alpha.mirrors.hostinginnederland.nl/%SUBDIR%/ \
+ https://gnualpha.uib.no/%SUBDIR%/ \
+ https://mirrors.fe.up.pt/pub/gnu-alpha/%SUBDIR%/ \
+ http://mirror.lihnidos.org/GNU/alpha/gnu/%SUBDIR%/ \
+ https://alpha-gnu-org.ip-connect.vn.ua/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_GOOGLE_CODE)
+PROJECTHOST?= ${PORTNAME}
+MASTER_SITE_GOOGLE_CODE+= \
+ http://${PROJECTHOST}.googlecode.com/files/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_HORDE)
+MASTER_SITE_HORDE+= \
+ https://ftp.horde.org/pub/%SUBDIR%/ \
+ ftp://ftp.horde.org/pub/%SUBDIR%/ \
+ ftp://ftp.at.horde.org/infosys/webapps/horde/%SUBDIR%/ \
+ ftp://ftp.se.horde.org/mirror/horde/pub/%SUBDIR%/ \
+ ftp://ftp.tw.horde.org/pub/%SUBDIR%/ \
+ ftp://ftp.us.horde.org/pub/software/horde//%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_IDSOFTWARE)
+MASTER_SITE_IDSOFTWARE+= \
+ ftp://ftp.gwdg.de/pub/misc2/ftp.idsoftware.com/idstuff/%SUBDIR%/ \
+ http://ftp4.de.freesbie.org/pub/misc/ftp.idsoftware.com/idstuff/%SUBDIR%/ \
+ ftp://ftp.fu-berlin.de/pc/games/idgames/idstuff/%SUBDIR%/ \
+ ftp://ftp.gamers.org/pub/idgames/idstuff/%SUBDIR%/ \
+ http://ftp.iinet.net.au/games/idstuff/%SUBDIR%/ \
+ ftp://ftp.mirror.nl/disk2/idsoftware/idstuff/%SUBDIR%/ \
+ ftp://freebsd.nsu.ru/mirrors/ftp.idsoftware.com/idstuff/%SUBDIR%/ \
+ ftp://ftp.ntua.gr/pub/vendors/idgames/idstuff/%SUBDIR%/ \
+ ftp://ftp.omen.net.au/games/idstuff/%SUBDIR%/ \
+ ftp://ftp.idsoftware.com/idstuff/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_ISC)
+MASTER_SITE_ISC+= \
+ https://ftp.isc.org/isc/%SUBDIR%/ \
+ ftp://ftp.isc.org/isc/%SUBDIR%/ \
+ ftp://ftp.ciril.fr/pub/isc/%SUBDIR%/ \
+ ftp://ftp.freenet.de/pub/ftp.isc.org/isc/%SUBDIR%/ \
+ ftp://ftp.iij.ad.jp/pub/network/isc/%SUBDIR%/ \
+ ftp://ftp.u-aizu.ac.jp/pub/net/isc/%SUBDIR%/ \
+ ftp://ftp.task.gda.pl/mirror/ftp.isc.org/isc/%SUBDIR%/ \
+ ftp://ftp.mirrorservice.org/sites/ftp.isc.org/isc/%SUBDIR%/ \
+ ftp://ftp.nominum.com/pub/isc/%SUBDIR%/ \
+ ftp://ftp.ripe.net/mirrors/sites/ftp.isc.org/isc/%SUBDIR%/ \
+ ftp://ftp.ntua.gr/pub/net/isc/isc/%SUBDIR%/ \
+ ftp://ftp.funet.fi/pub/mirrors/ftp.isc.org/isc/%SUBDIR%/
+.endif
+
+# List: http://download.kde.org/extra/mirrors.html
+# Updated: 2012-10-26
+.if !defined(IGNORE_MASTER_SITE_KDE)
+MASTER_SITE_KDE+= \
+ https://download.kde.org/%SUBDIR%/ \
+ ftp://ftp.gtlib.gatech.edu/pub/kde/%SUBDIR%/ \
+ ftp://ftp.informatik.hu-berlin.de/pub/Mirrors/ftp.kde.org/%SUBDIR%/ \
+ http://ftp.gtlib.gatech.edu/pub/kde/%SUBDIR%/ \
+ http://kde.mirrors.tds.net/pub/kde/%SUBDIR%/ \
+ ftp://ftp.rz.uni-wuerzburg.de/pub/unix/kde/%SUBDIR%/ \
+ https://mirrors.dotsrc.org/kde/%SUBDIR%/ \
+ ftp://mirrors.dotsrc.org/kde/%SUBDIR%/ \
+ ftp://ftp.fi.muni.cz/pub/kde/%SUBDIR%/ \
+ http://ftp.fi.muni.cz/pub/kde/%SUBDIR%/ \
+ ftp://sunsite.icm.edu.pl/pub/unix/kde/%SUBDIR%/ \
+ https://sunsite.icm.edu.pl/pub/unix/kde/%SUBDIR%/ \
+ ftp://ftp.lip6.fr/pub/X11/kde/%SUBDIR%/ \
+ http://www-ftp.lip6.fr/pub/X11/kde/%SUBDIR%/ \
+ https://ftp-stud.hs-esslingen.de/Mirrors/ftp.kde.org/pub/kde/%SUBDIR%/ \
+ ftp://ftp.cronyx.ru/pub/mirror/kde/%SUBDIR%/ \
+ http://ftp.twaren.net/Unix/X/KDE/%SUBDIR%/ \
+ ftp://ftp.fu-berlin.de/pub/unix/X11/gui/kde/%SUBDIR%/ \
+ ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/kde/%SUBDIR%/ \
+ ftp://ftp.ntua.gr/pub/X11/kde/%SUBDIR%/ \
+ http://ftp.ntua.gr/pub/X11/kde/%SUBDIR%/ \
+ ftp://ftp.heanet.ie/mirrors/ftp.kde.org/%SUBDIR%/ \
+ https://ftp.heanet.ie/mirrors/ftp.kde.org/%SUBDIR%/ \
+ ftp://ftp.kddlabs.co.jp/pub/X11/kde/%SUBDIR%/ \
+ http://ftp.kddlabs.co.jp/pub/X11/kde/%SUBDIR%/ \
+ ftp://ftp.ussg.iu.edu/pub/kde/%SUBDIR%/ \
+ http://ftp.ussg.iu.edu/kde/%SUBDIR%/ \
+ ftp://ftp.sayclub.com/pub/X/KDE/%SUBDIR%/ \
+ http://ftp.sayclub.com/pub/X/KDE/%SUBDIR%/ \
+ http://mirror.cc.columbia.edu/pub/software/kde/%SUBDIR%/ \
+ ftp://ftp.mirrorservice.org/sites/ftp.kde.org/pub/kde/%SUBDIR%/ \
+ https://www.mirrorservice.org/sites/ftp.kde.org/pub/kde/%SUBDIR%/ \
+ https://ftp.icm.edu.pl/pub/unix/kde/%SUBDIR%/ \
+ http://ftp.fi.muni.cz/pub/kde/%SUBDIR%/ \
+ ftp://ftp.funet.fi/pub/mirrors/ftp.kde.org/pub/kde/%SUBDIR%/ \
+ http://ftp.funet.fi/pub/mirrors/ftp.kde.org/pub/kde/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_LIBREOFFICE_DEV)
+MASTER_SITE_LIBREOFFICE_DEV+= \
+ https://dev-www.libreoffice.org/src/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_MATE)
+MASTER_SITE_MATE+= \
+ https://pub.mate-desktop.org/releases/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_MOZDEV)
+MASTER_SITE_MOZDEV+= \
+ http://ftp.scarlet.be/pub/mozdev/%SUBDIR%/ \
+ http://ftp.rz.tu-bs.de/pub/mirror/downloads.mozdev.org/%SUBDIR%/ \
+ http://ftp.ntua.gr/pub/www/mozdev/%SUBDIR%/ \
+ https://ftp.heanet.ie/pub/mozdev/%SUBDIR%/ \
+ http://mozdev.oregonstate.edu/%SUBDIR%/ \
+ http://ftp.ntua.gr/pub/www/mozdev/%SUBDIR%/ \
+ http://www.devlib.org/mozdev/%SUBDIR%/ \
+ ftp://ftp.heanet.ie/pub/mozdev/%SUBDIR%/ \
+ http://mirrors.ibiblio.org/mozdev.org/%SUBDIR%/ \
+ https://ftp.osuosl.org/pub/mozdev/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_MOZILLA)
+MASTER_SITE_MOZILLA+= \
+ https://download.cdn.mozilla.net/pub/%SUBDIR%/ \
+ https://archive.mozilla.org/pub/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_MOZILLA_ADDONS)
+MASTER_SITE_MOZILLA_ADDONS+= \
+ https://addons.cdn.mozilla.net/user-media/%SUBDIR%/ \
+ http://kyoto-mz-dl.sinet.ad.jp/pub/mozilla.org/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_MYSQL)
+MASTER_SITE_MYSQL+= \
+ ftp://ftp.fi.muni.cz/pub/mysql/Downloads/%SUBDIR%/ \
+ ftp://ftp.gwdg.de/pub/misc/mysql/Downloads/%SUBDIR%/ \
+ http://mirrors.ntua.gr/MySQL/Downloads/%SUBDIR%/ \
+ ftp://ftp.ntua.gr/pub/databases/mysql/Downloads/%SUBDIR%/ \
+ ftp://mirror.switch.ch/mirror/mysql/Downloads/%SUBDIR%/ \
+ http://mysql.mirrors.pair.com/Downloads/%SUBDIR%/ \
+ http://download.softagency.net/MySQL/Downloads/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_NETBSD)
+MASTER_SITE_NETBSD+= \
+ https://ftp.netbsd.org/pub/NetBSD/packages/distfiles/%SUBDIR%/ \
+ ftp://ftp.iastate.edu/pub/netbsd/packages/distfiles/%SUBDIR%/ \
+ ftp://ftp.plig.net/pub/NetBSD/packages/distfiles/%SUBDIR%/ \
+ ftp://ftp.proxad.net/mirrors/ftp.netbsd.org/packages/distfiles/%SUBDIR%/ \
+ ftp://ftp.unina.it/pub/Unix/NetBSD/packages/distfiles/%SUBDIR%/ \
+ ftp://ftp.uninett.no/bsd/unix/NetBSD/packages/distfiles/%SUBDIR%/ \
+ ftp://sunsite.uio.no/bsd/unix/NetBSD/packages/distfiles/%SUBDIR%/ \
+ ftp://ftp.demon.co.uk/pub/mirrors/NetBSD/packages/distfiles/%SUBDIR%/ \
+ ftp://ftp.funet.fi/pub/NetBSD/packages/distfiles/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_NETLIB)
+MASTER_SITE_NETLIB+= \
+ http://www.netlib.org/%SUBDIR%/ \
+ https://ftp.mirrorservice.org/sites/ftp.netlib.org/%SUBDIR%/ \
+ https://www.mirrorservice.org/sites/ftp.netlib.org/%SUBDIR%/ \
+ ftp://ftp.irisa.fr/pub/netlib/%SUBDIR%/ \
+ http://netlib.sandia.gov/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_NVIDIA)
+MASTER_SITE_NVIDIA+= \
+ https://jp.download.nvidia.com/%SUBDIR%/ \
+ http://us.download.nvidia.com/%SUBDIR%/ \
+ https://tw.download.nvidia.com/%SUBDIR%/ \
+ http://download.nvidia.com/%SUBDIR%/ \
+ https://download1.nvidia.com/%SUBDIR%/ \
+ ftp://download.nvidia.com/%SUBDIR%/ \
+ ftp://download1.nvidia.com/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_OPENBSD)
+MASTER_SITE_OPENBSD+= \
+ https://cdn.openbsd.org/pub/OpenBSD/%SUBDIR%/ \
+ https://ftp.OpenBSD.org/pub/OpenBSD/%SUBDIR%/ \
+ https://ftp.eu.openbsd.org/pub/OpenBSD/%SUBDIR%/ \
+ https://ftp3.usa.openbsd.org/pub/OpenBSD/%SUBDIR%/ \
+ https://mirror.leaseweb.com/pub/OpenBSD/%SUBDIR%/ \
+ https://openbsd.hk/pub/OpenBSD/%SUBDIR%/ \
+ https://mirror.aarnet.edu.au/pub/OpenBSD/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_OSDN)
+.for mirror in aarnet acc c3sl cznic gigenet iij jaist nchc onet osdn pumath rwthaachen ymu
+MASTER_SITE_OSDN+= \
+ http://${mirror}.dl.osdn.jp/%SUBDIR%/
+.endfor
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_OSSP)
+MASTER_SITE_OSSP+= \
+ ftp://ftp.ossp.org/pkg/%SUBDIR%/ \
+ ftp://ftp.ntua.gr/pub/utils/ossp/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_PACKETSTORM)
+MASTER_SITE_PACKETSTORM+= \
+ https://dl.packetstormsecurity.net/%SUBDIR%/ \
+ https://packetstorm.foofus.com/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_PERL_CPAN)
+
+_PERL_CPAN_SORT?= modules/by-module
+
+# Please add URI to MASTER_SITE_PERL_CPAN_BY instead of this one.
+MASTER_SITE_PERL_CPAN?=
+
+MASTER_SITE_PERL_CPAN_BY+= \
+ https://cpan.metacpan.org/%CPANSORT%/%SUBDIR%/ \
+ https://cpan.metacpan.org/modules/by-module/%SUBDIRPLUS%/ \
+ https://www.cpan.org/%CPANSORT%/%SUBDIR%/ \
+ ftp://ftp.cpan.org/pub/CPAN/%CPANSORT%/%SUBDIR%/ \
+ ftp://ftp.kddlabs.co.jp/lang/perl/CPAN/%CPANSORT%/%SUBDIR%/ \
+ http://ftp.jaist.ac.jp/pub/CPAN/%CPANSORT%/%SUBDIR%/ \
+ ftp://ftp.mirrorservice.org/sites/cpan.perl.org/CPAN/%CPANSORT%/%SUBDIR%/ \
+ ftp://ftp.auckland.ac.nz/pub/perl/CPAN/%CPANSORT%/%SUBDIR%/ \
+ http://backpan.perl.org/%CPANSORT%/%SUBDIR%/ \
+ ftp://ftp.funet.fi/pub/languages/perl/CPAN/%CPANSORT%/%SUBDIR%/ \
+ http://ftp.twaren.net/Unix/Lang/CPAN/%CPANSORT%/%SUBDIR%/ \
+ ftp://ftp.cpan.org/pub/CPAN/modules/by-module/%SUBDIRPLUS%/
+
+_PERL_CPAN_FLAG=${MASTER_SITE_SUBDIR:C/(CPAN):.*$/\1/}
+_PERL_CPAN_ID= ${MASTER_SITE_SUBDIR:C/^CPAN:(.)(.)(.*)$/\1\/\1\2\/\1\2\3/}
+
+.if !empty(_PERL_CPAN_ID) && ${_PERL_CPAN_FLAG:tl} == "cpan"
+ _PERL_CPAN_SORT=authors/id/${_PERL_CPAN_ID}
+ MASTER_SITE_PERL_CPAN=${MASTER_SITE_PERL_CPAN_BY:S/%CPANSORT%/${_PERL_CPAN_SORT}/:S/%SUBDIR%\///:S/%SUBDIRPLUS%\//${PORTNAME:C/-.*//}\//}
+.else
+ MASTER_SITE_PERL_CPAN=${MASTER_SITE_PERL_CPAN_BY:S/%CPANSORT%/${_PERL_CPAN_SORT}/:S/%SUBDIRPLUS%\///}
+.endif
+
+.endif
+
+#
+# PostgreSQL master site
+#
+.if !defined(IGNORE_MASTER_SITE_PGSQL)
+MASTER_SITE_PGSQL+= \
+ https://ftp.postgresql.org/pub/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_PHP)
+MASTER_SITE_PHP+= \
+ http://de.php.net/%SUBDIR%/ \
+ http://es.php.net/%SUBDIR%/ \
+ http://fr.php.net/%SUBDIR%/ \
+ http://it.php.net/%SUBDIR%/ \
+ http://jp.php.net/%SUBDIR%/ \
+ http://se.php.net/%SUBDIR%/ \
+ http://uk3.php.net/%SUBDIR%/ \
+ http://us2.php.net/%SUBDIR%/ \
+ http://br.php.net/%SUBDIR%/ \
+ http://cn.php.net/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_PYTHON)
+MASTER_SITE_PYTHON+= \
+ https://www.python.org/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_QMAIL)
+MASTER_SITE_QMAIL+= \
+ http://qmail.glasswings.com.au/%SUBDIR%/ \
+ http://qmail.psshee.com/%SUBDIR%/ \
+ https://mirrors.sunsite.dk/qmailwww/%SUBDIR%/ \
+ http://www.agria.hu/qmail/%SUBDIR%/ \
+ http://qmail.netvisao.pt/%SUBDIR%/ \
+ http://qmail.ipg.sk/%SUBDIR%/ \
+ http://qmail.omnis.ch/%SUBDIR%/ \
+ http://www.qmail.org/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_QT)
+MASTER_SITE_QT+= \
+ https://download.qt.io/%SUBDIR%/ \
+ http://master.qt.io/%SUBDIR%/ \
+ https://www.mirrorservice.org/sites/download.qt-project.org/%SUBDIR%/ \
+ http://www.nic.funet.fi/pub/mirrors/download.qt-project.org/%SUBDIR%/ \
+ http://qtmirror.ics.com/pub/qtproject/%SUBDIR%/ \
+ https://ftp.jaist.ac.jp/pub/qtproject/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_REDHAT_LINUX)
+MASTER_SITE_REDHAT_LINUX+= \
+ http://mirrors.usc.edu/pub/linux/distributions/redhat/redhat/linux/%SUBDIR%/ \
+ http://www.gtlib.gatech.edu/pub/redhat/linux/%SUBDIR%/ \
+ ftp://mirror.cs.wisc.edu/pub/mirrors/linux/redhat/%SUBDIR%/ \
+ ftp://ftp.nluug.nl/site/ftp.redhat.com/redhat/linux/%SUBDIR%/ \
+ ftp://ftp.icm.edu.pl/pub/linux/redhat/linux/%SUBDIR%/ \
+ ftp://ftp.riken.go.jp/pub/Linux/redhat/linux/%SUBDIR%/ \
+ ftp://ftp.kddlabs.co.jp/pub/Linux/packages/RedHat/redhat/linux/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_RUBY)
+MASTER_SITE_RUBY+= \
+ https://cache.ruby-lang.org/pub/ruby/%SUBDIR%/ \
+ ftp://ftp.fu-berlin.de/unix/languages/ruby/%SUBDIR%/ \
+ ftp://ftp.kr.FreeBSD.org/pub/ruby/%SUBDIR%/ \
+ ftp://ftp.iDaemons.org/pub/mirror/ftp.ruby-lang.org/ruby/%SUBDIR%/
+.endif
+
+# See http://rubygems.org/pages/about
+.if !defined(IGNORE_MASTER_SITE_RUBYGEMS)
+MASTER_SITE_RUBYGEMS+= \
+ https://rubygems.org/downloads/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_SAMBA)
+MASTER_SITE_SAMBA+= \
+ https://ftp.samba.org/pub/%SUBDIR%/
+.endif
+
+# List: https://download.savannah.gnu.org/mirmon/
+.if !defined(IGNORE_MASTER_SITE_SAVANNAH)
+MASTER_SITE_SAVANNAH+= \
+ https://download.savannah.gnu.org/releases/%SUBDIR%/ \
+ https://download-mirror.savannah.gnu.org/releases/%SUBDIR%/ \
+ http://nongnu.askapache.com/%SUBDIR%/ \
+ http://mirror.lihnidos.org/GNU/savannah/%SUBDIR%/ \
+ http://ftp.twaren.net/Unix/NonGNU/%SUBDIR%/ \
+ ftp://ftp.twaren.net/Unix/NonGNU/%SUBDIR%/ \
+ http://gnu.mirrors.pair.com/savannah/savannah/%SUBDIR%/
+.endif
+
+# List: https://sourceforge.net/p/forge/documentation/Mirrors/
+# Updated: 2017-03-13
+.if !defined(IGNORE_MASTER_SITE_SOURCEFORGE)
+.for p in https http
+MASTER_SITE_SOURCEFORGE+= ${p}://downloads.sourceforge.net/project/%SUBDIR%/
+.for m in cytranet excellmedia freefr jaist kent nchc \
+ netcologne netix superb-dca2 superb-sea2 ufpr vorboss
+MASTER_SITE_SOURCEFORGE+= ${p}://${m}.dl.sourceforge.net/project/%SUBDIR%/
+.endfor
+.endfor
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_SOURCEWARE)
+MASTER_SITE_SOURCEWARE+= \
+ https://mirrors.kernel.org/sourceware/%SUBDIR%/ \
+ ftp://ftp.funet.fi/pub/mirrors/sourceware.org/pub/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_SUDO)
+MASTER_SITE_SUDO+= \
+ https://www.sudo.ws/sudo/dist/ \
+ http://ftp.arcane-networks.fr/pub/mirrors/sudo/ \
+ http://sudo.p8ra.de/sudo/dist/ \
+ http://sudo.cybermirror.org/ \
+ http://sudo-ftp.basemirror.de/ \
+ http://core.ring.gr.jp/archives/misc/sudo/ \
+ http://www.ring.gr.jp/archives/misc/sudo/ \
+ http://ftp.twaren.net/Unix/Security/Sudo/ \
+ ftp://ftp.sudo.ws/pub/sudo/ \
+ ftp://plier.ucar.edu/pub/sudo/ \
+ ftp://obsd.isc.org/pub/sudo/ \
+ ftp://ftp.uwsg.indiana.edu/pub/security/sudo/ \
+ ftp://ftp.tuwien.ac.at/utils/admin-tools/sudo/ \
+ ftp://sunsite.ualberta.ca/pub/Mirror/sudo/ \
+ ftp://zoot.tele.dk/pub/sudo/ \
+ ftp://ftp.in2p3.fr/pub/sudo/ \
+ ftp://ftp.arcane-networks.fr/pub/mirrors/sudo/ \
+ ftp://ftp.usbm.de/pub/sudo/ \
+ ftp://ftp.cs.tu-berlin.de/pub/misc/sudo/ \
+ ftp://ftp.informatik.uni-hamburg.de/pub/os/unix/utils/sudo/ \
+ ftp://ftp.st.ryukoku.ac.jp/pub/security/tool/sudo/ \
+ ftp://ftp.cin.nihon-u.ac.jp/pub/misc/sudo/ \
+ ftp://core.ring.gr.jp/pub/misc/sudo/ \
+ ftp://ftp.ring.gr.jp/pub/misc/sudo/ \
+ ftp://sunsite.icm.edu.pl/packages/sudo/ \
+ ftp://mirror.cdmon.com/pub/sudo/ \
+ ftp://ftp.twaren.net/Unix/Security/Sudo/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_SUNSITE)
+MASTER_SITE_SUNSITE+= \
+ https://www.ibiblio.org/pub/Linux/%SUBDIR%/ \
+ http://www.gtlib.gatech.edu/pub/Linux/%SUBDIR%/ \
+ ftp://ftp.icm.edu.pl/pub/Linux/sunsite/%SUBDIR%/ \
+ ftp://ftp.sun.ac.za/pub/mirrors/sunsite.unc.edu/pub/Linux/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_TCLTK)
+MASTER_SITE_TCLTK+= \
+ ftp://ftp.tcl.tk/pub/tcl/%SUBDIR%/ \
+ ftp://ftp.kddlabs.co.jp/lang/tcl/ftp.scriptics.com/%SUBDIR%/ \
+ ftp://ftp.mirrorservice.org/sites/ftp.tcl.tk/pub/tcl/%SUBDIR%/ \
+ ftp://ftp.funet.fi/pub/languages/tcl/tcl/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_TEX_CTAN)
+MASTER_SITE_TEX_CTAN+= \
+ http://ctan.unsw.edu.au/%SUBDIR%/ \
+ ftp://ftp.kddlabs.co.jp/CTAN/%SUBDIR%/ \
+ ftp://ctan.tug.org/tex-archive/%SUBDIR%/ \
+ ftp://ftp.dante.de/tex-archive/%SUBDIR%/ \
+ ftp://mirror.macomnet.net/pub/CTAN/%SUBDIR%/ \
+ ftp://ftp.funet.fi/pub/TeX/CTAN/%SUBDIR%/
+.endif
+
+# Derived from: https://www.torproject.org/getinvolved/mirrors.html.en
+.if !defined(IGNORE_MASTER_SITE_TOR)
+MASTER_SITE_TOR+= \
+ https://www.torproject.org/dist/%SUBDIR%/ \
+ https://archive.torproject.org/tor-package-archive/%SUBDIR%/ \
+ ftp://ftp.bit.nl/mirror/tor/%SUBDIR%/ \
+ https://cyberside.net.ee/tor/%SUBDIR%/ \
+ https://ftp.bit.nl/mirror/tor/%SUBDIR%/ \
+ http://mirror.hessmo.com/tor/dist/%SUBDIR%/ \
+ http://mirror.host4site.co.il/torproject.org/dist/%SUBDIR%/ \
+ http://mirror.open-networx.org/torproject.org/dist/%SUBDIR%/ \
+ http://mirror.tor.hu/dist/%SUBDIR%/ \
+ https://mirror.torland.me/torproject.org/dist/%SUBDIR%/ \
+ http://mirrors.chaos-darmstadt.de/tor-mirror/dist/%SUBDIR%/ \
+ http://theonionrouter.com/dist/%SUBDIR%/ \
+ http://tor.amorphis.eu/dist/%SUBDIR%/ \
+ http://tor.askapache.com/dist/%SUBDIR%/ \
+ http://tor.beme-it.de/dist/%SUBDIR%/ \
+ http://tor.borgmann.tv/dist/%SUBDIR%/ \
+ https://tor.ccc.de/dist/%SUBDIR%/ \
+ http://tor.cyberarmy.at/dist/%SUBDIR%/ \
+ http://tor.dont-know-me.at/dist/%SUBDIR%/ \
+ http://tor.factor.cc/dist/%SUBDIR%/ \
+ http://tor.homosu.net/dist/%SUBDIR%/ \
+ http://tor.idnr.ws/dist/%SUBDIR%/ \
+ https://tor.myrl.net/dist/%SUBDIR%/ \
+ http://tor.kamagurka.org/dist/%SUBDIR%/ \
+ http://tor.spline.de/dist/%SUBDIR%/ \
+ http://tor.vesta.nu/dist/%SUBDIR%/ \
+ http://torproj.xpdm.us/dist/%SUBDIR%/ \
+ https://torproject.antagonism.org/dist/%SUBDIR%/ \
+ https://torproject.crypto.is/dist/%SUBDIR%/ \
+ https://torproject.is/dist/%SUBDIR%/ \
+ http://torproject.nwlinux.us/dist/%SUBDIR%/ \
+ https://torproject.ph3x.at/dist/%SUBDIR%/ \
+ https://www.coevoet.nl/tor/dist/%SUBDIR%/ \
+ http://www.oignon.net/dist/%SUBDIR%/ \
+ https://www.torproject.nl/dist/%SUBDIR%/ \
+ http://www.torproject.org.nyud.net/dist/%SUBDIR%/ \
+ http://www.torproject.us/dist/%SUBDIR%/ \
+ https://www.torservers.net/mirrors/torproject.org/dist/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_TUCOWS)
+MASTER_SITE_TUCOWS+= \
+ http://iinets.linux.tucows.com/files/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_WINDOWMAKER)
+MASTER_SITE_WINDOWMAKER+= \
+ ftp://ftp.windowmaker.info/pub/%SUBDIR%/ \
+ ftp://ftp.uvsq.fr/pub/X11/window-managers/windowmaker/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_XCONTRIB)
+MASTER_SITE_XCONTRIB+= \
+ ftp://ftp.gwdg.de/pub/x11/x.org/contrib/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_XFCE)
+MASTER_SITE_XFCE+= \
+ https://mirror.netcologne.de/xfce/%SUBDIR%/ \
+ http://ftp.udc.es/xfce/%SUBDIR%/ \
+ http://xfce.mirror.uber.com.au/%SUBDIR%/ \
+ https://archive.be.xfce.org/%SUBDIR%/ \
+ http://archive.be2.xfce.org/%SUBDIR%/ \
+ https://archive.al-us.xfce.org/%SUBDIR%/ \
+ http://mirrors.tummy.com/pub/archive.xfce.org/%SUBDIR%/ \
+ http://mirror.perldude.de/archive.xfce.org/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_XORG)
+MASTER_SITE_XORG+= \
+ https://xorg.freedesktop.org/releases/%SUBDIR%/ \
+ http://xorg.mirrors.pair.com/%SUBDIR%/ \
+ http://mirror.us.leaseweb.net/xorg/%SUBDIR%/ \
+ https://mirror.csclub.uwaterloo.ca/x.org/%SUBDIR%/ \
+ https://artfiles.org/x.org/pub/%SUBDIR%/ \
+ https://ftp.gwdg.de/pub/x11/x.org/pub/%SUBDIR%/ \
+ https://mi.mirror.garr.it/mirrors/x.org/%SUBDIR%/ \
+ http://mirror.switch.ch/ftp/mirror/X11/pub/%SUBDIR%/ \
+ https://mirrors.ircam.fr/pub/x.org/%SUBDIR%/ \
+ https://www.mirrorservice.org/sites/ftp.x.org/pub/%SUBDIR%/ \
+ http://www.portal-to-web.de/pub/mirrors/x.org/%SUBDIR%/ \
+ http://x.cybermirror.org/%SUBDIR%/ \
+ https://x.europnews.de/pub/%SUBDIR%/ \
+ http://xorg.mirror.solnet.ch/pub/%SUBDIR%/ \
+ https://mirror.nl.leaseweb.net/xorg/%SUBDIR%/ \
+ http://mirror.de.leaseweb.net/xorg/%SUBDIR%/ \
+ http://mirrors.go-part.com/xorg/%SUBDIR%/ \
+ https://ftp.yz.yamagata-u.ac.jp/pub/X11/x.org/%SUBDIR%/ \
+ http://ftp.kaist.ac.kr/x.org/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_KERNEL_ORG)
+MASTER_SITE_KERNEL_ORG+= \
+ https://www.kernel.org/pub/%SUBDIR%/ \
+ ftp://ftp.ntu.edu.tw/%SUBDIR%/ \
+ https://ftp.yandex.ru/pub/%SUBDIR%/ \
+ https://ftp.heanet.ie/pub/%SUBDIR%/ \
+ http://slackware.cs.utah.edu/pub/kernel.org/pub/%SUBDIR%/
+.endif
+
+.if !defined(IGNORE_MASTER_SITE_ZI)
+MASTER_SITE_ZI+= \
+ https://mirrors.rit.edu/zi/ \
+ https://blackened.zi0r.com/mirrors/ \
+ ${MASTER_SITE_LOCAL:S/%SUBDIR%/zi/}
+.endif
+
+# Macro magic
+
+MASTER_SITES_ABBREVS= CPAN:PERL_CPAN \
+ GH:GITHUB \
+ GHC:GITHUB_CLOUD \
+ LODEV:LIBREOFFICE_DEV \
+ NL:NETLIB \
+ RG:RUBYGEMS \
+ SF:SOURCEFORGE
+MASTER_SITES_SUBDIRS= APACHE_COMMONS_BINARIES:${PORTNAME:S,commons-,,} \
+ APACHE_COMMONS_SOURCE:${PORTNAME:S,commons-,,} \
+ APACHE_JAKARTA:${PORTNAME:S,-,/,}/source \
+ BERLIOS:${PORTNAME:tl}.berlios \
+ CHEESESHOP:source/${DISTNAME:C/(.).*/\1/}/${DISTNAME:S/-${DISTVERSIONFULL}$//} \
+ CRATESIO:${PORTNAME}/${DISTVERSIONFULL} \
+ DEBIAN:pool/main/${PORTNAME:C/^((lib)?.).*$/\1/}/${PORTNAME} \
+ FARSIGHT:${PORTNAME} \
+ FESTIVAL:${PORTVERSION} \
+ GCC:releases/${DISTNAME} \
+ GENTOO:distfiles \
+ GIMP:${PORTNAME}/${PORTVERSION:R}/ \
+ GITHUB:${GH_ACCOUNT}/${GH_PROJECT}/tar.gz/${GH_TAGNAME}?dummy=/ \
+ GITHUB_CLOUD:${GH_ACCOUNT}/${GH_PROJECT}/ \
+ GNOME:sources/${PORTNAME}/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/} \
+ GNU:${PORTNAME} \
+ GNUPG:${PORTNAME} \
+ GNU_ALPHA:${PORTNAME} \
+ HORDE:${PORTNAME} \
+ LIBREOFFICE_DEV:${PORTNAME} \
+ MATE:${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/} \
+ MOZDEV:${PORTNAME:tl} \
+ NETLIB:${PORTNAME} \
+ PERL_CPAN:${PORTNAME:C/-.*//} \
+ QT:archive/qt/${PORTVERSION:R} \
+ SAMBA:${PORTNAME} \
+ SAVANNAH:${PORTNAME:tl} \
+ SOURCEFORGE:${PORTNAME:tl}/${PORTNAME:tl}/${PORTVERSION} \
+ XFCE:xfce/${XFCE_MASTER_SITE_VER}/src
+
+.if defined(MASTER_SITES) && ${MASTER_SITES:N*\:/*}
+
+.for _site__ in ${MASTER_SITES}
+_site_=${_site__}
+. if ${_site_:M*\:/*}
+MASTER_SITES_EXP+= ${_site_}
+MASTER_SITES_EXP:= ${MASTER_SITES_EXP}
+. else
+_site_urlpath_= ${_site_:C@^(.*):[^/:]+$@\1@}
+. if ${_site_urlpath_:M*/*}
+_site_url_= ${_site_urlpath_:C@^([^/]+)/.*$@\1@}
+_site_subdir_= ${_site_urlpath_:S/^${_site_urlpath_:C@^([^/]+)/.*$@\1@}//:S!^/!!:S!/$!!}
+. else
+_site_url_= ${_site_urlpath_}
+.undef _site_subdir_
+. endif
+_site_group_= ${_site_:S/^${_site_:C@^(.*):[^/:]+$@\1@}//:S/^://}
+. for _abbrev_ in ${MASTER_SITES_ABBREVS}
+. if ${_site_url_} == ${_abbrev_:C/:.*//}
+_site_url_= ${_abbrev_:C/.*://}
+. endif
+. endfor
+. if !defined(MASTER_SITE_SUBDIR)
+. for _subdir_ in ${MASTER_SITES_SUBDIRS}
+. if ${_site_url_} == ${_subdir_:C/:.*//}
+_site_subdir_?= ${_subdir_:C/.*://}
+. endif
+. endfor
+. endif
+. ifdef MASTER_SITE_${_site_url_}
+. ifdef _site_subdir_
+MASTER_SITES_EXP+= ${MASTER_SITE_${_site_url_}:S^%SUBDIR%^${_site_subdir_}^:S/$/:${_site_group_}/:S/:$//}
+. else
+MASTER_SITES_EXP+= ${MASTER_SITE_${_site_url_}:S/$/:${_site_group_}/:S/:$//}
+. endif
+MASTER_SITES_EXP:= ${MASTER_SITES_EXP}
+. endif
+. endif
+.endfor
+MASTER_SITES= ${MASTER_SITES_EXP}
+
+.endif
+
+.if defined(PATCH_SITES) && ${PATCH_SITES:N*\:/*}
+
+.for _site__ in ${PATCH_SITES}
+_site_=${_site__}
+. if ${_site_:M*\:/*}
+PATCH_SITES_EXP+= ${_site_}
+PATCH_SITES_EXP:= ${PATCH_SITES_EXP}
+. else
+_site_urlpath_= ${_site_:C@^(.*):[^/:]+$@\1@}
+. if ${_site_urlpath_:M*/*}
+_site_url_= ${_site_urlpath_:C@^([^/]+)/.*$@\1@}
+_site_subdir_= ${_site_urlpath_:S/^${_site_urlpath_:C@^([^/]+)/.*$@\1@}//:S!^/!!:S!/$!!}
+. else
+_site_url_= ${_site_urlpath_}
+.undef _site_subdir_
+. endif
+_site_group_= ${_site_:S/^${_site_:C@^(.*):[^/:]+$@\1@}//:S/^://}
+. for _abbrev_ in ${MASTER_SITES_ABBREVS}
+. if ${_site_url_} == ${_abbrev_:C/:.*//}
+_site_url_= ${_abbrev_:C/.*://}
+. endif
+. endfor
+. if !defined(MASTER_SITE_SUBDIR)
+. for _subdir_ in ${MASTER_SITES_SUBDIRS}
+. if ${_site_url_} == ${_subdir_:C/:.*//}
+_site_subdir_?= ${_subdir_:C/.*://}
+. endif
+. endfor
+. endif
+. ifdef MASTER_SITE_${_site_url_}
+. ifdef _site_subdir_
+PATCH_SITES_EXP+= ${MASTER_SITE_${_site_url_}:S^%SUBDIR%^${_site_subdir_}^:S/$/:${_site_group_}/:S/:$//}
+. else
+PATCH_SITES_EXP+= ${MASTER_SITE_${_site_url_}:S/$/:${_site_group_}/:S/:$//}
+. endif
+PATCH_SITES_EXP:= ${PATCH_SITES_EXP}
+. endif
+. endif
+.endfor
+PATCH_SITES= ${PATCH_SITES_EXP}
+
+.endif
diff --git a/test-ports/Mk/bsd.ssp.mk b/test-ports/Mk/bsd.ssp.mk
new file mode 100644
index 00000000..86d8dfe3
--- /dev/null
+++ b/test-ports/Mk/bsd.ssp.mk
@@ -0,0 +1,17 @@
+# $FreeBSD: head/Mk/bsd.ssp.mk 430441 2017-01-03 07:24:49Z rene $
+# SSP Support
+
+SSP_Include_MAINTAINER= portmgr@FreeBSD.org
+
+.if !defined(SSP_UNSAFE) && \
+ (${ARCH} == i386 || ${ARCH} == amd64)
+# Overridable as a user may want to use -fstack-protector-all
+SSP_CFLAGS?= -fstack-protector
+CFLAGS+= ${SSP_CFLAGS}
+LDFLAGS+= -fstack-protector
+# -lssp_nonshared is needed on i386 where /usr/lib/libc.so is not an ldscript
+# This is currently unused XXX
+. if defined(SSP_NEED_NONSHARED)
+LDFLAGS+= -lssp_nonshared
+. endif
+.endif
diff --git a/test-ports/Mk/bsd.tex.mk b/test-ports/Mk/bsd.tex.mk
new file mode 100644
index 00000000..561da97c
--- /dev/null
+++ b/test-ports/Mk/bsd.tex.mk
@@ -0,0 +1,656 @@
+# $FreeBSD: head/Mk/bsd.tex.mk 420340 2016-08-17 12:16:24Z mat $
+#
+# bsd.tex.mk - Common part for TeX related ports
+#
+TEX_MAINTAINER= hrs@FreeBSD.org
+
+#
+# Ports which depend on TeX should use USE_TEX.
+#
+# USE_TEX= yes
+# imports variables only, and
+# USE_TEX= full
+# means full TeXLive dependency except for documentation and source.
+#
+# The other valid keywords
+#
+# base: base part
+# texmf: texmf tree (except for documentation and source)
+# source: source
+# docs: documentation
+#
+# web2c: WEB2C toolchain and TeX engines
+# kpathsea: kpathsea library
+# ptexenc: character code conversion library for pTeX
+# basic: basic TeX engines including tex and pdftex
+# tlmgr: tlmgr dependency (Perl modules)
+# texlua: texlua52 library
+# texluajit: texluajit library
+# synctex: synctex library
+# xpdfopen: pdfopen/pdfclose utility
+#
+# dvipsk: dvipsk
+# dvipdfmx: DVIPDFMx
+# xdvik: XDvi
+# gbklatex: gbklatex
+#
+# formats: TeX, LaTeX, AMSTeX, ConTeXT, CSLaTeX, EplainTeX,
+# CSplainTeX, METAFONT, MLTeX, PDFTeX, TeXsis
+# tex: TeX
+# latex: LaTeX
+# pdftex: PDFTeX
+# aleph: Aleph
+# jadetex: JadeTeX
+# luatex: LuaTeX
+# ptex: pTeX
+# xetex: XeTeX
+# xmltex: XMLTeX
+#
+# texhash: directory search hash regeneration
+# updmap: font map regeneration
+# fmtutil: format regeneration
+#
+# Examples:
+# USE_TEX= latex:build
+# USE_TEX= formats
+# USE_TEX= latex:build dvipsk:build
+
+# default TeX distribution. "texlive"
+TEX_DEFAULT?= texlive
+
+.if ${TEX_DEFAULT} != texlive
+IGNORE= Only 'texlive' is supported as value for TEX_DEFAULT
+.endif
+
+TEXMFDIR?= share/texmf
+TEXMFDISTDIR?= share/texmf-dist
+TEXMFLOCALDIR?= share/texmf-local
+TEXMFVARDIR?= share/texmf-var
+TEXMFCONFIGDIR?=share/texmf-config
+FMTUTIL_CNF?= ${TEXMFCONFIGDIR}/web2c/fmtutil.cnf
+TEXHASHDIRS?= ${TEXMFDIR} ${TEXMFDISTDIR} ${TEXMFLOCALDIR} ${TEXMFVARDIR} ${TEXMFCONFIGDIR}
+
+.for V in TEXMFDIR TEXMFDISTDIR TEXMFLOCALDIR TEXMFVARDIR TEXMFCONFIGDIR FMTUTIL_CNF
+PLIST_SUB+= $V="${$V}"
+.endfor
+
+.if !empty(USE_TEX:tu:MTEXLIVE)
+IGNORE= "texlive" must not be defined in USE_TEX
+.endif
+
+_USE_TEX_TEXMF_DEP= ${LOCALBASE}/${TEXMFDISTDIR}/README
+_USE_TEX_TEXMF_PORT= print/${_USE_TEX_TEXMF_PKGNAME}
+_USE_TEX_TEXMF_PKGNAME= texlive-texmf
+_USE_TEX_BASE_DEP= texconfig
+_USE_TEX_BASE_PORT= print/${_USE_TEX_BASE_PKGNAME}
+_USE_TEX_BASE_PKGNAME= texlive-base
+_USE_TEX_GBKLATEX_DEP= gbklatex
+_USE_TEX_GBKLATEX_PORT= ${_USE_TEX_BASE_PORT}
+_USE_TEX_GBKLATEX_PKGNAME=${_USE_TEX_BASE_PKGNAME}
+_USE_TEX_SOURCE_DEP= ${LOCALBASE}/${TEXMFDISTDIR}/source/.keep_me
+_USE_TEX_SOURCE_PORT= print/${_USE_TEX_SOURCE_PKGNAME}
+_USE_TEX_SOURCE_PKGNAME=texlive-texmf-source
+_USE_TEX_DOCS_DEP= ${LOCALBASE}/${TEXMFDISTDIR}/doc/texlive/texlive-en/README
+_USE_TEX_DOCS_PORT= print/${_USE_TEX_DOCS_PKGNAME}
+_USE_TEX_DOCS_PKGNAME= texlive-docs
+_USE_TEX_TLMGR_DEP= ${LOCALBASE}/${TEXMFDISTDIR}/.texlive-tlmgr
+_USE_TEX_TLMGR_PORT= print/${_USE_TEX_TLMGR_PKGNAME}
+_USE_TEX_TLMGR_PKGNAME= texlive-tlmgr
+_USE_TEX_DVIPSK_DEP= dvips
+_USE_TEX_DVIPSK_PORT= print/${_USE_TEX_DVIPSK_PKGNAME}
+_USE_TEX_DVIPSK_PKGNAME=tex-dvipsk
+_USE_TEX_XDVIK_DEP= xdvi
+_USE_TEX_XDVIK_PORT= print/${_USE_TEX_XDVIK_PKGNAME}
+_USE_TEX_XDVIK_PKGNAME= tex-xdvik
+_USE_TEX_DVIPDFMX_DEP= dvipdfmx
+_USE_TEX_DVIPDFMX_PORT= print/${_USE_TEX_DVIPDFMX_PKGNAME}
+_USE_TEX_DVIPDFMX_PKGNAME=tex-dvipdfmx
+_USE_TEX_BASIC_DEP= tex
+_USE_TEX_BASIC_PORT= print/${_USE_TEX_BASIC_PKGNAME}
+_USE_TEX_BASIC_PKGNAME= tex-basic-engines
+.for _L in TEX LATEX PDFTEX
+_USE_TEX_${_L}_DEP= ${_USE_TEX_FORMATS_DEP}
+_USE_TEX_${_L}_PORT= ${_USE_TEX_FORMATS_PORT}
+_USE_TEX_${_L}_PKGNAME= ${_USE_TEX_FORMATS_PKGNAME}
+.endfor
+_USE_TEX_JADETEX_DEP= jadetex
+_USE_TEX_JADETEX_PORT= print/${_USE_TEX_JADETEX_PKGNAME}
+_USE_TEX_JADETEX_PKGNAME=tex-jadetex
+_USE_TEX_XMLTEX_DEP= xmltex
+_USE_TEX_XMLTEX_PORT= print/${_USE_TEX_XMLTEX_PKGNAME}
+_USE_TEX_XMLTEX_PKGNAME=tex-xmltex
+_USE_TEX_PTEX_DEP= ptex
+_USE_TEX_PTEX_PORT= japanese/${_USE_TEX_PTEX_PKGNAME}
+_USE_TEX_PTEX_PKGNAME= tex-ptex
+_USE_TEX_WEB2C_DEP= weave
+_USE_TEX_WEB2C_PORT= devel/${_USE_TEX_WEB2C_PKGNAME}
+_USE_TEX_WEB2C_PKGNAME= tex-web2c
+_USE_TEX_KPATHSEA_DEP= libkpathsea.so
+_USE_TEX_KPATHSEA_PORT= devel/${_USE_TEX_KPATHSEA_PKGNAME}
+_USE_TEX_KPATHSEA_PKGNAME=tex-kpathsea
+_USE_TEX_PTEXENC_DEP= libptexenc.so
+_USE_TEX_PTEXENC_PORT= print/${_USE_TEX_PTEXENC_PKGNAME}
+_USE_TEX_PTEXENC_PKGNAME=tex-ptexenc
+_USE_TEX_TEXLUA_DEP= libtexlua52.so
+_USE_TEX_TEXLUA_PORT= devel/${_USE_TEX_TEXLUA_PKGNAME}
+_USE_TEX_TEXLUA_PKGNAME=tex-libtexlua
+_USE_TEX_TEXLUAJIT_DEP= libtexluajit.so
+_USE_TEX_TEXLUAJIT_PORT= devel/${_USE_TEX_TEXLUAJIT_PKGNAME}
+_USE_TEX_TEXLUAJIT_PKGNAME=tex-libtexluajit
+_USE_TEX_FORMATS_DEP= ${LOCALBASE}/${TEXMFVARDIR}/web2c/tex/tex.fmt
+_USE_TEX_FORMATS_PORT= print/${_USE_TEX_FORMATS_PKGNAME}
+_USE_TEX_FORMATS_PKGNAME=tex-formats
+_USE_TEX_SYNCTEX_DEP= libsynctex.so
+_USE_TEX_SYNCTEX_PORT= devel/${_USE_TEX_SYNCTEX_PKGNAME}
+_USE_TEX_SYNCTEX_PKGNAME=tex-synctex
+_USE_TEX_XPDFOPEN_DEP= pdfopen
+_USE_TEX_XPDFOPEN_PORT= print/${_USE_TEX_XPDFOPEN_PKGNAME}
+_USE_TEX_XPDFOPEN_PKGNAME= xpdfopen
+_USE_TEX_ALEPH_DEP= aleph
+_USE_TEX_ALEPH_PORT= print/${_USE_TEX_ALEPH_PKGNAME}
+_USE_TEX_ALEPH_PKGNAME= tex-aleph
+_USE_TEX_LUATEX_DEP= luatex
+_USE_TEX_LUATEX_PORT= print/${_USE_TEX_LUATEX_PKGNAME}
+_USE_TEX_LUATEX_PKGNAME=tex-luatex
+_USE_TEX_XETEX_DEP= xetex
+_USE_TEX_XETEX_PORT= print/${_USE_TEX_XETEX_PKGNAME}
+_USE_TEX_XETEX_PKGNAME= tex-xetex
+
+_USE_TEX_FULLLIST= texmf>=20150523_3 base>=20150521_5 \
+ web2c tlmgr:run \
+ basic formats aleph xetex jadetex luatex xmltex ptex \
+ dvipsk dvipdfmx xdvik xpdfopen:run \
+ kpathsea:lib ptexenc:lib texlua:lib texluajit:lib synctex:lib
+
+.if !empty(USE_TEX:tu:MFULL)
+USE_TEX:= ${USE_TEX:tu:NFULL} ${_USE_TEX_FULLLIST:tu}
+.endif
+
+.for _UU in ${USE_TEX:tu}
+_U:= ${_UU} # ugly but necessary in for loop
+_VOP:=
+. if !empty(_U:tu:C/[<>=][^\:]*//:C/\:.*$//:MTEXMF) && empty(_U:M*[<>=]*)
+_U:= ${_U}>=20150523_3
+. endif
+. if !empty(_U:tu:C/[<>=][^\:]*//:C/\:.*$//:MBASE) && empty(_U:M*[<>=]*)
+_U:= ${_U}>=20150521_5
+. endif
+. if !empty(_U:tu:C/[<>=][^\:]*//:C/\:.*$//:MKPATHSEA) || \
+ !empty(_U:tu:C/[<>=][^\:]*//:C/\:.*$//:MPTEXENC) || \
+ !empty(_U:tu:C/[<>=][^\:]*//:C/\:.*$//:MTEXLUA) || \
+ !empty(_U:tu:C/[<>=][^\:]*//:C/\:.*$//:MTEXLUAJIT) || \
+ !empty(_U:tu:C/[<>=][^\:]*//:C/\:.*$//:MSYNCTEX)
+_U:= ${_U}:lib
+. endif
+. if !empty(_U:M*[<>=]*)
+_VOP:= ${_U:C/^[^<>=]*//:C/\:.*$//}
+. endif
+. if empty(_U:M*\:*)
+_C:= BUILD RUN
+. else
+_C:= ${_U:C/.*://:S/,/ /g:C/[<>=][^\:]*//g}
+. endif
+#. warning DEBUG: ${_U}: _VOP=${_VOP}, _C=${_C}
+. for _CC in ${_C:tu}
+_V:=${_UU:C/[<>=][^\:]*//:C/\:.*$//}
+. if defined(_USE_TEX_${_V}_PORT)
+. if !empty(_VOP)
+. for _T in ${_USE_TEX_${_V}_PKGNAME}${_VOP}:${_USE_TEX_${_V}_PORT}
+TEX_${_CC}_DEPENDS+= ${_T}
+. endfor
+. else
+. for _T in ${_USE_TEX_${_V}_DEP}:${_USE_TEX_${_V}_PORT}
+TEX_${_CC}_DEPENDS+= ${_T}
+. endfor
+. endif
+. endif
+. endfor
+.endfor
+
+.for _C in EXTRACT BUILD LIB RUN
+${_C}_DEPENDS+= ${TEX_${_C}_DEPENDS:O:u}
+.endfor
+
+.ORDER: do-texhash do-fmtutil do-updmap
+
+.if !empty(USE_TEX:Mtexhash) || \
+ !empty(USE_TEX:Mtexhash-bootstrap) || \
+ !empty(USE_TEX:Mfmtutil) || \
+ !empty(USE_TEX:Mupdmap)
+.PHONY: do-texhash
+do-texhash:
+. if !empty(USE_TEX:Mtexhash-bootstrap)
+ @${ECHO_CMD} "@exec ${LOCALBASE}/bin/mktexlsr " \
+ "${TEXHASHDIRS:S,^,%D/,}" >> ${TMPPLIST}
+ @for D in ${TEXHASHDIRS}; do \
+ ${ECHO_CMD} "@rmtry $$D/ls-R"; \
+ ${ECHO_CMD} "@dir $$D"; \
+ done >> ${TMPPLIST}
+. else
+ @${ECHO_CMD} "@exec for D in ${TEXHASHDIRS:S,^,${PREFIX}/,}; do " \
+ "if [ -r \$$D/ls-R ]; then " \
+ "${LOCALBASE}/bin/mktexlsr \$$D; " \
+ "fi; done" >> ${TMPPLIST}
+ @${ECHO_CMD} "@unexec for D in ${TEXHASHDIRS:S,^,${PREFIX}/,}; do " \
+ "if [ -r \$$D/ls-R ]; then " \
+ "${LOCALBASE}/bin/mktexlsr \$$D; " \
+ "fi; done" >> ${TMPPLIST}
+. endif
+
+post-install-script: do-texhash
+.endif
+
+.if !empty(USE_TEX:Mfmtutil)
+.PHONY: do-fmtutil
+. for F in ${TEX_FORMATS}
+do-fmtutil: post-install-$F do-fmtutil-$F
+do-fmtutil-$F:
+ ${TEST} -n '${TEX_FORMAT_${F:tu}}'
+ ${PRINTF} "%s\t#$F\n" ${TEX_FORMAT_${F:tu}} \
+ > ${WRKDIR}/fmtutil.cnf
+ ${MKDIR} ${STAGEDIR}${PREFIX}/${TEXMFVARDIR}/web2c \
+ ${STAGEDIR}${PREFIX}/${TEXMFDISTDIR}/web2c
+ ${LN} -f -s ${LOCALBASE}/${TEXMFDISTDIR}/web2c/texmf.cnf \
+ ${STAGEDIR}${PREFIX}/${TEXMFDISTDIR}/web2c/texmf.cnf
+ ${LOCALBASE}/bin/mktexlsr ${TEXHASHDIRS:S,^,${STAGEDIR}${PREFIX}/,}
+ ${CAT} ${WRKDIR}/fmtutil.cnf | \
+ while read format dum; do \
+ ${SETENV} PATH=${STAGEDIR}${PREFIX}/bin:${PATH}:${LOCALBASE}/bin \
+ TEXMFDIST=${STAGEDIR}${PREFIX}/${TEXMFDISTDIR}:${LOCALBASE}/${TEXMFDISTDIR} \
+ ${LOCALBASE}/bin/fmtutil-sys \
+ --byfmt $$format \
+ --fmtdir ${STAGEDIR}${PREFIX}/${TEXMFVARDIR}/web2c \
+ --cnffile ${WRKDIR}/fmtutil.cnf; \
+ done
+ # XXX
+ #cd ${STAGEDIR}${PREFIX}/${TEXMFVARDIR}/web2c && \
+ # ${FIND} . -name "*.log" | ${XARGS} \
+ # ${REINPLACE_CMD:S/.bak/ ""/} "s,${STAGEDIR},,g"
+ ${RM} ${TEXHASHDIRS:S,^,${STAGEDIR}${PREFIX}/,:S,$,/ls-R,} \
+ ${STAGEDIR}${PREFIX}/${TEXMFDISTDIR}/web2c/texmf.cnf
+ ${RMDIR} ${STAGEDIR}${PREFIX}/${TEXMFDISTDIR}/web2c || ${TRUE}
+ ${RMDIR} ${STAGEDIR}${PREFIX}/${TEXMFDISTDIR} || ${TRUE}
+_PLIST_FILES+= ${TEX_FORMAT_${F:tu}_FILES}
+_PLIST_DIRS+=${TEX_FORMAT_${F:tu}_DIRS}
+_PLIST_FILES+= ${TEX_FORMAT_${F:tu}_BIN}
+. endfor
+post-install-script: do-fmtutil
+PLIST_FILES= ${_PLIST_FILES:O:u}
+PLIST_DIRS= ${_PLIST_DIRS:O:u} ${TEXMFVARDIR}/web2c
+.endif
+
+.if !empty(USE_TEX:Mupdmap)
+.PHONY: do-updmap
+do-updmap:
+ @${ECHO_CMD} "@exec ${SETENV} PATH=${PATH}:${LOCALBASE}/bin " \
+ "TEXMFMAIN=${LOCALBASE}/${TEXMFDIR} " \
+ "${LOCALBASE}/bin/updmap-sys" >> ${TMPPLIST}
+ @${ECHO_CMD} "@unexec ${SETENV} PATH=${PATH}:${LOCALBASE}/bin " \
+ "TEXMFMAIN=${LOCALBASE}/${TEXMFDIR} " \
+ "${LOCALBASE}/bin/updmap-sys" >> ${TMPPLIST}
+
+post-install-script: do-updmap
+.endif
+
+TEX_FORMAT_ALEPH?= \
+ "aleph aleph - *aleph.ini" \
+ "lamed aleph language.dat *lambda.ini"
+TEX_FORMAT_ALEPH_FILES= \
+ ${TEXMFVARDIR}/web2c/aleph/aleph.log \
+ ${TEXMFVARDIR}/web2c/aleph/aleph.fmt \
+ ${TEXMFVARDIR}/web2c/aleph/lamed.log \
+ ${TEXMFVARDIR}/web2c/aleph/lamed.fmt
+TEX_FORMAT_ALEPH_BIN= \
+ bin/lamed
+TEX_FORMAT_ALEPH_DIRS= \
+ ${TEXMFVARDIR}/web2c/aleph
+post-install-aleph:
+ ${LN} -sf aleph ${STAGEDIR}${PREFIX}/bin/lamed
+
+TEX_FORMAT_AMSTEX?= \
+ "amstex pdftex - -translate-file=cp227.tcx *amstex.ini"
+TEX_FORMAT_AMSTEX_FILES= \
+ ${TEXMFVARDIR}/web2c/pdftex/amstex.log \
+ ${TEXMFVARDIR}/web2c/pdftex/amstex.fmt
+TEX_FORMAT_AMSTEX_BIN= \
+ bin/amstex
+TEX_FORMAT_AMSTEX_DIRS= \
+ ${TEXMFVARDIR}/web2c/pdftex
+post-install-amstex:
+ ${LN} -fs pdftex ${STAGEDIR}${PREFIX}/bin/amstex
+
+TEX_FORMAT_CONTEXT?= \
+ "cont-en pdftex cont-usr.tex -8bit *cont-en.mkii"
+# XXX
+# "metafun mpost - metafun.mp"
+TEX_FORMAT_CONTEXT_FILES= \
+ ${TEXMFVARDIR}/web2c/pdftex/cont-en.log \
+ ${TEXMFVARDIR}/web2c/pdftex/cont-en.fmt
+# bin/metafun
+TEX_FORMAT_CONTEXT_DIRS= \
+ ${TEXMFVARDIR}/web2c/pdftex
+post-install-context:
+ @${DO_NADA}
+# ${LN} -sf mpost ${PREFIX}/bin/metafun
+
+TEX_FORMAT_CSLATEX?= \
+ "cslatex pdftex - -etex cslatex.ini" \
+ "pdfcslatex pdftex - -etex cslatex.ini"
+TEX_FORMAT_CSLATEX_FILES= \
+ ${TEXMFVARDIR}/web2c/pdftex/cslatex.log \
+ ${TEXMFVARDIR}/web2c/pdftex/cslatex.fmt \
+ ${TEXMFVARDIR}/web2c/pdftex/pdfcslatex.log \
+ ${TEXMFVARDIR}/web2c/pdftex/pdfcslatex.fmt
+TEX_FORMAT_CSLATEX_BIN= \
+ bin/cslatex \
+ bin/pdfcslatex
+TEX_FORMAT_CSLATEX_DIRS= \
+ ${TEXMFVARDIR}/web2c/pdftex
+post-install-cslatex:
+ ${LN} -sf pdftex ${STAGEDIR}${PREFIX}/bin/cslatex
+ ${LN} -sf pdftex ${STAGEDIR}${PREFIX}/bin/pdfcslatex
+
+TEX_FORMAT_CSPLAIN?= \
+ "csplain pdftex - -etex -enc csplain-utf8.ini" \
+ "pdfcsplain pdftex - -etex -enc csplain-utf8.ini"
+TEX_FORMAT_CSPLAIN_FILES= \
+ ${TEXMFVARDIR}/web2c/pdftex/csplain.log \
+ ${TEXMFVARDIR}/web2c/pdftex/csplain.fmt \
+ ${TEXMFVARDIR}/web2c/pdftex/pdfcsplain.log \
+ ${TEXMFVARDIR}/web2c/pdftex/pdfcsplain.fmt
+TEX_FORMAT_CSPLAIN_BIN= \
+ bin/csplain
+TEX_FORMAT_CSPLAIN_DIRS= \
+ ${TEXMFVARDIR}/web2c/pdftex
+post-install-csplain:
+ ${LN} -sf pdftex ${STAGEDIR}${PREFIX}/bin/csplain
+
+TEX_FORMAT_EPLAIN?= \
+ "eplain pdftex language.dat -translate-file=cp227.tcx *eplain.ini"
+TEX_FORMAT_EPLAIN_FILES= \
+ ${TEXMFVARDIR}/web2c/pdftex/eplain.log \
+ ${TEXMFVARDIR}/web2c/pdftex/eplain.fmt
+TEX_FORMAT_EPLAIN_BIN= \
+ bin/eplain
+TEX_FORMAT_EPLAIN_DIRS= \
+ ${TEXMFVARDIR}/web2c/pdftex
+post-install-eplain:
+ ${LN} -sf pdftex ${STAGEDIR}${PREFIX}/bin/eplain
+
+TEX_FORMAT_JADETEX?= \
+ "jadetex pdftex language.dat *jadetex.ini" \
+ "pdfjadetex pdftex language.dat *pdfjadetex.ini"
+TEX_FORMAT_JADETEX_FILES= \
+ ${TEXMFVARDIR}/web2c/pdftex/jadetex.log \
+ ${TEXMFVARDIR}/web2c/pdftex/jadetex.fmt \
+ ${TEXMFVARDIR}/web2c/pdftex/pdfjadetex.log \
+ ${TEXMFVARDIR}/web2c/pdftex/pdfjadetex.fmt
+TEX_FORMAT_JADETEX_BIN= \
+ bin/jadetex \
+ bin/pdfjadetex
+TEX_FORMAT_JADETEX_DIRS= \
+ ${TEXMFVARDIR}/web2c/pdftex
+post-install-jadetex:
+ ${LN} -sf pdftex ${STAGEDIR}${PREFIX}/bin/jadetex
+ ${LN} -sf pdftex ${STAGEDIR}${PREFIX}/bin/pdfjadetex
+
+TEX_FORMAT_LATEX-BIN?= \
+ "latex pdftex language.dat -translate-file=cp227.tcx *latex.ini" \
+ "pdflatex pdftex language.dat -translate-file=cp227.tcx *pdflatex.ini"
+TEX_FORMAT_LATEX-BIN_FILES= \
+ ${TEXMFVARDIR}/web2c/pdftex/latex.log \
+ ${TEXMFVARDIR}/web2c/pdftex/latex.fmt \
+ ${TEXMFVARDIR}/web2c/pdftex/pdflatex.log \
+ ${TEXMFVARDIR}/web2c/pdftex/pdflatex.fmt
+TEX_FORMAT_LATEX-BIN_BIN= \
+ bin/latex \
+ bin/pdflatex
+TEX_FORMAT_LATEX-BIN_DIRS= \
+ ${TEXMFVARDIR}/web2c/pdftex
+post-install-latex-bin:
+ ${LN} -sf pdftex ${STAGEDIR}${PREFIX}/bin/latex
+ ${LN} -sf pdftex ${STAGEDIR}${PREFIX}/bin/pdflatex
+
+TEX_FORMAT_LUATEX?= \
+ "luatex luatex language.def,language.dat.lua luatex.ini" \
+ "dviluatex luatex language.def,language.dat.lua dviluatex.ini" \
+ "dvilualatex luatex language.dat,language.dat.lua dvilualatex.ini" \
+ "lualatex luatex language.dat,language.dat.lua lualatex.ini" \
+ "luajittex luajittex language.def,language.dat.lua luatex.ini" \
+ "pdfcsplain luatex - -etex csplain.ini" \
+ "lualollipop luatex - lualollipop.in"
+TEX_FORMAT_LUATEX_FILES= \
+ ${TEXMFVARDIR}/web2c/luatex/dviluatex.log \
+ ${TEXMFVARDIR}/web2c/luatex/dviluatex.fmt \
+ ${TEXMFVARDIR}/web2c/luatex/dvilualatex.log \
+ ${TEXMFVARDIR}/web2c/luatex/dvilualatex.fmt \
+ ${TEXMFVARDIR}/web2c/luatex/luatex.log \
+ ${TEXMFVARDIR}/web2c/luatex/luatex.fmt \
+ ${TEXMFVARDIR}/web2c/luatex/lualatex.log \
+ ${TEXMFVARDIR}/web2c/luatex/lualatex.fmt \
+ ${TEXMFVARDIR}/web2c/luatex/pdfcsplain.log \
+ ${TEXMFVARDIR}/web2c/luatex/pdfcsplain.fmt \
+ ${TEXMFVARDIR}/web2c/luajittex/luajittex.log \
+ ${TEXMFVARDIR}/web2c/luajittex/luajittex.fmt
+TEX_FORMAT_LUATEX_BIN= \
+ bin/dviluatex \
+ bin/dvilualatex \
+ bin/luajittex \
+ bin/lualatex \
+ bin/lualollipop \
+ bin/luatex \
+ bin/texlua \
+ bin/texluac \
+ bin/texluajit \
+ bin/texluajitc
+TEX_FORMAT_LUATEX_DIRS= \
+ ${TEXMFVARDIR}/web2c/luatex \
+ ${TEXMFVARDIR}/web2c/luajittex
+post-install-luatex:
+ ${LN} -sf luatex ${STAGEDIR}${PREFIX}/bin/dviluatex
+ ${LN} -sf luatex ${STAGEDIR}${PREFIX}/bin/dvilualatex
+ ${LN} -sf luatex ${STAGEDIR}${PREFIX}/bin/lualatex
+ ${LN} -sf luatex ${STAGEDIR}${PREFIX}/bin/lualollipop
+ ${LN} -sf luatex ${STAGEDIR}${PREFIX}/bin/texlua
+ ${LN} -sf luatex ${STAGEDIR}${PREFIX}/bin/texluac
+ ${LN} -sf luajittex ${STAGEDIR}${PREFIX}/bin/texluajit
+ ${LN} -sf luajittex ${STAGEDIR}${PREFIX}/bin/texluajitc
+
+TEX_FORMAT_LOLLIPOP?= \
+ "lollipop pdftex - -translate-file=cp227.tcx *lollipop.ini"
+TEX_FORMAT_LOLLIPOP_FILES= \
+ ${TEXMFVARDIR}/web2c/pdftex/lollipop.log \
+ ${TEXMFVARDIR}/web2c/pdftex/lollipop.fmt
+TEX_FORMAT_LOLLIPOP_BIN= \
+ bin/lollipop
+TEX_FORMAT_LOLLIPOP_DIRS= \
+ ${TEXMFVARDIR}/web2c/pdftex
+post-install-lollipop-bin:
+ ${LN} -sf pdftex ${STAGEDIR}${PREFIX}/bin/lollipop
+
+TEX_FORMAT_METAFONT?= \
+ "mf mf-nowin - -translate-file=cp227.tcx mf.ini"
+TEX_FORMAT_METAFONT_FILES= \
+ ${TEXMFVARDIR}/web2c/metafont/mf.log \
+ ${TEXMFVARDIR}/web2c/metafont/mf.base
+TEX_FORMAT_METAFONT_DIRS= \
+ ${TEXMFVARDIR}/web2c/metafont
+post-install-metafont:
+ @${DO_NADA}
+
+TEX_FORMAT_MEX?= \
+ "mex pdftex mexconf.tex -translate-file=cp227.tcx *mex.ini" \
+ "pdfmex pdftex mexconf.tex -translate-file=cp227.tcx *pdfmex.ini" \
+ "utf8mex pdftex mexconf.tex -enc *utf8mex.ini"
+TEX_FORMAT_MEX_FILES= \
+ ${TEXMFVARDIR}/web2c/pdftex/mex.log \
+ ${TEXMFVARDIR}/web2c/pdftex/mex.fmt \
+ ${TEXMFVARDIR}/web2c/pdftex/pdfmex.log \
+ ${TEXMFVARDIR}/web2c/pdftex/pdfmex.fmt \
+ ${TEXMFVARDIR}/web2c/pdftex/utf8mex.log \
+ ${TEXMFVARDIR}/web2c/pdftex/utf8mex.fmt
+TEX_FORMAT_MEX_BIN= \
+ bin/mex \
+ bin/pdfmex \
+ bin/utf8mex
+TEX_FORMAT_MEX_DIRS= \
+ ${TEXMFVARDIR}/web2c/pdftex
+post-install-mex:
+ ${LN} -sf pdftex ${STAGEDIR}${PREFIX}/bin/mex
+ ${LN} -sf pdftex ${STAGEDIR}${PREFIX}/bin/pdfmex
+ ${LN} -sf pdftex ${STAGEDIR}${PREFIX}/bin/utf8mex
+
+TEX_FORMAT_MLTEX?= \
+ "mllatex pdftex language.dat -translate-file=cp227.tcx -mltex mllatex.ini" \
+ "mltex pdftex - -translate-file=cp227.tcx -mltex mltex.ini"
+TEX_FORMAT_MLTEX_FILES= \
+ ${TEXMFVARDIR}/web2c/pdftex/mllatex.log \
+ ${TEXMFVARDIR}/web2c/pdftex/mllatex.fmt \
+ ${TEXMFVARDIR}/web2c/pdftex/mltex.log \
+ ${TEXMFVARDIR}/web2c/pdftex/mltex.fmt
+TEX_FORMAT_MLTEX_BIN= \
+ bin/mltex \
+ bin/mllatex
+TEX_FORMAT_MLTEX_DIRS= \
+ ${TEXMFVARDIR}/web2c/pdftex
+post-install-mltex:
+ ${LN} -sf pdftex ${STAGEDIR}${PREFIX}/bin/mltex
+ ${LN} -sf pdftex ${STAGEDIR}${PREFIX}/bin/mllatex
+
+TEX_FORMAT_MPTOPDF?= \
+ "mptopdf pdftex - -translate-file=cp227.tcx mptopdf.tex"
+TEX_FORMAT_MPTOPDF_FILES= \
+ ${TEXMFVARDIR}/web2c/pdftex/mptopdf.log \
+ ${TEXMFVARDIR}/web2c/pdftex/mptopdf.fmt
+TEX_FORMAT_MPTOPDF_DIRS= \
+ ${TEXMFVARDIR}/web2c/pdftex
+post-install-mptopdf:
+ @${DO_NADA}
+
+TEX_FORMAT_PDFTEX?= \
+ "pdftex pdftex language.def -translate-file=cp227.tcx *pdfetex.ini" \
+ "etex pdftex language.def -translate-file=cp227.tcx *etex.ini" \
+ "pdfetex pdftex language.def -translate-file=cp227.tcx *pdfetex.ini"
+TEX_FORMAT_PDFTEX_FILES= \
+ ${TEXMFVARDIR}/web2c/pdftex/pdftex.log \
+ ${TEXMFVARDIR}/web2c/pdftex/pdftex.fmt \
+ ${TEXMFVARDIR}/web2c/pdftex/etex.log \
+ ${TEXMFVARDIR}/web2c/pdftex/etex.fmt \
+ ${TEXMFVARDIR}/web2c/pdftex/pdfetex.log \
+ ${TEXMFVARDIR}/web2c/pdftex/pdfetex.fmt
+TEX_FORMAT_PDFTEX_BIN= \
+ bin/etex \
+ bin/pdfetex
+TEX_FORMAT_PDFTEX_DIRS= \
+ ${TEXMFVARDIR}/web2c/pdftex
+post-install-pdftex:
+ ${LN} -sf pdftex ${STAGEDIR}${PREFIX}/bin/pdfetex
+ ${LN} -sf pdftex ${STAGEDIR}${PREFIX}/bin/etex
+
+TEX_FORMAT_PTEX?= \
+ "ptex ptex - ptex.ini" \
+ "ptex eptex language.def *eptex.ini" \
+ "platex eptex language.dat *platex.ini"
+TEX_FORMAT_PTEX_FILES= \
+ ${TEXMFVARDIR}/web2c/ptex/ptex.log \
+ ${TEXMFVARDIR}/web2c/ptex/ptex.fmt \
+ ${TEXMFVARDIR}/web2c/eptex/ptex.log \
+ ${TEXMFVARDIR}/web2c/eptex/ptex.fmt \
+ ${TEXMFVARDIR}/web2c/eptex/platex.log \
+ ${TEXMFVARDIR}/web2c/eptex/platex.fmt
+TEX_FORMAT_PTEX_BIN= \
+ bin/eptex \
+ bin/ptex \
+ bin/platex
+TEX_FORMAT_PTEX_DIRS= \
+ ${TEXMFVARDIR}/web2c/ptex \
+ ${TEXMFVARDIR}/web2c/eptex
+post-install-ptex:
+ ${LN} -sf eptex ${STAGEDIR}${PREFIX}/bin/platex
+
+TEX_FORMAT_TEX?= \
+ "tex tex - tex.ini"
+TEX_FORMAT_TEX_FILES= \
+ ${TEXMFVARDIR}/web2c/tex/tex.log \
+ ${TEXMFVARDIR}/web2c/tex/tex.fmt
+TEX_FORMAT_TEX_DIRS= \
+ ${TEXMFVARDIR}/web2c/tex
+post-install-tex:
+ @${DO_NADA}
+
+TEX_FORMAT_TEXSIS?= \
+ "texsis pdftex - -translate-file=cp227.tcx texsis.ini"
+TEX_FORMAT_TEXSIS_FILES= \
+ ${TEXMFVARDIR}/web2c/pdftex/texsis.log \
+ ${TEXMFVARDIR}/web2c/pdftex/texsis.fmt
+TEX_FORMAT_TEXSIS_BIN= \
+ bin/texsis
+TEX_FORMAT_TEXSIS_DIRS= \
+ ${TEXMFVARDIR}/web2c/pdftex
+post-install-texsis:
+ ${LN} -sf pdftex ${STAGEDIR}${PREFIX}/bin/texsis
+
+TEX_FORMAT_UPTEX?= \
+ "uptex uptex - uptex.ini" \
+ "euptex euptex language.def *euptex.ini" \
+ "uplatex euptex language.dat *uplatex.ini"
+TEX_FORMAT_UPTEX_FILES= \
+ ${TEXMFVARDIR}/web2c/euptex/euptex.log \
+ ${TEXMFVARDIR}/web2c/euptex/euptex.fmt \
+ ${TEXMFVARDIR}/web2c/uptex/uptex.log \
+ ${TEXMFVARDIR}/web2c/uptex/uptex.fmt \
+ ${TEXMFVARDIR}/web2c/euptex/uplatex.log \
+ ${TEXMFVARDIR}/web2c/euptex/uplatex.fmt
+TEX_FORMAT_UPTEX_BIN= \
+ bin/euptex \
+ bin/uptex \
+ bin/uplatex
+TEX_FORMAT_UPTEX_DIRS= \
+ ${TEXMFVARDIR}/web2c/euptex \
+ ${TEXMFVARDIR}/web2c/uptex
+post-install-uptex:
+ ${LN} -sf euptex ${STAGEDIR}${PREFIX}/bin/uplatex
+
+TEX_FORMAT_XETEX?= \
+ "xetex xetex language.def -etex xetex.ini" \
+ "xelatex xetex language.dat -etex xelatex.ini" \
+ "pdfcsplain xetex - -etex csplain.ini" \
+ "cont-en xetex cont-usr.tex -8bit *cont-en.mkii" \
+ "xelollipop xetex - -etex xelollipop.ini"
+TEX_FORMAT_XETEX_FILES= \
+ ${TEXMFVARDIR}/web2c/xetex/cont-en.log \
+ ${TEXMFVARDIR}/web2c/xetex/cont-en.fmt \
+ ${TEXMFVARDIR}/web2c/xetex/pdfcsplain.log \
+ ${TEXMFVARDIR}/web2c/xetex/pdfcsplain.fmt \
+ ${TEXMFVARDIR}/web2c/xetex/xetex.log \
+ ${TEXMFVARDIR}/web2c/xetex/xetex.fmt \
+ ${TEXMFVARDIR}/web2c/xetex/xelatex.log \
+ ${TEXMFVARDIR}/web2c/xetex/xelatex.fmt \
+ ${TEXMFVARDIR}/web2c/xetex/xelollipop.log \
+ ${TEXMFVARDIR}/web2c/xetex/xelollipop.fmt
+TEX_FORMAT_XETEX_BIN= \
+ bin/xetex \
+ bin/xelatex \
+ bin/xelollipop
+TEX_FORMAT_XETEX_DIRS= \
+ ${TEXMFVARDIR}/web2c/xetex
+post-install-xetex:
+ ${LN} -sf xetex ${STAGEDIR}${PREFIX}/bin/xelatex
+ ${LN} -sf xetex ${STAGEDIR}${PREFIX}/bin/xelollipop
+
+TEX_FORMAT_XMLTEX?= \
+ "xmltex pdftex language.dat *xmltex.ini" \
+ "pdfxmltex pdftex language.dat *pdfxmltex.ini"
+TEX_FORMAT_XMLTEX_FILES= \
+ ${TEXMFVARDIR}/web2c/pdftex/xmltex.log \
+ ${TEXMFVARDIR}/web2c/pdftex/xmltex.fmt \
+ ${TEXMFVARDIR}/web2c/pdftex/pdfxmltex.log \
+ ${TEXMFVARDIR}/web2c/pdftex/pdfxmltex.fmt
+TEX_FORMAT_XMLTEX_BIN= \
+ bin/xmltex \
+ bin/pdfxmltex
+TEX_FORMAT_XMLTEX_DIRS= \
+ ${TEXMFVARDIR}/web2c/pdftex
+post-install-xmltex:
+ ${LN} -sf pdftex ${STAGEDIR}${PREFIX}/bin/xmltex
+ ${LN} -sf pdftex ${STAGEDIR}${PREFIX}/bin/pdfxmltex
diff --git a/test-ports/Mk/bsd.wx.mk b/test-ports/Mk/bsd.wx.mk
new file mode 100644
index 00000000..8668343c
--- /dev/null
+++ b/test-ports/Mk/bsd.wx.mk
@@ -0,0 +1,518 @@
+# $FreeBSD: head/Mk/bsd.wx.mk 494048 2019-02-27 12:06:57Z danfe $
+#
+# bsd.wx.mk - Support for wxWidgets based ports.
+#
+# Created by: Alejandro Pulver <alepulver@FreeBSD.org>
+#
+# The following variables can be defined in a port that uses the wxWidgets
+# library, contributed libraries, WxPython and/or more wxWidgets related
+# components (with run and/or build dependencies). It can be used after and/or
+# before bsd.port.pre.mk, but Python components will only work if Python
+# variables (e.g. USE_PYTHON) are defined before it (this is a bsd.python.mk
+# limitation), at least it is manually included.
+#
+# USE_WX - Set to the list of wxWidgets versions that can be used by
+# the port. The syntax allows the following elements:
+# - Single version (e.g. "3.0").
+# - Range of versions (e.g. "2.8-3.0"). Must be ascending.
+# - Partial range: single version and upper (e.g. "2.8+").
+# - Partial range: single version and lower (e.g. "-2.8").
+# Multiple elements can be specified separated by spaces.
+# USE_WX_NOT - Set to the list of wxWidgets versions that can't be used by
+# the port. In other words, it removes some versions from
+# USE_WX. If the latter is not defined, it will have the value
+# of all the possible versions. The syntax is like USE_WX.
+# WX_COMPS - Set to the list of wxWidgets components the port uses.
+# Several components can be specified separated by spaces. By
+# default it will have the value of "wx". Suffixes in the form
+# ":xxx" may be added to the components to determine the
+# dependency type.
+# The available components are:
+# wx - The wxWidgets library.
+# contrib - The wxWidgets contributed libraries.
+# python - The wxWidgets API for Python.
+# The available dependency types are:
+# build - Requires component for building.
+# lib - Requires component for building and running.
+# run - Requires component for running.
+# If no suffix is present then "run" will be used for "python"
+# and "lib" for others.
+# WX_CONF_ARGS - Set to "absolute" or "relative" if the port needs configure
+# arguments in addition to the WX_CONFIG environment variable.
+# It determines the type of parameters that have to be passed
+# to the configure script. In the first case it adds
+# "--with-wx-config=${WX_CONFIG}" (absolute path of
+# WX_CONFIG), and in second one "--with-wx=${LOCALBASE}" plus
+# "--with-wx-config=${WX_CONFIG:T} (prefix and name).
+# WX_PREMK - Define to determine version and define WX_CONFIG/WX_VERSION
+# after <bsd.port.pre.mk> (in case the port needs to manually
+# run the script).
+# WANT_WX - Set to "yes" or a valid single version (no ranges, etc).
+# In both cases it will detect the installed wxWidgets
+# components and add them to the variable HAVE_WX. If a
+# version is selected, HAVE_WX will contain a list of
+# components in the other case it will contain a list of
+# "component-version" pairs (e.g. wx-2.8, contrib-2.8, etc).
+# It has to be used before bsd.port.pre.mk.
+# WANT_WX_VER - Set to the preferred wxWidgets version for the port. It must
+# be present in USE_WX or missing in USE_WX_NOT. This is
+# overridden by the user variable WITH_WX_VER if set. It can
+# contain multiple versions in order of preference (last ones
+# are tried first).
+#
+# The following variables are intended for the user and can be defined in
+# make.conf.
+# WITH_WX_VER - Define to the list of preferred versions in reverse order.
+#
+# The following variables are defined by this file, to be read from the port.
+# WX_CONFIG - The path to the wx-config program (with different name).
+# WXRC_CMD - The path to the wxrc program (with different name).
+# WX_VERSION - The wxWidgets version that is going to be used.
+# HAVE_WX - The list of wxWidgets components installed, if WANT_WX was
+# defined. The components will have version suffix if it was
+# set to "yes".
+#
+# Examples:
+# - A port that needs wxWidgets 2.8 and contributed libraries
+# USE_WX= 2.8
+# WX_COMPS= wx contrib
+# - A port that needs WxPython 2.8 for running.
+# USE_PYTHON= yes
+# USE_WX= 2.8
+# WX_COMPS= python:run
+# - A port that needs WxPython 2.8 or 3.0 for building.
+# USE_PYTHON= yes
+# USE_WX= 2.8 3.0
+# WX_COMPS= python:build
+# - A port that needs wxWidgets version 2.8 or higher and contributed
+# libraries.
+# USE_WX= 2.8+
+# WX_COMPS= wx contrib
+# - A port that needs wxWidgets of any version other than 2.8.
+# USE_WX_NOT= 2.8
+#
+
+WX_Include_MAINTAINER= ports@FreeBSD.org
+
+#
+# Global definitions.
+#
+
+.if !defined(_WX_Definitions_Done)
+_WX_Definitions_Done= yes
+
+#
+# Common variables:
+# _WX_COMPS_ALL - List of valid components.
+# _WX_DEP_TYPES_ALL - List of valid dependency types.
+# _WX_VERS_ALL - List of supported versions.
+# _WX_VERS_UC_ALL - List of Unicode capable versions.
+# _WX_VERS_LISTS - Reverse lists preference order.
+#
+
+_WX_COMPS_ALL= wx contrib python
+_WX_DEP_TYPES_ALL= build lib run
+_WX_VERS_ALL= 2.8 3.0 3.1
+_WX_VERS_UC_ALL= 2.8 3.0 3.1
+_WX_VERS_SKIP= 3.0 3.1
+_WX_VERS_LISTS= WANT_WX_VER WITH_WX_VER _WX_VER_INSTALLED
+
+#
+# Variables used to determine what is needed:
+# _WX_PORT_comp_ver - Port directory.
+# _WX_LIB_comp_ver - Name of the shared library (optional).
+# _WX_SHVER_comp_ver - Shared library version (optional).
+# _WX_FILE_comp_ver - File installed by that component.
+# _WX_DEPTYPE_comp_ver - Default dependency type (optional).
+#
+
+# wxgtk 2.8
+_WX_PORT_wx_2.8= x11-toolkits/wxgtk28
+_WX_LIB_wx_2.8= wx_base${_WX_UC}-2.8
+
+_WX_PORT_contrib_2.8= x11-toolkits/wxgtk28-contrib
+_WX_LIB_contrib_2.8= wx_gtk2${_WX_UC}_fl-2.8
+
+_WX_PORT_python_2.8= x11-toolkits/py-wxPython28
+_WX_FILE_python_2.8= ${PYTHON_SITELIBDIR}/wx-2.8-gtk2${_WX_PYSUFX}/wx/__init__.py
+
+# wxgtk 3.0
+_WX_PORT_wx_3.0= x11-toolkits/wxgtk30
+_WX_LIB_wx_3.0= wx_baseu-3.0
+
+_WX_PORT_python_3.0= x11-toolkits/py-wxPython30
+_WX_FILE_python_3.0= ${PYTHON_SITELIBDIR}/wx-3.0-gtk3/wx/__init__.py
+
+# wxgtk 3.1
+_WX_PORT_wx_3.1= x11-toolkits/wxgtk31
+_WX_LIB_wx_3.1= wx_baseu-3.1
+
+# Set _WX_SHVER_comp_ver to 0 and _WX_FILE_comp_ver for libs appropriately.
+# Set _WX_DEPTYPE_comp_ver for "python" to "run", and others to "lib".
+
+. for comp in ${_WX_COMPS_ALL}
+_WX_COMP= ${comp}
+. for ver in ${_WX_VERS_ALL}
+. if defined(_WX_LIB_${comp}_${ver})
+_WX_SHVER_${comp}_${ver}= 0
+_WX_FILE_${comp}_${ver}= ${LOCALBASE}/lib/lib${_WX_LIB_${comp}_${ver}}.so.${_WX_SHVER_${comp}_${ver}}
+. endif
+. if ${_WX_COMP} == "python"
+_WX_DEPTYPE_${comp}_${ver}= run
+. else
+_WX_DEPTYPE_${comp}_${ver}= lib
+. endif
+. endfor
+. endfor
+.endif # !_WX_Defined_Done
+
+#
+# Check if we are going to determine the version.
+#
+
+.if !defined(_WX_Version_Done) && (defined(_POSTMKINCLUDED) || \
+ (defined(WX_PREMK) && defined(BEFOREPORTMK) && \
+ (defined(USE_WX) || defined(USE_WX_NOT))))
+_WX_Need_Version= yes
+.endif
+
+#
+# Check for present components.
+#
+
+# Requested by the user.
+
+.if defined(WANT_WX) && defined(BEFOREPORTMK)
+_WANT_WX= ${WANT_WX}
+.endif
+
+# Used for autodetection of installed versions.
+
+.if defined(_WX_Need_Version)
+_WANT_WX= yes
+.endif
+
+.if defined(_WANT_WX)
+
+# These variables are reprocessed later so they won't affect other parts.
+
+_WX_VER_FINAL= ${_WX_VERS_UC_ALL}
+_WX_UC= u
+_WX_PYSUFX= -unicode
+
+# Fill _HAVE_WX with the installed components.
+
+. undef _HAVE_WX
+. for __WANT_WX in ${_WANT_WX}
+# Check if _WANT_WX contains more than one word.
+. if defined(_HAVE_WX)
+IGNORE?= selected multiple values for WANT_WX: ${_WANT_WX}
+. endif
+_HAVE_WX= #
+# Check for all versions.
+. if ${_WANT_WX:tl} == "yes"
+. for comp in ${_WX_COMPS_ALL}
+. for ver in ${_WX_VER_FINAL}
+_WX_COMP= _WX_FILE_${comp}_${ver}
+. if defined(${_WX_COMP}) && exists(${${_WX_COMP}})
+_HAVE_WX+= ${comp}-${ver}
+. endif
+. endfor
+. endfor
+# Check for a specific version.
+. elif ${_WX_VERS_ALL:M${__WANT_WX}}
+. for comp in ${_WX_COMPS_ALL}
+. if exists(${_WX_FILE_${comp}_${__WANT_WX}})
+_HAVE_WX+= ${comp}
+. endif
+. endfor
+. else
+IGNORE?= selected an invalid value for WANT_WX: ${__WANT_WX}
+. endif
+. endfor
+.endif # _WANT_WX
+
+# Requested by the user.
+
+.if defined(WANT_WX) && defined(BEFOREPORTMK)
+HAVE_WX:= ${_HAVE_WX}
+.endif
+
+# Used for autodetection of installed versions.
+
+.if defined(_WX_Need_Version)
+_WX_VER_INSTALLED:= ${_HAVE_WX:Mwx-*:S/wx-//}
+.endif
+
+#
+# Select wxWidgets version.
+#
+
+.if defined(_WX_Need_Version)
+_WX_Version_Done= yes
+
+#
+# Basic component parsing (ignores dependency types).
+#
+# The variables used are:
+# _WX_COMP - Component part.
+# _WX_COMPS_FINAL - Final list of components.
+#
+
+# Detect duplicated components.
+
+_WX_COMPS_FINAL= #
+.for comp in ${WX_COMPS}
+_WX_COMP= ${comp:C/:([[:alpha:]]+)$//}
+. for __WX_COMP in ${_WX_COMP}
+. if ${_WX_COMPS_ALL:M${__WX_COMP}} == ""
+IGNORE?= selected an invalid wxWidgets component: ${__WX_COMP}
+. endif
+. endfor
+. for newcomp in ${_WX_COMP}
+. if ${_WX_COMPS_FINAL:M${newcomp}} == "" && !defined(IGNORE)
+_WX_COMPS_FINAL+= ${newcomp}
+. endif
+. endfor
+.endfor
+
+# Set defaults (if one isn't present).
+
+USE_WX?= ${_WX_VERS_ALL}
+USE_WX_NOT?= #
+
+#
+# Make lists of valid and invalid versions.
+#
+# The following variables are used:
+# _WX_VER_CHECK - If the version is a single one, express in a range.
+# _WX_VER_MIN - Lower version of the range.
+# _WX_VER_MAX - Higher version of the range.
+# _WX_VER_LIST - List of requested versions.
+# _WX_VER_NOT_LIST - List of disallowed versions.
+# _WX_VER_MERGED - List of requested version without disallowed ones.
+#
+
+.for list in VER VER_NOT
+_WX_${list}_LIST= #
+. for ver in ${USE_WX${list:C/VER//}}
+_WX_VER_CHECK:= ${ver:C/^([[:digit:]]+(\.[[:digit:]]+)*)$/\1-\1/}
+_WX_VER_MIN:= ${_WX_VER_CHECK:C/([[:digit:]]+(\.[[:digit:]]+)*)[-+].*/\1/}
+_WX_VER_MAX:= ${_WX_VER_CHECK:C/.*-([[:digit:]]+(\.[[:digit:]]+)*)/\1/}
+# Minimum version not specified.
+. if ${_WX_VER_MIN} == ${_WX_VER_CHECK}
+. undef _WX_VER_MIN
+. for v in ${_WX_VERS_ALL}
+. if ${_WX_VER_CHECK:C/[-+]//} == ${v} || ${_WX_VERS_SKIP:M${v}} == ""
+_WX_VER_MIN?= ${v}
+. endif
+. endfor
+. endif
+# Maximum version not specified.
+. if ${_WX_VER_MAX} == ${_WX_VER_CHECK}
+. for v in ${_WX_VERS_ALL}
+. if ${_WX_VER_CHECK:C/[-+]//} == ${v} || ${_WX_VERS_SKIP:M${v}} == ""
+_WX_VER_MAX= ${v}
+. endif
+. endfor
+. endif
+# Expand versions and add valid ones to each list.
+. for v in ${_WX_VERS_ALL}
+. if ${_WX_VER_MIN} <= ${v} && ${_WX_VER_MAX} >= ${v} && \
+ ${_WX_${list}_LIST:M${v}} == ""
+_WX_${list}_LIST+= ${v}
+. endif
+. endfor
+. endfor
+.endfor
+
+# Merge the lists into a single list of valid versions.
+
+_WX_VER_MERGED= #
+.for ver in ${_WX_VER_LIST}
+. if ${_WX_VER_NOT_LIST:M${ver}} == ""
+_WX_VER_MERGED+= ${ver}
+. endif
+.endfor
+
+# Check for a null version.
+
+.if empty(_WX_VER_MERGED)
+IGNORE?= selected a null or invalid wxWidgets version
+.endif
+
+# Avoid versions which have unavailable components.
+
+.for ver in ${_WX_VER_MERGED}
+. for comp in ${_WX_COMPS_FINAL}
+. if !defined(_WX_PORT_${comp}_${ver})
+_WX_WRONG_COMPS+= ${comp}
+_WX_WRONG_VERS+= ${ver}
+_WX_VER_MERGED:= ${_WX_VER_MERGED:N${ver}}
+. endif
+. endfor
+.endfor
+
+.if empty(_WX_VER_MERGED)
+IGNORE?= selected wxWidgets versions (${_WX_WRONG_VERS}) which do not have the selected components (${_WX_WRONG_COMPS})
+.endif
+
+#
+# Unicode support.
+#
+
+# Create a list of capable versions.
+
+_WX_VER_UC= #
+.for ver in ${_WX_VER_MERGED}
+. if ${_WX_VERS_UC_ALL:M${ver}} != ""
+_WX_VER_UC+= ${ver}
+. endif
+.endfor
+
+# Set Unicode variables.
+
+_WX_VER_FINAL= ${_WX_VER_UC}
+_WX_UC= u
+_WX_PYSUFX= -unicode
+
+# Remove unusable installed versions.
+
+.for ver in ${_WX_VER_INSTALLED}
+. if ${_WX_VER_FINAL:M${ver}} == ""
+_WX_VER_INSTALLED:= ${_WX_VER_INSTALLED:N${ver}}
+. endif
+.endfor
+
+#
+# Choose final version.
+#
+
+#
+# Check for the following (in order):
+# 1) WITH_WX_VER - User preference.
+# 2) WANT_WX_VER - Port preference.
+# 3) _WX_VER_INSTALLED - Installed versions.
+# 4) _WX_VER_FINAL - Available versions.
+
+
+.for list in _WX_VER_FINAL ${_WX_VERS_LISTS}
+. if defined(${list})
+. for ver in ${${list}}
+. if ${_WX_VER_FINAL:M${ver}} != ""
+_WX_VER= ${ver}
+. endif
+. endfor
+. endif
+.endfor
+
+#
+# Set variables.
+#
+
+.if ${_WX_VER:R} == 3
+_GTKVER= 3
+.else
+_GTKVER= 2
+.endif
+
+WX_CONFIG?= ${LOCALBASE}/bin/wxgtk${_GTKVER}${_WX_UC}-${_WX_VER}-config
+WXRC_CMD?= ${LOCALBASE}/bin/wxrc-gtk${_GTKVER}${_WX_UC}-${_WX_VER}
+WX_VERSION?= ${_WX_VER}
+
+.endif # _WX_Need_Version
+
+#
+# Process components list and add dependencies, variables, etc.
+#
+
+.if defined(_POSTMKINCLUDED)
+
+#
+# Component parsing.
+#
+# The variables used are:
+# _WX_COMP - Component part.
+# _WX_DEP_TYPE - Dependency type part.
+# _WX_COMP_NEW - Component + dependency type.
+# _WX_COMPS_FINAL - Final list of components with dependency types.
+#
+
+# Default components.
+
+WX_COMPS?= wx
+
+# Detect invalid and duplicated components.
+
+_WX_COMPS_FINAL= #
+.for comp in ${WX_COMPS}
+_WX_COMP= ${comp:C/:([[:alpha:]]+)$//}
+. if ${_WX_COMP} == ${comp}
+_WX_DEP_TYPE= ${_WX_DEPTYPE_${comp}_${_WX_VER}}
+. else
+_WX_DEP_TYPE= ${comp:C/.+:([[:alpha:]]+)$/\1/}
+. endif
+_WX_COMP_NEW= ${_WX_COMP}_${_WX_DEP_TYPE}
+. for __WX_COMP in ${_WX_COMP}
+. if ${_WX_COMPS_ALL:M${__WX_COMP}} == ""
+IGNORE?= selected an invalid wxWidgets component: ${__WX_COMP}
+. endif
+. endfor
+. for __WX_DEP_TYPE in ${_WX_DEP_TYPE}
+. if ${_WX_DEP_TYPES_ALL:M${__WX_DEP_TYPE}} == ""
+IGNORE?= selected an invalid wxWidgets dependency type: ${__WX_DEP_TYPE}
+. endif
+. endfor
+. if !defined(_WX_PORT_${_WX_COMP}_${_WX_VER})
+IGNORE?= selected a wxWidgets component (${_WX_COMP}) which is not available for the selected version (${_WX_VER})
+. endif
+. for newcomp in ${_WX_COMP_NEW}
+. if ${_WX_COMPS_FINAL:M${newcomp}} == "" && !defined(IGNORE)
+_WX_COMPS_FINAL+= ${newcomp}
+. endif
+. endfor
+.endfor
+
+# Add dependencies.
+#
+# The variable used are:
+# _WX_COMP - Component part.
+# _WX_DEP_TYPE - Dependency type part.
+
+.for comp in ${_WX_COMPS_FINAL}
+_WX_COMP= ${comp:C/_([[:alpha:]]+)$//}
+_WX_DEP_TYPE= ${comp:C/.+_([[:alpha:]]+)$/\1/}
+# XXX Need a .for loop here so the variable is expanded before the assignment.
+. for comp_part in ${_WX_COMP}
+. if ${_WX_DEP_TYPE} == "lib"
+. if defined(_WX_LIB_${_WX_COMP}_${_WX_VER})
+LIB_DEPENDS+= lib${_WX_LIB_${comp_part}_${_WX_VER}}.so:${_WX_PORT_${comp_part}_${_WX_VER}}
+. else
+BUILD_DEPENDS+= ${_WX_FILE_${comp_part}_${_WX_VER}}:${_WX_PORT_${comp_part}_${_WX_VER}}
+RUN_DEPENDS+= ${_WX_FILE_${comp_part}_${_WX_VER}}:${_WX_PORT_${comp_part}_${_WX_VER}}
+. endif
+. else
+${_WX_DEP_TYPE:tu}_DEPENDS+= ${_WX_FILE_${comp_part}_${_WX_VER}}:${_WX_PORT_${comp_part}_${_WX_VER}}
+. endif
+. endfor
+.endfor
+
+#
+# Set build related variables.
+#
+
+MAKE_ENV+= WX_CONFIG=${WX_CONFIG}
+CONFIGURE_ENV+= WX_CONFIG=${WX_CONFIG}
+
+.if defined(WX_CONF_ARGS)
+. if ${WX_CONF_ARGS:tl} == "absolute"
+CONFIGURE_ARGS+= --with-wx-config=${WX_CONFIG}
+. elif ${WX_CONF_ARGS:tl} == "relative"
+CONFIGURE_ARGS+= --with-wx=${LOCALBASE} \
+ --with-wx-config=${WX_CONFIG:T}
+. else
+IGNORE?= selected an invalid wxWidgets configure argument type: ${WX_CONF_ARGS}
+. endif
+.endif
+
+.endif # _POSTMKINCLUDED
diff --git a/test-ports/Mk/bsd.xorg.mk b/test-ports/Mk/bsd.xorg.mk
new file mode 100644
index 00000000..772dcf2d
--- /dev/null
+++ b/test-ports/Mk/bsd.xorg.mk
@@ -0,0 +1,239 @@
+#-*- tab-width: 4; -*-
+# ex:ts=4
+#
+# bsd.xorg.mk - Support for X.Org ports and dependencies
+#
+# Created by: Florent Thoumie <flz@FreeBSD.org>
+#
+# !!! Here be dragons !!! (yeah, here as well...)
+#
+# $FreeBSD: head/Mk/bsd.xorg.mk 495395 2019-03-11 21:25:57Z zeising $
+#
+
+.if !defined(_POSTMKINCLUDED) && !defined(Xorg_Pre_Include)
+
+Xorg_Include_MAINTAINER= x11@FreeBSD.org
+Xorg_Pre_Include= bsd.xorg.mk
+
+# Some notes:
+#
+# app - Installs applications, no shared libraries.
+# data - Installs only data.
+# doc - no particular notes
+# driver - depends on xorgproto at least
+# font - don't install .pc file
+# lib - various dependencies, install .pc file, needs pathfix
+# proto - install .pc file, needs pathfix, most only needed at build time.
+# xserver - there's only one atm, I guess everything can fit into the port itself
+
+.if defined(XORG_CAT)
+# Default variables, common to all new modular xorg ports.
+.if !defined(USES) || ! ${USES:Mtar*}
+USES+= tar:bzip2
+.endif
+GNU_CONFIGURE= yes
+# for some reason this makes mkfontscale and others fail in the install target
+#INSTALL_TARGET= install-strip
+DIST_SUBDIR= xorg/${XORG_CAT}
+
+MASTER_SITES?= ${MASTER_SITE_XORG}
+MASTER_SITE_SUBDIR?= individual/${XORG_CAT}
+
+# All xorg ports needs pkgconfig to build, but some ports look for pkgconfig and
+# then continues the build.
+USES+= pkgconfig
+
+# All xorg ports needs xorg-macros.
+. if ${PORTNAME} != xorg-macros
+USE_XORG+= xorg-macros
+. endif
+
+. if ${XORG_CAT} == "app"
+# Nothing at the moment
+. endif
+
+. if ${XORG_CAT} == "data"
+# Nothing at the moment.
+. endif
+
+. if ${XORG_CAT} == "driver"
+USE_XORG+= xorg-server xorgproto xi
+CONFIGURE_ENV+= DRIVER_MAN_SUFFIX=4x DRIVER_MAN_DIR='$$(mandir)/man4'
+USES+= libtool
+INSTALL_TARGET= install-strip
+. endif
+
+. if ${XORG_CAT} == "font"
+FONTNAME?= ${PORTNAME:C/.*-//g:S/type/Type/:S/ttf/TTF/:S/speedo/Speedo/}
+CONFIGURE_ARGS+= --with-fontrootdir=${PREFIX}/share/fonts
+CONFIGURE_ENV+= FONTROOTDIR=${PREFIX}/share/fonts
+. if !defined(NOFONT)
+USES+= fonts
+BUILD_DEPENDS+= mkfontscale>=0:x11-fonts/mkfontscale \
+ bdftopcf:x11-fonts/bdftopcf
+PLIST_FILES+= "@comment ${FONTSDIR}/fonts.dir" \
+ "@comment ${FONTSDIR}/fonts.scale"
+. endif
+. endif
+
+. if ${XORG_CAT} == "lib"
+USES+= pathfix libtool
+USE_LDCONFIG= yes
+CONFIGURE_ARGS+=--enable-malloc0returnsnull
+. endif
+
+. if ${XORG_CAT} == "proto"
+USES+= pathfix
+. endif
+
+. if ${XORG_CAT} == "xserver"
+DISTFILES?= xorg-server-${PORTVERSION}.tar.bz2
+WRKSRC= ${WRKDIR}/xorg-server-${PORTVERSION}
+USES+= pathfix
+CONFIGURE_ARGS+= --with-xkb-path=${LOCALBASE}/share/X11/xkb \
+ --with-fontrootdir=${LOCALBASE}/share/fonts
+
+LIB_PC_DEPENDS+= ${LOCALBASE}/libdata/pkgconfig/dri.pc:graphics/mesa-dri
+USE_XORG+= fontutil:build
+. endif
+
+.endif
+
+.endif
+
+.if defined(_POSTMKINCLUDED) && !defined(Xorg_Post_Include)
+
+Xorg_Post_Include= bsd.xorg.mk
+
+# Register all xorg .pc files here.
+# foo_LIB_PC_DEPENDS means it should go to BUILD_DEPENDS *and* RUN_DEPENDS.
+
+XORG_MODULES= dmx \
+ fontenc \
+ fontutil \
+ ice \
+ libfs \
+ oldx \
+ pciaccess \
+ pixman \
+ sm \
+ x11 \
+ xau \
+ xaw \
+ xaw6 \
+ xaw7 \
+ xbitmaps \
+ xcb \
+ xcomposite \
+ xcursor \
+ xdamage \
+ xdmcp \
+ xevie \
+ xext \
+ xfixes \
+ xfont \
+ xfont2 \
+ xfontcache \
+ xft \
+ xi \
+ xinerama \
+ xkbfile \
+ xkbui \
+ xmu \
+ xmuu \
+ xorg-macros \
+ xorg-server \
+ xorgproto \
+ xp \
+ xpm \
+ xprintapputil \
+ xprintutil \
+ xrandr \
+ xrender \
+ xres \
+ xscrnsaver \
+ xshmfence \
+ xt \
+ xtrans \
+ xtrap \
+ xtst \
+ xv \
+ xvmc \
+ xxf86dga \
+ xxf86misc \
+ xxf86vm
+
+dmx_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/dmx.pc:x11/libdmx
+fontenc_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/fontenc.pc:x11-fonts/libfontenc
+fontutil_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/fontutil.pc:x11-fonts/font-util
+ice_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/ice.pc:x11/libICE
+libfs_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/libfs.pc:x11-fonts/libFS
+oldx_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/oldx.pc:x11/liboldX
+pciaccess_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/pciaccess.pc:devel/libpciaccess
+pixman_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/pixman-1.pc:x11/pixman
+sm_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/sm.pc:x11/libSM
+x11_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/x11.pc:x11/libX11
+xau_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xau.pc:x11/libXau
+xaw_LIB_PC_DEPENDS= ${xaw7_LIB_PC_DEPENDS}
+xaw6_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xaw6.pc:x11-toolkits/libXaw
+xaw7_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xaw7.pc:x11-toolkits/libXaw
+xbitmaps_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xbitmaps.pc:x11/xbitmaps
+xcb_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xcb.pc:x11/libxcb
+xcomposite_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xcomposite.pc:x11/libXcomposite
+xcursor_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xcursor.pc:x11/libXcursor
+xdamage_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xdamage.pc:x11/libXdamage
+xdmcp_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xdmcp.pc:x11/libXdmcp
+xevie_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xevie.pc:x11/libXevie
+xext_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xext.pc:x11/libXext
+xfixes_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xfixes.pc:x11/libXfixes
+xfont_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xfont.pc:x11-fonts/libXfont
+xfont2_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xfont2.pc:x11-fonts/libXfont2
+xfontcache_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xfontcache.pc:x11-fonts/libXfontcache
+xft_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xft.pc:x11-fonts/libXft
+xi_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xi.pc:x11/libXi
+xinerama_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xinerama.pc:x11/libXinerama
+xkbfile_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xkbfile.pc:x11/libxkbfile
+xkbui_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xkbui.pc:x11/libxkbui
+xmu_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xmu.pc:x11-toolkits/libXmu
+xmuu_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xmuu.pc:x11-toolkits/libXmu
+xorg-macros_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xorg-macros.pc:devel/xorg-macros
+xorg-server_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xorg-server.pc:x11-servers/xorg-server
+xorgproto_BUILD_DEPENDS= xorgproto>=0:x11/xorgproto
+xp_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xp.pc:x11/libXp
+xpm_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xpm.pc:x11/libXpm
+xprintapputil_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xprintapputil.pc:x11/libXprintAppUtil
+xprintutil_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xprintutil.pc:x11/libXprintUtil
+xrandr_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xrandr.pc:x11/libXrandr
+xrender_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xrender.pc:x11/libXrender
+xres_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xres.pc:x11/libXres
+xscrnsaver_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xscrnsaver.pc:x11/libXScrnSaver
+xt_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xt.pc:x11-toolkits/libXt
+xshmfence_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xshmfence.pc:x11/libxshmfence
+xtrans_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xtrans.pc:x11/xtrans
+xtrap_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xtrap.pc:x11/libXTrap
+xtst_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xtst.pc:x11/libXtst
+xv_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xv.pc:x11/libXv
+xvmc_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xvmc.pc:x11/libXvMC
+xxf86dga_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xxf86dga.pc:x11/libXxf86dga
+xxf86misc_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xxf86misc.pc:x11/libXxf86misc
+xxf86vm_LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xxf86vm.pc:x11/libXxf86vm
+
+.for _module in ${USE_XORG:M*\:both:C/\:.*//g}
+. if ${XORG_MODULES:M${_module}} == ""
+IGNORE= requires unknown xorg module (${_module})
+. endif
+RUN_DEPENDS+= ${${_module}_BUILD_DEPENDS}
+.endfor
+
+.for _module in ${USE_XORG:C/\:.*//g}
+. if ${XORG_MODULES:M${_module}} == ""
+IGNORE= requires unknown xorg module (${_module})
+. endif
+LIB_PC_DEPENDS+= ${${_module}_LIB_PC_DEPENDS}
+BUILD_DEPENDS+= ${${_module}_BUILD_DEPENDS}
+.endfor
+
+RUN_DEPENDS+= ${LIB_PC_DEPENDS}
+BUILD_DEPENDS+= ${LIB_PC_DEPENDS}
+
+.endif
diff --git a/test-ports/Templates/BSD.local.dist b/test-ports/Templates/BSD.local.dist
new file mode 100644
index 00000000..8bbdee42
--- /dev/null
+++ b/test-ports/Templates/BSD.local.dist
@@ -0,0 +1,964 @@
+# $FreeBSD: /tmp/pcvs/ports/Templates/BSD.local.dist,v 1.3 2010-11-12 20:57:14 pav Exp $
+#
+# Please see the file src/etc/mtree/README before making changes to this file.
+#
+
+/set type=dir uname=root gname=wheel mode=0755
+.
+ bin
+ ..
+ etc
+ devd
+ ..
+ libmap.d
+ ..
+ man.d
+ ..
+ newsyslog.conf.d
+ ..
+ pam.d
+ ..
+ rc.d
+ ..
+ rc.conf.d
+ ..
+ ..
+ include
+ X11
+ ..
+ ..
+ info
+ ..
+ lib
+ debug
+ ..
+ X11
+ app-defaults
+ ..
+ ..
+ ..
+ libdata
+ ldconfig
+ ..
+ ldconfig32
+ ..
+ pkgconfig
+ ..
+ ..
+ libexec
+ ..
+ man
+/set uname=man
+ cat1
+ ..
+ cat2
+ ..
+ cat3
+ ..
+ cat4
+ ..
+ cat5
+ ..
+ cat6
+ ..
+ cat7
+ ..
+ cat8
+ ..
+ cat9
+ ..
+ catl
+ ..
+ catn
+ ..
+ de.ISO8859-1 uname=root
+ cat1
+ ..
+ cat2
+ ..
+ cat3
+ ..
+ cat4
+ ..
+ cat5
+ ..
+ cat6
+ ..
+ cat7
+ ..
+ cat8
+ ..
+ cat9
+ ..
+ catl
+ ..
+ catn
+ ..
+/set uname=root
+ man1
+ ..
+ man2
+ ..
+ man3
+ ..
+ man4
+ ..
+ man5
+ ..
+ man6
+ ..
+ man7
+ ..
+ man8
+ ..
+ man9
+ ..
+ manl
+ ..
+ mann
+ ..
+ ..
+ en.ISO8859-1
+/set uname=man
+ cat1
+ ..
+ cat1aout
+ ..
+ cat2
+ ..
+ cat3
+ ..
+ cat4
+ i386
+ ..
+ ..
+ cat5
+ ..
+ cat6
+ ..
+ cat7
+ ..
+ cat8
+ i386
+ ..
+ ..
+ cat9
+ i386
+ ..
+ ..
+ catn
+ ..
+ ..
+ ja uname=root
+ cat1
+ ..
+ cat2
+ ..
+ cat3
+ ..
+ cat4
+ ..
+ cat5
+ ..
+ cat6
+ ..
+ cat7
+ ..
+ cat8
+ ..
+ cat9
+ ..
+ catl
+ ..
+ catn
+ ..
+/set uname=root
+ man1
+ ..
+ man2
+ ..
+ man3
+ ..
+ man4
+ ..
+ man5
+ ..
+ man6
+ ..
+ man7
+ ..
+ man8
+ ..
+ man9
+ ..
+ manl
+ ..
+ mann
+ ..
+ ..
+ man1
+ ..
+ man2
+ ..
+ man3
+ ..
+ man4
+ ..
+ man5
+ ..
+ man6
+ ..
+ man7
+ ..
+ man8
+ ..
+ man9
+ ..
+ manl
+ ..
+ mann
+ ..
+ ru.KOI8-R
+/set uname=man
+ cat1
+ ..
+ cat2
+ ..
+ cat3
+ ..
+ cat4
+ ..
+ cat5
+ ..
+ cat6
+ ..
+ cat7
+ ..
+ cat8
+ ..
+ cat9
+ ..
+ catl
+ ..
+ catn
+ ..
+/set uname=root
+ man1
+ ..
+ man2
+ ..
+ man3
+ ..
+ man4
+ ..
+ man5
+ ..
+ man6
+ ..
+ man7
+ ..
+ man8
+ ..
+ man9
+ ..
+ manl
+ ..
+ mann
+ ..
+ ..
+ ..
+ sbin
+ ..
+ share
+ aclocal
+ ..
+ applications
+ ..
+ dict
+ ..
+ doc
+ ja
+ ..
+ ..
+ emacs
+ site-lisp
+ ..
+ ..
+ examples
+ ..
+ java
+ classes
+ ..
+ ..
+ locale
+ af
+ LC_MESSAGES
+ ..
+ ..
+ am
+ LC_MESSAGES
+ ..
+ ..
+ ar
+ LC_MESSAGES
+ ..
+ ..
+ az
+ LC_MESSAGES
+ ..
+ ..
+ be
+ LC_MESSAGES
+ ..
+ ..
+ bg
+ LC_MESSAGES
+ ..
+ ..
+ bn
+ LC_MESSAGES
+ ..
+ ..
+ br
+ LC_MESSAGES
+ ..
+ ..
+ bs
+ LC_MESSAGES
+ ..
+ ..
+ ca
+ LC_MESSAGES
+ ..
+ ..
+ cs
+ LC_MESSAGES
+ ..
+ ..
+ cy
+ LC_MESSAGES
+ ..
+ ..
+ da
+ LC_MESSAGES
+ ..
+ ..
+ de
+ LC_MESSAGES
+ ..
+ ..
+ de_AT
+ LC_MESSAGES
+ ..
+ ..
+ dk
+ LC_MESSAGES
+ ..
+ ..
+ ee
+ LC_MESSAGES
+ ..
+ ..
+ el
+ LC_MESSAGES
+ ..
+ ..
+ en
+ LC_MESSAGES
+ ..
+ ..
+ en_AU
+ LC_MESSAGES
+ ..
+ ..
+ en_CA
+ LC_MESSAGES
+ ..
+ ..
+ en_GB
+ LC_MESSAGES
+ ..
+ ..
+ eo
+ LC_MESSAGES
+ ..
+ ..
+ es
+ LC_MESSAGES
+ ..
+ ..
+ es_ES
+ LC_MESSAGES
+ ..
+ ..
+ es_MX
+ LC_MESSAGES
+ ..
+ ..
+ et
+ LC_MESSAGES
+ ..
+ ..
+ eu
+ LC_MESSAGES
+ ..
+ ..
+ fa
+ LC_MESSAGES
+ ..
+ ..
+ fa_IR
+ LC_MESSAGES
+ ..
+ ..
+ fi
+ LC_MESSAGES
+ ..
+ ..
+ fr
+ LC_MESSAGES
+ ..
+ ..
+ fr_FR
+ LC_MESSAGES
+ ..
+ ..
+ ga
+ LC_MESSAGES
+ ..
+ ..
+ gl
+ LC_MESSAGES
+ ..
+ ..
+ gu
+ LC_MESSAGES
+ ..
+ ..
+ he
+ LC_MESSAGES
+ ..
+ ..
+ hi
+ LC_MESSAGES
+ ..
+ ..
+ hr
+ LC_MESSAGES
+ ..
+ ..
+ hu
+ LC_MESSAGES
+ ..
+ ..
+ id
+ LC_MESSAGES
+ ..
+ ..
+ is
+ LC_MESSAGES
+ ..
+ ..
+ it
+ LC_MESSAGES
+ ..
+ ..
+ ja
+ LC_MESSAGES
+ ..
+ ..
+ ka
+ LC_MESSAGES
+ ..
+ ..
+ kn
+ LC_MESSAGES
+ ..
+ ..
+ ko
+ LC_MESSAGES
+ ..
+ ..
+ li
+ LC_MESSAGES
+ ..
+ ..
+ lt
+ LC_MESSAGES
+ ..
+ ..
+ lv
+ LC_MESSAGES
+ ..
+ ..
+ mk
+ LC_MESSAGES
+ ..
+ ..
+ ml
+ LC_MESSAGES
+ ..
+ ..
+ mn
+ LC_MESSAGES
+ ..
+ ..
+ ms
+ LC_MESSAGES
+ ..
+ ..
+ mt
+ LC_MESSAGES
+ ..
+ ..
+ nb
+ LC_MESSAGES
+ ..
+ ..
+ ne
+ LC_MESSAGES
+ ..
+ ..
+ nl
+ LC_MESSAGES
+ ..
+ ..
+ nn
+ LC_MESSAGES
+ ..
+ ..
+ no
+ LC_MESSAGES
+ ..
+ ..
+ or
+ LC_MESSAGES
+ ..
+ ..
+ pa
+ LC_MESSAGES
+ ..
+ ..
+ pl
+ LC_MESSAGES
+ ..
+ ..
+ pt
+ LC_MESSAGES
+ ..
+ ..
+ pt_BR
+ LC_MESSAGES
+ ..
+ ..
+ pt_PT
+ LC_MESSAGES
+ ..
+ ..
+ ro
+ LC_MESSAGES
+ ..
+ ..
+ ru
+ LC_MESSAGES
+ ..
+ ..
+ sk
+ LC_MESSAGES
+ ..
+ ..
+ sl
+ LC_MESSAGES
+ ..
+ ..
+ sq
+ LC_MESSAGES
+ ..
+ ..
+ sr
+ LC_MESSAGES
+ ..
+ ..
+ sr@Latn
+ LC_MESSAGES
+ ..
+ ..
+ sv
+ LC_MESSAGES
+ ..
+ ..
+ ta
+ LC_MESSAGES
+ ..
+ ..
+ tg
+ LC_MESSAGES
+ ..
+ ..
+ th
+ LC_MESSAGES
+ ..
+ ..
+ tk
+ LC_MESSAGES
+ ..
+ ..
+ tr
+ LC_MESSAGES
+ ..
+ ..
+ uk
+ LC_MESSAGES
+ ..
+ ..
+ uz
+ LC_MESSAGES
+ ..
+ ..
+ vi
+ LC_MESSAGES
+ ..
+ ..
+ wa
+ LC_MESSAGES
+ ..
+ ..
+ zh
+ LC_MESSAGES
+ ..
+ ..
+ zh_CN
+ LC_MESSAGES
+ ..
+ ..
+ zh_CN.GB2312
+ LC_MESSAGES
+ ..
+ ..
+ zh_TW
+ LC_MESSAGES
+ ..
+ ..
+ zh_TW.Big5
+ LC_MESSAGES
+ ..
+ ..
+ ..
+ misc
+ ..
+ nls
+ C
+ ..
+ af_ZA.ISO8859-1
+ ..
+ af_ZA.ISO8859-15
+ ..
+ af_ZA.UTF-8
+ ..
+ am_ET.UTF-8
+ ..
+ be_BY.CP1131
+ ..
+ be_BY.CP1251
+ ..
+ be_BY.ISO8859-5
+ ..
+ be_BY.UTF-8
+ ..
+ bg_BG.CP1251
+ ..
+ bg_BG.UTF-8
+ ..
+ ca_ES.ISO8859-1
+ ..
+ ca_ES.ISO8859-15
+ ..
+ ca_ES.UTF-8
+ ..
+ cs_CZ.ISO8859-2
+ ..
+ cs_CZ.UTF-8
+ ..
+ da_DK.ISO8859-1
+ ..
+ da_DK.ISO8859-15
+ ..
+ da_DK.UTF-8
+ ..
+ de_AT.ISO8859-1
+ ..
+ de_AT.ISO8859-15
+ ..
+ de_AT.UTF-8
+ ..
+ de_CH.ISO8859-1
+ ..
+ de_CH.ISO8859-15
+ ..
+ de_CH.UTF-8
+ ..
+ de_DE.ISO8859-1
+ ..
+ de_DE.ISO8859-15
+ ..
+ de_DE.UTF-8
+ ..
+ el_GR.ISO8859-7
+ ..
+ el_GR.UTF-8
+ ..
+ en_AU.ISO8859-1
+ ..
+ en_AU.ISO8859-15
+ ..
+ en_AU.US-ASCII
+ ..
+ en_AU.UTF-8
+ ..
+ en_CA.ISO8859-1
+ ..
+ en_CA.ISO8859-15
+ ..
+ en_CA.US-ASCII
+ ..
+ en_CA.UTF-8
+ ..
+ en_GB.ISO8859-1
+ ..
+ en_GB.ISO8859-15
+ ..
+ en_GB.US-ASCII
+ ..
+ en_GB.UTF-8
+ ..
+ en_IE.UTF-8
+ ..
+ en_NZ.ISO8859-1
+ ..
+ en_NZ.ISO8859-15
+ ..
+ en_NZ.US-ASCII
+ ..
+ en_NZ.UTF-8
+ ..
+ en_US.ISO8859-1
+ ..
+ en_US.ISO8859-15
+ ..
+ en_US.UTF-8
+ ..
+ es_ES.ISO8859-1
+ ..
+ es_ES.ISO8859-15
+ ..
+ es_ES.UTF-8
+ ..
+ et_EE.ISO8859-15
+ ..
+ et_EE.UTF-8
+ ..
+ fi_FI.ISO8859-1
+ ..
+ fi_FI.ISO8859-15
+ ..
+ fi_FI.UTF-8
+ ..
+ fr_BE.ISO8859-1
+ ..
+ fr_BE.ISO8859-15
+ ..
+ fr_BE.UTF-8
+ ..
+ fr_CA.ISO8859-1
+ ..
+ fr_CA.ISO8859-15
+ ..
+ fr_CA.UTF-8
+ ..
+ fr_CH.ISO8859-1
+ ..
+ fr_CH.ISO8859-15
+ ..
+ fr_CH.UTF-8
+ ..
+ fr_FR.ISO8859-1
+ ..
+ fr_FR.ISO8859-15
+ ..
+ fr_FR.UTF-8
+ ..
+ he_IL.UTF-8
+ ..
+ hi_IN.ISCII-DEV
+ ..
+ hr_HR.ISO8859-2
+ ..
+ hr_HR.UTF-8
+ ..
+ hu_HU.ISO8859-2
+ ..
+ hu_HU.UTF-8
+ ..
+ hy_AM.ARMSCII-8
+ ..
+ hy_AM.UTF-8
+ ..
+ is_IS.ISO8859-1
+ ..
+ is_IS.ISO8859-15
+ ..
+ is_IS.UTF-8
+ ..
+ it_CH.ISO8859-1
+ ..
+ it_CH.ISO8859-15
+ ..
+ it_CH.UTF-8
+ ..
+ it_IT.ISO8859-1
+ ..
+ it_IT.ISO8859-15
+ ..
+ it_IT.UTF-8
+ ..
+ ja_JP.SJIS
+ ..
+ ja_JP.UTF-8
+ ..
+ ja_JP.eucJP
+ ..
+ kk_KZ.PT154
+ ..
+ kk_KZ.UTF-8
+ ..
+ ko_KR.CP949
+ ..
+ ko_KR.UTF-8
+ ..
+ ko_KR.eucKR
+ ..
+ la_LN.ISO8859-1
+ ..
+ la_LN.ISO8859-15
+ ..
+ la_LN.ISO8859-2
+ ..
+ la_LN.ISO8859-4
+ ..
+ la_LN.US-ASCII
+ ..
+ lt_LT.ISO8859-13
+ ..
+ lt_LT.ISO8859-4
+ ..
+ lt_LT.UTF-8
+ ..
+ nl_BE.ISO8859-1
+ ..
+ nl_BE.ISO8859-15
+ ..
+ nl_BE.UTF-8
+ ..
+ nl_NL.ISO8859-1
+ ..
+ nl_NL.ISO8859-15
+ ..
+ nl_NL.UTF-8
+ ..
+ no_NO.ISO8859-1
+ ..
+ no_NO.ISO8859-15
+ ..
+ no_NO.UTF-8
+ ..
+ pl_PL.ISO8859-2
+ ..
+ pl_PL.UTF-8
+ ..
+ pt_BR.ISO8859-1
+ ..
+ pt_BR.UTF-8
+ ..
+ pt_PT.ISO8859-1
+ ..
+ pt_PT.ISO8859-15
+ ..
+ pt_PT.UTF-8
+ ..
+ ro_RO.ISO8859-2
+ ..
+ ro_RO.UTF-8
+ ..
+ ru_RU.CP1251
+ ..
+ ru_RU.CP866
+ ..
+ ru_RU.ISO8859-5
+ ..
+ ru_RU.KOI8-R
+ ..
+ ru_RU.UTF-8
+ ..
+ sk_SK.ISO8859-2
+ ..
+ sk_SK.UTF-8
+ ..
+ sl_SI.ISO8859-2
+ ..
+ sl_SI.UTF-8
+ ..
+ sr_YU.ISO8859-2
+ ..
+ sr_YU.ISO8859-5
+ ..
+ sr_YU.UTF-8
+ ..
+ sv_SE.ISO8859-1
+ ..
+ sv_SE.ISO8859-15
+ ..
+ sv_SE.UTF-8
+ ..
+ tr_TR.ISO8859-9
+ ..
+ tr_TR.UTF-8
+ ..
+ uk_UA.ISO8859-5
+ ..
+ uk_UA.KOI8-U
+ ..
+ uk_UA.UTF-8
+ ..
+ zh_CN.GB18030
+ ..
+ zh_CN.GB2312
+ ..
+ zh_CN.GBK
+ ..
+ zh_CN.UTF-8
+ ..
+ zh_CN.eucCN
+ ..
+ zh_HK.Big5HKSCS
+ ..
+ zh_HK.UTF-8
+ ..
+ zh_TW.Big5
+ ..
+ zh_TW.UTF-8
+ ..
+ ..
+ pixmaps
+ ..
+ sgml
+ ..
+ skel
+ ..
+ xml
+ ..
+ ..
+ tests
+ ..
+ www
+ ..
+..
diff --git a/test-ports/Templates/Licenses/APACHE20 b/test-ports/Templates/Licenses/APACHE20
new file mode 100644
index 00000000..d9a10c0d
--- /dev/null
+++ b/test-ports/Templates/Licenses/APACHE20
@@ -0,0 +1,176 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
diff --git a/test-ports/Templates/Licenses/ART10 b/test-ports/Templates/Licenses/ART10
new file mode 100644
index 00000000..ff7f1609
--- /dev/null
+++ b/test-ports/Templates/Licenses/ART10
@@ -0,0 +1,122 @@
+Artistic License 1.0
+
+Preamble
+
+The intent of this document is to state the conditions under which a
+Package may be copied, such that the Copyright Holder maintains some
+semblance of artistic control over the development of the package, while
+giving the users of the package the right to use and distribute the Package
+in a more-or-less customary fashion, plus the right to make reasonable
+modifications. Definitions:
+
+"Package" refers to the collection of files distributed by the Copyright
+Holder, and derivatives of that collection of files created through textual
+modification.
+
+"Standard Version" refers to such a Package if it has not been modified, or
+has been modified in accordance with the wishes of the Copyright Holder as
+specified below.
+
+"Copyright Holder" is whoever is named in the copyright or copyrights for
+the package.
+
+"You" is you, if you're thinking about copying or distributing this
+Package.
+
+"Reasonable copying fee" is whatever you can justify on the basis of media
+cost, duplication charges, time of people involved, and so on. (You will
+not be required to justify it to the Copyright Holder, but only to the
+computing community at large as a market that must bear the fee.)
+
+"Freely Available" means that no fee is charged for the item itself, though
+there may be fees involved in handling the item. It also means that
+recipients of the item may redistribute it under the same conditions they
+received it.
+
+1. You may make and give away verbatim copies of the source form of the
+Standard Version of this Package without restriction, provided that you
+duplicate all of the original copyright notices and associated disclaimers.
+
+2. You may apply bug fixes, portability fixes and other modifications
+derived from the Public Domain or from the Copyright Holder. A Package
+modified in such a way shall still be considered the Standard Version.
+
+3. You may otherwise modify your copy of this Package in any way, provided
+that you insert a prominent notice in each changed file stating how and
+when you changed that file, and provided that you do at least ONE of the
+following:
+
+a) place your modifications in the Public Domain or otherwise make them
+Freely Available, such as by posting said modifications to Usenet or an
+equivalent medium, or placing the modifications on a major archive site
+such as uunet.uu.net, or by allowing the Copyright Holder to include your
+modifications in the Standard Version of the Package.
+
+b) use the modified Package only within your corporation or organization.
+
+c) rename any non-standard executables so the names do not conflict with
+standard executables, which must also be provided, and provide a separate
+manual page for each non-standard executable that clearly documents how it
+differs from the Standard Version.
+
+d) make other distribution arrangements with the Copyright Holder.
+
+4.You may distribute the programs of this Package in object code or
+executable form, provided that you do at least ONE of the following:
+
+a) distribute a Standard Version of the executables and library files,
+together with instructions (in the manual page or equivalent) on where to
+get the Standard Version.
+
+b) accompany the distribution with the machine-readable source of the
+Package with your modifications.
+
+c) give non-standard executables non-standard names, and clearly document
+the differences in manual pages (or equivalent), together with instructions
+on where to get the Standard Version.
+
+d) make other distribution arrangements with the Copyright Holder.
+
+5. You may charge a reasonable copying fee for any distribution of this
+Package. You may charge any fee you choose for support of this Package. You
+may not charge a fee for this Package itself. However, you may distribute
+this Package in aggregate with other (possibly commercial) programs as part
+of a larger (possibly commercial) software distribution provided that you
+do not advertise this Package as a product of your own. You may embed this
+Package's interpreter within an executable of yours (by linking); this
+shall be construed as a mere form of aggregation, provided that the
+complete Standard Version of the interpreter is so embedded.
+
+6. The scripts and library files supplied as input to or produced as output
+from the programs of this Package do not automatically fall under the
+copyright of this Package, but belong to whoever generated them, and may be
+sold commercially, and may be aggregated with this Package. If such scripts
+or library files are aggregated with this Package via the so-called
+"undump" or "unexec" methods of producing a binary executable image, then
+distribution of such an image shall neither be construed as a distribution
+of this Package nor shall it fall under the restrictions of Paragraphs 3
+and 4, provided that you do not represent such an executable image as a
+Standard Version of this Package.
+
+7. C subroutines (or comparably compiled subroutines in other languages)
+supplied by you and linked into this Package in order to emulate
+subroutines and variables of the language defined by this Package shall not
+be considered part of this Package, but are the equivalent of input as in
+Paragraph 6, provided these subroutines do not change the language in any
+way that would cause it to fail the regression tests for the language.
+
+8. Aggregation of this Package with a commercial distribution is always
+permitted provided that the use of this Package is embedded; that is, when
+no overt attempt is made to make this Package's interfaces visible to the
+end user of the commercial distribution. Such use shall not be construed as
+a distribution of this Package.
+
+9. The name of the Copyright Holder may not be used to endorse or promote
+products derived from this software without specific prior written
+permission.
+
+10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
+WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
+MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+The End
diff --git a/test-ports/Templates/Licenses/ART20 b/test-ports/Templates/Licenses/ART20
new file mode 100644
index 00000000..b2caf12b
--- /dev/null
+++ b/test-ports/Templates/Licenses/ART20
@@ -0,0 +1,181 @@
+Artistic License 2.0
+Copyright (c) 2000-2006, The Perl Foundation.
+
+Everyone is permitted to copy and distribute verbatim copies of this
+license document, but changing it is not allowed.
+
+Preamble
+
+This license establishes the terms under which a given free software
+Package may be copied, modified, distributed, and/or redistributed. The
+intent is that the Copyright Holder maintains some artistic control over
+the development of that Package while still keeping the Package available
+as open source and free software.
+
+You are always permitted to make arrangements wholly outside of this
+license directly with the Copyright Holder of a given Package. If the terms
+of this license do not permit the full use that you propose to make of the
+Package, you should contact the Copyright Holder and seek a different
+licensing arrangement.
+
+Definitions
+
+"Copyright Holder" means the individual(s) or organization(s) named in the
+copyright notice for the entire Package.
+
+"Contributor" means any party that has contributed code or other material
+to the Package, in accordance with the Copyright Holder's procedures.
+
+"You" and "your" means any person who would like to copy, distribute, or
+modify the Package.
+
+"Package" means the collection of files distributed by the Copyright
+Holder, and derivatives of that collection and/or of those files. A given
+Package may consist of either the Standard Version, or a Modified Version.
+
+"Distribute" means providing a copy of the Package or making it accessible
+to anyone else, or in the case of a company or organization, to others
+outside of your company or organization.
+
+"Distributor Fee" means any fee that you charge for Distributing this
+Package or providing support for this Package to another party. It does not
+mean licensing fees.
+
+"Standard Version" refers to the Package if it has not been modified, or
+has been modified only in ways explicitly requested by the Copyright
+Holder.
+
+"Modified Version" means the Package, if it has been changed, and such
+changes were not explicitly requested by the Copyright Holder.
+
+"Original License" means this Artistic License as Distributed with the
+Standard Version of the Package, in its current version or as it may be
+modified by The Perl Foundation in the future.
+
+"Source" form means the source code, documentation source, and
+configuration files for the Package.
+
+"Compiled" form means the compiled bytecode, object code, binary, or any
+other form resulting from mechanical transformation or translation of the
+Source form.
+
+Permission for Use and Modification Without Distribution
+
+(1) You are permitted to use the Standard Version and create and use
+Modified Versions for any purpose without restriction, provided that you do
+not Distribute the Modified Version.
+
+Permissions for Redistribution of the Standard Version
+
+(2) You may Distribute verbatim copies of the Source form of the Standard
+Version of this Package in any medium without restriction, either gratis or
+for a Distributor Fee, provided that you duplicate all of the original
+copyright notices and associated disclaimers. At your discretion, such
+verbatim copies may or may not include a Compiled form of the Package.
+
+(3) You may apply any bug fixes, portability changes, and other
+modifications made available from the Copyright Holder. The resulting
+Package will still be considered the Standard Version, and as such will be
+subject to the Original License.
+
+Distribution of Modified Versions of the Package as Source
+
+(4) You may Distribute your Modified Version as Source (either gratis or
+for a Distributor Fee, and with or without a Compiled form of the Modified
+Version) provided that you clearly document how it differs from the
+Standard Version, including, but not limited to, documenting any
+non-standard features, executables, or modules, and provided that you do at
+least ONE of the following:
+
+(a) make the Modified Version available to the Copyright Holder of the
+Standard Version, under the Original License, so that the Copyright Holder
+may include your modifications in the Standard Version.
+
+(b) ensure that installation of your Modified Version does not prevent the
+user installing or running the Standard Version. In addition, the Modified
+Version must bear a name that is different from the name of the Standard
+Version.
+
+(c) allow anyone who receives a copy of the Modified Version to make the
+Source form of the Modified Version available to others under
+
+(i) the Original License or
+
+(ii) a license that permits the licensee to freely copy, modify and
+redistribute the Modified Version using the same licensing terms that apply
+to the copy that the licensee received, and requires that the Source form
+of the Modified Version, and of any works derived from it, be made freely
+available in that license fees are prohibited but Distributor Fees are
+allowed.
+
+Distribution of Compiled Forms of the Standard Version or Modified Versions
+without the Source
+
+(5) You may Distribute Compiled forms of the Standard Version without the
+Source, provided that you include complete instructions on how to get the
+Source of the Standard Version. Such instructions must be valid at the time
+of your distribution. If these instructions, at any time while you are
+carrying out such distribution, become invalid, you must provide new
+instructions on demand or cease further distribution. If you provide valid
+instructions or cease distribution within thirty days after you become
+aware that the instructions are invalid, then you do not forfeit any of
+your rights under this license.
+
+(6) You may Distribute a Modified Version in Compiled form without the
+Source, provided that you comply with Section 4 with respect to the Source
+of the Modified Version.
+
+Aggregating or Linking the Package
+
+(7) You may aggregate the Package (either the Standard Version or Modified
+Version) with other packages and Distribute the resulting aggregation
+provided that you do not charge a licensing fee for the Package.
+Distributor Fees are permitted, and licensing fees for other components in
+the aggregation are permitted. The terms of this license apply to the use
+and Distribution of the Standard or Modified Versions as included in the
+aggregation.
+
+(8) You are permitted to link Modified and Standard Versions with other
+works, to embed the Package in a larger work of your own, or to build
+stand-alone binary or bytecode versions of applications that include the
+Package, and Distribute the result without restriction, provided the result
+does not expose a direct interface to the Package.
+
+Items That are Not Considered Part of a Modified Version
+
+(9) Works (including, but not limited to, modules and scripts) that merely
+extend or make use of the Package, do not, by themselves, cause the Package
+to be a Modified Version. In addition, such works are not considered parts
+of the Package itself, and are not subject to the terms of this license.
+
+General Provisions
+
+(10) Any use, modification, and distribution of the Standard or Modified
+Versions is governed by this Artistic License. By using, modifying or
+distributing the Package, you accept this license. Do not use, modify, or
+distribute the Package, if you do not accept this license.
+
+(11) If your Modified Version has been derived from a Modified Version made
+by someone other than you, you are nevertheless required to ensure that
+your Modified Version complies with the requirements of this license.
+
+(12) This license does not grant you the right to use any trademark,
+service mark, tradename, or logo of the Copyright Holder.
+
+(13) This license includes the non-exclusive, worldwide, free-of-charge
+patent license to make, have made, use, offer to sell, sell, import and
+otherwise transfer the Package with respect to any patent claims licensable
+by the Copyright Holder that are necessarily infringed by the Package. If
+you institute patent litigation (including a cross-claim or counterclaim)
+against any party alleging that the Package constitutes direct or
+contributory patent infringement, then this Artistic License to you shall
+terminate on the date that such litigation is filed.
+
+(14) Disclaimer of Warranty: THE PACKAGE IS PROVIDED BY THE COPYRIGHT
+HOLDER AND CONTRIBUTORS "AS IS' AND WITHOUT ANY EXPRESS OR IMPLIED
+WARRANTIES. THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE, OR NON-INFRINGEMENT ARE DISCLAIMED TO THE EXTENT
+PERMITTED BY YOUR LOCAL LAW. UNLESS REQUIRED BY LAW, NO COPYRIGHT HOLDER OR
+CONTRIBUTOR WILL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, OR
+CONSEQUENTIAL DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THE PACKAGE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/test-ports/Templates/Licenses/GMGPL b/test-ports/Templates/Licenses/GMGPL
new file mode 100644
index 00000000..86be4f2f
--- /dev/null
+++ b/test-ports/Templates/Licenses/GMGPL
@@ -0,0 +1,6 @@
+As a special exception, if other files instantiate generics from
+this unit, or you link this unit with other files to produce an
+executable, this unit does not by itself cause the resulting
+executable to be covered by the GNU General Public License. This
+exception does not however invalidate any other reasons why the
+executable file might be covered by the GNU Public License.
diff --git a/test-ports/Templates/Licenses/GPLv1 b/test-ports/Templates/Licenses/GPLv1
new file mode 100644
index 00000000..6bba0f84
--- /dev/null
+++ b/test-ports/Templates/Licenses/GPLv1
@@ -0,0 +1,251 @@
+
+ GNU GENERAL PUBLIC LICENSE
+ Version 1, February 1989
+
+ Copyright (C) 1989 Free Software Foundation, Inc.
+ 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The license agreements of most software companies try to keep users
+at the mercy of those companies. By contrast, our General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. The
+General Public License applies to the Free Software Foundation's
+software and to any other program whose authors commit to using it.
+You can use it for your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Specifically, the General Public License is designed to make
+sure that you have the freedom to give away or sell copies of free
+software, that you receive source code or can get it if you want it,
+that you can change the software or use pieces of it in new free
+programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of a such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must tell them their rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any program or other work which
+contains a notice placed by the copyright holder saying it may be
+distributed under the terms of this General Public License. The
+"Program", below, refers to any such program or work, and a "work based
+on the Program" means either the Program or any work containing the
+Program or a portion of it, either verbatim or with modifications. Each
+licensee is addressed as "you".
+
+ 1. You may copy and distribute verbatim copies of the Program's source
+code as you receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice and
+disclaimer of warranty; keep intact all the notices that refer to this
+General Public License and to the absence of any warranty; and give any
+other recipients of the Program a copy of this General Public License
+along with the Program. You may charge a fee for the physical act of
+transferring a copy.
+
+ 2. You may modify your copy or copies of the Program or any portion of
+it, and copy and distribute such modifications under the terms of Paragraph
+1 above, provided that you also do the following:
+
+ a) cause the modified files to carry prominent notices stating that
+ you changed the files and the date of any change; and
+
+ b) cause the whole of any work that you distribute or publish, that
+ in whole or in part contains the Program or any part thereof, either
+ with or without modifications, to be licensed at no charge to all
+ third parties under the terms of this General Public License (except
+ that you may choose to grant warranty protection to some or all
+ third parties, at your option).
+
+ c) If the modified program normally reads commands interactively when
+ run, you must cause it, when started running for such interactive use
+ in the simplest and most usual way, to print or display an
+ announcement including an appropriate copyright notice and a notice
+ that there is no warranty (or else, saying that you provide a
+ warranty) and that users may redistribute the program under these
+ conditions, and telling the user how to view a copy of this General
+ Public License.
+
+ d) You may charge a fee for the physical act of transferring a
+ copy, and you may at your option offer warranty protection in
+ exchange for a fee.
+
+Mere aggregation of another independent work with the Program (or its
+derivative) on a volume of a storage or distribution medium does not bring
+the other work under the scope of these terms.
+
+ 3. You may copy and distribute the Program (or a portion or derivative of
+it, under Paragraph 2) in object code or executable form under the terms of
+Paragraphs 1 and 2 above provided that you also do one of the following:
+
+ a) accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of
+ Paragraphs 1 and 2 above; or,
+
+ b) accompany it with a written offer, valid for at least three
+ years, to give any third party free (except for a nominal charge
+ for the cost of distribution) a complete machine-readable copy of the
+ corresponding source code, to be distributed under the terms of
+ Paragraphs 1 and 2 above; or,
+
+ c) accompany it with the information you received as to where the
+ corresponding source code may be obtained. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form alone.)
+
+Source code for a work means the preferred form of the work for making
+modifications to it. For an executable file, complete source code means
+all the source code for all modules it contains; but, as a special
+exception, it need not include source code for modules which are standard
+libraries that accompany the operating system on which the executable
+file runs, or for standard header files or definitions files that
+accompany that operating system.
+
+ 4. You may not copy, modify, sublicense, distribute or transfer the
+Program except as expressly provided under this General Public License.
+Any attempt otherwise to copy, modify, sublicense, distribute or transfer
+the Program is void, and will automatically terminate your rights to use
+the Program under this License. However, parties who have received
+copies, or rights to use copies, from you under this General Public
+License will not have their licenses terminated so long as such parties
+remain in full compliance.
+
+ 5. By copying, distributing or modifying the Program (or any work based
+on the Program) you indicate your acceptance of this license to do so,
+and all its terms and conditions.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the original
+licensor to copy, distribute or modify the Program subject to these
+terms and conditions. You may not impose any further restrictions on the
+recipients' exercise of the rights granted herein.
+
+ 7. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of the license which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+the license, you may choose any version ever published by the Free Software
+Foundation.
+
+ 8. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 10. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ Appendix: How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to humanity, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these
+terms.
+
+ To do so, attach the following notices to the program. It is safest to
+attach them to the start of each source file to most effectively convey
+the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) 19yy <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 1, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) 19xx name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the
+appropriate parts of the General Public License. Of course, the
+commands you use may be called something other than `show w' and `show
+c'; they could even be mouse-clicks or menu items--whatever suits your
+program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ program `Gnomovision' (a program to direct compilers to make passes
+ at assemblers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+That's all there is to it!
diff --git a/test-ports/Templates/Licenses/GPLv2 b/test-ports/Templates/Licenses/GPLv2
new file mode 100644
index 00000000..d159169d
--- /dev/null
+++ b/test-ports/Templates/Licenses/GPLv2
@@ -0,0 +1,339 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
diff --git a/test-ports/Templates/Licenses/GPLv3 b/test-ports/Templates/Licenses/GPLv3
new file mode 100644
index 00000000..94a9ed02
--- /dev/null
+++ b/test-ports/Templates/Licenses/GPLv3
@@ -0,0 +1,674 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ <program> Copyright (C) <year> <name of author>
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/test-ports/Templates/Licenses/GPLv3RLE b/test-ports/Templates/Licenses/GPLv3RLE
new file mode 100644
index 00000000..e1b3c69c
--- /dev/null
+++ b/test-ports/Templates/Licenses/GPLv3RLE
@@ -0,0 +1,73 @@
+GCC RUNTIME LIBRARY EXCEPTION
+
+Version 3.1, 31 March 2009
+
+Copyright (C) 2009 Free Software Foundation, Inc. <http://fsf.org/>
+
+Everyone is permitted to copy and distribute verbatim copies of this
+license document, but changing it is not allowed.
+
+This GCC Runtime Library Exception ("Exception") is an additional
+permission under section 7 of the GNU General Public License, version
+3 ("GPLv3"). It applies to a given file (the "Runtime Library") that
+bears a notice placed by the copyright holder of the file stating that
+the file is governed by GPLv3 along with this Exception.
+
+When you use GCC to compile a program, GCC may combine portions of
+certain GCC header files and runtime libraries with the compiled
+program. The purpose of this Exception is to allow compilation of
+non-GPL (including proprietary) programs to use, in this way, the
+header files and runtime libraries covered by this Exception.
+
+0. Definitions.
+
+A file is an "Independent Module" if it either requires the Runtime
+Library for execution after a Compilation Process, or makes use of an
+interface provided by the Runtime Library, but is not otherwise based
+on the Runtime Library.
+
+"GCC" means a version of the GNU Compiler Collection, with or without
+modifications, governed by version 3 (or a specified later version) of
+the GNU General Public License (GPL) with the option of using any
+subsequent versions published by the FSF.
+
+"GPL-compatible Software" is software whose conditions of propagation,
+modification and use would permit combination with GCC in accord with
+the license of GCC.
+
+"Target Code" refers to output from any compiler for a real or virtual
+target processor architecture, in executable form or suitable for
+input to an assembler, loader, linker and/or execution
+phase. Notwithstanding that, Target Code does not include data in any
+format that is used as a compiler intermediate representation, or used
+for producing a compiler intermediate representation.
+
+The "Compilation Process" transforms code entirely represented in
+non-intermediate languages designed for human-written code, and/or in
+Java Virtual Machine byte code, into Target Code. Thus, for example,
+use of source code generators and preprocessors need not be considered
+part of the Compilation Process, since the Compilation Process can be
+understood as starting with the output of the generators or
+preprocessors.
+
+A Compilation Process is "Eligible" if it is done using GCC, alone or
+with other GPL-compatible software, or if it is done without using any
+work based on GCC. For example, using non-GPL-compatible Software to
+optimize any GCC intermediate representations would not qualify as an
+Eligible Compilation Process.
+
+1. Grant of Additional Permission.
+
+You have permission to propagate a work of Target Code formed by
+combining the Runtime Library with Independent Modules, even if such
+propagation would otherwise violate the terms of GPLv3, provided that
+all Target Code was generated by Eligible Compilation Processes. You
+may then convey such a combination under terms of your choice,
+consistent with the licensing of the Independent Modules.
+
+2. No Weakening of GCC Copyleft.
+
+The availability of this Exception does not imply any general
+presumption that third-party software is unaffected by the copyleft
+requirements of the license of GCC.
+
diff --git a/test-ports/Templates/Licenses/LGPL20 b/test-ports/Templates/Licenses/LGPL20
new file mode 100644
index 00000000..5bc8fb2c
--- /dev/null
+++ b/test-ports/Templates/Licenses/LGPL20
@@ -0,0 +1,481 @@
+ GNU LIBRARY GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1991 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the library GPL. It is
+ numbered 2 because it goes with version 2 of the ordinary GPL.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Library General Public License, applies to some
+specially designated Free Software Foundation software, and to any
+other libraries whose authors decide to use it. You can use it for
+your libraries, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if
+you distribute copies of the library, or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link a program with the library, you must provide
+complete object files to the recipients so that they can relink them
+with the library, after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ Our method of protecting your rights has two steps: (1) copyright
+the library, and (2) offer you this license which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ Also, for each distributor's protection, we want to make certain
+that everyone understands that there is no warranty for this free
+library. If the library is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original
+version, so that any problems introduced by others will not reflect on
+the original authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that companies distributing free
+software will individually obtain patent licenses, thus in effect
+transforming the program into proprietary software. To prevent this,
+we have made it clear that any patent must be licensed for everyone's
+free use or not licensed at all.
+
+ Most GNU software, including some libraries, is covered by the ordinary
+GNU General Public License, which was designed for utility programs. This
+license, the GNU Library General Public License, applies to certain
+designated libraries. This license is quite different from the ordinary
+one; be sure to read it in full, and don't assume that anything in it is
+the same as in the ordinary license.
+
+ The reason we have a separate public license for some libraries is that
+they blur the distinction we usually make between modifying or adding to a
+program and simply using it. Linking a program with a library, without
+changing the library, is in some sense simply using the library, and is
+analogous to running a utility program or application program. However, in
+a textual and legal sense, the linked executable is a combined work, a
+derivative of the original library, and the ordinary General Public License
+treats it as such.
+
+ Because of this blurred distinction, using the ordinary General
+Public License for libraries did not effectively promote software
+sharing, because most developers did not use the libraries. We
+concluded that weaker conditions might promote sharing better.
+
+ However, unrestricted linking of non-free programs would deprive the
+users of those programs of all benefit from the free status of the
+libraries themselves. This Library General Public License is intended to
+permit developers of non-free programs to use free libraries, while
+preserving your freedom as a user of such programs to change the free
+libraries that are incorporated in them. (We have not seen how to achieve
+this as regards changes in header files, but we have achieved it as regards
+changes in the actual functions of the Library.) The hope is that this
+will lead to faster development of free libraries.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, while the latter only
+works together with the library.
+
+ Note that it is possible for a library to be covered by the ordinary
+General Public License rather than by this special one.
+
+ GNU LIBRARY GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library which
+contains a notice placed by the copyright holder or other authorized
+party saying it may be distributed under the terms of this Library
+General Public License (also called "this License"). Each licensee is
+addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also compile or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ c) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ d) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the source code distributed need not include anything that is normally
+distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Library General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the library's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+ <signature of Ty Coon>, 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
diff --git a/test-ports/Templates/Licenses/LGPL21 b/test-ports/Templates/Licenses/LGPL21
new file mode 100644
index 00000000..4362b491
--- /dev/null
+++ b/test-ports/Templates/Licenses/LGPL21
@@ -0,0 +1,502 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it. You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+ When we speak of free software, we are referring to freedom of use,
+not price. Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+ To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights. These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ To protect each distributor, we want to make it very clear that
+there is no warranty for the free library. Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+ Finally, software patents pose a constant threat to the existence of
+any free program. We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder. Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+ Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License. This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License. We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+ When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library. The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom. The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+ We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License. It also provides other free software developers Less
+of an advantage over competing non-free programs. These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries. However, the Lesser license provides advantages in certain
+special circumstances.
+
+ For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard. To achieve this, non-free programs must be
+allowed to use the library. A more frequent case is that a free
+library does the same job as widely used non-free libraries. In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+ In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software. For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+ Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (1) uses at run time a
+ copy of the library already present on the user's computer system,
+ rather than copying library functions into the executable, and (2)
+ will operate properly with a modified version of the library, if
+ the user installs one, as long as the modified version is
+ interface-compatible with the version that the work was made with.
+
+ c) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ d) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ e) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the library's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+ <signature of Ty Coon>, 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
diff --git a/test-ports/Templates/Licenses/LGPL3 b/test-ports/Templates/Licenses/LGPL3
new file mode 100644
index 00000000..65c5ca88
--- /dev/null
+++ b/test-ports/Templates/Licenses/LGPL3
@@ -0,0 +1,165 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+ This version of the GNU Lesser General Public License incorporates
+the terms and conditions of version 3 of the GNU General Public
+License, supplemented by the additional permissions listed below.
+
+ 0. Additional Definitions.
+
+ As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the GNU
+General Public License.
+
+ "The Library" refers to a covered work governed by this License,
+other than an Application or a Combined Work as defined below.
+
+ An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+ A "Combined Work" is a work produced by combining or linking an
+Application with the Library. The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+ The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+ The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+ 1. Exception to Section 3 of the GNU GPL.
+
+ You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+ 2. Conveying Modified Versions.
+
+ If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+ a) under this License, provided that you make a good faith effort to
+ ensure that, in the event an Application does not supply the
+ function or data, the facility still operates, and performs
+ whatever part of its purpose remains meaningful, or
+
+ b) under the GNU GPL, with none of the additional permissions of
+ this License applicable to that copy.
+
+ 3. Object Code Incorporating Material from Library Header Files.
+
+ The object code form of an Application may incorporate material from
+a header file that is part of the Library. You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+ a) Give prominent notice with each copy of the object code that the
+ Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the object code with a copy of the GNU GPL and this license
+ document.
+
+ 4. Combined Works.
+
+ You may convey a Combined Work under terms of your choice that,
+taken together, effectively do not restrict modification of the
+portions of the Library contained in the Combined Work and reverse
+engineering for debugging such modifications, if you also do each of
+the following:
+
+ a) Give prominent notice with each copy of the Combined Work that
+ the Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the Combined Work with a copy of the GNU GPL and this license
+ document.
+
+ c) For a Combined Work that displays copyright notices during
+ execution, include the copyright notice for the Library among
+ these notices, as well as a reference directing the user to the
+ copies of the GNU GPL and this license document.
+
+ d) Do one of the following:
+
+ 0) Convey the Minimal Corresponding Source under the terms of this
+ License, and the Corresponding Application Code in a form
+ suitable for, and under terms that permit, the user to
+ recombine or relink the Application with a modified version of
+ the Linked Version to produce a modified Combined Work, in the
+ manner specified by section 6 of the GNU GPL for conveying
+ Corresponding Source.
+
+ 1) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (a) uses at run time
+ a copy of the Library already present on the user's computer
+ system, and (b) will operate properly with a modified version
+ of the Library that is interface-compatible with the Linked
+ Version.
+
+ e) Provide Installation Information, but only if you would otherwise
+ be required to provide such information under section 6 of the
+ GNU GPL, and only to the extent that such information is
+ necessary to install and execute a modified version of the
+ Combined Work produced by recombining or relinking the
+ Application with a modified version of the Linked Version. (If
+ you use option 4d0, the Installation Information must accompany
+ the Minimal Corresponding Source and Corresponding Application
+ Code. If you use option 4d1, you must provide the Installation
+ Information in the manner specified by section 6 of the GNU GPL
+ for conveying Corresponding Source.)
+
+ 5. Combined Libraries.
+
+ You may place library facilities that are a work based on the
+Library side by side in a single library together with other library
+facilities that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+ a) Accompany the combined library with a copy of the same work based
+ on the Library, uncombined with any other library facilities,
+ conveyed under the terms of this License.
+
+ b) Give prominent notice with the combined library that part of it
+ is a work based on the Library, and explaining where to find the
+ accompanying uncombined form of the same work.
+
+ 6. Revised Versions of the GNU Lesser General Public License.
+
+ The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Library as you received it specifies that a certain numbered version
+of the GNU Lesser General Public License "or any later version"
+applies to it, you have the option of following the terms and
+conditions either of that published version or of any later version
+published by the Free Software Foundation. If the Library as you
+received it does not specify a version number of the GNU Lesser
+General Public License, you may choose any version of the GNU Lesser
+General Public License ever published by the Free Software Foundation.
+
+ If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
diff --git a/test-ports/Templates/Licenses/LPPL10 b/test-ports/Templates/Licenses/LPPL10
new file mode 100644
index 00000000..9425aab8
--- /dev/null
+++ b/test-ports/Templates/Licenses/LPPL10
@@ -0,0 +1,211 @@
+LaTeX Project Public License
+============================
+
+LPPL Version 1.0 1999-03-01
+
+Copyright 1999 LaTeX3 Project
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but modification is not allowed.
+
+
+Preamble
+========
+
+The LaTeX Project Public License (LPPL) is the license under which the
+base LaTeX distribution is distributed. As described below you may use
+this licence for any software that you wish to distribute.
+
+It may be particularly suitable if your software is TeX related (such
+as a LaTeX package file) but it may be used for any software, even if
+it is unrelated to TeX.
+
+To use this license, the files of your distribution should have an
+explicit copyright notice giving your name and the year, together
+with a reference to this license.
+
+A typical example would be
+
+ %% pig.sty
+ %% Copyright 2001 M. Y. Name
+
+ % This program can redistributed and/or modified under the terms
+ % of the LaTeX Project Public License Distributed from CTAN
+ % archives in directory macros/latex/base/lppl.txt; either
+ % version 1 of the License, or (at your option) any later version.
+
+Given such a notice in the file, the conditions of this document would
+apply, with:
+
+`The Program' referring to the software `pig.sty' and
+`The Copyright Holder' referring to the person `M. Y. Name'.
+
+To see a real example, see the file legal.txt which carries the
+copyright notice for the base latex distribution.
+
+This license gives terms under which files of The Program may be
+distributed and modified. Individual files may have specific further
+constraints on modification, but no file should have restrictions on
+distribution other than those specified below.
+This is to ensure that a distributor wishing to distribute a complete
+unmodified copy of The Program need only check the conditions in this
+file, and does not need to check every file in The Program for extra
+restrictions. If you do need to modify the distribution terms of some
+files, do not refer to this license, instead distribute The Program
+under a different license. You may use the parts of the text of LPPL as
+a model for your own license, but your license should not directly refer
+to the LPPL or otherwise give the impression that The Program is
+distributed under the LPPL.
+
+
+
+The LaTeX Project Public License
+================================
+Terms And Conditions For Copying, Distribution And Modification
+===============================================================
+
+
+WARRANTY
+========
+
+There is no warranty for The Program, to the extent permitted by
+applicable law. Except when otherwise stated in writing, The
+Copyright Holder provides The Program `as is' without warranty of any
+kind, either expressed or implied, including, but not limited to, the
+implied warranties of merchantability and fitness for a particular
+purpose. The entire risk as to the quality and performance of the
+program is with you. Should The Program prove defective, you assume
+the cost of all necessary servicing, repair or correction.
+
+In no event unless required by applicable law or agreed to in writing
+will The Copyright Holder, or any of the individual authors named in
+the source for The Program, be liable to you for damages, including
+any general, special, incidental or consequential damages arising out
+of any use of The Program or out of inability to use The Program
+(including but not limited to loss of data or data being rendered
+inaccurate or losses sustained by you or by third parties as a result
+of a failure of The Program to operate with any other programs), even
+if such holder or other party has been advised of the possibility of
+such damages.
+
+
+DISTRIBUTION
+============
+
+Redistribution of unchanged files is allowed provided that all files
+that make up the distribution of The Program are distributed.
+In particular this means that The Program has to be distributed
+including its documentation if documentation was part of the original
+distribution.
+
+The distribution of The Program will contain a prominent file
+listing all the files covered by this license.
+
+If you receive only some of these files from someone, complain!
+
+The distribution of changed versions of certain files included in the
+The Program, and the reuse of code from The Program, are allowed
+under the following restrictions:
+
+ * It is allowed only if the legal notice in the file does not
+ expressly forbid it.
+ See note below, under "Conditions on individual files".
+
+ * You rename the file before you make any changes to it, unless the
+ file explicitly says that renaming is not required. Any such changed
+ files must be distributed under a license that forbids distribution
+ of those files, and any files derived from them, under the names used
+ by the original files in the distribution of The Program.
+
+ * You change any `identification string' in The Program to clearly
+ indicate that the file is not part of the standard system.
+
+ * If The Program includes an `error report address' so that errors
+ may be reported to The Copyright Holder, or other specified
+ addresses, this address must be changed in any modified versions of
+ The Program, so that reports for files not maintained by the
+ original program maintainers are directed to the maintainers of the
+ changed files.
+
+ * You acknowledge the source and authorship of the original version
+ in the modified file.
+
+ * You also distribute the unmodified version of the file or
+ alternatively provide sufficient information so that the
+ user of your modified file can be reasonably expected to be
+ able to obtain an original, unmodified copy of The Program.
+ For example, you may specify a URL to a site that you expect
+ will freely provide the user with a copy of The Program (either
+ the version on which your modification is based, or perhaps a
+ later version).
+
+ * If The Program is intended to be used with, or is based on, LaTeX,
+ then files with the following file extensions which have special
+ meaning in LaTeX Software, have special modification rules under the
+ license:
+
+ - Files with extension `.ins' (installation files): these files may
+ not be modified at all because they contain the legal notices
+ that are placed in the generated files.
+
+ - Files with extension `.fd' (LaTeX font definitions files): these
+ files are allowed to be modified without changing the name, but
+ only to enable use of all available fonts and to prevent attempts
+ to access unavailable fonts. However, modified files are not
+ allowed to be distributed in place of original files.
+
+ - Files with extension `.cfg' (configuration files): these files
+ can be created or modified to enable easy configuration of the
+ system. The documentation in cfgguide.tex in the base LaTeX
+ distribution describes when it makes sense to modify or generate
+ such files.
+
+
+The above restrictions are not intended to prohibit, and hence do
+not apply to, the updating, by any method, of a file so that it
+becomes identical to the latest version of that file in The Program.
+
+========================================================================
+
+NOTES
+=====
+
+We believe that these requirements give you the freedom you to make
+modifications that conform with whatever technical specifications you
+wish, whilst maintaining the availability, integrity and reliability of
+The Program. If you do not see how to achieve your goal whilst
+adhering to these requirements then read the document cfgguide.tex
+in the base LaTeX distribution for suggestions.
+
+Because of the portability and exchangeability aspects of systems
+like LaTeX, The LaTeX3 Project deprecates the distribution of
+non-standard versions of components of LaTeX or of generally available
+contributed code for them but such distributions are permitted under the
+above restrictions.
+
+The document modguide.tex in the base LaTeX distribution details
+the reasons for the legal requirements detailed above.
+Even if The Program is unrelated to LaTeX, the argument in
+modguide.tex may still apply, and should be read before
+a modified version of The Program is distributed.
+
+
+Conditions on individual files
+==============================
+
+The individual files may bear additional conditions which supersede
+the general conditions on distribution and modification contained in
+this file. If there are any such files, the distribution of The
+Program will contain a prominent file that lists all the exceptional
+files.
+
+Typical examples of files with more restrictive modification
+conditions would be files that contain the text of copyright notices.
+
+ * The conditions on individual files differ only in the
+ extent of *modification* that is allowed.
+
+ * The conditions on *distribution* are the same for all the files.
+ Thus a (re)distributor of a complete, unchanged copy of The Program
+ need meet only the conditions in this file; it is not necessary to
+ check the header of every file in the distribution to check that a
+ distribution meets these requirements.
diff --git a/test-ports/Templates/Licenses/MPL b/test-ports/Templates/Licenses/MPL
new file mode 100644
index 00000000..14e2f777
--- /dev/null
+++ b/test-ports/Templates/Licenses/MPL
@@ -0,0 +1,373 @@
+Mozilla Public License Version 2.0
+==================================
+
+1. Definitions
+--------------
+
+1.1. "Contributor"
+ means each individual or legal entity that creates, contributes to
+ the creation of, or owns Covered Software.
+
+1.2. "Contributor Version"
+ means the combination of the Contributions of others (if any) used
+ by a Contributor and that particular Contributor's Contribution.
+
+1.3. "Contribution"
+ means Covered Software of a particular Contributor.
+
+1.4. "Covered Software"
+ means Source Code Form to which the initial Contributor has attached
+ the notice in Exhibit A, the Executable Form of such Source Code
+ Form, and Modifications of such Source Code Form, in each case
+ including portions thereof.
+
+1.5. "Incompatible With Secondary Licenses"
+ means
+
+ (a) that the initial Contributor has attached the notice described
+ in Exhibit B to the Covered Software; or
+
+ (b) that the Covered Software was made available under the terms of
+ version 1.1 or earlier of the License, but not also under the
+ terms of a Secondary License.
+
+1.6. "Executable Form"
+ means any form of the work other than Source Code Form.
+
+1.7. "Larger Work"
+ means a work that combines Covered Software with other material, in
+ a separate file or files, that is not Covered Software.
+
+1.8. "License"
+ means this document.
+
+1.9. "Licensable"
+ means having the right to grant, to the maximum extent possible,
+ whether at the time of the initial grant or subsequently, any and
+ all of the rights conveyed by this License.
+
+1.10. "Modifications"
+ means any of the following:
+
+ (a) any file in Source Code Form that results from an addition to,
+ deletion from, or modification of the contents of Covered
+ Software; or
+
+ (b) any new file in Source Code Form that contains any Covered
+ Software.
+
+1.11. "Patent Claims" of a Contributor
+ means any patent claim(s), including without limitation, method,
+ process, and apparatus claims, in any patent Licensable by such
+ Contributor that would be infringed, but for the grant of the
+ License, by the making, using, selling, offering for sale, having
+ made, import, or transfer of either its Contributions or its
+ Contributor Version.
+
+1.12. "Secondary License"
+ means either the GNU General Public License, Version 2.0, the GNU
+ Lesser General Public License, Version 2.1, the GNU Affero General
+ Public License, Version 3.0, or any later versions of those
+ licenses.
+
+1.13. "Source Code Form"
+ means the form of the work preferred for making modifications.
+
+1.14. "You" (or "Your")
+ means an individual or a legal entity exercising rights under this
+ License. For legal entities, "You" includes any entity that
+ controls, is controlled by, or is under common control with You. For
+ purposes of this definition, "control" means (a) the power, direct
+ or indirect, to cause the direction or management of such entity,
+ whether by contract or otherwise, or (b) ownership of more than
+ fifty percent (50%) of the outstanding shares or beneficial
+ ownership of such entity.
+
+2. License Grants and Conditions
+--------------------------------
+
+2.1. Grants
+
+Each Contributor hereby grants You a world-wide, royalty-free,
+non-exclusive license:
+
+(a) under intellectual property rights (other than patent or trademark)
+ Licensable by such Contributor to use, reproduce, make available,
+ modify, display, perform, distribute, and otherwise exploit its
+ Contributions, either on an unmodified basis, with Modifications, or
+ as part of a Larger Work; and
+
+(b) under Patent Claims of such Contributor to make, use, sell, offer
+ for sale, have made, import, and otherwise transfer either its
+ Contributions or its Contributor Version.
+
+2.2. Effective Date
+
+The licenses granted in Section 2.1 with respect to any Contribution
+become effective for each Contribution on the date the Contributor first
+distributes such Contribution.
+
+2.3. Limitations on Grant Scope
+
+The licenses granted in this Section 2 are the only rights granted under
+this License. No additional rights or licenses will be implied from the
+distribution or licensing of Covered Software under this License.
+Notwithstanding Section 2.1(b) above, no patent license is granted by a
+Contributor:
+
+(a) for any code that a Contributor has removed from Covered Software;
+ or
+
+(b) for infringements caused by: (i) Your and any other third party's
+ modifications of Covered Software, or (ii) the combination of its
+ Contributions with other software (except as part of its Contributor
+ Version); or
+
+(c) under Patent Claims infringed by Covered Software in the absence of
+ its Contributions.
+
+This License does not grant any rights in the trademarks, service marks,
+or logos of any Contributor (except as may be necessary to comply with
+the notice requirements in Section 3.4).
+
+2.4. Subsequent Licenses
+
+No Contributor makes additional grants as a result of Your choice to
+distribute the Covered Software under a subsequent version of this
+License (see Section 10.2) or under the terms of a Secondary License (if
+permitted under the terms of Section 3.3).
+
+2.5. Representation
+
+Each Contributor represents that the Contributor believes its
+Contributions are its original creation(s) or it has sufficient rights
+to grant the rights to its Contributions conveyed by this License.
+
+2.6. Fair Use
+
+This License is not intended to limit any rights You have under
+applicable copyright doctrines of fair use, fair dealing, or other
+equivalents.
+
+2.7. Conditions
+
+Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
+in Section 2.1.
+
+3. Responsibilities
+-------------------
+
+3.1. Distribution of Source Form
+
+All distribution of Covered Software in Source Code Form, including any
+Modifications that You create or to which You contribute, must be under
+the terms of this License. You must inform recipients that the Source
+Code Form of the Covered Software is governed by the terms of this
+License, and how they can obtain a copy of this License. You may not
+attempt to alter or restrict the recipients' rights in the Source Code
+Form.
+
+3.2. Distribution of Executable Form
+
+If You distribute Covered Software in Executable Form then:
+
+(a) such Covered Software must also be made available in Source Code
+ Form, as described in Section 3.1, and You must inform recipients of
+ the Executable Form how they can obtain a copy of such Source Code
+ Form by reasonable means in a timely manner, at a charge no more
+ than the cost of distribution to the recipient; and
+
+(b) You may distribute such Executable Form under the terms of this
+ License, or sublicense it under different terms, provided that the
+ license for the Executable Form does not attempt to limit or alter
+ the recipients' rights in the Source Code Form under this License.
+
+3.3. Distribution of a Larger Work
+
+You may create and distribute a Larger Work under terms of Your choice,
+provided that You also comply with the requirements of this License for
+the Covered Software. If the Larger Work is a combination of Covered
+Software with a work governed by one or more Secondary Licenses, and the
+Covered Software is not Incompatible With Secondary Licenses, this
+License permits You to additionally distribute such Covered Software
+under the terms of such Secondary License(s), so that the recipient of
+the Larger Work may, at their option, further distribute the Covered
+Software under the terms of either this License or such Secondary
+License(s).
+
+3.4. Notices
+
+You may not remove or alter the substance of any license notices
+(including copyright notices, patent notices, disclaimers of warranty,
+or limitations of liability) contained within the Source Code Form of
+the Covered Software, except that You may alter any license notices to
+the extent required to remedy known factual inaccuracies.
+
+3.5. Application of Additional Terms
+
+You may choose to offer, and to charge a fee for, warranty, support,
+indemnity or liability obligations to one or more recipients of Covered
+Software. However, You may do so only on Your own behalf, and not on
+behalf of any Contributor. You must make it absolutely clear that any
+such warranty, support, indemnity, or liability obligation is offered by
+You alone, and You hereby agree to indemnify every Contributor for any
+liability incurred by such Contributor as a result of warranty, support,
+indemnity or liability terms You offer. You may include additional
+disclaimers of warranty and limitations of liability specific to any
+jurisdiction.
+
+4. Inability to Comply Due to Statute or Regulation
+---------------------------------------------------
+
+If it is impossible for You to comply with any of the terms of this
+License with respect to some or all of the Covered Software due to
+statute, judicial order, or regulation then You must: (a) comply with
+the terms of this License to the maximum extent possible; and (b)
+describe the limitations and the code they affect. Such description must
+be placed in a text file included with all distributions of the Covered
+Software under this License. Except to the extent prohibited by statute
+or regulation, such description must be sufficiently detailed for a
+recipient of ordinary skill to be able to understand it.
+
+5. Termination
+--------------
+
+5.1. The rights granted under this License will terminate automatically
+if You fail to comply with any of its terms. However, if You become
+compliant, then the rights granted under this License from a particular
+Contributor are reinstated (a) provisionally, unless and until such
+Contributor explicitly and finally terminates Your grants, and (b) on an
+ongoing basis, if such Contributor fails to notify You of the
+non-compliance by some reasonable means prior to 60 days after You have
+come back into compliance. Moreover, Your grants from a particular
+Contributor are reinstated on an ongoing basis if such Contributor
+notifies You of the non-compliance by some reasonable means, this is the
+first time You have received notice of non-compliance with this License
+from such Contributor, and You become compliant prior to 30 days after
+Your receipt of the notice.
+
+5.2. If You initiate litigation against any entity by asserting a patent
+infringement claim (excluding declaratory judgment actions,
+counter-claims, and cross-claims) alleging that a Contributor Version
+directly or indirectly infringes any patent, then the rights granted to
+You by any and all Contributors for the Covered Software under Section
+2.1 of this License shall terminate.
+
+5.3. In the event of termination under Sections 5.1 or 5.2 above, all
+end user license agreements (excluding distributors and resellers) which
+have been validly granted by You or Your distributors under this License
+prior to termination shall survive termination.
+
+************************************************************************
+* *
+* 6. Disclaimer of Warranty *
+* ------------------------- *
+* *
+* Covered Software is provided under this License on an "as is" *
+* basis, without warranty of any kind, either expressed, implied, or *
+* statutory, including, without limitation, warranties that the *
+* Covered Software is free of defects, merchantable, fit for a *
+* particular purpose or non-infringing. The entire risk as to the *
+* quality and performance of the Covered Software is with You. *
+* Should any Covered Software prove defective in any respect, You *
+* (not any Contributor) assume the cost of any necessary servicing, *
+* repair, or correction. This disclaimer of warranty constitutes an *
+* essential part of this License. No use of any Covered Software is *
+* authorized under this License except under this disclaimer. *
+* *
+************************************************************************
+
+************************************************************************
+* *
+* 7. Limitation of Liability *
+* -------------------------- *
+* *
+* Under no circumstances and under no legal theory, whether tort *
+* (including negligence), contract, or otherwise, shall any *
+* Contributor, or anyone who distributes Covered Software as *
+* permitted above, be liable to You for any direct, indirect, *
+* special, incidental, or consequential damages of any character *
+* including, without limitation, damages for lost profits, loss of *
+* goodwill, work stoppage, computer failure or malfunction, or any *
+* and all other commercial damages or losses, even if such party *
+* shall have been informed of the possibility of such damages. This *
+* limitation of liability shall not apply to liability for death or *
+* personal injury resulting from such party's negligence to the *
+* extent applicable law prohibits such limitation. Some *
+* jurisdictions do not allow the exclusion or limitation of *
+* incidental or consequential damages, so this exclusion and *
+* limitation may not apply to You. *
+* *
+************************************************************************
+
+8. Litigation
+-------------
+
+Any litigation relating to this License may be brought only in the
+courts of a jurisdiction where the defendant maintains its principal
+place of business and such litigation shall be governed by laws of that
+jurisdiction, without reference to its conflict-of-law provisions.
+Nothing in this Section shall prevent a party's ability to bring
+cross-claims or counter-claims.
+
+9. Miscellaneous
+----------------
+
+This License represents the complete agreement concerning the subject
+matter hereof. If any provision of this License is held to be
+unenforceable, such provision shall be reformed only to the extent
+necessary to make it enforceable. Any law or regulation which provides
+that the language of a contract shall be construed against the drafter
+shall not be used to construe this License against a Contributor.
+
+10. Versions of the License
+---------------------------
+
+10.1. New Versions
+
+Mozilla Foundation is the license steward. Except as provided in Section
+10.3, no one other than the license steward has the right to modify or
+publish new versions of this License. Each version will be given a
+distinguishing version number.
+
+10.2. Effect of New Versions
+
+You may distribute the Covered Software under the terms of the version
+of the License under which You originally received the Covered Software,
+or under the terms of any subsequent version published by the license
+steward.
+
+10.3. Modified Versions
+
+If you create software not governed by this License, and you want to
+create a new license for such software, you may create and use a
+modified version of this License if you rename the license and remove
+any references to the name of the license steward (except to note that
+such modified license differs from this License).
+
+10.4. Distributing Source Code Form that is Incompatible With Secondary
+Licenses
+
+If You choose to distribute Source Code Form that is Incompatible With
+Secondary Licenses under the terms of this version of the License, the
+notice described in Exhibit B of this License must be attached.
+
+Exhibit A - Source Code Form License Notice
+-------------------------------------------
+
+ This Source Code Form is subject to the terms of the Mozilla Public
+ License, v. 2.0. If a copy of the MPL was not distributed with this
+ file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+If it is not possible or desirable to put the notice in a particular
+file, then You may include the notice in a location (such as a LICENSE
+file in a relevant directory) where a recipient would be likely to look
+for such a notice.
+
+You may add additional accurate notices of copyright ownership.
+
+Exhibit B - "Incompatible With Secondary Licenses" Notice
+---------------------------------------------------------
+
+ This Source Code Form is "Incompatible With Secondary Licenses", as
+ defined by the Mozilla Public License, v. 2.0.
diff --git a/test-ports/Templates/Licenses/OFL10 b/test-ports/Templates/Licenses/OFL10
new file mode 100644
index 00000000..8eec3bf0
--- /dev/null
+++ b/test-ports/Templates/Licenses/OFL10
@@ -0,0 +1,93 @@
+This Font Software is licensed under the SIL Open Font License, Version 1.0.
+No modification of the license is permitted, only verbatim copy is allowed.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.0 - 22 November 2005
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of cooperative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide an open
+framework in which fonts may be shared and improved in partnership with
+others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and sold with any software provided that the font
+names of derivative works are changed. The fonts and derivatives,
+however, cannot be released under any other type of license.
+
+DEFINITIONS
+"Font Software" refers to any and all of the following:
+ - font files
+ - data files
+ - source code
+ - build scripts
+ - documentation
+
+"Reserved Font Name" refers to the Font Software name as seen by
+users and any other names as specified after the copyright statement.
+
+"Standard Version" refers to the collection of Font Software
+components as distributed by the Copyright Holder.
+
+"Modified Version" refers to any derivative font software made by
+adding to, deleting, or substituting -- in part or in whole --
+any of the components of the Standard Version, by changing formats
+or by porting the Font Software to a new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Standard or Modified Versions, may be sold by itself.
+
+2) Standard or Modified Versions of the Font Software may be bundled,
+redistributed and sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s), in part or in whole, unless explicit written permission is
+granted by the Copyright Holder. This restriction applies to all
+references stored in the Font Software, such as the font menu name and
+other font description fields, which are used to differentiate the
+font from others.
+
+4) The name(s) of the Copyright Holder or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed using this license, and may not be distributed
+under any other license.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/test-ports/Templates/Licenses/OFL11 b/test-ports/Templates/Licenses/OFL11
new file mode 100644
index 00000000..77b17316
--- /dev/null
+++ b/test-ports/Templates/Licenses/OFL11
@@ -0,0 +1,91 @@
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/test-ports/Templates/Licenses/PHP301 b/test-ports/Templates/Licenses/PHP301
new file mode 100644
index 00000000..3cc8b777
--- /dev/null
+++ b/test-ports/Templates/Licenses/PHP301
@@ -0,0 +1,68 @@
+--------------------------------------------------------------------
+ The PHP License, version 3.01
+Copyright (c) 1999 - 2010 The PHP Group. All rights reserved.
+--------------------------------------------------------------------
+
+Redistribution and use in source and binary forms, with or without
+modification, is permitted provided that the following conditions
+are met:
+
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ 3. The name "PHP" must not be used to endorse or promote products
+ derived from this software without prior written permission. For
+ written permission, please contact group@php.net.
+
+ 4. Products derived from this software may not be called "PHP", nor
+ may "PHP" appear in their name, without prior written permission
+ from group@php.net. You may indicate that your software works in
+ conjunction with PHP by saying "Foo for PHP" instead of calling
+ it "PHP Foo" or "phpfoo"
+
+ 5. The PHP Group may publish revised and/or new versions of the
+ license from time to time. Each version will be given a
+ distinguishing version number.
+ Once covered code has been published under a particular version
+ of the license, you may always continue to use it under the terms
+ of that version. You may also choose to use such covered code
+ under the terms of any subsequent version of the license
+ published by the PHP Group. No one other than the PHP Group has
+ the right to modify the terms applicable to covered code created
+ under this License.
+
+ 6. Redistributions of any form whatsoever must retain the following
+ acknowledgment:
+ "This product includes PHP software, freely available from
+ <http://www.php.net/software/>".
+
+THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``AS IS'' AND
+ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE PHP
+DEVELOPMENT TEAM OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+OF THE POSSIBILITY OF SUCH DAMAGE.
+
+--------------------------------------------------------------------
+
+This software consists of voluntary contributions made by many
+individuals on behalf of the PHP Group.
+
+The PHP Group can be contacted via Email at group@php.net.
+
+For more information on the PHP Group and the PHP project,
+please see <http://www.php.net>.
+
+PHP includes the Zend Engine, freely available at
+<http://www.zend.com>.
diff --git a/test-ports/Templates/Licenses/RUBY b/test-ports/Templates/Licenses/RUBY
new file mode 100644
index 00000000..fa7e9dc9
--- /dev/null
+++ b/test-ports/Templates/Licenses/RUBY
@@ -0,0 +1,52 @@
+ 1. You may make and give away verbatim copies of the source form of the
+ software without restriction, provided that you duplicate all of the
+ original copyright notices and associated disclaimers.
+
+ 2. You may modify your copy of the software in any way, provided that
+ you do at least ONE of the following:
+
+ a) place your modifications in the Public Domain or otherwise
+ make them Freely Available, such as by posting said
+ modifications to Usenet or an equivalent medium, or by allowing
+ the author to include your modifications in the software.
+
+ b) use the modified software only within your corporation or
+ organization.
+
+ c) give non-standard binaries non-standard names, with
+ instructions on where to get the original software distribution.
+
+ d) make other distribution arrangements with the author.
+
+ 3. You may distribute the software in object code or binary form,
+ provided that you do at least ONE of the following:
+
+ a) distribute the binaries and library files of the software,
+ together with instructions (in the manual page or equivalent)
+ on where to get the original distribution.
+
+ b) accompany the distribution with the machine-readable source of
+ the software.
+
+ c) give non-standard binaries non-standard names, with
+ instructions on where to get the original software distribution.
+
+ d) make other distribution arrangements with the author.
+
+ 4. You may modify and include the part of the software into any other
+ software (possibly commercial). But some files in the distribution
+ are not written by the author, so that they are not under these terms.
+
+ For the list of those files and their copying conditions, see the
+ file LEGAL.
+
+ 5. The scripts and library files supplied as input to or produced as
+ output from the software do not automatically fall under the
+ copyright of the software, but belong to whomever generated them,
+ and may be sold commercially, and may be aggregated with this
+ software.
+
+ 6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ PURPOSE.
diff --git a/test-ports/Templates/Licenses/WTFPL b/test-ports/Templates/Licenses/WTFPL
new file mode 100644
index 00000000..dd94252a
--- /dev/null
+++ b/test-ports/Templates/Licenses/WTFPL
@@ -0,0 +1,14 @@
+ DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
+ Version 2, December 2004
+
+Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
+
+Everyone is permitted to copy and distribute verbatim or modified
+copies of this license document, and changing it is allowed as long
+as the name is changed.
+
+ DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. You just DO WHAT THE FUCK YOU WANT TO.
+
diff --git a/test-ports/Templates/Licenses/WTFPL1 b/test-ports/Templates/Licenses/WTFPL1
new file mode 100644
index 00000000..0f98942c
--- /dev/null
+++ b/test-ports/Templates/Licenses/WTFPL1
@@ -0,0 +1,13 @@
+do What The Fuck you want to Public License
+
+Version 1.0, March 2000
+Copyright (C) 2000 Banlu Kemiyatorn (]d).
+136 Nives 7 Jangwattana 14 Laksi Bangkok
+Everyone is permitted to copy and distribute verbatim copies
+of this license document, but changing it is not allowed.
+
+Ok, the purpose of this license is simple
+and you just
+
+DO WHAT THE FUCK YOU WANT TO.
+
diff --git a/test-ports/Templates/Licenses/ZPL21 b/test-ports/Templates/Licenses/ZPL21
new file mode 100644
index 00000000..0c4ba0a4
--- /dev/null
+++ b/test-ports/Templates/Licenses/ZPL21
@@ -0,0 +1,44 @@
+Zope Public License (ZPL) Version 2.1
+
+A copyright notice accompanies this license document that identifies the
+copyright holders.
+
+This license has been certified as open source. It has also been designated
+as GPL compatible by the Free Software Foundation (FSF).
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+Redistributions in source code must retain the accompanying copyright
+notice, this list of conditions, and the following disclaimer.
+
+Redistributions in binary form must reproduce the accompanying copyright
+notice, this list of conditions, and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+
+Names of the copyright holders must not be used to endorse or promote
+products derived from this software without prior written permission from
+the copyright holders.
+
+The right to distribute this software or to use it for any purpose does not
+give you the right to use Servicemarks (sm) or Trademarks (tm) of the
+copyright holders. Use of them is covered by separate agreement with the
+copyright holders.
+
+If any files are modified, you must cause the modified files to carry
+prominent notices stating that you changed the files and the date of any
+change.
+
+Disclaimer
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
+EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGE.
diff --git a/test-ports/Templates/Makefile b/test-ports/Templates/Makefile
new file mode 100644
index 00000000..5a3e40a8
--- /dev/null
+++ b/test-ports/Templates/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+PORTNAME=
+PORTVERSION=
+CATEGORIES=
+MASTER_SITES=
+
+MAINTAINER=
+COMMENT=
+
+.include <bsd.port.mk>
diff --git a/test-ports/Templates/README.category b/test-ports/Templates/README.category
new file mode 100644
index 00000000..6615726a
--- /dev/null
+++ b/test-ports/Templates/README.category
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
+
+<html>
+ <head>
+ <title>The FreeBSD Ports Collection (%%CATEGORY%%)</title>
+ </head>
+
+ <body>
+ <h1>The FreeBSD Ports Collection ("%%CATEGORY%%")</h1>
+ <hr>
+
+ <p>You are now in the directory "%%CATEGORY%%".</p>
+
+ <p>This is the one-line description for this category:</p>
+ <hr>
+
+ <p>
+%%COMMENT%%
+ </p>
+ <hr>
+
+ <p>
+%%DESCR%%
+ </p>
+
+ <p>Here are the one-line descriptions for each items in this
+ directory:</p>
+ <hr>
+<pre>
+%%SUBDIR%%
+</pre>
+ <hr>
+ <a href="../README.html">Go to parent directory</a>
+ </body>
+</html>
diff --git a/test-ports/Templates/README.port b/test-ports/Templates/README.port
new file mode 100644
index 00000000..0b21239a
--- /dev/null
+++ b/test-ports/Templates/README.port
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN">
+
+<html>
+ <head>
+ <title>The FreeBSD Ports Collection (%%PORT%%)</title>
+ </head>
+
+ <body>
+ <h1>The FreeBSD Ports Collection (%%PORT%%)</h1>
+ <hr>
+
+ <p>You are now in the directory for the port "%%PORT%%".</p>
+
+ <p>The package name of this port is "%%PKG%%".</p>
+
+ <p>This is the one-line description for this port:</p>
+ <hr>
+
+ <p>
+%%COMMENT%%
+ </p>
+ <hr>
+
+ <p>Please read the "<a href="%%DESCR%%">description file</a>" for a
+ longer description%%WEBSITE%%.</p>
+
+ <p>If needed, you may contact the <a href=
+ "mailto:%%EMAIL%%">maintainer</a> of this port or the port <a href=
+ "mailto:ports@FreeBSD.org">mailing-list</a>.</p>
+
+ <p>%%BUILD_DEPENDS%%</p>
+
+ <p>%%RUN_DEPENDS%%</p>
+
+ <p>Go to the <a href="%%TOP%%/README.html">top of the ports tree</a> for
+ a summary on how to use the ports collection.</p>
+ <hr>
+
+ <p><a href="../README.html">Go up one level</a> | <a href=
+ "%%TOP%%/README.html">Go to top of ports tree</a></p>
+ </body>
+</html>
+
diff --git a/test-ports/Templates/README.top b/test-ports/Templates/README.top
new file mode 100644
index 00000000..91684775
--- /dev/null
+++ b/test-ports/Templates/README.top
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
+
+<html>
+ <head>
+ <title>The FreeBSD Ports Collection</title>
+ </head>
+
+ <body>
+ <h1>The FreeBSD Ports Collection</h1>
+ <hr>
+
+ <p>You are at the top of the ports tree.</p>
+
+ <p>For information on how to use the ports tree, please look at "The
+ Ports Collection" section of the FreeBSD handbook <a href=
+ "file://localhost/usr/share/doc/handbook/handbook.html">on your own
+ FreeBSD machine</a> or <a href=
+ "http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/ports.html">
+ at the FreeBSD web site</a>.</p>
+
+ <p>Also, if you would like to contribute a new port or fix an existing
+ one, please refer to the <a href=
+ "http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/porters-handbook/index.html">
+ Porting Guidelines</a> section of the most current handbook.</p>
+
+ <p>Here are the one-line descriptions for each of the directories:</p>
+ <hr>
+<pre>
+%%SUBDIR%%
+</pre>
+ <hr>
+ </body>
+</html>
diff --git a/test-ports/Templates/config.guess b/test-ports/Templates/config.guess
new file mode 100644
index 00000000..0bb53aeb
--- /dev/null
+++ b/test-ports/Templates/config.guess
@@ -0,0 +1,1433 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+# Copyright 1992-2015 Free Software Foundation, Inc.
+
+timestamp='2015-03-04'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that
+# program. This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
+#
+# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
+#
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+#
+# Please send patches to <config-patches@gnu.org>.
+
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright 1992-2015 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit ;;
+ --version | -v )
+ echo "$version" ; exit ;;
+ --help | --h* | -h )
+ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help" >&2
+ exit 1 ;;
+ * )
+ break ;;
+ esac
+done
+
+if test $# != 0; then
+ echo "$me: too many arguments$help" >&2
+ exit 1
+fi
+
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,) echo "int x;" > $dummy.c ;
+ for c in cc gcc c89 c99 ; do
+ if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+ CC_FOR_BUILD="$c"; break ;
+ fi ;
+ done ;
+ if test x"$CC_FOR_BUILD" = x ; then
+ CC_FOR_BUILD=no_compiler_found ;
+ fi
+ ;;
+ ,,*) CC_FOR_BUILD=$CC ;;
+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
+esac ; set_cc_for_build= ;'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi@noc.rutgers.edu 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+ PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+case "${UNAME_SYSTEM}" in
+Linux|GNU|GNU/*)
+ # If the system lacks a compiler, then just pick glibc.
+ # We could probably try harder.
+ LIBC=gnu
+
+ eval $set_cc_for_build
+ cat <<-EOF > $dummy.c
+ #include <features.h>
+ #if defined(__UCLIBC__)
+ LIBC=uclibc
+ #elif defined(__dietlibc__)
+ LIBC=dietlibc
+ #else
+ LIBC=gnu
+ #endif
+ EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
+ ;;
+esac
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+ *:NetBSD:*:*)
+ # NetBSD (nbsd) targets should (where applicable) match one or
+ # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
+ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
+ # switched to ELF, *-*-netbsd* would select the old
+ # object file format. This provides both forward
+ # compatibility and a consistent mechanism for selecting the
+ # object file format.
+ #
+ # Note: NetBSD doesn't particularly care about the vendor
+ # portion of the name. We always set it to "unknown".
+ sysctl="sysctl -n hw.machine_arch"
+ UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
+ /sbin/$sysctl 2>/dev/null || \
+ /usr/sbin/$sysctl 2>/dev/null || \
+ echo unknown)`
+ case "${UNAME_MACHINE_ARCH}" in
+ armeb) machine=armeb-unknown ;;
+ arm*) machine=arm-unknown ;;
+ sh3el) machine=shl-unknown ;;
+ sh3eb) machine=sh-unknown ;;
+ sh5el) machine=sh5le-unknown ;;
+ earmv*)
+ arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
+ endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
+ machine=${arch}${endian}-unknown
+ ;;
+ *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+ esac
+ # The Operating System including object format, if it has switched
+ # to ELF recently, or will in the future.
+ case "${UNAME_MACHINE_ARCH}" in
+ arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax)
+ eval $set_cc_for_build
+ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ELF__
+ then
+ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+ # Return netbsd for either. FIX?
+ os=netbsd
+ else
+ os=netbsdelf
+ fi
+ ;;
+ *)
+ os=netbsd
+ ;;
+ esac
+ # Determine ABI tags.
+ case "${UNAME_MACHINE_ARCH}" in
+ earm*)
+ expr='s/^earmv[0-9]/-eabi/;s/eb$//'
+ abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
+ ;;
+ esac
+ # The OS release
+ # Debian GNU/NetBSD machines have a different userland, and
+ # thus, need a distinct triplet. However, they do not need
+ # kernel version information, so it can be replaced with a
+ # suitable tag, in the style of linux-gnu.
+ case "${UNAME_VERSION}" in
+ Debian*)
+ release='-gnu'
+ ;;
+ *)
+ release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+ ;;
+ esac
+ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+ # contains redundant information, the shorter form:
+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+ echo "${machine}-${os}${release}${abi}"
+ exit ;;
+ *:Bitrig:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
+ echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
+ exit ;;
+ *:OpenBSD:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+ echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+ exit ;;
+ *:ekkoBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+ exit ;;
+ *:SolidBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+ exit ;;
+ macppc:MirBSD:*:*)
+ echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+ exit ;;
+ *:MirBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+ exit ;;
+ alpha:OSF1:*:*)
+ case $UNAME_RELEASE in
+ *4.0)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+ ;;
+ *5.*)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+ ;;
+ esac
+ # According to Compaq, /usr/sbin/psrinfo has been available on
+ # OSF/1 and Tru64 systems produced since 1995. I hope that
+ # covers most systems running today. This code pipes the CPU
+ # types through head -n 1, so we only detect the type of CPU 0.
+ ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+ case "$ALPHA_CPU_TYPE" in
+ "EV4 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "EV4.5 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "LCA4 (21066/21068)")
+ UNAME_MACHINE="alpha" ;;
+ "EV5 (21164)")
+ UNAME_MACHINE="alphaev5" ;;
+ "EV5.6 (21164A)")
+ UNAME_MACHINE="alphaev56" ;;
+ "EV5.6 (21164PC)")
+ UNAME_MACHINE="alphapca56" ;;
+ "EV5.7 (21164PC)")
+ UNAME_MACHINE="alphapca57" ;;
+ "EV6 (21264)")
+ UNAME_MACHINE="alphaev6" ;;
+ "EV6.7 (21264A)")
+ UNAME_MACHINE="alphaev67" ;;
+ "EV6.8CB (21264C)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8AL (21264B)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8CX (21264D)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.9A (21264/EV69A)")
+ UNAME_MACHINE="alphaev69" ;;
+ "EV7 (21364)")
+ UNAME_MACHINE="alphaev7" ;;
+ "EV7.9 (21364A)")
+ UNAME_MACHINE="alphaev79" ;;
+ esac
+ # A Pn.n version is a patched version.
+ # A Vn.n version is a released version.
+ # A Tn.n version is a released field test version.
+ # A Xn.n version is an unreleased experimental baselevel.
+ # 1.2 uses "1.2" for uname -r.
+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
+ exitcode=$?
+ trap '' 0
+ exit $exitcode ;;
+ Alpha\ *:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # Should we change UNAME_MACHINE based on the output of uname instead
+ # of the specific Alpha model?
+ echo alpha-pc-interix
+ exit ;;
+ 21064:Windows_NT:50:3)
+ echo alpha-dec-winnt3.5
+ exit ;;
+ Amiga*:UNIX_System_V:4.0:*)
+ echo m68k-unknown-sysv4
+ exit ;;
+ *:[Aa]miga[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-amigaos
+ exit ;;
+ *:[Mm]orph[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-morphos
+ exit ;;
+ *:OS/390:*:*)
+ echo i370-ibm-openedition
+ exit ;;
+ *:z/VM:*:*)
+ echo s390-ibm-zvmoe
+ exit ;;
+ *:OS400:*:*)
+ echo powerpc-ibm-os400
+ exit ;;
+ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+ echo arm-acorn-riscix${UNAME_RELEASE}
+ exit ;;
+ arm*:riscos:*:*|arm*:RISCOS:*:*)
+ echo arm-unknown-riscos
+ exit ;;
+ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+ echo hppa1.1-hitachi-hiuxmpp
+ exit ;;
+ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+ # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+ if test "`(/bin/universe) 2>/dev/null`" = att ; then
+ echo pyramid-pyramid-sysv3
+ else
+ echo pyramid-pyramid-bsd
+ fi
+ exit ;;
+ NILE*:*:*:dcosx)
+ echo pyramid-pyramid-svr4
+ exit ;;
+ DRS?6000:unix:4.0:6*)
+ echo sparc-icl-nx6
+ exit ;;
+ DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+ case `/usr/bin/uname -p` in
+ sparc) echo sparc-icl-nx7; exit ;;
+ esac ;;
+ s390x:SunOS:*:*)
+ echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4H:SunOS:5.*:*)
+ echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+ echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
+ echo i386-pc-auroraux${UNAME_RELEASE}
+ exit ;;
+ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
+ eval $set_cc_for_build
+ SUN_ARCH="i386"
+ # If there is a compiler, see if it is configured for 64-bit objects.
+ # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
+ # This test works for both compilers.
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ SUN_ARCH="x86_64"
+ fi
+ fi
+ echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:6*:*)
+ # According to config.sub, this is the proper way to canonicalize
+ # SunOS6. Hard to guess exactly what SunOS6 will be like, but
+ # it's likely to be more like Solaris than SunOS4.
+ echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:*:*)
+ case "`/usr/bin/arch -k`" in
+ Series*|S4*)
+ UNAME_RELEASE=`uname -v`
+ ;;
+ esac
+ # Japanese Language versions have a version number like `4.1.3-JL'.
+ echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+ exit ;;
+ sun3*:SunOS:*:*)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+ exit ;;
+ sun*:*:4.2BSD:*)
+ UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+ test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+ case "`/bin/arch`" in
+ sun3)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+ ;;
+ sun4)
+ echo sparc-sun-sunos${UNAME_RELEASE}
+ ;;
+ esac
+ exit ;;
+ aushp:SunOS:*:*)
+ echo sparc-auspex-sunos${UNAME_RELEASE}
+ exit ;;
+ # The situation for MiNT is a little confusing. The machine name
+ # can be virtually everything (everything which is not
+ # "atarist" or "atariste" at least should have a processor
+ # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
+ # to the lowercase version "mint" (or "freemint"). Finally
+ # the system name "TOS" denotes a system which is actually not
+ # MiNT. But MiNT is downward compatible to TOS, so this should
+ # be no problem.
+ atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+ echo m68k-milan-mint${UNAME_RELEASE}
+ exit ;;
+ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+ echo m68k-hades-mint${UNAME_RELEASE}
+ exit ;;
+ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+ echo m68k-unknown-mint${UNAME_RELEASE}
+ exit ;;
+ m68k:machten:*:*)
+ echo m68k-apple-machten${UNAME_RELEASE}
+ exit ;;
+ powerpc:machten:*:*)
+ echo powerpc-apple-machten${UNAME_RELEASE}
+ exit ;;
+ RISC*:Mach:*:*)
+ echo mips-dec-mach_bsd4.3
+ exit ;;
+ RISC*:ULTRIX:*:*)
+ echo mips-dec-ultrix${UNAME_RELEASE}
+ exit ;;
+ VAX*:ULTRIX*:*:*)
+ echo vax-dec-ultrix${UNAME_RELEASE}
+ exit ;;
+ 2020:CLIX:*:* | 2430:CLIX:*:*)
+ echo clipper-intergraph-clix${UNAME_RELEASE}
+ exit ;;
+ mips:*:*:UMIPS | mips:*:*:RISCos)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+#ifdef __cplusplus
+#include <stdio.h> /* for printf() prototype */
+ int main (int argc, char *argv[]) {
+#else
+ int main (argc, argv) int argc; char *argv[]; {
+#endif
+ #if defined (host_mips) && defined (MIPSEB)
+ #if defined (SYSTYPE_SYSV)
+ printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_SVR4)
+ printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+ printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+ #endif
+ #endif
+ exit (-1);
+ }
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.c &&
+ dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+ SYSTEM_NAME=`$dummy $dummyarg` &&
+ { echo "$SYSTEM_NAME"; exit; }
+ echo mips-mips-riscos${UNAME_RELEASE}
+ exit ;;
+ Motorola:PowerMAX_OS:*:*)
+ echo powerpc-motorola-powermax
+ exit ;;
+ Motorola:*:4.3:PL8-*)
+ echo powerpc-harris-powermax
+ exit ;;
+ Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+ echo powerpc-harris-powermax
+ exit ;;
+ Night_Hawk:Power_UNIX:*:*)
+ echo powerpc-harris-powerunix
+ exit ;;
+ m88k:CX/UX:7*:*)
+ echo m88k-harris-cxux7
+ exit ;;
+ m88k:*:4*:R4*)
+ echo m88k-motorola-sysv4
+ exit ;;
+ m88k:*:3*:R3*)
+ echo m88k-motorola-sysv3
+ exit ;;
+ AViiON:dgux:*:*)
+ # DG/UX returns AViiON for all architectures
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
+ if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+ then
+ if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+ [ ${TARGET_BINARY_INTERFACE}x = x ]
+ then
+ echo m88k-dg-dgux${UNAME_RELEASE}
+ else
+ echo m88k-dg-dguxbcs${UNAME_RELEASE}
+ fi
+ else
+ echo i586-dg-dgux${UNAME_RELEASE}
+ fi
+ exit ;;
+ M88*:DolphinOS:*:*) # DolphinOS (SVR3)
+ echo m88k-dolphin-sysv3
+ exit ;;
+ M88*:*:R3*:*)
+ # Delta 88k system running SVR3
+ echo m88k-motorola-sysv3
+ exit ;;
+ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+ echo m88k-tektronix-sysv3
+ exit ;;
+ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+ echo m68k-tektronix-bsd
+ exit ;;
+ *:IRIX*:*:*)
+ echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+ exit ;;
+ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
+ exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
+ i*86:AIX:*:*)
+ echo i386-ibm-aix
+ exit ;;
+ ia64:AIX:*:*)
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=`/usr/bin/oslevel`
+ else
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+ exit ;;
+ *:AIX:2:3)
+ if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <sys/systemcfg.h>
+
+ main()
+ {
+ if (!__power_pc())
+ exit(1);
+ puts("powerpc-ibm-aix3.2.5");
+ exit(0);
+ }
+EOF
+ if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+ then
+ echo "$SYSTEM_NAME"
+ else
+ echo rs6000-ibm-aix3.2.5
+ fi
+ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+ echo rs6000-ibm-aix3.2.4
+ else
+ echo rs6000-ibm-aix3.2
+ fi
+ exit ;;
+ *:AIX:*:[4567])
+ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+ if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+ IBM_ARCH=rs6000
+ else
+ IBM_ARCH=powerpc
+ fi
+ if [ -x /usr/bin/lslpp ] ; then
+ IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
+ awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
+ else
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+ exit ;;
+ *:AIX:*:*)
+ echo rs6000-ibm-aix
+ exit ;;
+ ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+ echo romp-ibm-bsd4.4
+ exit ;;
+ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
+ echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
+ exit ;; # report: romp-ibm BSD 4.3
+ *:BOSX:*:*)
+ echo rs6000-bull-bosx
+ exit ;;
+ DPX/2?00:B.O.S.:*:*)
+ echo m68k-bull-sysv3
+ exit ;;
+ 9000/[34]??:4.3bsd:1.*:*)
+ echo m68k-hp-bsd
+ exit ;;
+ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+ echo m68k-hp-bsd4.4
+ exit ;;
+ 9000/[34678]??:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ case "${UNAME_MACHINE}" in
+ 9000/31? ) HP_ARCH=m68000 ;;
+ 9000/[34]?? ) HP_ARCH=m68k ;;
+ 9000/[678][0-9][0-9])
+ if [ -x /usr/bin/getconf ]; then
+ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+ case "${sc_cpu_version}" in
+ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+ 532) # CPU_PA_RISC2_0
+ case "${sc_kernel_bits}" in
+ 32) HP_ARCH="hppa2.0n" ;;
+ 64) HP_ARCH="hppa2.0w" ;;
+ '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
+ esac ;;
+ esac
+ fi
+ if [ "${HP_ARCH}" = "" ]; then
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+
+ #define _HPUX_SOURCE
+ #include <stdlib.h>
+ #include <unistd.h>
+
+ int main ()
+ {
+ #if defined(_SC_KERNEL_BITS)
+ long bits = sysconf(_SC_KERNEL_BITS);
+ #endif
+ long cpu = sysconf (_SC_CPU_VERSION);
+
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+ case CPU_PA_RISC2_0:
+ #if defined(_SC_KERNEL_BITS)
+ switch (bits)
+ {
+ case 64: puts ("hppa2.0w"); break;
+ case 32: puts ("hppa2.0n"); break;
+ default: puts ("hppa2.0"); break;
+ } break;
+ #else /* !defined(_SC_KERNEL_BITS) */
+ puts ("hppa2.0"); break;
+ #endif
+ default: puts ("hppa1.0"); break;
+ }
+ exit (0);
+ }
+EOF
+ (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+ test -z "$HP_ARCH" && HP_ARCH=hppa
+ fi ;;
+ esac
+ if [ ${HP_ARCH} = "hppa2.0w" ]
+ then
+ eval $set_cc_for_build
+
+ # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+ # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
+ # generating 64-bit code. GNU and HP use different nomenclature:
+ #
+ # $ CC_FOR_BUILD=cc ./config.guess
+ # => hppa2.0w-hp-hpux11.23
+ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+ # => hppa64-hp-hpux11.23
+
+ if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+ grep -q __LP64__
+ then
+ HP_ARCH="hppa2.0w"
+ else
+ HP_ARCH="hppa64"
+ fi
+ fi
+ echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+ exit ;;
+ ia64:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ echo ia64-hp-hpux${HPUX_REV}
+ exit ;;
+ 3050*:HI-UX:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <unistd.h>
+ int
+ main ()
+ {
+ long cpu = sysconf (_SC_CPU_VERSION);
+ /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+ true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
+ results, however. */
+ if (CPU_IS_PA_RISC (cpu))
+ {
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+ default: puts ("hppa-hitachi-hiuxwe2"); break;
+ }
+ }
+ else if (CPU_IS_HP_MC68K (cpu))
+ puts ("m68k-hitachi-hiuxwe2");
+ else puts ("unknown-hitachi-hiuxwe2");
+ exit (0);
+ }
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+ { echo "$SYSTEM_NAME"; exit; }
+ echo unknown-hitachi-hiuxwe2
+ exit ;;
+ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+ echo hppa1.1-hp-bsd
+ exit ;;
+ 9000/8??:4.3bsd:*:*)
+ echo hppa1.0-hp-bsd
+ exit ;;
+ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+ echo hppa1.0-hp-mpeix
+ exit ;;
+ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+ echo hppa1.1-hp-osf
+ exit ;;
+ hp8??:OSF1:*:*)
+ echo hppa1.0-hp-osf
+ exit ;;
+ i*86:OSF1:*:*)
+ if [ -x /usr/sbin/sysversion ] ; then
+ echo ${UNAME_MACHINE}-unknown-osf1mk
+ else
+ echo ${UNAME_MACHINE}-unknown-osf1
+ fi
+ exit ;;
+ parisc*:Lites*:*:*)
+ echo hppa1.1-hp-lites
+ exit ;;
+ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+ echo c1-convex-bsd
+ exit ;;
+ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+ exit ;;
+ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+ echo c34-convex-bsd
+ exit ;;
+ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+ echo c38-convex-bsd
+ exit ;;
+ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+ echo c4-convex-bsd
+ exit ;;
+ CRAY*Y-MP:*:*:*)
+ echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*[A-Z]90:*:*:*)
+ echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+ -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*TS:*:*:*)
+ echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*T3E:*:*:*)
+ echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*SV1:*:*:*)
+ echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ *:UNICOS/mp:*:*)
+ echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+ FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
+ 5000:UNIX_System_V:4.*:*)
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
+ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+ echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+ exit ;;
+ sparc*:BSD/OS:*:*)
+ echo sparc-unknown-bsdi${UNAME_RELEASE}
+ exit ;;
+ *:BSD/OS:*:*)
+ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+ exit ;;
+ *:FreeBSD:*:*)
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
+ echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+ exit ;;
+ i*:CYGWIN*:*)
+ echo ${UNAME_MACHINE}-pc-cygwin
+ exit ;;
+ *:MINGW64*:*)
+ echo ${UNAME_MACHINE}-pc-mingw64
+ exit ;;
+ *:MINGW*:*)
+ echo ${UNAME_MACHINE}-pc-mingw32
+ exit ;;
+ *:MSYS*:*)
+ echo ${UNAME_MACHINE}-pc-msys
+ exit ;;
+ i*:windows32*:*)
+ # uname -m includes "-pc" on this system.
+ echo ${UNAME_MACHINE}-mingw32
+ exit ;;
+ i*:PW*:*)
+ echo ${UNAME_MACHINE}-pc-pw32
+ exit ;;
+ *:Interix*:*)
+ case ${UNAME_MACHINE} in
+ x86)
+ echo i586-pc-interix${UNAME_RELEASE}
+ exit ;;
+ authenticamd | genuineintel | EM64T)
+ echo x86_64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ IA64)
+ echo ia64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ esac ;;
+ [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+ echo i${UNAME_MACHINE}-pc-mks
+ exit ;;
+ 8664:Windows_NT:*)
+ echo x86_64-pc-mks
+ exit ;;
+ i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+ # UNAME_MACHINE based on the output of uname instead of i386?
+ echo i586-pc-interix
+ exit ;;
+ i*:UWIN*:*)
+ echo ${UNAME_MACHINE}-pc-uwin
+ exit ;;
+ amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
+ echo x86_64-unknown-cygwin
+ exit ;;
+ p*:CYGWIN*:*)
+ echo powerpcle-unknown-cygwin
+ exit ;;
+ prep*:SunOS:5.*:*)
+ echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ *:GNU:*:*)
+ # the GNU system
+ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+ exit ;;
+ *:GNU/*:*:*)
+ # other systems with GNU libc and userland
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
+ exit ;;
+ i*86:Minix:*:*)
+ echo ${UNAME_MACHINE}-pc-minix
+ exit ;;
+ aarch64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ aarch64_be:Linux:*:*)
+ UNAME_MACHINE=aarch64_be
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ alpha:Linux:*:*)
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+ EV5) UNAME_MACHINE=alphaev5 ;;
+ EV56) UNAME_MACHINE=alphaev56 ;;
+ PCA56) UNAME_MACHINE=alphapca56 ;;
+ PCA57) UNAME_MACHINE=alphapca56 ;;
+ EV6) UNAME_MACHINE=alphaev6 ;;
+ EV67) UNAME_MACHINE=alphaev67 ;;
+ EV68*) UNAME_MACHINE=alphaev68 ;;
+ esac
+ objdump --private-headers /bin/sh | grep -q ld.so.1
+ if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ arc:Linux:*:* | arceb:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ arm*:Linux:*:*)
+ eval $set_cc_for_build
+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_EABI__
+ then
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ else
+ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_PCS_VFP
+ then
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
+ else
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
+ fi
+ fi
+ exit ;;
+ avr32*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ cris:Linux:*:*)
+ echo ${UNAME_MACHINE}-axis-linux-${LIBC}
+ exit ;;
+ crisv32:Linux:*:*)
+ echo ${UNAME_MACHINE}-axis-linux-${LIBC}
+ exit ;;
+ e2k:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ frv:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ hexagon:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ i*86:Linux:*:*)
+ echo ${UNAME_MACHINE}-pc-linux-${LIBC}
+ exit ;;
+ ia64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ m32r*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ m68*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ mips:Linux:*:* | mips64:Linux:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #undef CPU
+ #undef ${UNAME_MACHINE}
+ #undef ${UNAME_MACHINE}el
+ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+ CPU=${UNAME_MACHINE}el
+ #else
+ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+ CPU=${UNAME_MACHINE}
+ #else
+ CPU=
+ #endif
+ #endif
+EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
+ ;;
+ openrisc*:Linux:*:*)
+ echo or1k-unknown-linux-${LIBC}
+ exit ;;
+ or32:Linux:*:* | or1k*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ padre:Linux:*:*)
+ echo sparc-unknown-linux-${LIBC}
+ exit ;;
+ parisc64:Linux:*:* | hppa64:Linux:*:*)
+ echo hppa64-unknown-linux-${LIBC}
+ exit ;;
+ parisc:Linux:*:* | hppa:Linux:*:*)
+ # Look for CPU level
+ case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+ PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
+ PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
+ *) echo hppa-unknown-linux-${LIBC} ;;
+ esac
+ exit ;;
+ ppc64:Linux:*:*)
+ echo powerpc64-unknown-linux-${LIBC}
+ exit ;;
+ ppc:Linux:*:*)
+ echo powerpc-unknown-linux-${LIBC}
+ exit ;;
+ ppc64le:Linux:*:*)
+ echo powerpc64le-unknown-linux-${LIBC}
+ exit ;;
+ ppcle:Linux:*:*)
+ echo powerpcle-unknown-linux-${LIBC}
+ exit ;;
+ s390:Linux:*:* | s390x:Linux:*:*)
+ echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
+ exit ;;
+ sh64*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ sh*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ sparc:Linux:*:* | sparc64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ tile*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ vax:Linux:*:*)
+ echo ${UNAME_MACHINE}-dec-linux-${LIBC}
+ exit ;;
+ x86_64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ xtensa*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ i*86:DYNIX/ptx:4*:*)
+ # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+ # earlier versions are messed up and put the nodename in both
+ # sysname and nodename.
+ echo i386-sequent-sysv4
+ exit ;;
+ i*86:UNIX_SV:4.2MP:2.*)
+ # Unixware is an offshoot of SVR4, but it has its own version
+ # number series starting with 2...
+ # I am not positive that other SVR4 systems won't match this,
+ # I just have to hope. -- rms.
+ # Use sysv4.2uw... so that sysv4* matches it.
+ echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+ exit ;;
+ i*86:OS/2:*:*)
+ # If we were able to find `uname', then EMX Unix compatibility
+ # is probably installed.
+ echo ${UNAME_MACHINE}-pc-os2-emx
+ exit ;;
+ i*86:XTS-300:*:STOP)
+ echo ${UNAME_MACHINE}-unknown-stop
+ exit ;;
+ i*86:atheos:*:*)
+ echo ${UNAME_MACHINE}-unknown-atheos
+ exit ;;
+ i*86:syllable:*:*)
+ echo ${UNAME_MACHINE}-pc-syllable
+ exit ;;
+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
+ echo i386-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ i*86:*DOS:*:*)
+ echo ${UNAME_MACHINE}-pc-msdosdjgpp
+ exit ;;
+ i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+ UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+ if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+ echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+ else
+ echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+ fi
+ exit ;;
+ i*86:*:5:[678]*)
+ # UnixWare 7.x, OpenUNIX and OpenServer 6.
+ case `/bin/uname -X | grep "^Machine"` in
+ *486*) UNAME_MACHINE=i486 ;;
+ *Pentium) UNAME_MACHINE=i586 ;;
+ *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+ esac
+ echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+ exit ;;
+ i*86:*:3.2:*)
+ if test -f /usr/options/cb.name; then
+ UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+ echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+ elif /bin/uname -X 2>/dev/null >/dev/null ; then
+ UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+ (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+ (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+ && UNAME_MACHINE=i586
+ (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+ && UNAME_MACHINE=i686
+ (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+ && UNAME_MACHINE=i686
+ echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+ else
+ echo ${UNAME_MACHINE}-pc-sysv32
+ fi
+ exit ;;
+ pc:*:*:*)
+ # Left here for compatibility:
+ # uname -m prints for DJGPP always 'pc', but it prints nothing about
+ # the processor, so we play safe by assuming i586.
+ # Note: whatever this is, it MUST be the same as what config.sub
+ # prints for the "djgpp" host, or else GDB configury will decide that
+ # this is a cross-build.
+ echo i586-pc-msdosdjgpp
+ exit ;;
+ Intel:Mach:3*:*)
+ echo i386-pc-mach3
+ exit ;;
+ paragon:*:*:*)
+ echo i860-intel-osf1
+ exit ;;
+ i860:*:4.*:*) # i860-SVR4
+ if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+ echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+ else # Add other i860-SVR4 vendors below as they are discovered.
+ echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
+ fi
+ exit ;;
+ mini*:CTIX:SYS*5:*)
+ # "miniframe"
+ echo m68010-convergent-sysv
+ exit ;;
+ mc68k:UNIX:SYSTEM5:3.51m)
+ echo m68k-convergent-sysv
+ exit ;;
+ M680?0:D-NIX:5.3:*)
+ echo m68k-diab-dnix
+ exit ;;
+ M68*:*:R3V[5678]*:*)
+ test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+ 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+ OS_REL=''
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4; exit; } ;;
+ NCR*:*:4.2:* | MPRAS*:*:4.2:*)
+ OS_REL='.3'
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+ echo m68k-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ mc68030:UNIX_System_V:4.*:*)
+ echo m68k-atari-sysv4
+ exit ;;
+ TSUNAMI:LynxOS:2.*:*)
+ echo sparc-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ rs6000:LynxOS:2.*:*)
+ echo rs6000-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
+ echo powerpc-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ SM[BE]S:UNIX_SV:*:*)
+ echo mips-dde-sysv${UNAME_RELEASE}
+ exit ;;
+ RM*:ReliantUNIX-*:*:*)
+ echo mips-sni-sysv4
+ exit ;;
+ RM*:SINIX-*:*:*)
+ echo mips-sni-sysv4
+ exit ;;
+ *:SINIX-*:*:*)
+ if uname -p 2>/dev/null >/dev/null ; then
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ echo ${UNAME_MACHINE}-sni-sysv4
+ else
+ echo ns32k-sni-sysv
+ fi
+ exit ;;
+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+ # says <Richard.M.Bartel@ccMail.Census.GOV>
+ echo i586-unisys-sysv4
+ exit ;;
+ *:UNIX_System_V:4*:FTX*)
+ # From Gerald Hewes <hewes@openmarket.com>.
+ # How about differentiating between stratus architectures? -djm
+ echo hppa1.1-stratus-sysv4
+ exit ;;
+ *:*:*:FTX*)
+ # From seanf@swdc.stratus.com.
+ echo i860-stratus-sysv4
+ exit ;;
+ i*86:VOS:*:*)
+ # From Paul.Green@stratus.com.
+ echo ${UNAME_MACHINE}-stratus-vos
+ exit ;;
+ *:VOS:*:*)
+ # From Paul.Green@stratus.com.
+ echo hppa1.1-stratus-vos
+ exit ;;
+ mc68*:A/UX:*:*)
+ echo m68k-apple-aux${UNAME_RELEASE}
+ exit ;;
+ news*:NEWS-OS:6*:*)
+ echo mips-sony-newsos6
+ exit ;;
+ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+ if [ -d /usr/nec ]; then
+ echo mips-nec-sysv${UNAME_RELEASE}
+ else
+ echo mips-unknown-sysv${UNAME_RELEASE}
+ fi
+ exit ;;
+ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
+ echo powerpc-be-beos
+ exit ;;
+ BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
+ echo powerpc-apple-beos
+ exit ;;
+ BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
+ echo i586-pc-beos
+ exit ;;
+ BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
+ echo i586-pc-haiku
+ exit ;;
+ x86_64:Haiku:*:*)
+ echo x86_64-unknown-haiku
+ exit ;;
+ SX-4:SUPER-UX:*:*)
+ echo sx4-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-5:SUPER-UX:*:*)
+ echo sx5-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-6:SUPER-UX:*:*)
+ echo sx6-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-7:SUPER-UX:*:*)
+ echo sx7-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8:SUPER-UX:*:*)
+ echo sx8-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8R:SUPER-UX:*:*)
+ echo sx8r-nec-superux${UNAME_RELEASE}
+ exit ;;
+ Power*:Rhapsody:*:*)
+ echo powerpc-apple-rhapsody${UNAME_RELEASE}
+ exit ;;
+ *:Rhapsody:*:*)
+ echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+ exit ;;
+ *:Darwin:*:*)
+ UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+ eval $set_cc_for_build
+ if test "$UNAME_PROCESSOR" = unknown ; then
+ UNAME_PROCESSOR=powerpc
+ fi
+ if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ case $UNAME_PROCESSOR in
+ i386) UNAME_PROCESSOR=x86_64 ;;
+ powerpc) UNAME_PROCESSOR=powerpc64 ;;
+ esac
+ fi
+ fi
+ elif test "$UNAME_PROCESSOR" = i386 ; then
+ # Avoid executing cc on OS X 10.9, as it ships with a stub
+ # that puts up a graphical alert prompting to install
+ # developer tools. Any system running Mac OS X 10.7 or
+ # later (Darwin 11 and later) is required to have a 64-bit
+ # processor. This is not true of the ARM version of Darwin
+ # that Apple uses in portable devices.
+ UNAME_PROCESSOR=x86_64
+ fi
+ echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+ exit ;;
+ *:procnto*:*:* | *:QNX:[0123456789]*:*)
+ UNAME_PROCESSOR=`uname -p`
+ if test "$UNAME_PROCESSOR" = "x86"; then
+ UNAME_PROCESSOR=i386
+ UNAME_MACHINE=pc
+ fi
+ echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+ exit ;;
+ *:QNX:*:4*)
+ echo i386-pc-qnx
+ exit ;;
+ NEO-?:NONSTOP_KERNEL:*:*)
+ echo neo-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ NSE-*:NONSTOP_KERNEL:*:*)
+ echo nse-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ NSR-?:NONSTOP_KERNEL:*:*)
+ echo nsr-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ *:NonStop-UX:*:*)
+ echo mips-compaq-nonstopux
+ exit ;;
+ BS2000:POSIX*:*:*)
+ echo bs2000-siemens-sysv
+ exit ;;
+ DS/*:UNIX_System_V:*:*)
+ echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+ exit ;;
+ *:Plan9:*:*)
+ # "uname -m" is not consistent, so use $cputype instead. 386
+ # is converted to i386 for consistency with other x86
+ # operating systems.
+ if test "$cputype" = "386"; then
+ UNAME_MACHINE=i386
+ else
+ UNAME_MACHINE="$cputype"
+ fi
+ echo ${UNAME_MACHINE}-unknown-plan9
+ exit ;;
+ *:TOPS-10:*:*)
+ echo pdp10-unknown-tops10
+ exit ;;
+ *:TENEX:*:*)
+ echo pdp10-unknown-tenex
+ exit ;;
+ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+ echo pdp10-dec-tops20
+ exit ;;
+ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+ echo pdp10-xkl-tops20
+ exit ;;
+ *:TOPS-20:*:*)
+ echo pdp10-unknown-tops20
+ exit ;;
+ *:ITS:*:*)
+ echo pdp10-unknown-its
+ exit ;;
+ SEI:*:*:SEIUX)
+ echo mips-sei-seiux${UNAME_RELEASE}
+ exit ;;
+ *:DragonFly:*:*)
+ echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+ exit ;;
+ *:*VMS:*:*)
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ case "${UNAME_MACHINE}" in
+ A*) echo alpha-dec-vms ; exit ;;
+ I*) echo ia64-dec-vms ; exit ;;
+ V*) echo vax-dec-vms ; exit ;;
+ esac ;;
+ *:XENIX:*:SysV)
+ echo i386-pc-xenix
+ exit ;;
+ i*86:skyos:*:*)
+ echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+ exit ;;
+ i*86:rdos:*:*)
+ echo ${UNAME_MACHINE}-pc-rdos
+ exit ;;
+ i*86:AROS:*:*)
+ echo ${UNAME_MACHINE}-pc-aros
+ exit ;;
+ x86_64:VMkernel:*:*)
+ echo ${UNAME_MACHINE}-unknown-esx
+ exit ;;
+esac
+
+cat >&2 <<EOF
+$0: unable to guess system type
+
+This script, last modified $timestamp, has failed to recognize
+the operating system you are using. It is advised that you
+download the most up to date version of the config scripts from
+
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+and
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+If the version you run ($0) is already up to date, please
+send the following data and any information you think might be
+pertinent to <config-patches@gnu.org> in order to provide the needed
+information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo = `(hostinfo) 2>/dev/null`
+/bin/universe = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/test-ports/Templates/config.site b/test-ports/Templates/config.site
new file mode 100644
index 00000000..aca988ee
--- /dev/null
+++ b/test-ports/Templates/config.site
@@ -0,0 +1,986 @@
+# $FreeBSD: head/Templates/config.site 414724 2016-05-06 20:57:55Z marino $
+# Do not add:
+# - toolchain related
+# - arch-dependent values
+# - anything "=no" unless guaranteed to never be
+# implemented in FreeBSD
+# - also avoid "working" values
+# This file must reflect the oldest supported Release.
+#
+#MAINTAINER= portmgr@FreeBSD.org
+
+# Path
+: ${ac_cv_path_BZIP2=/usr/bin/bzip2}
+: ${ac_cv_path_EGREP=/usr/bin/egrep}
+: ${ac_cv_path_FGREP=/usr/bin/fgrep}
+: ${ac_cv_path_GREP=/usr/bin/grep}
+: ${ac_cv_path_GZIP=/usr/bin/gzip}
+: ${ac_cv_path_MKTEMP_COMMAND=/usr/bin/mktemp}
+: ${ac_cv_path_SED=/usr/bin/sed}
+: ${ac_cv_path_install=/usr/bin/install}
+: ${ac_cv_path_mkdir=/bin/mkdir}
+: ${ac_cv_prog_AWK=/usr/bin/awk}
+: ${ac_cv_prog_SED=/usr/bin/sed}
+: ${am_cv_prog_tar_ustar=/usr/bin/tar}
+: ${cl_cv_prog_LN=/bin/ln}
+: ${cl_cv_prog_cp='/bin/cp -p'}
+: ${lt_cv_path_MAGIC_CMD=/usr/bin/file}
+
+# Headers
+: ${ac_cv_header_alloca_h=no}
+: ${ac_cv_header_arpa_inet_h=yes}
+: ${ac_cv_header_arpa_nameser_h=yes}
+: ${ac_cv_header_ctype_h=yes}
+: ${ac_cv_header_dirent_h=yes}
+: ${ac_cv_header_dlfcn_h=yes}
+: ${ac_cv_header_elf_h=yes}
+: ${ac_cv_header_errno_h=yes}
+: ${ac_cv_header_fcntl_h=yes}
+: ${ac_cv_header_float_h=yes}
+: ${ac_cv_header_floatingpoint_h=yes}
+: ${ac_cv_header_getopt_h=yes}
+: ${ac_cv_header_glob_h=yes}
+: ${ac_cv_header_inttypes_h=yes}
+: ${ac_cv_header_langinfo_h=yes}
+: ${ac_cv_header_libgen_h=yes}
+: ${ac_cv_header_libutil_h=yes}
+: ${ac_cv_header_limits_h=yes}
+: ${ac_cv_header_login_cap_h=yes}
+: ${ac_cv_header_math_h=yes}
+: ${ac_cv_header_memory_h=yes}
+: ${ac_cv_header_minix_config_h=no}
+: ${ac_cv_header_net_if_h=yes}
+: ${ac_cv_header_net_if_media_h=yes}
+: ${ac_cv_header_net_if_tap_h=yes}
+: ${ac_cv_header_net_if_tun_h=yes}
+: ${ac_cv_header_netdb_h=yes}
+: ${ac_cv_header_netinet_in_h=yes}
+: ${ac_cv_header_paths_h=yes}
+: ${ac_cv_header_poll_h=yes}
+: ${ac_cv_header_pwd_h=yes}
+: ${ac_cv_header_readpassphrase_h=yes}
+: ${ac_cv_header_resolv_h=yes}
+: ${ac_cv_header_rpc_types_h=yes}
+: ${ac_cv_header_sched_h=yes}
+: ${ac_cv_header_search_h=yes}
+: ${ac_cv_header_security_pam_appl_h=yes}
+: ${ac_cv_header_signal_h=yes}
+: ${ac_cv_header_spawn_h=yes}
+: ${ac_cv_header_stdarg_h=yes}
+: ${ac_cv_header_stdbool_h=yes}
+: ${ac_cv_header_stdc=yes}
+: ${ac_cv_header_stddef_h=yes}
+: ${ac_cv_header_stdint_h=yes}
+: ${ac_cv_header_stdio_h=yes}
+: ${ac_cv_header_stdlib_h=yes}
+: ${ac_cv_header_string_h=yes}
+: ${ac_cv_header_strings_h=yes}
+: ${ac_cv_header_sys_acl_h=yes}
+: ${ac_cv_header_sys_cdefs_h=yes}
+: ${ac_cv_header_sys_dir_h=yes}
+: ${ac_cv_header_sys_fcntl_h=yes}
+: ${ac_cv_header_sys_file_h=yes}
+: ${ac_cv_header_sys_ioctl_h=yes}
+: ${ac_cv_header_sys_mman_h=yes}
+: ${ac_cv_header_sys_mount_h=yes}
+: ${ac_cv_header_sys_msg_h=yes}
+: ${ac_cv_header_sys_param_h=yes}
+: ${ac_cv_header_sys_poll_h=yes}
+: ${ac_cv_header_sys_ptrace_h=yes}
+: ${ac_cv_header_sys_select_h=yes}
+: ${ac_cv_header_sys_socket_h=yes}
+: ${ac_cv_header_sys_stat_h=yes}
+: ${ac_cv_header_sys_statvfs_h=yes}
+: ${ac_cv_header_sys_time_h=yes}
+: ${ac_cv_header_sys_timers_h=yes}
+: ${ac_cv_header_sys_times_h=yes}
+: ${ac_cv_header_sys_types_h=yes}
+: ${ac_cv_header_sys_un_h=yes}
+: ${ac_cv_header_sys_wait_h=yes}
+: ${ac_cv_header_time_h=yes}
+: ${ac_cv_header_ttyent_h=yes}
+: ${ac_cv_header_ucontext_h=yes}
+: ${ac_cv_header_unistd_h=yes}
+: ${ac_cv_header_utime_h=yes}
+: ${ac_cv_header_vis_h=yes}
+: ${ac_cv_header_wchar_h=yes}
+: ${ac_cv_header_wctype_h=yes}
+: ${ac_cv_header_zlib_h=yes}
+
+: ${gl_cv_header_wchar_h_correct_inline=yes}
+
+: ${ac_cv_header_argz_h=no}
+: ${ac_cv_header_byteswap_h=no}
+: ${ac_cv_header_dl_h=no}
+: ${ac_cv_header_malloc_h=no}
+: ${ac_cv_header_random_h=no}
+: ${ac_cv_header_vfork_h=no}
+
+# This appears in FreeBSD 10 do not cache it.
+#: ${gl_cv_have_raw_decl_strchrnul=yes}
+: ${gl_cv_have_raw_decl_memcpy=no}
+: ${gl_cv_have_raw_decl_memmem=yes}
+: ${gl_cv_have_raw_decl_memrchr=yes}
+: ${gl_cv_have_raw_decl_rawmemchr=yes}
+: ${gl_cv_have_raw_decl_stpcpy=yes}
+: ${gl_cv_have_raw_decl_stpncpy=yes}
+: ${gl_cv_have_raw_decl_strcasestr=yes}
+: ${gl_cv_have_raw_decl_strdup=yes}
+: ${gl_cv_have_raw_decl_strncat=yes}
+: ${gl_cv_have_raw_decl_strndup=yes}
+: ${gl_cv_have_raw_decl_strnlen=yes}
+: ${gl_cv_have_raw_decl_strpbrk=yes}
+: ${gl_cv_have_raw_decl_strsep=yes}
+: ${gl_cv_have_raw_decl_strsignal=yes}
+: ${gl_cv_have_raw_decl_strtok_r=yes}
+: ${gl_cv_have_raw_decl_strverscmp=no}
+
+# Type
+: ${ac_cv_c_int16_t=yes}
+: ${ac_cv_c_int32_t=yes}
+: ${ac_cv_c_int64_t=yes}
+: ${ac_cv_c_int8_t=yes}
+: ${ac_cv_c_uint16_t=yes}
+: ${ac_cv_c_uint32_t=yes}
+: ${ac_cv_c_uint64_t=yes}
+: ${ac_cv_c_uint8_t=yes}
+
+: ${ac_cv_type__Bool=yes}
+: ${ac_cv_type_char=yes}
+: ${ac_cv_type_char_p=yes}
+: ${ac_cv_type_fsblkcnt_t=yes}
+: ${ac_cv_type_fsfilcnt_t=yes}
+: ${ac_cv_type_in_addr_t=yes}
+: ${ac_cv_type_in_port_t=yes}
+: ${ac_cv_type_int16_t=yes}
+: ${ac_cv_type_int32_t=yes}
+: ${ac_cv_type_int=yes}
+: ${ac_cv_type_intmax_t=yes}
+: ${ac_cv_type_long=yes}
+: ${ac_cv_type_long_double=yes}
+: ${ac_cv_type_long_long=yes}
+: ${ac_cv_type_long_long_int=yes}
+: ${ac_cv_type_mbstate_t=yes}
+: ${ac_cv_type_mode_t=yes}
+: ${ac_cv_type_nlink_t=yes}
+: ${ac_cv_type_off_t=yes}
+: ${ac_cv_type_pid_t=yes}
+: ${ac_cv_type_posix_spawn_file_actions_t=yes}
+: ${ac_cv_type_posix_spawnattr_t=yes}
+: ${ac_cv_type_ptrdiff_t=yes}
+: ${ac_cv_type_short=yes}
+: ${ac_cv_type_sig_atomic_t=yes}
+: ${ac_cv_type_sigset_t=yes}
+: ${ac_cv_type_size_t=yes}
+: ${ac_cv_type_socklen_t=yes}
+: ${ac_cv_type_ssize_t=yes}
+: ${ac_cv_type_stack_t=yes}
+: ${ac_cv_type_struct_timespec=yes}
+: ${ac_cv_type_u_char=yes}
+: ${ac_cv_type_u_int16_t=yes}
+: ${ac_cv_type_u_int32_t=yes}
+: ${ac_cv_type_u_int8_t=yes}
+: ${ac_cv_type_u_int=yes}
+: ${ac_cv_type_u_long=yes}
+: ${ac_cv_type_u_short=yes}
+: ${ac_cv_type_uid_t=yes}
+: ${ac_cv_type_uintptr_t=yes}
+: ${ac_cv_type_unsigned_char=yes}
+: ${ac_cv_type_unsigned_int=yes}
+: ${ac_cv_type_unsigned_long=yes}
+: ${ac_cv_type_unsigned_long_long=yes}
+: ${ac_cv_type_unsigned_long_long_int=yes}
+: ${ac_cv_type_unsigned_short=yes}
+: ${ac_cv_type_volatile_sig_atomic_t=yes}
+: ${ac_cv_type_wchar_t=yes}
+: ${ac_cv_type_wint_t=yes}
+
+: ${gl_cv_sigaltstack_low_base=yes}
+: ${gl_cv_size_max=yes}
+: ${gl_cv_type_sigset_t=yes}
+: ${gl_cv_type_wchar_t_signed=yes}
+: ${gl_cv_type_wctrans_t=yes}
+: ${gl_cv_type_wctype_t=yes}
+: ${gl_cv_type_wint_t_signed=yes}
+: ${gl_cv_var_stdin_large_offset=yes}
+: ${gt_cv_c_intmax_t=yes}
+: ${gt_cv_c_wchar_t=yes}
+: ${gt_cv_c_wint_t=yes}
+: ${gt_cv_func_printf_posix=yes}
+: ${gt_cv_int_divbyzero_sigfpe=yes}
+: ${gt_cv_siginfo_t=yes}
+: ${gt_cv_ssize_t=yes}
+
+# lib
+: ${ac_cv_lib_crypt_crypt=yes}
+: ${ac_cv_lib_edit_el_init=yes}
+: ${ac_cv_lib_pam_pam_set_item=yes}
+: ${ac_cv_lib_z_deflate=yes}
+: ${ac_cv_libc_defines___progname=yes}
+: ${ac_cv_libc_defines_sys_errlist=yes}
+: ${ac_cv_libc_defines_sys_nerr=yes}
+
+# Struct
+: ${ac_cv_member_HEADER_ad=yes}
+: ${ac_cv_member_struct___res_state_retrans=yes}
+: ${ac_cv_member_struct_sigaction_sa_sigaction=yes}
+: ${ac_cv_member_struct_sockaddr_in6_sin6_scope_id=yes}
+: ${ac_cv_member_struct_stat_st_blksize=yes}
+
+: ${gl_cv_sys_struct_timespec_in_time_h=yes}
+: ${gl_cv_sys_struct_timeval=yes}
+
+# Has appearred in FreeBSD 10
+#: ${ac_cv_func_waitid=yes}
+# Has appearred in FreeBSD 10
+#: ${ac_cv_func_strchrnul=yes}
+# Has appearred in FreeBSD 9
+#: ${ac_cv_func_uselocale=yes}
+#: ${ac_cv_func_newlocale=yes}
+
+# Functions
+: ${ac_cv_func___b64_ntop=yes}
+: ${ac_cv_func___b64_pton=yes}
+: ${ac_cv_func__getlong=yes}
+: ${ac_cv_func__getshort=yes}
+: ${ac_cv_func__getshort=yes}
+: ${ac_cv_func__stat=yes}
+: ${ac_cv_func_acl_create_entry_np=yes}
+: ${ac_cv_func_acl_delete_def_file=yes}
+: ${ac_cv_func_acl_delete_fd_np=yes}
+: ${ac_cv_func_acl_delete_file_np=yes}
+: ${ac_cv_func_acl_free=yes}
+: ${ac_cv_func_acl_from_text=yes}
+: ${ac_cv_func_acl_get_fd=yes}
+: ${ac_cv_func_acl_get_file=yes}
+: ${ac_cv_func_acl_set_fd=yes}
+: ${ac_cv_func_acl_set_file=yes}
+: ${ac_cv_func_alarm=yes}
+: ${ac_cv_func_alloca=yes}
+: ${ac_cv_func_arc4random=yes}
+: ${ac_cv_func_arc4random_buf=yes}
+: ${ac_cv_func_arc4random_uniform=yes}
+: ${ac_cv_func_asprintf=yes}
+: ${ac_cv_func_atexit=yes}
+: ${ac_cv_func_bcmp=yes}
+: ${ac_cv_func_bcopy=yes}
+: ${ac_cv_func_bindresvport_sa=yes}
+: ${ac_cv_func_btowc=yes}
+: ${ac_cv_func_bzero=yes}
+: ${ac_cv_func_chown=yes}
+: ${ac_cv_func_clock=yes}
+: ${ac_cv_func_clock_gettime=yes}
+: ${ac_cv_func_closedir=yes}
+: ${ac_cv_func_closefrom=yes}
+: ${ac_cv_func_daemon=yes}
+: ${ac_cv_func_dirname=yes}
+: ${ac_cv_func_dlopen=yes}
+: ${ac_cv_func_dup2=yes}
+: ${ac_cv_func_eaccess=yes}
+: ${ac_cv_func_fchmod=yes}
+: ${ac_cv_func_fchown=yes}
+: ${ac_cv_func_fcntl=yes}
+: ${ac_cv_func_fileno=yes}
+: ${ac_cv_func_fork=yes}
+: ${ac_cv_func_fpurge=yes}
+: ${ac_cv_func_freeaddrinfo=yes}
+: ${ac_cv_func_fstatvfs=yes}
+: ${ac_cv_func_fsync=yes}
+: ${ac_cv_func_futimes=yes}
+: ${ac_cv_func_fwprintf=yes}
+: ${ac_cv_func_gai_strerror=yes}
+: ${ac_cv_func_getaddrinfo=yes}
+: ${ac_cv_func_getcwd=yes}
+: ${ac_cv_func_getdelim=yes}
+: ${ac_cv_func_getdtablesize=yes}
+: ${ac_cv_func_getegid=yes}
+: ${ac_cv_func_geteuid=yes}
+: ${ac_cv_func_getgid=yes}
+: ${ac_cv_func_getgrouplist=yes}
+: ${ac_cv_func_gethostbyname=yes}
+: ${ac_cv_func_gethostname=yes}
+: ${ac_cv_func_getline=yes}
+: ${ac_cv_func_getnameinfo=yes}
+: ${ac_cv_func_getopt=yes}
+: ${ac_cv_func_getopt_long_only=yes}
+: ${ac_cv_func_getpagesize=yes}
+: ${ac_cv_func_getpeereid=yes}
+: ${ac_cv_func_getpgid=yes}
+: ${ac_cv_func_getpgrp=yes}
+: ${ac_cv_func_getpgrp_void=yes}
+: ${ac_cv_func_getpid=yes}
+: ${ac_cv_func_getrlimit=yes}
+: ${ac_cv_func_getrusage=yes}
+: ${ac_cv_func_gettimeofday=yes}
+: ${ac_cv_func_getttyent=yes}
+: ${ac_cv_func_getuid=yes}
+: ${ac_cv_func_getwd=yes}
+: ${ac_cv_func_glob=yes}
+: ${ac_cv_func_group_from_gid=yes}
+: ${ac_cv_func_inet_aton=yes}
+: ${ac_cv_func_inet_ntoa=yes}
+: ${ac_cv_func_inet_ntop=yes}
+: ${ac_cv_func_innetgr=yes}
+: ${ac_cv_func_isascii=yes}
+: ${ac_cv_func_isascii=yes}
+: ${ac_cv_func_isblank=yes}
+: ${ac_cv_func_issetugid=yes}
+: ${ac_cv_func_iswblank=yes}
+: ${ac_cv_func_iswcntrl=yes}
+: ${ac_cv_func_iswctype=yes}
+: ${ac_cv_func_link=yes}
+: ${ac_cv_func_localtime=yes}
+: ${ac_cv_func_lstat=yes}
+: ${ac_cv_func_lstat_dereferences_slashed_symlink=yes}
+: ${ac_cv_func_malloc_0_nonnull=yes}
+: ${ac_cv_func_mbrlen=yes}
+: ${ac_cv_func_mbrtowc=yes}
+: ${ac_cv_func_mbsinit=yes}
+: ${ac_cv_func_mbsrtowcs=yes}
+: ${ac_cv_func_memchr=yes}
+: ${ac_cv_func_memcmp=yes}
+: ${ac_cv_func_memcpy=yes}
+: ${ac_cv_func_memmove=yes}
+: ${ac_cv_func_memset=yes}
+: ${ac_cv_func_mkdtemp=yes}
+: ${ac_cv_func_mkstemp=yes}
+: ${ac_cv_func_mktemp=yes}
+: ${ac_cv_func_mlock=yes}
+: ${ac_cv_func_mmap=yes}
+: ${ac_cv_func_mmap_fixed_mapped=yes}
+: ${ac_cv_func_mprotect=yes}
+: ${ac_cv_func_munlock=yes}
+: ${ac_cv_func_munmap=yes}
+: ${ac_cv_func_nl_langinfo=yes}
+: ${ac_cv_func_opendir=yes}
+: ${ac_cv_func_pam_getenvlist=yes}
+: ${ac_cv_func_pam_putenv=yes}
+: ${ac_cv_func_pathconf=yes}
+: ${ac_cv_func_pipe=yes}
+: ${ac_cv_func_poll=yes}
+: ${ac_cv_func_posix_spawn=yes}
+: ${ac_cv_func_pread=yes}
+: ${ac_cv_func_pthread_cond_broadcast=yes}
+: ${ac_cv_func_pthread_cond_destroy=yes}
+: ${ac_cv_func_pthread_cond_init=yes}
+: ${ac_cv_func_pthread_cond_signal=yes}
+: ${ac_cv_func_pthread_cond_timedwait=yes}
+: ${ac_cv_func_pthread_cond_wait=yes}
+: ${ac_cv_func_pthread_equal=yes}
+: ${ac_cv_func_pthread_exit=yes}
+: ${ac_cv_func_pthread_mutex_destroy=yes}
+: ${ac_cv_func_pthread_mutex_init=yes}
+: ${ac_cv_func_pthread_mutex_lock=yes}
+: ${ac_cv_func_pthread_mutex_unlock=yes}
+: ${ac_cv_func_pthread_self=yes}
+: ${ac_cv_func_putenv=yes}
+: ${ac_cv_func_pwrite=yes}
+: ${ac_cv_func_raise=yes}
+: ${ac_cv_func_rand=yes}
+: ${ac_cv_func_random=yes}
+: ${ac_cv_func_readdir=yes}
+: ${ac_cv_func_readlink=yes}
+: ${ac_cv_func_readlinkat=yes}
+: ${ac_cv_func_readpassphrase=yes}
+: ${ac_cv_func_realpath=yes}
+: ${ac_cv_func_recvmsg=yes}
+: ${ac_cv_func_rename=yes}
+: ${ac_cv_func_rresvport_af=yes}
+: ${ac_cv_func_sched_yield=yes}
+: ${ac_cv_func_select=yes}
+: ${ac_cv_func_sendmsg=yes}
+: ${ac_cv_func_setegid=yes}
+: ${ac_cv_func_setenv=yes}
+: ${ac_cv_func_seteuid=yes}
+: ${ac_cv_func_setgroupent=yes}
+: ${ac_cv_func_setgroups=yes}
+: ${ac_cv_func_setlinebuf=yes}
+: ${ac_cv_func_setlocale=yes}
+: ${ac_cv_func_setlogin=yes}
+: ${ac_cv_func_setpassent=yes}
+: ${ac_cv_func_setproctitle=yes}
+: ${ac_cv_func_setregid=yes}
+: ${ac_cv_func_setresgid=yes}
+: ${ac_cv_func_setresuid=yes}
+: ${ac_cv_func_setreuid=yes}
+: ${ac_cv_func_setrlimit=yes}
+: ${ac_cv_func_setsid=yes}
+: ${ac_cv_func_setsockopt=yes}
+: ${ac_cv_func_setvbuf=yes}
+: ${ac_cv_func_shmget=yes}
+: ${ac_cv_func_sigaction=yes}
+: ${ac_cv_func_sigaltstack=yes}
+: ${ac_cv_func_siginterrupt=yes}
+: ${ac_cv_func_sigprocmask=yes}
+: ${ac_cv_func_sigvec=yes}
+: ${ac_cv_func_sleep=yes}
+: ${ac_cv_func_snprintf=yes}
+: ${ac_cv_func_socketpair=yes}
+: ${ac_cv_func_srand=yes}
+: ${ac_cv_func_srandom=yes}
+: ${ac_cv_func_stat=yes}
+: ${ac_cv_func_statfs=yes}
+: ${ac_cv_func_statvfs=yes}
+: ${ac_cv_func_stpcpy=yes}
+: ${ac_cv_func_stpncpy=yes}
+: ${ac_cv_func_strbrk=yes}
+: ${ac_cv_func_strcasecmp=yes}
+: ${ac_cv_func_strcspn=yes}
+: ${ac_cv_func_strdup=yes}
+: ${ac_cv_func_strerror=yes}
+: ${ac_cv_func_strerror_r=yes}
+: ${ac_cv_func_strftime=yes}
+: ${ac_cv_func_strlcat=yes}
+: ${ac_cv_func_strlcpy=yes}
+: ${ac_cv_func_strlen=yes}
+: ${ac_cv_func_strmode=yes}
+: ${ac_cv_func_strncasecmp=yes}
+: ${ac_cv_func_strndup=yes}
+: ${ac_cv_func_strnlen=yes}
+: ${ac_cv_func_strnlen_working=yes}
+: ${ac_cv_func_strpbrk=yes}
+: ${ac_cv_func_strptime=yes}
+: ${ac_cv_func_strsep=yes}
+: ${ac_cv_func_strsignal=yes}
+: ${ac_cv_func_strtol=yes}
+: ${ac_cv_func_strtoll=yes}
+: ${ac_cv_func_strtonum=yes}
+: ${ac_cv_func_strtoul=yes}
+: ${ac_cv_func_strtoull=yes}
+: ${ac_cv_func_symlink=yes}
+: ${ac_cv_func_sysconf=yes}
+: ${ac_cv_func_tcgetpgrp=yes}
+: ${ac_cv_func_time=yes}
+: ${ac_cv_func_towlower=yes}
+: ${ac_cv_func_truncate=yes}
+: ${ac_cv_func_tsearch=yes}
+: ${ac_cv_func_uname=yes}
+: ${ac_cv_func_unsetenv=yes}
+: ${ac_cv_func_user_from_uid=yes}
+: ${ac_cv_func_usleep=yes}
+: ${ac_cv_func_utime=yes}
+: ${ac_cv_func_utimes=yes}
+: ${ac_cv_func_vasprintf=yes}
+: ${ac_cv_func_vfork=yes}
+: ${ac_cv_func_vprintf=yes}
+: ${ac_cv_func_vsnprintf=yes}
+: ${ac_cv_func_vsprintf=yes}
+: ${ac_cv_func_waitpid=yes}
+: ${ac_cv_func_wcrtomb=yes}
+: ${ac_cv_func_wcscoll=yes}
+: ${ac_cv_func_wcslen=yes}
+: ${ac_cv_func_wcsnlen=yes}
+: ${ac_cv_func_wctob=yes}
+: ${ac_cv_func_wcwidth=yes}
+: ${ac_cv_func_wmemchr=yes}
+: ${ac_cv_func_wmemcpy=yes}
+: ${ac_cv_func_yp_match=yes}
+
+# non existing functions
+: ${ac_cv_func_argz_count=no}
+: ${ac_cv_func_argz_next=no}
+: ${ac_cv_func_argz_stringify=no}
+: ${ac_cv_func_obstacks=no}
+: ${ac_cv_func_pstat_getdynamic=no}
+: ${ac_cv_func_rawmemchr=no}
+: ${ac_cv_func_yield=no}
+
+: ${ac_cv_have___va_copy=yes}
+: ${ac_cv_have_clock_t=yes}
+: ${ac_cv_have_control_in_msghdr=yes}
+: ${ac_cv_have_getopt_optreset=yes}
+: ${ac_cv_have_int64_t=yes}
+: ${ac_cv_have_intxx_t=yes}
+: ${ac_cv_have_mode_t=yes}
+: ${ac_cv_have_pid_t=yes}
+: ${ac_cv_have_pw_change_in_struct_passwd=yes}
+: ${ac_cv_have_pw_class_in_struct_passwd=yes}
+: ${ac_cv_have_pw_expire_in_struct_passwd=yes}
+: ${ac_cv_have_sa_family_t=yes}
+: ${ac_cv_have_size_t=yes}
+: ${ac_cv_have_ss_family_in_struct_ss=yes}
+: ${ac_cv_have_ssize_t=yes}
+: ${ac_cv_have_struct_addrinfo=yes}
+: ${ac_cv_have_struct_in6_addr=yes}
+: ${ac_cv_have_struct_sockaddr_in6=yes}
+: ${ac_cv_have_struct_sockaddr_storage=yes}
+: ${ac_cv_have_struct_timeval=yes}
+: ${ac_cv_have_u_char=yes}
+: ${ac_cv_have_u_int64_t=yes}
+: ${ac_cv_have_u_int=yes}
+: ${ac_cv_have_u_intxx_t=yes}
+: ${ac_cv_have_va_copy=yes}
+
+: ${ac_cv_have_decl_GLOB_NOMATCH=yes}
+: ${ac_cv_have_decl_LLONG_MAX=yes}
+: ${ac_cv_have_decl_MAXSYMLINKS=yes}
+: ${ac_cv_have_decl_O_NONBLOCK=yes}
+: ${ac_cv_have_decl_RLIMIT_NPROC=yes}
+: ${ac_cv_have_decl_SHUT_RD=yes}
+: ${ac_cv_have_decl__Exit=yes}
+: ${ac_cv_have_decl_alarm=yes}
+: ${ac_cv_have_decl_alphasort=yes}
+: ${ac_cv_have_decl_atoll=yes}
+: ${ac_cv_have_decl_btowc=yes}
+: ${ac_cv_have_decl_chdir=yes}
+: ${ac_cv_have_decl_chown=yes}
+: ${ac_cv_have_decl_clearerr_unlocked=yes}
+: ${ac_cv_have_decl_closedir=yes}
+: ${ac_cv_have_decl_dprintf=yes}
+: ${ac_cv_have_decl_dup2=yes}
+: ${ac_cv_have_decl_dup=yes}
+: ${ac_cv_have_decl_endusershell=yes}
+: ${ac_cv_have_decl_faccessat=yes}
+: ${ac_cv_have_decl_fchdir=yes}
+: ${ac_cv_have_decl_fchmodat=yes}
+: ${ac_cv_have_decl_fchownat=yes}
+: ${ac_cv_have_decl_fcntl=yes}
+: ${ac_cv_have_decl_fdopendir=yes}
+: ${ac_cv_have_decl_feof_unlocked=yes}
+: ${ac_cv_have_decl_feof_unlocked_fgets_unlocked=yes}
+: ${ac_cv_have_decl_ferror_unlocked=yes}
+: ${ac_cv_have_decl_ffsl=yes}
+: ${ac_cv_have_decl_ffsll=yes}
+: ${ac_cv_have_decl_fpurge=yes}
+: ${ac_cv_have_decl_frexpl=yes}
+: ${ac_cv_have_decl_fseeko=yes}
+: ${ac_cv_have_decl_fstat=yes}
+: ${ac_cv_have_decl_fstatat=yes}
+: ${ac_cv_have_decl_fsync=yes}
+: ${ac_cv_have_decl_ftello=yes}
+: ${ac_cv_have_decl_ftruncate=yes}
+: ${ac_cv_have_decl_getc_unlocked=yes}
+: ${ac_cv_have_decl_getchar_unlocked=yes}
+: ${ac_cv_have_decl_getcwd=yes}
+: ${ac_cv_have_decl_getdelim=yes}
+: ${ac_cv_have_decl_getdomainname=yes}
+: ${ac_cv_have_decl_getdtablesize=yes}
+: ${ac_cv_have_decl_getenv=yes}
+: ${ac_cv_have_decl_getgroups=yes}
+: ${ac_cv_have_decl_gethostname=yes}
+: ${ac_cv_have_decl_getline=yes}
+: ${ac_cv_have_decl_getloadavg=yes}
+: ${ac_cv_have_decl_getlogin=yes}
+: ${ac_cv_have_decl_getlogin_r=yes}
+: ${ac_cv_have_decl_getpagesize=yes}
+: ${ac_cv_have_decl_gets=yes}
+: ${ac_cv_have_decl_getsubopt=yes}
+: ${ac_cv_have_decl_gettimeofday=yes}
+: ${ac_cv_have_decl_getusershell=yes}
+: ${ac_cv_have_decl_grantpt=yes}
+: ${ac_cv_have_decl_h_errno=yes}
+: ${ac_cv_have_decl_imaxabs=yes}
+: ${ac_cv_have_decl_imaxdiv=yes}
+: ${ac_cv_have_decl_initstate=yes}
+: ${ac_cv_have_decl_isatty=yes}
+: ${ac_cv_have_decl_isblank=yes}
+: ${ac_cv_have_decl_iswblank=yes}
+: ${ac_cv_have_decl_iswctype=yes}
+: ${ac_cv_have_decl_lchmod=yes}
+: ${ac_cv_have_decl_lchown=yes}
+: ${ac_cv_have_decl_link=yes}
+: ${ac_cv_have_decl_linkat=yes}
+: ${ac_cv_have_decl_lseek=yes}
+: ${ac_cv_have_decl_lstat=yes}
+: ${ac_cv_have_decl_mbrlen=yes}
+: ${ac_cv_have_decl_mbrtowc=yes}
+: ${ac_cv_have_decl_mbsinit=yes}
+: ${ac_cv_have_decl_mbsnrtowcs=yes}
+: ${ac_cv_have_decl_mbsrtowcs=yes}
+: ${ac_cv_have_decl_memmem=yes}
+: ${ac_cv_have_decl_memrchr=yes}
+: ${ac_cv_have_decl_mkdirat=yes}
+: ${ac_cv_have_decl_mkdtemp=yes}
+: ${ac_cv_have_decl_mkfifo=yes}
+: ${ac_cv_have_decl_mkfifoat=yes}
+: ${ac_cv_have_decl_mknod=yes}
+: ${ac_cv_have_decl_mknodat=yes}
+: ${ac_cv_have_decl_mkstemp=yes}
+: ${ac_cv_have_decl_nl_langinfo=yes}
+: ${ac_cv_have_decl_offsetof=yes}
+: ${ac_cv_have_decl_openat=yes}
+: ${ac_cv_have_decl_opendir=yes}
+: ${ac_cv_have_decl_pclose=yes}
+: ${ac_cv_have_decl_pipe=yes}
+: ${ac_cv_have_decl_popen=yes}
+: ${ac_cv_have_decl_posix_openpt=yes}
+: ${ac_cv_have_decl_posix_spawn=yes}
+: ${ac_cv_have_decl_posix_spawn_file_actions_addclose=yes}
+: ${ac_cv_have_decl_posix_spawn_file_actions_adddup2=yes}
+: ${ac_cv_have_decl_posix_spawn_file_actions_addopen=yes}
+: ${ac_cv_have_decl_posix_spawn_file_actions_destroy=yes}
+: ${ac_cv_have_decl_posix_spawn_file_actions_init=yes}
+: ${ac_cv_have_decl_posix_spawnattr_destroy=yes}
+: ${ac_cv_have_decl_posix_spawnattr_getflags=yes}
+: ${ac_cv_have_decl_posix_spawnattr_getpgroup=yes}
+: ${ac_cv_have_decl_posix_spawnattr_getschedparam=yes}
+: ${ac_cv_have_decl_posix_spawnattr_getschedpolicy=yes}
+: ${ac_cv_have_decl_posix_spawnattr_getsigdefault=yes}
+: ${ac_cv_have_decl_posix_spawnattr_getsigmask=yes}
+: ${ac_cv_have_decl_posix_spawnattr_init=yes}
+: ${ac_cv_have_decl_posix_spawnattr_setflags=yes}
+: ${ac_cv_have_decl_posix_spawnattr_setpgroup=yes}
+: ${ac_cv_have_decl_posix_spawnattr_setschedparam=yes}
+: ${ac_cv_have_decl_posix_spawnattr_setschedpolicy=yes}
+: ${ac_cv_have_decl_posix_spawnattr_setsigdefault=yes}
+: ${ac_cv_have_decl_posix_spawnattr_setsigmask=yes}
+: ${ac_cv_have_decl_posix_spawnp=yes}
+: ${ac_cv_have_decl_pread=yes}
+: ${ac_cv_have_decl_pselect=yes}
+: ${ac_cv_have_decl_pthread_sigmask=yes}
+: ${ac_cv_have_decl_ptsname=yes}
+: ${ac_cv_have_decl_putc_unlocked=yes}
+: ${ac_cv_have_decl_putchar_unlocked=yes}
+: ${ac_cv_have_decl_pwrite=yes}
+: ${ac_cv_have_decl_random=yes}
+: ${ac_cv_have_decl_rawmemchr=yes}
+: ${ac_cv_have_decl_readdir=yes}
+: ${ac_cv_have_decl_readlink=yes}
+: ${ac_cv_have_decl_readlinkat=yes}
+: ${ac_cv_have_decl_realpath=yes}
+: ${ac_cv_have_decl_renameat=yes}
+: ${ac_cv_have_decl_rewinddir=yes}
+: ${ac_cv_have_decl_rmdir=yes}
+: ${ac_cv_have_decl_rpmatch=yes}
+: ${ac_cv_have_decl_scandir=yes}
+: ${ac_cv_have_decl_select=yes}
+: ${ac_cv_have_decl_setenv=yes}
+: ${ac_cv_have_decl_sethostname=yes}
+: ${ac_cv_have_decl_setlocale=yes}
+: ${ac_cv_have_decl_setstate=yes}
+: ${ac_cv_have_decl_setusershell=yes}
+: ${ac_cv_have_decl_sigaction=yes}
+: ${ac_cv_have_decl_sigaddset=yes}
+: ${ac_cv_have_decl_sigaltstack=yes}
+: ${ac_cv_have_decl_sigdelset=yes}
+: ${ac_cv_have_decl_sigemptyset=yes}
+: ${ac_cv_have_decl_sigfillset=yes}
+: ${ac_cv_have_decl_sigismember=yes}
+: ${ac_cv_have_decl_sigpending=yes}
+: ${ac_cv_have_decl_sigprocmask=yes}
+: ${ac_cv_have_decl_sleep=yes}
+: ${ac_cv_have_decl_snprintf=yes}
+: ${ac_cv_have_decl_srandom=yes}
+: ${ac_cv_have_decl_stat=yes}
+: ${ac_cv_have_decl_stpcpy=yes}
+: ${ac_cv_have_decl_stpncpy=yes}
+: ${ac_cv_have_decl_strcasestr=yes}
+: ${ac_cv_have_decl_strdup=yes}
+: ${ac_cv_have_decl_strerror_r=yes}
+: ${ac_cv_have_decl_strncat=yes}
+: ${ac_cv_have_decl_strndup=yes}
+: ${ac_cv_have_decl_strnlen=yes}
+: ${ac_cv_have_decl_strpbrk=yes}
+: ${ac_cv_have_decl_strsep=yes}
+: ${ac_cv_have_decl_strsignal=yes}
+: ${ac_cv_have_decl_strtod=yes}
+: ${ac_cv_have_decl_strtoimax=yes}
+: ${ac_cv_have_decl_strtok_r=yes}
+: ${ac_cv_have_decl_strtoll=yes}
+: ${ac_cv_have_decl_strtoull=yes}
+: ${ac_cv_have_decl_strtoumax=yes}
+: ${ac_cv_have_decl_symlink=yes}
+: ${ac_cv_have_decl_symlinkat=yes}
+: ${ac_cv_have_decl_sys_siglist=yes}
+: ${ac_cv_have_decl_tcsendbreak=yes}
+: ${ac_cv_have_decl_tmpfile=yes}
+: ${ac_cv_have_decl_towctrans=yes}
+: ${ac_cv_have_decl_ttyname_r=yes}
+: ${ac_cv_have_decl_unlink=yes}
+: ${ac_cv_have_decl_unlinkat=yes}
+: ${ac_cv_have_decl_unlockpt=yes}
+: ${ac_cv_have_decl_unsetenv=yes}
+: ${ac_cv_have_decl_usleep=yes}
+: ${ac_cv_have_decl_vdprintf=yes}
+: ${ac_cv_have_decl_vsnprintf=yes}
+: ${ac_cv_have_decl_waitpid=yes}
+: ${ac_cv_have_decl_wcpcpy=yes}
+: ${ac_cv_have_decl_wcpncpy=yes}
+: ${ac_cv_have_decl_wcrtomb=yes}
+: ${ac_cv_have_decl_wcscasecmp=yes}
+: ${ac_cv_have_decl_wcscat=yes}
+: ${ac_cv_have_decl_wcschr=yes}
+: ${ac_cv_have_decl_wcscmp=yes}
+: ${ac_cv_have_decl_wcscoll=yes}
+: ${ac_cv_have_decl_wcscpy=yes}
+: ${ac_cv_have_decl_wcscspn=yes}
+: ${ac_cv_have_decl_wcsdup=yes}
+: ${ac_cv_have_decl_wcslen=yes}
+: ${ac_cv_have_decl_wcsncasecmp=yes}
+: ${ac_cv_have_decl_wcsncat=yes}
+: ${ac_cv_have_decl_wcsncmp=yes}
+: ${ac_cv_have_decl_wcsncpy=yes}
+: ${ac_cv_have_decl_wcsnlen=yes}
+: ${ac_cv_have_decl_wcsnrtombs=yes}
+: ${ac_cv_have_decl_wcspbrk=yes}
+: ${ac_cv_have_decl_wcsrchr=yes}
+: ${ac_cv_have_decl_wcsrtombs=yes}
+: ${ac_cv_have_decl_wcsspn=yes}
+: ${ac_cv_have_decl_wcsstr=yes}
+: ${ac_cv_have_decl_wcstok=yes}
+: ${ac_cv_have_decl_wcswidth=yes}
+: ${ac_cv_have_decl_wcsxfrm=yes}
+: ${ac_cv_have_decl_wctob=yes}
+: ${ac_cv_have_decl_wctrans=yes}
+: ${ac_cv_have_decl_wctype=yes}
+: ${ac_cv_have_decl_wcwidth=yes}
+: ${ac_cv_have_decl_wmemchr=yes}
+: ${ac_cv_have_decl_wmemcmp=yes}
+: ${ac_cv_have_decl_wmemcpy=yes}
+: ${ac_cv_have_decl_wmemmove=yes}
+: ${ac_cv_have_decl_wmemset=yes}
+: ${ac_cv_have_decl_writev=yes}
+
+# long file name support test invasively touches localbase, always true
+: ${ac_cv_sys_long_file_names=yes}
+
+# function specific
+
+: ${gl_cv_func_btowc_eof=yes}
+: ${gl_cv_func_btowc_nul=yes}
+: ${gl_cv_func_fcntl_f_dupfd_cloexec=yes}
+: ${gl_cv_func_fnmatch_posix=yes}
+: ${gl_cv_func_fopen_slash=yes}
+: ${gl_cv_func_frexp_no_libm=yes}
+: ${gl_cv_func_fseeko=yes}
+: ${gl_cv_func_ftello=yes}
+: ${gl_cv_func_getcwd_null=yes}
+: ${gl_cv_func_getcwd_posix_signature=yes}
+: ${gl_cv_func_getopt_posix=yes}
+: ${gl_cv_func_isnand_no_libm=yes}
+: ${gl_cv_func_ldexp_no_libm=yes}
+: ${gl_cv_func_lseek_pipe=yes}
+: ${gl_cv_func_lstat_dereferences_slashed_symlink=yes}
+: ${gl_cv_func_malloc_0_nonnull=1}
+: ${gl_cv_func_malloc_posix=yes}
+: ${gl_cv_func_mbrtowc_incomplete_state=yes}
+: ${gl_cv_func_mbrtowc_nul_retval=yes}
+: ${gl_cv_func_mbrtowc_null_arg1=yes}
+: ${gl_cv_func_mbrtowc_null_arg2=yes}
+: ${gl_cv_func_mbrtowc_retval=yes}
+: ${gl_cv_func_mbrtowc_sanitycheck=yes}
+: ${gl_cv_func_open_slash=yes}
+: ${gl_cv_func_printf_directive_a=yes}
+: ${gl_cv_func_printf_directive_f=yes}
+: ${gl_cv_func_printf_directive_ls=yes}
+: ${gl_cv_func_printf_directive_n=yes}
+: ${gl_cv_func_printf_flag_grouping=yes}
+: ${gl_cv_func_printf_flag_leftadjust=yes}
+: ${gl_cv_func_printf_flag_zero=yes}
+: ${gl_cv_func_printf_infinite=yes}
+: ${gl_cv_func_printf_long_double=yes}
+: ${gl_cv_func_printf_positions=yes}
+: ${gl_cv_func_printf_precision=yes}
+: ${gl_cv_func_printf_sizes_c99=yes}
+: ${gl_cv_func_sigprocmask=1}
+: ${gl_cv_func_snprintf_retval_c99=yes}
+: ${gl_cv_func_snprintf_size1=yes}
+: ${gl_cv_func_snprintf_usable=yes}
+: ${gl_cv_func_spawnattr_setschedparam=yes}
+: ${gl_cv_func_spawnattr_setschedpolicy=yes}
+: ${gl_cv_func_stat_dir_slash=yes}
+: ${gl_cv_func_stat_file_slash=yes}
+: ${gl_cv_func_stpncpy=yes}
+: ${gl_cv_func_va_copy=yes}
+: ${gl_cv_func_wcrtomb_retval=yes}
+: ${gt_cv_func_unsetenv_ret=int}
+
+: ${gl_cv_have_include_next=yes}
+
+: ${gl_cv_have_raw_decl_rawmemchr=yes}
+: ${gl_cv_have_raw_decl__Exit=yes}
+: ${gl_cv_have_raw_decl_alphasort=yes}
+: ${gl_cv_have_raw_decl_atoll=yes}
+: ${gl_cv_have_raw_decl_btowc=yes}
+: ${gl_cv_have_raw_decl_chdir=yes}
+: ${gl_cv_have_raw_decl_chown=yes}
+: ${gl_cv_have_raw_decl_closedir=yes}
+: ${gl_cv_have_raw_decl_dprintf=yes}
+: ${gl_cv_have_raw_decl_dup2=yes}
+: ${gl_cv_have_raw_decl_dup=yes}
+: ${gl_cv_have_raw_decl_endusershell=yes}
+: ${gl_cv_have_raw_decl_faccessat=yes}
+: ${gl_cv_have_raw_decl_fchdir=yes}
+: ${gl_cv_have_raw_decl_fchmodat=yes}
+: ${gl_cv_have_raw_decl_fchownat=yes}
+: ${gl_cv_have_raw_decl_fcntl=yes}
+: ${gl_cv_have_raw_decl_fdopendir=yes}
+: ${gl_cv_have_raw_decl_ffsl=yes}
+: ${gl_cv_have_raw_decl_ffsll=yes}
+: ${gl_cv_have_raw_decl_fpurge=yes}
+: ${gl_cv_have_raw_decl_fseeko=yes}
+: ${gl_cv_have_raw_decl_fstat=yes}
+: ${gl_cv_have_raw_decl_fstatat=yes}
+: ${gl_cv_have_raw_decl_fsync=yes}
+: ${gl_cv_have_raw_decl_ftello=yes}
+: ${gl_cv_have_raw_decl_ftruncate=yes}
+: ${gl_cv_have_raw_decl_getcwd=yes}
+: ${gl_cv_have_raw_decl_getdelim=yes}
+: ${gl_cv_have_raw_decl_getdomainname=yes}
+: ${gl_cv_have_raw_decl_getdtablesize=yes}
+: ${gl_cv_have_raw_decl_getgroups=yes}
+: ${gl_cv_have_raw_decl_getdtablesize=yes}
+: ${gl_cv_have_raw_decl_getgroups=yes}
+: ${gl_cv_have_raw_decl_gethostname=yes}
+: ${gl_cv_have_raw_decl_getline=yes}
+: ${gl_cv_have_raw_decl_getloadavg=yes}
+: ${gl_cv_have_raw_decl_getlogin=yes}
+: ${gl_cv_have_raw_decl_getlogin_r=yes}
+: ${gl_cv_have_raw_decl_getpagesize=yes}
+: ${gl_cv_have_raw_decl_gets=yes}
+: ${gl_cv_have_raw_decl_getsubopt=yes}
+: ${gl_cv_have_raw_decl_gettimeofday=yes}
+: ${gl_cv_have_raw_decl_getusershell=yes}
+: ${gl_cv_have_raw_decl_grantpt=yes}
+: ${gl_cv_have_raw_decl_imaxabs=yes}
+: ${gl_cv_have_raw_decl_imaxdiv=yes}
+: ${gl_cv_have_raw_decl_initstate=yes}
+: ${gl_cv_have_raw_decl_isatty=yes}
+: ${gl_cv_have_raw_decl_iswctype=yes}
+: ${gl_cv_have_raw_decl_lchmod=yes}
+: ${gl_cv_have_raw_decl_lchown=yes}
+: ${gl_cv_have_raw_decl_link=yes}
+: ${gl_cv_have_raw_decl_linkat=yes}
+: ${gl_cv_have_raw_decl_lseek=yes}
+: ${gl_cv_have_raw_decl_lstat=yes}
+: ${gl_cv_have_raw_decl_mbrlen=yes}
+: ${gl_cv_have_raw_decl_mbrtowc=yes}
+: ${gl_cv_have_raw_decl_mbsinit=yes}
+: ${gl_cv_have_raw_decl_mbsnrtowcs=yes}
+: ${gl_cv_have_raw_decl_mbsrtowcs=yes}
+: ${gl_cv_have_raw_decl_mkdirat=yes}
+: ${gl_cv_have_raw_decl_mkdtemp=yes}
+: ${gl_cv_have_raw_decl_mkfifo=yes}
+: ${gl_cv_have_raw_decl_mkfifoat=yes}
+: ${gl_cv_have_raw_decl_mknod=yes}
+: ${gl_cv_have_raw_decl_mknodat=yes}
+: ${gl_cv_have_raw_decl_mkstemp=yes}
+: ${gl_cv_have_raw_decl_nl_langinfo=yes}
+: ${gl_cv_have_raw_decl_openat=yes}
+: ${gl_cv_have_raw_decl_opendir=yes}
+: ${gl_cv_have_raw_decl_pclose=yes}
+: ${gl_cv_have_raw_decl_pipe=yes}
+: ${gl_cv_have_raw_decl_popen=yes}
+: ${gl_cv_have_raw_decl_posix_openpt=yes}
+: ${gl_cv_have_raw_decl_posix_spawn=yes}
+: ${gl_cv_have_raw_decl_posix_openpt=yes}
+: ${gl_cv_have_raw_decl_posix_spawn=yes}
+: ${gl_cv_have_raw_decl_posix_spawn_file_actions_addclose=yes}
+: ${gl_cv_have_raw_decl_posix_spawn_file_actions_adddup2=yes}
+: ${gl_cv_have_raw_decl_posix_spawn_file_actions_addopen=yes}
+: ${gl_cv_have_raw_decl_posix_spawn_file_actions_destroy=yes}
+: ${gl_cv_have_raw_decl_posix_spawn_file_actions_init=yes}
+: ${gl_cv_have_raw_decl_posix_spawnattr_destroy=yes}
+: ${gl_cv_have_raw_decl_posix_spawnattr_getflags=yes}
+: ${gl_cv_have_raw_decl_posix_spawnattr_getpgroup=yes}
+: ${gl_cv_have_raw_decl_posix_spawnattr_getschedparam=yes}
+: ${gl_cv_have_raw_decl_posix_spawnattr_getschedpolicy=yes}
+: ${gl_cv_have_raw_decl_posix_spawnattr_getsigdefault=yes}
+: ${gl_cv_have_raw_decl_posix_spawnattr_getsigmask=yes}
+: ${gl_cv_have_raw_decl_posix_spawnattr_init=yes}
+: ${gl_cv_have_raw_decl_posix_spawnattr_setflags=yes}
+: ${gl_cv_have_raw_decl_posix_spawnattr_setpgroup=yes}
+: ${gl_cv_have_raw_decl_posix_spawnattr_setschedparam=yes}
+: ${gl_cv_have_raw_decl_posix_spawnattr_setschedpolicy=yes}
+: ${gl_cv_have_raw_decl_posix_spawnattr_setsigdefault=yes}
+: ${gl_cv_have_raw_decl_posix_spawnattr_setsigmask=yes}
+: ${gl_cv_have_raw_decl_posix_spawnp=yes}
+: ${gl_cv_have_raw_decl_pread=yes}
+: ${gl_cv_have_raw_decl_pselect=yes}
+: ${gl_cv_have_raw_decl_pthread_sigmask=yes}
+: ${gl_cv_have_raw_decl_ptsname=yes}
+: ${gl_cv_have_raw_decl_pwrite=yes}
+: ${gl_cv_have_raw_decl_random=yes}
+: ${gl_cv_have_raw_decl_readdir=yes}
+: ${gl_cv_have_raw_decl_readlink=yes}
+: ${gl_cv_have_raw_decl_readlinkat=yes}
+: ${gl_cv_have_raw_decl_realpath=yes}
+: ${gl_cv_have_raw_decl_renameat=yes}
+: ${gl_cv_have_raw_decl_rewinddir=yes}
+: ${gl_cv_have_raw_decl_rmdir=yes}
+: ${gl_cv_have_raw_decl_rpmatch=yes}
+: ${gl_cv_have_raw_decl_scandir=yes}
+: ${gl_cv_have_raw_decl_select=yes}
+: ${gl_cv_have_raw_decl_setenv=yes}
+: ${gl_cv_have_raw_decl_sethostname=yes}
+: ${gl_cv_have_raw_decl_setlocale=yes}
+: ${gl_cv_have_raw_decl_setstate=yes}
+: ${gl_cv_have_raw_decl_setusershell=yes}
+: ${gl_cv_have_raw_decl_sigaction=yes}
+: ${gl_cv_have_raw_decl_sigaddset=yes}
+: ${gl_cv_have_raw_decl_sigdelset=yes}
+: ${gl_cv_have_raw_decl_sigemptyset=yes}
+: ${gl_cv_have_raw_decl_sigfillset=yes}
+: ${gl_cv_have_raw_decl_sigismember=yes}
+: ${gl_cv_have_raw_decl_sigpending=yes}
+: ${gl_cv_have_raw_decl_sigprocmask=yes}
+: ${gl_cv_have_raw_decl_sleep=yes}
+: ${gl_cv_have_raw_decl_snprintf=yes}
+: ${gl_cv_have_raw_decl_srandom=yes}
+: ${gl_cv_have_raw_decl_stat=yes}
+: ${gl_cv_have_raw_decl_strerror_r=yes}
+: ${gl_cv_have_raw_decl_strtod=yes}
+: ${gl_cv_have_raw_decl_strtoimax=yes}
+: ${gl_cv_have_raw_decl_strtoll=yes}
+: ${gl_cv_have_raw_decl_strtoull=yes}
+: ${gl_cv_have_raw_decl_strtoumax=yes}
+: ${gl_cv_have_raw_decl_symlink=yes}
+: ${gl_cv_have_raw_decl_symlinkat=yes}
+: ${gl_cv_have_raw_decl_tmpfile=yes}
+: ${gl_cv_have_raw_decl_towctrans=yes}
+: ${gl_cv_have_raw_decl_ttyname_r=yes}
+: ${gl_cv_have_raw_decl_unlink=yes}
+: ${gl_cv_have_raw_decl_unlinkat=yes}
+: ${gl_cv_have_raw_decl_unlockpt=yes}
+: ${gl_cv_have_raw_decl_unsetenv=yes}
+: ${gl_cv_have_raw_decl_usleep=yes}
+: ${gl_cv_have_raw_decl_vdprintf=yes}
+: ${gl_cv_have_raw_decl_vsnprintf=yes}
+: ${gl_cv_have_raw_decl_waitpid=yes}
+: ${gl_cv_have_raw_decl_wcpcpy=yes}
+: ${gl_cv_have_raw_decl_wcpncpy=yes}
+: ${gl_cv_have_raw_decl_wcrtomb=yes}
+: ${gl_cv_have_raw_decl_wcscasecmp=yes}
+: ${gl_cv_have_raw_decl_wcscat=yes}
+: ${gl_cv_have_raw_decl_wcschr=yes}
+: ${gl_cv_have_raw_decl_wcscmp=yes}
+: ${gl_cv_have_raw_decl_wcscoll=yes}
+: ${gl_cv_have_raw_decl_wcscpy=yes}
+: ${gl_cv_have_raw_decl_wcscspn=yes}
+: ${gl_cv_have_raw_decl_wcsdup=yes}
+: ${gl_cv_have_raw_decl_wcslen=yes}
+: ${gl_cv_have_raw_decl_wcsncasecmp=yes}
+: ${gl_cv_have_raw_decl_wcsncat=yes}
+: ${gl_cv_have_raw_decl_wcsncmp=yes}
+: ${gl_cv_have_raw_decl_wcsncpy=yes}
+: ${gl_cv_have_raw_decl_wcsnlen=yes}
+: ${gl_cv_have_raw_decl_wcsnrtombs=yes}
+: ${gl_cv_have_raw_decl_wcspbrk=yes}
+: ${gl_cv_have_raw_decl_wcsrchr=yes}
+: ${gl_cv_have_raw_decl_wcsrtombs=yes}
+: ${gl_cv_have_raw_decl_wcsspn=yes}
+: ${gl_cv_have_raw_decl_wcsstr=yes}
+: ${gl_cv_have_raw_decl_wcstok=yes}
+: ${gl_cv_have_raw_decl_wcswidth=yes}
+: ${gl_cv_have_raw_decl_wcsxfrm=yes}
+: ${gl_cv_have_raw_decl_wctob=yes}
+: ${gl_cv_have_raw_decl_wctrans=yes}
+: ${gl_cv_have_raw_decl_wctype=yes}
+: ${gl_cv_have_raw_decl_wcwidth=yes}
+: ${gl_cv_have_raw_decl_wmemchr=yes}
+: ${gl_cv_have_raw_decl_wmemcmp=yes}
+: ${gl_cv_have_raw_decl_wmemcpy=yes}
+: ${gl_cv_have_raw_decl_wmemmove=yes}
+: ${gl_cv_have_raw_decl_wmemset=yes}
+
+: ${gl_cv_header_errno_h_complete=yes}
+: ${gl_cv_header_inttypes_h=yes}
+: ${gl_cv_header_langinfo_codeset=yes}
+: ${gl_cv_header_langinfo_era=yes}
+: ${gl_cv_header_langinfo_t_fmt_ampm=yes}
+: ${gl_cv_header_langinfo_yesexpr=yes}
+: ${gl_cv_header_locale_h_posix2001=yes}
+: ${gl_cv_header_signal_h_SIGPIPE=yes}
+: ${gl_cv_header_stdint_h=yes}
+: ${gl_cv_header_sys_select_h_selfcontained=yes}
+
diff --git a/test-ports/Templates/config.sub b/test-ports/Templates/config.sub
new file mode 100644
index 00000000..3580aaf3
--- /dev/null
+++ b/test-ports/Templates/config.sub
@@ -0,0 +1,1804 @@
+#! /bin/sh
+# Configuration validation subroutine script.
+# Copyright 1992-2015 Free Software Foundation, Inc.
+
+timestamp='2015-03-08'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that
+# program. This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
+
+
+# Please send patches to <config-patches@gnu.org>.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support. The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+ $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright 1992-2015 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit ;;
+ --version | -v )
+ echo "$version" ; exit ;;
+ --help | --h* | -h )
+ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help"
+ exit 1 ;;
+
+ *local*)
+ # First pass through any local machine types.
+ echo $1
+ exit ;;
+
+ * )
+ break ;;
+ esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+ exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+ exit 1;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
+ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
+ knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
+ kopensolaris*-gnu* | \
+ storm-chaos* | os2-emx* | rtmk-nova*)
+ os=-$maybe_os
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+ ;;
+ android-linux)
+ os=-linux-android
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
+ ;;
+ *)
+ basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+ if [ $basic_machine != $1 ]
+ then os=`echo $1 | sed 's/.*-/-/'`
+ else os=; fi
+ ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work. We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+ -sun*os*)
+ # Prevent following clause from handling this invalid input.
+ ;;
+ -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+ -apple | -axis | -knuth | -cray | -microblaze*)
+ os=
+ basic_machine=$1
+ ;;
+ -bluegene*)
+ os=-cnk
+ ;;
+ -sim | -cisco | -oki | -wec | -winbond)
+ os=
+ basic_machine=$1
+ ;;
+ -scout)
+ ;;
+ -wrs)
+ os=-vxworks
+ basic_machine=$1
+ ;;
+ -chorusos*)
+ os=-chorusos
+ basic_machine=$1
+ ;;
+ -chorusrdb)
+ os=-chorusrdb
+ basic_machine=$1
+ ;;
+ -hiux*)
+ os=-hiuxwe2
+ ;;
+ -sco6)
+ os=-sco5v6
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco5)
+ os=-sco3.2v5
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco4)
+ os=-sco3.2v4
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2.[4-9]*)
+ os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2v[4-9]*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco5v6*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco*)
+ os=-sco3.2v2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -udk*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -isc)
+ os=-isc2.2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -clix*)
+ basic_machine=clipper-intergraph
+ ;;
+ -isc*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -lynx*178)
+ os=-lynxos178
+ ;;
+ -lynx*5)
+ os=-lynxos5
+ ;;
+ -lynx*)
+ os=-lynxos
+ ;;
+ -ptx*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+ ;;
+ -windowsnt*)
+ os=`echo $os | sed -e 's/windowsnt/winnt/'`
+ ;;
+ -psos*)
+ os=-psos
+ ;;
+ -mint | -mint[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+ # Recognize the basic CPU types without company name.
+ # Some are omitted here because they have special meanings below.
+ 1750a | 580 \
+ | a29k \
+ | aarch64 | aarch64_be \
+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+ | am33_2.0 \
+ | arc | arceb \
+ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
+ | avr | avr32 \
+ | be32 | be64 \
+ | bfin \
+ | c4x | c8051 | clipper \
+ | d10v | d30v | dlx | dsp16xx \
+ | e2k | epiphany \
+ | fido | fr30 | frv | ft32 \
+ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+ | hexagon \
+ | i370 | i860 | i960 | ia64 \
+ | ip2k | iq2000 \
+ | k1om \
+ | le32 | le64 \
+ | lm32 \
+ | m32c | m32r | m32rle | m68000 | m68k | m88k \
+ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
+ | mips | mipsbe | mipseb | mipsel | mipsle \
+ | mips16 \
+ | mips64 | mips64el \
+ | mips64octeon | mips64octeonel \
+ | mips64orion | mips64orionel \
+ | mips64r5900 | mips64r5900el \
+ | mips64vr | mips64vrel \
+ | mips64vr4100 | mips64vr4100el \
+ | mips64vr4300 | mips64vr4300el \
+ | mips64vr5000 | mips64vr5000el \
+ | mips64vr5900 | mips64vr5900el \
+ | mipsisa32 | mipsisa32el \
+ | mipsisa32r2 | mipsisa32r2el \
+ | mipsisa32r6 | mipsisa32r6el \
+ | mipsisa64 | mipsisa64el \
+ | mipsisa64r2 | mipsisa64r2el \
+ | mipsisa64r6 | mipsisa64r6el \
+ | mipsisa64sb1 | mipsisa64sb1el \
+ | mipsisa64sr71k | mipsisa64sr71kel \
+ | mipsr5900 | mipsr5900el \
+ | mipstx39 | mipstx39el \
+ | mn10200 | mn10300 \
+ | moxie \
+ | mt \
+ | msp430 \
+ | nds32 | nds32le | nds32be \
+ | nios | nios2 | nios2eb | nios2el \
+ | ns16k | ns32k \
+ | open8 | or1k | or1knd | or32 \
+ | pdp10 | pdp11 | pj | pjl \
+ | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \
+ | pyramid \
+ | riscv32 | riscv64 \
+ | rl78 | rx \
+ | score \
+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ | sh64 | sh64le \
+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+ | spu \
+ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
+ | ubicom32 \
+ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
+ | visium \
+ | we32k \
+ | x86 | xc16x | xstormy16 | xtensa \
+ | z8k | z80)
+ basic_machine=$basic_machine-unknown
+ ;;
+ c54x)
+ basic_machine=tic54x-unknown
+ ;;
+ c55x)
+ basic_machine=tic55x-unknown
+ ;;
+ c6x)
+ basic_machine=tic6x-unknown
+ ;;
+ leon|leon[3-9])
+ basic_machine=sparc-$basic_machine
+ ;;
+ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+ ;;
+ ms1)
+ basic_machine=mt-unknown
+ ;;
+
+ strongarm | thumb | xscale)
+ basic_machine=arm-unknown
+ ;;
+ xgate)
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
+ xscaleeb)
+ basic_machine=armeb-unknown
+ ;;
+
+ xscaleel)
+ basic_machine=armel-unknown
+ ;;
+
+ # We use `pc' rather than `unknown'
+ # because (1) that's what they normally are, and
+ # (2) the word "unknown" tends to confuse beginning users.
+ i*86 | x86_64)
+ basic_machine=$basic_machine-pc
+ ;;
+ # Object if more than one company name word.
+ *-*-*)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+ # Recognize the basic CPU types with company name.
+ 580-* \
+ | a29k-* \
+ | aarch64-* | aarch64_be-* \
+ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+ | alphapca5[67]-* | alpha64pca5[67]-* | amd64-* | arc-* | arceb-* \
+ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
+ | avr-* | avr32-* \
+ | be32-* | be64-* \
+ | bfin-* | bs2000-* \
+ | c[123]* | c30-* | [cjt]90-* | c4x-* \
+ | c8051-* | clipper-* | craynv-* | cydra-* \
+ | d10v-* | d30v-* | dlx-* \
+ | e2k-* | elxsi-* \
+ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+ | h8300-* | h8500-* \
+ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+ | hexagon-* \
+ | i*86-* | i860-* | i960-* | ia64-* \
+ | ip2k-* | iq2000-* \
+ | k1om-* \
+ | le32-* | le64-* \
+ | lm32-* \
+ | m32c-* | m32r-* | m32rle-* \
+ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
+ | microblaze-* | microblazeel-* \
+ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+ | mips16-* \
+ | mips64-* | mips64el-* \
+ | mips64octeon-* | mips64octeonel-* \
+ | mips64orion-* | mips64orionel-* \
+ | mips64r5900-* | mips64r5900el-* \
+ | mips64vr-* | mips64vrel-* \
+ | mips64vr4100-* | mips64vr4100el-* \
+ | mips64vr4300-* | mips64vr4300el-* \
+ | mips64vr5000-* | mips64vr5000el-* \
+ | mips64vr5900-* | mips64vr5900el-* \
+ | mipsisa32-* | mipsisa32el-* \
+ | mipsisa32r2-* | mipsisa32r2el-* \
+ | mipsisa32r6-* | mipsisa32r6el-* \
+ | mipsisa64-* | mipsisa64el-* \
+ | mipsisa64r2-* | mipsisa64r2el-* \
+ | mipsisa64r6-* | mipsisa64r6el-* \
+ | mipsisa64sb1-* | mipsisa64sb1el-* \
+ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
+ | mipsr5900-* | mipsr5900el-* \
+ | mipstx39-* | mipstx39el-* \
+ | mmix-* \
+ | mt-* \
+ | msp430-* \
+ | nds32-* | nds32le-* | nds32be-* \
+ | nios-* | nios2-* | nios2eb-* | nios2el-* \
+ | none-* | np1-* | ns16k-* | ns32k-* \
+ | open8-* \
+ | or1k*-* \
+ | orion-* \
+ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | powerpcspe-* \
+ | pyramid-* \
+ | rl78-* | romp-* | rs6000-* | rx-* \
+ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
+ | sparclite-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
+ | tahoe-* \
+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+ | tile*-* \
+ | tron-* \
+ | ubicom32-* \
+ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
+ | vax-* \
+ | visium-* \
+ | we32k-* \
+ | x86-* | x86_64-* | xc16x-* | xps100-* \
+ | xstormy16-* | xtensa*-* \
+ | ymp-* \
+ | z8k-* | z80-*)
+ ;;
+ # Recognize the basic CPU types without company name, with glob match.
+ xtensa*)
+ basic_machine=$basic_machine-unknown
+ ;;
+ # Recognize the various machine names and aliases which stand
+ # for a CPU type and a company and sometimes even an OS.
+ 386bsd)
+ basic_machine=i386-unknown
+ os=-bsd
+ ;;
+ 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+ basic_machine=m68000-att
+ ;;
+ 3b*)
+ basic_machine=we32k-att
+ ;;
+ a29khif)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ abacus)
+ basic_machine=abacus-unknown
+ ;;
+ adobe68k)
+ basic_machine=m68010-adobe
+ os=-scout
+ ;;
+ alliant | fx80)
+ basic_machine=fx80-alliant
+ ;;
+ altos | altos3068)
+ basic_machine=m68k-altos
+ ;;
+ am29k)
+ basic_machine=a29k-none
+ os=-bsd
+ ;;
+ amdahl)
+ basic_machine=580-amdahl
+ os=-sysv
+ ;;
+ amiga | amiga-*)
+ basic_machine=m68k-unknown
+ ;;
+ amigaos | amigados)
+ basic_machine=m68k-unknown
+ os=-amigaos
+ ;;
+ amigaunix | amix)
+ basic_machine=m68k-unknown
+ os=-sysv4
+ ;;
+ apollo68)
+ basic_machine=m68k-apollo
+ os=-sysv
+ ;;
+ apollo68bsd)
+ basic_machine=m68k-apollo
+ os=-bsd
+ ;;
+ aros)
+ basic_machine=i386-pc
+ os=-aros
+ ;;
+ asmjs)
+ basic_machine=asmjs-unknown
+ ;;
+ aux)
+ basic_machine=m68k-apple
+ os=-aux
+ ;;
+ balance)
+ basic_machine=ns32k-sequent
+ os=-dynix
+ ;;
+ blackfin)
+ basic_machine=bfin-unknown
+ os=-linux
+ ;;
+ blackfin-*)
+ basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ bluegene*)
+ basic_machine=powerpc-ibm
+ os=-cnk
+ ;;
+ c54x-*)
+ basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ c55x-*)
+ basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ c6x-*)
+ basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ c90)
+ basic_machine=c90-cray
+ os=-unicos
+ ;;
+ cegcc)
+ basic_machine=arm-unknown
+ os=-cegcc
+ ;;
+ convex-c1)
+ basic_machine=c1-convex
+ os=-bsd
+ ;;
+ convex-c2)
+ basic_machine=c2-convex
+ os=-bsd
+ ;;
+ convex-c32)
+ basic_machine=c32-convex
+ os=-bsd
+ ;;
+ convex-c34)
+ basic_machine=c34-convex
+ os=-bsd
+ ;;
+ convex-c38)
+ basic_machine=c38-convex
+ os=-bsd
+ ;;
+ cray | j90)
+ basic_machine=j90-cray
+ os=-unicos
+ ;;
+ craynv)
+ basic_machine=craynv-cray
+ os=-unicosmp
+ ;;
+ cr16 | cr16-*)
+ basic_machine=cr16-unknown
+ os=-elf
+ ;;
+ crds | unos)
+ basic_machine=m68k-crds
+ ;;
+ crisv32 | crisv32-* | etraxfs*)
+ basic_machine=crisv32-axis
+ ;;
+ cris | cris-* | etrax*)
+ basic_machine=cris-axis
+ ;;
+ crx)
+ basic_machine=crx-unknown
+ os=-elf
+ ;;
+ da30 | da30-*)
+ basic_machine=m68k-da30
+ ;;
+ decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+ basic_machine=mips-dec
+ ;;
+ decsystem10* | dec10*)
+ basic_machine=pdp10-dec
+ os=-tops10
+ ;;
+ decsystem20* | dec20*)
+ basic_machine=pdp10-dec
+ os=-tops20
+ ;;
+ delta | 3300 | motorola-3300 | motorola-delta \
+ | 3300-motorola | delta-motorola)
+ basic_machine=m68k-motorola
+ ;;
+ delta88)
+ basic_machine=m88k-motorola
+ os=-sysv3
+ ;;
+ dicos)
+ basic_machine=i686-pc
+ os=-dicos
+ ;;
+ djgpp)
+ basic_machine=i586-pc
+ os=-msdosdjgpp
+ ;;
+ dpx20 | dpx20-*)
+ basic_machine=rs6000-bull
+ os=-bosx
+ ;;
+ dpx2* | dpx2*-bull)
+ basic_machine=m68k-bull
+ os=-sysv3
+ ;;
+ ebmon29k)
+ basic_machine=a29k-amd
+ os=-ebmon
+ ;;
+ elxsi)
+ basic_machine=elxsi-elxsi
+ os=-bsd
+ ;;
+ encore | umax | mmax)
+ basic_machine=ns32k-encore
+ ;;
+ es1800 | OSE68k | ose68k | ose | OSE)
+ basic_machine=m68k-ericsson
+ os=-ose
+ ;;
+ fx2800)
+ basic_machine=i860-alliant
+ ;;
+ genix)
+ basic_machine=ns32k-ns
+ ;;
+ gmicro)
+ basic_machine=tron-gmicro
+ os=-sysv
+ ;;
+ go32)
+ basic_machine=i386-pc
+ os=-go32
+ ;;
+ h3050r* | hiux*)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ h8300hms)
+ basic_machine=h8300-hitachi
+ os=-hms
+ ;;
+ h8300xray)
+ basic_machine=h8300-hitachi
+ os=-xray
+ ;;
+ h8500hms)
+ basic_machine=h8500-hitachi
+ os=-hms
+ ;;
+ harris)
+ basic_machine=m88k-harris
+ os=-sysv3
+ ;;
+ hp300-*)
+ basic_machine=m68k-hp
+ ;;
+ hp300bsd)
+ basic_machine=m68k-hp
+ os=-bsd
+ ;;
+ hp300hpux)
+ basic_machine=m68k-hp
+ os=-hpux
+ ;;
+ hp3k9[0-9][0-9] | hp9[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k2[0-9][0-9] | hp9k31[0-9])
+ basic_machine=m68000-hp
+ ;;
+ hp9k3[2-9][0-9])
+ basic_machine=m68k-hp
+ ;;
+ hp9k6[0-9][0-9] | hp6[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k7[0-79][0-9] | hp7[0-79][0-9])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k78[0-9] | hp78[0-9])
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][13679] | hp8[0-9][13679])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][0-9] | hp8[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hppa-next)
+ os=-nextstep3
+ ;;
+ hppaosf)
+ basic_machine=hppa1.1-hp
+ os=-osf
+ ;;
+ hppro)
+ basic_machine=hppa1.1-hp
+ os=-proelf
+ ;;
+ i370-ibm* | ibm*)
+ basic_machine=i370-ibm
+ ;;
+ i*86v32)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv32
+ ;;
+ i*86v4*)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv4
+ ;;
+ i*86v)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv
+ ;;
+ i*86sol2)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-solaris2
+ ;;
+ i386mach)
+ basic_machine=i386-mach
+ os=-mach
+ ;;
+ i386-vsta | vsta)
+ basic_machine=i386-unknown
+ os=-vsta
+ ;;
+ iris | iris4d)
+ basic_machine=mips-sgi
+ case $os in
+ -irix*)
+ ;;
+ *)
+ os=-irix4
+ ;;
+ esac
+ ;;
+ isi68 | isi)
+ basic_machine=m68k-isi
+ os=-sysv
+ ;;
+ leon-*|leon[3-9]-*)
+ basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
+ ;;
+ m68knommu)
+ basic_machine=m68k-unknown
+ os=-linux
+ ;;
+ m68knommu-*)
+ basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ m88k-omron*)
+ basic_machine=m88k-omron
+ ;;
+ magnum | m3230)
+ basic_machine=mips-mips
+ os=-sysv
+ ;;
+ merlin)
+ basic_machine=ns32k-utek
+ os=-sysv
+ ;;
+ microblaze*)
+ basic_machine=microblaze-xilinx
+ ;;
+ mingw64)
+ basic_machine=x86_64-pc
+ os=-mingw64
+ ;;
+ mingw32)
+ basic_machine=i686-pc
+ os=-mingw32
+ ;;
+ mingw32ce)
+ basic_machine=arm-unknown
+ os=-mingw32ce
+ ;;
+ miniframe)
+ basic_machine=m68000-convergent
+ ;;
+ *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+ mips3*-*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+ ;;
+ mips3*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+ ;;
+ monitor)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ morphos)
+ basic_machine=powerpc-unknown
+ os=-morphos
+ ;;
+ moxiebox)
+ basic_machine=moxie-unknown
+ os=-moxiebox
+ ;;
+ msdos)
+ basic_machine=i386-pc
+ os=-msdos
+ ;;
+ ms1-*)
+ basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+ ;;
+ msys)
+ basic_machine=i686-pc
+ os=-msys
+ ;;
+ mvs)
+ basic_machine=i370-ibm
+ os=-mvs
+ ;;
+ nacl)
+ basic_machine=le32-unknown
+ os=-nacl
+ ;;
+ ncr3000)
+ basic_machine=i486-ncr
+ os=-sysv4
+ ;;
+ netbsd386)
+ basic_machine=i386-unknown
+ os=-netbsd
+ ;;
+ netwinder)
+ basic_machine=armv4l-rebel
+ os=-linux
+ ;;
+ news | news700 | news800 | news900)
+ basic_machine=m68k-sony
+ os=-newsos
+ ;;
+ news1000)
+ basic_machine=m68030-sony
+ os=-newsos
+ ;;
+ news-3600 | risc-news)
+ basic_machine=mips-sony
+ os=-newsos
+ ;;
+ necv70)
+ basic_machine=v70-nec
+ os=-sysv
+ ;;
+ next | m*-next )
+ basic_machine=m68k-next
+ case $os in
+ -nextstep* )
+ ;;
+ -ns2*)
+ os=-nextstep2
+ ;;
+ *)
+ os=-nextstep3
+ ;;
+ esac
+ ;;
+ nh3000)
+ basic_machine=m68k-harris
+ os=-cxux
+ ;;
+ nh[45]000)
+ basic_machine=m88k-harris
+ os=-cxux
+ ;;
+ nindy960)
+ basic_machine=i960-intel
+ os=-nindy
+ ;;
+ mon960)
+ basic_machine=i960-intel
+ os=-mon960
+ ;;
+ nonstopux)
+ basic_machine=mips-compaq
+ os=-nonstopux
+ ;;
+ np1)
+ basic_machine=np1-gould
+ ;;
+ neo-tandem)
+ basic_machine=neo-tandem
+ ;;
+ nse-tandem)
+ basic_machine=nse-tandem
+ ;;
+ nsr-tandem)
+ basic_machine=nsr-tandem
+ ;;
+ op50n-* | op60c-*)
+ basic_machine=hppa1.1-oki
+ os=-proelf
+ ;;
+ openrisc | openrisc-*)
+ basic_machine=or32-unknown
+ ;;
+ os400)
+ basic_machine=powerpc-ibm
+ os=-os400
+ ;;
+ OSE68000 | ose68000)
+ basic_machine=m68000-ericsson
+ os=-ose
+ ;;
+ os68k)
+ basic_machine=m68k-none
+ os=-os68k
+ ;;
+ pa-hitachi)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ paragon)
+ basic_machine=i860-intel
+ os=-osf
+ ;;
+ parisc)
+ basic_machine=hppa-unknown
+ os=-linux
+ ;;
+ parisc-*)
+ basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ pbd)
+ basic_machine=sparc-tti
+ ;;
+ pbb)
+ basic_machine=m68k-tti
+ ;;
+ pc532 | pc532-*)
+ basic_machine=ns32k-pc532
+ ;;
+ pc98)
+ basic_machine=i386-pc
+ ;;
+ pc98-*)
+ basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentium | p5 | k5 | k6 | nexgen | viac3)
+ basic_machine=i586-pc
+ ;;
+ pentiumpro | p6 | 6x86 | athlon | athlon_*)
+ basic_machine=i686-pc
+ ;;
+ pentiumii | pentium2 | pentiumiii | pentium3)
+ basic_machine=i686-pc
+ ;;
+ pentium4)
+ basic_machine=i786-pc
+ ;;
+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+ basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentiumpro-* | p6-* | 6x86-* | athlon-*)
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentium4-*)
+ basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pn)
+ basic_machine=pn-gould
+ ;;
+ power) basic_machine=power-ibm
+ ;;
+ ppc | ppcbe) basic_machine=powerpc-unknown
+ ;;
+ ppc-* | ppcbe-*)
+ basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppcle | powerpclittle | ppc-le | powerpc-little)
+ basic_machine=powerpcle-unknown
+ ;;
+ ppcle-* | powerpclittle-*)
+ basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppc64) basic_machine=powerpc64-unknown
+ ;;
+ ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+ basic_machine=powerpc64le-unknown
+ ;;
+ ppc64le-* | powerpc64little-*)
+ basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ps2)
+ basic_machine=i386-ibm
+ ;;
+ pw32)
+ basic_machine=i586-unknown
+ os=-pw32
+ ;;
+ rdos | rdos64)
+ basic_machine=x86_64-pc
+ os=-rdos
+ ;;
+ rdos32)
+ basic_machine=i386-pc
+ os=-rdos
+ ;;
+ rom68k)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ rm[46]00)
+ basic_machine=mips-siemens
+ ;;
+ rtpc | rtpc-*)
+ basic_machine=romp-ibm
+ ;;
+ s390 | s390-*)
+ basic_machine=s390-ibm
+ ;;
+ s390x | s390x-*)
+ basic_machine=s390x-ibm
+ ;;
+ sa29200)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ sb1)
+ basic_machine=mipsisa64sb1-unknown
+ ;;
+ sb1el)
+ basic_machine=mipsisa64sb1el-unknown
+ ;;
+ sde)
+ basic_machine=mipsisa32-sde
+ os=-elf
+ ;;
+ sei)
+ basic_machine=mips-sei
+ os=-seiux
+ ;;
+ sequent)
+ basic_machine=i386-sequent
+ ;;
+ sh)
+ basic_machine=sh-hitachi
+ os=-hms
+ ;;
+ sh5el)
+ basic_machine=sh5le-unknown
+ ;;
+ sh64)
+ basic_machine=sh64-unknown
+ ;;
+ sparclite-wrs | simso-wrs)
+ basic_machine=sparclite-wrs
+ os=-vxworks
+ ;;
+ sps7)
+ basic_machine=m68k-bull
+ os=-sysv2
+ ;;
+ spur)
+ basic_machine=spur-unknown
+ ;;
+ st2000)
+ basic_machine=m68k-tandem
+ ;;
+ stratus)
+ basic_machine=i860-stratus
+ os=-sysv4
+ ;;
+ strongarm-* | thumb-*)
+ basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ sun2)
+ basic_machine=m68000-sun
+ ;;
+ sun2os3)
+ basic_machine=m68000-sun
+ os=-sunos3
+ ;;
+ sun2os4)
+ basic_machine=m68000-sun
+ os=-sunos4
+ ;;
+ sun3os3)
+ basic_machine=m68k-sun
+ os=-sunos3
+ ;;
+ sun3os4)
+ basic_machine=m68k-sun
+ os=-sunos4
+ ;;
+ sun4os3)
+ basic_machine=sparc-sun
+ os=-sunos3
+ ;;
+ sun4os4)
+ basic_machine=sparc-sun
+ os=-sunos4
+ ;;
+ sun4sol2)
+ basic_machine=sparc-sun
+ os=-solaris2
+ ;;
+ sun3 | sun3-*)
+ basic_machine=m68k-sun
+ ;;
+ sun4)
+ basic_machine=sparc-sun
+ ;;
+ sun386 | sun386i | roadrunner)
+ basic_machine=i386-sun
+ ;;
+ sv1)
+ basic_machine=sv1-cray
+ os=-unicos
+ ;;
+ symmetry)
+ basic_machine=i386-sequent
+ os=-dynix
+ ;;
+ t3e)
+ basic_machine=alphaev5-cray
+ os=-unicos
+ ;;
+ t90)
+ basic_machine=t90-cray
+ os=-unicos
+ ;;
+ tile*)
+ basic_machine=$basic_machine-unknown
+ os=-linux-gnu
+ ;;
+ tx39)
+ basic_machine=mipstx39-unknown
+ ;;
+ tx39el)
+ basic_machine=mipstx39el-unknown
+ ;;
+ toad1)
+ basic_machine=pdp10-xkl
+ os=-tops20
+ ;;
+ tower | tower-32)
+ basic_machine=m68k-ncr
+ ;;
+ tpf)
+ basic_machine=s390x-ibm
+ os=-tpf
+ ;;
+ udi29k)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ ultra3)
+ basic_machine=a29k-nyu
+ os=-sym1
+ ;;
+ v810 | necv810)
+ basic_machine=v810-nec
+ os=-none
+ ;;
+ vaxv)
+ basic_machine=vax-dec
+ os=-sysv
+ ;;
+ vms)
+ basic_machine=vax-dec
+ os=-vms
+ ;;
+ vpp*|vx|vx-*)
+ basic_machine=f301-fujitsu
+ ;;
+ vxworks960)
+ basic_machine=i960-wrs
+ os=-vxworks
+ ;;
+ vxworks68)
+ basic_machine=m68k-wrs
+ os=-vxworks
+ ;;
+ vxworks29k)
+ basic_machine=a29k-wrs
+ os=-vxworks
+ ;;
+ w65*)
+ basic_machine=w65-wdc
+ os=-none
+ ;;
+ w89k-*)
+ basic_machine=hppa1.1-winbond
+ os=-proelf
+ ;;
+ xbox)
+ basic_machine=i686-pc
+ os=-mingw32
+ ;;
+ xps | xps100)
+ basic_machine=xps100-honeywell
+ ;;
+ xscale-* | xscalee[bl]-*)
+ basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
+ ;;
+ ymp)
+ basic_machine=ymp-cray
+ os=-unicos
+ ;;
+ z8k-*-coff)
+ basic_machine=z8k-unknown
+ os=-sim
+ ;;
+ z80-*-coff)
+ basic_machine=z80-unknown
+ os=-sim
+ ;;
+ none)
+ basic_machine=none-none
+ os=-none
+ ;;
+
+# Here we handle the default manufacturer of certain CPU types. It is in
+# some cases the only manufacturer, in others, it is the most popular.
+ w89k)
+ basic_machine=hppa1.1-winbond
+ ;;
+ op50n)
+ basic_machine=hppa1.1-oki
+ ;;
+ op60c)
+ basic_machine=hppa1.1-oki
+ ;;
+ romp)
+ basic_machine=romp-ibm
+ ;;
+ mmix)
+ basic_machine=mmix-knuth
+ ;;
+ rs6000)
+ basic_machine=rs6000-ibm
+ ;;
+ vax)
+ basic_machine=vax-dec
+ ;;
+ pdp10)
+ # there are many clones, so DEC is not a safe bet
+ basic_machine=pdp10-unknown
+ ;;
+ pdp11)
+ basic_machine=pdp11-dec
+ ;;
+ we32k)
+ basic_machine=we32k-att
+ ;;
+ sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
+ basic_machine=sh-unknown
+ ;;
+ sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
+ basic_machine=sparc-sun
+ ;;
+ cydra)
+ basic_machine=cydra-cydrome
+ ;;
+ orion)
+ basic_machine=orion-highlevel
+ ;;
+ orion105)
+ basic_machine=clipper-highlevel
+ ;;
+ mac | mpw | mac-mpw)
+ basic_machine=m68k-apple
+ ;;
+ pmac | pmac-mpw)
+ basic_machine=powerpc-apple
+ ;;
+ *-unknown)
+ # Make sure to match an already-canonicalized machine name.
+ ;;
+ *)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+ *-digital*)
+ basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+ ;;
+ *-commodore*)
+ basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+ ;;
+ *)
+ ;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+ # First match some system type aliases
+ # that might get confused with valid system types.
+ # -solaris* is a basic system type, with this one exception.
+ -auroraux)
+ os=-auroraux
+ ;;
+ -solaris1 | -solaris1.*)
+ os=`echo $os | sed -e 's|solaris1|sunos4|'`
+ ;;
+ -solaris)
+ os=-solaris2
+ ;;
+ -svr4*)
+ os=-sysv4
+ ;;
+ -unixware*)
+ os=-sysv4.2uw
+ ;;
+ -gnu/linux*)
+ os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+ ;;
+ # First accept the basic system types.
+ # The portable systems comes first.
+ # Each alternative MUST END IN A *, to match a version number.
+ # -sysv* is not here because it comes later, after sysvr4.
+ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
+ | -sym* | -kopensolaris* | -plan9* \
+ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+ | -aos* | -aros* | -cloudabi* \
+ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+ | -bitrig* | -openbsd* | -solidbsd* \
+ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+ | -chorusos* | -chorusrdb* | -cegcc* \
+ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+ | -linux-newlib* | -linux-musl* | -linux-uclibc* \
+ | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
+ # Remember, each alternative MUST END IN *, to match a version number.
+ ;;
+ -qnx*)
+ case $basic_machine in
+ x86-* | i*86-*)
+ ;;
+ *)
+ os=-nto$os
+ ;;
+ esac
+ ;;
+ -nto-qnx*)
+ ;;
+ -nto*)
+ os=`echo $os | sed -e 's|nto|nto-qnx|'`
+ ;;
+ -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+ ;;
+ -mac*)
+ os=`echo $os | sed -e 's|mac|macos|'`
+ ;;
+ -linux-dietlibc)
+ os=-linux-dietlibc
+ ;;
+ -linux*)
+ os=`echo $os | sed -e 's|linux|linux-gnu|'`
+ ;;
+ -sunos5*)
+ os=`echo $os | sed -e 's|sunos5|solaris2|'`
+ ;;
+ -sunos6*)
+ os=`echo $os | sed -e 's|sunos6|solaris3|'`
+ ;;
+ -opened*)
+ os=-openedition
+ ;;
+ -os400*)
+ os=-os400
+ ;;
+ -wince*)
+ os=-wince
+ ;;
+ -osfrose*)
+ os=-osfrose
+ ;;
+ -osf*)
+ os=-osf
+ ;;
+ -utek*)
+ os=-bsd
+ ;;
+ -dynix*)
+ os=-bsd
+ ;;
+ -acis*)
+ os=-aos
+ ;;
+ -atheos*)
+ os=-atheos
+ ;;
+ -syllable*)
+ os=-syllable
+ ;;
+ -386bsd)
+ os=-bsd
+ ;;
+ -ctix* | -uts*)
+ os=-sysv
+ ;;
+ -nova*)
+ os=-rtmk-nova
+ ;;
+ -ns2 )
+ os=-nextstep2
+ ;;
+ -nsk*)
+ os=-nsk
+ ;;
+ # Preserve the version number of sinix5.
+ -sinix5.*)
+ os=`echo $os | sed -e 's|sinix|sysv|'`
+ ;;
+ -sinix*)
+ os=-sysv4
+ ;;
+ -tpf*)
+ os=-tpf
+ ;;
+ -triton*)
+ os=-sysv3
+ ;;
+ -oss*)
+ os=-sysv3
+ ;;
+ -svr4)
+ os=-sysv4
+ ;;
+ -svr3)
+ os=-sysv3
+ ;;
+ -sysvr4)
+ os=-sysv4
+ ;;
+ # This must come after -sysvr4.
+ -sysv*)
+ ;;
+ -ose*)
+ os=-ose
+ ;;
+ -es1800*)
+ os=-ose
+ ;;
+ -xenix)
+ os=-xenix
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ os=-mint
+ ;;
+ -aros*)
+ os=-aros
+ ;;
+ -zvmoe)
+ os=-zvmoe
+ ;;
+ -dicos*)
+ os=-dicos
+ ;;
+ -nacl*)
+ ;;
+ -none)
+ ;;
+ *)
+ # Get rid of the `-' at the beginning of $os.
+ os=`echo $os | sed 's/[^-]*-//'`
+ echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system. Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+ score-*)
+ os=-elf
+ ;;
+ spu-*)
+ os=-elf
+ ;;
+ *-acorn)
+ os=-riscix1.2
+ ;;
+ arm*-rebel)
+ os=-linux
+ ;;
+ arm*-semi)
+ os=-aout
+ ;;
+ c4x-* | tic4x-*)
+ os=-coff
+ ;;
+ c8051-*)
+ os=-elf
+ ;;
+ hexagon-*)
+ os=-elf
+ ;;
+ tic54x-*)
+ os=-coff
+ ;;
+ tic55x-*)
+ os=-coff
+ ;;
+ tic6x-*)
+ os=-coff
+ ;;
+ # This must come before the *-dec entry.
+ pdp10-*)
+ os=-tops20
+ ;;
+ pdp11-*)
+ os=-none
+ ;;
+ *-dec | vax-*)
+ os=-ultrix4.2
+ ;;
+ m68*-apollo)
+ os=-domain
+ ;;
+ i386-sun)
+ os=-sunos4.0.2
+ ;;
+ m68000-sun)
+ os=-sunos3
+ ;;
+ m68*-cisco)
+ os=-aout
+ ;;
+ mep-*)
+ os=-elf
+ ;;
+ mips*-cisco)
+ os=-elf
+ ;;
+ mips*-*)
+ os=-elf
+ ;;
+ or32-*)
+ os=-coff
+ ;;
+ *-tti) # must be before sparc entry or we get the wrong os.
+ os=-sysv3
+ ;;
+ sparc-* | *-sun)
+ os=-sunos4.1.1
+ ;;
+ *-be)
+ os=-beos
+ ;;
+ *-haiku)
+ os=-haiku
+ ;;
+ *-ibm)
+ os=-aix
+ ;;
+ *-knuth)
+ os=-mmixware
+ ;;
+ *-wec)
+ os=-proelf
+ ;;
+ *-winbond)
+ os=-proelf
+ ;;
+ *-oki)
+ os=-proelf
+ ;;
+ *-hp)
+ os=-hpux
+ ;;
+ *-hitachi)
+ os=-hiux
+ ;;
+ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+ os=-sysv
+ ;;
+ *-cbm)
+ os=-amigaos
+ ;;
+ *-dg)
+ os=-dgux
+ ;;
+ *-dolphin)
+ os=-sysv3
+ ;;
+ m68k-ccur)
+ os=-rtu
+ ;;
+ m88k-omron*)
+ os=-luna
+ ;;
+ *-next )
+ os=-nextstep
+ ;;
+ *-sequent)
+ os=-ptx
+ ;;
+ *-crds)
+ os=-unos
+ ;;
+ *-ns)
+ os=-genix
+ ;;
+ i370-*)
+ os=-mvs
+ ;;
+ *-next)
+ os=-nextstep3
+ ;;
+ *-gould)
+ os=-sysv
+ ;;
+ *-highlevel)
+ os=-bsd
+ ;;
+ *-encore)
+ os=-bsd
+ ;;
+ *-sgi)
+ os=-irix
+ ;;
+ *-siemens)
+ os=-sysv4
+ ;;
+ *-masscomp)
+ os=-rtu
+ ;;
+ f30[01]-fujitsu | f700-fujitsu)
+ os=-uxpv
+ ;;
+ *-rom68k)
+ os=-coff
+ ;;
+ *-*bug)
+ os=-coff
+ ;;
+ *-apple)
+ os=-macos
+ ;;
+ *-atari*)
+ os=-mint
+ ;;
+ *)
+ os=-none
+ ;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer. We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+ *-unknown)
+ case $os in
+ -riscix*)
+ vendor=acorn
+ ;;
+ -sunos*)
+ vendor=sun
+ ;;
+ -cnk*|-aix*)
+ vendor=ibm
+ ;;
+ -beos*)
+ vendor=be
+ ;;
+ -hpux*)
+ vendor=hp
+ ;;
+ -mpeix*)
+ vendor=hp
+ ;;
+ -hiux*)
+ vendor=hitachi
+ ;;
+ -unos*)
+ vendor=crds
+ ;;
+ -dgux*)
+ vendor=dg
+ ;;
+ -luna*)
+ vendor=omron
+ ;;
+ -genix*)
+ vendor=ns
+ ;;
+ -mvs* | -opened*)
+ vendor=ibm
+ ;;
+ -os400*)
+ vendor=ibm
+ ;;
+ -ptx*)
+ vendor=sequent
+ ;;
+ -tpf*)
+ vendor=ibm
+ ;;
+ -vxsim* | -vxworks* | -windiss*)
+ vendor=wrs
+ ;;
+ -aux*)
+ vendor=apple
+ ;;
+ -hms*)
+ vendor=hitachi
+ ;;
+ -mpw* | -macos*)
+ vendor=apple
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ vendor=atari
+ ;;
+ -vos*)
+ vendor=stratus
+ ;;
+ esac
+ basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+ ;;
+esac
+
+echo $basic_machine$os
+exit
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/test-ports/Tools/make_index b/test-ports/Tools/make_index
new file mode 100644
index 00000000..f58ad5c1
--- /dev/null
+++ b/test-ports/Tools/make_index
@@ -0,0 +1,180 @@
+#!/usr/bin/perl
+#
+# $FreeBSD: head/Tools/make_index 340851 2014-01-23 19:55:14Z mat $
+#
+# INDEX builds visit each port once and write out each port's
+# *-depends as a list of directories, using 'make describe'. This
+# script goes back in and maps the directories back to pkgnames,
+# fixes up the *-depends list, and writes out the new INDEX file.
+
+require 5.002;
+
+# Helper function to map a directory to a pkgname.
+sub by_path {
+ my ($name, $port) = @_;
+
+ # If a direct mapping exists, then use it.
+ return $by_path{$name} if (defined $by_path{$name});
+
+ # Make sure we have /usr/ports at the beginning.
+ $name =~ s!^$pwd!/usr/ports!o;
+ return $by_path{$name} if (defined $by_path{$name});
+
+ # Collapse all the '..' sequences.
+ my @f = split('/', $name), @p = ();
+ foreach (@f) { (/\.\./) ? pop(@p) : push(@p, $_); }
+ $name = join('/', @p);
+ return $by_path{$name} if (defined $by_path{$name});
+
+ print STDERR "make_index: $port: no entry for $name\n";
+ return undef;
+}
+
+# This routine replaces what used to be the time-consuming
+# recursive 'depends-list' and 'package-depends' targets.
+sub recurse {
+ my $pkg = shift(@_);
+ return if $pkg->{checked};
+
+ # extract-depends = extract-depends + recursive list of run-depends
+ # for each extract-depends
+ my @deps = ();
+ foreach $name (@{$pkg->{edep}}) {
+ recurse($index{$name});
+ push(@deps, @{$index{$name}->{rdep}});
+ }
+ $pkg->{edep} = uniqify(@{$pkg->{edep}}, @deps);
+
+ # same as above except for patch-depends this time
+ @deps = ();
+ foreach $name (@{$pkg->{pdep}}) {
+ recurse($index{$name});
+ push(@deps, @{$index{$name}->{rdep}});
+ }
+ $pkg->{pdep} = uniqify(@{$pkg->{pdep}}, @deps);
+
+ # same as above except for fetch-depends this time
+ @deps = ();
+ foreach $name (@{$pkg->{fdep}}) {
+ recurse($index{$name});
+ push(@deps, @{$index{$name}->{rdep}});
+ }
+ $pkg->{fdep} = uniqify(@{$pkg->{fdep}}, @deps);
+ $pkg->{checked} = 1;
+
+ # same as above except for build-depends this time
+ @deps = ();
+ foreach $name (@{$pkg->{bdep}}) {
+ recurse($index{$name});
+ push(@deps, @{$index{$name}->{rdep}});
+ }
+ $pkg->{bdep} = uniqify(@{$pkg->{bdep}}, @deps);
+ $pkg->{checked} = 1;
+
+ # same as above except for run-depends this time
+ @deps = ();
+ foreach $name (@{$pkg->{rdep}}) {
+ recurse($index{$name});
+ push(@deps, @{$index{$name}->{rdep}});
+ }
+ $pkg->{rdep} = uniqify(@{$pkg->{rdep}}, @deps);
+ $pkg->{checked} = 1;
+
+}
+
+# Given one or more lists as arguments return the set
+# of unique elements among them.
+sub uniqify {
+ my %seen = ();
+ my @unique = grep {! $seen{$_}++} (@_);
+ return \@unique;
+}
+
+# Save where we are so that we can map all directories formed
+# from ${PORTSDIR} to their canonical location '/usr/ports/...'.
+chomp($pwd = `pwd`);
+
+# Read each line of output generated by the 'index' target.
+while (<>) {
+ chomp;
+ s/\015$//;
+
+ my @f = split(/\|/);
+
+ # Force to canonical form.
+ $f[1] =~ s!^$pwd!/usr/ports!o;
+ $f[4] =~ s!^$pwd!/usr/ports!o;
+
+ # Save directory -> pkgname relationship.
+ # Note: $f[0] gets clobbered by the splice below so we'll save
+ # it to a new $name first.
+ $by_path{$f[1]} = $name = $f[0];
+
+ # Create a hash table of the infomation we need about this port.
+ my $pkg = {
+ 'edep' => [split(/ /, $f[7])],
+ 'pdep' => [split(/ /, $f[8])],
+ 'fdep' => [split(/ /, $f[9])],
+ 'bdep' => [split(/ /, $f[10])],
+ 'rdep' => [split(/ /, $f[11])],
+ 'rest' => join('|', splice(@f, 12)),
+ 'text' => join('|', splice(@f, 0, 7))
+ };
+ $index{$name} = $pkg;
+
+ # This is a cheap way of preserving the order of the entries.
+ push(@names, $name);
+}
+
+# For each port perform the mapping between directory and pkgnames.
+foreach $name (keys %index) {
+ my $pkg = $index{$name};
+ # first the extract dependencies
+ if (@{$pkg->{edep}}) {
+ my @edep = map { by_path($_, $name) } @{$pkg->{edep}};
+ $pkg->{edep} = \@edep;
+ }
+ # then the patch dependencies
+ if (@{$pkg->{pdep}}) {
+ my @pdep = map { by_path($_, $name) } @{$pkg->{pdep}};
+ $pkg->{pdep} = \@pdep;
+ }
+ # then the fetch dependencies
+ if (@{$pkg->{fdep}}) {
+ my @fdep = map { by_path($_, $name) } @{$pkg->{fdep}};
+ $pkg->{fdep} = \@fdep;
+ }
+ # then the build dependencies
+ if (@{$pkg->{bdep}}) {
+ my @bdep = map { by_path($_, $name) } @{$pkg->{bdep}};
+ $pkg->{bdep} = \@bdep;
+ }
+ # then the run dependencies
+ if (@{$pkg->{rdep}}) {
+ my @rdep = map { by_path($_, $name) } @{$pkg->{rdep}};
+ $pkg->{rdep} = \@rdep;
+ }
+}
+
+# With all that done we're finally ready to write out the new
+# INDEX file one port at a time.
+foreach $name (@names) {
+ my $pkg = $index{$name};
+ if (exists $pkg->{'PRINTED'}) {
+ print STDERR "Warning: Duplicate INDEX entry: $name\n";
+ } else {
+ recurse($pkg);
+ print "$pkg->{text}|";
+ print join(' ', sort(@{$pkg->{bdep}})) if @{$pkg->{bdep}};
+ print "|";
+ print join(' ', sort(@{$pkg->{rdep}})) if @{$pkg->{rdep}};
+ print "|$pkg->{rest}|";
+ print join(' ', sort(@{$pkg->{edep}})) if @{$pkg->{edep}};
+ print "|";
+ print join(' ', sort(@{$pkg->{pdep}})) if @{$pkg->{pdep}};
+ print "|";
+ print join(' ', sort(@{$pkg->{fdep}})) if @{$pkg->{fdep}};
+ print "\n";
+ ++$pkg->{'PRINTED'};
+ }
+}
diff --git a/test-ports/Tools/make_readmes b/test-ports/Tools/make_readmes
new file mode 100644
index 00000000..596b225e
--- /dev/null
+++ b/test-ports/Tools/make_readmes
@@ -0,0 +1,50 @@
+#!/usr/bin/perl
+# $FreeBSD: head/Tools/make_readmes 340851 2014-01-23 19:55:14Z mat $
+
+$PORTSDIR="/usr/ports";
+$TEMPLATES=$ENV{TEMPLATES} || "${PORTSDIR}/Templates";
+$README=`cat ${TEMPLATES}/README.port`;
+
+while(<>) {
+ (@F)=split(/\|/, $_);
+ $PKG=$F[0];
+ $PORT=$F[1];
+ $COMMENT=$F[3];
+ $DESCR=$F[4];
+ $EMAIL=$F[5];
+ $BUILD_DEPENDS=$F[7];
+ $RUN_DEPENDS=$F[8];
+ $WEBSITE=$F[9];
+
+
+ $DESCR=~s|^\Q$PORT/\E||;
+ $PORT=~s|`pwd`||;
+
+ if($WEBSITE) {
+ $WEBSITE=" and/or visit the <a href=\"$WEBSITE\">web site</a> for futher informations"
+ };
+ if($BUILD_DEPENDS) {
+ $BUILD_DEPENDS="This port requires package(s) \"$BUILD_DEPENDS\" to build."
+ };
+ if($RUN_DEPENDS) {
+ $RUN_DEPENDS="This port requires package(s) \"$RUN_DEPENDS\" to run."
+ };
+
+ $TOP=$PORT;
+ $TOP=~s|[^/]+|..|g;
+
+ $tmp=$README;
+ $tmp=~s|%%PKG%%|$PKG|g;
+ $tmp=~s|%%PORT%%|$PORT|g;
+ $tmp=~s|%%COMMENT%%|$COMMENT|g;
+ $tmp=~s|%%DESCR%%|$DESCR|g;
+ $tmp=~s|%%EMAIL%%|$EMAIL|g;
+ $tmp=~s|%%WEBSITE%%|$WEBSITE|g;
+ $tmp=~s|%%BUILD_DEPENDS%%|$BUILD_DEPENDS|g;
+ $tmp=~s|%%RUN_DEPENDS%%|$RUN_DEPENDS|g;
+ $tmp=~s|%%TOP%%|$TOP|g;
+
+ open F,">$PORT/README.html";
+ print F $tmp;
+ close F
+}
diff --git a/test-ports/Tools/scripts/BDB-upgrade-helper.sh b/test-ports/Tools/scripts/BDB-upgrade-helper.sh
new file mode 100755
index 00000000..0e44d263
--- /dev/null
+++ b/test-ports/Tools/scripts/BDB-upgrade-helper.sh
@@ -0,0 +1,77 @@
+#!/bin/sh
+# $Id$
+# ports/Tools/scripts/BDB-upgrade-helper.sh
+#
+# A helper script to upgrade applications that used to depend on
+# BerkeleyDB ports 4.0...4.7 to use a newer version of BerkeleyDB.
+#
+# Written by Matthias Andree in 2014, and placed under the same
+# license as FreeBSD itself, see /COPYRIGHT or /usr/src/COPYRIGHT.
+
+set -eu
+: ${PREFIX:=/usr/local}
+: ${LOCALBASE:=${PREFIX}}
+
+# check requisites
+tool=
+if [ -x ${LOCALBASE}/sbin/portmaster ] ; then tool=portmaster ;
+elif [ -x ${LOCALBASE}/sbin/portupgrade ]; then tool=portupgrade;
+else
+ echo >&2 "Neither portmaster nor portupgrade installed. Cannot continue."
+ echo >&2 "Please install ports-mgmt/portmaster before proceeding."
+ exit 1
+fi
+
+# check BerkeleyDB 4.0...4.7 versions
+rx='db4[1-7]?(-nocrypto)?-4'
+if pkg -N 2>/dev/null ; then pkg=yes ; else pkg= ; fi
+if [ -n "$pkg" ] ; then
+ # pkg
+ dbnames=$(pkg info -x "$rx")
+else
+ # old pkg_*
+ dbnames=$(pkg_info -E -X "$rx")
+fi
+
+# due to set -e, the script will not reach this point
+# unless there have been matched packages - without packages,
+# pkg_info or pkg will exit with failure.
+
+# check if we need to pass in origins or package names
+if [ "$tool" = portupgrade ] ; then
+ if [ -n "$pkg" ] ; then
+ dbnames=$(printf '%s\n' "$dbnames" | xargs -n1 pkg info -q -o)
+ else
+ dbnames=$(printf '%s\n' "$dbnames" | xargs -n1 pkg_info -q -o)
+ fi
+fi
+
+# generate the upgrade command
+case "$tool" in
+portmaster)
+ cmd="portmaster -R"
+ for i in $dbnames ; do cmd="$cmd -r $i" ; done
+ ;;
+portupgrade)
+ cmd="portupgrade -f -r"
+ for i in $dbnames ; do cmd="$cmd -x $i" ; done
+ for i in $dbnames ; do cmd="$cmd $i" ; done
+ ;;
+*)
+ echo >&2 "Internal error in $0." ; exit 1
+ ;;
+esac
+
+echo "+ $cmd"
+$cmd
+
+# due to set -e, the script will not reach this point
+# if there was an error or failure with the upgrade tool
+
+if [ -n "$pkg" ] ; then
+ pkg delete $dbnames
+else
+ pkg_delete $dbnames
+fi
+
+echo "Success."
diff --git a/test-ports/Tools/scripts/MOVEDlint.awk b/test-ports/Tools/scripts/MOVEDlint.awk
new file mode 100755
index 00000000..85a4f3bc
--- /dev/null
+++ b/test-ports/Tools/scripts/MOVEDlint.awk
@@ -0,0 +1,106 @@
+#!/usr/bin/awk -f
+#
+# Copyright (c) 2004 Oliver Eikemeier. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+# $FreeBSD: head/Tools/scripts/MOVEDlint.awk 374220 2014-12-07 17:51:12Z ak $
+#
+# MOVEDlint - check MOVED for consistency
+#
+# Usage:
+# [env PORTSDIR=/usr/ports] /usr/ports/Tools/scripts/MOVEDlint.awk
+#
+
+BEGIN {
+ FS = "|"
+ portsdir = ENVIRON["PORTSDIR"] ? ENVIRON["PORTSDIR"] : "/usr/ports"
+ if (ARGC == 1) {
+ ARGV[ARGC++] = portsdir "/MOVED"
+ }
+ sort = "/usr/bin/sort -n"
+ lastdate="1999-12-31"
+}
+
+/^(#|$)/ {
+ next
+}
+
+NF != 4 {
+ printf "%5d: format is from|to|date|reason, detected %d field(s) \n", NR, NF | sort
+ error[NR] = 1
+ next
+}
+
+$1 !~ /^[^\/]+\/[^\/]+$/ || $2 !~ /^([^\/]+\/[^\/]+)?$/ {
+ printf "%5d: source and destination must be category/port\n", NR | sort
+ error[NR] = 1
+ next
+}
+
+$3 !~ /^20[0-3][0-9]-[01][0-9]-[0-3][0-9]$/ {
+ printf "%5d: missing YYYY-MM-DD date\n", NR | sort
+ error[NR] = 1
+ next
+}
+
+{
+ if (lastdate > $3) {
+ printf "%5d: date going backwards from %s to %s\n", NR, lastdate, $3 | sort
+ error[NR] = 1
+ }
+ lastdate = $3
+
+ if (system("test -f " portsdir "/" $1 "/Makefile"))
+ delete missing[$1]
+ else
+ resurrected[$1] = NR
+
+ if ($2)
+ if (system("test -f " portsdir "/" $2 "/Makefile"))
+ missing[$2] = NR
+ else
+ delete resurrected[$2]
+
+# Produces too many false positives
+# if ($4 ~ /^[a-z].*/)
+# printf "Initial value of 'reason' is lowercase: %5d (%s)\n", NR, $4
+
+ if ($4 ~ /\.$/)
+ printf "%5d: Final character is a dot: (%s)\n", NR, $4
+}
+
+END {
+ for (port in resurrected) {
+ printf "%5d: %s must be marked as resurrected\n", resurrected[port], port | sort
+ error[resurrected[port]] = 1
+ }
+
+ for (port in missing) {
+ printf "%5d: %s not found\n", missing[port], port | sort
+ error[missing[port]] = 1
+ }
+
+ close(sort)
+}
diff --git a/test-ports/Tools/scripts/README b/test-ports/Tools/scripts/README
new file mode 100644
index 00000000..af3bb838
--- /dev/null
+++ b/test-ports/Tools/scripts/README
@@ -0,0 +1,148 @@
+$FreeBSD: head/Tools/scripts/README 394508 2015-08-17 14:20:40Z mat $
+
+NOTE: These scripts need work and are *NOT* safe to use unless you know
+ what they do. Use at your own risk. Patches would be great, but
+ it is preferred they pass through the maintainer of each particular
+ script.
+
+MOVEDlint.awk - checks MOVED for common errors
+ardiff - compare two archives easily
+addport - replacement for easy-import
+bad-pkgdescrs.sh - locate identical pkg descriptions
+bump_revision.pl - Small script to bump the PORTREVISION variable of ports
+ which are depending on a port with a changed shared lib
+ version.
+checkcats.py - verify that master categories in all ports are correct and
+ report any problems. Beware that the full check takes quite
+ some time.
+checknewvers - checks for availability for a newest version of distfiles on
+ MASTER_SITES (ftp only).
+checksum - allows checking of ports to see if their checksums
+ match, and if they don't, give a diff against the older version to
+ help discover why the checksum didn't match.
+chkorigin.sh - checks all ports in the tree for a wrong PKGORIGIN.
+ Run this tool after every repocopy.
+doportlint - run portlint on every port and return the results
+distclean - compare md5 sums of distfiles in ports/distfiles with currently
+ installed ports collection in ports/* and prompt to remove
+ unmatched entries
+explicit_lib_depends.sh - shows the current explicit dependency list of libs
+ for a given installed port
+getpatch - downloads patch attachments from a Bug Tracking Systems
+getpatch.sh - downloads patch attachments from a Bug Tracking Systems (plain shell script)
+getpr - downloads a problem report from GNATS and attempts to extract
+ the patch, shar, uuencoded file from it.
+ this probably needs to be checked for potential security problems.
+gnomedepends - Analyse pkg/PLIST and give an advice as to which GNOME ports
+ should be listes in {RUN,LIB}_DEPENDS for this port
+mark_safe.pl - utility to set subsets of ports to MAKE_JOBS_(UN)SAFE=yes
+mfh - Merge from head to a given branch
+neededlibs.sh - Extract direct library dependencies from binaries.
+plist - automate (mostly, at least) pkg-plist generation
+portsearch - A utility for searching the ports tree. It allows more detailed
+ search criteria than ``make search key=<string>'' and accepts
+ all perl(1) regular expressions.
+resolveportsfromlibs.sh - Prints the name(s) of ports(s) given a library
+ filename, suitable for direct use in LIB_DEPENDS.
+splitpatch.pl - A small script to convert multi-file patches to several
+ appropriately named single-file patches.
+tindex - script used to build INDEXes for supported FreeBSD branches, which
+ are the source of the 'make fetchindex' INDEXes, and the build
+ failure reports on ports@FreeBSD.org
+update-patches - generates updated patches.
+
+----------------------------------------------------------------------
+
+getpr is used as so:
+ % cd /usr/ports/CATEGORY/PORT
+ % getpr PRNUMBER
+ <read diff presented to you>
+ <check that there are no followups to the PR as getpr wont' split
+ them out of the PR>
+
+----------------------------------------------------------------------
+
+gnomedepends is a script, which analyses pkg/PLIST and gives an advice as to
+which GNOME ports should be listes in {RUN,LIB}_DEPENDS for the port to ensure
+correct removal of GNOME shared directories. Usage is simple:
+ % cd /usr/ports/CATEGORY/PORT
+ % gnomedepends.py
+ According to the contents of PLIST the port depends on the following GNOME
+ port(s):
+
+ /usr/ports/audio/gnomeaudio, for directories:
+ share/gnome/sounds
+
+ /usr/ports/sysutils/gnomecontrolcenter, for directories:
+ share/gnome/apps
+
+ /usr/ports/x11/gnomecore, for directories:
+ share/gnome/apps/Games
+
+ /usr/ports/x11/gnomelibs, for directories:
+ etc/sound/events
+ etc/sound
+ share/gnome/games
+ share/gnome/pixmaps
+ share/gnome
+
+The example above means that you need to have ${PORTSDIR}/audio/gnomeaudio,
+${PORTSDIR}/sysutils/gnomecontrolcenter, ${PORTSDIR}/x11/gnomecore and
+${PORTSDIR}/x11/gnomelibs listed in {RUN,LIB}_DEPENDS for this port.
+Please be warned, that the this only means that the ports listed by the script
+required for correct removal of GNOME shared directories, not for the port
+functionality, so actual {RUN,LIB}_DEPENDS may have more entries.
+
+----------------------------------------------------------------------
+portsearch - A utility for searching the ports tree.
+
+ portsearch is a utility to for searching of the ports tree. It permits
+ much more detailed searches to be performed than ``make search
+ key=<string>'' by allowing you to specify which field(s) to search. It
+ also supports all valid perl(1) regular expressions for pattern matching.
+
+ portsearch displays matching ports in the same format as ``make search''
+ and also displays the number of matching ports found.
+
+ The following command line options are supported:
+
+ -h Prints a multi-line help message and exits
+
+ -n name Search for name in the name field
+
+ -p path Search for path in the path field
+
+ -i info Search for info in the comments field
+
+ -m maint Search for maint in the Maintainer field
+
+ -x index Search for index in the category field
+
+ -b b_deps Search for b_deps in the build-depends field
+
+ -r r_deps Search for r_deps in the run-depends field
+
+ -d deps Search for deps in the both the build and run dependency
+ fields. This option behaves differently to the other op-
+ tions, see the EXAMPLES section
+
+ -f file Use the index file instead of /usr/ports/INDEX
+
+ All searches are case-insensitive
+
+See the file README.portsearch for further information.
+
+----------------------------------------------------------------------
+
+The update-patches script looks for files in $WRKSRC (if unset, this defaults
+to the work/ subdirectory of the current directory) which have a matching .orig
+file. It also looks in $PATCHDIR (if unset, this defaults to the files/
+subdirectory of the current directory) for patches that correspond to the first
+set. If the changes in an existing patch do not reflect the changes in the
+files in $WRKSRC, the script renames the existing patch by adding the suffix
+.orig and generates a new patch in its place. If no patch existed, the new one
+is created with a name that contains the path and filename of the file being
+patched, except that "/" separators and "." characters are replaced by
+underscores: for example, a new patch to $WRKSRC/foo/bar.c would be created as
+$PATCHDIR/patch-foo_bar_c. If you save a .orig backup of a file, but don't
+change the file, update-patches will generate an empty patch.
diff --git a/test-ports/Tools/scripts/README.getpatch b/test-ports/Tools/scripts/README.getpatch
new file mode 100644
index 00000000..37a56741
--- /dev/null
+++ b/test-ports/Tools/scripts/README.getpatch
@@ -0,0 +1,89 @@
+GETPATCH(1) FreeBSD General Commands Manual GETPATCH(1)
+
+NAME
+ getpatch - Utility to download patch attachments on Bug Tracking Systems
+
+SYNOPSIS
+ getpatch [-h] [--mode gnats|bz] [--last] [--stdout] <pr-id>
+
+DESCRIPTION
+ getpatch is a utility to download patch attachments from Bug Tracking
+ Systems such Gnats and Bugzilla. It supports retrieving multiple
+ attachments from the command line.
+
+ It's written in python without any extra dependencies. In addition to the
+ functionalities offered by other similar tools suchs as getpr, it does web
+ scrapping on the BTS web interface in order to retrieve the patches attached
+ to PR.
+
+ The following command line options are supported:
+
+ -h Prints a multi-line help message and exits.
+
+ --mode Specifies the BTS. Currently "gnats" and "bz" are
+ supported.
+
+ --last Only retrieves the latest iteration of a patch.
+
+ --stdout Dumps the patch to stdout file descriptor.
+
+ Options can be used after or before the <pr-id> argument on the command line.
+
+FILES
+ ${PORTSDIR}/Tools/scripts/getpatch
+
+EXAMPLES
+ Retrieve all patches attached to PR ports/166692 from Gnats BTS:
+
+ getpatch --mode gnats ports/166692
+
+ Retrieve all patches attached to PR ports/166692 from Bugzilla BTS:
+
+ getpatch --mode bz ports/166692
+
+ or
+
+ getpatch 166692
+
+ Bugzilla is the default BTS and category isn't mandatory.
+
+ Retrieve only the latest iteration of the patch:
+
+ getpatch --last ports/166692
+
+ Retrieve a patch and dump it to standard output
+
+ getpatch --stdout ports/166692
+
+ From inside a port's directory, patching on the fly can be done as follows:
+
+ For a diff
+
+ cd ${PORTSDIR}/category/port
+ patch -p0 < <(getpatch 166692 --stdout)
+
+ For a shar
+
+ cd ${PORTSDIR}/category/port
+ sh <(getpatch 166692 --stdout)
+
+ Redirection <() depends on the shell you're using; validated with zsh and bash.
+
+EXIT STATUS
+ getpatch exits with one of the following values according to sysexits code:
+
+ 0 on success.
+ 64 if a help message was displayed.
+ 69 if patches are not found.
+
+SEE ALSO
+ getpr
+
+AUTHORS
+ Sofian Brabez <sbz@FreeBSD.org>
+
+BUGS
+ If you're using getpatch and you encounter a bug or want an improvement
+ don't hesitate to mail me.
+
+FreeBSD 12 June 2016 FreeBSD
diff --git a/test-ports/Tools/scripts/README.getpatch.sh b/test-ports/Tools/scripts/README.getpatch.sh
new file mode 100644
index 00000000..be5d7cf1
--- /dev/null
+++ b/test-ports/Tools/scripts/README.getpatch.sh
@@ -0,0 +1,37 @@
+getpatch.sh is a shell script to help me dealing
+with bugzilla attachements.
+
+Usage: getpatch [-dp] <num> <num> ...
+ -d : download deprecate patches too
+ -p : store the patches in the current dir, instead of the dedicated directory
+use the GETPATCH_DIR variable to define the root location for the downloaded patches
+
+Exemple1: simple usage
+% getpatch 197844
+Bug ID: 197844
+ + attachment 153202-fcgi.diff is obsolete, skip
+ + attachment 153215-fcgi.diff download success
+ >> Patches stored in /tmp/197844
+
+Exemple2: download deprecated too
+getpatch -d 197844
+Bug ID: 197844
+ + attachment 153202-fcgi.diff download success
+ + attachment 153215-fcgi.diff download success
+ >> Patches stored in /tmp/197844
+
+Exemple3: don't create a dedicate directory
+% getpatch -p 197844
+Bug ID: 197844
+ + attachment 153202-fcgi.diff is obsolete, skip
+ + attachment 153215-fcgi.diff download success
+ >> Patches stored in /tmp
+
+Exemple4: use GETPATCH_DIR
+% setenv GETPATCH_DIR ~/patch-store/
+% getpatch 197844
+Bug ID: 197844
+ + attachment 153202-fcgi.diff is obsolete, skip
+ + attachment 153215-fcgi.diff download success
+ >> Patches stored in /usr/home/rodrigo/patch-store/197844
+
diff --git a/test-ports/Tools/scripts/README.patchtool b/test-ports/Tools/scripts/README.patchtool
new file mode 100644
index 00000000..59ee672a
--- /dev/null
+++ b/test-ports/Tools/scripts/README.patchtool
@@ -0,0 +1,137 @@
+INTRODUCTION
+------------
+Patchtool is a tool aimed to simplify common operations with patchfiles. It
+was designed using real world's experience with the subject and expected to be
+very handy for an active porter.
+
+
+MODES OF OPERATION
+------------------
+The tool has the following two basic modes of operation:
+o generation/update of patchfiles. In this mode user provides list of working
+ files for which patchfiles are to be generated and the tool generates or
+ updates corresponding patches automatically guessing if there is an original
+ version (.orig file, rcs(1)) or it is a completely new file;
+
+o automatic update of the existing patchfiles. In this mode user provides a
+ list of patchfiles or directories containing patchfiles and the tool
+ re-generates specified patches. In this mode the tool tries hard to guess
+ whether the patchfile in question is already up to date or not and updates
+ only those patchfiles, which are found to be outdated.
+
+The following options are supported:
+ -a -- automatically save resulting diff into a patchfile;
+ -f -- don't ask any question if target patchfile already exists and is to be
+ replaced;
+ -u -- run tool in the "update" mode (see above);
+ -i -- perform requested operation (generate or update) even if the
+ patchfile seems to be up-to-date based on last modification time of
+ all files involved.
+
+The tool supports dozen environment variables that can be used to override
+default settings. You can find complete list at the top of patchtool.py,
+following are the most useful ones:
+PT_CVS_ID -- CVS id to be added at the top of each patchfile generated
+ ("FreeBSD");
+PT_DIFF_ARGS -- diff(1) args used to generate patchfile ("-du");
+PT_DIFF_SUFX -- suffix used to save original version of the file (".orig");
+
+
+KNOWN BUGS AND LIMITATIONS
+--------------------------
+o It is assumed that each patchfile contains exactly one diff, so the tool
+ may remove useful diffs when there are several diffs merged into one
+ patchfile. Actually I don't think that it is a bug, because Porter's
+ Handbook clearly demands to follow a "one diff - one patchfile" rule.
+ Perhaps portlint(1) should be extended to warn about such abuses;
+
+o only '+++' supported as the prefix for the name of target file in the
+ patchfile. Neither '***' nor 'Index:' are not recognised/supported yet;
+
+o please keep in mind that when you are trying to do automatic update and
+ some of the patches are for auto-generated/mangled files (e.g. configure
+ script in the situation when USE_LIBTOOL is used) then you would end up
+ with some of patchfiles containing bogus hunks;
+
+o by default the tool tries to recognise saved original version on the file
+ first by probing file with '.orig' suffix added and if it fails then by
+ probing file with ',v' suffix added. If you use other suffix to save
+ original version, for example '~', then set PT_DIFF_SUFX environment
+ variable to match your settings, otherwise the tool will not function
+ properly.
+
+
+REPORTING BUGS AND PROPOSING ENHANCEMENTS
+-----------------------------------------
+The author of the tool is Maxim Sobolev <sobomax@FreeBSD.org>. Any bug
+reports, patches, proposals or suggestions are encouraged. You can do it
+either contacting author directly at the e-mail above or submitting a FreeBSD
+problem report.
+
+
+EXAMPLES
+--------
+Following are several sample sessions which show common usage patterns for
+this tool.
+
+1. Generation mode (useful when creating new port).
+$ cd /somewhere/foo ; make
+[compilation blows with error in src/bar/baz.c]
+$ cd work/foo-1.0/src/bar
+[dig here and there and finally find that the problem in baz.c]
+$ cp baz.c baz.c.orig
+$ vi baz.c
+[fixing it]
+$ patchtool baz.c
+[reading diff]
+$ patchtool -a baz.c
+Generating patchfile: patch-src_bar_baz.c...ok
+$ cd ../../../../
+$ make
+[works as expected, wow!]
+$ make install clean
+$ send-pr
+[...]
+
+2. Generation mode when target patchfile already exists (Minor port update).
+$ cd /somewhere/foo ; make
+[...]
+1 out of 4 hunks failed--saving rejects to Makefile.rej
+>> Patch patch-aa failed to apply cleanly.
+*** Error code 1
+$ cd work/foo-1.0
+[examining Makefile.rej]
+$ vi Makefile
+[merging changes by hand]
+$ patchtool Makefile
+[reading diff]
+$ patchtool -a Makefile
+Target patchfile "patch-aa" already exists, do you want to replace it? [y/N]: y
+Generating patchfile: patch-aa...ok
+$ cd ../../
+$ make clean
+$ make install clean
+$ send-pr
+[...]
+
+3. "Gross" update mode (Major update, when several existing patches do not apply
+ cleanly).
+$ cd /somewhere/foo
+$ vi Makefile
+[increase PORTVERSION]
+$ make fetch makesum patch
+[several patches are failing to apply cleanly]
+$ cd work/foo-1.0
+[doing merging work, finally all changes are merged]
+$ cd ../../ ; make all install
+[compile and works like a charm]
+$ pwd
+/somewhere/foo
+$ patchtool -u ./
+Updating patchfile: patch-aa
+Updating patchfile: patch-as
+Updating patchfile: patch-foo.c
+Updating patchfile: patch-foo_bar.c
+$ make clean
+$ send-pr
+[...]
diff --git a/test-ports/Tools/scripts/README.portsearch b/test-ports/Tools/scripts/README.portsearch
new file mode 100644
index 00000000..0e1c951a
--- /dev/null
+++ b/test-ports/Tools/scripts/README.portsearch
@@ -0,0 +1,121 @@
+
+PORTSEARCH(1) FreeBSD General Commands Manual PORTSEARCH(1)
+
+NAME
+ portsearch - A utility for searching the ports tree.
+
+SYNOPSIS
+ portsearch [-h] [-n name] [-p path] [-i info] [-m maint] [-x index] [-b
+ b_deps] [-r r_deps] [-d deps] [-f file]
+
+DESCRIPTION
+ portsearch is a utility to for searching of the ports tree. It permits
+ much more detailed searches to be performed than ``make search
+ key=<string>'' by allowing you to specify which field(s) to search. It
+ also supports all valid perl(1) regular expressions for pattern matching.
+
+ portsearch displays matching ports in the same format as ``make search''
+ and also displays the number of matching ports found.
+
+ The following command line options are supported:
+
+ -h Prints a multi-line help message and exits
+
+ -n name Search for name in the name field. This is the default
+ if no flags are specified
+
+ -p path Search for path in the path field
+
+ -i info Search for info in the comments field
+
+ -m maint Search for maint in the Maintainer field
+
+ -x index Search for index in the category field
+
+ -b b_deps Search for b_deps in the build-depends field
+
+ -r r_deps Search for r_deps in the run-depends field
+
+ -d deps Search for deps in the both the build and run dependency
+ fields. This option behaves differently to the other op-
+ tions, see the EXAMPLES section
+
+ -f file Use an index file with the name "file," instead of
+ /usr/ports/INDEX
+
+ -e Print the pkg-descr (long description) for each port found
+
+ All searches are case-insensitive
+
+ /usr/ports/INDEX is not updated everytime a change is made to the ports
+ tree so in order to get the most accurate results from using portsearch
+ you should consider rebuilding the index thus:
+
+ # cd /usr/ports && make index
+
+FILES
+ /usr/ports/INDEX The ports master index file
+
+EXAMPLES
+ Find all ports whose name contains "emacs":
+
+ portsearch -n emacs
+
+ Restrict the search to only those ports whose name begins with "emacs" by
+ anchoring the match to the beginning of the name:
+
+ portsearch -n ^emacs
+
+
+ Find all the ports in the textproc, print, and www categories that are
+ maintained by Nik or Jim and have a run-time dependency on the tidy(1)
+ port:
+
+ portsearch -x '(textproc|print|www)' -m '(nik|jim)' -r tidy
+
+ Note that the regular expression operators have to be quoted to protect
+ them from the shell.
+
+ The behaviour of the -d deps option is slightly different to the other
+ search options. If used it makes portsearch search both the build- and
+ run-dependency fields. If the -b b_deps and/or the -r r_deps are used as
+ well then they are ignored; the deps pattern is used to search both
+ fields.
+
+ Note that
+
+ portsearch -d foobar
+
+ is not the same as
+
+ portsearch -b foobar -r foobar
+
+ Normally all the options are logically ANDed together so in the above ex-
+ ample a port would need to have both a build and run dependency on
+ "foobar" to match, whereas the -d option logically ORs the two dependency
+ fields so that only a single dependency is required for a match. This is
+ primarily to provide an easy way of generating a list of all the depen-
+ dencies of a port; handy if the maintainer is making changes and needs to
+ know which other ports may be affected.
+
+DIAGNOSTICS
+ portsearch exits 0 on success or 1 if a help message was output.
+
+SEE ALSO
+ perlre(1), ports(7)
+
+AUTHORS
+ Mark Ovens <marko@freebsd.org>
+
+BUGS
+ The "Index" field would probably be better named "Category" but it has
+ been left unchanged to be consistent with ``make search''.
+
+ perl(1) treats ``-'' as a word boundary so when a dependency field is
+ wrapped over more than one line a port name may get split like this:
+
+ gettext-0.10.35 jpeg-6b libproplist-0.10.1 libungif-
+ 4.1.0 png-1.0.6
+
+
+FreeBSD 13 June 2000 2
diff --git a/test-ports/Tools/scripts/addport b/test-ports/Tools/scripts/addport
new file mode 100755
index 00000000..d2dbd8b3
--- /dev/null
+++ b/test-ports/Tools/scripts/addport
@@ -0,0 +1,625 @@
+#!/usr/bin/env perl
+#
+# addport - perl script that adds new ports to the
+# FreeBSD Ports Collection. Replaces easy-import.
+#
+# Copyright (c) 2000 Will Andrews and Michael Haro
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+# Original shell script & idea: Will Andrews <will@FreeBSD.org>
+# Original conversion to Perl : Michael Haro <mharo@FreeBSD.org>
+# Maintainer alumni : Renato Botelho <garga@FreeBSD.org>
+#
+# Id: addport,v 1.2 2000/04/02 06:21:13 will Exp (original shell script)
+# Id: addport,v 1.5 2000/04/22 22:19:43 mharo Exp (perl conversion)
+# $FreeBSD: head/Tools/scripts/addport 421545 2016-09-08 12:49:02Z mat $
+#
+# MAINTAINER= crees@FreeBSD.org
+#
+
+# Smartmatch operator (~~) used
+require 5.10.1;
+
+use Cwd "abs_path";
+use Getopt::Std;
+use Sys::Hostname;
+use locale;
+use strict;
+
+# Subroutine prototypes
+sub warnx($);
+sub err($$);
+sub errx($$);
+sub prompt($);
+sub query($);
+sub usage();
+sub contains($@);
+sub lsports();
+sub lastcomment();
+
+my %opts;
+
+getopts('ac:d:fh:il:L:mns:tu:y', \%opts);
+
+my $autofill_l = $opts{'l'};
+my $autofill_L = $opts{'L'};
+my $autofill = ($autofill_l ? $autofill_l : $autofill_L);
+my $c = $opts{'c'} if ($opts{'c'} ne "");
+my $distdir = $opts{'s'} if ($opts{'s'} ne "");
+my $dir = $opts{'d'};
+my $h = "repo.FreeBSD.org";
+$h = $opts{'h'} if ($opts{'h'} ne "");
+my $u = $ENV{USER};
+$u = $opts{'u'} if ($opts{'u'} ne "");
+my $more_testing = $opts{'t'};
+my $interactive = $opts{'i'};
+my $nomkdir = $opts{'m'};
+my $addlchk = $opts{'a'};
+my $nofetch = $opts{'f'};
+my $checkexist = $opts{'y'};
+my $currentdir = abs_path(".");
+my %l10nprefix = (
+ 'chinese' => 'zh-',
+ 'french' => 'fr-',
+ 'german' => 'de-',
+ 'hebrew' => 'iw-',
+ 'hungarian' => 'hu-',
+ 'japanese' => 'ja-',
+ 'korean' => 'ko-',
+ 'portuguese' => 'pt-',
+ 'russian' => 'ru-',
+ 'ukrainian' => 'uk-',
+ 'vietnamese' => 'vi-',
+);
+
+my $tmpdir;
+my $repo;
+my $portsdir = $ENV{PORTSDIR} ? $ENV{PORTSDIR} : '/usr/ports';
+my $repo = $ENV{ADDPSVNROOT}? $ENV{ADDPSVNROOT} : "svn+ssh://$u\@$h/ports/head";
+my $make = "make";
+my $portlint = `which portlint`; chomp $portlint;
+my $plint_args = "-N -a -c -t";
+my $perl = "perl";
+my $cp = "cp";
+my $mv = "mv";
+my $rm = "rm";
+chomp(my $svnlite = `which svnlite`);
+my $svn = ($svnlite ? $svnlite : "svn");
+my $keyword = '\$FreeBSD\\\$';
+# vars required for commitfile
+my $descr; my $portversion; my $pkgcomment;
+my $tmp; my $pkgcommentlen; my $comment; my $maintainer = "";
+my $maintaineraddr; my $tmp2; my $offset; my $commitfile = "";
+my $moved = "";
+$tmp = $tmp2 = $offset = 0;
+
+# Check the editor.
+my $edit = "/usr/bin/vi";
+$edit = $ENV{EDITOR} if ($ENV{EDITOR} ne "");
+
+# Check svn version
+my $svnversion = `$svn --version --quiet 2>/dev/null`;
+chomp $svnversion;
+if ($svnversion eq "") {
+ errx(1, "Subversion binary not found in \$PATH, aborting.");
+}
+my @svnversion = split(/\./, $svnversion);
+if ($svnversion[0] == 1 && $svnversion[1] < 7) {
+ errx(1, "minimum Subversion version of 1.7 not met, aborting.");
+}
+
+# stuff that always happens when we start
+BEGIN {
+ $tmpdir=`mktemp -d -t ap`;
+ chomp $tmpdir;
+ if ($tmpdir eq "") {
+ errx(1,"making random tmpdir didn't work, aborting.");
+ }
+}
+
+# stuff that always happens when we exit
+END {
+ # only remove $tmpdir if it points to something in /tmp
+ # this is a silly little security thing
+ if (defined($rm) && defined($tmpdir)) {
+ system("$rm -rf $tmpdir") if ($tmpdir =~ m,/tmp/,);
+ }
+}
+
+# setup the list of commands to run on the new port(s).
+my @commands;
+my $passenv = "";
+if ($addlchk && -f $portlint) {
+ $passenv = "DISTDIR=\"$distdir\"" if -d $distdir;
+ $passenv = $passenv . " PORTSDIR=\"$portsdir\"" if !$nomkdir;
+ push(@commands, "$make $passenv clean check-categories");
+ push(@commands, "$portlint $plint_args");
+ push(@commands, "$make $passenv FETCH_BEFORE_ARGS='-A' checksum") if !$nofetch;
+ if ($more_testing) {
+ push(@commands, "$make $passenv distclean");
+ push(@commands, "$make $passenv build");
+ push(@commands, "$make $passenv distclean");
+ }
+ if (!$nomkdir) {
+ chdir $tmpdir;
+ print "Checking out Mk directory to ensure portlint correctness.\n";
+ system("$svn co $repo/Mk Mk") && errx(1, "Could not checkout Mk directory");
+ system("$svn co $repo/Templates Templates") && errx(1, "Could not checkout Templates directory");
+ chdir $currentdir;
+ }
+}
+
+if ($dir eq "") {
+ warnx("Need to specify a directory with -d argument!");
+ usage();
+ exit 1;
+}
+
+# check the port doesn't exist already
+
+if ($checkexist) {
+ my $found = 0;
+ print ">> Fetching INDEX to scan for duplicates...\n";
+ my $indexfile = "$tmpdir/" . `$make -C $portsdir -V INDEXFILE`;
+ system("$make -C /usr/ports INDEXDIR=$tmpdir fetchindex") && errx(1, "Could not fetch INDEX file.");
+ my @namepart;
+ foreach (split(/\,/, $dir)) {
+ s/^.*\///;
+ foreach (split(/[-_]/)) {
+ next if length () <=2 or /^rubygem$/;
+ push(@namepart, $_);
+ }
+ }
+ open(INDEXFILE, "< $indexfile") or errx(1, "$indexfile unreadable.");
+ while (my $line = <INDEXFILE>) {
+ $line =~ m,^[^|]*\|/usr/ports/[^/]*/([^|]*)\|,;
+ $line = $1;
+ foreach my $dpart (@namepart) {
+ if ($line =~ /^[^ ]*\b$dpart\b/i) {
+ $line =~ s/\s+/ /g;
+ print "$dpart matches $line\n";
+ $found = 1;
+ }
+ }
+ }
+ if ($found) {
+ prompt ("Possible duplicates found -- still OK?")
+ and errx(1, "Investigating duplicates");
+ }
+}
+
+# make sure we're in the right place.
+chdir $currentdir;
+my @dirs = split(/\,/, $dir);
+foreach my $i (@dirs) { $i = abs_path($i); }
+my $portname; my $wrapat;
+foreach my $thisdir (@dirs) {
+ # make double sure where we are..
+ chdir $thisdir;
+ # do some dir sanity checking first
+ errx(1, "Please specify valid directories to import new ports from.") if $thisdir eq "";
+ errx(1, "$thisdir is either not a directory or does not exist.") if (! -d $thisdir);
+
+ print "Working with port directory $thisdir.\n";
+
+ $portname = `basename $thisdir`; # avoid problems with dirs containing `/' in cvs
+ chomp $portname;
+ warnx("Port directory contains upper-case character! Please try using an all lower-case name to make everybody's life a bit easier.") if ($portname =~ /[A-Z]/);
+ if ($interactive) {
+ if (prompt("Port directory name will be $portname in SVN Repo. OK? ")) {
+ do {
+ $portname = query("Preferred name for port directory? ");
+ } while (prompt("Is the new name $portname OK? "));
+ }
+ }
+
+ chdir $thisdir or err(1, "$thisdir");
+
+ # now run the tests on this baby.
+ for (@commands) {
+ system("$_") && errx(1, "'$_' had problems. aborting.");
+ }
+
+ # Get the category name and make it suitable for use with svn
+ my @categories = split(/ /, `$make -VCATEGORIES`);
+ my $category = $categories[0];
+ if ($interactive) {
+ if (prompt("Port $portname will be put in category $category. OK? " )) {
+ do {
+ $category = query("Preferred category for $portname? ");
+ } while (prompt("Is the new category $category OK? "));
+ }
+ }
+ chomp $category;
+
+ # Do commitfile checking but only if the user did not request automatic filling.
+ if (!$autofill) {
+ if (-f $c) {
+ system("$mv $c $tmpdir/commitfile") && errx(1, "Oops, can't move commitfile!");
+ print "\nRemember, you asked to use a commit file to read for the commit log.\n";
+ print "This means you'll get a message saying the log message was unchanged or\n";
+ print "not specified. Just tell it to continue and it will be committed.\n\n";
+ $commitfile = "--file $tmpdir/commitfile";
+ }
+ } else {
+ ## Set up the autofill file.
+ # Read COMMENT for part of the commit message.
+ if ($autofill_l) {
+ chomp($pkgcomment = `$make $passenv -V COMMENT`);
+ # Change the first character to lowercase to make it fit with the
+ # rest of the commit message, only if the second is not upper case.
+ $pkgcomment =~ s/(^.)(?![A-Z])/\l$1/;
+ $pkgcomment .= ".";
+ $pkgcomment .= "\n\n" if ($autofill != -1);
+ } else {
+ $pkgcomment = `cat pkg-descr`;
+ $pkgcomment .= "\n" if ($autofill != -1);
+ }
+ chomp($maintaineraddr = `$make $passenv -V MAINTAINER`);
+ chomp($portversion = `$make $passenv -V PORTVERSION`);
+ # Read Makefile to find necessary variables.
+ open(MAKEFILE, "Makefile") or die("Can't open Makefile for reading: $!");
+ while(<MAKEFILE>) {
+ chomp;
+ die ("Old style Makefile headers detected") if (/^# (?:[Nn]ew )?[Pp]orts collection [Mm]akefile/);
+ ($maintainer) = (m/^# Created by:\s+(\w.*)$/) if (/^# Created by/);
+ }
+ close(MAKEFILE);
+ $maintainer = $maintaineraddr unless ($maintainer);
+ # Write out the data to the comment file.
+ open(AUTOFILL, "> $tmpdir/commitfile") or die("Can't open $tmpdir/commitfile for writing: $!");
+ if ($autofill_l) {
+ # pretty print; wrap @ 72 characters
+ $tmp = "Add $portname $portversion, $pkgcomment";
+ $wrapat = 72;
+ while($wrapat > 1) {
+ $tmp2 = $tmp;
+ $tmp =~ s/(.{$wrapat}([^ ]+)?) /$1\n/g;
+ last unless $tmp =~ /^[^\n]{73}/;
+ $wrapat--;
+ $tmp = $tmp2;
+ }
+ } else {
+ $tmp = $pkgcomment;
+ }
+ print AUTOFILL $tmp;
+ print AUTOFILL "PR: $autofill\n" if ($autofill != -1);
+ print AUTOFILL "Submitted by: $maintainer" if ($maintainer && $autofill != -1);
+ close(AUTOFILL);
+ print "Okay, a commit log message was automatically generated for you.\n";
+ print "Now you will have a chance to edit it to make sure it's OK to use.\n";
+ print "Here's the contents of the file:\n--start--\n";
+ open(AUTOFILL, "$tmpdir/commitfile") or die("Can't open $tmpdir/commitfile for reading: $!");
+ print while (<AUTOFILL>);
+ close(AUTOFILL);
+ $tmp = prompt("\n--end--\nDo you wish to edit the file before continuing? ");
+ system("$edit $tmpdir/commitfile") if ($tmp == 0);
+ print "\nRemember, you asked to use a commit file to read for the commit log.\n";
+ print "This means you'll get a message saying the log message was unchanged or\n";
+ print "not specified. Just tell it to continue and it will be committed.\n\n";
+ $commitfile = "--file $tmpdir/commitfile";
+ }
+
+ print "We're ready to commit.\n";
+ print "Source directory: $thisdir\n";
+ print "Target SVN Repo directory: ports/$category/$portname\n";
+ prompt("Adding port $portname to $category OK? ") && errx(1, "user abort requested");
+
+ chdir $tmpdir or err(1, "$tmpdir");
+
+ # let's get our hands dirty.
+ if (! -d "ports") {
+ system("$svn co --depth empty $repo ports") && errx(1, "can't get ports root, aborting.");
+ chdir "ports" or err(1,"ports");
+ system("$svn up --depth files $category") && errx(1, "can't get temporary category directory, aborting.");
+ }
+ chdir $category or err(1,"$category");
+
+ # check for previous existence of port -- on the way use filthy
+ # home-made XML parser.
+ # Until svn revs are in the database, we'll use dates.
+ print "Checking for previous versions of $category/$portname... \n";
+ my $previous_incarnation = "bogus";
+ my $oldportlist = `/usr/bin/fetch -qo - http://people.FreeBSD.org/~crees/removed_ports/index.xml`;
+ if ($oldportlist !=~ /^fetch:[^:]+: Not Found/) {
+ foreach (split("\n", $oldportlist)) {
+ if (/^ +\<port\>$category\/$portname(?:\<removed_revision\>r([0-9]*)\<\/removed_revision\>)?\<removed_date\>([^<]*)/) {
+ print "Found one!\n";
+ if ($1 == "") {
+ $previous_incarnation = $2;
+ $previous_incarnation =~ s,/,-,g;
+ print "This port was last alive on $previous_incarnation.\n";
+ $previous_incarnation = "\{$previous_incarnation\}";
+ } else {
+ $previous_incarnation = $1 - 1;
+ print "The last living revision of this port was r$previous_incarnation.\n";
+ }
+ last;
+ }
+ }
+ } else {
+ print "Could not fetch list-- perhaps the site is down.";
+ }
+ if ($previous_incarnation ne "bogus") {
+ print "Fetching older version... ";
+ system("$svn cp -q '$repo/$category/$portname\@$previous_incarnation' .");
+ print "[DONE]\n";
+ print "Removing irrelevant files and directories... ";
+ my @oldfiles = split("\0", `cd $portname && find . -type f -print0`);
+ my @olddirs = split("\0", `cd $portname && find . -type d -print0 | sort -r`);
+ my @newfiles = split("\0", `cd $thisdir && find . -type f -print0`);
+ my @newdirs = split("\0", `cd $thisdir && find . -type d -print0| sort -r`);
+
+ foreach my $file (@oldfiles) {
+ system("cd $portname && $svn rm $file")
+ if !($file ~~ @newfiles)
+ }
+
+ foreach my $directory (@olddirs) {
+ system("cd $portname && $svn rm $directory")
+ if !($directory ~~ @newdirs);
+ }
+
+ print "[DONE]\n";
+
+ # Remove cvs2svn props if present
+ print "Removing cvs2svn props...\n";
+ system("$svn propdel -qR cvs2svn:cvs-rev $portname");
+
+ $moved = "MOVED";
+ print "Removing port's entry from $moved...\n";
+ system("cd .. && $svn up -q $moved && sed -i '' -e '\\,^$category/$portname\|\|,d' $moved");
+
+ # Add note to log about readdition
+ system("echo '(Readdition of $category/$portname which was removed on $previous_incarnation)\n' > $tmpdir/commitfile.tmp && cat $tmpdir/commitfile >> $tmpdir/commitfile.tmp && mv $tmpdir/commitfile.tmp $tmpdir/commitfile") unless ($commitfile eq "");
+
+ } else {
+ print "[none found]\n";
+ }
+ system("$cp -PRp $thisdir .");
+ system("$svn add --force --depth empty `find $portname -type d | grep -v '^$portname/work'`") && errx(1, "svn add for dirs failed, aborting.");
+
+ system("$svn add --force `find $portname -type f | grep -v '^$portname/work'`") && errx(1, "svn add for files failed, aborting.");
+
+ # Find keywords in old files and strip
+ print "Stripping any keywords...\n";
+ system("sed -i '' -e 's,\\\$Free" . "BSD:[^\$]*\\\$,\$Free" . "BSD\$,' \$(find $portname -type f)");
+
+ # find files with keywords in and propset
+
+ print "Setting correct properties on files...\n";
+
+ my @portfiles = split("\0", `find $portname -type f -print0`);
+ my $portfiles = join(" ", @portfiles);
+ my @keywordfiles = split("\n", `grep -l $keyword $portfiles`);
+ foreach (@portfiles) {
+ if ($_ ~~ @keywordfiles) {
+ system("$svn -q propset svn:keywords FreeBSD=%H $_");
+ system("$svn -q propdel fbsd:nokeywords $_");
+ } else {
+ system("$svn -q propset fbsd:nokeywords on $_");
+ system("$svn -q propdel svn:keywords $_");
+ }
+ }
+
+ # strip svn:executable if added-- not allowed
+
+ system("cd $portname && $svn -qR propdel svn:executable");
+
+ # figure out where the port name belongs in category Makefile
+ my ($spaces, @ports) = &lsports;
+ errx(1, "Error: $portname already exists in $category\'s Makefile") if (&contains($portname, @ports));
+ my $port = "";
+ foreach my $tmp (sort(@ports)) {
+ if ($tmp gt $portname) {
+ $port = $tmp;
+ last;
+ }
+ }
+
+ # now let's insert it
+ my $cmd;
+ if (scalar @ports == 0) {
+ # there were no previous SUBDIR += lines, so we're going to
+ # put ourselves after the last comment (we can't be after a
+ # .include <bsd.port.subdir.mk> for example).
+ my $lastcommentnum = &lastcomment;
+ $cmd = "$lastcommentnum\n+\ni\n";
+ } else {
+ if ($port eq "") {
+ # there were previous SUBDIR lines, but none was greater than we are,
+ # means, we're the last port, so, add ourselves after the last port
+ $port = $ports[$#ports];
+ $cmd = "/^" . $spaces . "SUBDIR += $port/\na\n";
+ } else {
+ # OK, append ourselves in the right place, so things *stay* sorted.
+ $cmd = "/^" . $spaces . "SUBDIR += $port/\ni\n";
+ }
+ }
+ print "Inserting new port into $category/Makefile...\n";
+ open(ED, "|ed Makefile") || die "Cannot start ed to actually insert module\n";
+ print ED "$cmd" . $spaces . "SUBDIR += $portname\n.\nw\nq\n";
+ close(ED);
+
+ # commit the actual port.
+ chdir "$tmpdir/ports" or err(1, "$tmpdir/ports");
+ if ($opts{'n'}) {
+ print "Faking commit....\n";
+ } else {
+ system("$svn ci $commitfile $moved $category/Makefile $category/$portname") && errx(1, "svn commit failed, aborting.");
+ }
+}
+
+print <<EOF;
+You're done! The new port $portname has been completely imported in
+the tree. Don't forget to add the creator's name and email address to
+the Contributors' List if they are not already there. To do this, edit
+doc/head/en_US.ISO8859-1/articles/contributors/contrib.additional.xml.
+EOF
+
+sub warnx($) {
+ my ($msg) = @_;
+ print STDERR $0 . ": " . $msg . "\n";
+}
+
+sub err($$) {
+ my ($ex, $msg) = @_;
+
+ warnx("WARNING: err called incorrectly") if (($ex !~ m/^\d+/) || ($msg eq ""));
+ print STDERR $0 . ": " . $msg . ": $!\n";
+ exit $ex;
+}
+
+sub errx($$) {
+ my ($ex,$msg) = @_;
+
+ warnx("WARNING: errx called incorrectly") if (($ex !~ m/^\d+/) || ($msg eq ""));
+ print STDERR $0 . ": " . $msg . "\n";
+ exit $ex;
+}
+
+sub prompt($) {
+ my ($msg) = @_;
+ my $reply = query($msg);
+ return 0 if ($reply =~ m/^[Yy]/);
+ return 1 if ($reply =~ m/^[Nn]/);
+}
+
+sub query($) {
+ my ($msg) = @_;
+
+ print "$msg";
+ my $reply = <>;
+ chomp $reply;
+ return $reply;
+}
+
+sub usage() {
+#addport,v \$Revision: 1.21 $
+print <<EOF;
+authors: <will\@FreeBSD.org>, <mharo\@FreeBSD.org>
+
+SYNOPSIS
+ $0 [-c commitfile] [-h host] [-l PR number | -L PR number]
+ [-s distdir] [-u user] [-afimnty] -d directory
+
+ Where "directory" contains the comma-delimited list
+ of root directories of new ports that you wish to
+ add to the Ports Collection. The name of this directory
+ *WILL* matter in regards to the repository!
+
+OPTIONS
+ -a Perform checks on the port to make sure
+ there are no problems. Recommended.
+ -c file Use file in place of normal log message.
+ -f Do not fetch the distfile.
+ -h host Use a svnhost besides repo.FreeBSD.org.
+ -i Interactive mode; allow more control over
+ where things are placed.
+ -l PR# Attempts to autogenerate a commit message by
+ reading the Makefile file.
+ The PR number must be passed to -l. If there is
+ no PR (i.e., self-created or submitted in
+ private email), use PR# -1.
+ -L PR# Like -l but it'll generate commit message based
+ on pkg-descr
+ -m Do not checkout ports/Mk (needed for support
+ of portlinting etc).
+ -n Do not actually commit anything.
+ -s distdir Use a different directory besides the default,
+ for downloading distfiles.
+ -t Do more port testing. Requires -a.
+ -u user Use a different username (default: $u).
+ -y Check for similarly named ports.
+
+ENVIRONMENT VARIABLES
+ $0 supports the following environment variables:
+
+ ADDPSVNROOT - Location of SVN repository.
+ USER - Username of user invoking $0.
+
+EXAMPLES
+ % addport -n -d greatgame,helpfuldev,shoot
+ Will show what happens but not actually commit ports
+ named "greatgame", "helpfuldev", and "shoot".
+
+ % addport
+ Displays this message. :-)
+
+EOF
+}
+
+sub contains($@) {
+ # look if the first parameter is contained in the list following it
+ my ($item, @list) = @_;
+
+ foreach my $i (@list) {
+ return 1 if $i eq $item;
+ }
+ return 0;
+}
+
+sub lsports() {
+ my @rv = ();
+ my $spaces;
+
+ open(F, "Makefile") || die "can't open Makefile: $!";
+ while(<F>) {
+ chomp;
+ chomp;
+ next if $_ !~ m/SUBDIR/;
+
+ if ( !defined($spaces) ) {
+ m/^([\s\t]+)[^\s\t]/;
+ $spaces = $1;
+ }
+
+ s/^[ \t]+SUBDIR[ \t]+\+?=[\ \t]+//;
+ push(@rv, $_);
+ }
+ close(F);
+
+ return ($spaces, @rv);
+}
+
+# this finds the last comment in the Makefile
+sub lastcomment() {
+ my $num = 0;
+ my $diff = 0;
+
+ open(F, "Makefile");
+ while(<F>) {
+ chomp;
+ if ($_ =~ m/^#/) {
+ $num += $diff;
+ $num++;
+ $diff = 0;
+ } else {
+ $diff += 1;
+ }
+ next;
+ }
+ return $num;
+}
+
diff --git a/test-ports/Tools/scripts/ardiff b/test-ports/Tools/scripts/ardiff
new file mode 100755
index 00000000..1840ec0d
--- /dev/null
+++ b/test-ports/Tools/scripts/ardiff
@@ -0,0 +1,97 @@
+#!/bin/sh
+
+#
+# ardiff tries to make it easy for you to compare two archives. It makes no
+# claims about originality, correctness or usefulness, but it saved a lot of
+# time for at least one port maintainer.
+#
+# DEPS: vim, p7zip
+# TODO: word-by-word, more intelligent diffs
+#
+
+usage () {
+ if [ "$#" -gt 0 ]; then
+ echo "Error: $*" >&2
+ fi
+ echo "Usage: $0 <archive1> <archive2>" >&2
+ exit 0
+}
+
+debug () {
+ echo "Debug: $*" >&2
+}
+
+die () {
+ echo "Fatal: $*" >&2
+ exit 2
+}
+
+extract () {
+ if [ "$#" != 2 ]; then
+ die "extract () miscalled" >&2
+ fi
+ cd $2
+ if tar tf $1 >&-; then
+ debug "file $1 looks like a good tar archive"
+ tar xf $1 && debug "file $1 untar'ed successfully" || die "file $1 failed to untar"
+ elif 7z t $1 >&-; then
+ debug "file $1 looks like a good non-tar archive"
+ 7z x $1 >&- && debug "file $1 un7z'ed successfully" || die "file $1 failed to un7z"
+ else
+ die "file $1 was not recognized"
+ fi
+}
+
+if [ "$#" != "2" ]; then
+ usage
+fi
+
+ar1=`realpath $1`
+ar2=`realpath $2`
+
+for i in $ar1 $ar2;do if [ ! -r $i ]; then
+ usage "file \"$i\" unreadable"
+fi;done
+
+for i in tar 7z;do if [ ! -x `which $i` ]; then
+ die "missing a decompressor, please make sure tar and 7z are available"
+fi;done
+if [ ! -x `which vim` ]; then
+ die "missing vim, please install it"
+fi
+
+art1=`mktemp -d -t /tmp` && debug "created tmp dir $art1" || usage "could not create a tmp dir"
+art2=`mktemp -d -t /tmp` && debug "created tmp dir $art2" || usage "could not create a tmp dir"
+
+extract $ar1 $art1
+extract $ar2 $art2
+
+if [ "`ls $art1|wc -l`" -eq 1 ]; then
+ dart1=$art1/`ls $art1|head -n1`
+else
+ dart1=$art1
+fi
+if [ "`ls $art2|wc -l`" -eq 1 ]; then
+ dart2=$art2/`ls $art2|head -n1`
+else
+ dart2=$art2
+fi
+#if [ "`ls $art1|wc -l`" -eq 1 ]&&[ "`ls $art2|wc -l`" -eq 1 ]; then
+# dart1=$art1/`ls $art1|head -n1`
+# dart2=$art2/`ls $art2|head -n1`
+#else
+# dart1=$art1
+# dart2=$art2
+#fi
+
+{
+ echo "====== Appeared and disappeared ======"
+ diff -urq $dart1 $dart2|sed -e "s|$art1|OLD|;s|$art2|NEW|"|grep '^Only'
+ echo "====== Modified ======"
+ diff -urq $dart1 $dart2|sed -e "s|$art1|OLD|;s|$art2|NEW|"|grep -v '^Only'
+ echo "====== Modifications ======"
+ diff -ur $dart1 $dart2|sed -e "s|$art1|OLD|;s|$art2|NEW|"
+}|vim -R -c "syntax on" -c "set syntax=diff" -c "set nowrap" \
+ -c 'let @/="^--- "' -c "set so=20" -
+
+rm -rf $art1 $art2 && debug "removed tmp dirs"
diff --git a/test-ports/Tools/scripts/bad-pkgdescrs.sh b/test-ports/Tools/scripts/bad-pkgdescrs.sh
new file mode 100755
index 00000000..109cd594
--- /dev/null
+++ b/test-ports/Tools/scripts/bad-pkgdescrs.sh
@@ -0,0 +1,24 @@
+#!/bin/sh
+# Version 0.2
+# This script is public domain, for any given public, in every type of domain.
+# onatan@gmail.com
+
+usage(){
+ echo "$0 [/usr/ports]"
+ echo "Locates identical pkg-descr files"
+ exit 1
+}
+
+DIR=${1-/usr/ports}
+[ -d ${DIR} ] || usage
+
+find ${DIR}/ -name pkg-descr -exec md5 -r {} \; 2>/dev/null | \
+ sort | \
+ xargs -L 9999999999 | \
+ awk ' \
+ { size=split($0,arr," ") } \
+ { for (i=1; i<size; ++i) \
+ if ( arr[i] == arr[i+2] ) \
+ print arr[i+1] " == " arr[i+3] \
+ } \
+ '
diff --git a/test-ports/Tools/scripts/bump-revision.sh b/test-ports/Tools/scripts/bump-revision.sh
new file mode 100755
index 00000000..64f6b776
--- /dev/null
+++ b/test-ports/Tools/scripts/bump-revision.sh
@@ -0,0 +1,106 @@
+#!/bin/sh
+
+#
+# bump-revision.sh category/portname category/portname ...
+# Bump PORTREVISION if it exists or create it with number 1 if it does not
+#
+# ----------------------------------------------------------------------------
+# "THE BEER-WARE LICENSE" (Revision 42, (c) Poul-Henning Kamp):
+# Bartek Rutkowski <robak@FreeBSD.org> wrote this file. As long as you retain
+# this notice you can do whatever you want with this stuff. If we meet some
+# day, and you think this stuff is worth it, you can buy me a beer in return.
+#
+# Bartek Rutkowski
+# ----------------------------------------------------------------------------
+#
+# $FreeBSD: head/Tools/scripts/bump-revision.sh 419519 2016-08-03 13:27:47Z mat $
+#
+# MAINTAINER= robak@FreeBSD.org
+
+#
+# functions
+#
+
+printc () {
+# $1 - msg is obligatory, $2 - color (red/green)of the message, default if not passed
+ if [ -t 1 ]; then
+ if [ $# -eq 2 ]; then
+ if [ $2 = "red" ]; then
+ echo -e "\033[1;31m$1\033[m"
+ elif [ $2 = "green" ]; then
+ echo -e "\033[1;32m$1\033[m"
+ else
+ echo "$1"
+ fi
+ fi
+ else
+ echo $1
+ fi
+}
+
+#
+# main loop
+#
+
+tempfile=$(mktemp)
+trap "rm -f $tempfile" 0 1 2 3 15
+
+while [ $# -gt 0 ]
+do
+ if [ -f "$1/Makefile" ]; then
+ # If the Makefile exists, continue and empty the tempfile, set up variables
+ echo -n > $tempfile
+ revision_str=`grep "^PORTREVISION?\?=" "$1/Makefile"`
+
+ case $? in
+ 0)
+ # If the exit code is 0, then PORTREVISION line was found
+ if [ `echo "$revision_str" | wc -l` = 1 ]; then
+ # If the $revision_str variable has only 1 line, then proceed with processing it
+ case `echo "$revision_str" | awk -F "\t+" '{ print $2 }'` in
+ (*[^0-9]*|'')
+ # If the value of PORTREVISION is not an integer, we can't bump its value
+ printc "ERROR: $1 PORTREVISION value is not a number, unable to solve!" "red"
+ ;;
+ (*)
+ # If the value of PORTREVISION is an integer, increase it by 1
+ printc "INFO: $1 $revision_str found, bumping it by 1." "green"
+ rm -f $tempfile && awk -F "\t+" '/^PORTREVISION\??=/{ gsub ($2, $2+1) }; { print }' "$1/Makefile" > $tempfile \
+ && cat $tempfile > "$1/Makefile" \
+ || printc "ERROR: $1 PORTREVISION found but failed to bump it!" "red"
+ ;;
+ esac
+ else
+ # If the $revision_str variable had more than 1 line, we can't bump its value safely
+ printc "ERROR: $1 PORTREVISION found more than once, unable to bump it reliably!" "red"
+ fi
+ ;;
+ 1)
+ # If the exit code is 1 then PORTREVISION wasn't found, so we need to add one with value of 1
+ printc "INFO: $1 PORTREVISION not found, adding PORTREVISION= 1" "green"
+ rm -f $tempfile && awk '/^(PORT|DIST)VERSION\??=\t/{ print; print "PORTREVISION=\t1"; next } { print }' "$1/Makefile" > $tempfile \
+ && cat $tempfile > "$1/Makefile"
+ # If there is not PORTREVISION line, maybe it is a slave port, try
+ # to add it before a CATEGORIES, PKGNAMESUFFIX or PKGNAMEPREFIX line:
+ for line in CATEGORIES PKGNAMEPREFIX PKGNAMESUFFIX; do
+ if ! grep -q "^PORTREVISION?\?=" $1/Makefile; then
+ rm -f $tempfile && awk '/^'${line}'\??=\t/{ print "PORTREVISION=\t1"; print; next } { print }' "$1/Makefile" > $tempfile \
+ && cat $tempfile > "$1/Makefile"
+ fi
+ done
+ # If it still is not there, bail out
+ if ! grep -q "^PORTREVISION?\?=" $1/Makefile; then
+ printc "ERROR: $1 PORTREVISION not found and failed to add it!" "red"
+ fi
+ ;;
+ *)
+ printc "ERROR: PORTREVISION grep for $1 exited with error!" "red"
+ ;;
+ esac
+ else
+ # The directory specified had no Makefile, so it seems like a mistake
+ printc "ERROR: $1 might not be a port directory because $1/Makefile is missing!" "red"
+ fi
+ shift
+done
+
diff --git a/test-ports/Tools/scripts/bump_revision.pl b/test-ports/Tools/scripts/bump_revision.pl
new file mode 100755
index 00000000..aee83b75
--- /dev/null
+++ b/test-ports/Tools/scripts/bump_revision.pl
@@ -0,0 +1,213 @@
+#!/usr/bin/env perl
+
+# $FreeBSD: head/Tools/scripts/bump_revision.pl 439336 2017-04-24 17:27:58Z ehaupt $
+
+#
+# MAINTAINER= gerald@FreeBSD.org
+#
+
+use Getopt::Std;
+use strict;
+use warnings;
+use Cwd;
+use Data::Dumper;
+use File::Basename;
+
+use vars qw/$opt_c $opt_n $opt_i $opt_u/;
+
+sub usage {
+ print <<EOF;
+Usage: $0 [options] [<category>/]<portname>
+
+ -c - Just check
+ -n - No tmpdir, just use dirname(INDEX)
+ -u <username> - Your freebsd.org username. Defaults to \$ENV{USER}.
+ -i <filename> - Use this for INDEX name. Defaults to /usr/ports/INDEX.
+
+Improvements, suggestions,questions -> gerald\@FreeBSD.org
+EOF
+ exit 1;
+}
+
+sub bumpMakefile {
+
+ my ($p) = @_;
+
+ my $makefile = "$p/Makefile";
+ my $fin;
+ unless(open($fin, $makefile)) {
+ print "-- Cannot open Makefile of $p, ignored.\n";
+ next;
+ }
+ my @lines = <$fin>;
+ close($fin) or die "Can't close $makefile b/c $!";
+ chomp(@lines);
+
+ my $revision = 1;
+
+ foreach my $line (@lines) {
+ last if ($line =~ /^MAINTAINER/);
+ $revision += $1 if ($line =~ /PORTREVISION\??=[ \t]*(\d+)$/);
+ }
+
+ my $printedrev = 0;
+ open(my $fout, '>', "$makefile");
+ foreach my $line (@lines) {
+ if (!$printedrev) {
+ if ($line =~ /^CATEGORIES??=/ || $line =~ /^PORTEPOCH??=/) {
+ print $fout "PORTREVISION= $revision\n";
+ $printedrev = 1;
+ # Fall through!
+ }
+ if ($line =~ /^PORTREVISION\?=/) {
+ print $fout "PORTREVISION?= $revision\n";
+ $printedrev = 1;
+ next;
+ }
+ if ($line =~ /^PORTREVISION=/) {
+ print $fout "PORTREVISION= $revision\n";
+ $printedrev = 1;
+ next;
+ }
+ }
+ print $fout "$line\n";
+ }
+ close($fout) or die "Can't close $makefile b/c $!";
+}
+
+my $INDEX = "/usr/ports/INDEX";
+my $USER = $ENV{USER};
+{
+ $opt_i = "";
+ $opt_u = "";
+ getopts("cni:u:");
+ $INDEX = $opt_i if ($opt_i);
+ $USER = $opt_u if ($opt_u);
+
+ die "$INDEX doesn't seem to exist. Please check the value supplied with -i or use -i." unless(-f $INDEX);
+}
+my $PORT = $ARGV[0];
+usage() unless($PORT);
+
+my $CVSROOT = $ENV{CVSROOT} // ':ext:$USER\@pcvs.freebsd.org:/home/pcvs';
+
+#
+# Read the index, save some interesting keys
+#
+my %index = ();
+{
+ print "Reading $INDEX\n";
+ open(my $fin, '<', "$INDEX") or die "Cannot open $INDEX for reading.";
+ my @lines = <$fin>;
+ chomp(@lines);
+ close($fin);
+
+ foreach my $line (@lines) {
+ my @a = split(/\|/, $line);
+ my @b = split(/\//, $a[1]);
+
+ my $port = $b[-2]."/".$b[-1];
+
+ $index{$port}{portname} = $b[-1];
+ $index{$port}{portnameversion} = $a[0];
+ $index{$port}{portdir} = $a[1];
+ $index{$port}{comment} = $a[3];
+ $index{$port}{deps} = ();
+
+ if ($a[8]) {
+ @b = split(" ", $a[8]);
+ foreach my $b (@b) {
+ $index{$port}{deps}{$b} = 1;
+ }
+ }
+ }
+ my @k = keys(%index);
+ print "- Processed ", $#k+1, " entries.\n";
+}
+
+#
+# See if the port does really exists.
+# If specified as category/portname, that should be enough.
+# If specified as portname, check all indexes for existence or duplicates.
+#
+unless (defined $index{$PORT}) {
+ my $count = 0;
+ my $n = "";
+ foreach my $p (keys(%index)) {
+ if ($p =~ /\/$PORT$/) {
+ $n .= " " if ($n);
+ $n .= $p;
+ $count++;
+ }
+ }
+ if ($count == 0) {
+ die "Cannot find ${PORT} in ${INDEX}.";
+ } elsif ($count == 1) {
+ $PORT = $n;
+ } else {
+ die "Found ${PORT} more than once in ${INDEX}: $n. Try category/portname.";
+ }
+}
+
+my $PORTNAMEVERSION = $index{$PORT}{portnameversion};
+print "Found $PORT as $PORTNAMEVERSION\n";
+
+#
+# Figure out all the ports depending on this one.
+#
+my %DEPPORTS = ();
+my $ports = "";
+{
+ print "Searching for ports depending on $PORT\n";
+ foreach my $p (keys(%index)) {
+ if (defined $index{$p}{deps}{$PORTNAMEVERSION}) {
+ $DEPPORTS{$p} = 1;
+ $ports .= " " if ($ports);
+ $ports .= "ports/$p";
+ }
+ }
+ my @k = keys(%DEPPORTS);
+ print "- Found ", $#k+1, " ports depending on it.\n";
+}
+
+#
+# Create a temp directory and cvs checkout the ports
+# (don't do error checking, too complicated right now)
+#
+
+my $TMPDIR = File::Basename::dirname($INDEX);
+unless ($opt_n) {
+ $TMPDIR = getcwd() . "/.tmpdir.$$";
+ mkdir($TMPDIR, 0755);
+ chdir($TMPDIR);
+ system "cvs -d $CVSROOT co -T $ports";
+ chdir($TMPDIR);
+}
+
+#
+# Bump portrevisions
+#
+{
+ print "Updating Makefiles\n";
+ foreach my $p (keys(%DEPPORTS)) {
+ print "- Updating Makefile of $p\n";
+ next if $opt_c;
+ bumpMakefile "$p";
+ }
+}
+
+#
+# Commit the changes. Not automated.
+#
+unless ($opt_c) {
+ print <<EOF;
+All PORTREVISIONs have been updated. You are nearly done, only one
+thing remains: Committing to the ports tree. This program is not
+going to do that for you, you have to do it manually.
+
+\$ cd $TMPDIR
+\$ svn commit
+
+Then, remove the temp directory ($TMPDIR).
+EOF
+}
diff --git a/test-ports/Tools/scripts/checkcats.py b/test-ports/Tools/scripts/checkcats.py
new file mode 100755
index 00000000..ec47aae0
--- /dev/null
+++ b/test-ports/Tools/scripts/checkcats.py
@@ -0,0 +1,42 @@
+#!/usr/bin/env python
+#
+# checkcats.py - verify that master categories in all ports are correct and
+# report any problems.
+#
+# ----------------------------------------------------------------------------
+# "THE BEER-WARE LICENSE" (Revision 42, (c) Poul-Henning Kamp):
+# Maxim Sobolev <sobomax@FreeBSD.org> wrote this file. As long as you retain
+# this notice you can do whatever you want with this stuff. If we meet some
+# day, and you think this stuff is worth it, you can buy me a beer in return.
+#
+# Maxim Sobolev
+# ----------------------------------------------------------------------------
+#
+# $FreeBSD: head/Tools/scripts/checkcats.py 340851 2014-01-23 19:55:14Z mat $
+#
+# MAINTAINER= sobomax@FreeBSD.org <- any unapproved commits to this file are
+# highly discouraged!!!
+#
+
+import glob, os.path
+import patchtool
+from patchtool import True, False
+
+PORTSDIR = '/usr/ports'
+
+if __name__ == '__main__':
+ portdirs = glob.glob(os.path.join(PORTSDIR, '*/*'))
+ for dirname in portdirs:
+ if not os.path.isfile(os.path.join(dirname, 'Makefile')):
+ continue
+ categories = patchtool.querymakevar('CATEGORIES', dirname)
+ try:
+ mastercat = categories.split()[0]
+ except IndexError:
+ print '%s: categories list is empty' % dirname
+ continue
+ mastercat_real = os.path.basename(os.path.dirname(dirname))
+ if mastercat != mastercat_real:
+ print '%s: specified master category `%s\' doesn\'t match real one `%s\'' \
+ % (dirname, mastercat, mastercat_real)
+
diff --git a/test-ports/Tools/scripts/checknewver.sh b/test-ports/Tools/scripts/checknewver.sh
new file mode 100755
index 00000000..75dbbe0a
--- /dev/null
+++ b/test-ports/Tools/scripts/checknewver.sh
@@ -0,0 +1,108 @@
+#!/bin/sh
+#
+# checknewver
+# Check for availability of the newest distfiles
+#
+# ----------------------------------------------------------------------------
+# "THE BEER-WARE LICENSE" (Revision 42, (c) Poul-Henning Kamp):
+# Maxim Sobolev <sobomax@FreeBSD.org> wrote this file. As long as you retain
+# this notice you can do whatever you want with this stuff. If we meet some
+# day, and you think this stuff is worth it, you can buy me a beer in return.
+#
+# Maxim Sobolev
+# ----------------------------------------------------------------------------
+#
+# $FreeBSD: head/Tools/scripts/checknewver.sh 340851 2014-01-23 19:55:14Z mat $
+#
+# MAINTAINER= sobomax@FreeBSD.org
+
+display_warn () {
+ if [ x"${SILENT}" != x"yes" ]; then
+ echo "WARN: ${@}" >&2
+ fi
+}
+
+display_err () {
+ if [ x"${SILENT}" != x"yes" ]; then
+ echo "ERROR: ${@}" >&2
+ fi
+ exit 1
+}
+
+display_msg () {
+ if [ x"${SILENT}" != x"yes" ]; then
+ echo "${@}" >&2
+ fi
+}
+
+while getopts "s" COMMAND_LINE_ARGUMENT ; do
+ case "${COMMAND_LINE_ARGUMENT}" in
+ s)
+ SILENT=yes
+ ;;
+ esac
+done
+
+if [ x`which ftpls` = x"" ]; then
+ display_err "Couldn't find ftpls program, which is part of" \
+ "ports/ftp/ftpcopy port. Please make sure that it is installed" \
+ "and try again."
+fi
+
+if [ ! -e Makefile ]; then
+ display_err "Couldn't find Makefile here."
+fi
+
+PORTNAME=`make -V PORTNAME 2>/dev/null`
+PORTVERSION=`make -V PORTVERSION 2>/dev/null`
+DISTFILES=`make -V DISTFILES 2>/dev/null`
+if [ x"${PORTNAME}" = x"" -o x"${PORTVERSION}" = x"" -o x"${DISTFILES}" = x"" ]; then
+ display_err "Either PORTNAME, PORTVERSION or DISTFILES is undefined in Makefile."
+fi
+
+MASTER_SITES=`env MASTER_SITE_BACKUP=\"\" make master-sites-all 2>/dev/null | xargs -n1 echo | grep ^ftp://`
+if [ x"${MASTER_SITES}" = x"" ]; then
+ display_err "Either MASTER_SITES is undefined in Makefile or it doesn't contain any ftp sites."
+fi
+
+display_msg "Checking for updated version of ${PORTNAME}..."
+PV_PATR=`echo ${PORTVERSION} | sed 's=\.=\\\\.=g'`
+for DISTNAME in ${DISTFILES}; do
+ DF_PATR=`echo ${DISTNAME} | sed "s=${PV_PATR}=.*=" | \
+ sed 's=\.=\\\\.=g ; s=\\\.\*=.*='`
+ DF_CHECK=`echo ${DISTNAME} | sed 's=\.=\\\\.=g'`
+ if [ x"${DF_PATR}" = x"${DF_CHECK}" ]; then
+ display_warn "Couldn't construct searching pattern - ${DISTNAME} ignored."
+ else
+ DF_PATRNS="${DF_PATRNS} ${DF_PATR}"
+ F_DISTFILES="${F_DISTFILES} ${DISTNAME}"
+ fi
+done
+
+if [ x"${F_DISTFILES}" = x"" ]; then
+ display_warn "Nothing to check - exiting."
+ exit 0
+fi
+
+DISTFILES="${F_DISTFILES}"
+
+for MASTER_SITE in ${MASTER_SITES}; do
+ display_msg "...checking ${MASTER_SITE}"
+ FTPLIST=`ftpls ${MASTER_SITE} 2>/dev/null | grep -v ^dir | awk '{print $6}'`
+ for DISTNAME in ${DISTFILES}; do
+ DF_PATR=`echo ${DISTNAME} | sed "s=${PV_PATR}=.*=" | \
+ sed 's=\.=\\\\.=g ; s=\\\.\*=.*='`
+ for i in `echo ${FTPLIST} | xargs -n1 echo | grep "${DF_PATR}$"` ; do
+ if [ "${i}" ">" "${DISTNAME}" ]; then
+ NEW="${NEW} ${MASTER_SITE}${i}"
+ fi
+ done
+ done
+done
+
+if [ x"${NEW}" != x"" ]; then
+ display_msg ""
+ display_msg "Hmm, is seems that there is a newer version(s) at:"
+ echo "${NEW}" | xargs -n1 echo
+ display_msg ""
+fi
diff --git a/test-ports/Tools/scripts/checksize.sh b/test-ports/Tools/scripts/checksize.sh
new file mode 100755
index 00000000..b86daf7a
--- /dev/null
+++ b/test-ports/Tools/scripts/checksize.sh
@@ -0,0 +1,63 @@
+#!/bin/sh
+# checksize.sh: scan the ports collection for "size mismatch" and
+# "size unknown" errors by attempting to fetch onto a full filesystem
+#
+# When called with a parameter that is the name of a category of
+# ports, the script checks that category, then checks the whole
+# ports collection, redoing the named category. When called with
+# no parameter, it checks the whole collection.
+#
+# First do something like:
+#
+# dd if=/dev/zero of=/usr/ports/mfs.img bs=1k count=512
+# mdconfig -a -t vnode -f /usr/ports/mfs.img -u 1
+# newfs /dev/md1
+# mount /dev/md1 /mnt
+#
+# (for RELENG_4 use vnconfig instead of mdconfig). Then run this
+# while logging with, for example, the "script" utility and look
+# for "size mismatch" (indicating the server has a distfile with a
+# different size than what is listed in the distinfo file) and "size
+# unknown" (indicating that the server does not report file sizes)
+# errors in the output. Pipe the output through:
+#
+# grep -w size | grep -1 -E "unknown|mismatch"
+#
+# By keeping the filesystem full, we avoid fetching entire distfiles.
+# The script attempts to partially download each distfile from all
+# master sites. Contacting all sites is desirable because sometimes
+# a site which ostensibly mirrors another may contain corrupt files
+# which are intact on the main site (or vice versa).
+#
+# bugs:
+# - assumes ports tree is in /usr/ports/
+# - doesn't provide for checking only particular categories or ports
+# - support for multiple architectures is inefficient
+# - output is messy
+# - on my system, the first 20 kB of each distfile are fetched
+# (this can be suppressed by adding FETCH_BEFORE_ARGS=-s to the make options,
+# in which case the word "Unknown" appears by itself on a line
+# where otherwise there would be a "size unknown" error, and "size
+# mismatch" errors are not detected)
+# - needs manual setup of /mnt/
+#
+# placed in the public domain by Trevor Johnson
+
+for category in $1 `grep ^SUBDIR /usr/ports/Makefile | cut -f3 -d\ `; do
+ cd /usr/ports/$category
+ for port in \
+ `grep -wc SIZE */distinfo* | grep -v :0 | cut -f1 -d\/`; do
+ cd /usr/ports/$category/$port
+ for arc in i386; do
+ dd if=/dev/zero of=/mnt/zero
+ echo checking $arc size data for $category/$port
+ make DISTDIR=/mnt \
+ ARCH=$arc \
+ BATCH=yes \
+ MACHINE_ARCH=$arc \
+ PACKAGE_BUILDING=yes \
+ TRYBROKEN=yes checksum
+ rm -rf /mnt/*
+ done
+ done
+done
diff --git a/test-ports/Tools/scripts/checksum.sh b/test-ports/Tools/scripts/checksum.sh
new file mode 100755
index 00000000..7970d6ae
--- /dev/null
+++ b/test-ports/Tools/scripts/checksum.sh
@@ -0,0 +1,84 @@
+#!/bin/sh
+#
+# Created by: Alexander Langer <alex@big.endian.de>
+# Created on: May 22, 2000
+# MAINTAINER= portmgr@FreeBSD.org
+
+if [ -z $1 ]; then
+ echo "Usage: $0 <portname> ..."
+ exit 1
+fi
+
+if [ -z $TMPDIR ]; then
+ TMPDIR=/tmp
+fi
+if [ -z $PORTSDIR ]; then
+ PORTSDIR=/usr/ports
+fi
+
+while [ ! -z $1 ]; do
+ echo "Processing for $1..."
+
+ cd $PORTSDIR
+ DIR=`grep $1 INDEX| cut -f2 -d\|`
+ cd $DIR
+
+ make fetch
+ broken=`make checksum 2>&1 | grep "Checksum mismatch for" | \
+ awk '{print $5}' | sed -e 's:\.$::'`
+
+ if [ -z $broken ]; then
+ make checksum
+ shift
+ continue
+ fi
+
+ rm -rf $TMPDIR/checksum
+ mkdir $TMPDIR/checksum
+ cd $TMPDIR/checksum
+ mkdir $TMPDIR/checksum/orig
+ mkdir $TMPDIR/checksum/new
+
+ echo Fetching $broken
+ fetch ftp://ftp.FreeBSD.ORG/pub/FreeBSD/distfiles/$broken
+
+ if [ ! -r $broken ]; then
+ echo "File $broken not found, fetch error?"
+ exit 1
+ fi
+
+ if file $broken | grep "gzip compressed data" >/dev/null; then
+ cd orig
+ tar -zxf ../$broken || gunzip -c ../$broken > ${broken%.gz}
+ cd ../new
+ tar -zxf $PORTSDIR/distfiles/$broken || \
+ gunzip -c $PORTSDIR/distfiles/$broken > ${broken%.gz}
+ cd ..
+ elif file $broken | grep "compress'd data 16 bits" >/dev/null; then
+ cd orig
+ tar -zxf ../$broken
+ cd ../new
+ tar -zxf $PORTSDIR/distfiles/$broken
+ cd ..
+ elif file $broken | grep "zip archive file" >/dev/null; then
+ cd orig
+ unzip ../$broken
+ cd ../new
+ unzip $PORTSDIR/distfiles/$broken
+ cd ..
+ elif file $broken | grep "bzip compressed data" >/dev/null; then
+ cd orig
+ tar -yxf ../$broken
+ cd ../new
+ tar -yxf $PORTSDIR/distfiles/$broken
+ cd ..
+ else
+ cp $broken orig/
+ cp $PORTSDIR/distfiles/$broken new/
+ fi
+
+ echo Diff follows:
+ diff -rNu orig new
+
+ shift
+done
diff --git a/test-ports/Tools/scripts/chkorigin.sh b/test-ports/Tools/scripts/chkorigin.sh
new file mode 100755
index 00000000..849c9239
--- /dev/null
+++ b/test-ports/Tools/scripts/chkorigin.sh
@@ -0,0 +1,112 @@
+#!/bin/sh -e
+#
+# Copyright (c) 2003-2004 Oliver Eikemeier. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright notice
+# this list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# 3. Neither the name of the author nor the names of its contributors may be
+# used to endorse or promote products derived from this software without
+# specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# $FreeBSD: head/Tools/scripts/chkorigin.sh 433964 2017-02-12 20:43:04Z rene $
+#
+# MAINTAINER= portmgr@FreeBSD.org
+#
+# PKGORIGIN connects packaged or installed ports to the directory they
+# originally came from. Although often overlooked, they are extremly
+# important for tools like pkg_version or portupgrade to work correctly.
+# Wrong PKGORIGINs are usually caused by a wrong order of CATEGORIES
+# after a repocopy.
+#
+# This tool checks all ports in the ports tree (even those not connected
+# to the build) for a wrong PKGORIGIN. Run this tool periodically and
+# after every repocopy and correct errors immediately.
+#
+# Usage:
+# [env PORTSDIR=/usr/ports] chkorigin.sh [category ...]
+#
+
+opt_verbose=false
+opt_quiet=false
+
+while getopts vq opt; do
+ case "$opt" in
+ q)
+ opt_quiet=true;;
+ v)
+ opt_verbose=true;;
+ ?)
+ echo "Usage: $0 [-qv] [category ...]"
+ exit 2;;
+ esac
+done
+
+shift $((${OPTIND}-1))
+
+rc=0
+
+$opt_quiet || echo "checking categories for ports with a wrong PKGORIGIN"
+
+cd "${PORTSDIR:=/usr/ports}"
+if [ $# -gt 0 ]; then
+ CATEGORIES=`echo $@`
+else
+ CATEGORIES=`echo [a-z]*`
+fi
+
+for category in ${CATEGORIES}; do
+ if [ ! -d "${PORTSDIR}/${category}" ]; then continue; fi
+ case "${category}" in
+ CVS) continue ;;
+ Mk) continue ;;
+ Templates) continue ;;
+ Tools) continue ;;
+ distfiles) continue ;;
+ packages) continue ;;
+ esac
+
+ $opt_quiet || echo "==> ${category}"
+
+ cd "${PORTSDIR}/${category}"
+ PORTS=`echo *`
+
+ for port in ${PORTS}; do
+ if [ ! -d "${PORTSDIR}/${category}/${port}" ]; then continue; fi
+ case "${port}" in
+ CVS) continue ;;
+ pkg) continue ;;
+ esac
+
+ $opt_verbose && echo "==> ${category}/${port}"
+
+ cd "${PORTSDIR}/${category}/${port}"
+ PKGORIGIN=`/usr/bin/make -VPKGORIGIN 2>/dev/null || true`
+
+ if [ "${PKGORIGIN}" != "${category}/${port}" ]; then
+ echo "port \"${category}/${port}\" has the wrong PKGORIGIN \"${PKGORIGIN}\""
+ rc=1
+ fi
+ done
+done
+
+return ${rc}
diff --git a/test-ports/Tools/scripts/chkversion.pl b/test-ports/Tools/scripts/chkversion.pl
new file mode 100755
index 00000000..d0c11d02
--- /dev/null
+++ b/test-ports/Tools/scripts/chkversion.pl
@@ -0,0 +1,465 @@
+#!/usr/bin/env perl
+#
+# Copyright (c) 2004 Oliver Eikemeier. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright notice
+# this list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# 3. Neither the name of the author nor the names of its contributors may be
+# used to endorse or promote products derived from this software without
+# specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# $FreeBSD: head/Tools/scripts/chkversion.pl 439336 2017-04-24 17:27:58Z ehaupt $
+#
+# MAINTAINER= portmgr@FreeBSD.org
+#
+# PORTVERSION and PKGORIGIN auditing script
+#
+# This scripts compares version numbers with previously known ones, and
+# checks ports for a correct PKGORIGIN. It is primarily intended to be run
+# from a (non-root) cron job.
+#
+# If you just call it with no preparation, it will compare all port versions
+# with their INDEX entries and complain if they have gone backwards. You need
+# You need an old INDEX for this, of course. An up-to-date INDEX will accomplish
+# nothing.
+#
+# To use the script as intended, do the following (assuming you want to
+# run the script as user `ports'):
+#
+# install port sysutils/pkg_install-devel (optional)
+# mkdir -p /var/db/chkversion
+# touch /var/db/chkversion/VERSIONS
+# chown -R ports /var/db/chkversion
+# and enter something like
+#
+# SVNBLAME=yes
+# ALLPORTS=yes
+# RCPT_ORIGIN=you@domain.example
+# RCPT_VERSION=you@domain.example
+# 0 */2 * * * /usr/ports/Tools/scripts/chkversion.pl
+#
+# into `crontab -u ports -e', or run the script by hand if you can spare the time.
+#
+# If the environment variable SVNBLAME is set and the ports tree is checked
+# out by SVN, every entry is listed with a record of the last SVN commit.
+#
+
+require 5.005;
+use strict;
+use warnings;
+use POSIX;
+use File::Find;
+use Cwd 'abs_path';
+
+my $portsdir = $ENV{PORTSDIR} ? $ENV{PORTSDIR} : '/usr/ports';
+my $versiondir = $ENV{VERSIONDIR} ? $ENV{VERSIONDIR} : '/var/db/chkversion';
+my $svnblame = $ENV{SVNBLAME} ? 1 : 0;
+my $allports = $ENV{ALLPORTS} ? 1 : 0;
+
+my $watchre = $ENV{WATCH_REGEX} ? $ENV{WATCH_REGEX} : '';
+my $watchmre = $ENV{WATCHM_REGEX} ? $ENV{WATCHM_REGEX} : '';
+my $returnpath = $ENV{RETURNPATH} ? $ENV{RETURNPATH} : '';
+my $h_from = $ENV{HEADER_FROM} ? $ENV{HEADER_FROM} : "$ENV{USER}\@$ENV{HOST}";
+my $h_replyto = $ENV{HEADER_REPLYTO} ? $ENV{HEADER_REPLYTO} : $h_from;
+my $rcpt_watch = $ENV{RCPT_WATCH} ? $ENV{RCPT_WATCH} : '';
+my $rcpt_watchm = $ENV{RCPT_WATCHM} ? $ENV{RCPT_WATCHM} : '';
+my $rcpt_orig = $ENV{RCPT_ORIGIN} ? $ENV{RCPT_ORIGIN} : '';
+my $rcpt_vers = $ENV{RCPT_VERSION} ? $ENV{RCPT_VERSION} : '';
+my $cc_author = $ENV{CC_AUTHOR} ? 1 : 0;
+my $cc_mntnr = $ENV{CC_MAINTAINER} ? 1 : 0;
+
+my $make = '/usr/bin/make';
+my $svn = '/usr/local/bin/svn';
+my $pkg_version =
+ $ENV{PKG_VERSION} && -x $ENV{PKG_VERSION} ? $ENV{PKG_VERSION}
+ : -x '/usr/local/sbin/pkg_version' ? '/usr/local/sbin/pkg_version'
+ : '/usr/sbin/pkg_version';
+my $sendmail = '/usr/sbin/sendmail';
+
+my $watch_re = join '|', split ' ', $watchre;
+my $watchm_re = join '|', split ' ', $watchmre;
+
+-d $portsdir or die "Can't find ports tree at $portsdir.\n";
+$portsdir = abs_path($portsdir);
+
+my $versionfile = "$versiondir/VERSIONS";
+my $useindex = !-w $versiondir;
+
+my $starttime = strftime("%a %b %e %G %k:%M:%S %Z",localtime);
+
+sub readfrom {
+ my $dir = shift;
+
+ if (!open CHILD, '-|') {
+ open STDERR, '>/dev/null';
+ chdir $dir if $dir;
+ exec @_;
+ die;
+ }
+ my @childout = <CHILD>;
+ close CHILD;
+
+ map chomp, @childout;
+
+ return wantarray ? @childout : $childout[0];
+}
+
+foreach (qw(ARCH OPSYS OSREL OSVERSION UID)) {
+ my @cachedenv = readfrom $portsdir, $make, "-V$_";
+ $ENV{$_} = $cachedenv[0];
+}
+
+my %pkgname;
+my %pkgorigin;
+my %masterdir;
+my %pkgmntnr;
+
+sub wanted {
+ return
+ if !-d;
+
+ if (/^.svn$/
+ || $File::Find::name =~
+ m"^$portsdir/(?:Mk|Templates|Tools|distfiles|packages)$"os
+ || $File::Find::name =~ m"^$portsdir/[^/]+/pkg$"os)
+ {
+ $File::Find::prune = 1;
+ }
+ elsif ($File::Find::name =~ m"^$portsdir/([^/]+/[^/]+)$"os) {
+ $File::Find::prune = 1;
+ if (-f "$File::Find::name/Makefile") {
+ my @makevar = readfrom $File::Find::name,
+ $make, '-VPKGORIGIN', '-VPKGNAME', '-VMAINTAINER', '-VMASTERDIR';
+
+ if ($#makevar == 3 && $makevar[1]) {
+ $pkgorigin{$1} = $makevar[0]
+ if $1 ne $makevar[0];
+ $pkgname{$1} = $makevar[1];
+ $pkgmntnr{$1} = $makevar[2];
+ $masterdir{$1} = $makevar[3];
+ }
+ }
+ }
+}
+
+if ($allports) {
+ find(\&wanted, $portsdir);
+}
+else {
+ my @categories = split ' ', readfrom $portsdir, $make, '-VSUBDIR';
+
+ foreach my $category (@categories) {
+ -f "$portsdir/$category/Makefile" || next;
+ my @ports = split ' ',
+ readfrom "$portsdir/$category", $make, '-VSUBDIR';
+ foreach (map "$category/$_", @ports) {
+ -f "$portsdir/$_/Makefile" || next;
+
+ my @makevar = readfrom "$portsdir/$_",
+ $make, '-VPKGORIGIN', '-VPKGNAME', '-VMAINTAINER', '-VMASTERDIR';
+
+ next if $#makevar != 3 || ! $makevar[1];
+ $pkgorigin{$_} = $makevar[0]
+ if $_ ne $makevar[0];
+ $pkgname{$_} = $makevar[1];
+ $pkgmntnr{$_} = $makevar[2];
+ $masterdir{$_} = $makevar[3];
+ }
+ }
+}
+
+my %backwards;
+my %watched;
+my %watchedm;
+
+if ($useindex) {
+ my $indexname = readfrom $portsdir, $make, '-VINDEXFILE';
+ $versionfile = "$portsdir/$indexname";
+}
+
+open VERSIONS, "<$versionfile";
+
+while (<VERSIONS>) {
+ chomp;
+ next if /^(#|$)/;
+ my ($origin, $version, $maintainer);
+ if ($useindex) {
+ ($origin, $version, $maintainer) = (split /\|/)[1,0,5];
+ $origin =~ s,^.*/([^/]+/[^/]+)/?$,$1,;
+ }
+ else {
+ ($origin, $version, $maintainer) = split /\t/;
+ }
+ if (defined $pkgname{$origin}) {
+ my $newversion = $pkgname{$origin};
+ my $oldversion = $version;
+
+ $newversion =~ s/^.*-//;
+ $oldversion =~ s/^.*-//;
+
+ my $result = $newversion eq $oldversion ? '=' : readfrom '',
+ $pkg_version, '-t', $newversion, $oldversion;
+
+ $watched{$origin} = "$version -> $pkgname{$origin}"
+ if ($watch_re && $result ne '=' && $origin =~ /^(?:$watch_re)$/o);
+
+ $watchedm{$origin} = "(was <$maintainer>) $version -> $pkgname{$origin}"
+ if ($watchm_re && $maintainer && $pkgmntnr{$origin}
+ && $maintainer ne $pkgmntnr{$origin} && $origin =~ /^(?:$watchm_re)$/o);
+
+ if ($result eq '<') {
+ $backwards{$origin} = "$pkgname{$origin} < $version";
+ $pkgname{$origin} = $version;
+ }
+ }
+ elsif ($origin) {
+ $pkgname{$origin} = $version;
+ $pkgmntnr{$origin} = $maintainer;
+ }
+}
+close VERSIONS;
+
+if (!$useindex) {
+ system 'mv', '-f', $versionfile, "$versionfile.bak";
+
+ open VERSIONS, ">$versionfile";
+ foreach (sort keys %pkgname) {
+ print VERSIONS "$_\t$pkgname{$_}\t$pkgmntnr{$_}\n";
+ }
+ close VERSIONS;
+}
+
+my %revision;
+
+sub parsemakefile {
+ my ($portdir) = @_;
+ my ($r, $d, $a);
+
+ open MAKEFILE, "<$portdir/Makefile";
+ while (<MAKEFILE>) {
+ if (m'\$FreeBSD\: [^\$ ]+,v (\d+(?:\.\d+)+) (\d{4}(?:[/-]\d{2}){2} \d{2}(?::\d{2}){2}) (\w+) [\w ]+\$') {
+ ($r, $d, $a) = ($1, $2, $3);
+ }
+ }
+ close MAKEFILE;
+
+ return ($r, $d, $a);
+}
+
+sub getauthors {
+ my ($ports) = @_;
+
+ my %author;
+ foreach my $origin (keys %{$ports}) {
+ if (!$revision{$origin}) {
+ my ($r, $d, $a) = parsemakefile "$portsdir/$origin";
+ push @{$revision{$origin}}, $r;
+ push @{$author{$origin}}, $a;
+ if ($masterdir{$origin} ne "$portsdir/$origin") {
+ ($r, $d, $a) = parsemakefile $masterdir{$origin};
+ push @{$revision{$origin}}, $r;
+ push @{$author{$origin}}, $a;
+ }
+ }
+
+ }
+
+ return %author;
+}
+
+sub printlog {
+ my ($fh, $portdir, $r) = @_;
+
+ if ($svnblame && -d "$portsdir/.svn") {
+ my @svnlog = readfrom $portdir,
+ $svn, 'log', '-r' . ($r ? $r : '.'), 'Makefile';
+ foreach (@svnlog) {
+ my $in_log = /^-{28}$/ ... /^(-{28}|={77})$/;
+ print $fh " | $_\n"
+ if ($in_log && $in_log != 1 && $in_log !~ /E0$/);
+ }
+ }
+}
+
+sub blame {
+ my ($fh, $ports) = @_;
+
+ if (%{$ports}) {
+ foreach my $origin (sort keys %{$ports}) {
+ print $fh "- *$origin* <$pkgmntnr{$origin}>: $ports->{$origin}\n";
+ printlog $fh, "$portsdir/$origin", $revision{$origin}[0];
+ if ($masterdir{$origin} ne "$portsdir/$origin") {
+ my $master = $masterdir{$origin};
+ $master =~ s/^$portsdir\///o;
+ while ($master =~ s/(^|\/)[^\/]+\/\.\.(?:\/|$)/$1/) {}
+ print $fh " (master: $master)\n";
+ printlog $fh, $masterdir{$origin}, $revision{$origin}[1];
+ }
+ print $fh "\n";
+ }
+ print $fh "\n";
+ }
+}
+
+sub template {
+ my ($from, $rcpt, $replyto, $starttime, $ports) = @_;
+
+ my $portlist = join ', ', sort keys %{$ports};
+ substr($portlist, 32) = '...'
+ if length $portlist > 35;
+
+ my %cclist;
+ my %author = getauthors $ports;
+
+ if ($cc_author) {
+ foreach (map @{$author{$_} ? $author{$_} : []}, keys %{$ports}) {
+ $cclist{"$_\@FreeBSD.org"} = 1
+ if $_;
+ }
+ }
+ if ($cc_mntnr) {
+ foreach (map $pkgmntnr{$_}, keys %{$ports}) {
+ $cclist{$_} = 1
+ if $_;
+ }
+ }
+ my $cc = join ', ', sort keys %cclist;
+
+ my $header = '';
+ while (<main::DATA>) {
+ last if /^\.\n?$/;
+ $_ =~ s/%%FROM%%/$from/og;
+ $_ =~ s/%%RCPT%%/$rcpt/og;
+ $_ =~ s/%%CC%%/$cc/og;
+ $_ =~ s/%%REPLYTO%%/$replyto/og;
+ $_ =~ s/%%SUBJECT%%/$portlist/og;
+ $_ =~ s/%%STARTTIME%%/$starttime/og;
+ $header .= $_;
+ }
+ return $header;
+}
+
+sub mail {
+ my ($template, $rcpt, $ports) = @_;
+
+ if (%{$ports}) {
+ if ($rcpt) {
+ if (!open MAIL, '|-') {
+ exec $sendmail, '-oi', '-t', '-f', $returnpath;
+ die;
+ }
+ print MAIL $template;
+ blame *MAIL, $ports;
+ close MAIL;
+ } else {
+ $template =~ s/^.*?\n\n//os;
+ print $template;
+ blame *STDOUT, $ports;
+ }
+ }
+}
+
+my $tmpl;
+
+$tmpl = template $h_from, $rcpt_orig, $h_replyto, $starttime, \%pkgorigin;
+mail $tmpl, $rcpt_orig, \%pkgorigin;
+
+$tmpl = template $h_from, $rcpt_vers, $h_replyto, $starttime, \%backwards;
+mail $tmpl, $rcpt_vers, \%backwards;
+
+$tmpl = template $h_from, $rcpt_watch, $h_replyto, $starttime, \%watched;
+mail $tmpl, $rcpt_watch, \%watched;
+
+$tmpl = template $h_from, $rcpt_watch, $h_replyto, $starttime, \%watchedm;
+mail $tmpl, $rcpt_watchm, \%watchedm;
+
+exit((%pkgorigin || %backwards) ? 1 : 0);
+
+__END__
+From: %%FROM%%
+To: %%RCPT%%
+CC: %%CC%%
+Reply-To: %%REPLYTO%%
+Subject: Ports with a broken PKGORIGIN: %%SUBJECT%%
+X-FreeBSD-Chkversion: PKGORIGIN
+
+** The following ports have an incorrect PKGORIGIN **
+
+ PKGORIGIN connects packaged or installed ports to the directory they
+ originated from. This is essential for tools like pkg_version or
+ portupgrade to work correctly. Wrong PKGORIGINs are often caused by a
+ wrong order of CATEGORIES after a repocopy.
+
+ Please fix any errors as soon as possible.
+
+ The ports tree was updated at %%STARTTIME%%.
+
+.
+From: %%FROM%%
+To: %%RCPT%%
+CC: %%CC%%
+Reply-To: %%REPLYTO%%
+Subject: Ports with version numbers going backwards: %%SUBJECT%%
+X-FreeBSD-Chkversion: backwards
+
+** The following ports have a version number that sorts before a previous one **
+
+ For many package tools to work correctly, it is of utmost importance that
+ version numbers of a port form a monotonic increasing sequence over time.
+ Refer to the FreeBSD Porter's Handbook, 'Package Naming Conventions' for
+ more information. Tools that won't work include pkg_version, portupgrade
+ and portaudit. A common error is an accidental deletion of PORTEPOCH.
+
+ Please fix any errors as soon as possible.
+
+ The ports tree was updated at %%STARTTIME%%.
+
+.
+From: %%FROM%%
+To: %%RCPT%%
+Reply-To: %%REPLYTO%%
+Subject: Version changes in your watched ports: %%SUBJECT%%
+X-FreeBSD-Chkversion: vwatch
+
+** The following ports have changed version numbers **
+
+ You have requested to be notified of version changes in the following
+ ports:
+
+ The ports tree was updated at %%STARTTIME%%.
+
+.
+From: %%FROM%%
+To: %%RCPT%%
+Reply-To: %%REPLYTO%%
+Subject: Maintainer changes in your watched ports: %%SUBJECT%%
+X-FreeBSD-Chkversion: mwatch
+
+** The following ports have changed maintainers **
+
+ You have requested to be notified of maintainer changes in the following
+ ports:
+
+ The ports tree was updated at %%STARTTIME%%.
+
+.
diff --git a/test-ports/Tools/scripts/distclean.sh b/test-ports/Tools/scripts/distclean.sh
new file mode 100755
index 00000000..ca56e36c
--- /dev/null
+++ b/test-ports/Tools/scripts/distclean.sh
@@ -0,0 +1,85 @@
+#!/bin/sh
+#
+# distclean
+# Compare distfiles in /usr/ports/distfiles
+# with currently instaled ports collection
+# and removes outdated files
+#
+# ----------------------------------------------------------------------------
+# "THE BEER-WARE LICENSE" (Revision 42, (c) Poul-Henning Kamp):
+# Maxim Sobolev <sobomax@FreeBSD.org> wrote this file. As long as you retain
+# this notice you can do whatever you want with this stuff. If we meet some
+# day, and you think this stuff is worth it, you can buy me a beer in return.
+#
+# Maxim Sobolev
+# ----------------------------------------------------------------------------
+#
+# $FreeBSD: /tmp/pcvs/ports/Tools/scripts/distclean.sh,v 1.18 2010-11-18 11:28:05 pav Exp $
+#
+# MAINTAINER= sobomax@FreeBSD.org
+
+PATH=/sbin:/bin:/usr/bin
+
+cleanup() {
+ rm -f $FN_RESULTS_SCRIPT $FN_PORTS $FN_DISTFILES
+ echo "Terminated."
+ exit 1
+}
+
+echo "Distfiles clean utility by Maxim Sobolev <sobomax@FreeBSD.org>."
+
+PORTSDIR=${PORTSDIR:-/usr/ports}
+if [ ! -d ${PORTSDIR} ]; then
+ echo "Ports directory ${PORTSDIR} does not exist."
+ exit 1
+fi
+
+DISTDIR=`(make -V DISTDIR -f ${PORTSDIR}/Mk/bsd.port.mk) 2>/dev/null`
+DISTDIR=${DISTDIR:-/usr/ports/distfiles}
+
+echo "Assumes that your ports are in ${PORTSDIR} and distfiles in ${DISTDIR}."
+echo ""
+
+if [ x"$1" = x"-f" ]; then
+ RM_FLAG="-f"
+else
+ RM_FLAG="-i"
+ echo "Use \"`basename $0` -f\" to remove the files without prompting for confirmation."
+ echo ""
+fi
+
+umask 077
+
+FN_PORTS=`mktemp -t dclean` || exit 1
+FN_DISTFILES=`mktemp -t dclean` || exit 1
+FN_RESULTS_SCRIPT=`mktemp -t dclean` || exit 1
+
+trap cleanup 1 2 3 4 5 6 7 8 10 11 12 13 14 15 16 21 22 23 24 25 26 27 28 \
+ 30 31
+
+echo -n "Building ports sha256 index..."
+find ${PORTSDIR}/ \
+ \( -name "distinfo" -or -name "distinfo.i386" -or -name "distinfo.alpha" \) \
+ -type f -mindepth 3 -maxdepth 3 | \
+ xargs cat | grep '^SHA256 ('| sort -u > $FN_PORTS
+echo "Done."
+P_SHA256_COUNT=`wc -l $FN_PORTS | sed "s| $FN_PORTS|| ; s| ||g"`
+echo "Found $P_SHA256_COUNT sha256 entries in your ports directory."
+
+echo -n "Building distfiles sha256 index..."
+find ${DISTDIR}/ -type f | xargs sha256 | sed 's|'${DISTDIR}'/||' | sort > $FN_DISTFILES
+echo "Done."
+D_SHA256_COUNT=`wc -l $FN_DISTFILES | sed "s| $FN_DISTFILES|| ; s| ||g"`
+echo "Found $D_SHA256_COUNT distfile(s) in your distfiles directory."
+
+echo -n "Comparing results..."
+diff -d $FN_DISTFILES $FN_PORTS | grep "^<" | sed 's|.*(|rm '$RM_FLAG' '${DISTDIR}'/| ; s|).*||' > $FN_RESULTS_SCRIPT
+echo "Done."
+R_SHA256_COUNT=`wc -l $FN_RESULTS_SCRIPT | sed "s| $FN_RESULTS_SCRIPT|| ; s| ||g"`
+echo "$R_SHA256_COUNT distfile(s) doesn't have corresponding sha256 entries in ports directory."
+/bin/sh $FN_RESULTS_SCRIPT
+find ${DISTDIR}/ -type d -empty -delete
+
+echo -n "Finishing..."
+rm -f $FN_RESULTS_SCRIPT $FN_PORTS $FN_DISTFILES
+echo "Done."
diff --git a/test-ports/Tools/scripts/domakedescribe b/test-ports/Tools/scripts/domakedescribe
new file mode 100755
index 00000000..d45a6cec
--- /dev/null
+++ b/test-ports/Tools/scripts/domakedescribe
@@ -0,0 +1,19 @@
+#!/bin/sh
+#
+indexfile=/usr/ports/INDEX
+tmpfile=/tmp/makedescribe.tmp
+#
+failures=0
+for i in `sed -e "s/ /_/g" ${indexfile}`; do
+ set $(echo $i | tr \| " ")
+ port=$2
+ cd ${port}
+ make describe > /dev/null 2> ${tmpfile} || \
+ { failures=$(($failures+1)); \
+ echo '--------------- make describe failed for '${port}':'; \
+ cat ${tmpfile}; }
+ rm -f ${tmpfile}
+done
+echo '---------------'
+echo 'Total number of ports that failed trying to build /usr/ports/INDEX: '${failures}
+exit ${failures}
diff --git a/test-ports/Tools/scripts/doportlint b/test-ports/Tools/scripts/doportlint
new file mode 100755
index 00000000..0de9bd4a
--- /dev/null
+++ b/test-ports/Tools/scripts/doportlint
@@ -0,0 +1,20 @@
+#!/bin/sh
+#
+indexfile=/usr/ports/INDEX
+tmpfile=/tmp/portlint.tmp
+#
+failures=0
+for i in `sed -e "s/ /_/g" ${indexfile}`; do
+ set $(echo $i | tr \| " ")
+ port=$2
+ cd ${port}
+ portlint > ${tmpfile} 2> /dev/null || failures=$((${failures}+1))
+ grep '^looks fine\.$' ${tmpfile} > /dev/null 2> /dev/null || \
+ { echo '--------------- portlint results for '${port}; \
+ grep -v '^OK:' ${tmpfile} |\
+ sed -e 's/^0 fatal errors and //'; }
+ rm -f ${tmpfile}
+done
+echo '---------------'
+echo 'number of ports with fatal errors in portlint: '${failures}
+exit ${failures}
diff --git a/test-ports/Tools/scripts/getpatch b/test-ports/Tools/scripts/getpatch
new file mode 100755
index 00000000..3c217283
--- /dev/null
+++ b/test-ports/Tools/scripts/getpatch
@@ -0,0 +1,219 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+#
+# Copyright (c) 2012 Sofian Brabez <sbz@FreeBSD.org>
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+#
+# $FreeBSD: head/Tools/scripts/getpatch 416846 2016-06-13 15:22:32Z sbz $
+#
+# MAINTAINER= sbz@FreeBSD.org
+
+import argparse
+import codecs
+import os
+import re
+import ssl
+import sys
+if sys.version_info.major == 3:
+ import urllib.request as urllib2
+else:
+ import urllib2
+
+"""
+FreeBSD getpatch handles Gnats and Bugzilla patch attachments
+"""
+
+
+def create_ssl_context(cafile):
+ if os.path.exists(cafile):
+ return ssl.create_default_context(cafile=cafile)
+ else:
+ return ssl._create_unverified_context()
+
+
+class GetPatch(object):
+
+ def __init__(self, pr, category='ports'):
+ self.pr = pr
+ self.category = category
+ self.patchs = []
+ self.url = ""
+ self.patch = ""
+ self.output_stdout = False
+ self.default_locale = sys.getdefaultencoding()
+ self.ssl_context = create_ssl_context('/usr/local/etc/ssl/cert.pem')
+
+ def fetch(self, *largs, **kwargs):
+ raise NotImplementedError()
+
+ def write(self, filename, data):
+ if filename.endswith(('.patch', '.txt')):
+ filename = "{}.diff".format(filename[:filename.rindex('.')])
+ f = codecs.open(filename, encoding=self.default_locale, mode='w')
+ f.write(data.decode(self.default_locale))
+ f.close()
+ self.out("[+] {} created".format(filename))
+
+ def get(self, only_last=False, output_stdout=False):
+ self.output_stdout = output_stdout
+ self.fetch(self.pr, category=self.category)
+
+ if len(self.patchs) == 0:
+ self.out("[-] No patch found")
+ sys.exit(os.EX_UNAVAILABLE)
+
+ if only_last:
+ self.patchs = [self.patchs.pop()]
+
+ for patch in self.patchs:
+ url = patch['url']
+ p = patch['name']
+
+ data = urllib2.urlopen(url, context=self.ssl_context).read()
+
+ if self.output_stdout:
+ sys.stdout.write(data.decode(self.default_locale))
+ else:
+ self.write(p, data)
+
+ def add_patch(self, url, name):
+ self.patchs.append({'url': url, 'name': name})
+
+ def out(self, s):
+ if not self.output_stdout:
+ print(s)
+
+
+class GnatsGetPatch(GetPatch):
+
+ URL_BASE = 'https://www.freebsd.org/cgi'
+ URL = '{}/query-pr.cgi?pr='.format(URL_BASE)
+ REGEX = r'<b>Download <a href="([^"]*)">([^<]*)</a>'
+
+ def __init__(self, pr, category):
+ GetPatch.__init__(self, pr, category)
+
+ def fetch(self, *largs, **kwargs):
+ category = kwargs['category']
+ target = ("{}/{}".format(category, self.pr),
+ "{}".format(self.pr))[category == '']
+ self.out("[+] Fetching patch for pr {}".format(target))
+ pattern = re.compile(self.REGEX)
+ u = urllib2.urlopen("{}{}".format(self.URL, target),
+ context=self.ssl_context)
+ data = u.read()
+ if data is None:
+ self.out("[-] No patch found")
+ sys.exit(os.EX_UNAVAILABLE)
+
+ for patchs in re.findall(pattern, str(data)):
+ self.add_patch(patchs[0], patchs[1])
+
+
+class BzGetPatch(GetPatch):
+
+ URL_BASE = 'https://bugs.freebsd.org/bugzilla/'
+ URL_SHOW = '{}/show_bug.cgi?id='.format(URL_BASE)
+ REGEX_URL = r'<a href="([^<]+)">Details</a>'
+ REGEX = r'<div class="details">([^ ]+) \(text/plain(?:; charset=[-\w]+)?\)'
+
+ def __init__(self, pr, category):
+ GetPatch.__init__(self, pr, category)
+
+ def _get_patch_name(self, url):
+ data = urllib2.urlopen(url, context=self.ssl_context).read()
+ match = re.search(self.REGEX, str(data))
+ if match is None:
+ return None
+ return match.group(1)
+
+ def _get_patch_urls(self, data):
+ patch_urls = {}
+ for url in re.findall(self.REGEX_URL, str(data)):
+ url = '{}{}'.format(self.URL_BASE, url)
+ file_name = self._get_patch_name(url)
+ if file_name is None:
+ msg = "[-] Could not determine the patch file name in {}." \
+ "Skipping."
+ self.out(msg.format(url))
+ continue
+ download_url = url[:url.find('&')]
+ patch_urls[download_url] = file_name
+ return patch_urls
+
+ def fetch(self, *largs, **kwargs):
+ category = kwargs['category']
+ target = ("{}/{}".format(category, self.pr),
+ "{}".format(self.pr))[category == '']
+ self.out("[+] Fetching patch for pr {}".format(target))
+ u = urllib2.urlopen("{}{}".format(self.URL_SHOW, self.pr),
+ context=self.ssl_context)
+ data = u.read()
+
+ if data is None:
+ self.out("[-] No patch found")
+ sys.exit(os.EX_UNAVAILABLE)
+
+ patch_urls = self._get_patch_urls(data)
+ if not patch_urls:
+ self.out("[-] No patch found")
+ sys.exit(os.EX_UNAVAILABLE)
+
+ for url, file_name in patch_urls.items():
+ self.add_patch(url, file_name)
+
+
+def main():
+
+ parser = argparse.ArgumentParser(
+ description='Gets patch attachments from a Bug Tracking System'
+ )
+ parser.add_argument('pr', metavar='pr', type=str, nargs=1,
+ help='Pr id number')
+ parser.add_argument('--mode', type=str, choices=['gnats', 'bz'],
+ default='bz', help='available modes to retrieve patch')
+ parser.add_argument('--last', action='store_true',
+ help='only retrieve the latest iteration of a patch')
+ parser.add_argument('--stdout', action='store_true',
+ help='dump patch on stdout')
+
+ if len(sys.argv) == 1:
+ parser.print_help()
+ sys.exit(os.EX_USAGE)
+
+ args = parser.parse_args()
+
+ category = ""
+ pr = str(args.pr[0])
+
+ if pr and '/' in pr:
+ category, pr = pr.split('/')
+
+ Clazz = globals()['%sGetPatch' % args.mode.capitalize()]
+ gp = Clazz(pr, category)
+ gp.get(only_last=args.last, output_stdout=args.stdout)
+
+ return os.EX_OK
+
+if __name__ == '__main__':
+ sys.exit(main())
diff --git a/test-ports/Tools/scripts/getpatch.sh b/test-ports/Tools/scripts/getpatch.sh
new file mode 100755
index 00000000..acf4dcc3
--- /dev/null
+++ b/test-ports/Tools/scripts/getpatch.sh
@@ -0,0 +1,182 @@
+#!/bin/sh
+
+# Copyright (c) 2015 Rodrigo Osorio
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+# $FreeBSD: head/Tools/scripts/getpatch.sh 382731 2015-03-30 21:13:12Z rodrigo $
+#
+# MAINTAINER= rodrigo@FreeBSD.org
+#
+
+XML_URL='https://bugs.freebsd.org/bugzilla/show_bug.cgi?ctype=xml&id='
+GET_URL='https://bz-attachments.freebsd.org/attachment.cgi?id='
+
+TEMP_DIR=
+PR_DIR=
+deprecate=0
+build_path=1
+verbose=0
+
+usage() {
+ echo "usage: getpatch [-dp] tknum tknum ..."
+ echo " -d : download deprecate patches too"
+ echo " -p : store the patches in the current dir, instead of the dedicated bug id directory"
+ echo "use the GETPATCH_DIR variable to define the root location for the downloaded patches"
+ echo
+ exit 1
+}
+
+die() {
+ echo $@
+ erase_env
+ exit 1
+}
+
+build_env() {
+ if [ -z ${TEMP_DIR} ]; then
+ TEMP_DIR=`mktemp -d -t 'getpatch'`
+ fi
+}
+
+erase_env() {
+ if [ -n ${TEMP_DIR} ]; then
+ rm -rf ${TEMP_DIR} >/dev/null 2>&1
+ fi
+}
+
+getpatch() {
+ echo -n " + attachment ${2}-${3} "
+ if [ $deprecate -eq 1 ] || [ "$1" != "1" ]; then
+ if [ ! -f "${PR_DIR}${2}-${3}" ]; then
+ echo -n "download "
+ fetch --no-verify-peer -o "${PR_DIR}${2}-${3}" "${GET_URL}${2}" > /dev/null 2>&1
+ if [ $? -ne 0 ]; then
+ echo "error"
+ die "Unable to download ${GET_URL}${2}"
+ fi
+ echo "success"
+ else
+ echo "is present, skip"
+ fi
+ else
+ echo "is obsolete, skip"
+ fi
+}
+
+parse_and_fetch(){
+
+ for patchline in `awk '
+ /<\/attachment>/ { IN_ATTACH=0;
+ printf "%d>%s>%s\n",obsolete, patchid, patchname ;
+ }
+ /isobsolete/ || /ispatch/ && IN_ATTACH == 1 {
+ gsub(/^[ \t]+|[ \t]+$|"/, "");
+ split($0,val,"=");
+ if(val[1] == "isobsolete")
+ obsolete = val[2];
+ }
+ ( /<filename>/ || /<attachid>/ ) && IN_ATTACH == 1 {
+ gsub(/^[ \t]+|[ \t]+$/, "");
+ gsub(/[<]/, ">");
+ split($0,val,">");
+ if(val[2] == "filename")
+ patchname=val[3];
+ else if(val[2] == "attachid")
+ patchid=val[3];
+ }
+ /<attachment/ { IN_ATTACH=1;
+ obsolete = 0;
+ patchid = "";
+ patchname = "";
+ }
+ ' $1 ` ; do
+ getpatch `echo $patchline | tr ">" " "`
+ done
+}
+
+get_list_of_patches() {
+ ## Get xml file
+ PR_ID=$1
+ echo "Bug ID: $1"
+ build_env
+ fetch --no-verify-peer -o "${TEMP_DIR}/my${1}.xml" "${XML_URL}${1}" > /dev/null 2>&1
+ if [ $? -ne 0 ]; then
+ die "Can't upload ${XML_URL}${1}"
+ fi
+ ## Search for error
+ error_msg=`grep "bug error=" "${TEMP_DIR}/my${1}.xml"`
+ if [ -n "${error_msg}" ]; then
+ echo " !! Can't recover the bug attachements : " "`echo "${error_msg}" | cut -d '"' -f 2` !!"
+ return 1
+ fi
+
+ PR_DIR=${GETPATCH_DIR%%/}
+ if [ ${build_path} == 1 ]; then
+ PR_DIR=${PR_DIR}/${PR_ID}/
+ fi
+
+ if [ ! -d ${PR_DIR} ]; then
+ mkdir -p ${PR_DIR}
+ if [ $? != 0 ]; then
+ die "Can't create ${PR_DIR} directory"
+ fi
+ fi
+
+ parse_and_fetch "${TEMP_DIR}/my${1}.xml"
+ echo -n " >> Patches stored in "
+ realpath ${PR_DIR}
+
+}
+
+trap "die 'Interruption caught, exit'" 2 3 6 9 14 15
+
+if [ -z ${GETPATCH_DIR} ]; then
+ GETPATCH_DIR='.'
+fi
+
+
+
+while getopts ":pd" arg; do
+ case "$arg" in
+ d ) deprecate=1 ;;
+ p ) build_path=0 ;;
+ * ) usage ;;
+ esac
+ shift
+done
+
+if [ "$#" -eq 0 ]; then
+ usage
+ exit 1
+fi
+
+for arg in "$@"; do
+ if [ -z "`echo "${arg}" | sed 's/[0-9]//g'`" ]; then
+ get_list_of_patches ${arg}
+ else
+ echo "Error: ${arg} isn't a valid PR number"
+ exit 1
+ fi
+done
+erase_env
diff --git a/test-ports/Tools/scripts/gnomedepends.py b/test-ports/Tools/scripts/gnomedepends.py
new file mode 100755
index 00000000..ab7d66ed
--- /dev/null
+++ b/test-ports/Tools/scripts/gnomedepends.py
@@ -0,0 +1,128 @@
+#!/usr/bin/env python
+#
+# gnomedepends
+# Analyse pkg/PLIST and give an advice as to which GNOME
+# ports should be listes in {RUN,LIB}_DEPENDS for this port
+#
+# ----------------------------------------------------------------------------
+# "THE BEER-WARE LICENSE" (Revision 42, (c) Poul-Henning Kamp):
+# Maxim Sobolev <sobomax@FreeBSD.org> wrote this file. As long as you retain
+# this notice you can do whatever you want with this stuff. If we meet some
+# day, and you think this stuff is worth it, you can buy me a beer in return.
+#
+# Maxim Sobolev
+# ----------------------------------------------------------------------------
+#
+# $FreeBSD: head/Tools/scripts/gnomedepends.py 340851 2014-01-23 19:55:14Z mat $
+#
+# MAINTAINER= sobomax@FreeBSD.org
+#
+# TODO:
+# - analyse actual {RUN,LIB}_DEPENDS and give an advice about what should be
+# added;
+# - analyse results and remove redundant dependencies (for example if gnomecore
+# has gnomecontrolcenter listed as dependency, and it is found that the port
+# requires both gnomecontrolcenter and gnomecore do not list
+# gnomecontrolcenter then);
+# - parse ports/INDEX directly.
+#
+
+import os, os.path, sys, string, re
+
+def getcmdout(cmdline):
+ results = []
+ pipe = os.popen(cmdline)
+ buffer = pipe.readlines()
+ for result in buffer:
+ result = string.strip(result)
+ if len(result) > 0:
+ results.append(result)
+ pipe.close()
+ return results
+
+def readfile(filename):
+ file = open(filename)
+ result = file.readlines()
+ file.close()
+ return result
+
+def filter(lines, regobj):
+ results = []
+ for line in lines:
+ match = regobj.match(line)
+ if match != None:
+ result = string.strip(match.group(1))
+ try:
+ tmp = results.index(result)
+ except ValueError:
+ results.append(result)
+ return results
+
+gnomeports = getcmdout('cd /usr/ports && make search key=gnome | grep ^Path:')
+newgnomeports = []
+for i in gnomeports:
+ newgnomeports.append(string.split(i)[1])
+gnomeports = newgnomeports
+newgnomeports = []
+
+regobj = re.compile('^@dirrm (?P<dirname>\S+).*$')
+for portdir in gnomeports:
+ try:
+ lines = readfile(os.path.join(portdir, 'pkg-plist'))
+ lines = list(filter(lines, regobj))
+ if len(lines) > 0:
+ newgnomeports.append([portdir, lines])
+ except IOError:
+ pass
+gnomeports = newgnomeports
+newgnomeports = []
+
+try:
+ currplist = readfile('pkg-plist')
+except IOError as errmsg:
+ print(errmsg)
+ sys.exit(1)
+
+regobj = re.compile('^(?!@)(?P<dirname>\S+)/.*')
+currdirs = list(filter(currplist, regobj))
+regobj = re.compile('^@dirrm (?P<dirname>\S+).*$')
+currdirs.extend(list(filter(currplist, regobj)))
+currportdir = os.getcwd()
+
+newcurrdirs = []
+for dir in currdirs:
+ incremental = ''
+ for component in string.split(dir, '/'):
+ if incremental != '':
+ incremental = incremental + '/'
+ incremental = incremental + component
+ try:
+ tmp = newcurrdirs.index(incremental)
+ except ValueError:
+ newcurrdirs.append(incremental)
+currdirs = newcurrdirs
+
+depends = []
+for gnomeport in gnomeports:
+ if (currportdir == gnomeport[0]):
+ continue
+ matches = []
+ for gnomedir in gnomeport[1]:
+ for dir in currdirs:
+ if (gnomedir == dir):
+ matches.append(dir)
+ if len(matches) > 0:
+ depends.append([gnomeport[0], matches])
+
+if len(depends) == 0:
+ sys.stdout.writelines(['No dependencies found (maybe it is not a GNOME port).\n'])
+ sys.exit(0)
+
+sys.stdout.writelines(['According to the contents of pkg-plist the port depends on the following GNOME\n', 'port(s):\n\n'])
+for depend in depends:
+ sys.stdout.writelines([depend[0], ', for directories:\n'])
+ for dir in depend[1]:
+ sys.stdout.writelines(['\t', dir, '\n'])
+ sys.stdout.writelines(['\n'])
+
+
diff --git a/test-ports/Tools/scripts/indent_make_if.pl b/test-ports/Tools/scripts/indent_make_if.pl
new file mode 100755
index 00000000..57bc2b4e
--- /dev/null
+++ b/test-ports/Tools/scripts/indent_make_if.pl
@@ -0,0 +1,49 @@
+#!/usr/bin/env perl
+# $FreeBSD: head/Tools/scripts/indent_make_if.pl 417014 2016-06-17 14:58:36Z mat $
+# perltidy -bext=/ -i=8 -et=8 -l=132 -pt=2 -ce -cti=1
+
+use strict;
+use utf8;
+use warnings;
+
+my $extension = '.orig';
+my $oldargv = q{};
+my $spaces = 2;
+my $indent;
+my $argvout;
+
+sub dotindent {
+ my $amount = shift;
+ return '.' . (' ' x ($spaces * $amount));
+}
+
+LINE: while (<>) {
+
+ # For each file, save a .orig backup.
+ if ($ARGV ne $oldargv) {
+ my $backup;
+ if ($extension !~ /[*]/) {
+ $backup = $ARGV . $extension;
+ } else {
+ ($backup = $extension) =~ s/[*]/$ARGV/g;
+ }
+ rename $ARGV, $backup;
+ open $argvout, '>', $ARGV or die "Error for $ARGV: $!";
+ $oldargv = $ARGV;
+ $indent = 0;
+ }
+
+ if (/^[.]\s*(?:if|for)/o) { # if/for -> indent and increase indent
+ s/^[.]\s*/dotindent($indent)/oe;
+ $indent++;
+ } elsif (/^[.]\s*end(?:if|for)/o) { # endif/endfor -> decrease indent and indent
+ $indent--;
+ s/^[.]\s*/dotindent($indent)/oe;
+ } elsif (/^[.]\s*(?:else|elif)/o) { # else/elif -> indent one level down
+ s/^[.]\s*/dotindent($indent-1)/oe;
+ }
+} continue {
+
+ # Print the line.
+ print {$argvout} $_;
+}
diff --git a/test-ports/Tools/scripts/mark_safe.pl b/test-ports/Tools/scripts/mark_safe.pl
new file mode 100755
index 00000000..82a7a4b4
--- /dev/null
+++ b/test-ports/Tools/scripts/mark_safe.pl
@@ -0,0 +1,278 @@
+#!/usr/bin/env perl
+
+# $FreeBSD: head/Tools/scripts/mark_safe.pl 439336 2017-04-24 17:27:58Z ehaupt $
+#
+# MAINTAINER= ports@FreeBSD.org
+# all committers may commit to this file without approval
+
+## core
+use strict;
+use warnings FATAL => 'all';
+use Carp;
+
+use File::Find ();
+use Getopt::Long ();
+use Pod::Usage ();
+
+### constants
+## exit codes
+use constant EXIT_SUCCESS => 0;
+use constant EXIT_FAILED_INVALID_ARGS_OR_ENV => 1;
+
+## other
+use constant PROGNAME => $0;
+
+### signal handlers
+local $SIG{__DIE__} = \&Carp::confess;
+local $SIG{__WARN__} = \&Carp::cluck;
+
+### version
+our $VERSION = do { my @r = (q$FreeBSD: head/Tools/scripts/mark_safe.pl 439336 2017-04-24 17:27:58Z ehaupt $ =~ /\d+/g); sprintf "%d." . "%02d" x $#r, @r };
+
+### globals
+# cmdline options (standard) with defaults
+my $Help = 0;
+my $Version = 0;
+my $Debug = 0;
+my $Verbose = 0;
+my $NoExec = 0;
+
+# cmdline options (custom) with defaults
+my $Maintainer = "$ENV{USER}\@FreeBSD.org";
+my $Ports = 0;
+my $Safe = 1;
+my $Index = 'INDEX-9';
+
+# internals
+my $PORTSDIR = $ENV{PORTSDIR} || '/usr/ports';
+my %RPARTS = (
+ 0 => 'pkg_name',
+ 1 => 'dir',
+ 2 => 'prefix',
+ 3 => 'comment',
+ 4 => 'pkg_descr',
+ 5 => 'maintainer',
+ 6 => 'categories',
+ 7 => 'ldep',
+ 8 => 'rdep',
+ 9 => 'www',
+);
+
+my %PARTS = reverse %RPARTS;
+
+### Utility Functions
+sub error { print STDERR "ERROR: $_[0]" }
+sub debug { print STDERR "DEBUG: $_[0]" if $Debug }
+sub verbose { print STDOUT "VERBOSE($_[0]): $_[1]" if $Verbose > $_[0] }
+
+### main
+sub getopts_wrapper {
+
+ my $rv =
+ Getopt::Long::GetOptions(
+ "debug|d" => \$Debug,
+ "verbose=i" => \$Verbose,
+ "help|h" => \$Help,
+ "version|V" => \$Version,
+ "noexec|n" => \$NoExec,
+
+ "maintainer|m=s" => \$Maintainer,
+ "ports|p" => \$Ports,
+
+ "safe|s=i" => \$Safe,
+ "index|i=s" => \$Index,
+ );
+
+ Pod::Usage::pod2usage(-verbose => 1) unless $rv;
+
+ unless ($Help || valid_args()) {
+ $rv = 0;
+ Pod::Usage::pod2usage(-verbose => 1);
+ }
+
+ return $rv ? 1 : 0;
+}
+
+sub valid_args {
+
+ my $errors = 0;
+
+ ## NoExec implies Verbosity level 1
+ $Verbose = 1 if $NoExec;
+
+ return $errors > 0 ? 0 : 1;
+}
+
+sub work {
+
+ my $rv = EXIT_SUCCESS;
+
+ my $ports = ports_get();
+ mark($ports);
+
+ return $rv;
+}
+
+sub mark {
+ my ($ports) = @_;
+
+ foreach my $port_dir (@$ports) {
+ my $mfile = "$port_dir/Makefile";
+ print "Mfile: $mfile\n";
+ open my $mk, '<', $mfile or die "Can't open [$mfile] b/c [$!]";
+ my @lines = <$mk>;
+ close $mk or die "Can't close [$mfile] b/c [$!]";
+
+ next if grep { /MAKE_JOBS_(?:UN)?SAFE|NO_BUILD/ } @lines;
+
+ my $i_depends = 0;
+ my $i_comment = 0;
+ my $i_maintainer = 0;
+ my $i = 0;
+ foreach my $line (@lines) {
+ ## ORDER MATTERs, lowest in file is last
+ $i_depends = $i if $line =~ /DEPENDS/;
+ $i_comment = $i if $line =~ /COMMENT/;
+ $i_maintainer = $i if $line =~ /MAINTAINER/;
+ ++$i;
+ }
+
+ my $loc = $i_depends > 0 ? $i_depends :
+ $i_comment > 0 ? $i_comment :
+ $i_maintainer > 0 ? $i_maintainer : print "Can't find location to insert", next;
+
+ my @newlines = @lines[0..$loc];
+ push @newlines, "\n", "MAKE_JOBS_" . ($Safe ? "SAFE" : "UNSAFE") . "=\tyes\n";
+ push @newlines, @lines[$loc+1..$#lines];
+
+ open my $mk_o, '>', $mfile or die "Can't open [$mfile] b/c [$!]";
+ foreach my $line (@newlines) {
+ print $mk_o $line;
+ }
+ close $mk_o or die "Can't close [$mfile] b/c [$!]";
+ }
+
+ return;
+}
+
+sub ports_get {
+
+ my @ports = ();
+
+ if ($Ports) {
+ @ports = map { "$PORTSDIR/$_" } @ARGV;
+ }
+ else {
+ my $index = "$PORTSDIR/$Index";
+ print "Index: $index\n";
+
+ open my $fh, '<', $index or die "Can't open [$index] b/c [$!]";
+ while (<$fh>) {
+ my @parts = split /\|/;
+ my $port_dir = $parts[$PARTS{dir}];
+ $port_dir =~ s!/usr/ports!$PORTSDIR!;
+ my $maintainer = $parts[$PARTS{maintainer}];
+
+ push @ports, $port_dir if $maintainer =~ /^$Maintainer$/io;
+ }
+ close $fh or die "Can't close [$index] b/c [$!]";
+ }
+
+ @ports = grep { !/rubygem-/ } @ports;
+
+ return \@ports;
+}
+
+sub main {
+
+ getopts_wrapper() or return EXIT_FAILED_INVALID_ARGS_OR_ENV;
+
+ if ($Help) {
+ Pod::Usage::pod2usage(-verbose => 1);
+ return EXIT_SUCCESS;
+ }
+
+ if ($Version) {
+ print PROGNAME . " - v$VERSION\n\n";
+ return EXIT_SUCCESS;
+ }
+
+ return work();
+}
+
+MAIN: {
+ exit main();
+}
+
+__END__
+
+=pod
+
+=head1 NAME
+
+mark_safe.pl - Mark a port or ports as MAKE_JOBS_(UN)SAFE=yes
+
+=head1 SYNOPSIS
+
+ mark_safe.pl <options>
+
+=head1 STD OPTIONS
+
+=over 4
+
+=item B<--verbose=1,2,3,4,....>
+
+Display messages while running on STDOUT. Increasing the level
+will increase the amount.
+
+DEFAULT: off/0
+
+=item B<--debug|d>
+
+Copious messages not useful unless you are a developer AND
+debuging this script are output to STDERR
+
+DEFAULT: off/0
+
+=item B<--help|h>
+
+Print this message and exit EXIT_SUCCESS
+
+DEFAULT: off/0
+
+=item B<--version|V>
+
+Output the version and exit with EXIT_SUCCESS
+
+DEFAULT: off/0
+
+=item B<--noexec|n>
+
+Any External commands will simply be echo'd and not run
+Assume all of them suceed.
+
+IMPLIES: --verbose=1
+
+DEFAULT: off/0
+
+=head1 Dependencies
+
+=head1 EXIT CODES
+
+Exits 0 on success
+Exits > 0 <= 255 on error
+
+ EXIT_SUCCESS => 0
+ EXIT_FAILED_INVALID_ARGS_OR_ENV => 1
+
+=head1 HISTORY
+
+20009-04-22 by pgollucci:
+ Created
+
+=head1 AUTHOR
+
+Philip M. Gollucci E<lt>pgollucci@FreeBSD.orgE<gt>
+
+=cut
+
diff --git a/test-ports/Tools/scripts/mfh b/test-ports/Tools/scripts/mfh
new file mode 100755
index 00000000..c77a7d03
--- /dev/null
+++ b/test-ports/Tools/scripts/mfh
@@ -0,0 +1,159 @@
+#!/bin/sh
+#
+# mfh - Merge from head to a given branch
+#
+# Usage: mfh [<branch>] <revnumber> [<revnumber>]
+# <branch> is optional and defaults to latest branch
+# If supplying multiple revnumbers, put them in chronological order
+# (111111 111112 111113)
+#
+# Copyright 2013 Baptiste Daroussin
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+# MAINTAINER= portmgr@FreeBSD.org
+
+set -eu
+
+LF=$(printf '\nX')
+LF=${LF%X}
+IFS="${LF}"
+
+err() {
+ echo "$@" >&2
+ exit 1
+}
+
+clean() {
+ rm -rf "${dir}"
+ exit 1
+}
+
+ask() {
+ question=${1}
+
+ answer=x
+ while [ "${answer}" != "y" -a "${answer}" != "n" ] ; do
+ read -p "${question} [y/n] " answer
+ done
+
+ [ "${answer}" = "y" ] && return 0
+ return 1
+}
+
+: ${svnserver:="svn+ssh://repo.FreeBSD.org"}
+
+if [ -n "$(type svn 2>/dev/null)" ]; then
+ svn=svn
+elif [ -n "$(type svnlite 2>/dev/null)" ]; then
+ svn=svnlite
+else
+ err "Neither svn(1) nor svnlite(1) found. Please install devel/subversion."
+fi
+
+latest_branch=$("${svn}" ls ${svnserver}/ports/branches/|sed -ne '/^2.*Q./s|/$||p'|tail -1)
+
+[ $# -lt 1 ] && err "$(basename $0) requires at least 1 arguments: [<branch>] <revnumber> [<revnumber>...]"
+branch=$1
+
+# I sure hope by 2030 we'll be doing something else. Yes, famous last words.
+if expr ${branch} : '20[12][0-9]Q[1-4]' > /dev/null; then
+ shift
+ if [ ${latest_branch} != ${branch} ]; then
+ ask "/!\\ The latest branch is ${latest_branch}, do you really want to commit to ${branch}?" || exit 1
+ fi
+else
+ branch=${latest_branch}
+fi
+
+revs=""
+for rev in $@
+do
+ rev=${rev##r} # remove a leading "r"
+ case ${rev} in
+ ''|*[!-0-9]*) err "revision \"${rev}\" should be a number" ;;
+ esac
+done
+
+
+trap "rc=\$? ; rm -rf \"\${dir}\" ; exit \$rc" EXIT
+dir=$(mktemp -d /tmp/merge.XXXXXX)
+cd "${dir}"
+"${svn}" co --depth=empty ${svnserver}/ports/branches/"${branch}"
+filelist=""
+
+echo -n "MFH:" > commit.txt
+for rev in $@
+do
+ rev=${rev##r}
+ echo -n " r${rev}" >> commit.txt
+done
+echo >> commit.txt
+for rev in $@
+do
+ rev=${rev##r}
+ for f in $("${svn}" diff --summarize -c r${rev} ${svnserver}/ports/head); do
+ case ${f} in
+ */*) ;;
+ *)continue;;
+ esac
+ f=${f#*/ports/head/}
+ f=${f%/*}
+ filelist="${filelist}${LF}${f}"
+ done
+ "${svn}" log -r${rev##-} ${svnserver}/ports/head | sed '1,2d;$d;/^MFH:/d' \
+ | sed '$d' >> commit.txt
+done
+filelist=$(printf '%s\n' "${filelist}" | sort -u)
+"${svn}" up --parents $(printf '%s\n' $filelist \
+ | sed "s}^}${branch}/}")
+"${svn}" up --quiet "${branch}"
+for rev in $@
+do
+ rev=${rev##r}
+ "${svn}" merge -c r${rev} ^/head/ "${branch}"
+done
+"${svn}" up --quiet "${branch}"
+"${svn}" status "${branch}"
+"${svn}" diff "${branch}"
+echo "All the merge work was done in ${dir}/${branch}."
+ask "Do you want to commit? (no = start a shell)" || (
+ echo "Dropping you to a shell so you can investigate. Exit the shell to resume this script."
+ cd "${branch}"
+ pwd
+ su -m $(id -un) || :
+ ask "Do you want to commit now? (no = clean up and abort)" || clean
+)
+echo >> commit.txt
+echo "Approved by: " >> commit.txt
+${EDITOR:-vi} commit.txt
+while ! "${svn}" ci -F commit.txt "${branch}"; do
+ if ! ask "Commit failed. Re-edit message and try again?"; then
+ save_log="$(mktemp -t mfh)"
+ cp -f commit.txt "${save_log}"
+ echo "Saving commit log to ${save_log}"
+ break
+ fi
+done
+rm -rf "${dir}"
+trap - 0
diff --git a/test-ports/Tools/scripts/neededlibs.sh b/test-ports/Tools/scripts/neededlibs.sh
new file mode 100755
index 00000000..87002296
--- /dev/null
+++ b/test-ports/Tools/scripts/neededlibs.sh
@@ -0,0 +1,63 @@
+#!/bin/sh
+
+#
+# Copyright (C) 2007 Alexander Leidinger <netchild@FreeBSD.org>.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+
+# $FreeBSD: head/Tools/scripts/neededlibs.sh 340851 2014-01-23 19:55:14Z mat $
+
+
+#
+# The purpose of this script is to find as much dependencies of a binary
+# as possible. A dependecy is for example a library which is directly
+# referenced in the binary.
+#
+
+# XXX: it doesn't handle calls to dlopen() or the corresponding libltdl
+# function. I don't know if this is needed to detect references to stuff
+# which can be added as LIB_DEPENDS.
+
+if [ -z "$1" ]; then
+ echo "Usage: $0 binary_file ..."
+ exit 2
+fi
+
+for i in "$@"; do
+ kind=$(file -bi "$i")
+
+ case "${kind}" in
+ application/x-executable*|application/x-sharedlib*)
+ # ok, fall through
+ ;;
+ *)
+ # not ok, go to next one
+ shift
+ continue
+ ;;
+ esac
+
+ objdump -x "$i" | awk '/NEEDED/ {print $2}'
+ shift
+done | sort -u
diff --git a/test-ports/Tools/scripts/notconnected b/test-ports/Tools/scripts/notconnected
new file mode 100755
index 00000000..32f2dfb8
--- /dev/null
+++ b/test-ports/Tools/scripts/notconnected
@@ -0,0 +1,43 @@
+#!/bin/sh
+
+# $FreeBSD: head/Tools/scripts/notconnected 437233 2017-03-29 20:33:05Z rene $
+#
+# MAINTAINER= ports@FreeBSD.org
+# all committers may commit to this file without approval
+
+PATH=/rescue:$PATH
+
+if [ -z "$PORTSDIR" ]; then
+ PORTSDIR=/usr/ports
+fi
+
+echo "****************** No entry for dir in category Makefile"
+#### dir -> Makefile
+cd $PORTSDIR
+
+ports=$(find $PORTSDIR -type d -depth 2 | egrep -v '.svn|CVS|.git|Tools')
+for port in $ports; do
+ cat=$(echo $port |awk -F'/' '{print $1}')
+ portname=$(echo $port |awk -F'/' '{print $2}')
+
+ rc=$(grep -c " $portname$" $PORTSDIR/$cat/Makefile)
+ if [ $rc -ne 1 ]; then
+ echo "$cat/$portname"
+ fi
+done
+
+echo "***************** No corresponding dir for category Makefile entry"
+#### Makefile -> dir
+cd $PORTSDIR
+categories=$(ls -1d * |grep -v [A-Z] |grep -v distfiles)
+
+for cat in $categories; do
+ cd $PORTSDIR/$cat
+ ports=$(grep SUBDIR Makefile |awk '{print $3}')
+ for port in $ports; do
+ if [ ! -d $port ]; then
+ echo "$cat/$port"
+ fi
+ done
+done
+
diff --git a/test-ports/Tools/scripts/parse-kdump.tcl b/test-ports/Tools/scripts/parse-kdump.tcl
new file mode 100644
index 00000000..4abea3f7
--- /dev/null
+++ b/test-ports/Tools/scripts/parse-kdump.tcl
@@ -0,0 +1,199 @@
+#!/usr/local/bin/tclsh8.2
+
+# Copyright (C) 2002 Daniel O'Connor.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# 3. Neither the name of the project nor the names of its contributors
+# may be used to endorse or promote products derived from this software
+# without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+
+#
+# Usage
+#
+# Ktrace the process(es) you're interested in like so ->
+#
+# ktrace -ditcn -f ~/install.ktr make install
+#
+# Now run kdump over this file and pipe to parse-kdump.tcl
+# kdump -m1 -f ~/install.ktr | parse-kdump.tcl
+#
+
+proc main {} {
+ set fh stdin;
+ set state "CALL";
+ set interested "";
+ set cwd [pwd];
+ set namea "";
+
+ while {![eof $fh]} {
+ gets $fh line;
+
+ if {$line == ""} {
+ continue;
+ }
+
+ if {[scan $line "%d %s %s %\[^\n\]" pid name type rest] != 4} {
+ if {$state != "GIO"} {
+ puts stderr "Unable to parse '$line'";
+ exit 1;
+ } else {
+ #puts stderr "Got IO";
+ continue;
+ }
+ }
+
+ #puts stderr "Pid - $pid, Name - $name, Type - $type, Rest - $rest";
+
+ switch -- $type {
+ "CALL" -
+ "RET" -
+ "GIO" -
+ "NAMI" {
+ }
+
+ default {
+ puts stderr "Unknown type $type"
+ exit 1;
+ }
+ }
+
+ #puts "State is $state";
+ switch -- $type {
+ "CALL" {
+ set namea "";
+ if {$state != "RET" && $state != "CALL" && $state != "NAMI"} {
+ puts stderr "Invalid state transition from $state to CALL";
+ exit 1;
+ } else {
+ set state $type;
+ }
+
+ set cargs "";
+ set res [scan $rest "%\[^(\](%\[^)\]" callname cargs];
+ if {$res != 1 && $res != 2} {
+ puts stderr "Couldn't derive syscall name from $rest";
+ exit 1;
+ }
+
+ if {$callname == "open"} {
+ if {[scan $cargs "%\[^,\],%\[^,\],%s" fptr flags mode] != 3} {
+ puts stderr "Couldn't parse open args from $cargs";
+ exit 1;
+ }
+
+ #puts stderr "Open with $flags, mode $mode";
+ set interested [list $callname $flags $mode];
+ } elseif {$callname == "chdir"} {
+ set interested [list $callname];
+ } elseif {$callname == "rename"} {
+ set interested [list $callname];
+ } elseif {$callname == "unlink"} {
+ set interested [list $callname];
+ }
+ }
+
+ "RET" {
+ set namea "";
+ if {$state != "CALL" && $state != "GIO" && $state != "NAMI" && $state != "RET"} {
+ puts "Invalid state transition from $state to RET";
+ exit 1;
+ } else {
+ set state $type;
+ }
+ set interested "";
+ }
+
+ "NAMI" {
+ if {$state != "CALL" && $state != "NAMI"} {
+ puts "Invalid state transition from $state to NAMI";
+ exit 1;
+ } else {
+ set state $type;
+ }
+ if {$interested != ""} {
+ if {[scan $rest "\"%\[^\"\]\"" fname] != 1} {
+ puts stderr "Unable to derive filename from $rest";
+ exit 1;
+ }
+
+ switch -- [lindex $interested 0] {
+ "open" {
+ set flags [expr [lindex $interested 1]];
+ set mode [expr [lindex $interested 2]];
+ #puts stderr "Mode = $mode, Flags = $flags";
+ if {[file pathtype $fname] == "relative"} {
+ set fname [file join $cwd $fname];
+ }
+ if {[expr $flags & 0x02] || [expr $flags & 0x200]} {
+ #puts "Got an open for writing on $fname";
+ #puts "$name $fname";
+ puts "+$fname";
+ }
+ }
+
+ "rename" {
+ if {$namea != ""} {
+ #puts "rename from $namea to $fname";
+ puts "-$namea";
+ puts "+$fname";
+ } else {
+ set namea $fname;
+ #puts "namea = $namea";
+ }
+ }
+
+ "chdir" {
+ set cwd "$fname";
+ #puts "Changed working directory to $cwd";
+ }
+
+ "unlink" {
+ puts "-$fname";
+ }
+
+ default {
+ puts "Got a [lindex $interested 0] $fname";
+ }
+ }
+ }
+ }
+
+ "GIO" {
+ set namea "";
+ if {$state != "CALL" && $state != "GIO"} {
+ puts "Invalid state transition from $state to GIO";
+ exit 1;
+ } else {
+ set state $type;
+ }
+ }
+
+ default {
+ puts stderr "WTF, Invalid state?"
+ exit 1;
+ }
+ }
+ }
+}
+
+main;
diff --git a/test-ports/Tools/scripts/patchtool.py b/test-ports/Tools/scripts/patchtool.py
new file mode 100755
index 00000000..1a6bbb98
--- /dev/null
+++ b/test-ports/Tools/scripts/patchtool.py
@@ -0,0 +1,688 @@
+#!/usr/bin/env python
+# ex:ts=4
+#-*- mode: Fundamental; tab-width: 4; -*-
+#
+# patchtool.py - a tool to automate common operation with patchfiles in the
+# FreeBSD Ports Collection.
+#
+# ----------------------------------------------------------------------------
+# "THE BEER-WARE LICENSE" (Revision 42, (c) Poul-Henning Kamp):
+# Maxim Sobolev <sobomax@FreeBSD.org> wrote this file. As long as you retain
+# this notice you can do whatever you want with this stuff. If we meet some
+# day, and you think this stuff is worth it, you can buy me a beer in return.
+#
+# Maxim Sobolev
+# ----------------------------------------------------------------------------
+#
+# $FreeBSD: head/Tools/scripts/patchtool.py 340851 2014-01-23 19:55:14Z mat $
+#
+# MAINTAINER= sobomax@FreeBSD.org <- any unapproved commits to this file are
+# highly discouraged!!!
+#
+
+import os, os.path, subprocess, sys, getopt, glob, errno, types
+
+# Some global variables used as constants
+True = 1
+False = 0
+
+
+# Tweakable global variables. User is able to override any of these by setting
+# appropriate environment variable prefixed by `PT_', eg:
+# $ export PT_CVS_ID="FooOS"
+# $ export PT_DIFF_CMD="/usr/local/bin/mydiff"
+# will force script to use "FooOS" as a CVS_ID instead of "FreeBSD" and
+# "/usr/local/bin/mydiff" as a command to generate diffs.
+class Vars:
+ CVS_ID = 'FreeBSD'
+
+ DIFF_ARGS = '-du'
+ DIFF_SUFX = '.orig'
+ PATCH_PREFIX = 'patch-'
+ PATCH_IGN_SUFX = ('.orig', '.rej')
+ RCSDIFF_SUFX = ',v'
+
+ CD_CMD = 'cd'
+ DIFF_CMD = '/usr/bin/diff'
+ MAKE_CMD = '/usr/bin/make'
+ PRINTF_CMD = '/usr/bin/printf'
+ RCSDIFF_CMD = '/usr/bin/rcsdiff'
+
+ DEFAULT_MAKEFILE = 'Makefile'
+ DEV_NULL = '/dev/null'
+ ETC_MAKE_CONF = '/etc/make.conf'
+
+ SLASH_REPL_SYMBOL = '_' # The symbol to replace '/' when auto-generating
+ # patchnames
+
+
+#
+# Check if the supplied patch refers to a port's directory.
+#
+def isportdir(path, soft = False):
+ REQ_FILES = ('Makefile', 'pkg-descr', 'distinfo')
+ if not os.path.isdir(path) and soft != True:
+ raise IOError(errno.ENOENT, path)
+ # Not reached #
+
+ try:
+ content = os.listdir(path)
+ except OSError:
+ return False
+
+ for file in REQ_FILES:
+ if file not in content:
+ return False
+ return True
+
+
+#
+# Traverse directory tree up from the path pointed by argument and return if
+# root directory of a port is found.
+#
+def locateportdir(path, wrkdirprefix= '', strict = False):
+ # Flag to relax error checking in isportdir() function. It required when
+ # WRKDIRPREFIX is defined.
+ softisport = False
+
+ path = os.path.abspath(path)
+
+ if wrkdirprefix != '':
+ wrkdirprefix= os.path.abspath(wrkdirprefix)
+ commonprefix = os.path.commonprefix((path, wrkdirprefix))
+ if commonprefix != wrkdirprefix:
+ return ''
+ path = path[len(wrkdirprefix):]
+ softisport = True
+
+ while path != '/':
+ if isportdir(path, softisport) == True:
+ return path
+ path = os.path.abspath(os.path.join(path, '..'))
+
+ if strict == True:
+ raise LocatePDirError(path)
+ # Not reached #
+ else:
+ return ''
+
+
+#
+# Get value of a make(1) variable called varname. Optionally maintain a cache
+# for resolved varname:makepath pairs to speed-up operation if the same variable
+# from the exactly same file is requested repeatedly (invocation of make(1) is
+# very expensive operation...)
+#
+def querymakevar(varname, path = 'Makefile', strict = False, cache = {}):
+ path = os.path.abspath(path)
+
+ if cache.has_key((varname, path)) == 1:
+ return cache[(varname, path)]
+
+ origpath = path
+ if os.path.isdir(path):
+ path = os.path.join(path, Vars.DEFAULT_MAKEFILE)
+ if not os.path.isfile(path):
+ raise IOError(errno.ENOENT, path)
+ # Not reached #
+
+ dir = os.path.dirname(path)
+ CMDLINE = '%s %s && %s -f %s -V %s' % (Vars.CD_CMD, dir, Vars.MAKE_CMD, \
+ path, varname)
+ devnull = open('/dev/null', 'a')
+ pipe = subprocess.Popen(CMDLINE, shell = True, stdin = subprocess.PIPE, \
+ stdout = subprocess.PIPE, stderr = devnull, close_fds = True)
+ retval = ''
+ for line in pipe.stdout.readlines():
+ retval = retval + line.strip() + ' '
+ retval = retval[:-1]
+ if strict == True and retval.strip() == '':
+ raise MakeVarError(path, varname)
+ # Not reached #
+
+ cache[(varname, origpath)] = retval
+ return retval
+
+
+#
+# Get a path of `path' relatively to wrksrc. For example:
+# path: /foo/bar
+# wrksrc: /foo/bar/baz/somefile.c
+# getrelpath: baz/somefile.c
+# Most of the code here is to handle cases when ../ operation is required to
+# reach wrksrc from path, for example:
+# path: /foo/bar
+# wrksrc: /foo/baz/somefile.c
+# getrelpath: ../baz/somefile.c
+#
+def getrelpath(path, wrksrc):
+ path = os.path.abspath(path)
+ wrksrc = os.path.abspath(wrksrc) + '/'
+ commonpart = os.path.commonprefix((path, wrksrc))
+ while commonpart[-1:] != '/':
+ commonpart = commonpart[:-1]
+ path = path[len(commonpart):]
+ wrksrc = wrksrc[len(commonpart):]
+ adjust = ''
+ while os.path.normpath(os.path.join(wrksrc, adjust)) != '.':
+ adjust = os.path.join(adjust, '..')
+ relpath = os.path.join(adjust, path)
+ return relpath
+
+
+#
+# Generate a diff between saved and current versions of the file pointed by the
+# wrksrc+path. Apply heuristics to locate saved version of the file in question
+# and if it fails assume that file is new, so /dev/null is to be used as
+# original file. Optionally save generated patch into `outfile' instead of
+# dumping it to stdout. Generated patches automatically being tagged with
+# "FreeBSD" cvs id.
+#
+def gendiff(path, wrksrc, outfile = ''):
+ fullpath = os.path.join(wrksrc, path)
+ if not os.path.isfile(fullpath):
+ raise IOError(errno.ENOENT, fullpath)
+ # Not reached #
+
+ cmdline = ''
+ if os.path.isfile(fullpath + Vars.DIFF_SUFX): # Normal diff
+ path_orig = path + Vars.DIFF_SUFX
+ cmdline = '%s %s %s %s' % (Vars.DIFF_CMD, Vars.DIFF_ARGS, path_orig, path)
+ elif os.path.isfile(fullpath + Vars.RCSDIFF_SUFX): # RCS diff
+ path_orig = path
+ cmdline = '%s %s %s' % (Vars.RCSDIFF_CMD, Vars.DIFF_ARGS, path)
+ else: # New file
+ path_orig = Vars.DEV_NULL
+ cmdline = '%s %s %s %s' % (Vars.DIFF_CMD, Vars.DIFF_ARGS, path_orig, path)
+
+ savedir = os.getcwd()
+ os.chdir(wrksrc)
+ devnull = open('/dev/null', 'a')
+ pipe = subprocess.Popen(cmdline, shell = True, stdin = subprocess.PIPE, \
+ stdout = subprocess.PIPE, stderr = devnull, close_fds = True)
+ outbuf = pipe.stdout.readlines()
+ exitval = pipe.wait()
+ if exitval == 0: # No differences were found
+ retval = False
+ retmsg = 'no differences found between original and current ' \
+ 'version of "%s"' % fullpath
+ elif exitval == 1: # Some differences were found
+ if (outfile != ''):
+ outbuf[0] = '--- %s\n' % path_orig
+ outbuf[1] = '+++ %s\n' % path
+ outbuf.insert(0, '\n')
+ outbuf.insert(0, '$%s$\n' % Vars.CVS_ID)
+ outbuf.insert(0, '\n')
+ open(outfile, 'w').writelines(outbuf)
+ else:
+ sys.stdout.writelines(outbuf)
+ retval = True
+ retmsg = ''
+ else: # Error occurred
+ raise ECmdError('"%s"' % cmdline, \
+ 'external command returned non-zero error code')
+ # Not reached #
+
+ os.chdir(savedir)
+ return (retval, retmsg)
+
+
+#
+# Automatically generate a name for a patch based on its path relative to
+# wrksrc. Use simple scheme to ensure 1-to-1 mapping between path and
+# patchname - replace all '_' with '__' and all '/' with '_'.
+#
+def makepatchname(path, patchdir = ''):
+ SRS = Vars.SLASH_REPL_SYMBOL
+ retval = Vars.PATCH_PREFIX + \
+ path.replace(SRS, SRS + SRS).replace('/', SRS)
+ retval = os.path.join(patchdir, retval)
+ return retval
+
+
+#
+# Write a specified message to stderr.
+#
+def write_msg(message):
+ if type(message) == types.StringType:
+ message = message,
+ sys.stderr.writelines(message)
+
+
+#
+# Print specified message to stdout and ask user [y/N]?. Optionally allow
+# specify default answer, i.e. return value if user typed only <cr>
+#
+def query_yn(message, default = False):
+ while True:
+ if default == True:
+ yn = 'Y/n'
+ elif default == False:
+ yn = 'y/N'
+ else:
+ yn = 'Y/N'
+
+ reply = raw_input('%s [%s]: ' % (message, yn))
+
+ if reply == 'y' or reply == 'Y':
+ return True
+ elif reply == 'n' or reply == 'N':
+ return False
+ elif reply == '' and default in (True, False):
+ return default
+ print 'Wrong answer "%s", please try again' % reply
+ return default
+
+
+#
+# Print optional message and usage information and exit with specified exit
+# code.
+#
+def usage(code, msg = ''):
+ myname = os.path.basename(sys.argv[0])
+ write_msg((str(msg), """
+Usage: %s [-afi] file ...
+ %s -u [-i] [patchfile|patchdir ...]
+""" % (myname, myname)))
+ sys.exit(code)
+
+
+#
+# Simple custom exception
+#
+class MyError(Exception):
+ msg = 'error'
+
+ def __init__(self, file, msg=''):
+ self.file = file
+ if msg != '':
+ self.msg = msg
+
+ def __str__(self):
+ return '%s: %s' % (self.file, self.msg)
+
+
+#
+# Error parsing patchfile
+#
+class PatchError(MyError):
+ msg = 'corrupt patchfile, or not patchfile at all'
+
+
+#
+# Error executing external command
+#
+class ECmdError(MyError):
+ pass
+
+
+#
+# Error getting value of makefile variable
+#
+class MakeVarError(MyError):
+ def __init__(self, file, makevar, msg=''):
+ self.file = file
+ if msg != '':
+ self.msg = msg
+ else:
+ self.msg = 'can\'t get %s value' % makevar
+
+
+#
+# Error locating portdir
+#
+class LocatePDirError(MyError):
+ msg = 'can\'t locate portdir'
+
+
+class Patch:
+ fullpath = ''
+ minus3file = ''
+ plus3file = ''
+ wrksrc = ''
+ patchmtime = 0
+ targetmtime = 0
+
+ def __init__(self, path, wrksrc):
+ MINUS3_DELIM = '--- '
+ PLUS3_DELIM = '+++ '
+
+ path = os.path.abspath(path)
+ if not os.path.isfile(path):
+ raise IOError(errno.ENOENT, path)
+ # Not reached #
+
+ self.fullpath = path
+ filedes = open(path)
+
+ for line in filedes.readlines():
+ if self.minus3file == '':
+ if line[:len(MINUS3_DELIM)] == MINUS3_DELIM:
+ lineparts = line.split()
+ try:
+ self.minus3file = lineparts[1]
+ except IndexError:
+ raise PatchError(path)
+ # Not reached #
+ continue
+ elif line[:len(PLUS3_DELIM)] == PLUS3_DELIM:
+ lineparts = line.split()
+ try:
+ self.plus3file = lineparts[1]
+ except IndexError:
+ raise PatchError(path)
+ # Not reached #
+ break
+
+ filedes.close()
+
+ if self.minus3file == '' or self.plus3file == '':
+ raise PatchError(path)
+ # Not reached #
+
+ self.wrksrc = os.path.abspath(wrksrc)
+ self.patchmtime = os.path.getmtime(self.fullpath)
+ plus3file = os.path.join(self.wrksrc, self.plus3file)
+ if os.path.isfile(plus3file):
+ self.targetmtime = os.path.getmtime(plus3file)
+ else:
+ self.targetmtime = 0
+
+ def update(self, patch_cookiemtime = 0, ignoremtime = False):
+ targetfile = os.path.join(self.wrksrc, self.plus3file)
+ if not os.path.isfile(targetfile):
+ raise IOError(errno.ENOENT, targetfile)
+ # Not reached #
+
+ patchdir = os.path.dirname(self.fullpath)
+ if not os.path.isdir(patchdir):
+ os.mkdir(patchdir)
+
+ if ignoremtime == True or self.patchmtime == 0 or \
+ self.targetmtime == 0 or \
+ (self.patchmtime < self.targetmtime and \
+ patch_cookiemtime < self.targetmtime):
+ retval = gendiff(self.plus3file, self.wrksrc, self.fullpath)
+ if retval[0] == True:
+ self.patchmtime = os.path.getmtime(self.fullpath)
+ else:
+ retval = (False, 'patch is already up to date')
+ return retval
+
+
+class NewPatch(Patch):
+ def __init__(self, patchdir, wrksrc, relpath):
+ self.fullpath = makepatchname(relpath, os.path.abspath(patchdir))
+ self.wrksrc = os.path.abspath(wrksrc)
+ self.plus3file = relpath
+ self.minus3file = relpath
+ self.patchmtime = 0
+ plus3file = os.path.join(self.wrksrc, self.plus3file)
+ if os.path.isfile(plus3file):
+ self.targetmtime = os.path.getmtime(plus3file)
+ else:
+ self.targetmtime = 0
+
+
+class PatchesCollection:
+ patches = {}
+
+ def __init__(self):
+ self.patches = {}
+ pass
+
+ def adddir(self, patchdir, wrksrc):
+ if not os.path.isdir(patchdir):
+ raise IOError(errno.ENOENT, patchdir)
+ # Not reached #
+
+ for filename in glob.glob(os.path.join(patchdir, Vars.PATCH_PREFIX + '*')):
+ for sufx in Vars.PATCH_IGN_SUFX:
+ if filename[-len(sufx):] == sufx:
+ write_msg('WARNING: patchfile "%s" ignored\n' % filename)
+ break
+ else:
+ self.addpatchfile(filename, wrksrc)
+
+ def addpatchfile(self, path, wrksrc):
+ path = os.path.abspath(path)
+ if not self.patches.has_key(path):
+ self.addpatchobj(Patch(path, wrksrc))
+
+ def addpatchobj(self, patchobj):
+ self.patches[patchobj.fullpath] = patchobj
+
+ def lookupbyname(self, path):
+ path = os.path.abspath(path)
+ if self.patches.has_key(path):
+ return self.patches[path]
+ return None
+
+ def lookupbytarget(self, wrksrc, relpath):
+ wrksrc = os.path.abspath(wrksrc)
+ for patch in self.patches.values():
+ if wrksrc == patch.wrksrc and relpath == patch.plus3file:
+ return patch
+ return None
+
+ def getpatchobjs(self):
+ return self.patches.values()
+
+
+#
+# Resolve all symbolic links in the given path to a file
+#
+def truepath(path):
+ if not os.path.isfile(path):
+ raise IOError(errno.ENOENT, path)
+
+ result = ''
+ while len(path) > 0:
+ path, lastcomp = os.path.split(path)
+ if len(lastcomp) == 0:
+ lastcomp = path
+ path = ''
+ result = os.path.join(lastcomp, result)
+ if len(path) == 0:
+ break
+ if os.path.islink(path):
+ linkto = os.path.normpath(os.readlink(path))
+ if linkto[0] != '/':
+ path = os.path.join(path, linkto)
+ else:
+ path = linkto
+ return result[:-1]
+
+
+def main():
+ try:
+ opts, args = getopt.getopt(sys.argv[1:], 'afui')
+ except getopt.GetoptError, msg:
+ usage(2, msg)
+
+ automatic = False
+ force = False
+ mode = generate
+ ignoremtime = False
+
+ for o, a in opts:
+ if o == '-a':
+ automatic = True
+ elif o == '-f':
+ force = True
+ elif o == '-u':
+ mode = update
+ elif o == '-i':
+ ignoremtime = True
+ else:
+ usage(2)
+
+ # Allow user to override internal constants
+ for varname in dir(Vars):
+ if varname[:2] == '__' and varname[-2:] == '__':
+ continue
+ try:
+ value = os.environ['PT_' + varname]
+ setattr(Vars, varname, value)
+ except KeyError:
+ pass
+
+ mode(args, automatic, force, ignoremtime)
+
+ sys.exit(0)
+
+
+#
+# Display a diff or generate patchfile for the files pointed out by args.
+#
+def generate(args, automatic, force, ignoremtime):
+ if len(args) == 0:
+ usage(2, "ERROR: no input files specified")
+
+ patches = PatchesCollection()
+
+ for filepath in args:
+ for suf in Vars.RCSDIFF_SUFX, Vars.DIFF_SUFX:
+ if filepath.endswith(suf):
+ filepath = filepath[:-len(suf)]
+ break
+ if not os.path.isfile(filepath):
+ raise IOError(errno.ENOENT, filepath)
+ # Not reached #
+
+ filepath = truepath(filepath)
+
+ wrkdirprefix = querymakevar('WRKDIRPREFIX', Vars.ETC_MAKE_CONF, False)
+ portdir = locateportdir(os.path.dirname(filepath), wrkdirprefix, True)
+ wrksrc = querymakevar('WRKSRC', portdir, True)
+
+ relpath = getrelpath(filepath, wrksrc)
+
+ if automatic:
+ patchdir = querymakevar('PATCHDIR', portdir, True)
+
+ if os.path.isdir(patchdir):
+ patches.adddir(patchdir, wrksrc)
+
+ extra_patches = querymakevar('EXTRA_PATCHES', portdir, False)
+ for extra_patch in extra_patches.split():
+ if os.path.isfile(extra_patch):
+ patches.addpatchfile(extra_patch, wrksrc)
+
+ patchobj = patches.lookupbytarget(wrksrc, relpath)
+ if patchobj == None:
+ patchobj = NewPatch(patchdir, wrksrc, relpath)
+ patches.addpatchobj(patchobj)
+
+ if not force and os.path.exists(patchobj.fullpath) and \
+ os.path.getsize(patchobj.fullpath) > 0:
+ try:
+ retval = query_yn('Target patchfile "%s" already ' \
+ 'exists, do you want to replace it?' % \
+ os.path.basename(patchobj.fullpath))
+ except KeyboardInterrupt:
+ sys.exit('\nAction aborted')
+ # Not reached #
+ if retval == False:
+ continue
+
+ write_msg('Generating patchfile: %s...' % \
+ os.path.basename(patchobj.fullpath))
+
+ try:
+ retval = None
+ retval = patchobj.update(ignoremtime = ignoremtime)
+ finally:
+ # Following tricky magic intended to let us append \n even if
+ # we are going to die due to unhandled exception
+ if retval == None:
+ write_msg('OUCH!\n')
+
+ if retval[0] == False:
+ write_msg('skipped (%s)\n' % retval[1])
+ else:
+ write_msg('ok\n')
+
+ else: # automatic != True
+ retval = gendiff(relpath, wrksrc)
+ if retval[0] == False:
+ write_msg('WARNING: %s\n' % retval[1])
+
+
+#
+# Atomatically update all patches pointed by args (may be individual
+# patchfiles, patchdirs or any directories in a portdirs). If directory argument
+# is encountered, all patches that belong to the port are updated. If no
+# arguments are supplied - current directory is assumed.
+#
+# The procedure honours last modification times of the patchfile, file from
+# which diff to be generated and `EXTRACT_COOKIE' file (usually
+# ${WRKDIR}/.extract_cookie) to update only those patches that are really need
+# to be updated.
+#
+def update(args, automatic, force, ignoremtime):
+ if len(args) == 0:
+ args = './',
+
+ for path in args:
+ if not os.path.exists(path):
+ raise IOError(errno.ENOENT, path)
+ # Not reached #
+
+ patches = PatchesCollection()
+
+ if os.path.isdir(path):
+ for wrkdirprefix in (querymakevar('WRKDIRPREFIX', \
+ Vars.ETC_MAKE_CONF, False), ''):
+ portdir = locateportdir(path, wrkdirprefix, False)
+ if portdir != '':
+ break
+ if portdir == '':
+ raise LocatePDirError(os.path.abspath(path))
+ # Not reached #
+
+ wrksrc = querymakevar('WRKSRC', portdir, True)
+ patchdir = querymakevar('PATCHDIR', portdir, True)
+
+ if os.path.isdir(patchdir):
+ patches.adddir(patchdir, wrksrc)
+ else:
+ continue
+
+ elif os.path.isfile(path):
+ portdir = locateportdir(os.path.dirname(path), '' , True)
+ wrksrc = querymakevar('WRKSRC', portdir, True)
+ patches.addpatchfile(path, wrksrc)
+
+ patch_cookie = querymakevar('PATCH_COOKIE', portdir, True)
+ if os.path.isfile(patch_cookie):
+ patch_cookiemtime = os.path.getmtime(patch_cookie)
+ else:
+ patch_cookiemtime = 0
+
+ for patchobj in patches.getpatchobjs():
+ write_msg('Updating patchfile: %s...' % \
+ os.path.basename(patchobj.fullpath))
+
+ try:
+ retval = None
+ retval = patchobj.update(patch_cookiemtime, \
+ ignoremtime)
+ finally:
+ if retval == None:
+ write_msg('OUCH!\n')
+
+ if retval[0] == False:
+ write_msg('skipped (%s)\n' % retval[1])
+ else:
+ write_msg('ok\n')
+
+
+if __name__ == '__main__':
+ try:
+ main()
+ except (PatchError, ECmdError, MakeVarError, LocatePDirError), msg:
+ sys.exit('ERROR: ' + str(msg))
+ except IOError, (code, msg):
+ sys.exit('ERROR: %s: %s' % (str(msg), os.strerror(code)))
+
diff --git a/test-ports/Tools/scripts/pkg-stash/pkg-list.sh b/test-ports/Tools/scripts/pkg-stash/pkg-list.sh
new file mode 100644
index 00000000..a3da4553
--- /dev/null
+++ b/test-ports/Tools/scripts/pkg-stash/pkg-list.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+# $FreeBSD: head/Tools/scripts/pkg-stash/pkg-list.sh 340719 2014-01-22 15:52:06Z mat $
+
+for i in . `make all-depends-list`; do
+ cd $i && [ -f "`make -V PKGFILE`" ] && make -V PKGFILE
+done
diff --git a/test-ports/Tools/scripts/pkg-stash/pkg-stash.pl b/test-ports/Tools/scripts/pkg-stash/pkg-stash.pl
new file mode 100755
index 00000000..a120f8f5
--- /dev/null
+++ b/test-ports/Tools/scripts/pkg-stash/pkg-stash.pl
@@ -0,0 +1,104 @@
+#!/usr/bin/perl -wT
+# $FreeBSD: head/Tools/scripts/pkg-stash/pkg-stash.pl 340719 2014-01-22 15:52:06Z mat $
+
+use strict;
+
+use Sys::Hostname;
+use File::Basename;
+use Getopt::Std;
+use POSIX qw(strftime);
+
+sub usage() {
+
+ die("Usage:\n"
+ ."\tpkg-stash [-D base] [-d dir] [-g group] [-o owner] [-cfNn] filename..\n"
+ ."\tpkg-stash [-D base] [-d dir] [-g group] [-o owner] -p\n");
+}
+
+sub stashfile($ %) {
+ my ($path, %args) = @_;
+ my ($dir, $base, $ext);
+ my ($ts, $fname);
+ my (@opts, @cmd);
+
+ ($base, $dir, $ext) = fileparse($path, '\.tgz', '\.tar\.gz', '\.tbz', '\.tbz2');
+ if ($args{'nostamp'}) {
+ $ts = "";
+ } else {
+ $ts = "-ts".strftime("%Y%m%d%H%M", localtime());
+ }
+ $fname = "$base$ts$ext";
+
+ @cmd = ("install");
+ push(@cmd, '-v') if ($args{'verbose'});
+ push(@cmd, $args{'copy'}) if ($args{'copy'} ne "");
+ push(@cmd, $args{'owner'}) if ($args{'owner'} ne "");
+ push(@cmd, $args{'group'}) if ($args{'group'} ne "");
+ push(@cmd, $path, "$args{dir}/$fname");
+
+ if ($args{'noact'}) {
+ print join(' ', @cmd)."\n";
+ return 1;
+ }
+ if (system(@cmd) != 0) {
+ warn "Installing $path to $args{dir}/$fname failed: $?\n";
+ }
+ if (system('rm', $path) != 0) {
+ warn "Removing %path failed: $?\n";
+ }
+}
+
+MAIN:{
+ my %stashargs = (
+ "base" => "/var/backups/packages/",
+ "copy" => "",
+ "dir" => "",
+ "group" => "",
+ "noact" => 0,
+ "nostamp" => 0,
+ "owner" => "",
+ "verbose" => 0,
+ );
+ my $printonly = 0;
+ my %opts;
+ my $path;
+
+ getopts("CcD:d:fg:Nno:pv", \%opts) or
+ usage();
+ $stashargs{'base'} = $opts{'D'} if (defined($opts{'D'}));
+ $stashargs{'copy'} = 'c' if (defined($opts{'c'}));
+ $stashargs{'copy'} = 'C' if (defined($opts{'C'}));
+ $stashargs{'dir'} = $opts{'d'} if (defined($opts{'d'}));
+ $stashargs{'force'} = 1 if (defined($opts{'f'}));
+ $stashargs{'group'} = "-g $opts{g}" if (defined($opts{'g'}));
+ $stashargs{'nostamp'} = 1 if (defined($opts{'N'}));
+ $stashargs{'noact'} = 1 if (defined($opts{'n'}));
+ $stashargs{'owner'} = "-o $opts{o}" if (defined($opts{'o'}));
+ $stashargs{'verbose'} = 1 if (defined($opts{'v'}));
+ $printonly = 1 if (defined($opts{'p'}));
+
+ if ($stashargs{'dir'} eq "") {
+ my $hostname = hostname();
+
+ $hostname =~ s/\..*//;
+ $stashargs{'dir'} = $stashargs{'base'}.$hostname;
+ }
+
+ # Do nada?
+ if ($printonly) {
+ print $stashargs{'dir'}."\n";
+ exit(0);
+ }
+
+ # Force taint mode into submission
+ delete @ENV{'IFS', 'CDPATH', 'ENV', 'BASH_ENV'};
+ $ENV{'PATH'} = '/bin:/usr/bin';
+
+ # Okay, process the arguments..
+ if ($#ARGV == -1) {
+ usage();
+ }
+ foreach $path (@ARGV) {
+ stashfile($path, %stashargs);
+ }
+}
diff --git a/test-ports/Tools/scripts/portsearch b/test-ports/Tools/scripts/portsearch
new file mode 100755
index 00000000..ee394ab5
--- /dev/null
+++ b/test-ports/Tools/scripts/portsearch
@@ -0,0 +1,215 @@
+#!/usr/bin/env perl
+#-
+# Copyright (c) 2000 Mark Ovens
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer
+# in this position and unchanged.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# $Id$
+#
+
+
+# Each port record in INDEX contains 10 fields, delimited by ``|'', some
+# of which may be empty. The fields are:
+#
+# distribution-name|port-path|installation-prefix|comment| \
+# description-file|maintainer|categories|build deps|run deps|www site
+
+
+use strict;
+use Getopt::Std;
+use vars qw/ $key @list %fields %list %opts /;
+
+#
+# Global variables
+#
+
+my $osrel = `/usr/bin/uname -r`;
+$osrel =~ s/\..+$//s;
+
+my $portsdir = "/usr/ports";
+$portsdir = $ENV{PORTSDIR} if ( defined $ENV{'PORTSDIR'} );
+
+my $VERSION = "1.0";
+my $file = "$portsdir/INDEX" . ($osrel <= 4 ? "" : "-$osrel");
+my $match = 1;
+my $count = 0;
+my $fulldesc = 0;
+
+# We only need 7 of the 10 fields in a record; define which ones in a
+# hash slice to ignore the un-needed ones. This also makes it easy to
+# add or remove fields in the future.
+
+@fields{qw(n p i e m x b r)} = (0, 1, 3, 4, 5, 6, 7, 8);
+
+#
+# Print a basic help message
+#
+
+sub usage() {
+ print(STDERR "
+Usage: portsearch [-h] [-e] [-n name] [-p path] [-i info] [-m maint] [-x index]
+ [-b b_deps] [-r r_deps] [-d deps] [-f file]
+
+");
+} # usage()
+
+#
+# Print a more verbose help message
+#
+
+sub help() {
+ print(STDERR "portsearch $VERSION - A utility for searching the ports tree.
+
+Options:
+
+ -n name Search for \"name\" in name of ports
+ -p path Search for \"path\" in location of ports
+ -i info Search for \"info\" in ports COMMENT
+ -m maint Search for \"maint\" in ports Maintainer
+ -x index Search for \"index\" in ports categories
+ -b b_deps Search for \"b_deps\" in build depends of ports
+ -r r_deps Search for \"r_deps\" in run depends of ports
+ -d deps Search for \"deps\" in both build & run depends of ports
+ -f file Use \"file\" instead of /usr/ports/INDEX
+ -e Show long description for all matching ports
+ -h Print this message and exit
+
+Report bugs to <marko\@freebsd.org>.
+
+");
+} # help()
+
+#
+# The program proper
+#
+
+MAIN: {
+ # No command-line args
+ if ($#ARGV == -1) {
+ usage();
+ exit(1);
+ }
+
+ getopts('ehf:n:p:i:m:x:b:r:d:', \%opts);
+ # Process -e first, as it doesn't take
+ # arguments
+ if (defined($opts{"e"})) {
+ $fulldesc = 1;
+ delete $opts{"e"};
+ }
+ # Command-line args, but without options
+ if (keys(%opts) == 0 ) {
+ # Default to name search if no constraints
+ # specified
+ if ($#ARGV == 0) {
+ $opts{"n"} = $ARGV[0];
+ } else {
+ usage();
+ exit(1);
+ }
+ }
+ # If ``-h'', ignore any other options
+ if (defined($opts{"h"})) {
+ help();
+ exit(1);
+ }
+ # A different INDEX file
+ if (defined($opts{"f"})) {
+ $file = $opts{"f"};
+ }
+ # If ``-d'' used we don't want ``-b'' & ``-r''
+ if (defined($opts{"d"})) {
+ delete $opts{"b"};
+ delete $opts{"r"};
+ }
+ # Finished with it now so remove it from hash
+ delete $opts{"f"};
+
+ open(INDEX, "$file") || die "Unable to open $file";
+
+ while (<INDEX>) {
+ chomp;
+ @list = split(/\|/);
+
+ $match = 1;
+ # All searches are case-insensitive!
+ # For ``-d'' search both build & run depends.
+ # Only fail to match if not found in either.
+ foreach $key (keys (%opts)) {
+ if ($key eq "d") {
+ if ($list[$fields{"b"}] !~ m#$opts{$key}#i &&
+ $list[$fields{"r"}] !~ m#$opts{$key}#i) {
+ $match = 0;
+ last;
+ }
+ } else {
+ if ($list[$fields{$key}] !~ m#$opts{$key}#i) {
+ $match = 0;
+ last;
+ }
+ }
+ } # foreach
+
+ if ($match == 1) {
+ $count++;
+ write;
+ if ($fulldesc) {
+ open my $pkgdescr, $list[$fields{"e"}] || next;
+ print while <$pkgdescr>; print "\n";
+ close $pkgdescr;
+ }
+ }
+
+ } # while
+
+ close(INDEX);
+
+ print ("Number of matching ports = $count\n\n");
+
+} # MAIN
+
+
+format STDOUT =
+
+Port: @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+$list[$fields{"n"}]
+Path: @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+$list[$fields{"p"}]
+Info: ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+$list[$fields{"i"}]
+~~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+$list[$fields{"i"}]
+Maint: @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+$list[$fields{"m"}]
+Index: @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+$list[$fields{"x"}]
+B-deps: ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+$list[$fields{"b"}]
+~~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+$list[$fields{"b"}]
+R-deps: ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+$list[$fields{"r"}]
+~~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+$list[$fields{"r"}]
+
+.
diff --git a/test-ports/Tools/scripts/portsvar.sh b/test-ports/Tools/scripts/portsvar.sh
new file mode 100755
index 00000000..aa3d239c
--- /dev/null
+++ b/test-ports/Tools/scripts/portsvar.sh
@@ -0,0 +1,133 @@
+#!/bin/sh
+#
+# portsvar.sh:
+# print out variable defined through bsd.port.mk
+#
+# example:
+# % portsvar.sh PORTSDIR OSVERSION
+# PORTSDIR = /usr/ports
+# OSVERSION = 600034
+# % portsvar.sh -e "PORTS[^_]"
+# PORTSDIR = /usr/ports
+# PORTSSUPFILE = /usr/share/examples/cvsup/ports-supfile
+# % portsvar.sh USE_RUBY=yes RUBY_VER RUBY_ARCH
+# RUBY_VER = 1.8
+# RUBY_ARCH = i386-freebsd6
+# % portsvar.sh -w ruby RUBY_VER RUBY_ARCH
+# RUBY_VER = 1.8
+# RUBY_ARCH = i386-freebsd6
+# % portsvar.sh -w kde -e KDE_
+# KDE_MAINTAINER = will@FreeBSD.org
+# KDE_ORIGVER = ${KDE_VERSION}
+# KDE_PREFIX = ${LOCALBASE}
+# KDE_VERSION = 3.5.0
+# MASTER_SITE_KDE_kde = ${kmaster:S@%SUBDIR%/@@g}
+# % portsvar.sh -a
+# list all variables through bsd.port.mk
+# % portsvar.sh -a -w kde
+# list all variables through bsd.port.mk including kde
+#
+# $FreeBSD: head/Tools/scripts/portsvar.sh 440110 2017-05-04 14:58:54Z mat $
+#
+# MAINTAINER= daichi@FreeBSD.org
+
+usage_msg="usage:
+ portsvar.sh [-a] [-e] [-w target] [-h] [var=val ...] var1 [var2 ...]
+ print out variable that includes var1 [var2 ...] through bsd.port.mk
+ -a print all variables defined through bsd.port.mk
+ -e regex search mode
+ -w set target bsd.*.mk name, for ex. -w kde
+ -h print this message"
+
+# default values
+alllistmode=off
+regexmode=off
+
+# options
+while getopts aew:h? option
+do
+ case "$option" in
+ a)
+ alllistmode=on
+ ;;
+ e)
+ regexmode=on
+ ;;
+ w)
+ case $OPTARG in
+ apache) setvar="$setvar USE_APACHE=yes";;
+ autotools) setvar="$setvar USE_AUTOTOOLS=yes";;
+ database) setvar="$setvar USE_MYSQL=yes USE_PGSQL=yes"
+ setvar="$setvar USE_BDB=yes";;
+ emacs) setvar="$setvar EMACS_PORT_NAME=yes";;
+ gcc) setvar="$setvar USE_GCC=yes";;
+ gnome) setvar="$setvar USE_GNOME=yes";;
+ gnustep) setvar="$setvar USE_GNUSTEP=yes";;
+ gstreamer) setvar="$setvar USE_GSTREAMER=yes";;
+ java) setvar="$setvar USE_JAVA=yes";;
+ kde) setvar="$setvar USE_QT_VER=3";;
+ openssl) setvar="$setvar USE_OPENSSL=yes";;
+ php) setvar="$setvar USE_PHP=yes";;
+ python) setvar="$setvar USE_PYTHON=yes";;
+ ruby) setvar="$setvar USE_RUBY=yes";;
+ sdl) setvar="$setvar USE_SDL=yes";;
+ tcl) setvar="$setvar USE_TCL=yes USE_TK=yes";;
+ esac
+ ;;
+ h|\?)
+ echo "$usage_msg" 1>&2
+ exit 1
+ ;;
+ esac
+done
+shift $(($OPTIND - 1))
+
+# variables and set-variables
+for target in $@
+do
+ case $target in
+ *=*)
+ setvar="$setvar $target"
+ ;;
+ *)
+ var="$var $target"
+ ;;
+ esac
+done
+
+# all list
+case $alllistmode in
+on)
+ make -f bsd.port.mk $setvar -dv 2>&1 | grep Global: |
+ sed 's/Global://' | sort -u | uniq
+ exit 0
+ ;;
+esac
+
+# usage
+case $var in
+"")
+ echo "$usage_msg" 1>&2
+ exit 1
+ ;;
+esac
+
+# main
+case $regexmode in
+on)
+ regex="^ " # like nop
+ for target in $var
+ do
+ regex="$regex|^[^=]*${target}.*=.*"
+ done
+ make -f bsd.port.mk $setvar -dv 2>&1 | grep Global: |
+ sed 's/Global://' | sort -u | uniq | egrep "($regex)"
+ ;;
+off)
+ for target in $var
+ do
+ echo -n "$target = "
+ make -f bsd.port.mk $setvar -V $target
+ done
+ ;;
+esac
diff --git a/test-ports/Tools/scripts/psvn b/test-ports/Tools/scripts/psvn
new file mode 100755
index 00000000..029843fa
--- /dev/null
+++ b/test-ports/Tools/scripts/psvn
@@ -0,0 +1,191 @@
+#!/bin/sh -eu
+#
+# psvn - Wrapper to set Subversion properties automatically
+#
+# Copyright (c) 2012 Beat Gaetzi <beat@FreeBSD.org>
+# Copyright (c) 2012,2014 Matthias Andree <mandree@FreeBSD.org>
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+#
+# $FreeBSD: head/Tools/scripts/psvn 340523 2014-01-21 00:44:08Z mandree $
+#
+# MAINTAINER= mandree@FreeBSD.org
+# beat@ has implicit approval to change this script.
+#
+
+#
+# The psvn wrapper checkes from replaced, conflicting, missing or
+# untracked files. When committing it adds the needed Subversion
+# properties and removes unneeded ones.
+# There is also adds a check subcommand which just executes the
+# checks.
+#
+
+PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:${PATH}
+export PATH
+
+SVN="$(which svn)"
+LF="$(printf '\nX')"
+LF="${LF%X}"
+
+VERSION=$("${SVN}" --version --quiet | sed -e 's,^\(.*\)\.\(.*\)\..*,\1\2,')
+if [ ${VERSION} -lt 17 ] ;
+then
+ echo "===> Please consider upgrading to Subversion 1.7 (or newer)"
+fi
+
+checkstatus () {
+ local IFS _error _file _status _statusline -
+ _error=0
+ eval "set -- $@"
+ IFS="$LF"
+ set -- $("${SVN}" status -- "$@")
+
+ for _statusline
+ do
+ _status="$(printf '%.7s' "${_statusline}")"
+ _file="${_statusline##????????}"
+
+ case "${_status}" in
+ R*)
+ printf >&2 '===> Do not replace files as this may lose history: "%s"\n' "${_file}"
+ _error=1
+ ;;
+ C*|?C*)
+ printf >&2 '===> Conflict detected: \"%s\"\n' "${_file}"
+ _error=1
+ ;;
+ \~*)
+ printf >&2 '===> Versioned item \"%s\" obstructed.\n' "${_file}"
+ _error=1
+ ;;
+ \?*)
+ printf >&2 '===> Untracked new file "%s". Consider svn adding or deleting it.\n' "${_file}"
+ _error=1
+ ;;
+ \!*)
+ printf >&2 '===> Missing file "%s". Consider re-adding or svn deleting it.\n' "${_file}"
+ _error=1
+ ;;
+ esac
+ done
+
+ if [ ${_error} -ne 0 ] ;
+ then
+ exit 1
+ fi
+}
+
+setprop () {
+ local _file -
+ eval "set -- $1"
+
+ for _file
+ do
+ if [ -d "${_file}" -o ! -e "${_file}" ] ;
+ then
+ continue
+ fi
+ printf >&2 '=> Adding svn keywords to "%s"\n' "${_file}"
+ case $(egrep -- '\$FreeBSD\$|\$[BDFSer]+:' "${_file}" >/dev/null || echo $?) in
+ "") # matched pattern
+ "${SVN}" -q -- propset svn:keywords "FreeBSD=%H" "${_file}"
+ "${SVN}" -q -- propdel fbsd:nokeywords "${_file}"
+ ;;
+ 1) # no match
+ "${SVN}" -q -- propset fbsd:nokeywords yes "${_file}"
+ "${SVN}" -q -- propdel svn:keywords "${_file}"
+ ;;
+ *) # egrep failed
+ exit 1
+ ;;
+ esac
+ if [ "${_file##/*}" != "bsd.port.mk" ] ; then
+ "${SVN}" -q -- propset svn:eol-style native "${_file}"
+ fi
+ "${SVN}" -q -- propset svn:mime-type text/plain "${_file}"
+ "${SVN}" -q -- propdel cvs2svn:cvs-rev "${_file}"
+ done
+}
+
+# taken from "Rich's sh (POSIX shell) tricks",
+# a "Programming Guide[...]" at http://www.etalabs.net/sh_tricks.html
+savearray() {
+ for i do
+ printf %s\\n "$i" | sed -e "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/"
+ done
+ echo " "
+}
+
+getfilequotedarray() {
+ local varname IFS
+ varname="$1"
+ shift
+ IFS="$LF"
+ set -- $("${SVN}" status -- "$@" | sed 's/^....... //')
+ eval "$varname=\$(savearray "\$@")"
+}
+
+for opt ; do
+ case "${opt}" in
+ -*) continue ;;
+ esac
+ case "${opt}" in
+ check)
+ shift
+ if [ $# -gt 0 ] ; then
+ echo >&2 "===> Unsupported option before, or garbage after command"
+ exit 1
+ fi
+ getfilequotedarray "files" "$@"
+ checkstatus "${files}"
+ exit 0
+ ;;
+ ci|commit)
+ savedargs=$(savearray "$@")
+ shift
+ while getopts :qm:F: opt
+ do
+ case "$opt" in
+ q) ;;
+ m) ;;
+ F) ;;
+ \?) echo >&2 "===> Unsupported option -$OPTARG encountered. Abort."
+ exit 1 ;;
+ :) echo >&2 "===> Missing argument to option -$OPTARG. Abort."
+ exit 1 ;;
+ esac
+ done
+ shift $(($OPTIND - 1))
+
+ getfilequotedarray "files" "$@"
+ checkstatus "${files}"
+ setprop "${files}"
+
+ eval "set -- $savedargs"
+ exec "${SVN}" "$@"
+ ;;
+ *)
+ exec "${SVN}" "$@"
+ ;;
+ esac
+done
diff --git a/test-ports/Tools/scripts/redundant-opt-files.sh b/test-ports/Tools/scripts/redundant-opt-files.sh
new file mode 100755
index 00000000..b9e180e1
--- /dev/null
+++ b/test-ports/Tools/scripts/redundant-opt-files.sh
@@ -0,0 +1,62 @@
+#!/bin/sh
+# redundant-opt-files.sh
+# Written by John Marino (marino@FreeBSD.org)
+#
+# This script checks every option file against the default options of
+# its port. If they are identical, it writes the full path of the ports
+# option directory (typically in /var/db/ports) to stdout.
+# It is typically used by Synth users to identify options files that can
+# deleted in order to prevent future configuration check failures.
+
+portsdir=${PORTSDIR:-/usr/ports}
+if [ ! -d "${portsdir}" ]; then
+ echo "The ${portsdir} ports directory does not exist"
+ echo "There is nothing more to do."
+ exit
+fi
+
+db_dir=$(/usr/bin/make -C ${portsdir}/devel/gmake -V PORT_DBDIR 2>/dev/null)
+
+if [ ! -d "${db_dir}" ]; then
+ echo "The ${db_dir} ports option directory does not exist"
+ echo "There is nothing more to do."
+ exit
+fi
+
+catport() {
+ local category
+ local port
+ local workstr=${1#${db_dir}/}
+ local words=$(echo ${workstr} | /usr/bin/tr "_" " ");
+ for word in ${words}; do
+ category=${word}
+ break;
+ done
+ port=${workstr#${category}_}
+ echo ${portsdir}/$category/$port
+}
+
+identical_options() {
+ local origin=$(catport $1)
+ if [ ! -d ${origin} ]; then
+ # origin no longer exists, list it anyway without testing further
+ echo $1
+ return
+ fi
+ local selected_pristine=$(/usr/bin/make -C ${origin} \
+ -V SELECTED_OPTIONS PORT_DBDIR=/dev/null)
+ local selected_now=$(/usr/bin/make -C ${origin} -V SELECTED_OPTIONS)
+ local deselected_pristine=$(/usr/bin/make -C ${origin} \
+ -V DESELECTED_OPTIONS PORT_DBDIR=/dev/null)
+ local deselected_now=$(/usr/bin/make -C ${origin} -V DESELECTED_OPTIONS)
+ if [ "${selected_pristine}" = "${selected_now}" -a \
+ "${deselected_pristine}" = "${deselected_now}" ]; then
+ echo $1
+ fi;
+}
+
+optdirs=$(/usr/bin/find -s "${db_dir}" -type d -depth 1)
+
+for dossier in ${optdirs}; do
+ identical_options ${dossier}
+done
diff --git a/test-ports/Tools/scripts/rmport b/test-ports/Tools/scripts/rmport
new file mode 100755
index 00000000..5a32c2d0
--- /dev/null
+++ b/test-ports/Tools/scripts/rmport
@@ -0,0 +1,531 @@
+#!/bin/sh -e
+#
+# rmport - remove port(s) from the FreeBSD Ports Collection.
+#
+# Copyright 2006-2007 Vasil Dimov
+# Copyright 2012-2012 Chris Rees
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+# Authors:
+# Originally written by Vasil Dimov <vd@FreeBSD.org>
+# Others:
+# Chris Rees <crees@FreeBSD.org>
+# Rene Ladan <rene@FreeBSD.org>
+#
+# $FreeBSD: head/Tools/scripts/rmport 439833 2017-04-30 17:45:31Z ler $
+#
+# MAINTAINER= crees@FreeBSD.org
+#
+
+PORTSDIR=${PORTSDIR:-/usr/ports}
+INDEX=${PORTSDIR}/`make -C ${PORTSDIR} -V INDEXFILE`
+
+TODAY=`date -u -v+0d +%Y-%m-%d`
+
+SED="sed -i .orig -E"
+# use ~/.ssh/config to set up the desired username if different than $LOGNAME
+SVNREPO=${SVNREPO:-svn+ssh://repo.FreeBSD.org/ports}
+
+if ! CDIFF=$(which cdiff) ; then
+ CDIFF=${PAGER}
+fi
+
+log()
+{
+ echo "==> $*" >&2
+}
+
+escape()
+{
+ # escape characters that may appear in ports' names and
+ # break regular expressions
+ echo "${1}" |sed -E 's/(\+|\.)/\\\1/g'
+}
+
+pkgname()
+{
+ make -C ${PORTSDIR}/${1} -V PKGNAME
+}
+
+ask()
+{
+ question=${1}
+
+ answer=x
+ while [ "${answer}" != "y" -a "${answer}" != "n" ] ; do
+ read -p "${question} [yn] " answer
+ done
+
+ echo ${answer}
+}
+
+# return category/port if arg is directly port's directory on the filesystem
+find_catport()
+{
+ arg=${1}
+
+ if [ -d "${PORTSDIR}/${arg}" ] ; then
+ # arg is category/port
+ echo ${arg}
+ elif [ -d "${arg}" ] ; then
+ # arg is the port's directory somewhere in the filesystem
+ # either absolute or relative
+
+ # get the full path
+ rp=`realpath ${arg}`
+
+ category=`basename \`dirname ${rp}\``
+ port=`basename ${rp}`
+ echo ${category}/${port}
+ else
+ echo "What do you mean by \`${arg}'?" >&2
+ exit 1
+ fi
+}
+
+find_expired()
+{
+ EXPVAR=EXPIRATION_DATE
+
+ find -H ${PORTSDIR} -mindepth 3 -maxdepth 3 -name "Makefile*" \
+ |xargs grep -H "^[^#]*${EXPVAR}" \
+ |sed -E "s|${PORTSDIR}/?([^/]+/[^/]+)/Makefile:${EXPVAR}=[[:space:]]*([0-9-]{10})$|\2 \1|g" \
+ |perl -ne "if ((substr(\$_, 0, 10) cmp '${TODAY}') <= 0) { print(\$_); }" \
+ |while read expdate catport ; do \
+ echo -n "${expdate} ${catport}: " ; \
+ make -C ${PORTSDIR}/${catport} -V DEPRECATED ; \
+ done
+}
+
+# create temporary checkout directory
+mkcodir()
+{
+ log "creating temporary directory"
+ d=`mktemp -d -t rmport`
+ touch ${d}/svnlog
+ log "created ${d}"
+ echo "${d}"
+}
+
+# checkout common files from the repository
+co_common()
+{
+ log "getting ports/MOVED and ports/LEGAL from repository"
+ svn co --depth empty ${SVNREPO}/head ports
+ svn up ports/MOVED ports/LEGAL
+}
+
+# check if some ports depend on the given port
+# XXX Very Little Chance (tm) for breaking INDEX exists:
+# /usr/ports/INDEX may be outdated and not contain recently added dependencies
+check_dep_core()
+{
+ catport=${1}
+ alltorm=${2}
+ pkgname=`pkgname ${catport}`
+
+ rmpkgs=""
+ rmcatports=""
+ for torm in ${alltorm} ; do
+ torm="`echo ${torm} | sed 's/\/$//'`"
+ rmpkgs="${rmpkgs:+${rmpkgs}|}`pkgname ${torm}`"
+ rmcatports="${rmcatports:+${rmcatports}|}${PORTSDIR}/${torm}/"
+ done
+
+ err=0
+
+ deps=`grep -E "${pkgname}" ${INDEX} |grep -vE "^(${rmpkgs})" || :`
+ if [ -n "${deps}" ] ; then
+ log "${catport}: some port(s) depend on ${pkgname}:"
+ echo "${deps}" >&2
+ err=1
+ fi
+
+ # check if some Makefiles mention the port to be deleted
+ portdir_grep="^[^#].*/`basename ${catport}`([[:space:]]|/|$)"
+ r="`find -H ${PORTSDIR} -mindepth 2 -maxdepth 3 \
+ \( -name "Makefile*" -or -path "*Mk/*.mk" \) \
+ |xargs grep -EH "${portdir_grep}" \
+ |grep -vE "^(${rmcatports})" || :`"
+ if [ -n "${r}" ] ; then
+ if [ ${err} -eq 1 ] ; then
+ echo >&2
+ fi
+ log "${catport}: some Makefiles mention ${portdir_grep}:"
+ echo "${r}" >&2
+ err=1
+ fi
+
+ return ${err}
+}
+
+check_dep()
+{
+ catport=${1}
+ persist=${2}
+ alltorm=${3}
+
+ log "${catport}: checking dependencies"
+
+ err=0
+
+ res="`check_dep_core ${catport} "${alltorm}" 2>&1`" || err=1
+
+ if [ ${err} -eq 0 ] ; then
+ return 0
+ fi
+
+ echo "${res}" |${PAGER:-less}
+
+ if [ ${persist} -eq 0 ] ; then
+ return 0
+ fi
+
+ echo "" >&2
+ echo "you can skip ${catport} and continue with the rest or remove it anyway" >&2
+ answer=`ask "do you want to skip ${catport}?"`
+ if [ "${answer}" = "y" ] ; then
+ return 1
+ else
+ return 0
+ fi
+}
+
+# query GNATS via Bugzilla, format and return the result
+get_PRs_www()
+{
+ catport=${1}
+ synopsis=${2}
+
+ log "${catport}: getting PRs having ${synopsis} in the synopsis"
+
+ url="https://bugs.freebsd.org/bugzilla/buglist.cgi?quicksearch=${synopsis}"
+
+ raw="`fetch -q -T 20 -o - "${url}"`"
+
+ if [ -z "${raw}" ] ; then
+ log "${catport}: empty result from URL: ${url}"
+ exit 1
+ fi
+
+ printf "%s" "${raw}" \
+ |sed -ne 's,^[[:space:]]*.a href="show_bug.cgi?id=\([0-9][0-9]*\)".\([^0-9][^<]*\).*,\1: \2,p' \
+ |sort
+}
+
+# query GNATS and return the result
+get_PRs()
+{
+ catport=${1}
+ synopsis=${2}
+
+ get_PRs_www ${catport} ${synopsis}
+}
+
+# check if any PRs exist that are related to the port
+check_PRs()
+{
+ catport=${1}
+ synopsis=${2}
+
+ PRs="`get_PRs ${catport} "${synopsis}"`" || exit
+
+ if [ -n "${PRs}" ] ; then
+ log "${catport}: PRs found, related to ${synopsis}:"
+ printf "%s\n" "${PRs}" >&2
+
+ echo "you can skip ${catport} and continue with the rest or remove it anyway" >&2
+ answer=`ask "do you want to skip ${catport}?"`
+ if [ "${answer}" = "y" ] ; then
+ return 1
+ else
+ return 0
+ fi
+ fi
+
+ return 0
+}
+
+# checkout port's specific files from the repository
+co_port()
+{
+ cat=${1}
+ port=${2}
+
+ log "${cat}/${port}: getting ${cat}/Makefile and port's files from repository"
+ svn up --depth empty ports/${cat} ports/$cat/Makefile
+ svn up ports/${cat}/${port}
+}
+
+# check if anything about the port is mentioned in ports/LEGAL
+check_LEGAL()
+{
+ catport=${1}
+ pkgname=${2}
+
+ for checkstr in ${pkgname} ${catport} ; do
+ msg="${catport}: checking if ${checkstr} is in ports/LEGAL"
+ log "${msg}"
+ while grep -i ${checkstr} ports/LEGAL ; do
+ echo "" >&2
+ echo "${checkstr} is in ${PWD}/ports/LEGAL" >&2
+ echo "remove it and hit <enter> when ready" >&2
+ echo "or hit \`s' to skip this issue and continue anyway" >&2
+ read answer
+ if [ "${answer}" = "s" ] ; then
+ break
+ fi
+ log "${msg}"
+ done
+ done
+}
+
+# add port's entry to ports/MOVED
+edit_MOVED()
+{
+ catport=${1}
+
+ DEPRECATED="`make -C ${PORTSDIR}/${catport} -V DEPRECATED`"
+ DEPRECATED=${DEPRECATED:+: ${DEPRECATED}}
+ if [ -n "`make -C ${PORTSDIR}/${catport} -V EXPIRATION_DATE`" ] ; then
+ REASON="Has expired${DEPRECATED}"
+ else
+ REASON="Removed${DEPRECATED}"
+ fi
+
+ log "${catport}: adding entry to ports/MOVED"
+
+ echo "${catport}||${TODAY}|${REASON}" >> ports/MOVED
+}
+
+# remove port from category/Makefile
+edit_Makefile()
+{
+ cat=${1}
+ port=${2}
+
+ log "${cat}/${port}: removing from ${cat}/Makefile"
+
+ portesc=`escape ${port}`
+
+ ${SED} -e "/^[[:space:]]*SUBDIR[[:space:]]*\+=[[:space:]]*${portesc}([[:space:]]+#.*)?$/d" \
+ ports/${cat}/Makefile
+}
+
+# remove port's files
+rm_port()
+{
+ catport=${1}
+
+ log "${catport}: removing port's files"
+
+ svn rm ports/${catport}
+}
+
+append_Template()
+{
+ catport=${1}
+
+ msg=${catport}
+
+ EXPIRATION_DATE=`make -C ${PORTSDIR}/${catport} -V EXPIRATION_DATE`
+ if [ -n "${EXPIRATION_DATE}" ] ; then
+ msg="${EXPIRATION_DATE} ${msg}"
+ fi
+
+ DEPRECATED="`make -C ${PORTSDIR}/${catport} -V DEPRECATED`"
+ if [ -n "${DEPRECATED}" ] ; then
+ msg="${msg}: ${DEPRECATED}"
+ fi
+
+ log "${catport}: adding entry to commit message template"
+
+ echo "${msg}" >> ./svnlog
+}
+
+# diff
+diff()
+{
+ log "creating diff"
+
+ diffout=${codir}/diff
+
+ svn diff --no-diff-deleted ports > ${diffout} 2>&1 || :
+
+ read -p "hit <enter> to view svn diff output" dummy
+
+ # give this to the outside world so it can be showed to the committer
+ # and removed when we are done
+ echo ${diffout}
+}
+
+# update, ask for confirmation and commit
+commit()
+{
+ log "running svn update"
+ svn up --quiet ports 2>&1 |${PAGER:-less}
+
+ $EDITOR svnlog
+
+ answer=`ask "do you want to commit?"`
+
+ if [ "${answer}" = "y" ] ; then
+ svn ci --file svnlog ports
+ fi
+}
+
+cleanup()
+{
+ diffout=${1}
+ codir=${2}
+
+ log "cleaning up"
+
+ rm ${diffout}
+
+ rm svnlog
+
+ # release ports directories
+ rm -rf ports
+
+ cd /
+ rmdir ${codir}
+}
+
+usage()
+{
+ echo "Usage:" >&2
+ echo "" >&2
+ echo "find expired ports:" >&2
+ echo "${0} -F" >&2
+ echo "" >&2
+ echo "remove port(s):" >&2
+ echo "${0} category1/port1 [ category2/port2 ... ]" >&2
+ echo "" >&2
+ echo "remove all expired ports (as returned by -F):" >&2
+ echo "${0} -a" >&2
+ echo "" >&2
+ echo "just check dependencies:" >&2
+ echo "${0} -d category/port" >&2
+ echo "" >&2
+ echo "just check if any related PRs exist:" >&2
+ echo "${0} -p synopsis" >&2
+
+ exit 64
+}
+
+# main
+
+if [ ${#} -eq 0 -o "${1}" = "-h" -o "${1}" = "--help" ] ; then
+ usage
+fi
+
+if [ ${1} = "-d" ] ; then
+ if [ ${#} -ne 2 ] ; then
+ usage
+ fi
+ catport=`find_catport ${2}`
+ check_dep ${catport} 0 ${catport}
+ exit
+fi
+
+if [ ${1} = "-p" ] ; then
+ if [ ${#} -ne 2 ] ; then
+ usage
+ fi
+ get_PRs "dummy" ${2}
+ exit
+fi
+
+if [ ${1} = "-F" ] ; then
+ if [ ${#} -ne 1 ] ; then
+ usage
+ fi
+ find_expired
+ exit
+fi
+
+if [ ${1} = "-a" ] ; then
+ if [ ${#} -ne 1 ] ; then
+ usage
+ fi
+ ${0} `find_expired |cut -f 2 -d ' ' |cut -f 1 -d :`
+ exit
+fi
+
+codir=`mkcodir`
+cd ${codir}
+
+co_common
+
+for catport in $* ; do
+ # convert to category/port
+ catport=`find_catport ${catport}`
+ cat=`dirname ${catport}`
+ port=`basename ${catport}`
+ # remove any trailing slashes
+ catport="${cat}/${port}"
+ pkgname=`pkgname ${catport}`
+
+ if ! check_dep ${catport} 1 "${*}" ; then
+ continue
+ fi
+
+ if ! check_PRs ${catport} ${port} ; then
+ continue
+ fi
+
+ co_port ${cat} ${port}
+
+ check_LEGAL ${catport} ${pkgname}
+
+ # everything seems ok, edit the files
+
+ edit_MOVED ${catport}
+
+ edit_Makefile ${cat} ${port}
+
+ rm_port ${catport}
+
+ append_Template ${catport}
+done
+
+# give a chance to the committer to edit files by hand and recreate/review
+# the diff afterwards
+answer=y
+while [ "${answer}" = "y" ] ; do
+ diffout=$(diff)
+
+ ${CDIFF} < ${diffout}
+
+ echo "" >&2
+ echo "you can now edit files under ${codir}/ by hand" >&2
+ answer=`ask "do you want to recreate the diff?"`
+done
+
+commit
+
+cleanup ${diffout} ${codir}
+
+# EOF
diff --git a/test-ports/Tools/scripts/splitpatch.pl b/test-ports/Tools/scripts/splitpatch.pl
new file mode 100755
index 00000000..888dec88
--- /dev/null
+++ b/test-ports/Tools/scripts/splitpatch.pl
@@ -0,0 +1,111 @@
+#! /usr/bin/env perl
+# ----------------------------------------------------------------------------
+# "THE BEER-WARE LICENSE" (Revision 42)
+# <tobez@FreeBSD.org> wrote this file. As long as you retain this notice you
+# can do whatever you want with this stuff. If we meet some day, and you think
+# this stuff is worth it, you can buy me a beer in return. Anton Berezin
+# ----------------------------------------------------------------------------
+#
+# $FreeBSD: head/Tools/scripts/splitpatch.pl 391618 2015-07-09 06:49:28Z ehaupt $
+use strict;
+use warnings;
+
+# good tests:
+# /usr/ports/archivers/zoo/files/patch-aa (context diff)
+# /usr/ports/astro/xplanet/files/patch-aa (unified with paths)
+
+my ($in,$fl,$abort,$state,$out);
+
+if (!@ARGV || $ARGV[0] =~ /^-/) {
+ print STDERR "Usage:
+ $0 patchfile ...
+"
+}
+
+while (@ARGV) {
+ $in = shift;
+ $state = \&nofile;
+ if (open IN, "< $in") {
+ $abort = 0;
+ $out = "";
+ $fl = "";
+ while (<IN>) {
+ $state->();
+ last if $abort;
+ }
+ close IN;
+ if ($out && !$abort) {
+ print "Wrote $out\n";
+ }
+ } else {
+ print STDERR "cannot open $in: $!\n";
+ }
+}
+
+sub nofile
+{
+ if (/^\*\*\*\s+/ && !/^\*\*\*\s+\d+,\d+\s+/) {
+ $state = \&cstart;
+ $fl = $_;
+ } elsif (/^---\s+/ && !/^---\s+\d+,\d+\s+/) {
+ $state = \&ustart;
+ $fl = $_;
+ }
+}
+
+sub cstart
+{
+ if (!/^---\s+\d+,\d+\s+/ && /^---\s+(\S+)\s+/) {
+ $state = \&body;
+ $out = $1;
+ $out =~ s|/|__|g;
+ $out = "patch-$out";
+ if (open OUT, "> $out") {
+ print OUT $fl;
+ print OUT $_;
+ } else {
+ print STDERR "Cannot create $out: $!, aborting\n";
+ $abort = 1;
+ }
+ } else {
+ print STDERR "Bad context diff in $in, aborting\n";
+ $abort = 1;
+ }
+}
+
+sub ustart
+{
+ if (/^\+\+\+\s+(\S+)\s+/) {
+ $state = \&body;
+ $out = $1;
+ $out =~ s|/|__|g;
+ $out = "patch-$out";
+ if (open OUT, "> $out") {
+ print OUT $fl;
+ print OUT $_;
+ } else {
+ print STDERR "Cannot create $out: $!, aborting\n";
+ $abort = 1;
+ }
+ } else {
+ print STDERR "Bad unified diff in $in, aborting\n";
+ $abort = 1;
+ }
+}
+
+sub body
+{
+ if (/^\*\*\*\s+/ && !/^\*\*\*\s+\d+,\d+\s+/) {
+ close OUT;
+ print "Wrote $out\n";
+ $state = \&cstart;
+ $fl = $_;
+ } elsif (/^---\s+/ && !/^---\s+\d+,\d+\s+/) {
+ close OUT;
+ print "Wrote $out\n";
+ $state = \&ustart;
+ $fl = $_;
+ } else {
+ print OUT $_;
+ }
+}
diff --git a/test-ports/Tools/scripts/sunshar.rb b/test-ports/Tools/scripts/sunshar.rb
new file mode 100755
index 00000000..7410eb1a
--- /dev/null
+++ b/test-ports/Tools/scripts/sunshar.rb
@@ -0,0 +1,295 @@
+#!/usr/bin/env ruby
+# -*- ruby -*-
+#
+# Copyright (c) 2001-2004 Akinori MUSHA
+#
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+# $FreeBSD: head/Tools/scripts/sunshar.rb 340851 2014-01-23 19:55:14Z mat $
+
+RCS_ID = %q$Idaemons: /home/cvs/sunshar/sunshar.rb,v 1.13 2004/02/28 14:15:47 knu Exp $
+RCS_REVISION = RCS_ID.split[2]
+MYNAME = File.basename($0)
+
+require 'optparse'
+require 'fileutils'
+require 'shellwords'
+require 'stringio'
+
+$USAGE = 'usage'
+
+$strip_level = 0
+$force = false
+$dryrun = false
+$quiet = false
+$dir = nil
+
+def info(*s)
+ puts(*s) unless $quiet
+end
+
+def usage
+ print <<-EOF
+#{MYNAME} rev.#{RCS_REVISION}
+
+usage: #{MYNAME} [-fnq] [-p level] [file]
+ #{MYNAME} -h
+ -d dir chdir -- chdir to dir before extracting files
+ -f force -- allow overwriting, ignore errors
+ -h help -- show this help
+ -n dry run -- show what would have been extracted
+ -p N strip -- strip N levels from pathnames (cf. patch(1)\'s -p)
+ -q quiet -- be quiet
+ EOF
+end
+
+def main
+ params = ARGV.getopts("fhnq", "d:", "p:")
+
+ if params['h']
+ usage
+ exit 0
+ end
+
+ if params['f']
+ $force = true
+ end
+
+ if params['n']
+ $dryrun = true
+ end
+
+ if params['q']
+ $quiet = true
+ end
+
+ $dir = params['d'] || '.'
+
+ if not params['p'].nil?
+ $strip_level = params['p'].to_i rescue -1
+
+ if $strip_level < 0
+ STDERR.puts "negative value ignored: #{params['p']}"
+ end
+ end
+
+ nerrors = 0
+
+ if ARGV.empty?
+ info "extracting files from stdin into #{$dir}"
+
+ begin
+ Dir.chdir($dir) {
+ unshar_stream(STDIN)
+ }
+
+ info "done."
+ rescue => e
+ STDERR.puts "error in extracting stdin: #{e.message}"
+ nerrors += 1
+ end
+ else
+ for file in ARGV
+ info "extracting files from #{file} into #{$dir}"
+
+ begin
+ File.open(file) do |f|
+ Dir.chdir($dir) {
+ unshar_stream(f)
+ }
+ end
+
+ info "done."
+ rescue => e
+ STDERR.puts "error in extracting #{file}: #{e.message}"
+ nerrors += 1
+ end
+ end
+ end
+
+ exit nerrors
+end
+
+def unshar_stream(io)
+ e = nil
+
+ while line = io.gets
+ if /^(\s*)\# This is a shell archive/ =~ line
+ indent = $1.length
+ break
+ end
+ end
+
+ if io.eof?
+ raise "not a shell archive."
+ end
+
+ f = nil
+ prefix = nil
+ file = nil
+ boundary = nil
+
+ while line = io.gets
+ line.slice!(0, indent)
+
+ if f
+ if line.strip == boundary
+ f.close
+ f = nil
+ next
+ end
+
+ if line.sub!(/^#{Regexp.quote(prefix)}/, '')
+ f.print line
+ else
+ raise "line #{io.lineno}: broken archive: #{line}"
+ end
+
+ next
+ end
+
+ case line
+ when /^exit\s*$/
+ break
+ when /^echo\s+(.+)$/
+ # info $1
+ when /^mkdir\s+(?:-p\s+)?(.+)$/
+ dir = nil
+
+ Shellwords.shellwords($1).each do |word|
+ if /^[^\-]/ =~ word
+ dir = word
+ break
+ end
+ end
+
+ next if dir.nil?
+
+ dir = strip_filename(dir.strip + '/')
+ if dir.chomp('/').empty?
+ next
+ end
+
+ begin
+ FileUtils.mkdir_p(dir) unless $dryrun
+ info "c - #{dir}"
+ rescue => e
+ info "c - #{dir} ... failed: #{e.message}"
+ raise e
+ end
+ when /sed\s+(.+)>(.+)<<(.+)/
+ prefix = Shellwords.shellwords($1).first
+ file = Shellwords.shellwords($2).first
+ boundary = Shellwords.shellwords($3).first
+
+ next unless prefix && file && boundary
+
+ if /s(.)\^(.*)\1\1/ =~ prefix
+ prefix = $2
+ else
+ next
+ end
+
+ file = strip_filename(file)
+
+ next if file.empty? || boundary.empty?
+
+ overwrite = false
+
+ if File.exist?(file)
+ if $force
+ overwrite = true
+ else
+ info "x - #{file} ... skipped"
+ next
+ end
+ end
+
+ dir = File.dirname(file)
+
+ if !File.directory?(dir + "/.")
+ begin
+ FileUtils.mkdir_p(dir) unless $dryrun
+ info "d - #{dir}"
+ rescue => e
+ info "d - #{dir} ... failed: #{e.message}"
+ raise e
+ end
+ end
+
+ begin
+ f = $dryrun ? StringIO.new : File.open(file, 'w')
+ if overwrite
+ info "x - #{file} ... overwritten"
+ else
+ info "x - #{file}"
+ end
+ rescue => e
+ info "x - #{file} ... failed! (#{e.message})"
+
+ if $force
+ f = nil
+ next
+ else
+ raise e
+ end
+ end
+ end
+ end
+
+ raise e if e
+end
+
+def strip_filename(file)
+ sfile = file.gsub(%r"/{2,}", "/")
+
+ if 0 < $strip_level
+ sfile.sub!(%r"^([^/]*/){1,#{$strip_level}}", '')
+ end
+
+ case sfile
+ when %r"^[~/]"
+ raise "reference to absolute directory: #{file} (use -p N)"
+ when %r"(^|/)\.\.(?:/|$)"
+ raise "reference to parent directory: #{file} (use -p N)"
+ end
+
+ sfile
+end
+
+def signal_handler(sig)
+ info "\nInterrupted."
+
+ exit 255
+end
+
+if $0 == __FILE__
+ for sig in [2, 3, 15]
+ trap(sig) do
+ signal_handler(sig)
+ end
+ end
+
+ main
+end
diff --git a/test-ports/Tools/scripts/sunshar/Makefile b/test-ports/Tools/scripts/sunshar/Makefile
new file mode 100644
index 00000000..9b38dd95
--- /dev/null
+++ b/test-ports/Tools/scripts/sunshar/Makefile
@@ -0,0 +1,13 @@
+# $FreeBSD: head/Tools/scripts/sunshar/Makefile 340722 2014-01-22 17:00:46Z mat $
+# $Idaemons: /home/cvs/sunshar/Makefile,v 1.1.1.1 2001/09/09 13:49:08 knu Exp $
+
+PREFIX?= /usr/local
+BINDIR= ${PREFIX}/bin
+MANDIR= ${PREFIX}/man/man
+
+SCRIPTS= sunshar.rb
+MAN= sunshar.1
+
+.PATH: ${.CURDIR}/..
+
+.include <bsd.prog.mk>
diff --git a/test-ports/Tools/scripts/sunshar/sunshar.1 b/test-ports/Tools/scripts/sunshar/sunshar.1
new file mode 100644
index 00000000..d5a1ab44
--- /dev/null
+++ b/test-ports/Tools/scripts/sunshar/sunshar.1
@@ -0,0 +1,56 @@
+.\" $FreeBSD: head/Tools/scripts/sunshar/sunshar.1 359200 2014-06-25 08:32:12Z eadler $
+.\" $Idaemons: /home/cvs/sunshar/sunshar.1,v 1.2 2004/02/28 14:14:53 knu Exp $
+.\"
+.Dd September 9, 2001
+.Dt SUNSHAR 1
+.Os FreeBSD
+.Sh NAME
+.Nm sunshar
+.Nd a secure unshar
+.Sh SYNOPSIS
+.Nm
+.Op Fl hfnq
+.Op Fl p Ar number
+.Op Ar file ...
+.Sh DESCRIPTION
+The
+.Nm
+command extracts files from the given shell archive(s). If no file
+name is given, it reads from the standard input.
+.Pp
+It brings you security because it never executes dangerous commands
+possibly contained in a shell archive. Also, it does not overwrite
+existing files unless the
+.Fl f
+option is specified.
+.Sh OPTIONS
+The following command line arguments are supported:
+.Pp
+.Bl -tag -width "-p number" -compact
+.It Fl h
+Show help and exit.
+.Pp
+.It Fl f
+Allow overwriting existing files, and ignore errors and continue.
+.Pp
+.It Fl p Ar number
+Strip
+.Ar number
+levels of path components from path names. (cf.
+.Xr patch 1 's
+.Fl p
+option)
+.Pp
+.It Fl n
+Do not extract anything but just show what would have been extracted.
+.Pp
+.It Fl q
+Be quiet.
+.El
+.Sh SEE ALSO
+.Xr shar 1
+.Sh AUTHORS
+.An Akinori MUSHA Aq Mt knu@iDaemons.org
+.Sh BUGS
+.Nm
+only supports shell archives made with BSD shar.
diff --git a/test-ports/Tools/scripts/tindex b/test-ports/Tools/scripts/tindex
new file mode 100755
index 00000000..54e6d04f
--- /dev/null
+++ b/test-ports/Tools/scripts/tindex
@@ -0,0 +1,165 @@
+#!/bin/sh
+#
+# INDEX build tinderbox script. Build an INDEX for all supported FreeBSD branches
+# using the latest value of OSVERSION according to the src trees. If the build
+# fails, yowl about it on ${REPORT_ADDRESS} If not, copy the index to www.freebsd.org so
+# that 'make fetchindex' sees it.
+#
+# When INDEX is broken, assemble the list of committers who touched files
+# on the most recent 'svn update', and put those committers "on the hook".
+# These committers all stay on the hook until INDEX is buildable again.
+#
+# MAINTAINER= portmgr@FreeBSD.org
+#
+
+# --------------------------------------------------------
+# Change these!
+
+SVN=/usr/local/bin/svn
+
+# Address for success/failure reports
+REPORT_ADDRESS=root@localhost
+
+# Address for script errors
+ERROR_ADDRESS=root@localhost
+
+# Location of ports tree and source trees
+export BASEDIR=/a/tindex
+export PORTSDIR=${BASEDIR}/ports
+export SRCDIR9=${BASEDIR}/src.9
+export SRCDIR10=${BASEDIR}/src.10
+export SRCDIR11=${BASEDIR}/src.11
+export SRCDIR12=${BASEDIR}/src.12
+export OUTDIR=${BASEDIR}/out
+
+# Target architecture if not set in the environment
+if [ "${ARCH}" = "" ]; then
+ export ARCH=i386
+fi
+
+# --------------------------------------------------------
+
+blame() {
+ # Find out who is responsible for current version of file $1
+
+ # Fastest way to extract is from svn info
+ who=$(${SVN} info $1 2>/dev/null | grep '^Last Changed Author' | awk '{print $4}')
+
+ echo $who
+}
+
+indexfail() {
+ BRANCH=$1
+
+ # Leave a cookie behind so that we know when the index is fixed
+ touch ${PORTSDIR}/broken.${BRANCH}
+
+ (
+ echo "INDEX build failed with errors:";
+ len=$(wc -l index.out | awk '{print $1}')
+ if [ "$len" -gt "40" ]; then
+ head -20 index.out
+ echo "[...]"
+ tail -20 index.out
+ else
+ cat index.out
+ fi
+
+ len=$(wc -l index.err | awk '{print $1}')
+ if [ "$len" -gt "40" ]; then
+ head -20 index.err
+ echo "[...]"
+ tail -20 index.err
+ else
+ cat index.err
+ fi
+
+ # Find out which committers are on the hook
+
+ commits=$(grep ^U ${PORTSDIR}/svn.log | grep -v INDEX | awk '{print $2}')
+ for i in ${commits}; do
+ blame $i >> ${PORTSDIR}/hook
+ done
+ sort -u ${PORTSDIR}/hook > ${PORTSDIR}/hook.new
+ mv ${PORTSDIR}/hook.new ${PORTSDIR}/hook
+ echo
+ echo "Committers on the hook:"
+ tr -s '\n' ' ' < ${PORTSDIR}/hook
+ echo
+ echo
+ echo "Most recent SVN update was:";
+ grep -v '/work$' svn.log | grep -v '^\?'
+ ) | mail -s "INDEX build failed for ${BRANCH}" ${REPORT_ADDRESS}
+ exit 1
+}
+
+checkfixed() {
+ BRANCH=$1
+
+ # If the cookie exists that means that this is the first build for which the
+ # INDEX succeeded, so announce this.
+ if [ -e ${PORTSDIR}/broken.${BRANCH} ]; then
+ rm -f ${PORTSDIR}/broken.${BRANCH}
+ mail -s "INDEX now builds successfully on ${BRANCH}" ${REPORT_ADDRESS} < /dev/null
+ fi
+}
+
+# Sanitize the environment so that the indexes aren't customized by the
+# local machine settinge
+export __MAKE_CONF=/dev/null
+export PORT_DBDIR=/nonexistent
+export PKG_DBDIR=/nonexistent
+export LOCALBASE=/nonexistent
+export INDEX_PRISTINE=1
+export INDEX_JOBS=3
+export INDEX_QUIET=1
+
+# First update the source trees to get current OSVERSION
+${SVN} -q up ${SRCDIR9}/sys/sys
+OSVERSION9=$(awk '/^#define[[:blank:]]__FreeBSD_version/ {print $3}' < ${SRCDIR9}/sys/sys/param.h)
+
+${SVN} -q up ${SRCDIR10}/sys/sys
+OSVERSION10=$(awk '/^#define[[:blank:]]__FreeBSD_version/ {print $3}' < ${SRCDIR10}/sys/sys/param.h)
+
+${SVN} -q up ${SRCDIR11}/sys/sys
+OSVERSION11=$(awk '/^#define[[:blank:]]__FreeBSD_version/ {print $3}' < ${SRCDIR11}/sys/sys/param.h)
+
+${SVN} -q up ${SRCDIR12}/sys/sys
+OSVERSION12=$(awk '/^#define[[:blank:]]__FreeBSD_version/ {print $3}' < ${SRCDIR12}/sys/sys/param.h)
+
+cd ${PORTSDIR}
+rm -f INDEX-9 INDEX-9.bz2 INDEX-10 INDEX-10.bz2 INDEX-11 INDEX-11.bz2 INDEX-12 INDEX-12.bz2
+(${SVN} up 2>1 ) > svn.log
+if grep -q ^C svn.log ; then
+ (echo "svn update failed with conflicts:";
+ grep ^C svn.log) | mail -s "Ports svn up failed" ${ERROR_ADDRESS}
+ exit 1
+fi
+
+for branch in 9.x 10.x 11.x 12.x; do
+ release=$(echo $branch | sed -e 's,.x,,')
+
+ eval _osver=\$OSVERSION${release}
+ eval _uname_r="$(( ${_osver} / 100000 )).0-RELEASE"
+ export OSVERSION=${_osver}
+ export UNAME_r=${_uname_r}
+
+ if [ "${release}" = "9" ]; then
+ MAKE_CMD=fmake
+ else
+ MAKE_CMD=make
+ fi
+ echo "Building INDEX for ${branch} with OSVERSION=${OSVERSION}"
+ cd ${PORTSDIR}
+ ((${MAKE_CMD} index 2> index.err) > index.out) || indexfail ${branch}
+ if [ -s index.err ]; then
+ indexfail ${branch}
+ fi
+ checkfixed ${branch}
+
+ bzip2 -kf ${PORTSDIR}/INDEX-${release}
+ mv ${PORTSDIR}/INDEX-${release} ${PORTSDIR}/INDEX-${release}.bz2 ${OUTDIR}
+done
+
+# All indexes built successfully, clear the hook
+rm -f ${PORTSDIR}/hook
diff --git a/test-ports/Tools/scripts/top-size-offenders.sh b/test-ports/Tools/scripts/top-size-offenders.sh
new file mode 100755
index 00000000..77e4dd6a
--- /dev/null
+++ b/test-ports/Tools/scripts/top-size-offenders.sh
@@ -0,0 +1,46 @@
+#!/bin/sh
+#
+# This script produces a report like this:
+#
+# Combined size of ports: 510.5 Mb
+# The Top 20 ports by size account for 15.14% of the collection
+# ====================================================================
+# [snipped 15 rows]
+# 0.37% 1.87Mb security/cracklib
+# 0.66% 3.38Mb security/vuxml
+# 0.87% 4.42Mb print/texlive-texmf
+# 2.82% 14.41Mb java/openjdk7
+# 6.79% 34.66Mb java/openjdk8
+# ====================================================================
+# 15.14% 77.29Mb
+#
+# Written by John Marino <marino@FreeBSD.org> one rainy day just because ...
+#
+
+TOP=20
+DUK="du -kd 1 -t 200k [a-z]*"
+DASH="======================================================================="
+SCRATCH=/tmp/topX
+
+AWKCMD1='BEGIN { FS="/"; }{ if (NF == 2) { print $0; }}'
+AWKCMD2='BEGIN { total=0; } { total = total + $1 } END { print total }'
+AWKCMD3='{ pc=100.0*$1/total; mega=$1/1024.0; \
+ printf("%5.2f%% %5.2fMb %s\n", pc, mega, $2)}'
+
+cd /usr/ports && ${DUK} | awk "${AWKCMD1}" | sort -n | tail -n ${TOP} \
+ > ${SCRATCH}
+
+total=$(du -sk /usr/ports/[a-z]* | awk "${AWKCMD2}")
+outlaws=$(awk "${AWKCMD2}" ${SCRATCH})
+megabytes=$(bc -e "scale = 2; ${total} / 1024" -e quit)
+bloat=$(bc -e "scale = 2; ${outlaws} / 1024" -e quit)
+PC=$(bc -e "scale = 2; 100 * ${outlaws} / ${total}" -e quit)
+
+printf "Combined size of ports: %1.1f Mb\n" ${megabytes}
+printf "The Top %d ports by size account for %1.2f%% of the collection\n" \
+ ${TOP} ${PC}
+echo ${DASH}
+awk -v total=${total} "${AWKCMD3}" ${SCRATCH}
+echo ${DASH}
+printf "%5.2f%% %5.2fMb\n" ${PC} ${bloat}
+rm ${SCRATCH}
diff --git a/test-ports/Tools/scripts/update-patches b/test-ports/Tools/scripts/update-patches
new file mode 100755
index 00000000..b4c260f3
--- /dev/null
+++ b/test-ports/Tools/scripts/update-patches
@@ -0,0 +1,103 @@
+#!/bin/sh
+
+# $FreeBSD: head/Tools/scripts/update-patches 340851 2014-01-23 19:55:14Z mat $
+# $OpenBSD: update-patches,v 1.3 2000/06/09 17:08:37 espie Exp $
+# Copyright (c) 2000
+# Marc Espie. All rights reserved.
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Neither the name of OpenBSD nor the names of its contributors
+# may be used to endorse or promote products derived from this software
+# without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY ITS AUTHOR AND THE OpenBSD project ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+
+# Find out all .orig files and strip the name to what diff will use
+cd $PATCH_WRKSRC && find . -type f -name '*.orig' | fgrep -v $DISTORIG | \
+sed -e "s,^./\(.*\)\.orig\$,\1," | {
+while read file
+do
+ echo 1>&2 "Processing $file"
+ # look in patchdir for an existing patchfile matching this
+ mkdir -p $PATCHDIR
+ cd $PATCHDIR
+ for i in ${PATCH_LIST}
+ do
+ # Ignore non-files, or old backup
+ [ -f $i ] || continue
+ case $i in \
+ *.orig|*.rej|*~) ;;
+ *) # Patch found. Is this the one ?
+ if grep "^--- $file.orig" $i >/dev/null
+ then
+ accounted="$accounted $i"
+ # found it, splice before diff part with diff
+ esc=`echo $file | sed -e 's,/,\\\\/,g'`
+ { sed -e "/^--- $esc.orig/,\$ d" <$i
+ (cd $PATCH_WRKSRC && diff -p ${DIFF_ARGS} -u $file.orig $file) } >$i.new
+ # did it change ? mark it as changed
+ if diff ${DIFF_ARGS} -u --ignore-matching-lines="^--- $file.orig .*" \
+ --ignore-matching-lines="^+++ $file .*" $i $i.new 1>&2
+ then
+ rm $i.new
+ else
+ echo 1>&2 "Patch $i for $file updated"
+ mv $i $i.orig
+ mv $i.new $i
+ edit="$edit $i"
+ fi
+ continue 2
+ fi;;
+ esac
+ done
+ # Build a sensible name for the patch file
+ patchname=patch-`echo $file|sed -e s,/,_,g`
+ echo 1>&2 "No patch-* found for $file, creating $patchname"
+ (cd $PATCH_WRKSRC && diff -p ${DIFF_ARGS} -u $file.orig $file) >$patchname
+ edit="$edit $patchname"
+ accounted="$accounted $patchname"
+done
+
+# Verify all patches accounted for
+for i in ${PATCHDIR}/*
+do
+ [ -f $i ] || continue
+ case $i in \
+ *.orig|*.rej|*~) ;;
+ *)
+ for j in $accounted
+ do
+ if [ $j = $i ]
+ then
+ continue 2
+ fi
+ done
+ echo 1>&2 "*** Patch $i not accounted for.";;
+ esac
+done
+
+# Check for $Id and similar bugs in all those patch files.
+for i in $accounted
+do
+ if sed -e '/1,^---/ d' $i|egrep '$(Id|FreeBSD)'
+ then
+ echo 1>&2 "Problem with $i: CVS tag found in patch"
+ fi
+done
+
+echo $edit
+}
+exit 0
diff --git a/test-ports/converters/Makefile b/test-ports/converters/Makefile
new file mode 100644
index 00000000..e32e2dc4
--- /dev/null
+++ b/test-ports/converters/Makefile
@@ -0,0 +1 @@
+SUBDIR += libiconv
diff --git a/test-ports/converters/libiconv/Makefile b/test-ports/converters/libiconv/Makefile
new file mode 100644
index 00000000..c935dc78
--- /dev/null
+++ b/test-ports/converters/libiconv/Makefile
@@ -0,0 +1,44 @@
+# Created by: Maxim Sobolev <sobomax@FreeBSD.org>
+# $FreeBSD: head/converters/libiconv/Makefile 428196 2016-12-09 12:57:21Z sunpoet $
+
+PORTNAME= libiconv
+PORTVERSION= 1.14
+PORTREVISION= 10
+CATEGORIES= converters devel
+MASTER_SITES= GNU
+
+MAINTAINER= gnome@FreeBSD.org
+COMMENT= Character set conversion library
+
+LICENSE= GPLv3
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS= --enable-static \
+ --disable-nls \
+ --docdir=${DOCSDIR} \
+ am_cv_func_iconv=no
+INSTALL_TARGET= install-strip
+MAKE_JOBS_UNSAFE= yes
+USES= libtool
+USE_CSTD= gnu89
+USE_LDCONFIG= yes
+
+OPTIONS_DEFINE= DOCS ENCODINGS PATCHES
+OPTIONS_DEFAULT=ENCODINGS
+ENCODINGS_DESC= Include extra character sets
+PATCHES_DESC= Apply patches to fix CP932, add EUCJP-MS
+
+ENCODINGS_CONFIGURE_ENABLE= extra-encodings
+
+PATCHES_PATCH_SITES= http://apolloron.org/software/libiconv-1.14-ja/ \
+ LOCAL/kwm
+PATCHES_PATCHFILES= ${DISTNAME}-ja-1.patch.gz:-p1
+
+post-patch:
+ @${REINPLACE_CMD} -e 's:ei_ksc5601:ei_euc_kr:g' ${WRKSRC}/lib/aliases.h
+ @${REINPLACE_CMD} -e 's:gawk:awk:g' ${WRKSRC}/configure \
+ ${WRKSRC}/libcharset/configure \
+ ${WRKSRC}/preload/configure
+
+.include <bsd.port.mk>
diff --git a/test-ports/converters/libiconv/distinfo b/test-ports/converters/libiconv/distinfo
new file mode 100644
index 00000000..f7e57c9f
--- /dev/null
+++ b/test-ports/converters/libiconv/distinfo
@@ -0,0 +1,4 @@
+SHA256 (libiconv-1.14.tar.gz) = 72b24ded17d687193c3366d0ebe7cde1e6b18f0df8c55438ac95be39e8a30613
+SIZE (libiconv-1.14.tar.gz) = 4984397
+SHA256 (libiconv-1.14-ja-1.patch.gz) = c9474ee420b971029073dabf5e599b049945fbb040f353dce4db32191401bfee
+SIZE (libiconv-1.14-ja-1.patch.gz) = 291963
diff --git a/test-ports/converters/libiconv/files/patch-include-iconv.h.in b/test-ports/converters/libiconv/files/patch-include-iconv.h.in
new file mode 100644
index 00000000..a11ee841
--- /dev/null
+++ b/test-ports/converters/libiconv/files/patch-include-iconv.h.in
@@ -0,0 +1,70 @@
+--- include/iconv.h.in.orig 2011-08-07 17:48:03 UTC
++++ include/iconv.h.in
+@@ -21,8 +21,10 @@
+ #ifndef _LIBICONV_H
+ #define _LIBICONV_H
+
++#ifndef LIBICONV_PLUG
+ #define _LIBICONV_VERSION 0x010E /* version number: (major<<8) + minor */
+ extern @DLL_VARIABLE@ int _libiconv_version; /* Likewise */
++#endif
+
+ /* We would like to #include any system header file which could define
+ iconv_t, 1. in order to eliminate the risk that the user gets compilation
+@@ -94,7 +96,6 @@ extern int iconv_close (iconv_t cd);
+ #endif
+
+
+-#ifndef LIBICONV_PLUG
+
+ /* Nonstandard extensions. */
+
+@@ -127,12 +128,16 @@ typedef struct {
+ /* Allocates descriptor for code conversion from encoding ‘fromcode’ to
+ encoding ‘tocode’ into preallocated memory. Returns an error indicator
+ (0 or -1 with errno set). */
++#ifndef LIBICONV_PLUG
+ #define iconv_open_into libiconv_open_into
++#endif
+ extern int iconv_open_into (const char* tocode, const char* fromcode,
+ iconv_allocation_t* resultp);
+
+ /* Control of attributes. */
++#ifndef LIBICONV_PLUG
+ #define iconvctl libiconvctl
++#endif
+ extern int iconvctl (iconv_t cd, int request, void* argument);
+
+ /* Hook performed after every successful conversion of a Unicode character. */
+@@ -212,7 +217,9 @@ struct iconv_fallbacks {
+ #define ICONV_SET_FALLBACKS 6 /* const struct iconv_fallbacks *argument */
+
+ /* Listing of locale independent encodings. */
++#ifndef LIBICONV_PLUG
+ #define iconvlist libiconvlist
++#endif
+ extern void iconvlist (int (*do_one) (unsigned int namescount,
+ const char * const * names,
+ void* data),
+@@ -224,6 +231,7 @@ extern const char * iconv_canonicalize (
+
+ /* Support for relocatable packages. */
+
++#ifndef LIBICONV_PLUG
+ /* Sets the original and the current installation prefix of the package.
+ Relocation simply replaces a pathname starting with the original prefix
+ by the corresponding pathname with the current prefix instead. Both
+@@ -231,12 +239,12 @@ extern const char * iconv_canonicalize (
+ instead of "/"). */
+ extern void libiconv_set_relocation_prefix (const char *orig_prefix,
+ const char *curr_prefix);
++#endif
+
+ #ifdef __cplusplus
+ }
+ #endif
+
+-#endif
+
+
+ #endif /* _LIBICONV_H */
diff --git a/test-ports/converters/libiconv/files/patch-libcharset__lib__config.charset b/test-ports/converters/libiconv/files/patch-libcharset__lib__config.charset
new file mode 100644
index 00000000..ba30603d
--- /dev/null
+++ b/test-ports/converters/libiconv/files/patch-libcharset__lib__config.charset
@@ -0,0 +1,43 @@
+--- libcharset/lib/config.charset.orig 2010-04-05 02:25:38.000000000 +0200
++++ libcharset/lib/config.charset 2011-10-23 22:05:50.000000000 +0200
+@@ -348,7 +348,7 @@ case "$os" in
+ #echo "sun_eu_greek ?" # what is this?
+ echo "UTF-8 UTF-8"
+ ;;
+- freebsd* | os2*)
++ freebsd4.[0-5]* | os2*)
+ # FreeBSD 4.2 doesn't have nl_langinfo(CODESET); therefore
+ # localcharset.c falls back to using the full locale name
+ # from the environment variables.
+@@ -385,6 +385,31 @@ case "$os" in
+ echo "ja_JP.Shift_JIS SHIFT_JIS"
+ echo "ko_KR.EUC EUC-KR"
+ ;;
++ freebsd*)
++ echo "US-ASCII ASCII"
++ echo "ISO8859-1 ISO-8859-1"
++ echo "ISO_8859-1 ISO-8859-1"
++ echo "ISO8859-2 ISO-8859-2"
++ echo "ISO_8859-2 ISO-8859-2"
++ echo "ISO8859-4 ISO-8859-4"
++ echo "ISO_8859-4 ISO-8859-4"
++ echo "ISO8859-5 ISO-8859-5"
++ echo "ISO_8859-5 ISO-8859-5"
++ echo "ISO8859-7 ISO-8859-7"
++ echo "ISO_8859-7 ISO-8859-7"
++ echo "ISO8859-9 ISO-8859-9"
++ echo "ISO_8859-9 ISO-8859-9"
++ echo "ISO8859-13 ISO-8859-13"
++ echo "ISO_8859-13 ISO-8859-13"
++ echo "ISO8859-15 ISO-8859-15"
++ echo "ISO_8859-15 ISO-8859-15"
++ echo "eucCN GB2312"
++ echo "eucJP EUC-JP"
++ echo "eucKR EUC-KR"
++ echo "Big5 BIG5"
++ echo "Big5HKSCS BIG5-HKSCS"
++ echo "SJIS SHIFT_JIS"
++ ;;
+ netbsd*)
+ echo "646 ASCII"
+ echo "ISO8859-1 ISO-8859-1"
diff --git a/test-ports/converters/libiconv/files/patch-src__Makefile.in b/test-ports/converters/libiconv/files/patch-src__Makefile.in
new file mode 100644
index 00000000..04d0b09e
--- /dev/null
+++ b/test-ports/converters/libiconv/files/patch-src__Makefile.in
@@ -0,0 +1,19 @@
+--- src/Makefile.in.orig 2011-06-04 19:05:58.000000000 +0200
++++ src/Makefile.in 2013-07-06 18:49:54.000000000 +0200
+@@ -71,7 +71,6 @@
+ # without internationalization and not linked with libintl.
+
+ all : iconv_no_i18n$(EXEEXT) iconv.@OBJEXT@ $(OBJECTS_RES_@WOE32@)
+- test `ls -ld . | sed -e 's/^d\(.........\).*/\1/'` = rwxrwxrwx || chmod 777 .
+
+ # This is the temporary iconv executable, without internationalization.
+ iconv_no_i18n$(EXEEXT) : iconv_no_i18n.@OBJEXT@ ../lib/libiconv.la $(OBJECTS_RES_@WOE32@)
+@@ -113,7 +112,7 @@
+ if [ ! -d $(DESTDIR)$(bindir) ] ; then $(mkinstalldirs) $(DESTDIR)$(bindir) ; fi
+ case "@host_os@" in \
+ hpux*) $(CC) $(LDFLAGS) $(CFLAGS) $(iconv_LDFLAGS) iconv.@OBJEXT@ ../srclib/libicrt.a -L$(DESTDIR)$(libdir) -liconv @LIBINTL@ $(OBJECTS_RES_@WOE32@) `if test -n '$(DESTDIR)'; then echo " -Wl,+b -Wl,$(libdir)"; fi` -o iconv$(EXEEXT);; \
+- *) $(LIBTOOL_LINK) $(CC) $(LDFLAGS) $(CFLAGS) $(iconv_LDFLAGS) iconv.@OBJEXT@ ../srclib/libicrt.a $(DESTDIR)$(libdir)/libiconv.la @LTLIBINTL@ $(OBJECTS_RES_@WOE32@) -o iconv$(EXEEXT);; \
++ *) $(LIBTOOL_LINK) $(CC) $(LDFLAGS) $(CFLAGS) $(iconv_LDFLAGS) iconv.@OBJEXT@ ../srclib/libicrt.a ../lib/libiconv.la @LTLIBINTL@ $(OBJECTS_RES_@WOE32@) -o iconv$(EXEEXT);; \
+ esac
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) iconv$(EXEEXT) $(DESTDIR)$(bindir)/iconv$(EXEEXT)
+
diff --git a/test-ports/converters/libiconv/pkg-descr b/test-ports/converters/libiconv/pkg-descr
new file mode 100644
index 00000000..5713f9a9
--- /dev/null
+++ b/test-ports/converters/libiconv/pkg-descr
@@ -0,0 +1,14 @@
+This library provides an iconv() implementation, for use on systems which
+don't have one, or whose implementation cannot convert from/to Unicode.
+
+It can convert from any of these encodings to any other, through Unicode
+conversion. It has also some limited support for transliteration, i.e.
+when a character cannot be represented in the target character set, it can
+be approximated through one or several similarly looking characters.
+
+libiconv is for you if your application needs to support multiple character
+encodings, but that support lacks from your system.
+
+See either README or website for the list of supported encodings.
+
+WWW: http://www.gnu.org/software/libiconv/
diff --git a/test-ports/converters/libiconv/pkg-plist b/test-ports/converters/libiconv/pkg-plist
new file mode 100644
index 00000000..64341c2e
--- /dev/null
+++ b/test-ports/converters/libiconv/pkg-plist
@@ -0,0 +1,25 @@
+bin/iconv
+include/iconv.h
+include/libcharset.h
+include/localcharset.h
+lib/charset.alias
+lib/libcharset.a
+lib/libcharset.so
+lib/libcharset.so.1
+lib/libcharset.so.1.0.0
+lib/libiconv.a
+lib/libiconv.so
+lib/libiconv.so.2
+lib/libiconv.so.2.5.1
+man/man1/iconv.1.gz
+man/man3/iconv.3.gz
+man/man3/iconv_open.3.gz
+man/man3/iconv_open_into.3.gz
+man/man3/iconv_close.3.gz
+man/man3/iconvctl.3.gz
+%%PORTDOCS%%%%DOCSDIR%%/iconv.1.html
+%%PORTDOCS%%%%DOCSDIR%%/iconv.3.html
+%%PORTDOCS%%%%DOCSDIR%%/iconv_close.3.html
+%%PORTDOCS%%%%DOCSDIR%%/iconv_open.3.html
+%%PORTDOCS%%%%DOCSDIR%%/iconv_open_into.3.html
+%%PORTDOCS%%%%DOCSDIR%%/iconvctl.3.html
diff --git a/test-ports/devel/Makefile b/test-ports/devel/Makefile
new file mode 100644
index 00000000..4fd73473
--- /dev/null
+++ b/test-ports/devel/Makefile
@@ -0,0 +1,14 @@
+SUBDIR += autoconf
+SUBDIR += autoconf-wrapper
+SUBDIR += automake
+SUBDIR += automake-wrapper
+SUBDIR += ccache
+SUBDIR += gettext
+SUBDIR += gettext-runtime
+SUBDIR += gettext-tools
+SUBDIR += gmake
+SUBDIR += libffi
+SUBDIR += m4
+SUBDIR += p5-Locale-gettext
+SUBDIR += pkgconf
+SUBDIR += readline
diff --git a/test-ports/devel/autoconf-wrapper/Makefile b/test-ports/devel/autoconf-wrapper/Makefile
new file mode 100644
index 00000000..450e3d8f
--- /dev/null
+++ b/test-ports/devel/autoconf-wrapper/Makefile
@@ -0,0 +1,39 @@
+# $FreeBSD: head/devel/autoconf-wrapper/Makefile 393644 2015-08-06 09:18:36Z tijl $
+
+PORTNAME?= autoconf-wrapper
+PORTVERSION= 20131203
+CATEGORIES= devel
+MASTER_SITES= # none
+DISTFILES= # none
+
+MAINTAINER= tijl@FreeBSD.org
+COMMENT?= Wrapper script for GNU autoconf
+
+WRKSRC= ${WRKDIR}
+NO_BUILD= YES
+
+TOOL?= AUTOCONF
+WRAPPED_TOOLS?= autoconf autoheader autom4te autoreconf autoscan \
+ autoupdate ifnames
+.include <bsd.port.pre.mk>
+
+TOOLS_CASE!= ${ECHO_CMD} ${WRAPPED_TOOLS} | ${TR} ' ' '|'
+PLIST_FILES= bin/${PORTNAME}
+.for tool in ${WRAPPED_TOOLS}
+PLIST_FILES+= bin/${tool}
+.endfor
+
+do-configure:
+ @${SED} \
+ -e 's,%%PREFIX%%,${PREFIX},g' \
+ -e 's,%%TOOL%%,${TOOL},g' \
+ -e 's,%%TOOLS_CASE%%,${TOOLS_CASE},g' \
+ <${FILESDIR}/autotools-wrapper.sh >${WRKDIR}/${PORTNAME}.sh
+
+do-install:
+ @${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME}.sh ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
+.for tool in ${WRAPPED_TOOLS}
+ @${LN} -sf ${PORTNAME} ${STAGEDIR}${PREFIX}/bin/${tool}
+.endfor
+
+.include <bsd.port.post.mk>
diff --git a/test-ports/devel/autoconf-wrapper/files/autotools-wrapper.sh b/test-ports/devel/autoconf-wrapper/files/autotools-wrapper.sh
new file mode 100644
index 00000000..f1992378
--- /dev/null
+++ b/test-ports/devel/autoconf-wrapper/files/autotools-wrapper.sh
@@ -0,0 +1,92 @@
+#!/bin/sh
+#-
+# Copyright (c) 2007 Dag-Erling Smørgrav
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer
+# in this position and unchanged.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+# $FreeBSD: head/devel/autoconf-wrapper/files/autotools-wrapper.sh 340872 2014-01-24 00:14:07Z mat $
+#
+
+bindir=%%PREFIX%%/bin
+tool=$(basename $0)
+
+exec 4<&0
+
+error() {
+ echo "$@" 1>&2
+ exit 1
+}
+
+# Verify that the requested tool is one we know about
+case ${tool} in
+%%TOOLS_CASE%%)
+ ;;
+*)
+ error "${tool}: unknown tool"
+ ;;
+esac
+
+if [ -n "${AUTOTOOLS_DEBUG}" -a -n "${%%TOOL%%_VERSION}" ] ; then
+ echo "Requested ${tool} version ${%%TOOL%%_VERSION}" 1>&2
+fi
+
+#
+# Identify available versions.
+#
+# The double sort is necessary to correctly identify 1.10 as newer
+# than 1.9.
+#
+# Note that it is conceivable that version A.BC of the requested tool
+# is present both as "toolABC" and as "tool-A.BC". We take no special
+# measures to handle this case.
+#
+/usr/bin/find ${bindir}/ -name "${tool}*[0-9]" | /usr/bin/sed -E \
+ -e "s@^.*/${tool}-([0-9])\\.([0-9]+)\$@\1 \2 \1.\2@" | \
+ /usr/bin/sort -n -k1 | /usr/bin/sort -n -s -k2 | {
+while read maj min suffix ; do
+ selected_version=$suffix
+ if [ -n "${%%TOOL%%_VERSION}" -a \
+ "x${%%TOOL%%_VERSION}" = x${selected_version} ] ; then
+ break
+ fi
+done
+
+if [ -z "${selected_version}" ] ; then
+ error "${tool}: not installed"
+fi
+
+if [ -n "${%%TOOL%%_VERSION}" -a \
+ "x${%%TOOL%%_VERSION}" != x${selected_version} ] ; then
+ error "${tool}: required version" \
+ "${%%TOOL%%_VERSION} not found"
+fi
+
+if [ -n "${AUTOTOOLS_DEBUG}" ] ; then
+ echo "Selecting ${tool} version ${selected_version}" \
+ "(${bindir}/${tool}-${selected_version})" 1>&2
+fi
+
+exec 0<&4 4<&-
+exec ${bindir}/${tool}-${selected_version} "$@"
+}
diff --git a/test-ports/devel/autoconf-wrapper/pkg-descr b/test-ports/devel/autoconf-wrapper/pkg-descr
new file mode 100644
index 00000000..ee8c066c
--- /dev/null
+++ b/test-ports/devel/autoconf-wrapper/pkg-descr
@@ -0,0 +1,3 @@
+This port installs a wrapper script for autoconf, with symlinks to the
+unversioned name of each tool included with autoconf. This allows the
+correct version to be selected depending on the user's requirements.
diff --git a/test-ports/devel/autoconf/Makefile b/test-ports/devel/autoconf/Makefile
new file mode 100644
index 00000000..6a9c3e8e
--- /dev/null
+++ b/test-ports/devel/autoconf/Makefile
@@ -0,0 +1,48 @@
+# Created by: ade@FreeBSD.org
+# $FreeBSD: head/devel/autoconf/Makefile 424411 2016-10-21 12:51:40Z mat $
+
+PORTNAME= autoconf
+PORTVERSION= 2.69
+PORTREVISION= 1
+CATEGORIES= devel
+MASTER_SITES= GNU
+DISTNAME= autoconf-${PORTVERSION}
+
+MAINTAINER= tijl@FreeBSD.org
+COMMENT= Automatically configure source code on many Un*x platforms
+
+BUILD_DEPENDS= gm4:devel/m4 \
+ help2man:misc/help2man
+RUN_DEPENDS= gm4:devel/m4 \
+ autoconf-wrapper:devel/autoconf-wrapper
+
+BUILD_VERSION= 2.69
+PLIST_SUB= BUILD_VERSION=${BUILD_VERSION}
+USES= gmake makeinfo perl5 tar:xz
+INFO= autoconf
+
+GNU_CONFIGURE= yes
+CONFIGURE_ENV= M4=${LOCALBASE}/bin/gm4 AWK=${AWK} \
+ ac_cv_prog_TEST_EMACS=no
+CONFIGURE_ARGS= --program-suffix=-${BUILD_VERSION} --without-lispdir
+
+GENERIC_TOOLS= config.guess config.sub elisp-comp install-sh mdate-sh missing
+GENERIC_LINKS= autoconf autoheader autom4te autoreconf autoscan autoupdate \
+ ifnames
+
+post-patch:
+ @(cd ${WRKSRC}/man && \
+ for file in *.[1x]; do \
+ ${REINPLACE_CMD} -E 's,([^-]auto)(conf|make|reconf|update|header|scan),\1\2-${BUILD_VERSION},g ; \
+ s,(config\.guess|config\.sub|ifnames),\1-${BUILD_VERSION},g' $$file ; \
+ done)
+ @(cd ${WRKSRC}/doc && ${RM} *.info)
+ @${FIND} ${WRKSRC} -name Makefile.in | ${XARGS} ${REINPLACE_CMD} -e \
+ 's|@PACKAGE@$$|@PACKAGE@-@VERSION@|'
+
+post-install:
+.for FILE in ${GENERIC_TOOLS}
+ @${INSTALL_SCRIPT} ${WRKSRC}/build-aux/${FILE} ${STAGEDIR}${PREFIX}/share/autoconf-${BUILD_VERSION}
+.endfor
+
+.include <bsd.port.mk>
diff --git a/test-ports/devel/autoconf/distinfo b/test-ports/devel/autoconf/distinfo
new file mode 100644
index 00000000..3359cad8
--- /dev/null
+++ b/test-ports/devel/autoconf/distinfo
@@ -0,0 +1,2 @@
+SHA256 (autoconf-2.69.tar.xz) = 64ebcec9f8ac5b2487125a86a7760d2591ac9e1d3dbd59489633f9de62a57684
+SIZE (autoconf-2.69.tar.xz) = 1214744
diff --git a/test-ports/devel/autoconf/files/patch-autoconf.texi b/test-ports/devel/autoconf/files/patch-autoconf.texi
new file mode 100644
index 00000000..c9c0da44
--- /dev/null
+++ b/test-ports/devel/autoconf/files/patch-autoconf.texi
@@ -0,0 +1,53 @@
+--- doc/autoconf.texi.orig 2012-04-25 04:14:19.000000000 +0200
++++ doc/autoconf.texi 2014-06-25 14:47:17.208468153 +0200
+@@ -15,7 +15,7 @@
+ @c The ARG is an optional argument. To be used for macro arguments in
+ @c their documentation (@defmac).
+ @macro ovar{varname}
+-@r{[}@var{\varname\}@r{]}@c
++@r{[}@var{\varname\}@r{]}
+ @end macro
+
+ @c @dvar(ARG, DEFAULT)
+@@ -23,7 +23,7 @@
+ @c The ARG is an optional argument, defaulting to DEFAULT. To be used
+ @c for macro arguments in their documentation (@defmac).
+ @macro dvar{varname, default}
+-@r{[}@var{\varname\} = @samp{\default\}@r{]}@c
++@r{[}@var{\varname\} = @samp{\default\}@r{]}
+ @end macro
+
+ @c Handling the indexes with Texinfo yields several different problems.
+@@ -217,31 +217,11 @@
+
+
+
+-@dircategory Software development
++@dircategory Programming & development tools
+ @direntry
+ * Autoconf: (autoconf). Create source code configuration scripts.
+ @end direntry
+
+-@dircategory Individual utilities
+-@direntry
+-* autoscan: (autoconf)autoscan Invocation.
+- Semi-automatic @file{configure.ac} writing
+-* ifnames: (autoconf)ifnames Invocation. Listing conditionals in source.
+-* autoconf-invocation: (autoconf)autoconf Invocation.
+- How to create configuration scripts
+-* autoreconf: (autoconf)autoreconf Invocation.
+- Remaking multiple @command{configure} scripts
+-* autoheader: (autoconf)autoheader Invocation.
+- How to create configuration templates
+-* autom4te: (autoconf)autom4te Invocation.
+- The Autoconf executables backbone
+-* configure: (autoconf)configure Invocation. Configuring a package.
+-* autoupdate: (autoconf)autoupdate Invocation.
+- Automatic update of @file{configure.ac}
+-* config.status: (autoconf)config.status Invocation. Recreating configurations.
+-* testsuite: (autoconf)testsuite Invocation. Running an Autotest test suite.
+-@end direntry
+-
+ @titlepage
+ @title Autoconf
+ @subtitle Creating Automatic Configuration Scripts
diff --git a/test-ports/devel/autoconf/files/patch-bin-autoscan.in b/test-ports/devel/autoconf/files/patch-bin-autoscan.in
new file mode 100644
index 00000000..a55345cc
--- /dev/null
+++ b/test-ports/devel/autoconf/files/patch-bin-autoscan.in
@@ -0,0 +1,11 @@
+--- bin/autoscan.in.orig 2012-04-25 02:37:26 UTC
++++ bin/autoscan.in
+@@ -358,7 +358,7 @@ sub scan_sh_file ($)
+ {
+ # Strip out comments and variable references.
+ s/#.*//;
+- s/\${[^\}]*}//g;
++ s/\$\{[^\}]*}//g;
+ s/@[^@]*@//g;
+
+ # Tokens in the code.
diff --git a/test-ports/devel/autoconf/files/patch-doc-Makefile.in b/test-ports/devel/autoconf/files/patch-doc-Makefile.in
new file mode 100644
index 00000000..1cba4ecf
--- /dev/null
+++ b/test-ports/devel/autoconf/files/patch-doc-Makefile.in
@@ -0,0 +1,12 @@
+--- doc/Makefile.in.orig Mon Oct 16 13:58:44 2006
++++ doc/Makefile.in Thu Apr 5 01:51:13 2007
+@@ -44,3 +44,3 @@
+ DIST_SOURCES =
+-INFO_DEPS = $(srcdir)/autoconf.info $(srcdir)/standards.info
++INFO_DEPS = $(srcdir)/autoconf.info
+ TEXINFO_TEX = $(top_srcdir)/build-aux/texinfo.tex
+@@ -51,3 +51,3 @@
+ HTMLS = autoconf.html standards.html
+-TEXINFOS = autoconf.texi standards.texi
++TEXINFOS = autoconf.texi
+ TEXI2PDF = $(TEXI2DVI) --pdf --batch
diff --git a/test-ports/devel/autoconf/pkg-descr b/test-ports/devel/autoconf/pkg-descr
new file mode 100644
index 00000000..c404cc85
--- /dev/null
+++ b/test-ports/devel/autoconf/pkg-descr
@@ -0,0 +1,9 @@
+Autoconf is an extensible package of m4 macros that produce shell
+scripts to automatically configure software source code packages.
+These scripts can adapt the packages to many kinds of UNIX-like
+systems without manual user intervention. Autoconf creates a
+configuration script for a package from a template file that lists the
+operating system features that the package can use, in the form of m4
+macro calls.
+
+WWW: http://www.gnu.org/software/autoconf/
diff --git a/test-ports/devel/autoconf/pkg-plist b/test-ports/devel/autoconf/pkg-plist
new file mode 100644
index 00000000..9e806e5a
--- /dev/null
+++ b/test-ports/devel/autoconf/pkg-plist
@@ -0,0 +1,64 @@
+bin/autoconf-%%BUILD_VERSION%%
+bin/autoheader-%%BUILD_VERSION%%
+bin/autom4te-%%BUILD_VERSION%%
+bin/autoreconf-%%BUILD_VERSION%%
+bin/autoscan-%%BUILD_VERSION%%
+bin/autoupdate-%%BUILD_VERSION%%
+bin/ifnames-%%BUILD_VERSION%%
+man/man1/autoconf-2.69.1.gz
+man/man1/autoheader-2.69.1.gz
+man/man1/autom4te-2.69.1.gz
+man/man1/autoreconf-2.69.1.gz
+man/man1/autoscan-2.69.1.gz
+man/man1/autoupdate-2.69.1.gz
+man/man1/config.guess-2.69.1.gz
+man/man1/config.sub-2.69.1.gz
+man/man1/ifnames-2.69.1.gz
+share/autoconf-%%BUILD_VERSION%%/Autom4te/C4che.pm
+share/autoconf-%%BUILD_VERSION%%/Autom4te/ChannelDefs.pm
+share/autoconf-%%BUILD_VERSION%%/Autom4te/Channels.pm
+share/autoconf-%%BUILD_VERSION%%/Autom4te/Configure_ac.pm
+share/autoconf-%%BUILD_VERSION%%/Autom4te/FileUtils.pm
+share/autoconf-%%BUILD_VERSION%%/Autom4te/General.pm
+share/autoconf-%%BUILD_VERSION%%/Autom4te/Getopt.pm
+share/autoconf-%%BUILD_VERSION%%/Autom4te/Request.pm
+share/autoconf-%%BUILD_VERSION%%/Autom4te/XFile.pm
+share/autoconf-%%BUILD_VERSION%%/INSTALL
+share/autoconf-%%BUILD_VERSION%%/autoconf/autoconf.m4
+share/autoconf-%%BUILD_VERSION%%/autoconf/autoconf.m4f
+share/autoconf-%%BUILD_VERSION%%/autoconf/autoheader.m4
+share/autoconf-%%BUILD_VERSION%%/autoconf/autoscan.m4
+share/autoconf-%%BUILD_VERSION%%/autoconf/autotest.m4
+share/autoconf-%%BUILD_VERSION%%/autoconf/autoupdate.m4
+share/autoconf-%%BUILD_VERSION%%/autoconf/c.m4
+share/autoconf-%%BUILD_VERSION%%/autoconf/erlang.m4
+share/autoconf-%%BUILD_VERSION%%/autoconf/fortran.m4
+share/autoconf-%%BUILD_VERSION%%/autoconf/functions.m4
+share/autoconf-%%BUILD_VERSION%%/autoconf/general.m4
+share/autoconf-%%BUILD_VERSION%%/autoconf/go.m4
+share/autoconf-%%BUILD_VERSION%%/autoconf/headers.m4
+share/autoconf-%%BUILD_VERSION%%/autoconf/lang.m4
+share/autoconf-%%BUILD_VERSION%%/autoconf/libs.m4
+share/autoconf-%%BUILD_VERSION%%/autoconf/oldnames.m4
+share/autoconf-%%BUILD_VERSION%%/autoconf/programs.m4
+share/autoconf-%%BUILD_VERSION%%/autoconf/specific.m4
+share/autoconf-%%BUILD_VERSION%%/autoconf/status.m4
+share/autoconf-%%BUILD_VERSION%%/autoconf/types.m4
+share/autoconf-%%BUILD_VERSION%%/autom4te.cfg
+share/autoconf-%%BUILD_VERSION%%/autoscan/autoscan.list
+share/autoconf-%%BUILD_VERSION%%/autotest/autotest.m4
+share/autoconf-%%BUILD_VERSION%%/autotest/autotest.m4f
+share/autoconf-%%BUILD_VERSION%%/autotest/general.m4
+share/autoconf-%%BUILD_VERSION%%/autotest/specific.m4
+share/autoconf-%%BUILD_VERSION%%/config.guess
+share/autoconf-%%BUILD_VERSION%%/config.sub
+share/autoconf-%%BUILD_VERSION%%/elisp-comp
+share/autoconf-%%BUILD_VERSION%%/install-sh
+share/autoconf-%%BUILD_VERSION%%/m4sugar/foreach.m4
+share/autoconf-%%BUILD_VERSION%%/m4sugar/m4sh.m4
+share/autoconf-%%BUILD_VERSION%%/m4sugar/m4sh.m4f
+share/autoconf-%%BUILD_VERSION%%/m4sugar/m4sugar.m4
+share/autoconf-%%BUILD_VERSION%%/m4sugar/m4sugar.m4f
+share/autoconf-%%BUILD_VERSION%%/m4sugar/version.m4
+share/autoconf-%%BUILD_VERSION%%/mdate-sh
+share/autoconf-%%BUILD_VERSION%%/missing
diff --git a/test-ports/devel/automake-wrapper/Makefile b/test-ports/devel/automake-wrapper/Makefile
new file mode 100644
index 00000000..2b8ff07c
--- /dev/null
+++ b/test-ports/devel/automake-wrapper/Makefile
@@ -0,0 +1,13 @@
+# $FreeBSD: head/devel/automake-wrapper/Makefile 340722 2014-01-22 17:00:46Z mat $
+
+PORTNAME= automake-wrapper
+
+COMMENT= Wrapper script for GNU automake
+
+MASTERDIR= ${.CURDIR}/../../devel/autoconf-wrapper
+PKGDIR= ${.CURDIR}
+
+TOOL= AUTOMAKE
+WRAPPED_TOOLS= aclocal automake
+
+.include "${MASTERDIR}/Makefile"
diff --git a/test-ports/devel/automake-wrapper/pkg-descr b/test-ports/devel/automake-wrapper/pkg-descr
new file mode 100644
index 00000000..a624f236
--- /dev/null
+++ b/test-ports/devel/automake-wrapper/pkg-descr
@@ -0,0 +1,3 @@
+This port installs a wrapper script for automake, with symlinks to the
+unversioned name of each tool included with automake. This allows the
+correct version to be selected depending on the user's requirements.
diff --git a/test-ports/devel/automake/Makefile b/test-ports/devel/automake/Makefile
new file mode 100644
index 00000000..361da64f
--- /dev/null
+++ b/test-ports/devel/automake/Makefile
@@ -0,0 +1,26 @@
+# Created by: Ade Lovett <ade@FreeBSD.org>
+# $FreeBSD: head/devel/automake/Makefile 412346 2016-04-01 14:00:51Z mat $
+
+PORTNAME= automake
+PORTVERSION= 1.15
+PORTREVISION= 1
+CATEGORIES= devel
+MASTER_SITES= GNU
+
+MAINTAINER= tijl@FreeBSD.org
+COMMENT= GNU Standards-compliant Makefile generator
+
+BUILD_DEPENDS= autoconf-2.69:devel/autoconf
+RUN_DEPENDS= autoconf-2.69:devel/autoconf \
+ automake-wrapper:devel/automake-wrapper
+
+BUILD_VERSION= 1.15
+PLIST_SUB= BUILD_VERSION=${BUILD_VERSION}
+USES= cpe makeinfo perl5 tar:xz
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS= --program-suffix=-${BUILD_VERSION}
+MAKE_ENV+= MAKEINFOFLAGS=--no-split
+INFO= automake
+CPE_VENDOR= gnu
+
+.include <bsd.port.mk>
diff --git a/test-ports/devel/automake/distinfo b/test-ports/devel/automake/distinfo
new file mode 100644
index 00000000..7611ba29
--- /dev/null
+++ b/test-ports/devel/automake/distinfo
@@ -0,0 +1,2 @@
+SHA256 (automake-1.15.tar.xz) = 9908c75aabd49d13661d6dcb1bc382252d22cc77bf733a2d55e87f2aa2db8636
+SIZE (automake-1.15.tar.xz) = 1496708
diff --git a/test-ports/devel/automake/files/patch-Makefile.in b/test-ports/devel/automake/files/patch-Makefile.in
new file mode 100644
index 00000000..ec534cf2
--- /dev/null
+++ b/test-ports/devel/automake/files/patch-Makefile.in
@@ -0,0 +1,27 @@
+--- Makefile.in.orig 2013-06-20 11:37:56.000000000 +0000
++++ Makefile.in 2013-06-26 18:43:25.000000000 +0000
+@@ -221,4 +221,3 @@
+ am__dirstamp = $(am__leading_dot)dirstamp
+-INFO_DEPS = $(srcdir)/doc/automake.info \
+- $(srcdir)/doc/automake-history.info
++INFO_DEPS = $(srcdir)/doc/automake.info
+ TEXINFO_TEX = $(top_srcdir)/lib/texinfo.tex
+@@ -690,3 +689,3 @@
+ AUTOMAKESOURCES = $(automake_in) $(aclocal_in)
+-info_TEXINFOS = doc/automake.texi doc/automake-history.texi
++info_TEXINFOS = doc/automake.texi
+ doc_automake_TEXINFOS = doc/fdl.texi
+@@ -723,3 +722,3 @@
+
+-dist_doc_DATA = $(srcdir)/doc/amhello-1.0.tar.gz
++dist_doc_DATA =
+ setup_autotools_paths = { \
+@@ -860,3 +859,3 @@
+
+-dist_system_ac_DATA = m4/acdir/README
++dist_system_ac_DATA =
+ automake_internal_acdir = $(automake_acdir)/internal
+@@ -3478,3 +3477,2 @@
+ @$(NORMAL_INSTALL)
+- $(MAKE) $(AM_MAKEFLAGS) install-exec-hook
+ install-html: install-html-am
diff --git a/test-ports/devel/automake/files/patch-bin-automake.in b/test-ports/devel/automake/files/patch-bin-automake.in
new file mode 100644
index 00000000..c58559ee
--- /dev/null
+++ b/test-ports/devel/automake/files/patch-bin-automake.in
@@ -0,0 +1,11 @@
+--- bin/automake.in.orig 2015-01-05 19:25:55 UTC
++++ bin/automake.in
+@@ -3878,7 +3878,7 @@ sub substitute_ac_subst_variables_worker
+ sub substitute_ac_subst_variables
+ {
+ my ($text) = @_;
+- $text =~ s/\${([^ \t=:+{}]+)}/substitute_ac_subst_variables_worker ($1)/ge;
++ $text =~ s/\$\{([^ \t=:+{}]+)\}/substitute_ac_subst_variables_worker ($1)/ge;
+ return $text;
+ }
+
diff --git a/test-ports/devel/automake/files/patch-doc__automake.texi b/test-ports/devel/automake/files/patch-doc__automake.texi
new file mode 100644
index 00000000..9f2f250b
--- /dev/null
+++ b/test-ports/devel/automake/files/patch-doc__automake.texi
@@ -0,0 +1,16 @@
+--- doc/automake.texi.orig 2012-04-21 07:38:05.000000000 -0700
++++ doc/automake.texi 2012-04-26 11:05:39.000000000 -0700
+@@ -38,3 +38,3 @@
+
+-@dircategory Software development
++@dircategory Programming & development toolS
+ @direntry
+@@ -43,8 +43,2 @@
+
+-@dircategory Individual utilities
+-@direntry
+-* aclocal-invocation: (automake)aclocal Invocation. Generating aclocal.m4.
+-* automake-invocation: (automake)automake Invocation. Generating Makefile.in.
+-@end direntry
+-
+ @titlepage
diff --git a/test-ports/devel/automake/pkg-descr b/test-ports/devel/automake/pkg-descr
new file mode 100644
index 00000000..f096d031
--- /dev/null
+++ b/test-ports/devel/automake/pkg-descr
@@ -0,0 +1,12 @@
+Automake is a tool for automatically generating Makefiles compliant with
+the GNU Coding Standards. It was inspired by the 4.4BSD make and include
+files, but aims to be portable and to conform to the GNU standards for
+Makefile variables and targets. Automake is a Perl script. The input files
+are called Makefile.am. The output files are called Makefile.in; They are
+intended for use with Autoconf. Automake requires certain things to be done
+in your configure.in. This package also includes the "aclocal"
+program. aclocal is a program to generate an 'aclocal.m4' based on the
+contents of 'configure.in'. It is useful as an extensible, maintainable
+mechanism for augmenting autoconf.
+
+WWW: https://www.gnu.org/software/automake/
diff --git a/test-ports/devel/automake/pkg-plist b/test-ports/devel/automake/pkg-plist
new file mode 100644
index 00000000..0537c7b7
--- /dev/null
+++ b/test-ports/devel/automake/pkg-plist
@@ -0,0 +1,116 @@
+bin/aclocal-%%BUILD_VERSION%%
+bin/automake-%%BUILD_VERSION%%
+man/man1/aclocal-%%BUILD_VERSION%%-%%BUILD_VERSION%%.1.gz
+man/man1/aclocal-%%BUILD_VERSION%%.1.gz
+man/man1/automake-%%BUILD_VERSION%%-%%BUILD_VERSION%%.1.gz
+man/man1/automake-%%BUILD_VERSION%%.1.gz
+share/aclocal-%%BUILD_VERSION%%/amversion.m4
+share/aclocal-%%BUILD_VERSION%%/ar-lib.m4
+share/aclocal-%%BUILD_VERSION%%/as.m4
+share/aclocal-%%BUILD_VERSION%%/auxdir.m4
+share/aclocal-%%BUILD_VERSION%%/cond.m4
+share/aclocal-%%BUILD_VERSION%%/cond-if.m4
+share/aclocal-%%BUILD_VERSION%%/depend.m4
+share/aclocal-%%BUILD_VERSION%%/depout.m4
+share/aclocal-%%BUILD_VERSION%%/dmalloc.m4
+share/aclocal-%%BUILD_VERSION%%/extra-recurs.m4
+share/aclocal-%%BUILD_VERSION%%/gcj.m4
+share/aclocal-%%BUILD_VERSION%%/init.m4
+share/aclocal-%%BUILD_VERSION%%/install-sh.m4
+share/aclocal-%%BUILD_VERSION%%/lead-dot.m4
+share/aclocal-%%BUILD_VERSION%%/lex.m4
+share/aclocal-%%BUILD_VERSION%%/lispdir.m4
+share/aclocal-%%BUILD_VERSION%%/maintainer.m4
+share/aclocal-%%BUILD_VERSION%%/make.m4
+share/aclocal-%%BUILD_VERSION%%/missing.m4
+share/aclocal-%%BUILD_VERSION%%/mkdirp.m4
+share/aclocal-%%BUILD_VERSION%%/obsolete.m4
+share/aclocal-%%BUILD_VERSION%%/options.m4
+share/aclocal-%%BUILD_VERSION%%/prog-cc-c-o.m4
+share/aclocal-%%BUILD_VERSION%%/python.m4
+share/aclocal-%%BUILD_VERSION%%/runlog.m4
+share/aclocal-%%BUILD_VERSION%%/sanity.m4
+share/aclocal-%%BUILD_VERSION%%/silent.m4
+share/aclocal-%%BUILD_VERSION%%/strip.m4
+share/aclocal-%%BUILD_VERSION%%/substnot.m4
+share/aclocal-%%BUILD_VERSION%%/tar.m4
+share/aclocal-%%BUILD_VERSION%%/upc.m4
+share/aclocal-%%BUILD_VERSION%%/vala.m4
+share/aclocal-%%BUILD_VERSION%%/internal/ac-config-macro-dirs.m4
+share/automake-%%BUILD_VERSION%%/Automake/ChannelDefs.pm
+share/automake-%%BUILD_VERSION%%/Automake/Channels.pm
+share/automake-%%BUILD_VERSION%%/Automake/Condition.pm
+share/automake-%%BUILD_VERSION%%/Automake/Config.pm
+share/automake-%%BUILD_VERSION%%/Automake/Configure_ac.pm
+share/automake-%%BUILD_VERSION%%/Automake/DisjConditions.pm
+share/automake-%%BUILD_VERSION%%/Automake/FileUtils.pm
+share/automake-%%BUILD_VERSION%%/Automake/General.pm
+share/automake-%%BUILD_VERSION%%/Automake/Getopt.pm
+share/automake-%%BUILD_VERSION%%/Automake/Item.pm
+share/automake-%%BUILD_VERSION%%/Automake/ItemDef.pm
+share/automake-%%BUILD_VERSION%%/Automake/Language.pm
+share/automake-%%BUILD_VERSION%%/Automake/Location.pm
+share/automake-%%BUILD_VERSION%%/Automake/Options.pm
+share/automake-%%BUILD_VERSION%%/Automake/Rule.pm
+share/automake-%%BUILD_VERSION%%/Automake/RuleDef.pm
+share/automake-%%BUILD_VERSION%%/Automake/VarDef.pm
+share/automake-%%BUILD_VERSION%%/Automake/Variable.pm
+share/automake-%%BUILD_VERSION%%/Automake/Version.pm
+share/automake-%%BUILD_VERSION%%/Automake/Wrap.pm
+share/automake-%%BUILD_VERSION%%/Automake/XFile.pm
+share/automake-%%BUILD_VERSION%%/COPYING
+share/automake-%%BUILD_VERSION%%/INSTALL
+share/automake-%%BUILD_VERSION%%/am/check.am
+share/automake-%%BUILD_VERSION%%/am/check2.am
+share/automake-%%BUILD_VERSION%%/am/clean-hdr.am
+share/automake-%%BUILD_VERSION%%/am/clean.am
+share/automake-%%BUILD_VERSION%%/am/compile.am
+share/automake-%%BUILD_VERSION%%/am/configure.am
+share/automake-%%BUILD_VERSION%%/am/data.am
+share/automake-%%BUILD_VERSION%%/am/dejagnu.am
+share/automake-%%BUILD_VERSION%%/am/depend.am
+share/automake-%%BUILD_VERSION%%/am/depend2.am
+share/automake-%%BUILD_VERSION%%/am/distdir.am
+share/automake-%%BUILD_VERSION%%/am/footer.am
+share/automake-%%BUILD_VERSION%%/am/header-vars.am
+share/automake-%%BUILD_VERSION%%/am/header.am
+share/automake-%%BUILD_VERSION%%/am/install.am
+share/automake-%%BUILD_VERSION%%/am/inst-vars.am
+share/automake-%%BUILD_VERSION%%/am/java.am
+share/automake-%%BUILD_VERSION%%/am/lang-compile.am
+share/automake-%%BUILD_VERSION%%/am/lex.am
+share/automake-%%BUILD_VERSION%%/am/library.am
+share/automake-%%BUILD_VERSION%%/am/libs.am
+share/automake-%%BUILD_VERSION%%/am/libtool.am
+share/automake-%%BUILD_VERSION%%/am/lisp.am
+share/automake-%%BUILD_VERSION%%/am/ltlib.am
+share/automake-%%BUILD_VERSION%%/am/ltlibrary.am
+share/automake-%%BUILD_VERSION%%/am/mans-vars.am
+share/automake-%%BUILD_VERSION%%/am/mans.am
+share/automake-%%BUILD_VERSION%%/am/program.am
+share/automake-%%BUILD_VERSION%%/am/progs.am
+share/automake-%%BUILD_VERSION%%/am/python.am
+share/automake-%%BUILD_VERSION%%/am/remake-hdr.am
+share/automake-%%BUILD_VERSION%%/am/scripts.am
+share/automake-%%BUILD_VERSION%%/am/subdirs.am
+share/automake-%%BUILD_VERSION%%/am/tags.am
+share/automake-%%BUILD_VERSION%%/am/texi-vers.am
+share/automake-%%BUILD_VERSION%%/am/texibuild.am
+share/automake-%%BUILD_VERSION%%/am/texinfos.am
+share/automake-%%BUILD_VERSION%%/am/vala.am
+share/automake-%%BUILD_VERSION%%/am/yacc.am
+share/automake-%%BUILD_VERSION%%/ar-lib
+share/automake-%%BUILD_VERSION%%/compile
+share/automake-%%BUILD_VERSION%%/config.guess
+share/automake-%%BUILD_VERSION%%/config.sub
+share/automake-%%BUILD_VERSION%%/depcomp
+share/automake-%%BUILD_VERSION%%/install-sh
+share/automake-%%BUILD_VERSION%%/mdate-sh
+share/automake-%%BUILD_VERSION%%/missing
+share/automake-%%BUILD_VERSION%%/mkinstalldirs
+share/automake-%%BUILD_VERSION%%/py-compile
+share/automake-%%BUILD_VERSION%%/tap-driver.sh
+share/automake-%%BUILD_VERSION%%/test-driver
+share/automake-%%BUILD_VERSION%%/texinfo.tex
+share/automake-%%BUILD_VERSION%%/ylwrap
+@dir share/aclocal
diff --git a/test-ports/devel/ccache/Makefile b/test-ports/devel/ccache/Makefile
new file mode 100644
index 00000000..eeae3bbc
--- /dev/null
+++ b/test-ports/devel/ccache/Makefile
@@ -0,0 +1,123 @@
+# Created by: Dominic Marks <d.marks@student.umist.ac.uk>
+# $FreeBSD: head/devel/ccache/Makefile 440469 2017-05-09 03:52:02Z bdrewery $
+
+PORTNAME= ccache
+PORTVERSION= 3.3.4
+PORTREVISION= 3
+CATEGORIES= devel
+MASTER_SITES= http://www.samba.org/ftp/ccache/ \
+ LOCAL/bdrewery
+
+MAINTAINER= bdrewery@FreeBSD.org
+COMMENT= Tool to minimize the compile time of C/C++ programs
+
+LICENSE= GPLv3
+
+CONFLICTS_INSTALL= ccache-static-[0-9]* ccache-memcached-[0-9]* ccache-memcached-static-[0-9]*
+
+GNU_CONFIGURE= yes
+
+HOWTO= ccache-howto-freebsd.txt
+CCLINKDIR= libexec/ccache
+SUB_FILES= ${HOWTO} world-ccache pkg-message ccache-update-links.sh
+
+PORTDOCS= ccache-howto-freebsd.txt MANUAL.html MANUAL.txt
+
+OPTIONS_DEFINE= CLANGLINK LLVMLINK STATIC DOCS TINDERBOX MEMCACHED
+OPTIONS_DEFAULT=CLANGLINK LLVMLINK
+
+CLANGLINK_DESC= Create clang compiler links if clang is installed
+LLVMLINK_DESC= Create llvm compiler links if llvm is installed
+TINDERBOX_DESC= Create tarball for tinderbox usage
+MEMCACHED_DESC= Build in experimental Memcached support
+
+USES= compiler
+
+MEMCACHED_EXTRA_PATCHES= ${FILESDIR}/extra-patch-memcached:-p1 \
+ ${FILESDIR}/extra-patch-memcached-ccache.c \
+ ${FILESDIR}/extra-patch-memcached-configure.ac \
+ ${FILESDIR}/extra-patch-memcached-Makefile.in
+MEMCACHED_CONFIGURE_ENABLE= memcached
+MEMCACHED_USES= autoreconf pkgconfig
+MEMCACHED_LIB_DEPENDS= libmemcached.so:databases/libmemcached
+MEMCACHED_LDFLAGS= -L${LOCALBASE}/lib
+MEMCACHED_CFLAGS= -I${LOCALBASE}/include
+
+STATIC_CONFIGURE_ENABLE= static
+
+.if defined(WITH_CCACHE_BUILD) && empty(OPTIONS_SLAVE:MMEMCACHED) && \
+ !defined(NO_CCACHE_DEPEND)
+# Don't allow autoreconf. We want no dependencies on this to keep
+# WITH_CCACHE_BUILD working.
+USES:= ${USES:Nautoreconf}
+
+MEMCACHED_IGNORE= MEMCACHED cannot be combined with WITH_CCACHE_BUILD. Use devel/ccache-memcached
+# XXX: This needs more testing with Poudriere before enabling. Also bsd.options.mk support.
+#MEMCACHED_DEPENDS_ARGS+= NO_CCACHE_DEPEND=1
+.endif
+
+# Support WITH_CCACHE_BUILD but don't depend on it.
+NO_CCACHE_DEPEND= yes
+
+OPTIONS_SUB= yes
+
+.include <bsd.port.pre.mk>
+
+. if ${COMPILER_TYPE} == clang
+CPPFLAGS+= -DCC_IS_CLANG
+. elif ${COMPILER_TYPE} == gcc
+CPPFLAGS+= -DCC_IS_GCC
+. endif
+
+PLIST_SUB+= CCLINKDIR="${CCLINKDIR}"
+
+.if ${ARCH}=="i386"
+CCACHE_COMPILERS+= icc icpc
+.endif
+
+GNU_COMPILERS+= 34 42 43 44 45 46 47 48 49 5 6 7
+CCACHE_COMPILERS+= cc c++ CC gcc g++ ${GNU_COMPILERS:S|^|gcc|} ${GNU_COMPILERS:S|^|g++|}
+
+.if ${PORT_OPTIONS:MCLANGLINK}
+CLANG_COMPILERS+= 33 34 35 36 37 38 39 40 -devel
+CCACHE_COMPILERS+= clang clang++ ${CLANG_COMPILERS:S|^|clang|} ${CLANG_COMPILERS:S|^|clang++|}
+.endif
+
+.if ${PORT_OPTIONS:MLLVMLINK}
+CCACHE_COMPILERS+= llvm-gcc llvm-c++ llvm-g++
+.endif
+
+CCACHE_COMPILERS+= ${EXTRA_COMPILERS}
+SUB_LIST+= CCACHE_COMPILERS="${CCACHE_COMPILERS}" \
+ CCLINKDIR="${CCLINKDIR}" \
+ ICCPREFIX="${LOCALBASE}/intel_cc_80/bin" \
+ HOWTO="${HOWTO}"
+
+post-build-TINDERBOX-on:
+ @${MKDIR} ${WRKDIR}/tb/opt
+ @${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${WRKDIR}/tb/opt
+.for l in ${CCACHE_COMPILERS}
+ @${LN} -sf ${PORTNAME} ${WRKDIR}/tb/opt/${l}
+.endfor
+ @${TAR} -C ${WRKDIR}/tb -cpf ${WRKSRC}/${PORTNAME}.tar opt
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/ccache ${STAGEDIR}${PREFIX}/bin
+ ${INSTALL_MAN} ${WRKSRC}/ccache.1 ${STAGEDIR}${PREFIX}/man/man1
+ ${MKDIR} ${STAGEDIR}${PREFIX}/${CCLINKDIR}/world
+ ${INSTALL_SCRIPT} ${WRKDIR}/world-ccache \
+ ${STAGEDIR}${PREFIX}/${CCLINKDIR}/world/ccache
+ ${INSTALL_SCRIPT} ${WRKDIR}/ccache-update-links.sh \
+ ${STAGEDIR}${PREFIX}/bin/ccache-update-links
+
+do-install-TINDERBOX-on:
+ ${MKDIR} ${STAGEDIR}${DATADIR}
+ ${INSTALL_DATA} ${WRKSRC}/${PORTNAME}.tar ${STAGEDIR}${DATADIR}
+
+do-install-DOCS-on:
+ ${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/MANUAL.html ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/MANUAL.txt ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${WRKDIR}/${HOWTO} ${STAGEDIR}${DOCSDIR}
+
+.include <bsd.port.post.mk>
diff --git a/test-ports/devel/ccache/distinfo b/test-ports/devel/ccache/distinfo
new file mode 100644
index 00000000..53c4c465
--- /dev/null
+++ b/test-ports/devel/ccache/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1487435289
+SHA256 (ccache-3.3.4.tar.gz) = 1348b54e7c35dd2f8d17923389e03c546e599cfbde6459d2f31cf6f1521ec538
+SIZE (ccache-3.3.4.tar.gz) = 449905
diff --git a/test-ports/devel/ccache/files/ccache-howto-freebsd.txt.in b/test-ports/devel/ccache/files/ccache-howto-freebsd.txt.in
new file mode 100644
index 00000000..775126e9
--- /dev/null
+++ b/test-ports/devel/ccache/files/ccache-howto-freebsd.txt.in
@@ -0,0 +1,75 @@
+#
+# $FreeBSD: head/devel/ccache/files/ccache-howto-freebsd.txt.in 340872 2014-01-24 00:14:07Z mat $
+#
+
+To use ccache for ports, just add WITH_CCACHE_BUILD=yes to
+/etc/make.conf. The rest of this guide is for building
+/usr/src and other checkouts.
+
+To use ccache for base add the following to /etc/make.conf.
+You can replace cc and c++ with the compilers of your choice.
+(remember that only GCC and Clang can build world and kernel)
+
+.if (!empty(.CURDIR:M/usr/src*) || !empty(.CURDIR:M/usr/obj*))
+.if !defined(NOCCACHE) && exists(%%PREFIX%%/%%CCLINKDIR%%/world/cc)
+CC:=${CC:C,^cc,%%PREFIX%%/%%CCLINKDIR%%/world/cc,1}
+CXX:=${CXX:C,^c\+\+,%%PREFIX%%/%%CCLINKDIR%%/world/c++,1}
+.endif
+.endif
+
+For Korn/Bourne shells Add the following to /etc/profile:
+ export PATH=%%PREFIX%%/%%CCLINKDIR%%:$PATH
+ export CCACHE_PATH=/usr/bin:%%LOCALBASE%%/bin
+
+For csh/tcsh Add the following to /etc/csh.cshrc:
+ setenv PATH %%PREFIX%%/%%CCLINKDIR%%:$PATH
+ setenv CCACHE_PATH /usr/bin:%%LOCALBASE%%/bin
+
+For icc users:
+ Add %%ICCPREFIX%% to CCACHE_PATH
+
+--
+
+To use distcc:
+
+For Korn/Bourne shells Add the following to /etc/profile:
+ export CCACHE_PREFIX=distcc
+ export DISTCC_HOSTS="localhost host1 host2"
+
+For csh/tcsh Add the following to /etc/csh.cshrc:
+ setenv CCACHE_PREFIX distcc
+ setenv DISTCC_HOSTS "localhost host1 host2"
+
+--
+
+If you have a problem building world
+define NOCCACHE and try again.
+
+If you have a problem building a port
+reset PATH=$CCACHE_PATH and try again.
+
+--
+
+Make sure you run 'ccache-update-links' after you install/uninstall
+additional compilers in order to create/remove compiler links.
+
+Clang will return a lot of 'unused argument' warnings: they are harmless.
+Just add this to /etc/make.conf if you want to hide them:
+.if ${CC:T} == "clang"
+CFLAGS+= -Qunused-arguments
+.endif
+
+Any time you change CC/CXX you need to reinstall devel/libtool or you
+will run in to problems.
+
+--
+
+Ccache's default cache size is 1GB and this is larger than the default size of
+the root partition (/) on FreeBSD. To over come this you may specify a new
+cache location on a different partition with the following examples.
+
+For Korn/Bourne shells Add the following to /etc/profile:
+ export CCACHE_DIR=/usr/.ccache
+
+For csh/tcsh Add the following to /etc/csh.cshrc
+ setenv CCACHE_DIR "/usr/.ccache"
diff --git a/test-ports/devel/ccache/files/ccache-update-links.sh.in b/test-ports/devel/ccache/files/ccache-update-links.sh.in
new file mode 100644
index 00000000..15bc180a
--- /dev/null
+++ b/test-ports/devel/ccache/files/ccache-update-links.sh.in
@@ -0,0 +1,72 @@
+#!/bin/sh
+#
+# Author: Emanuel Haupt <ehaupt@FreeBSD.org>
+#
+# $FreeBSD: head/devel/ccache/files/ccache-update-links.sh.in 435560 2017-03-06 17:50:14Z bdrewery $
+#
+
+CCACHE_COMPILERS="%%CCACHE_COMPILERS%% ${EXTRA_COMPILERS}"
+CCLINKDIR="%%CCLINKDIR%%"
+PREFIX="%%PREFIX%%"
+
+usage() {
+ cat << "EOUSAGE"
+Usage: ccache-update-links [hv]
+
+ccache-update-links maintains symlinks needed by ccache to work with additional
+compilers.
+
+ -h, --help this help
+ -v verbose
+
+EOUSAGE
+}
+
+case "$1"
+in
+ -h|--help)
+ usage
+ ;;
+esac
+
+strip_path() {
+ local IFS=":"
+ local path
+ set -- ${PATH}
+ while [ $# -gt 0 ]; do
+ if ! [ "${1}" = "${PREFIX}/libexec/ccache" ]; then
+ path="${path}${path:+:}${1}"
+ fi
+ shift
+ done
+ echo "${path}"
+}
+
+# Remove ccache wrappers from PATH
+PATH=$(strip_path)
+
+# create compiler links
+for comp in ${CCACHE_COMPILERS}
+do
+ if command -v "${comp}" >/dev/null; then
+ if [ ! -L "${PREFIX}/${CCLINKDIR}/${comp}" ]; then
+ [ "$1" = "-v" ] && echo "create symlink for ${comp}"
+ ln -sf ${PREFIX}/bin/ccache ${PREFIX}/${CCLINKDIR}/${comp}
+ fi
+
+ if [ ! -L "${PREFIX}/${CCLINKDIR}/world/${comp}" ]; then
+ [ "$1" = "-v" ] && echo "create symlink for ${comp} (world)"
+ ln -sf ccache ${PREFIX}/${CCLINKDIR}/world/${comp}
+ fi
+ else
+ if [ -L "${PREFIX}/${CCLINKDIR}/${comp}" ]; then
+ [ "$1" = "-v" ] && echo "remove symlink for ${comp}"
+ rm -f ${PREFIX}/${CCLINKDIR}/${comp}
+ fi
+
+ if [ -L "${PREFIX}/${CCLINKDIR}/world/${comp}" ]; then
+ [ "$1" = "-v" ] && echo "remove symlink for ${comp} (world)"
+ rm -f ${PREFIX}/${CCLINKDIR}/world/${comp}
+ fi
+ fi
+done
diff --git a/test-ports/devel/ccache/files/extra-patch-memcached b/test-ports/devel/ccache/files/extra-patch-memcached
new file mode 100644
index 00000000..f80d6d2d
--- /dev/null
+++ b/test-ports/devel/ccache/files/extra-patch-memcached
@@ -0,0 +1,2396 @@
+https://github.com/ccache/ccache/pull/58
+Retrieved on February 13th 2017.
+Changes to .travis.yml removed since it is not in the release image.
+
+diff --git a/MANUAL.txt b/MANUAL.txt
+index ab01886..c78bb6e 100644
+--- a/MANUAL.txt
++++ b/MANUAL.txt
+@@ -418,6 +418,20 @@ WRAPPERS>>.
+ The default value is 5G. Available suffixes: k, M, G, T (decimal) and Ki,
+ Mi, Gi, Ti (binary). The default suffix is "G".
+
++*memcached_conf* (*CCACHE_MEMCACHED_CONF*)::
++
++ The memcached_conf option sets the memcached(3) configuration to use for
++ storing and getting cache values, if any. Example configuration:
+++
++-------------------------------------------------------------------------------
++CCACHE_MEMCACHED_CONF=--SERVER=localhost:11211
++-------------------------------------------------------------------------------
++
++*memcached_only* (*CCACHE_MEMCACHED_ONLY*)::
++
++ Only store files in memcached, don't store them in the local filesystems.
++ The manifests (for direct mode) and stats are still being stored locally.
++
+ *path* (*CCACHE_PATH*)::
+
+ If set, ccache will search directories in this list when looking for the
+@@ -451,6 +465,11 @@ WRAPPERS>>.
+ from the cache using the direct mode, not the preprocessor mode. See
+ documentation for *read_only* regarding using a read-only ccache directory.
+
++*read_only_memcached* (*CCACHE_READONLY_MEMCACHED* or *CCACHE_NOREADONLY_MEMCACHED*), see <<_boolean_values,Boolean values>> above)::
++
++ If true, ccache will attempt to get previously cached values from memcached,
++ but will not try to store any new values in memcached.
++
+ *recache* (*CCACHE_RECACHE* or *CCACHE_NORECACHE*, see <<_boolean_values,Boolean values>> above)::
+
+ If true, ccache will not use any previously stored result. New results will
+@@ -769,6 +788,29 @@ A tip is to set *temporary_dir* to a directory on the local host to avoid NFS
+ traffic for temporary files.
+
+
++Sharing a cache with memcached
++------------------------------
++
++When using the *memcached* (<http://memcached.org>) feature, the most recently
++used cache entries are also available from the configured memcached servers.
++
++The local cache directory will be searched first, but then it will still be
++possible to get cache hits (over the network) before having to run the
++compiler.
++
++Using a local *moxi* (memcached proxy) will enable multiple ccache invocations
++to share memcached connections and thus avoid some of the network overhead.
++
++It will also allow you to fine-tune connection timeouts and other settings. You
++can optionally replace your memcached servers with Couchbase servers.
++
++Example:
++
++-------------------------------------------------------------------------------
++moxi -z 11211=mc_server1:11211,mc_server2:11211
++-------------------------------------------------------------------------------
++
++
+ Using ccache with other compiler wrappers
+ -----------------------------------------
+
+diff --git a/Makefile.in b/Makefile.in
+index 5aee02d..08b3633 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -37,6 +37,7 @@ non_3pp_sources = \
+ lockfile.c \
+ manifest.c \
+ mdfour.c \
++ memccached.c \
+ stats.c \
+ unify.c \
+ util.c \
+@@ -101,7 +102,7 @@ perf: ccache$(EXEEXT)
+ .PHONY: test
+ test: ccache$(EXEEXT) test/main$(EXEEXT)
+ test/main$(EXEEXT)
+- CC='$(CC)' $(srcdir)/test.sh
++ CC='$(CC)' @ccache_memcached@$(srcdir)/test.sh
+
+ .PHONY: quicktest
+ quicktest: test/main$(EXEEXT)
+diff --git a/ccache.c b/ccache.c
+index 88e0ec5..12026c7 100644
+--- a/ccache.c
++++ b/ccache.c
+@@ -102,6 +102,9 @@ static char *output_dia = NULL;
+ // Split dwarf information (GCC 4.8 andup). Contains pathname if not NULL.
+ static char *output_dwo = NULL;
+
++// The cached key.
++static char *cached_key;
++
+ // Array for storing -arch options.
+ #define MAX_ARCH_ARGS 10
+ static size_t arch_args_size = 0;
+@@ -123,6 +126,9 @@ static char *cached_stderr;
+ // (cachedir/a/b/cdef[...]-size.d).
+ static char *cached_dep;
+
++// The manifest key.
++static char *manifest_name;
++
+ // Full path to the file containing the coverage information
+ // (cachedir/a/b/cdef[...]-size.gcno).
+ static char *cached_cov;
+@@ -239,6 +245,18 @@ static pid_t compiler_pid = 0;
+ // stored in the cache changes in a backwards-incompatible way.
+ static const char HASH_PREFIX[] = "3";
+
++static void from_fscache(enum fromcache_call_mode mode,
++ bool put_object_in_manifest);
++static void to_fscache(struct args *args);
++#ifdef HAVE_LIBMEMCACHED
++static void from_memcached(enum fromcache_call_mode mode,
++ bool put_object_in_manifest);
++static void to_memcached(struct args *args);
++#endif
++static void (*from_cache)(enum fromcache_call_mode mode,
++ bool put_object_in_manifest);
++static void (*to_cache)(struct args *args);
++
+ static void
+ add_prefix(struct args *args, char *prefix_command)
+ {
+@@ -952,6 +970,28 @@ put_file_in_cache(const char *source, const char *dest)
+ stats_update_size(file_size(&st), 1);
+ }
+
++#ifdef HAVE_LIBMEMCACHED
++// Copy data to the cache.
++static void
++put_data_in_cache(void *data, size_t size, const char *dest)
++{
++ int ret;
++
++ assert(!conf->read_only);
++ assert(!conf->read_only_direct);
++
++ /* already compressed (in cache) */
++ ret = write_file(data, dest, size);
++ if (ret != 0) {
++ cc_log("Failed to write to %s: %s", dest, strerror(errno));
++ stats_update(STATS_ERROR);
++ failed();
++ }
++ cc_log("Stored in cache: %zu bytes -> %s", size, dest);
++ stats_update_size(size, 1);
++}
++#endif
++
+ // Copy or link a file from the cache.
+ static void
+ get_file_from_cache(const char *source, const char *dest)
+@@ -1006,6 +1046,11 @@ send_cached_stderr(void)
+ // Create or update the manifest file.
+ void update_manifest_file(void)
+ {
++#ifdef HAVE_LIBMEMCACHED
++ char *data;
++ size_t size;
++#endif
++
+ if (!conf->direct_mode
+ || !included_files
+ || conf->read_only
+@@ -1023,6 +1068,14 @@ void update_manifest_file(void)
+ update_mtime(manifest_path);
+ if (x_stat(manifest_path, &st) == 0) {
+ stats_update_size(file_size(&st) - old_size, old_size == 0 ? 1 : 0);
++#if HAVE_LIBMEMCACHED
++ if (strlen(conf->memcached_conf) > 0 && !conf->read_only_memcached &&
++ read_file(manifest_path, st.st_size, &data, &size)) {
++ cc_log("Storing %s in memcached", manifest_name);
++ memccached_raw_set(manifest_name, data, size);
++ free(data);
++ }
++#endif
+ }
+ } else {
+ cc_log("Failed to add object file hash to %s", manifest_path);
+@@ -1031,8 +1084,12 @@ void update_manifest_file(void)
+
+ // Run the real compiler and put the result in cache.
+ static void
+-to_cache(struct args *args)
++to_fscache(struct args *args)
+ {
++#ifdef HAVE_LIBMEMCACHED
++ char *data_obj, *data_stderr, *data_dia, *data_dep;
++ size_t size_obj, size_stderr, size_dia, size_dep;
++#endif
+ char *tmp_stdout = format("%s.tmp.stdout", cached_obj);
+ int tmp_stdout_fd = create_tmp_fd(&tmp_stdout);
+ char *tmp_stderr = format("%s.tmp.stderr", cached_obj);
+@@ -1288,6 +1345,40 @@ to_cache(struct args *args)
+ }
+ }
+
++#ifdef HAVE_LIBMEMCACHED
++ if (strlen(conf->memcached_conf) > 0 && !conf->read_only_memcached &&
++ !using_split_dwarf && /* no support for the dwo files just yet */
++ !generating_coverage) { /* coverage refers to local paths anyway */
++ cc_log("Storing %s in memcached", cached_key);
++ if (!read_file(cached_obj, 0, &data_obj, &size_obj)) {
++ data_obj = NULL;
++ size_obj = 0;
++ }
++ if (!read_file(cached_stderr, 0, &data_stderr, &size_stderr)) {
++ data_stderr = NULL;
++ size_stderr = 0;
++ }
++ if (!read_file(cached_dia, 0, &data_dia, &size_dia)) {
++ data_dia = NULL;
++ size_dia = 0;
++ }
++ if (!read_file(cached_dep, 0, &data_dep, &size_dep)) {
++ data_dep = NULL;
++ size_dep = 0;
++ }
++
++ if (data_obj) {
++ memccached_set(cached_key,
++ data_obj, data_stderr, data_dia, data_dep,
++ size_obj, size_stderr, size_dia, size_dep);
++ }
++
++ free(data_obj);
++ free(data_stderr);
++ free(data_dia);
++ free(data_dep);
++ }
++#endif
+ // Everything OK.
+ send_cached_stderr();
+ update_manifest_file();
+@@ -1298,6 +1389,226 @@ to_cache(struct args *args)
+ free(tmp_dwo);
+ }
+
++#ifdef HAVE_LIBMEMCACHED
++// Run the real compiler and put the result in cache.
++static void
++to_memcached(struct args *args)
++{
++ const char *tmp_dir = temp_dir();
++ char *tmp_stdout, *tmp_stderr;
++ char *stderr_d, *obj_d, *dia_d = NULL, *dep_d = NULL;
++ size_t stderr_l = 0, obj_l = 0, dia_l = 0, dep_l = 0;
++ struct stat st;
++ int status, tmp_stdout_fd, tmp_stderr_fd;
++
++ tmp_stdout = format("%s/%s.tmp.stdout.%s", tmp_dir, cached_obj, tmp_string());
++ tmp_stdout_fd = create_tmp_fd(&tmp_stdout);
++ tmp_stderr = format("%s/%s.tmp.stderr.%s", tmp_dir, cached_obj, tmp_string());
++ tmp_stderr_fd = create_tmp_fd(&tmp_stderr);
++
++ if (generating_coverage) {
++ cc_log("No memcached support for coverage yet");
++ failed();
++ }
++ if (using_split_dwarf) {
++ cc_log("No memcached support for split dwarf yet");
++ failed();
++ }
++
++ if (create_parent_dirs(tmp_stdout) != 0) {
++ fatal("Failed to create parent directory for %s: %s",
++ tmp_stdout, strerror(errno));
++ }
++
++ args_add(args, "-o");
++ args_add(args, output_obj);
++
++ if (output_dia) {
++ args_add(args, "--serialize-diagnostics");
++ args_add(args, output_dia);
++ }
++
++ /* Turn off DEPENDENCIES_OUTPUT when running cc1, because
++ * otherwise it will emit a line like
++ *
++ * tmp.stdout.vexed.732.o: /home/mbp/.ccache/tmp.stdout.vexed.732.i
++ */
++ x_unsetenv("DEPENDENCIES_OUTPUT");
++
++ if (conf->run_second_cpp) {
++ args_add(args, input_file);
++ } else {
++ args_add(args, i_tmpfile);
++ }
++
++ cc_log("Running real compiler");
++ status = execute(args->argv, tmp_stdout_fd, tmp_stderr_fd, &compiler_pid);
++ args_pop(args, 3);
++
++ if (x_stat(tmp_stdout, &st) != 0) {
++ /* The stdout file was removed - cleanup in progress? Better bail out. */
++ stats_update(STATS_MISSING);
++ tmp_unlink(tmp_stdout);
++ tmp_unlink(tmp_stderr);
++ failed();
++ }
++ if (st.st_size != 0) {
++ cc_log("Compiler produced stdout");
++ stats_update(STATS_STDOUT);
++ tmp_unlink(tmp_stdout);
++ tmp_unlink(tmp_stderr);
++ failed();
++ }
++ tmp_unlink(tmp_stdout);
++
++ /*
++ * Merge stderr from the preprocessor (if any) and stderr from the real
++ * compiler into tmp_stderr.
++ */
++ if (cpp_stderr) {
++ int fd_cpp_stderr;
++ int fd_real_stderr;
++ int fd_result;
++ char *tmp_stderr2;
++
++ tmp_stderr2 = format("%s.2", tmp_stderr);
++ if (x_rename(tmp_stderr, tmp_stderr2)) {
++ cc_log("Failed to rename %s to %s: %s", tmp_stderr, tmp_stderr2,
++ strerror(errno));
++ failed();
++ }
++ fd_cpp_stderr = open(cpp_stderr, O_RDONLY | O_BINARY);
++ if (fd_cpp_stderr == -1) {
++ cc_log("Failed opening %s: %s", cpp_stderr, strerror(errno));
++ failed();
++ }
++ fd_real_stderr = open(tmp_stderr2, O_RDONLY | O_BINARY);
++ if (fd_real_stderr == -1) {
++ cc_log("Failed opening %s: %s", tmp_stderr2, strerror(errno));
++ failed();
++ }
++ fd_result = open(tmp_stderr, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, 0666);
++ if (fd_result == -1) {
++ cc_log("Failed opening %s: %s", tmp_stderr, strerror(errno));
++ failed();
++ }
++ copy_fd(fd_cpp_stderr, fd_result);
++ copy_fd(fd_real_stderr, fd_result);
++ close(fd_cpp_stderr);
++ close(fd_real_stderr);
++ close(fd_result);
++ tmp_unlink(tmp_stderr2);
++ free(tmp_stderr2);
++ }
++
++ if (status != 0) {
++ int fd;
++ cc_log("Compiler gave exit status %d", status);
++ stats_update(STATS_STATUS);
++
++ fd = open(tmp_stderr, O_RDONLY | O_BINARY);
++ if (fd != -1) {
++ /* We can output stderr immediately instead of rerunning the compiler. */
++ copy_fd(fd, 2);
++ close(fd);
++ tmp_unlink(tmp_stderr);
++
++ x_exit(status);
++ }
++
++ tmp_unlink(tmp_stderr);
++ failed();
++ }
++
++ if (stat(output_obj, &st) != 0) {
++ cc_log("Compiler didn't produce an object file");
++ stats_update(STATS_NOOUTPUT);
++ failed();
++ }
++ if (st.st_size == 0) {
++ cc_log("Compiler produced an empty object file");
++ stats_update(STATS_EMPTYOUTPUT);
++ failed();
++ }
++
++ if (x_stat(tmp_stderr, &st) != 0) {
++ stats_update(STATS_ERROR);
++ failed();
++ }
++ /* cache stderr */
++ if (!read_file(tmp_stderr, 0, &stderr_d, &stderr_l)) {
++ stats_update(STATS_ERROR);
++ failed();
++ }
++ tmp_unlink(tmp_stderr);
++
++ if (output_dia) {
++ if (x_stat(output_dia, &st) != 0) {
++ stats_update(STATS_ERROR);
++ failed();
++ }
++ /* cache dia */
++ if (!read_file(output_dia, 0, &dia_d, &dia_l)) {
++ stats_update(STATS_ERROR);
++ failed();
++ }
++ }
++
++ /* cache output */
++ if (!read_file(output_obj, 0, &obj_d, &obj_l)) {
++ stats_update(STATS_ERROR);
++ failed();
++ }
++
++ if (generating_dependencies) {
++ if (!read_file(output_dep, 0, &dep_d, &dep_l)) {
++ stats_update(STATS_ERROR);
++ failed();
++ }
++ }
++
++ if (memccached_set(cached_key, obj_d, stderr_d, dia_d, dep_d,
++ obj_l, stderr_l, dia_l, dep_l) < 0) {
++ stats_update(STATS_ERROR);
++ failed();
++ }
++
++ cc_log("Storing %s in memcached", cached_key);
++
++ stats_update(STATS_TOCACHE);
++
++ /* Make sure we have a CACHEDIR.TAG in the cache part of cache_dir. This can
++ * be done almost anywhere, but we might as well do it near the end as we
++ * save the stat call if we exit early.
++ */
++ {
++ char *first_level_dir = dirname(stats_file);
++ if (create_cachedirtag(first_level_dir) != 0) {
++ cc_log("Failed to create %s/CACHEDIR.TAG (%s)\n",
++ first_level_dir, strerror(errno));
++ stats_update(STATS_ERROR);
++ failed();
++ }
++ free(first_level_dir);
++
++ /* Remove any CACHEDIR.TAG on the cache_dir level where it was located in
++ * previous ccache versions. */
++ if (getpid() % 1000 == 0) {
++ char *path = format("%s/CACHEDIR.TAG", conf->cache_dir);
++ x_unlink(path);
++ free(path);
++ }
++ }
++
++ /* Everything OK. */
++ send_cached_stderr();
++ update_manifest_file();
++
++ free(tmp_stderr);
++ free(tmp_stdout);
++}
++#endif
++
+ // Find the object file name by running the compiler in preprocessor mode.
+ // Returns the hash as a heap-allocated hex string.
+ static struct file_hash *
+@@ -1408,6 +1719,7 @@ static void
+ update_cached_result_globals(struct file_hash *hash)
+ {
+ char *object_name = format_hash_as_string(hash->hash, hash->size);
++ cached_key = strdup(object_name);
+ cached_obj_hash = hash;
+ cached_obj = get_path_in_cache(object_name, ".o");
+ cached_stderr = get_path_in_cache(object_name, ".stderr");
+@@ -1599,6 +1911,11 @@ calculate_common_hash(struct args *args, struct mdfour *hash)
+ static struct file_hash *
+ calculate_object_hash(struct args *args, struct mdfour *hash, int direct_mode)
+ {
++#if HAVE_LIBMEMCACHED
++ char *data;
++ size_t size;
++#endif
++
+ if (direct_mode) {
+ hash_delimiter(hash, "manifest version");
+ hash_int(hash, MANIFEST_VERSION);
+@@ -1791,7 +2108,27 @@ calculate_object_hash(struct args *args, struct mdfour *hash, int direct_mode)
+ }
+ char *manifest_name = hash_result(hash);
+ manifest_path = get_path_in_cache(manifest_name, ".manifest");
+- free(manifest_name);
++ /* Check if the manifest file is there. */
++ struct stat st;
++ if (stat(manifest_path, &st) != 0) {
++#if HAVE_LIBMEMCACHED
++ void *cache = NULL;
++#endif
++ cc_log("Manifest file %s not in cache", manifest_path);
++#if HAVE_LIBMEMCACHED
++ if (strlen(conf->memcached_conf) > 0) {
++ cc_log("Getting %s from memcached", manifest_name);
++ cache = memccached_raw_get(manifest_name, &data, &size);
++ }
++ if (cache) {
++ cc_log("Added object file hash to %s", manifest_path);
++ write_file(data, manifest_path, size);
++ stats_update_size(size, 1);
++ free(cache);
++ } else
++#endif
++ return NULL;
++ }
+ cc_log("Looking for object file hash in %s", manifest_path);
+ object_hash = manifest_get(conf, manifest_path);
+ if (object_hash) {
+@@ -1828,8 +2165,13 @@ calculate_object_hash(struct args *args, struct mdfour *hash, int direct_mode)
+ // Try to return the compile result from cache. If we can return from cache
+ // then this function exits with the correct status code, otherwise it returns.
+ static void
+-from_cache(enum fromcache_call_mode mode, bool put_object_in_manifest)
++from_fscache(enum fromcache_call_mode mode, bool put_object_in_manifest)
+ {
++#if HAVE_LIBMEMCACHED
++ char *data_obj, *data_stderr, *data_dia, *data_dep;
++ size_t size_obj, size_stderr, size_dia, size_dep;
++#endif
++
+ // The user might be disabling cache hits.
+ if (conf->recache) {
+ return;
+@@ -1837,7 +2179,33 @@ from_cache(enum fromcache_call_mode mode, bool put_object_in_manifest)
+
+ struct stat st;
+ if (stat(cached_obj, &st) != 0) {
++#if HAVE_LIBMEMCACHED
++ void *cache = NULL;
++#endif
+ cc_log("Object file %s not in cache", cached_obj);
++#if HAVE_LIBMEMCACHED
++ if (strlen(conf->memcached_conf) > 0 &&
++ !using_split_dwarf &&
++ !generating_coverage) {
++ cc_log("Getting %s from memcached", cached_key);
++ cache = memccached_get(cached_key,
++ &data_obj, &data_stderr, &data_dia, &data_dep,
++ &size_obj, &size_stderr, &size_dia, &size_dep);
++ }
++ if (cache) {
++ put_data_in_cache(data_obj, size_obj, cached_obj);
++ if (size_stderr > 0) {
++ put_data_in_cache(data_stderr, size_stderr, cached_stderr);
++ }
++ if (size_dia > 0) {
++ put_data_in_cache(data_dia, size_dia, cached_dia);
++ }
++ if (size_dep > 0) {
++ put_data_in_cache(data_dep, size_dep, cached_dep);
++ }
++ memccached_free(cache);
++ } else
++#endif
+ return;
+ }
+
+@@ -1947,6 +2315,97 @@ from_cache(enum fromcache_call_mode mode, bool put_object_in_manifest)
+ x_exit(0);
+ }
+
++#ifdef HAVE_LIBMEMCACHED
++/*
++ * Try to return the compile result from cache. If we can return from cache
++ * then this function exits with the correct status code, otherwise it returns.
++ */
++static void
++from_memcached(enum fromcache_call_mode mode, bool put_object_in_manifest)
++{
++ bool produce_dep_file = false;
++ int ret;
++ void *cache;
++ char *data_obj, *data_stderr, *data_dia, *data_dep;
++ size_t size_obj, size_stderr, size_dia, size_dep;
++
++ /* the user might be disabling cache hits */
++ if (conf->recache || using_split_dwarf || generating_coverage) {
++ return;
++ }
++
++ cc_log("Getting %s from memcached", cached_key);
++ cache = memccached_get(cached_key,
++ &data_obj, &data_stderr, &data_dia, &data_dep,
++ &size_obj, &size_stderr, &size_dia, &size_dep);
++ if (!cache) {
++ return;
++ }
++
++ /*
++ * (If mode != FROMCACHE_DIRECT_MODE, the dependency file is created by
++ * gcc.)
++ */
++ produce_dep_file = generating_dependencies && mode == FROMCACHE_DIRECT_MODE;
++
++ if (!str_eq(output_obj, "/dev/null")) {
++ x_unlink(output_obj);
++ ret = write_file(data_obj, output_obj, size_obj);
++ } else {
++ ret = 0;
++ }
++ if (ret < 0) {
++ cc_log("Problem creating %s from %s", output_obj, cached_key);
++ failed();
++ }
++
++ if (produce_dep_file) {
++ x_unlink(output_dep);
++ ret = write_file(data_dep, output_dep, size_dep);
++ if (ret < 0) {
++ cc_log("Problem creating %s from %s", output_dep, cached_key);
++ failed();
++ }
++ }
++ if (output_dia) {
++ x_unlink(output_dia);
++ ret = write_file(data_dia, output_dia, size_dia);
++ if (ret < 0) {
++ cc_log("Problem creating %s from %s", output_dia, cached_key);
++ failed();
++ }
++ }
++
++ if (generating_dependencies && mode == FROMCACHE_CPP_MODE) {
++ /* Store the dependency file in the cache. */
++ cc_log("Does not support non direct mode");
++ }
++
++ /* Send the stderr, if any. */
++ safe_write(2, data_stderr, size_stderr);
++
++ if (put_object_in_manifest) {
++ update_manifest_file();
++ }
++
++ /* log the cache hit */
++ switch (mode) {
++ case FROMCACHE_DIRECT_MODE:
++ cc_log("Succeeded getting cached result");
++ stats_update(STATS_CACHEHIT_DIR);
++ break;
++
++ case FROMCACHE_CPP_MODE:
++ cc_log("Succeeded getting cached result");
++ stats_update(STATS_CACHEHIT_CPP);
++ break;
++ }
++
++ /* and exit with the right status code */
++ x_exit(0);
++}
++#endif
++
+ // Find the real compiler. We just search the PATH to find an executable of the
+ // same name that isn't a link to ourselves.
+ static void
+@@ -3059,6 +3518,19 @@ initialize(void)
+ create_initial_config_file(conf, primary_config_path);
+ }
+
++ from_cache = from_fscache;
++ to_cache = to_fscache;
++
++#ifdef HAVE_LIBMEMCACHED
++ if (strlen(conf->memcached_conf) > 0) {
++ memccached_init(conf->memcached_conf);
++ }
++
++ if (conf->memcached_only) {
++ from_cache = from_memcached;
++ to_cache = to_memcached;
++ }
++#endif
+ exitfn_init();
+ exitfn_add_nullary(stats_flush);
+ exitfn_add_nullary(clean_up_pending_tmp_files);
+@@ -3089,6 +3561,7 @@ cc_reset(void)
+ free(output_dep); output_dep = NULL;
+ free(output_cov); output_cov = NULL;
+ free(output_dia); output_dia = NULL;
++ free(cached_key); cached_key = NULL;
+ free(cached_obj_hash); cached_obj_hash = NULL;
+ free(cached_obj); cached_obj = NULL;
+ free(cached_dwo); cached_dwo = NULL;
+@@ -3096,6 +3569,7 @@ cc_reset(void)
+ free(cached_dep); cached_dep = NULL;
+ free(cached_cov); cached_cov = NULL;
+ free(cached_dia); cached_dia = NULL;
++ free(manifest_name); manifest_name = NULL;
+ free(manifest_path); manifest_path = NULL;
+ time_of_compilation = 0;
+ for (size_t i = 0; i < ignore_headers_len; i++) {
+@@ -3119,6 +3593,10 @@ cc_reset(void)
+ free(stats_file); stats_file = NULL;
+ output_is_precompiled_header = false;
+
++#ifdef HAVE_LIBMEMCACHED
++ memccached_release();
++#endif
++
+ conf = conf_create();
+ using_split_dwarf = false;
+ }
+@@ -3285,8 +3763,14 @@ ccache(int argc, char *argv[])
+ put_object_in_manifest = true;
+ }
+
+- // If we can return from cache at this point then do.
+- from_cache(FROMCACHE_CPP_MODE, put_object_in_manifest);
++ /* don't hit memcached twice */
++ if (conf->memcached_only && object_hash_from_manifest
++ && file_hashes_equal(object_hash_from_manifest, object_hash)) {
++ cc_log("Already searched for %s", cached_key);
++ } else {
++ // If we can return from cache at this point then do.
++ from_cache(FROMCACHE_CPP_MODE, put_object_in_manifest);
++ }
+
+ if (conf->read_only) {
+ cc_log("Read-only mode; running real compiler");
+diff --git a/ccache.h b/ccache.h
+index 7b29bb8..1c1e38d 100644
+--- a/ccache.h
++++ b/ccache.h
+@@ -126,6 +126,8 @@ void cc_log_argv(const char *prefix, char **argv);
+ void fatal(const char *format, ...) ATTR_FORMAT(printf, 1, 2) ATTR_NORETURN;
+
+ void copy_fd(int fd_in, int fd_out);
++int safe_write(int fd_out, const char *data, size_t length);
++int write_file(const char *data, const char *dest, size_t length);
+ int copy_file(const char *src, const char *dest, int compress_level);
+ int move_file(const char *src, const char *dest, int compress_level);
+ int move_uncompressed_file(const char *src, const char *dest,
+@@ -185,6 +187,23 @@ char *read_text_file(const char *path, size_t size_hint);
+ char *subst_env_in_string(const char *str, char **errmsg);
+
+ // ----------------------------------------------------------------------------
++// memccached.c
++
++int memccached_init(char *conf);
++int memccached_raw_set(const char *key, const char* data, size_t len);
++int memccached_set(
++ const char *key,
++ const char *out, const char *err, const char *dia, const char *dep,
++ size_t out_len, size_t err_len, size_t dia_len, size_t dep_len);
++void *memccached_raw_get(const char *key, char **data, size_t *len);
++void* memccached_get(
++ const char *key,
++ char **out, char **err, char **dia, char **dep,
++ size_t *out_len, size_t *err_len, size_t *dia_len, size_t *dep_len);
++void memccached_free(void *blob);
++int memccached_release(void);
++
++// ----------------------------------------------------------------------------
+ // stats.c
+
+ void stats_update(enum stats stat);
+diff --git a/conf.c b/conf.c
+index cfa2874..bf4e365 100644
+--- a/conf.c
++++ b/conf.c
+@@ -329,11 +329,14 @@ conf_create(void)
+ conf->log_file = x_strdup("");
+ conf->max_files = 0;
+ conf->max_size = (uint64_t)5 * 1000 * 1000 * 1000;
++ conf->memcached_conf = x_strdup("");
++ conf->memcached_only = false;
+ conf->path = x_strdup("");
+ conf->prefix_command = x_strdup("");
+ conf->prefix_command_cpp = x_strdup("");
+ conf->read_only = false;
+ conf->read_only_direct = false;
++ conf->read_only_memcached = false;
+ conf->recache = false;
+ conf->run_second_cpp = true;
+ conf->sloppiness = 0;
+@@ -362,6 +365,7 @@ conf_free(struct conf *conf)
+ free(conf->extra_files_to_hash);
+ free(conf->ignore_headers_in_manifest);
+ free(conf->log_file);
++ free(conf->memcached_conf);
+ free(conf->path);
+ free(conf->prefix_command);
+ free(conf->prefix_command_cpp);
+@@ -594,6 +598,12 @@ conf_print_items(struct conf *conf,
+ printer(s, conf->item_origins[find_conf("max_size")->number], context);
+ free(s2);
+
++ reformat(&s, "memcached_conf = %s", conf->memcached_conf);
++ printer(s, conf->item_origins[find_conf("memcached_conf")->number], context);
++
++ reformat(&s, "memcached_only = %s", bool_to_string(conf->memcached_only));
++ printer(s, conf->item_origins[find_conf("memcached_only")->number], context);
++
+ reformat(&s, "path = %s", conf->path);
+ printer(s, conf->item_origins[find_conf("path")->number], context);
+
+@@ -611,6 +621,11 @@ conf_print_items(struct conf *conf,
+ printer(s, conf->item_origins[find_conf("read_only_direct")->number],
+ context);
+
++ reformat(&s, "read_only_memcached = %s",
++ bool_to_string(conf->read_only_memcached));
++ printer(s, conf->item_origins[find_conf("read_only_memcached")->number],
++ context);
++
+ reformat(&s, "recache = %s", bool_to_string(conf->recache));
+ printer(s, conf->item_origins[find_conf("recache")->number], context);
+
+diff --git a/conf.h b/conf.h
+index 232dcfd..1e22016 100644
+--- a/conf.h
++++ b/conf.h
+@@ -23,11 +23,14 @@ struct conf {
+ char *log_file;
+ unsigned max_files;
+ uint64_t max_size;
++ char *memcached_conf;
++ bool memcached_only;
+ char *path;
+ char *prefix_command;
+ char *prefix_command_cpp;
+ bool read_only;
+ bool read_only_direct;
++ bool read_only_memcached;
+ bool recache;
+ bool run_second_cpp;
+ unsigned sloppiness;
+diff --git a/configure.ac b/configure.ac
+index a35fac0..7ef33e1 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -16,6 +16,7 @@ case $host in
+ ;;
+ esac
+
++AC_SUBST(ccache_memcached)
+ AC_SUBST(extra_libs)
+ AC_SUBST(include_dev_mk)
+ AC_SUBST(test_suites)
+@@ -84,6 +85,31 @@ HW_FUNC_ASPRINTF
+ dnl Check if -lm is needed.
+ AC_SEARCH_LIBS(cos, m)
+
++AC_ARG_ENABLE(static,
++ [AS_HELP_STRING([--enable-static],
++ [enable static link])])
++
++if test x${enable_static} != x; then
++ extra_ldflags="-static"
++fi
++
++AC_ARG_ENABLE(memcached,
++ [AS_HELP_STRING([--enable-memcached],
++ [enable memcached as a cache backend])])
++
++dnl enable-memcached: Check if -lmemcached is needed.
++if test x${enable_memcached} != x; then
++ if test x${enable_static} != x; then
++ AC_CHECK_LIB(stdc++, __gxx_personality_v0,[])
++ fi
++ AC_CHECK_LIB(pthread, pthread_once)
++ AC_CHECK_LIB(memcached, memcached,[],[
++ echo ' WARNING: recent version libmemcached not found'
++ echo ' please install libmemcached > 1.0 with development files'
++ exit 1
++ ])
++ ccache_memcached='CCACHE_MEMCACHED=1 '
++fi
+
+ dnl Check for zlib
+ AC_ARG_WITH(bundled-zlib,
+diff --git a/confitems.gperf b/confitems.gperf
+index 531bc92..fd43765 100644
+--- a/confitems.gperf
++++ b/confitems.gperf
+@@ -26,15 +26,18 @@ limit_multiple, 15, ITEM(limit_multiple, float)
+ log_file, 16, ITEM(log_file, env_string)
+ max_files, 17, ITEM(max_files, unsigned)
+ max_size, 18, ITEM(max_size, size)
+-path, 19, ITEM(path, env_string)
+-prefix_command, 20, ITEM(prefix_command, env_string)
+-prefix_command_cpp, 21, ITEM(prefix_command_cpp, env_string)
+-read_only, 22, ITEM(read_only, bool)
+-read_only_direct, 23, ITEM(read_only_direct, bool)
+-recache, 24, ITEM(recache, bool)
+-run_second_cpp, 25, ITEM(run_second_cpp, bool)
+-sloppiness, 26, ITEM(sloppiness, sloppiness)
+-stats, 27, ITEM(stats, bool)
+-temporary_dir, 28, ITEM(temporary_dir, env_string)
+-umask, 29, ITEM(umask, umask)
+-unify, 30, ITEM(unify, bool)
++memcached_conf, 19, ITEM(memcached_conf, string)
++memcached_only, 20, ITEM(memcached_only, bool)
++path, 21, ITEM(path, env_string)
++prefix_command, 22, ITEM(prefix_command, env_string)
++prefix_command_cpp, 23, ITEM(prefix_command_cpp, env_string)
++read_only, 24, ITEM(read_only, bool)
++read_only_direct, 25, ITEM(read_only_direct, bool)
++read_only_memcached, 26, ITEM(read_only_memcached, bool)
++recache, 27, ITEM(recache, bool)
++run_second_cpp, 28, ITEM(run_second_cpp, bool)
++sloppiness, 29, ITEM(sloppiness, sloppiness)
++stats, 30, ITEM(stats, bool)
++temporary_dir, 31, ITEM(temporary_dir, env_string)
++umask, 32, ITEM(umask, umask)
++unify, 33, ITEM(unify, bool)
+diff --git a/confitems_lookup.c b/confitems_lookup.c
+index 7482557..b324dad 100644
+--- a/confitems_lookup.c
++++ b/confitems_lookup.c
+@@ -1,6 +1,6 @@
+ /* ANSI-C code produced by gperf version 3.0.4 */
+ /* Command-line: gperf confitems.gperf */
+-/* Computed positions: -k'1-2' */
++/* Computed positions: -k'1,$' */
+
+ #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
+ && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
+@@ -31,7 +31,7 @@
+
+ #line 8 "confitems.gperf"
+ struct conf_item;
+-/* maximum key range = 46, duplicates = 0 */
++/* maximum key range = 65, duplicates = 0 */
+
+ #ifdef __GNUC__
+ __inline
+@@ -45,34 +45,34 @@ confitems_hash (register const char *str, register unsigned int len)
+ {
+ static const unsigned char asso_values[] =
+ {
+- 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
+- 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
+- 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
+- 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
+- 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
+- 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
+- 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
+- 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
+- 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
+- 50, 50, 50, 50, 50, 50, 50, 0, 13, 0,
+- 5, 10, 50, 0, 30, 20, 50, 0, 10, 20,
+- 5, 0, 0, 50, 5, 0, 10, 15, 50, 50,
+- 20, 50, 50, 50, 50, 50, 50, 50, 50, 50,
+- 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
+- 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
+- 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
+- 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
+- 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
+- 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
+- 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
+- 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
+- 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
+- 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
+- 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
+- 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
+- 50, 50, 50, 50, 50, 50
++ 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
++ 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
++ 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
++ 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
++ 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
++ 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
++ 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
++ 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
++ 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
++ 70, 70, 70, 70, 70, 70, 70, 70, 5, 20,
++ 5, 0, 30, 70, 30, 10, 70, 20, 25, 0,
++ 10, 70, 0, 70, 0, 0, 10, 0, 70, 70,
++ 70, 55, 70, 70, 70, 70, 70, 70, 70, 70,
++ 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
++ 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
++ 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
++ 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
++ 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
++ 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
++ 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
++ 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
++ 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
++ 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
++ 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
++ 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
++ 70, 70, 70, 70, 70, 70
+ };
+- return len + asso_values[(unsigned char)str[1]] + asso_values[(unsigned char)str[0]];
++ return len + asso_values[(unsigned char)str[len - 1]] + asso_values[(unsigned char)str[0]];
+ }
+
+ static
+@@ -87,91 +87,108 @@ confitems_get (register const char *str, register unsigned int len)
+ {
+ enum
+ {
+- TOTAL_KEYWORDS = 31,
++ TOTAL_KEYWORDS = 34,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+- MIN_HASH_VALUE = 4,
+- MAX_HASH_VALUE = 49
++ MIN_HASH_VALUE = 5,
++ MAX_HASH_VALUE = 69
+ };
+
+ static const struct conf_item wordlist[] =
+ {
+ {"",0,NULL,0,NULL}, {"",0,NULL,0,NULL},
+ {"",0,NULL,0,NULL}, {"",0,NULL,0,NULL},
+-#line 29 "confitems.gperf"
+- {"path", 19, ITEM(path, env_string)},
+- {"",0,NULL,0,NULL}, {"",0,NULL,0,NULL},
+ {"",0,NULL,0,NULL},
+-#line 13 "confitems.gperf"
+- {"compiler", 3, ITEM(compiler, string)},
+-#line 11 "confitems.gperf"
+- {"cache_dir", 1, ITEM(cache_dir, env_string)},
+- {"",0,NULL,0,NULL},
+-#line 15 "confitems.gperf"
+- {"compression", 5, ITEM(compression, bool)},
+- {"",0,NULL,0,NULL},
+-#line 17 "confitems.gperf"
+- {"cpp_extension", 7, ITEM(cpp_extension, string)},
+-#line 14 "confitems.gperf"
+- {"compiler_check", 4, ITEM(compiler_check, string)},
+-#line 37 "confitems.gperf"
+- {"stats", 27, ITEM(stats, bool)},
+-#line 12 "confitems.gperf"
+- {"cache_dir_levels", 2, ITEM_V(cache_dir_levels, unsigned, dir_levels)},
+-#line 16 "confitems.gperf"
+- {"compression_level", 6, ITEM(compression_level, unsigned)},
+-#line 26 "confitems.gperf"
+- {"log_file", 16, ITEM(log_file, env_string)},
+-#line 30 "confitems.gperf"
+- {"prefix_command", 20, ITEM(prefix_command, env_string)},
+-#line 36 "confitems.gperf"
+- {"sloppiness", 26, ITEM(sloppiness, sloppiness)},
+-#line 10 "confitems.gperf"
+- {"base_dir", 0, ITEM_V(base_dir, env_string, absolute_path)},
+-#line 34 "confitems.gperf"
+- {"recache", 24, ITEM(recache, bool)},
+-#line 31 "confitems.gperf"
+- {"prefix_command_cpp", 21, ITEM(prefix_command_cpp, env_string)},
+-#line 32 "confitems.gperf"
+- {"read_only", 22, ITEM(read_only, bool)},
+ #line 40 "confitems.gperf"
+- {"unify", 30, ITEM(unify, bool)},
++ {"stats", 30, ITEM(stats, bool)},
+ {"",0,NULL,0,NULL},
+-#line 24 "confitems.gperf"
+- {"keep_comments_cpp", 14, ITEM(keep_comments_cpp, bool)},
++#line 37 "confitems.gperf"
++ {"recache", 27, ITEM(recache, bool)},
+ #line 28 "confitems.gperf"
+ {"max_size", 18, ITEM(max_size, size)},
+ #line 27 "confitems.gperf"
+ {"max_files", 17, ITEM(max_files, unsigned)},
++#line 39 "confitems.gperf"
++ {"sloppiness", 29, ITEM(sloppiness, sloppiness)},
+ {"",0,NULL,0,NULL},
+-#line 33 "confitems.gperf"
+- {"read_only_direct", 23, ITEM(read_only_direct, bool)},
+ #line 19 "confitems.gperf"
+ {"disable", 9, ITEM(disable, bool)},
++#line 10 "confitems.gperf"
++ {"base_dir", 0, ITEM_V(base_dir, env_string, absolute_path)},
+ #line 38 "confitems.gperf"
+- {"temporary_dir", 28, ITEM(temporary_dir, env_string)},
+-#line 35 "confitems.gperf"
+- {"run_second_cpp", 25, ITEM(run_second_cpp, bool)},
++ {"run_second_cpp", 28, ITEM(run_second_cpp, bool)},
+ {"",0,NULL,0,NULL},
+ #line 18 "confitems.gperf"
+ {"direct_mode", 8, ITEM(direct_mode, bool)},
+ {"",0,NULL,0,NULL},
+-#line 22 "confitems.gperf"
+- {"hash_dir", 12, ITEM(hash_dir, bool)},
+-#line 21 "confitems.gperf"
+- {"hard_link", 11, ITEM(hard_link, bool)},
+-#line 39 "confitems.gperf"
+- {"umask", 29, ITEM(umask, umask)},
++#line 33 "confitems.gperf"
++ {"prefix_command_cpp", 23, ITEM(prefix_command_cpp, env_string)},
++#line 32 "confitems.gperf"
++ {"prefix_command", 22, ITEM(prefix_command, env_string)},
+ {"",0,NULL,0,NULL}, {"",0,NULL,0,NULL},
+ {"",0,NULL,0,NULL},
++#line 41 "confitems.gperf"
++ {"temporary_dir", 31, ITEM(temporary_dir, env_string)},
++#line 36 "confitems.gperf"
++ {"read_only_memcached", 26, ITEM(read_only_memcached, bool)},
++#line 42 "confitems.gperf"
++ {"umask", 32, ITEM(umask, umask)},
++#line 35 "confitems.gperf"
++ {"read_only_direct", 25, ITEM(read_only_direct, bool)},
++ {"",0,NULL,0,NULL},
++#line 13 "confitems.gperf"
++ {"compiler", 3, ITEM(compiler, string)},
++#line 11 "confitems.gperf"
++ {"cache_dir", 1, ITEM(cache_dir, env_string)},
++ {"",0,NULL,0,NULL}, {"",0,NULL,0,NULL},
++ {"",0,NULL,0,NULL},
++#line 26 "confitems.gperf"
++ {"log_file", 16, ITEM(log_file, env_string)},
++#line 31 "confitems.gperf"
++ {"path", 21, ITEM(path, env_string)},
++ {"",0,NULL,0,NULL},
++#line 12 "confitems.gperf"
++ {"cache_dir_levels", 2, ITEM_V(cache_dir_levels, unsigned, dir_levels)},
++#line 24 "confitems.gperf"
++ {"keep_comments_cpp", 14, ITEM(keep_comments_cpp, bool)},
++#line 22 "confitems.gperf"
++ {"hash_dir", 12, ITEM(hash_dir, bool)},
+ #line 25 "confitems.gperf"
+ {"limit_multiple", 15, ITEM(limit_multiple, float)},
+ {"",0,NULL,0,NULL},
++#line 15 "confitems.gperf"
++ {"compression", 5, ITEM(compression, bool)},
++ {"",0,NULL,0,NULL},
++#line 17 "confitems.gperf"
++ {"cpp_extension", 7, ITEM(cpp_extension, string)},
++#line 29 "confitems.gperf"
++ {"memcached_conf", 19, ITEM(memcached_conf, string)},
++ {"",0,NULL,0,NULL},
+ #line 23 "confitems.gperf"
+ {"ignore_headers_in_manifest", 13, ITEM(ignore_headers_in_manifest, env_string)},
+ {"",0,NULL,0,NULL}, {"",0,NULL,0,NULL},
+ #line 20 "confitems.gperf"
+- {"extra_files_to_hash", 10, ITEM(extra_files_to_hash, env_string)}
++ {"extra_files_to_hash", 10, ITEM(extra_files_to_hash, env_string)},
++ {"",0,NULL,0,NULL}, {"",0,NULL,0,NULL},
++ {"",0,NULL,0,NULL}, {"",0,NULL,0,NULL},
++#line 14 "confitems.gperf"
++ {"compiler_check", 4, ITEM(compiler_check, string)},
++ {"",0,NULL,0,NULL}, {"",0,NULL,0,NULL},
++ {"",0,NULL,0,NULL}, {"",0,NULL,0,NULL},
++#line 21 "confitems.gperf"
++ {"hard_link", 11, ITEM(hard_link, bool)},
++#line 43 "confitems.gperf"
++ {"unify", 33, ITEM(unify, bool)},
++ {"",0,NULL,0,NULL},
++#line 16 "confitems.gperf"
++ {"compression_level", 6, ITEM(compression_level, unsigned)},
++ {"",0,NULL,0,NULL},
++#line 34 "confitems.gperf"
++ {"read_only", 24, ITEM(read_only, bool)},
++ {"",0,NULL,0,NULL}, {"",0,NULL,0,NULL},
++ {"",0,NULL,0,NULL}, {"",0,NULL,0,NULL},
++#line 30 "confitems.gperf"
++ {"memcached_only", 20, ITEM(memcached_only, bool)}
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+@@ -188,4 +205,4 @@ confitems_get (register const char *str, register unsigned int len)
+ }
+ return 0;
+ }
+-static const size_t CONFITEMS_TOTAL_KEYWORDS = 31;
++static const size_t CONFITEMS_TOTAL_KEYWORDS = 34;
+diff --git a/dump-memcached.py b/dump-memcached.py
+new file mode 100755
+index 0000000..e7b2b0d
+--- /dev/null
++++ b/dump-memcached.py
+@@ -0,0 +1,89 @@
++#!/usr/bin/env python
++
++import memcache
++import struct
++import sys
++import os
++import binascii
++
++"""
++/* blob format for storing:
++
++ char magic[4]; # 'CCH1', might change for other version of ccache
++ # ccache will erase the blob in memcached if wrong magic
++ uint32_t obj_len; # network endian
++ char *obj[obj_len];
++ uint32_t stderr_len; # network endian
++ char *stderr[stderr_len];
++ uint32_t dia_len; # network endian
++ char *dia[dia_len];
++ uint32_t dep_len; # network endian
++ char *dep[dep_len];
++
++*/
++"""
++MEMCCACHE_MAGIC = 'CCH1'
++
++def get_blob(token):
++ return token[4:4+struct.unpack('!I', val[0:4])[0]]
++MEMCCACHE_BIG = 'CCBM'
++
++"""
++/* blob format for big values:
++
++ char magic[4]; # 'CCBM'
++ uint32_t numkeys; # network endian
++ uint32_t hash_size; # network endian
++ uint32_t reserved; # network endian
++ uint32_t value_length; # network endian
++
++ <hash[0]> hash of include file (<hash_size> bytes)
++ <size[0]> size of include file (4 bytes unsigned int)
++ ...
++ <hash[n-1]>
++ <size[n-1]>
++
++*/
++"""
++MEMCCACHE_BIG = 'CCBM'
++
++server = os.getenv("MEMCACHED_SERVERS", "localhost")
++mc = memcache.Client(server.split(','), debug=1)
++
++key = sys.argv[1]
++val = mc.get(key)
++if val[0:4] == MEMCCACHE_BIG:
++ numkeys = struct.unpack('!I', val[4:8])[0]
++ assert struct.unpack('!I', val[8:12])[0] == 16
++ assert struct.unpack('!I', val[12:16])[0] == 0
++ size = struct.unpack('!I', val[16:20])[0]
++ val = val[20:]
++ buf = ""
++ while val:
++ md4 = val[0:16]
++ size = struct.unpack('!I', val[16:20])[0]
++ val = val[20:]
++ subkey = "%s-%d" % (binascii.hexlify(md4), size)
++ subval = mc.get(subkey)
++ if not subval:
++ print "%s not found" % subkey
++ buf = buf + subval
++ val = buf
++if val:
++ magic = val[0:4]
++ if magic == MEMCCACHE_MAGIC:
++ val = val[4:]
++ obj = get_blob(val)
++ val = val[4+len(obj):]
++ stderr = get_blob(val)
++ val = val[4+len(stderr):]
++ dia = get_blob(val)
++ val = val[4+len(dia):]
++ dep = get_blob(val)
++ val = val[4+len(dep):]
++ assert len(val) == 0
++ print "%s: %d %d %d %d" % (key, len(obj), len(stderr), len(dia), len(dep))
++ else:
++ print "wrong magic"
++else:
++ print "key missing"
+diff --git a/envtoconfitems.gperf b/envtoconfitems.gperf
+index 81d8444..00f64e0 100644
+--- a/envtoconfitems.gperf
++++ b/envtoconfitems.gperf
+@@ -27,12 +27,15 @@ LIMIT_MULTIPLE, "limit_multiple"
+ LOGFILE, "log_file"
+ MAXFILES, "max_files"
+ MAXSIZE, "max_size"
++MEMCACHED_CONF, "memcached_conf"
++MEMCACHED_ONLY, "memcached_only"
+ NLEVELS, "cache_dir_levels"
+ PATH, "path"
+ PREFIX, "prefix_command"
+ PREFIX_CPP, "prefix_command_cpp"
+ READONLY, "read_only"
+ READONLY_DIRECT, "read_only_direct"
++READONLY_MEMCACHED, "read_only_memcached"
+ RECACHE, "recache"
+ SLOPPINESS, "sloppiness"
+ STATS, "stats"
+diff --git a/envtoconfitems_lookup.c b/envtoconfitems_lookup.c
+index 1265bd6..4608827 100644
+--- a/envtoconfitems_lookup.c
++++ b/envtoconfitems_lookup.c
+@@ -1,6 +1,6 @@
+ /* ANSI-C code produced by gperf version 3.0.4 */
+ /* Command-line: gperf envtoconfitems.gperf */
+-/* Computed positions: -k'1,5' */
++/* Computed positions: -k'1,5,11' */
+
+ #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
+ && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
+@@ -31,7 +31,7 @@
+
+ #line 9 "envtoconfitems.gperf"
+ struct env_to_conf_item;
+-/* maximum key range = 42, duplicates = 0 */
++/* maximum key range = 47, duplicates = 0 */
+
+ #ifdef __GNUC__
+ __inline
+@@ -45,38 +45,46 @@ envtoconfitems_hash (register const char *str, register unsigned int len)
+ {
+ static const unsigned char asso_values[] =
+ {
+- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
+- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
+- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
+- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
+- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
+- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
+- 44, 44, 44, 44, 44, 44, 20, 0, 0, 10,
+- 0, 44, 5, 15, 0, 44, 10, 25, 9, 0,
+- 5, 10, 5, 15, 10, 5, 44, 44, 44, 44,
+- 0, 44, 44, 44, 44, 44, 44, 44, 44, 44,
+- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
+- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
+- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
+- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
+- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
+- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
+- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
+- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
+- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
+- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
+- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
+- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
+- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
+- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
+- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
+- 44, 44, 44, 44, 44, 44, 44
++ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
++ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
++ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
++ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
++ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
++ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
++ 49, 49, 49, 49, 49, 49, 5, 0, 0, 5,
++ 40, 49, 20, 5, 0, 49, 20, 5, 0, 5,
++ 5, 0, 15, 0, 25, 0, 25, 49, 49, 49,
++ 0, 49, 49, 49, 49, 49, 49, 49, 49, 49,
++ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
++ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
++ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
++ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
++ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
++ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
++ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
++ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
++ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
++ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
++ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
++ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
++ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
++ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
++ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
++ 49, 49, 49, 49, 49, 49, 49
+ };
+ register int hval = len;
+
+ switch (hval)
+ {
+ default:
++ hval += asso_values[(unsigned char)str[10]];
++ /*FALLTHROUGH*/
++ case 10:
++ case 9:
++ case 8:
++ case 7:
++ case 6:
++ case 5:
+ hval += asso_values[(unsigned char)str[4]+1];
+ /*FALLTHROUGH*/
+ case 4:
+@@ -101,11 +109,11 @@ envtoconfitems_get (register const char *str, register unsigned int len)
+ {
+ enum
+ {
+- TOTAL_KEYWORDS = 31,
++ TOTAL_KEYWORDS = 34,
+ MIN_WORD_LENGTH = 2,
+- MAX_WORD_LENGTH = 15,
++ MAX_WORD_LENGTH = 18,
+ MIN_HASH_VALUE = 2,
+- MAX_HASH_VALUE = 43
++ MAX_HASH_VALUE = 48
+ };
+
+ static const struct env_to_conf_item wordlist[] =
+@@ -117,72 +125,76 @@ envtoconfitems_get (register const char *str, register unsigned int len)
+ {"DIR", "cache_dir"},
+ #line 16 "envtoconfitems.gperf"
+ {"CPP2", "run_second_cpp"},
+- {"",""},
++#line 44 "envtoconfitems.gperf"
++ {"UNIFY", "unify"},
+ #line 19 "envtoconfitems.gperf"
+ {"DIRECT", "direct_mode"},
+ #line 20 "envtoconfitems.gperf"
+ {"DISABLE", "disable"},
+-#line 17 "envtoconfitems.gperf"
+- {"COMMENTS", "keep_comments_cpp"},
+-#line 31 "envtoconfitems.gperf"
++#line 14 "envtoconfitems.gperf"
++ {"COMPRESS", "compression"},
++#line 33 "envtoconfitems.gperf"
+ {"PATH", "path"},
+-#line 41 "envtoconfitems.gperf"
+- {"UNIFY", "unify"},
+-#line 32 "envtoconfitems.gperf"
++#line 40 "envtoconfitems.gperf"
++ {"SLOPPINESS", "sloppiness"},
++#line 34 "envtoconfitems.gperf"
+ {"PREFIX", "prefix_command"},
+-#line 36 "envtoconfitems.gperf"
+- {"RECACHE", "recache"},
++#line 29 "envtoconfitems.gperf"
++ {"MAXSIZE", "max_size"},
++#line 28 "envtoconfitems.gperf"
++ {"MAXFILES", "max_files"},
++ {"",""},
++#line 35 "envtoconfitems.gperf"
++ {"PREFIX_CPP", "prefix_command_cpp"},
++ {"",""},
++#line 11 "envtoconfitems.gperf"
++ {"BASEDIR", "base_dir"},
+ #line 13 "envtoconfitems.gperf"
+ {"COMPILERCHECK", "compiler_check"},
++#line 21 "envtoconfitems.gperf"
++ {"EXTENSION", "cpp_extension"},
++#line 22 "envtoconfitems.gperf"
++ {"EXTRAFILES", "extra_files_to_hash"},
+ {"",""},
+-#line 33 "envtoconfitems.gperf"
+- {"PREFIX_CPP", "prefix_command_cpp"},
++#line 39 "envtoconfitems.gperf"
++ {"RECACHE", "recache"},
++#line 25 "envtoconfitems.gperf"
++ {"IGNOREHEADERS", "ignore_headers_in_manifest"},
+ #line 30 "envtoconfitems.gperf"
+- {"NLEVELS", "cache_dir_levels"},
++ {"MEMCACHED_CONF", "memcached_conf"},
++#line 43 "envtoconfitems.gperf"
++ {"UMASK", "umask"},
++ {"",""},
+ #line 27 "envtoconfitems.gperf"
+ {"LOGFILE", "log_file"},
+-#line 34 "envtoconfitems.gperf"
++#line 36 "envtoconfitems.gperf"
+ {"READONLY", "read_only"},
+-#line 21 "envtoconfitems.gperf"
+- {"EXTENSION", "cpp_extension"},
+-#line 40 "envtoconfitems.gperf"
+- {"UMASK", "umask"},
++#line 31 "envtoconfitems.gperf"
++ {"MEMCACHED_ONLY", "memcached_only"},
++#line 41 "envtoconfitems.gperf"
++ {"STATS", "stats"},
+ {"",""},
+ #line 24 "envtoconfitems.gperf"
+ {"HASHDIR", "hash_dir"},
+-#line 14 "envtoconfitems.gperf"
+- {"COMPRESS", "compression"},
+- {"",""},
+-#line 35 "envtoconfitems.gperf"
+- {"READONLY_DIRECT", "read_only_direct"},
+- {"",""},
+-#line 39 "envtoconfitems.gperf"
++#line 23 "envtoconfitems.gperf"
++ {"HARDLINK", "hard_link"},
++ {"",""}, {"",""}, {"",""},
++#line 42 "envtoconfitems.gperf"
+ {"TEMPDIR", "temporary_dir"},
+ #line 15 "envtoconfitems.gperf"
+ {"COMPRESSLEVEL", "compression_level"},
+ #line 26 "envtoconfitems.gperf"
+ {"LIMIT_MULTIPLE", "limit_multiple"},
+-#line 38 "envtoconfitems.gperf"
+- {"STATS", "stats"},
+- {"",""},
+-#line 29 "envtoconfitems.gperf"
+- {"MAXSIZE", "max_size"},
+-#line 28 "envtoconfitems.gperf"
+- {"MAXFILES", "max_files"},
+- {"",""},
+ #line 37 "envtoconfitems.gperf"
+- {"SLOPPINESS", "sloppiness"},
+- {"",""},
+-#line 11 "envtoconfitems.gperf"
+- {"BASEDIR", "base_dir"},
+-#line 23 "envtoconfitems.gperf"
+- {"HARDLINK", "hard_link"},
+- {"",""},
+-#line 22 "envtoconfitems.gperf"
+- {"EXTRAFILES", "extra_files_to_hash"},
++ {"READONLY_DIRECT", "read_only_direct"},
+ {"",""}, {"",""},
+-#line 25 "envtoconfitems.gperf"
+- {"IGNOREHEADERS", "ignore_headers_in_manifest"}
++#line 38 "envtoconfitems.gperf"
++ {"READONLY_MEMCACHED", "read_only_memcached"},
++ {"",""}, {"",""}, {"",""},
++#line 32 "envtoconfitems.gperf"
++ {"NLEVELS", "cache_dir_levels"},
++#line 17 "envtoconfitems.gperf"
++ {"COMMENTS", "keep_comments_cpp"}
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+@@ -199,4 +211,4 @@ envtoconfitems_get (register const char *str, register unsigned int len)
+ }
+ return 0;
+ }
+-static const size_t ENVTOCONFITEMS_TOTAL_KEYWORDS = 31;
++static const size_t ENVTOCONFITEMS_TOTAL_KEYWORDS = 34;
+diff --git a/memccached.c b/memccached.c
+new file mode 100644
+index 0000000..38c44aa
+--- /dev/null
++++ b/memccached.c
+@@ -0,0 +1,433 @@
++#include "ccache.h"
++
++#ifdef HAVE_LIBMEMCACHED
++
++#include <libmemcached/memcached.h>
++#include <netinet/in.h>
++
++#define MEMCCACHE_MAGIC "CCH1"
++#define MEMCCACHE_BIG "CCBM"
++
++#define MAX_VALUE_SIZE (1000 << 10) /* 1M with memcached overhead */
++#define SPLIT_VALUE_SIZE MAX_VALUE_SIZE
++
++/* status variables for memcached */
++static memcached_st *memc;
++
++int memccached_init(char *conf)
++{
++ memc = memcached(conf, strlen(conf));
++ if (!memc) {
++ char errorbuf[1024];
++ libmemcached_check_configuration(conf, strlen(conf), errorbuf, 1024);
++ cc_log("Problem creating memcached with conf %s:\n%s\n", conf, errorbuf);
++ return -1;
++ }
++ /* Consistent hashing delivers better distribution and allows servers to be
++ added to the cluster with minimal cache losses */
++ memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_DISTRIBUTION,
++ MEMCACHED_DISTRIBUTION_CONSISTENT);
++ return 0;
++}
++
++/* blob format for big values:
++
++ char magic[4]; # 'CCBM'
++ uint32_t numkeys; # network endian
++ uint32_t hash_size; # network endian
++ uint32_t reserved; # network endian
++ uint32_t value_length; # network endian
++
++ <hash[0]> hash of include file (<hash_size> bytes)
++ <size[0]> size of include file (4 bytes unsigned int)
++ ...
++ <hash[n-1]>
++ <size[n-1]>
++
++ */
++static memcached_return_t memccached_big_set(memcached_st *ptr,
++ const char *key,
++ size_t key_length,
++ const char *value,
++ size_t value_length,
++ time_t expiration,
++ uint32_t flags)
++{
++ char *buf;
++ size_t buflen;
++ char *p;
++ int numkeys;
++ struct mdfour md;
++ char subkey[20];
++ size_t n;
++ memcached_return_t ret;
++ size_t x;
++
++ numkeys = (value_length + SPLIT_VALUE_SIZE - 1) / SPLIT_VALUE_SIZE;
++ buflen = 20 + 20 * numkeys;
++ buf = x_malloc(buflen);
++ p = buf;
++
++ memcpy(p, MEMCCACHE_BIG, 4);
++ *((uint32_t *) (p + 4)) = htonl(numkeys);
++ *((uint32_t *) (p + 8)) = htonl(16);
++ *((uint32_t *) (p + 12)) = htonl(0);
++ *((uint32_t *) (p + 16)) = htonl(value_length);
++ p += 20;
++
++ for (x = 0; x < value_length; x += n) {
++ size_t remain;
++ char *s;
++
++ remain = value_length - x;
++ n = remain > SPLIT_VALUE_SIZE ? SPLIT_VALUE_SIZE : remain;
++
++ mdfour_begin(&md);
++ mdfour_update(&md, (const unsigned char *) value + x, n);
++ mdfour_result(&md, (unsigned char *) subkey);
++ *((uint32_t *) (subkey + 16)) = htonl(n);
++ s = format_hash_as_string((const unsigned char *) subkey, n);
++ cc_log("memcached_mset %s %zu", s, n);
++ ret = memcached_set(ptr, s, strlen(s), value + x, n,
++ expiration, flags);
++ free(s);
++ if (ret) {
++ cc_log("Failed to set key in memcached: %s",
++ memcached_strerror(memc, ret));
++ return ret;
++ }
++
++ memcpy(p, subkey, 20);
++ p += 20;
++ }
++
++ cc_log("memcached_set %.*s %zu (%zu)", (int) key_length, key, buflen,
++ value_length);
++ ret = memcached_set(ptr, key, key_length, buf, buflen,
++ expiration, flags);
++ free(buf);
++ return ret;
++}
++
++static char *memccached_big_get(memcached_st *ptr,
++ const char *key,
++ size_t key_length,
++ const char *value,
++ size_t *value_length,
++ uint32_t *flags,
++ memcached_return_t *error)
++{
++ char *buf;
++ size_t buflen;
++ size_t totalsize;
++ char *p;
++ const char *v;
++ int numkeys;
++ char **keys;
++ bool *key_seen;
++ size_t *key_lengths;
++ size_t *value_offsets;
++ int *value_lengths;
++ memcached_return_t ret;
++ memcached_result_st *result;
++ int n;
++ int i;
++
++ if (!value) {
++ value = memcached_get(ptr, key, key_length, value_length, flags, error);
++ if (!value) {
++ return NULL;
++ }
++ }
++
++ p = (char *) value;
++ if (memcmp(p, MEMCCACHE_BIG, 4) != 0) {
++ return NULL;
++ }
++ numkeys = ntohl(*(uint32_t *) (p + 4));
++ assert(ntohl(*(uint32_t *) (p + 8)) == 16);
++ assert(ntohl(*(uint32_t *) (p + 12)) == 0);
++ totalsize = ntohl(*(uint32_t *) (p + 16));
++ p += 20;
++
++ keys = x_malloc(sizeof(char *) * numkeys);
++ key_seen = x_malloc(sizeof(bool) * numkeys);
++ key_lengths = x_malloc(sizeof(size_t) * numkeys);
++ value_offsets = x_malloc(sizeof(size_t) * numkeys);
++ value_lengths = x_malloc(sizeof(int) * numkeys);
++
++ buflen = 0;
++ for (i = 0; i < numkeys; i++) {
++ n = ntohl(*((uint32_t *) (p + 16)));
++ keys[i] = format_hash_as_string((const unsigned char *) p, n);
++ key_lengths[i] = strlen(keys[i]);
++ key_seen[i] = false;
++ cc_log("memcached_mget %.*s %d", (int) key_lengths[i], keys[i], n);
++ value_offsets[i] = buflen;
++ value_lengths[i] = n;
++ buflen += n;
++ p += 20;
++ }
++ assert(buflen == totalsize);
++
++ buf = x_malloc(buflen);
++
++ ret = memcached_mget(ptr, (const char *const *) keys, key_lengths, numkeys);
++ if (ret) {
++ cc_log("Failed to mget keys in memcached: %s",
++ memcached_strerror(memc, ret));
++ for (i = 0; i < numkeys; i++) {
++ free(keys[i]);
++ }
++ free(keys);
++ free(key_lengths);
++ return NULL;
++ }
++
++ result = NULL;
++ do {
++ const char *k;
++ size_t l;
++
++ result = memcached_fetch_result(ptr, result, &ret);
++ if (ret == MEMCACHED_END) {
++ break;
++ }
++ if (ret) {
++ cc_log("Failed to get key in memcached: %s",
++ memcached_strerror(memc, ret));
++ return NULL;
++ }
++ k = memcached_result_key_value(result);
++ l = memcached_result_key_length(result);
++ p = NULL;
++ for (i = 0; i < numkeys; i++) {
++ if (l != key_lengths[i]) {
++ continue;
++ }
++ if (memcmp(k, keys[i], l) == 0) {
++ p = buf + value_offsets[i];
++ break;
++ }
++ }
++ if (!p) {
++ cc_log("Unknown key was returned: %s", k);
++ return NULL;
++ }
++ if (key_seen[i]) {
++ cc_log("Have already seen chunk: %s", k);
++ return NULL;
++ }
++ key_seen[i] = true;
++ n = memcached_result_length(result);
++ v = memcached_result_value(result);
++ if (n != value_lengths[i]) {
++ cc_log("Unexpected length was returned");
++ return NULL;
++ }
++ memcpy(p, v, n);
++ } while (ret == MEMCACHED_SUCCESS);
++
++ for (i = 0; i < numkeys; i++) {
++ if (!key_seen[i]) {
++ cc_log("Failed to get all %d chunks", numkeys);
++ return NULL;
++ }
++ }
++ cc_log("memcached_get %.*s %zu (%zu)", (int) key_length, key, *value_length,
++ buflen);
++ for (i = 0; i < numkeys; i++) {
++ free(keys[i]);
++ }
++ free(keys);
++ free(key_lengths);
++ free(value_offsets);
++ free(value_lengths);
++
++ *value_length = buflen;
++ return buf;
++}
++
++int memccached_raw_set(const char *key, const char *data, size_t len)
++{
++ memcached_return_t mret;
++
++ mret = memcached_set(memc, key, strlen(key), data, len, 0, 0);
++ if (mret != MEMCACHED_SUCCESS) {
++ cc_log("Failed to move %s to memcached: %s", key,
++ memcached_strerror(memc, mret));
++ return -1;
++ }
++ return 0;
++}
++
++/* blob format for storing:
++
++ char magic[4]; # 'CCH1', might change for other version of ccache
++ # ccache will erase the blob in memcached if wrong magic
++ uint32_t obj_len; # network endian
++ char *obj[obj_len];
++ uint32_t stderr_len; # network endian
++ char *stderr[stderr_len];
++ uint32_t dia_len; # network endian
++ char *dia[dia_len];
++ uint32_t dep_len; # network endian
++ char *dep[dep_len];
++
++ */
++int memccached_set(const char *key,
++ const char *obj,
++ const char *stderr,
++ const char *dia,
++ const char *dep,
++ size_t obj_len,
++ size_t stderr_len,
++ size_t dia_len,
++ size_t dep_len)
++{
++ size_t buf_len = 4 + 4*4 + obj_len + stderr_len + dia_len + dep_len;
++ char *buf = x_malloc(buf_len);
++ char *ptr;
++ memcached_return_t mret;
++
++ memcpy(buf, MEMCCACHE_MAGIC, 4);
++ ptr = buf + 4;
++
++#define PROCESS_ONE_BUFFER(src_ptr, src_len) \
++ do { \
++ *((uint32_t *)ptr) = htonl(src_len); \
++ ptr += 4; \
++ if (src_len > 0) { \
++ memcpy(ptr, src_ptr, src_len); \
++ } \
++ ptr += src_len; \
++ } while (false)
++
++ PROCESS_ONE_BUFFER(obj, obj_len);
++ PROCESS_ONE_BUFFER(stderr, stderr_len);
++ PROCESS_ONE_BUFFER(dia, dia_len);
++ PROCESS_ONE_BUFFER(dep, dep_len);
++
++#undef PROCESS_ONE_BUFFER
++
++ if (buf_len > MAX_VALUE_SIZE) {
++ mret = memccached_big_set(memc, key, strlen(key), buf, buf_len, 0, 0);
++ } else {
++ mret = memcached_set(memc, key, strlen(key), buf, buf_len, 0, 0);
++ }
++
++ if (mret != MEMCACHED_SUCCESS) {
++ cc_log("Failed to move %s to memcached: %s", key,
++ memcached_strerror(memc, mret));
++ return -1;
++ }
++ return 0;
++}
++
++static void *memccached_prune(const char *key)
++{
++ cc_log("key from memcached has wrong data %s: pruning...", key);
++ /* don't really care whether delete failed */
++ memcached_delete(memc, key, strlen(key), 0);
++ return NULL;
++}
++
++void *memccached_raw_get(const char *key, char **data, size_t *size)
++{
++ memcached_return_t mret;
++ void *value;
++ size_t value_l;
++
++ value = memcached_get(memc, key, strlen(key), &value_l,
++ NULL /*flags*/, &mret);
++ if (!value) {
++ cc_log("Failed to get key from memcached %s: %s", key,
++ memcached_strerror(memc, mret));
++ return NULL;
++ }
++ *data = value;
++ *size = value_l;
++ return value; /* caller must free this when done with the ptr */
++}
++
++void *memccached_get(const char *key,
++ char **obj,
++ char **stderr,
++ char **dia,
++ char **dep,
++ size_t *obj_len,
++ size_t *stderr_len,
++ size_t *dia_len,
++ size_t *dep_len)
++{
++ memcached_return_t mret;
++ char *value, *ptr;
++ size_t value_l;
++ value = memcached_get(memc, key, strlen(key), &value_l,
++ NULL /*flags*/, &mret);
++ if (!value) {
++ cc_log("Failed to get key from memcached %s: %s", key,
++ memcached_strerror(memc, mret));
++ return NULL;
++ }
++ if (value_l > 4 && memcmp(value, MEMCCACHE_BIG, 4) == 0) {
++ value = memccached_big_get(memc, key, strlen(key), value, &value_l,
++ NULL /*flags*/, &mret);
++ }
++ if (!value) {
++ cc_log("Failed to get key from memcached %s: %s", key,
++ memcached_strerror(memc, mret));
++ return NULL;
++ }
++ if (value_l < 20 || memcmp(value, MEMCCACHE_MAGIC, 4) != 0) {
++ cc_log("wrong magic or length %.4s: %d", value, (int)value_l);
++ free(value);
++ return memccached_prune(key);
++ }
++ ptr = value;
++ /* skip the magic */
++ ptr += 4;
++ value_l -= 4;
++
++#define PROCESS_ONE_BUFFER(dst_ptr, dst_len) \
++ do { \
++ if (value_l < 4) { \
++ free(value); \
++ cc_log("no more buffer for %s: %d", \
++ #dst_ptr, (int)value_l); \
++ return memccached_prune(key); \
++ } \
++ dst_len = ntohl(*((uint32_t *)ptr)); \
++ ptr += 4; value_l -= 4; \
++ if (value_l < dst_len) { \
++ cc_log("no more buffer for %s: %d %d", \
++ #dst_ptr, (int)value_l, (int) dst_len); \
++ free(value); \
++ return memccached_prune(key); \
++ } \
++ dst_ptr = ptr; \
++ ptr += dst_len; value_l -= dst_len; \
++ } while (false)
++
++ PROCESS_ONE_BUFFER(*obj, *obj_len);
++ PROCESS_ONE_BUFFER(*stderr, *stderr_len);
++ PROCESS_ONE_BUFFER(*dia, *dia_len);
++ PROCESS_ONE_BUFFER(*dep, *dep_len);
++
++#undef PROCESS_ONE_BUFFER
++
++ return value; /* caller must free this when done with the ptrs */
++}
++
++void memccached_free(void *blob)
++{
++ free(blob);
++}
++
++int memccached_release(void)
++{
++ memcached_free(memc);
++ return 1;
++}
++
++#endif /* HAVE_LIBMEMCACHED */
+diff --git a/test.sh b/test.sh
+index 3e04157..ac3eb6d 100755
+--- a/test.sh
++++ b/test.sh
+@@ -43,6 +43,11 @@ test_failed() {
+ $CCACHE -s
+ echo
+ echo "Test data and log file have been left in $TESTDIR"
++ tail -n 50 $CCACHE_LOGFILE
++ if [ ! -z $CCACHE_MEMCACHED_CONF ]; then
++ memstat --servers=localhost:22122
++ kill %1
++ fi
+ exit 1
+ }
+
+@@ -188,6 +193,8 @@ TEST() {
+ unset CCACHE_IGNOREHEADERS
+ unset CCACHE_LIMIT_MULTIPLE
+ unset CCACHE_LOGFILE
++ unset CCACHE_MEMCACHED_CONF
++ unset CCACHE_MEMCACHED_ONLY
+ unset CCACHE_NLEVELS
+ unset CCACHE_NOCPP2
+ unset CCACHE_NOHASHDIR
+@@ -244,13 +251,13 @@ base_tests() {
+ $CCACHE_COMPILE -c test1.c
+ expect_stat 'cache hit (preprocessed)' 0
+ expect_stat 'cache miss' 1
+- expect_stat 'files in cache' 1
++ $CCACHE_NOFILES expect_stat 'files in cache' 1
+ expect_equal_object_files reference_test1.o test1.o
+
+ $CCACHE_COMPILE -c test1.c
+ expect_stat 'cache hit (preprocessed)' 1
+ expect_stat 'cache miss' 1
+- expect_stat 'files in cache' 1
++ $CCACHE_NOFILES expect_stat 'files in cache' 1
+ expect_equal_object_files reference_test1.o test1.o
+
+ # -------------------------------------------------------------------------
+@@ -259,7 +266,7 @@ base_tests() {
+ $CCACHE_COMPILE -c test1.c -g
+ expect_stat 'cache hit (preprocessed)' 0
+ expect_stat 'cache miss' 1
+- expect_stat 'files in cache' 1
++ $CCACHE_NOFILES expect_stat 'files in cache' 1
+
+ $CCACHE_COMPILE -c test1.c -g
+ expect_stat 'cache hit (preprocessed)' 1
+@@ -602,7 +609,7 @@ b"
+ done
+ expect_stat 'cache hit (preprocessed)' 0
+ expect_stat 'cache miss' 32
+- expect_stat 'files in cache' 32
++ $CCACHE_NOFILES expect_stat 'files in cache' 32
+
+ # -------------------------------------------------------------------------
+ TEST "Called for preprocessing"
+@@ -1366,6 +1373,52 @@ SUITE_masquerading() {
+
+ # =============================================================================
+
++SUITE_memcached_SETUP() {
++ generate_code 1 test1.c
++}
++
++SUITE_memcached() {
++ export CCACHE_MEMCACHED_CONF=--SERVER=localhost:22122
++ memcached -p 22122 &
++ memcached_pid=$!
++ base_tests
++ kill $memcached_pid
++ unset CCACHE_MEMCACHED_CONF
++}
++
++SUITE_memcached_only_SETUP() {
++ generate_code 1 test1.c
++}
++
++SUITE_memcached_only() {
++ CCACHE_NOFILES=true
++ export CCACHE_MEMCACHED_CONF=--SERVER=localhost:22122
++ export CCACHE_MEMCACHED_ONLY=1
++ memcached -p 22122 &
++ memcached_pid=$!
++ base_tests
++ kill $memcached_pid
++ unset CCACHE_MEMCACHED_CONF
++ unset CCACHE_MEMCACHED_ONLY
++ unset CCACHE_NOFILES
++}
++
++SUITE_memcached_socket_SETUP() {
++ generate_code 1 test1.c
++}
++
++SUITE_memcached_socket() {
++ export CCACHE_MEMCACHED_CONF=--SOCKET=\"/tmp/memcached.$$\"
++ memcached -s /tmp/memcached.$$ &
++ memcached_pid=$!
++ base_tests
++ kill $memcached_pid
++ rm /tmp/memcached.$$
++ unset CCACHE_MEMCACHED_CONF
++}
++
++# =============================================================================
++
+ SUITE_hardlink_PROBE() {
+ touch file1
+ if ! ln file1 file2 >/dev/null 2>&1; then
+@@ -1539,7 +1592,7 @@ EOF
+ test_failed "$dep_file missing"
+ fi
+ done
+- expect_stat 'files in cache' 12
++ $CCACHE_NOFILES expect_stat 'files in cache' 12
+
+ # -------------------------------------------------------------------------
+ TEST "-Wp,-MD"
+@@ -3412,6 +3465,14 @@ upgrade
+ input_charset
+ "
+
++if [ ! -z $CCACHE_MEMCACHED ]; then
++ all_suites="$all_suites
++memcached
++memcached_only
++memcached_socket
++"
++fi
++
+ compiler_location=$(which $(echo "$COMPILER" | awk '{print $1}'))
+ if [ "$compiler_location" = "$COMPILER" ]; then
+ echo "Compiler: $COMPILER"
+diff --git a/test/test_conf.c b/test/test_conf.c
+index ea43e2e..d65372c 100644
+--- a/test/test_conf.c
++++ b/test/test_conf.c
+@@ -18,7 +18,7 @@
+ #include "framework.h"
+ #include "util.h"
+
+-#define N_CONFIG_ITEMS 31
++#define N_CONFIG_ITEMS 34
+ static struct {
+ char *descr;
+ const char *origin;
+@@ -68,11 +68,14 @@ TEST(conf_create)
+ CHECK_STR_EQ("", conf->log_file);
+ CHECK_INT_EQ(0, conf->max_files);
+ CHECK_INT_EQ((uint64_t)5 * 1000 * 1000 * 1000, conf->max_size);
++ CHECK_STR_EQ("", conf->memcached_conf);
++ CHECK(!conf->memcached_only);
+ CHECK_STR_EQ("", conf->path);
+ CHECK_STR_EQ("", conf->prefix_command);
+ CHECK_STR_EQ("", conf->prefix_command_cpp);
+ CHECK(!conf->read_only);
+ CHECK(!conf->read_only_direct);
++ CHECK(!conf->read_only_memcached);
+ CHECK(!conf->recache);
+ CHECK(conf->run_second_cpp);
+ CHECK_INT_EQ(0, conf->sloppiness);
+@@ -119,11 +122,14 @@ TEST(conf_read_valid_config)
+ "log_file = $USER${USER} \n"
+ "max_files = 17\n"
+ "max_size = 123M\n"
++ "memcached_conf = --SERVER=localhost\n"
++ "memcached_only = true\n"
+ "path = $USER.x\n"
+ "prefix_command = x$USER\n"
+ "prefix_command_cpp = y\n"
+ "read_only = true\n"
+ "read_only_direct = true\n"
++ "read_only_memcached = false\n"
+ "recache = true\n"
+ "run_second_cpp = false\n"
+ "sloppiness = file_macro ,time_macros, include_file_mtime,include_file_ctime,file_stat_matches,pch_defines , no_system_headers \n"
+@@ -157,11 +163,14 @@ TEST(conf_read_valid_config)
+ CHECK_STR_EQ_FREE1(format("%s%s", user, user), conf->log_file);
+ CHECK_INT_EQ(17, conf->max_files);
+ CHECK_INT_EQ(123 * 1000 * 1000, conf->max_size);
++ CHECK_STR_EQ("--SERVER=localhost", conf->memcached_conf);
++ CHECK(conf->memcached_only);
+ CHECK_STR_EQ_FREE1(format("%s.x", user), conf->path);
+ CHECK_STR_EQ_FREE1(format("x%s", user), conf->prefix_command);
+ CHECK_STR_EQ("y", conf->prefix_command_cpp);
+ CHECK(conf->read_only);
+ CHECK(conf->read_only_direct);
++ CHECK(!conf->read_only_memcached);
+ CHECK(conf->recache);
+ CHECK(!conf->run_second_cpp);
+ CHECK_INT_EQ(SLOPPY_INCLUDE_FILE_MTIME|SLOPPY_INCLUDE_FILE_CTIME|
+@@ -383,11 +392,14 @@ TEST(conf_print_items)
+ "lf",
+ 4711,
+ 98.7 * 1000 * 1000,
++ "mc",
++ false,
+ "p",
+ "pc",
+ "pcc",
+ true,
+ true,
++ false,
+ true,
+ .run_second_cpp = false,
+ SLOPPY_FILE_MACRO|SLOPPY_INCLUDE_FILE_MTIME|
+@@ -433,11 +445,14 @@ TEST(conf_print_items)
+ CHECK_STR_EQ("log_file = lf", received_conf_items[n++].descr);
+ CHECK_STR_EQ("max_files = 4711", received_conf_items[n++].descr);
+ CHECK_STR_EQ("max_size = 98.7M", received_conf_items[n++].descr);
++ CHECK_STR_EQ("memcached_conf = mc", received_conf_items[n++].descr);
++ CHECK_STR_EQ("memcached_only = false", received_conf_items[n++].descr);
+ CHECK_STR_EQ("path = p", received_conf_items[n++].descr);
+ CHECK_STR_EQ("prefix_command = pc", received_conf_items[n++].descr);
+ CHECK_STR_EQ("prefix_command_cpp = pcc", received_conf_items[n++].descr);
+ CHECK_STR_EQ("read_only = true", received_conf_items[n++].descr);
+ CHECK_STR_EQ("read_only_direct = true", received_conf_items[n++].descr);
++ CHECK_STR_EQ("read_only_memcached = false", received_conf_items[n++].descr);
+ CHECK_STR_EQ("recache = true", received_conf_items[n++].descr);
+ CHECK_STR_EQ("run_second_cpp = false", received_conf_items[n++].descr);
+ CHECK_STR_EQ("sloppiness = file_macro, include_file_mtime,"
+diff --git a/upload-memcached.py b/upload-memcached.py
+new file mode 100755
+index 0000000..bc489b0
+--- /dev/null
++++ b/upload-memcached.py
+@@ -0,0 +1,126 @@
++#!/usr/bin/env python
++
++import memcache
++import struct
++import os
++import hashlib
++
++"""
++/* blob format for storing:
++
++ char magic[4]; # 'CCH1', might change for other version of ccache
++ # ccache will erase the blob in memcached if wrong magic
++ uint32_t obj_len; # network endian
++ char *obj[obj_len];
++ uint32_t stderr_len; # network endian
++ char *stderr[stderr_len];
++ uint32_t dia_len; # network endian
++ char *dia[dia_len];
++ uint32_t dep_len; # network endian
++ char *dep[dep_len];
++
++*/
++"""
++MEMCCACHE_MAGIC = 'CCH1'
++
++def set_blob(data):
++ return struct.pack('!I', len(data)) + str(data)
++MEMCCACHE_BIG = 'CCBM'
++
++"""
++/* blob format for big values:
++
++ char magic[4]; # 'CCBM'
++ uint32_t numkeys; # network endian
++ uint32_t hash_size; # network endian
++ uint32_t reserved; # network endian
++ uint32_t value_length; # network endian
++
++ <hash[0]> hash of include file (<hash_size> bytes)
++ <size[0]> size of include file (4 bytes unsigned int)
++ ...
++ <hash[n-1]>
++ <size[n-1]>
++
++*/
++"""
++MEMCCACHE_BIG = 'CCBM'
++
++MAX_VALUE_SIZE = 1000 << 10 # 1M with memcached overhead
++SPLIT_VALUE_SIZE = MAX_VALUE_SIZE
++
++server = os.getenv("MEMCACHED_SERVERS", "localhost")
++mc = memcache.Client(server.split(','), debug=1)
++
++ccache = os.getenv("CCACHE_DIR", os.path.expanduser("~/.ccache"))
++filelist = []
++for dirpath, dirnames, filenames in os.walk(ccache):
++ # sort by modification time, most recently used last
++ for filename in filenames:
++ stat = os.stat(os.path.join(dirpath, filename))
++ filelist.append((stat.st_mtime, dirpath, filename))
++filelist.sort()
++files = blobs = chunks = objects = manifest = 0
++for mtime, dirpath, filename in filelist:
++ dirname = dirpath.replace(ccache + os.path.sep, "")
++ if filename == "CACHEDIR.TAG":
++ # ignore these
++ files = files + 1
++ else:
++ (base, ext) = os.path.splitext(filename)
++ if ext == '.o':
++ objects = objects + 1
++ key = "".join(list(os.path.split(dirname)) + [base])
++ def read_file(path):
++ return os.path.exists(path) and open(path).read() or ""
++ obj = read_file(os.path.join(dirpath, filename))
++ stderr = read_file(os.path.join(dirpath, base) + '.stderr')
++ dia = read_file(os.path.join(dirpath, base) + '.dia')
++ dep = read_file(os.path.join(dirpath, base) + '.d')
++
++ print "%s: %d %d %d %d" % (key, len(obj), len(stderr), len(dia), len(dep))
++ val = MEMCCACHE_MAGIC
++ val += set_blob(obj)
++ val += set_blob(stderr)
++ val += set_blob(dia)
++ val += set_blob(dep)
++ if len(val) > MAX_VALUE_SIZE:
++ numkeys = (len(val) + SPLIT_VALUE_SIZE - 1) / SPLIT_VALUE_SIZE
++ buf = MEMCCACHE_BIG
++ buf += struct.pack('!I', numkeys)
++ buf += struct.pack('!I', 16)
++ buf += struct.pack('!I', 0)
++ buf += struct.pack('!I', len(val))
++ def splitchunks(s, n):
++ """Produce `n`-character chunks from `s`."""
++ for start in range(0, len(s), n):
++ yield s[start:start+n]
++ valmap = {}
++ for subval in splitchunks(val, SPLIT_VALUE_SIZE):
++ subhash = hashlib.new('md4')
++ subhash.update(subval)
++ buf += subhash.digest() + struct.pack('!I', len(subval))
++ subkey = "%s-%d" % (subhash.hexdigest(), len(subval))
++ print "# %s: chunk %d" % (subkey, len(subval))
++ #mc.set(subkey, subval)
++ valmap[subkey] = subval
++ chunks = chunks + 1
++ mc.set_multi(valmap)
++ mc.set(key, buf)
++ else:
++ mc.set(key, val)
++ files = files + 1
++ blobs = blobs + 1
++ elif ext == '.stderr' or ext == '.d' or ext == '.dia':
++ # was added above
++ files = files + 1
++ elif ext == '.manifest':
++ manifest = manifest + 1
++ key = "".join(list(os.path.split(dirname)) + [base])
++ val = open(os.path.join(dirpath, filename)).read() or None
++ if val:
++ print "%s: manifest %d" % (key, len(val))
++ mc.set(key, val, 0, 0)
++ files = files + 1
++ blobs = blobs + 1
++print "%d files, %d objects (%d manifest) = %d blobs (%d chunks)" % (files, objects, manifest, blobs, chunks)
+diff --git a/util.c b/util.c
+index f048d97..6059f25 100644
+--- a/util.c
++++ b/util.c
+@@ -388,6 +388,75 @@ copy_file(const char *src, const char *dest, int compress_level)
+ return -1;
+ }
+
++// Write data to a fd.
++int safe_write(int fd_out, const char *data, size_t length)
++{
++ size_t written = 0;
++ do {
++ int ret;
++ ret = write(fd_out, data + written, length - written);
++ if (ret < 0) {
++ if (errno != EAGAIN && errno != EINTR) {
++ return ret;
++ }
++ } else {
++ written += ret;
++ }
++ } while (written < length);
++ return 0;
++}
++
++// Write data to a file.
++int write_file(const char *data, const char *dest, size_t length)
++{
++ int fd_out;
++ char *tmp_name;
++ int ret;
++ int saved_errno = 0;
++
++ tmp_name = x_strdup(dest);
++ fd_out = create_tmp_fd(&tmp_name);
++ if (fd_out < 0) {
++ tmp_unlink(tmp_name);
++ free(tmp_name);
++ return -1;
++ }
++
++ ret = safe_write(fd_out, data, length);
++ if (ret < 0) {
++ saved_errno = errno;
++ cc_log("write error: %s", strerror(saved_errno));
++ goto error;
++ }
++
++#ifndef _WIN32
++ fchmod(fd_out, 0666 & ~get_umask());
++#endif
++
++ /* the close can fail on NFS if out of space */
++ if (close(fd_out) == -1) {
++ saved_errno = errno;
++ cc_log("close error: %s", strerror(saved_errno));
++ goto error;
++ }
++
++ if (x_rename(tmp_name, dest) == -1) {
++ saved_errno = errno;
++ cc_log("rename error: %s", strerror(saved_errno));
++ goto error;
++ }
++
++ free(tmp_name);
++ return 0;
++
++error:
++ close(fd_out);
++ tmp_unlink(tmp_name);
++ free(tmp_name);
++ errno = saved_errno;
++ return -1;
++}
++
+ // Run copy_file() and, if successful, delete the source file.
+ int
+ move_file(const char *src, const char *dest, int compress_level)
diff --git a/test-ports/devel/ccache/files/extra-patch-memcached-Makefile.in b/test-ports/devel/ccache/files/extra-patch-memcached-Makefile.in
new file mode 100644
index 00000000..2af101a5
--- /dev/null
+++ b/test-ports/devel/ccache/files/extra-patch-memcached-Makefile.in
@@ -0,0 +1,11 @@
+--- Makefile.in.orig 2017-03-09 13:00:34.016595000 -0800
++++ Makefile.in 2017-03-09 13:00:39.656086000 -0800
+@@ -74,7 +74,7 @@ files_to_distclean = Makefile config.h c
+ all: ccache$(EXEEXT)
+
+ ccache$(EXEEXT): $(ccache_objs) $(extra_libs)
+- $(CC) $(all_cflags) -o $@ $(ccache_objs) $(LDFLAGS) $(extra_libs) $(LIBS)
++ $(CXX) $(all_cflags) -o $@ $(ccache_objs) $(LDFLAGS) $(extra_libs) $(LIBS)
+
+ .PHONY: install
+ install: all $(srcdir)/ccache.1
diff --git a/test-ports/devel/ccache/files/extra-patch-memcached-ccache.c b/test-ports/devel/ccache/files/extra-patch-memcached-ccache.c
new file mode 100644
index 00000000..5d04a3b2
--- /dev/null
+++ b/test-ports/devel/ccache/files/extra-patch-memcached-ccache.c
@@ -0,0 +1,11 @@
+--- ccache.c.orig 2017-03-09 09:08:38.803365000 -0800
++++ ccache.c 2017-03-09 09:08:42.059821000 -0800
+@@ -2153,7 +2153,7 @@ calculate_object_hash(struct args *args,
+ conf->direct_mode = false;
+ return NULL;
+ }
+- char *manifest_name = hash_result(hash);
++ manifest_name = hash_result(hash);
+ manifest_path = get_path_in_cache(manifest_name, ".manifest");
+ /* Check if the manifest file is there. */
+ struct stat st;
diff --git a/test-ports/devel/ccache/files/extra-patch-memcached-configure.ac b/test-ports/devel/ccache/files/extra-patch-memcached-configure.ac
new file mode 100644
index 00000000..3eb136dc
--- /dev/null
+++ b/test-ports/devel/ccache/files/extra-patch-memcached-configure.ac
@@ -0,0 +1,56 @@
+--- configure.ac.orig 2017-05-08 20:36:24.922407000 -0700
++++ configure.ac 2017-05-08 20:39:41.725107000 -0700
+@@ -28,6 +28,10 @@ AC_PROG_CC_C99
+ if test "$ac_cv_prog_cc_c99" = no; then
+ AC_MSG_ERROR(cannot find a C99-compatible compiler)
+ fi
++AC_PROG_CXX
++if test "$ac_cv_prog_cxx" = no; then
++ AC_MSG_ERROR(cannot find a C++-compatible compiler)
++fi
+
+ AC_PROG_CPP
+ AC_PROG_INSTALL
+@@ -97,19 +101,36 @@ AC_ARG_ENABLE(memcached,
+ [AS_HELP_STRING([--enable-memcached],
+ [enable memcached as a cache backend])])
+
++# Need to use C++ compiler for linking -lmemcached as static, rather than
++# hacking in GCC's -lstdc++, since we may be using Clang.
++AC_LANG(C++)
+ dnl enable-memcached: Check if -lmemcached is needed.
+ if test x${enable_memcached} != x; then
+- if test x${enable_static} != x; then
++ if false && test x${enable_static} != x; then
+ AC_CHECK_LIB(stdc++, __gxx_personality_v0,[])
+ fi
+ AC_CHECK_LIB(pthread, pthread_once)
+- AC_CHECK_LIB(memcached, memcached,[],[
+- echo ' WARNING: recent version libmemcached not found'
+- echo ' please install libmemcached > 1.0 with development files'
+- exit 1
+- ])
++ if test x${enable_static} != x; then
++ AC_CHECK_LIB(sasl2, sasl_version, ac_cv_have_libsasl2=yes,
++ ac_cv_have_libsasl2=no, -lcrypto -lopie -lmd)
++ fi
++ if test x$ac_cv_have_libsasl2 = xyes; then
++ AC_CHECK_LIB(memcached, memcached,[],[
++ echo ' WARNING: recent version libmemcached not found'
++ echo ' please install libmemcached > 1.0 with development files'
++ exit 1
++ ], -lsasl2 -lcrypto -lopie -lmd)
++ extra_ldflags="${extra_ldflags} -lcrypto -lopie -lmd"
++ else
++ AC_CHECK_LIB(memcached, memcached,[],[
++ echo ' WARNING: recent version libmemcached not found'
++ echo ' please install libmemcached > 1.0 with development files'
++ exit 1
++ ])
++ fi
+ ccache_memcached='CCACHE_MEMCACHED=1 '
+ fi
++AC_LANG(C)
+
+ dnl Check for zlib
+ AC_ARG_WITH(bundled-zlib,
diff --git a/test-ports/devel/ccache/files/patch-ccache.c b/test-ports/devel/ccache/files/patch-ccache.c
new file mode 100644
index 00000000..c38b96a9
--- /dev/null
+++ b/test-ports/devel/ccache/files/patch-ccache.c
@@ -0,0 +1,62 @@
+- Determine whether cc(1) is clang or gcc at compile-time.
+- Don't hash -fcolor-diagnostics; make will auto use it while make -j will not.
+ There's no reason to not use the cache in either of these cases if it is
+ already available.
+-bdrewery
+
+--- ccache.c.orig 2016-10-26 14:31:19.000000000 -0700
++++ ccache.c 2017-02-03 14:24:35.466505000 -0800
+@@ -1468,6 +1468,11 @@ compiler_is_clang(struct args *args)
+ {
+ char *name = basename(args->argv[0]);
+ bool result = strstr(name, "clang") != NULL;
++#ifdef CC_IS_CLANG
++ if (strcmp(name, "cc") == 0 || strcmp(name, "CC") == 0 ||
++ strcmp(name, "c++") == 0)
++ result = true;
++#endif
+ free(name);
+ return result;
+ }
+@@ -1477,6 +1482,11 @@ compiler_is_gcc(struct args *args)
+ {
+ char *name = basename(args->argv[0]);
+ bool result = strstr(name, "gcc") || strstr(name, "g++");
++#ifdef CC_IS_GCC
++ if (strcmp(name, "cc") == 0 || strcmp(name, "CC") == 0 ||
++ strcmp(name, "c++") == 0)
++ result = true;
++#endif
+ free(name);
+ return result;
+ }
+@@ -1592,6 +1602,7 @@ calculate_common_hash(struct args *args,
+ free(p);
+ }
+
++#if 0
+ // Possibly hash GCC_COLORS (for color diagnostics).
+ if (compiler_is_gcc(args)) {
+ const char *gcc_colors = getenv("GCC_COLORS");
+@@ -1600,6 +1611,7 @@ calculate_common_hash(struct args *args,
+ hash_string(hash, gcc_colors);
+ }
+ }
++#endif
+ }
+
+ // Update a hash sum with information specific to the direct and preprocessor
+@@ -1629,6 +1641,13 @@ calculate_object_hash(struct args *args,
+ continue;
+ }
+
++ /* Colors do not affect compilation. */
++ if (str_startswith(args->argv[i], "-fcolor-diagnostics") ||
++ str_eq(args->argv[i], "-fdiagnostics-color") ||
++ str_eq(args->argv[i], "-fdiagnostics-color=always")) {
++ continue;
++ }
++
+ // The -fdebug-prefix-map option may be used in combination with
+ // CCACHE_BASEDIR to reuse results across different directories. Skip it
+ // from hashing.
diff --git a/test-ports/devel/ccache/files/patch-configure b/test-ports/devel/ccache/files/patch-configure
new file mode 100644
index 00000000..010d9bf2
--- /dev/null
+++ b/test-ports/devel/ccache/files/patch-configure
@@ -0,0 +1,20 @@
+--- configure.orig 2015-10-08 19:14:23 UTC
++++ configure
+@@ -3672,7 +3672,7 @@ $as_echo "#define _XOPEN_SOURCE 500" >>c
+ ;;
+ *)
+
+-$as_echo "#define _XOPEN_SOURCE 600" >>confdefs.h
++$as_echo "#define _XOPEN_SOURCE 700" >>confdefs.h
+
+ ;;
+ esac
+@@ -3694,7 +3694,7 @@ $as_echo "#define _XOPEN_SOURCE_EXTENDED
+ esac
+
+
+-$as_echo "#define _POSIX_C_SOURCE 200112L" >>confdefs.h
++$as_echo "#define _POSIX_C_SOURCE 200809L" >>confdefs.h
+
+
+ fi
diff --git a/test-ports/devel/ccache/files/patch-configure.ac b/test-ports/devel/ccache/files/patch-configure.ac
new file mode 100644
index 00000000..9b15d461
--- /dev/null
+++ b/test-ports/devel/ccache/files/patch-configure.ac
@@ -0,0 +1,19 @@
+--- m4/feature_macros.m4.orig 2017-02-13 15:05:54.405968000 -0800
++++ m4/feature_macros.m4 2017-02-13 15:16:32.931104000 -0800
+@@ -120,7 +120,7 @@
+ Define to the level of X/Open that your system supports)
+ ;;
+ *)
+- AC_DEFINE(_XOPEN_SOURCE, 600,
++ AC_DEFINE(_XOPEN_SOURCE, 700,
+ Define to the level of X/Open that your system supports)
+ ;;
+ esac
+@@ -142,6 +142,6 @@
+ ;;
+ esac
+
+- AC_DEFINE(_POSIX_C_SOURCE, 200112L, Define to activate features from IEEE Stds 1003.1-2001)
++ AC_DEFINE(_POSIX_C_SOURCE, 200809L, Define to activate features from IEEE Stds 1003.1-2001)
+
+ fi
diff --git a/test-ports/devel/ccache/files/pkg-message.in b/test-ports/devel/ccache/files/pkg-message.in
new file mode 100644
index 00000000..0ff12447
--- /dev/null
+++ b/test-ports/devel/ccache/files/pkg-message.in
@@ -0,0 +1,5 @@
+
+NOTE:
+Please read %%DOCSDIR%%/%%HOWTO%% for
+information on using ccache with FreeBSD ports and src.
+
diff --git a/test-ports/devel/ccache/files/world-ccache.in b/test-ports/devel/ccache/files/world-ccache.in
new file mode 100644
index 00000000..9803d12b
--- /dev/null
+++ b/test-ports/devel/ccache/files/world-ccache.in
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+[ "${0##*/}" = "ccache" ] &&
+ printf "Please, use one of the compiler links in\n%%PREFIX%%/%%CCLINKDIR%%/world\nto invoke ccache\n" >&2 &&
+ exit 1
+
+unset CCACHE_PATH
+export CCACHE_COMPILERCHECK=content
+exec %%PREFIX%%/%%CCLINKDIR%%/${0##*/} "$@"
diff --git a/test-ports/devel/ccache/pkg-descr b/test-ports/devel/ccache/pkg-descr
new file mode 100644
index 00000000..0fe4f61a
--- /dev/null
+++ b/test-ports/devel/ccache/pkg-descr
@@ -0,0 +1,6 @@
+ccache is a compiler cache. It acts as a caching pre-processor to C/C++
+compilers, using the -E compiler switch and a hash to detect when a
+compilation can be satisfied from cache. This often results in a 5 to 10
+times speedup in common compilations.
+
+WWW: http://ccache.samba.org/
diff --git a/test-ports/devel/ccache/pkg-plist b/test-ports/devel/ccache/pkg-plist
new file mode 100644
index 00000000..c3327694
--- /dev/null
+++ b/test-ports/devel/ccache/pkg-plist
@@ -0,0 +1,8 @@
+bin/ccache
+bin/ccache-update-links
+man/man1/ccache.1.gz
+%%CCLINKDIR%%/world/ccache
+%%TINDERBOX%%%%DATADIR%%/ccache.tar
+@postexec echo "Create compiler links..."
+@postexec %D/bin/ccache-update-links -v
+@preunexec find %D/%%CCLINKDIR%% -type l -exec rm -f {} \;
diff --git a/test-ports/devel/gettext-runtime/Makefile b/test-ports/devel/gettext-runtime/Makefile
new file mode 100644
index 00000000..89c99c56
--- /dev/null
+++ b/test-ports/devel/gettext-runtime/Makefile
@@ -0,0 +1,49 @@
+# $FreeBSD: head/devel/gettext-runtime/Makefile 428152 2016-12-08 19:52:19Z tijl $
+
+# NOTE: before committing to this port, contact portmgr to arrange for an
+# experimental ports run. Untested commits may be backed out at portmgr's
+# discretion.
+
+PORTNAME= gettext-runtime
+PORTREVISION= 1
+
+COMMENT= GNU gettext runtime libraries and programs
+
+LICENSE= LGPL21 GPLv3
+LICENSE_COMB= multi
+LICENSE_FILE_LGPL21= ${WRKSRC}/intl/COPYING.LIB
+LICENSE_FILE_GPLv3= ${WRKSRC}/../COPYING
+
+.include "${.CURDIR}/../gettext/Makefile.common"
+
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS= --disable-csharp --disable-java --with-included-gettext \
+ ac_cv_lib_rt_sched_yield=no
+INSTALL_TARGET= install-strip
+TEST_TARGET= check
+USES= charsetfix cpe iconv libtool tar:xz
+USE_LDCONFIG= yes
+WRKSRC_SUBDIR= gettext-runtime
+
+INFO= autosprintf
+CPE_PRODUCT= gettext
+CPE_VENDOR= gnu
+
+.include <bsd.port.options.mk>
+
+.if ${OPSYS} == DragonFly
+CONFIGURE_ARGS+=--disable-threads
+.endif
+
+post-patch:
+# Do not install csharp and java documentation.
+ @${REINPLACE_CMD} -E '/^SUBDIRS =/s/(intl-csharp|intl-java)//g' \
+ ${WRKSRC}/Makefile.in
+# Do not install html copies of manpages.
+ @${REINPLACE_CMD} \
+ -e '/^all-local:/s/html-local//' \
+ -e '/^install-data-local:/s/install-html//' \
+ -e '/^installdirs-local:/s/installdirs-html//' \
+ ${WRKSRC}/libasprintf/Makefile.in ${WRKSRC}/man/Makefile.in
+
+.include <bsd.port.mk>
diff --git a/test-ports/devel/gettext-runtime/files/patch-configure b/test-ports/devel/gettext-runtime/files/patch-configure
new file mode 100644
index 00000000..d7c3b9c9
--- /dev/null
+++ b/test-ports/devel/gettext-runtime/files/patch-configure
@@ -0,0 +1,11 @@
+--- configure.orig 2014-07-14 07:30:12 UTC
++++ configure
+@@ -16277,7 +16277,7 @@
+ # thread: pthread_create from libc will fail, whereas
+ # pthread_create will actually create a thread.
+ case "$host_os" in
+- solaris* | hpux*)
++ solaris* | hpux* | freebsd*)
+
+ $as_echo "#define PTHREAD_IN_USE_DETECTION_HARD 1" >>confdefs.h
+
diff --git a/test-ports/devel/gettext-runtime/files/patch-intl-threadlib.c b/test-ports/devel/gettext-runtime/files/patch-intl-threadlib.c
new file mode 100644
index 00000000..8de65d92
--- /dev/null
+++ b/test-ports/devel/gettext-runtime/files/patch-intl-threadlib.c
@@ -0,0 +1,39 @@
+--- intl/threadlib.c.orig 2013-03-07 08:44:37 UTC
++++ intl/threadlib.c
+@@ -29,11 +29,10 @@
+
+ # if PTHREAD_IN_USE_DETECTION_HARD
+
+-/* The function to be executed by a dummy thread. */
+-static void *
+-dummy_thread_func (void *arg)
++static pthread_once_t dummy_once_control = PTHREAD_ONCE_INIT;
++static void
++dummy_once_func (void)
+ {
+- return arg;
+ }
+
+ int
+@@ -44,19 +43,10 @@ glthread_in_use (void)
+
+ if (!tested)
+ {
+- pthread_t thread;
+-
+- if (pthread_create (&thread, NULL, dummy_thread_func, NULL) != 0)
+- /* Thread creation failed. */
++ if (pthread_once (&dummy_once_control, dummy_once_func) != 0)
+ result = 0;
+ else
+- {
+- /* Thread creation works. */
+- void *retval;
+- if (pthread_join (thread, &retval) != 0)
+- abort ();
+- result = 1;
+- }
++ result = 1;
+ tested = 1;
+ }
+ return result;
diff --git a/test-ports/devel/gettext-runtime/pkg-descr b/test-ports/devel/gettext-runtime/pkg-descr
new file mode 100644
index 00000000..ac084016
--- /dev/null
+++ b/test-ports/devel/gettext-runtime/pkg-descr
@@ -0,0 +1,6 @@
+GNU gettext is a framework of libraries and tools for internationalisation
+and localisation of software.
+
+This package contains the runtime libraries and programs.
+
+WWW: http://www.gnu.org/software/gettext/
diff --git a/test-ports/devel/gettext-runtime/pkg-plist b/test-ports/devel/gettext-runtime/pkg-plist
new file mode 100644
index 00000000..a5936e24
--- /dev/null
+++ b/test-ports/devel/gettext-runtime/pkg-plist
@@ -0,0 +1,68 @@
+bin/envsubst
+bin/gettext
+bin/gettext.sh
+bin/ngettext
+include/autosprintf.h
+include/libintl.h
+lib/libasprintf.a
+lib/libasprintf.so
+lib/libasprintf.so.0
+lib/libasprintf.so.0.0.0
+lib/libintl.a
+lib/libintl.so
+lib/libintl.so.8
+lib/libintl.so.8.1.5
+man/man1/envsubst.1.gz
+man/man1/gettext.1.gz
+man/man1/ngettext.1.gz
+man/man3/bind_textdomain_codeset.3.gz
+man/man3/bindtextdomain.3.gz
+man/man3/dcgettext.3.gz
+man/man3/dcngettext.3.gz
+man/man3/dgettext.3.gz
+man/man3/dngettext.3.gz
+man/man3/gettext.3.gz
+man/man3/ngettext.3.gz
+man/man3/textdomain.3.gz
+%%DATADIR%%/ABOUT-NLS
+share/locale/be/LC_MESSAGES/gettext-runtime.mo
+share/locale/bg/LC_MESSAGES/gettext-runtime.mo
+share/locale/ca/LC_MESSAGES/gettext-runtime.mo
+share/locale/cs/LC_MESSAGES/gettext-runtime.mo
+share/locale/da/LC_MESSAGES/gettext-runtime.mo
+share/locale/de/LC_MESSAGES/gettext-runtime.mo
+share/locale/el/LC_MESSAGES/gettext-runtime.mo
+share/locale/en@boldquot/LC_MESSAGES/gettext-runtime.mo
+share/locale/en@quot/LC_MESSAGES/gettext-runtime.mo
+share/locale/eo/LC_MESSAGES/gettext-runtime.mo
+share/locale/es/LC_MESSAGES/gettext-runtime.mo
+share/locale/et/LC_MESSAGES/gettext-runtime.mo
+share/locale/fi/LC_MESSAGES/gettext-runtime.mo
+share/locale/fr/LC_MESSAGES/gettext-runtime.mo
+share/locale/ga/LC_MESSAGES/gettext-runtime.mo
+share/locale/gl/LC_MESSAGES/gettext-runtime.mo
+share/locale/hr/LC_MESSAGES/gettext-runtime.mo
+share/locale/hu/LC_MESSAGES/gettext-runtime.mo
+share/locale/id/LC_MESSAGES/gettext-runtime.mo
+share/locale/it/LC_MESSAGES/gettext-runtime.mo
+share/locale/ja/LC_MESSAGES/gettext-runtime.mo
+share/locale/ko/LC_MESSAGES/gettext-runtime.mo
+share/locale/locale.alias
+share/locale/nb/LC_MESSAGES/gettext-runtime.mo
+share/locale/nl/LC_MESSAGES/gettext-runtime.mo
+share/locale/nn/LC_MESSAGES/gettext-runtime.mo
+share/locale/pl/LC_MESSAGES/gettext-runtime.mo
+share/locale/pt/LC_MESSAGES/gettext-runtime.mo
+share/locale/pt_BR/LC_MESSAGES/gettext-runtime.mo
+share/locale/ro/LC_MESSAGES/gettext-runtime.mo
+share/locale/ru/LC_MESSAGES/gettext-runtime.mo
+share/locale/sk/LC_MESSAGES/gettext-runtime.mo
+share/locale/sl/LC_MESSAGES/gettext-runtime.mo
+share/locale/sr/LC_MESSAGES/gettext-runtime.mo
+share/locale/sv/LC_MESSAGES/gettext-runtime.mo
+share/locale/tr/LC_MESSAGES/gettext-runtime.mo
+share/locale/uk/LC_MESSAGES/gettext-runtime.mo
+share/locale/vi/LC_MESSAGES/gettext-runtime.mo
+share/locale/zh_CN/LC_MESSAGES/gettext-runtime.mo
+share/locale/zh_HK/LC_MESSAGES/gettext-runtime.mo
+share/locale/zh_TW/LC_MESSAGES/gettext-runtime.mo
diff --git a/test-ports/devel/gettext-tools/Makefile b/test-ports/devel/gettext-tools/Makefile
new file mode 100644
index 00000000..0846f08e
--- /dev/null
+++ b/test-ports/devel/gettext-tools/Makefile
@@ -0,0 +1,68 @@
+# $FreeBSD: head/devel/gettext-tools/Makefile 416967 2016-06-16 13:31:37Z tijl $
+
+# NOTE: before committing to this port, contact portmgr to arrange for an
+# experimental ports run. Untested commits may be backed out at portmgr's
+# discretion.
+
+PORTNAME= gettext-tools
+PORTREVISION= 0
+
+COMMENT= GNU gettext development and translation tools
+
+LICENSE= GPLv3
+LICENSE_FILE= ${WRKSRC}/../COPYING
+
+.include "${.CURDIR}/../gettext/Makefile.common"
+
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS= --disable-csharp --disable-java --disable-openmp \
+ --with-included-glib --with-included-libcroco \
+ --with-included-libunistring --with-included-libxml \
+ --without-emacs --without-git ac_cv_lib_rt_sched_yield=no
+CPPFLAGS+= -I${LOCALBASE}/include
+LIBS+= -L${LOCALBASE}/lib
+INSTALL_TARGET= install-strip
+PLIST_SUB= VERSION=${PORTVERSION:R}
+TEST_TARGET= check
+USES= charsetfix cpe gettext-runtime iconv libtool tar:xz
+USE_LDCONFIG= yes
+WRKSRC_SUBDIR= gettext-tools
+
+CPE_PRODUCT= gettext
+CPE_VENDOR= gnu
+
+OPTIONS_DEFINE= DOCS THREADS
+OPTIONS_DEFAULT=THREADS
+OPTIONS_EXCLUDE_DragonFly= THREADS
+
+DOCS_INFO= gettext
+
+THREADS_CONFIGURE_ENABLE= threads
+
+post-patch-DOCS-off:
+ @${REINPLACE_CMD} '/^SUBDIRS =/s/doc//' ${WRKSRC}/Makefile.in
+
+post-patch:
+# Exclude examples and gnulib-tests.
+ @${REINPLACE_CMD} -E '/^SUBDIRS =/s/(examples|gnulib-tests)//g' \
+ ${WRKSRC}/Makefile.in
+ @${REINPLACE_CMD} \
+ '/^install-data-am:/s/install-examplesbuildauxDATA//' \
+ ${WRKSRC}/Makefile.in ${WRKSRC}/m4/Makefile.in
+# Do not install html copies of manpages.
+ @${REINPLACE_CMD} \
+ -e '/^all-local:/s/html-local//' \
+ -e '/^install-data-local:/s/install-html//' \
+ -e '/^installdirs-local:/s/installdirs-html//' \
+ ${WRKSRC}/man/Makefile.in
+# Do not patch system float.h.
+ @${REINPLACE_CMD} 's/FLOAT_H=float\.h//' \
+ ${WRKSRC}/configure
+# Use libintl installed by gettext-runtime.
+ @${REINPLACE_CMD} '/^LDADD_no =/s,\.\./intl/libgnuintl.la,,' \
+ ${WRKSRC}/tests/Makefile.in
+# Use libasprintf installed by gettext-runtime.
+ @${REINPLACE_CMD} 's,[^ ]*libasprintf.la,-lasprintf,' \
+ ${WRKSRC}/tests/lang-c++
+
+.include <bsd.port.mk>
diff --git a/test-ports/devel/gettext-tools/files/patch-configure b/test-ports/devel/gettext-tools/files/patch-configure
new file mode 100644
index 00000000..aae0d524
--- /dev/null
+++ b/test-ports/devel/gettext-tools/files/patch-configure
@@ -0,0 +1,20 @@
+--- configure.orig 2014-07-14 07:30:23 UTC
++++ configure
+@@ -18293,7 +18293,7 @@
+ # thread: pthread_create from libc will fail, whereas
+ # pthread_create will actually create a thread.
+ case "$host_os" in
+- solaris* | hpux*)
++ solaris* | hpux* | freebsd*)
+
+ $as_echo "#define PTHREAD_IN_USE_DETECTION_HARD 1" >>confdefs.h
+
+@@ -21679,7 +21679,7 @@
+ if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \
+ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \
+ && test "$PACKAGE" != gettext-runtime \
+- && test "$PACKAGE" != gettext-tools; }; then
++ ; }; then
+ gt_use_preinstalled_gnugettext=yes
+ else
+ LIBINTL=
diff --git a/test-ports/devel/gettext-tools/files/patch-gnulib-lib_glthread_threadlib.c b/test-ports/devel/gettext-tools/files/patch-gnulib-lib_glthread_threadlib.c
new file mode 100644
index 00000000..c8a29d7a
--- /dev/null
+++ b/test-ports/devel/gettext-tools/files/patch-gnulib-lib_glthread_threadlib.c
@@ -0,0 +1,39 @@
+--- gnulib-lib/glthread/threadlib.c.orig 2014-07-14 07:28:34 UTC
++++ gnulib-lib/glthread/threadlib.c
+@@ -29,11 +29,10 @@
+
+ # if PTHREAD_IN_USE_DETECTION_HARD
+
+-/* The function to be executed by a dummy thread. */
+-static void *
+-dummy_thread_func (void *arg)
++static pthread_once_t dummy_once_control = PTHREAD_ONCE_INIT;
++static void
++dummy_once_func (void)
+ {
+- return arg;
+ }
+
+ int
+@@ -44,19 +43,10 @@ glthread_in_use (void)
+
+ if (!tested)
+ {
+- pthread_t thread;
+-
+- if (pthread_create (&thread, NULL, dummy_thread_func, NULL) != 0)
+- /* Thread creation failed. */
++ if (pthread_once (&dummy_once_control, dummy_once_func) != 0)
+ result = 0;
+ else
+- {
+- /* Thread creation works. */
+- void *retval;
+- if (pthread_join (thread, &retval) != 0)
+- abort ();
+- result = 1;
+- }
++ result = 1;
+ tested = 1;
+ }
+ return result;
diff --git a/test-ports/devel/gettext-tools/files/patch-libgettextpo_glthread_threadlib.c b/test-ports/devel/gettext-tools/files/patch-libgettextpo_glthread_threadlib.c
new file mode 100644
index 00000000..ac8184e4
--- /dev/null
+++ b/test-ports/devel/gettext-tools/files/patch-libgettextpo_glthread_threadlib.c
@@ -0,0 +1,39 @@
+--- libgettextpo/glthread/threadlib.c.orig 2014-07-14 07:29:10 UTC
++++ libgettextpo/glthread/threadlib.c
+@@ -29,11 +29,10 @@
+
+ # if PTHREAD_IN_USE_DETECTION_HARD
+
+-/* The function to be executed by a dummy thread. */
+-static void *
+-dummy_thread_func (void *arg)
++static pthread_once_t dummy_once_control = PTHREAD_ONCE_INIT;
++static void
++dummy_once_func (void)
+ {
+- return arg;
+ }
+
+ int
+@@ -44,19 +43,10 @@ glthread_in_use (void)
+
+ if (!tested)
+ {
+- pthread_t thread;
+-
+- if (pthread_create (&thread, NULL, dummy_thread_func, NULL) != 0)
+- /* Thread creation failed. */
++ if (pthread_once (&dummy_once_control, dummy_once_func) != 0)
+ result = 0;
+ else
+- {
+- /* Thread creation works. */
+- void *retval;
+- if (pthread_join (thread, &retval) != 0)
+- abort ();
+- result = 1;
+- }
++ result = 1;
+ tested = 1;
+ }
+ return result;
diff --git a/test-ports/devel/gettext-tools/pkg-descr b/test-ports/devel/gettext-tools/pkg-descr
new file mode 100644
index 00000000..f1767e47
--- /dev/null
+++ b/test-ports/devel/gettext-tools/pkg-descr
@@ -0,0 +1,6 @@
+GNU gettext is a framework of libraries and tools for internationalisation
+and localisation of software.
+
+This package contains development and translation tools.
+
+WWW: http://www.gnu.org/software/gettext/
diff --git a/test-ports/devel/gettext-tools/pkg-plist b/test-ports/devel/gettext-tools/pkg-plist
new file mode 100644
index 00000000..da982118
--- /dev/null
+++ b/test-ports/devel/gettext-tools/pkg-plist
@@ -0,0 +1,255 @@
+bin/autopoint
+bin/gettextize
+bin/msgattrib
+bin/msgcat
+bin/msgcmp
+bin/msgcomm
+bin/msgconv
+bin/msgen
+bin/msgexec
+bin/msgfilter
+bin/msgfmt
+bin/msggrep
+bin/msginit
+bin/msgmerge
+bin/msgunfmt
+bin/msguniq
+bin/recode-sr-latin
+bin/xgettext
+include/gettext-po.h
+lib/libgettextlib-%%VERSION%%.1.so
+lib/libgettextlib.so
+lib/libgettextpo.a
+lib/libgettextpo.so
+lib/libgettextpo.so.0
+lib/libgettextpo.so.0.5.4
+lib/libgettextsrc-%%VERSION%%.1.so
+lib/libgettextsrc.so
+lib/gettext/cldr-plurals
+lib/gettext/hostname
+lib/gettext/project-id
+lib/gettext/urlget
+lib/gettext/user-email
+man/man1/autopoint.1.gz
+man/man1/gettextize.1.gz
+man/man1/msgattrib.1.gz
+man/man1/msgcat.1.gz
+man/man1/msgcmp.1.gz
+man/man1/msgcomm.1.gz
+man/man1/msgconv.1.gz
+man/man1/msgen.1.gz
+man/man1/msgexec.1.gz
+man/man1/msgfilter.1.gz
+man/man1/msgfmt.1.gz
+man/man1/msggrep.1.gz
+man/man1/msginit.1.gz
+man/man1/msgmerge.1.gz
+man/man1/msgunfmt.1.gz
+man/man1/msguniq.1.gz
+man/man1/recode-sr-latin.1.gz
+man/man1/xgettext.1.gz
+share/aclocal/codeset.m4
+share/aclocal/extern-inline.m4
+share/aclocal/gettext.m4
+share/aclocal/fcntl-o.m4
+share/aclocal/glibc2.m4
+share/aclocal/glibc21.m4
+share/aclocal/iconv.m4
+share/aclocal/intdiv0.m4
+share/aclocal/intl.m4
+share/aclocal/intldir.m4
+share/aclocal/intlmacosx.m4
+share/aclocal/intmax.m4
+share/aclocal/inttypes-pri.m4
+share/aclocal/inttypes_h.m4
+share/aclocal/lcmessage.m4
+share/aclocal/lib-ld.m4
+share/aclocal/lib-link.m4
+share/aclocal/lib-prefix.m4
+share/aclocal/lock.m4
+share/aclocal/longlong.m4
+share/aclocal/nls.m4
+share/aclocal/po.m4
+share/aclocal/printf-posix.m4
+share/aclocal/progtest.m4
+share/aclocal/size_max.m4
+share/aclocal/stdint_h.m4
+share/aclocal/threadlib.m4
+share/aclocal/uintmax_t.m4
+share/aclocal/visibility.m4
+share/aclocal/wchar_t.m4
+share/aclocal/wint_t.m4
+share/aclocal/xsize.m4
+%%PORTDOCS%%%%DOCSDIR%%/FAQ.html
+%%PORTDOCS%%%%DOCSDIR%%/gettext_1.html
+%%PORTDOCS%%%%DOCSDIR%%/gettext_2.html
+%%PORTDOCS%%%%DOCSDIR%%/gettext_3.html
+%%PORTDOCS%%%%DOCSDIR%%/gettext_4.html
+%%PORTDOCS%%%%DOCSDIR%%/gettext_5.html
+%%PORTDOCS%%%%DOCSDIR%%/gettext_6.html
+%%PORTDOCS%%%%DOCSDIR%%/gettext_7.html
+%%PORTDOCS%%%%DOCSDIR%%/gettext_8.html
+%%PORTDOCS%%%%DOCSDIR%%/gettext_9.html
+%%PORTDOCS%%%%DOCSDIR%%/gettext_10.html
+%%PORTDOCS%%%%DOCSDIR%%/gettext_11.html
+%%PORTDOCS%%%%DOCSDIR%%/gettext_12.html
+%%PORTDOCS%%%%DOCSDIR%%/gettext_13.html
+%%PORTDOCS%%%%DOCSDIR%%/gettext_14.html
+%%PORTDOCS%%%%DOCSDIR%%/gettext_15.html
+%%PORTDOCS%%%%DOCSDIR%%/gettext_16.html
+%%PORTDOCS%%%%DOCSDIR%%/gettext_17.html
+%%PORTDOCS%%%%DOCSDIR%%/gettext_18.html
+%%PORTDOCS%%%%DOCSDIR%%/gettext_19.html
+%%PORTDOCS%%%%DOCSDIR%%/gettext_20.html
+%%PORTDOCS%%%%DOCSDIR%%/gettext_21.html
+%%PORTDOCS%%%%DOCSDIR%%/gettext_22.html
+%%PORTDOCS%%%%DOCSDIR%%/gettext_23.html
+%%PORTDOCS%%%%DOCSDIR%%/gettext_24.html
+%%PORTDOCS%%%%DOCSDIR%%/gettext_25.html
+%%PORTDOCS%%%%DOCSDIR%%/gettext_foot.html
+%%PORTDOCS%%%%DOCSDIR%%/gettext_toc.html
+%%PORTDOCS%%%%DOCSDIR%%/tutorial.html
+%%DATADIR%%/archive.dir.tar.xz
+%%DATADIR%%/config.rpath
+%%DATADIR%%/gettext.h
+%%DATADIR%%/intl/COPYING.LIB
+%%DATADIR%%/intl/Makefile.in
+%%DATADIR%%/intl/VERSION
+%%DATADIR%%/intl/bindtextdom.c
+%%DATADIR%%/intl/config.charset
+%%DATADIR%%/intl/dcgettext.c
+%%DATADIR%%/intl/dcigettext.c
+%%DATADIR%%/intl/dcngettext.c
+%%DATADIR%%/intl/dgettext.c
+%%DATADIR%%/intl/dngettext.c
+%%DATADIR%%/intl/eval-plural.h
+%%DATADIR%%/intl/explodename.c
+%%DATADIR%%/intl/export.h
+%%DATADIR%%/intl/finddomain.c
+%%DATADIR%%/intl/gettext.c
+%%DATADIR%%/intl/gettextP.h
+%%DATADIR%%/intl/gmo.h
+%%DATADIR%%/intl/hash-string.c
+%%DATADIR%%/intl/hash-string.h
+%%DATADIR%%/intl/intl-compat.c
+%%DATADIR%%/intl/intl-exports.c
+%%DATADIR%%/intl/l10nflist.c
+%%DATADIR%%/intl/langprefs.c
+%%DATADIR%%/intl/libgnuintl.in.h
+%%DATADIR%%/intl/libintl.rc
+%%DATADIR%%/intl/loadinfo.h
+%%DATADIR%%/intl/loadmsgcat.c
+%%DATADIR%%/intl/localcharset.c
+%%DATADIR%%/intl/localcharset.h
+%%DATADIR%%/intl/locale.alias
+%%DATADIR%%/intl/localealias.c
+%%DATADIR%%/intl/localename.c
+%%DATADIR%%/intl/lock.c
+%%DATADIR%%/intl/lock.h
+%%DATADIR%%/intl/log.c
+%%DATADIR%%/intl/ngettext.c
+%%DATADIR%%/intl/os2compat.c
+%%DATADIR%%/intl/os2compat.h
+%%DATADIR%%/intl/osdep.c
+%%DATADIR%%/intl/plural-exp.c
+%%DATADIR%%/intl/plural-exp.h
+%%DATADIR%%/intl/plural.c
+%%DATADIR%%/intl/plural.y
+%%DATADIR%%/intl/printf-args.c
+%%DATADIR%%/intl/printf-args.h
+%%DATADIR%%/intl/printf-parse.c
+%%DATADIR%%/intl/printf-parse.h
+%%DATADIR%%/intl/printf.c
+%%DATADIR%%/intl/ref-add.sin
+%%DATADIR%%/intl/ref-del.sin
+%%DATADIR%%/intl/relocatable.c
+%%DATADIR%%/intl/relocatable.h
+%%DATADIR%%/intl/setlocale.c
+%%DATADIR%%/intl/textdomain.c
+%%DATADIR%%/intl/threadlib.c
+%%DATADIR%%/intl/tsearch.c
+%%DATADIR%%/intl/tsearch.h
+%%DATADIR%%/intl/vasnprintf.c
+%%DATADIR%%/intl/vasnprintf.h
+%%DATADIR%%/intl/vasnwprintf.h
+%%DATADIR%%/intl/verify.h
+%%DATADIR%%/intl/version.c
+%%DATADIR%%/intl/wprintf-parse.h
+%%DATADIR%%/intl/xsize.c
+%%DATADIR%%/intl/xsize.h
+%%DATADIR%%/javaversion.class
+%%DATADIR%%/msgunfmt.tcl
+%%DATADIR%%/po/Makefile.in.in
+%%DATADIR%%/po/Makevars.template
+%%DATADIR%%/po/Rules-quot
+%%DATADIR%%/po/boldquot.sed
+%%DATADIR%%/po/en@boldquot.header
+%%DATADIR%%/po/en@quot.header
+%%DATADIR%%/po/insert-header.sin
+%%DATADIR%%/po/quot.sed
+%%DATADIR%%/po/remove-potcdate.sin
+%%DATADIR%%/projects/GNOME/team-address
+%%DATADIR%%/projects/GNOME/teams.html
+%%DATADIR%%/projects/GNOME/teams.url
+%%DATADIR%%/projects/GNOME/trigger
+%%DATADIR%%/projects/KDE/team-address
+%%DATADIR%%/projects/KDE/teams.html
+%%DATADIR%%/projects/KDE/teams.url
+%%DATADIR%%/projects/KDE/trigger
+%%DATADIR%%/projects/TP/team-address
+%%DATADIR%%/projects/TP/teams.html
+%%DATADIR%%/projects/TP/teams.url
+%%DATADIR%%/projects/TP/trigger
+%%DATADIR%%/projects/index
+%%DATADIR%%/projects/team-address
+%%DATADIR%%/styles/po-default.css
+%%DATADIR%%/styles/po-emacs-x.css
+%%DATADIR%%/styles/po-emacs-xterm.css
+%%DATADIR%%/styles/po-emacs-xterm16.css
+%%DATADIR%%/styles/po-emacs-xterm256.css
+%%DATADIR%%/styles/po-vim.css
+share/gettext-%%VERSION%%/its/appdata.its
+share/gettext-%%VERSION%%/its/appdata.loc
+share/gettext-%%VERSION%%/its/glade.loc
+share/gettext-%%VERSION%%/its/glade1.its
+share/gettext-%%VERSION%%/its/glade2.its
+share/gettext-%%VERSION%%/its/gsettings.its
+share/gettext-%%VERSION%%/its/gsettings.loc
+share/gettext-%%VERSION%%/its/gtkbuilder.its
+share/locale/be/LC_MESSAGES/gettext-tools.mo
+share/locale/bg/LC_MESSAGES/gettext-tools.mo
+share/locale/ca/LC_MESSAGES/gettext-tools.mo
+share/locale/cs/LC_MESSAGES/gettext-tools.mo
+share/locale/da/LC_MESSAGES/gettext-tools.mo
+share/locale/de/LC_MESSAGES/gettext-tools.mo
+share/locale/el/LC_MESSAGES/gettext-tools.mo
+share/locale/en@boldquot/LC_MESSAGES/gettext-tools.mo
+share/locale/en@quot/LC_MESSAGES/gettext-tools.mo
+share/locale/es/LC_MESSAGES/gettext-tools.mo
+share/locale/et/LC_MESSAGES/gettext-tools.mo
+share/locale/eu/LC_MESSAGES/gettext-tools.mo
+share/locale/fi/LC_MESSAGES/gettext-tools.mo
+share/locale/fr/LC_MESSAGES/gettext-tools.mo
+share/locale/gl/LC_MESSAGES/gettext-tools.mo
+share/locale/id/LC_MESSAGES/gettext-tools.mo
+share/locale/it/LC_MESSAGES/gettext-tools.mo
+share/locale/ja/LC_MESSAGES/gettext-tools.mo
+share/locale/ko/LC_MESSAGES/gettext-tools.mo
+share/locale/nb/LC_MESSAGES/gettext-tools.mo
+share/locale/nl/LC_MESSAGES/gettext-tools.mo
+share/locale/nn/LC_MESSAGES/gettext-tools.mo
+share/locale/pa/LC_MESSAGES/gettext-tools.mo
+share/locale/pl/LC_MESSAGES/gettext-tools.mo
+share/locale/pt/LC_MESSAGES/gettext-tools.mo
+share/locale/pt_BR/LC_MESSAGES/gettext-tools.mo
+share/locale/ro/LC_MESSAGES/gettext-tools.mo
+share/locale/ru/LC_MESSAGES/gettext-tools.mo
+share/locale/sk/LC_MESSAGES/gettext-tools.mo
+share/locale/sl/LC_MESSAGES/gettext-tools.mo
+share/locale/sr/LC_MESSAGES/gettext-tools.mo
+share/locale/sv/LC_MESSAGES/gettext-tools.mo
+share/locale/tr/LC_MESSAGES/gettext-tools.mo
+share/locale/uk/LC_MESSAGES/gettext-tools.mo
+share/locale/vi/LC_MESSAGES/gettext-tools.mo
+share/locale/zh_CN/LC_MESSAGES/gettext-tools.mo
+share/locale/zh_TW/LC_MESSAGES/gettext-tools.mo
diff --git a/test-ports/devel/gettext/Makefile b/test-ports/devel/gettext/Makefile
new file mode 100644
index 00000000..87326a80
--- /dev/null
+++ b/test-ports/devel/gettext/Makefile
@@ -0,0 +1,16 @@
+# $FreeBSD: head/devel/gettext/Makefile 386359 2015-05-14 20:22:03Z bapt $
+
+# NOTE: before committing to this port, contact portmgr to arrange for an
+# experimental ports run. Untested commits may be backed out at portmgr's
+# discretion.
+
+PORTNAME= gettext
+PORTREVISION= 0
+
+COMMENT= GNU gettext meta package
+
+.include "${.CURDIR}/../gettext/Makefile.common"
+
+USES= gettext-runtime:run gettext-tools:run metaport
+
+.include <bsd.port.mk>
diff --git a/test-ports/devel/gettext/Makefile.common b/test-ports/devel/gettext/Makefile.common
new file mode 100644
index 00000000..9732c29f
--- /dev/null
+++ b/test-ports/devel/gettext/Makefile.common
@@ -0,0 +1,18 @@
+# $FreeBSD: head/devel/gettext/Makefile.common 416967 2016-06-16 13:31:37Z tijl $
+
+# NOTE: before committing to this port, contact portmgr to arrange for an
+# experimental ports run. Untested commits may be backed out at portmgr's
+# discretion.
+
+PORTVERSION= 0.19.8.1
+PORTREVISION?= 0 # Leave this zero. Set in Makefile instead.
+CATEGORIES= devel
+MASTER_SITES= GNU/gettext
+DISTNAME= gettext-${PORTVERSION}
+
+MAINTAINER= tijl@FreeBSD.org
+
+DISTINFO_FILE= ${.CURDIR}/../gettext/distinfo
+
+DATADIR= ${PREFIX}/share/gettext
+DOCSDIR= ${PREFIX}/share/doc/gettext
diff --git a/test-ports/devel/gettext/distinfo b/test-ports/devel/gettext/distinfo
new file mode 100644
index 00000000..f53ca91f
--- /dev/null
+++ b/test-ports/devel/gettext/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1465727987
+SHA256 (gettext-0.19.8.1.tar.xz) = 105556dbc5c3fbbc2aa0edb46d22d055748b6f5c7cd7a8d99f8e7eb84e938be4
+SIZE (gettext-0.19.8.1.tar.xz) = 7209808
diff --git a/test-ports/devel/gettext/pkg-descr b/test-ports/devel/gettext/pkg-descr
new file mode 100644
index 00000000..c5cc171b
--- /dev/null
+++ b/test-ports/devel/gettext/pkg-descr
@@ -0,0 +1,4 @@
+GNU gettext is a framework of libraries and tools for internationalisation
+and localisation of software.
+
+WWW: http://www.gnu.org/software/gettext/
diff --git a/test-ports/devel/gmake/Makefile b/test-ports/devel/gmake/Makefile
new file mode 100644
index 00000000..962fec52
--- /dev/null
+++ b/test-ports/devel/gmake/Makefile
@@ -0,0 +1,39 @@
+# Created by: jkh
+# $FreeBSD: head/devel/gmake/Makefile 418216 2016-07-08 11:24:18Z tijl $
+
+PORTNAME= gmake
+PORTVERSION= 4.2.1
+PORTREVISION= 1
+CATEGORIES= devel
+MASTER_SITES= GNU/make
+DISTNAME= make-${PORTVERSION}
+
+# note: before committing to this port, contact portmgr to arrange for an
+# experimental ports run. Untested commits may be backed out at portmgr's
+# discretion.
+MAINTAINER= tijl@FreeBSD.org
+COMMENT= GNU version of 'make' utility
+
+LICENSE= GPLv3
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS= --program-prefix=g \
+ --without-guile
+# fmake does not like PO_DEPENDS_ON_POT being undefined
+MAKE_ARGS= PO_DEPENDS_ON_POT=
+
+USES= cpe tar:bzip2
+CPE_VENDOR= gnu
+
+OPTIONS_DEFINE= NLS
+OPTIONS_SUB= yes
+
+NLS_USES= gettext iconv
+NLS_CONFIGURE_ON= ${ICONV_CONFIGURE_ARG} \
+ --with-libintl-prefix=${LOCALBASE}
+NLS_CONFIGURE_ENABLE= nls
+
+INFO= make
+
+.include <bsd.port.mk>
diff --git a/test-ports/devel/gmake/distinfo b/test-ports/devel/gmake/distinfo
new file mode 100644
index 00000000..bdecf1bd
--- /dev/null
+++ b/test-ports/devel/gmake/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1465732758
+SHA256 (make-4.2.1.tar.bz2) = d6e262bf3601b42d2b1e4ef8310029e1dcf20083c5446b4b7aa67081fdffc589
+SIZE (make-4.2.1.tar.bz2) = 1407126
diff --git a/test-ports/devel/gmake/files/patch-default.c b/test-ports/devel/gmake/files/patch-default.c
new file mode 100644
index 00000000..44588ced
--- /dev/null
+++ b/test-ports/devel/gmake/files/patch-default.c
@@ -0,0 +1,11 @@
+--- default.c.orig 2015-05-13 16:16:24 UTC
++++ default.c
+@@ -447,7 +447,7 @@ static const char *default_variables[] =
+ "OBJC", "gcc",
+ #else
+ "CC", "cc",
+- "CXX", "g++",
++ "CXX", "c++",
+ "OBJC", "cc",
+ #endif
+
diff --git a/test-ports/devel/gmake/pkg-descr b/test-ports/devel/gmake/pkg-descr
new file mode 100644
index 00000000..456196b9
--- /dev/null
+++ b/test-ports/devel/gmake/pkg-descr
@@ -0,0 +1,5 @@
+GNU make is a tool that controls the generation of executables and other
+non-source files from source files. Its purpose is the same as that
+of the utility make(1).
+
+WWW: https://www.gnu.org/software/make/
diff --git a/test-ports/devel/gmake/pkg-plist b/test-ports/devel/gmake/pkg-plist
new file mode 100644
index 00000000..cb51cf79
--- /dev/null
+++ b/test-ports/devel/gmake/pkg-plist
@@ -0,0 +1,28 @@
+bin/gmake
+include/gnumake.h
+%%NLS%%share/locale/be/LC_MESSAGES/make.mo
+%%NLS%%share/locale/cs/LC_MESSAGES/make.mo
+%%NLS%%share/locale/da/LC_MESSAGES/make.mo
+%%NLS%%share/locale/de/LC_MESSAGES/make.mo
+%%NLS%%share/locale/es/LC_MESSAGES/make.mo
+%%NLS%%share/locale/fi/LC_MESSAGES/make.mo
+%%NLS%%share/locale/fr/LC_MESSAGES/make.mo
+%%NLS%%share/locale/ga/LC_MESSAGES/make.mo
+%%NLS%%share/locale/gl/LC_MESSAGES/make.mo
+%%NLS%%share/locale/he/LC_MESSAGES/make.mo
+%%NLS%%share/locale/hr/LC_MESSAGES/make.mo
+%%NLS%%share/locale/id/LC_MESSAGES/make.mo
+%%NLS%%share/locale/it/LC_MESSAGES/make.mo
+%%NLS%%share/locale/ja/LC_MESSAGES/make.mo
+%%NLS%%share/locale/ko/LC_MESSAGES/make.mo
+%%NLS%%share/locale/lt/LC_MESSAGES/make.mo
+%%NLS%%share/locale/nl/LC_MESSAGES/make.mo
+%%NLS%%share/locale/pl/LC_MESSAGES/make.mo
+%%NLS%%share/locale/pt_BR/LC_MESSAGES/make.mo
+%%NLS%%share/locale/ru/LC_MESSAGES/make.mo
+%%NLS%%share/locale/sv/LC_MESSAGES/make.mo
+%%NLS%%share/locale/tr/LC_MESSAGES/make.mo
+%%NLS%%share/locale/uk/LC_MESSAGES/make.mo
+%%NLS%%share/locale/vi/LC_MESSAGES/make.mo
+%%NLS%%share/locale/zh_CN/LC_MESSAGES/make.mo
+man/man1/gmake.1.gz
diff --git a/test-ports/devel/libffi/Makefile b/test-ports/devel/libffi/Makefile
new file mode 100644
index 00000000..11385dd2
--- /dev/null
+++ b/test-ports/devel/libffi/Makefile
@@ -0,0 +1,43 @@
+# Created by: Horance Chou <horance@freedom.ie.cycu.edu.tw>
+# $FreeBSD: head/devel/libffi/Makefile 412346 2016-04-01 14:00:51Z mat $
+
+PORTNAME= libffi
+PORTVERSION= 3.2.1
+CATEGORIES= devel
+MASTER_SITES= SOURCEWARE/${PORTNAME}
+
+MAINTAINER= zeising@FreeBSD.org
+COMMENT= Foreign Function Interface
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+TEST_DEPENDS= runtest:misc/dejagnu
+
+USES= libtool pathfix
+USE_LDCONFIG= yes
+GNU_CONFIGURE= yes
+
+OPTIONS_DEFINE= TESTS
+
+TESTS_DESC= Include tools for test suite
+TESTS_BUILD_DEPENDS= ${TEST_DEPENDS}
+
+INSTALL_TARGET= install-strip
+INFO= libffi
+PLIST_SUB= PORTVERSION=${PORTVERSION}
+
+post-patch:
+ @${REINPLACE_CMD} -e 's| -Wno-psabi||g' \
+ ${WRKSRC}/testsuite/lib/libffi.exp
+
+post-install:
+ @${LN} -sf ../lib/libffi-${PORTVERSION}/include/ffi.h \
+ ${STAGEDIR}${PREFIX}/include/
+ @${LN} -sf ../lib/libffi-${PORTVERSION}/include/ffitarget.h \
+ ${STAGEDIR}${PREFIX}/include/
+
+regression-test: build
+ @(cd ${WRKSRC} && ${MAKE_CMD} check)
+
+.include <bsd.port.mk>
diff --git a/test-ports/devel/libffi/distinfo b/test-ports/devel/libffi/distinfo
new file mode 100644
index 00000000..b388b79c
--- /dev/null
+++ b/test-ports/devel/libffi/distinfo
@@ -0,0 +1,2 @@
+SHA256 (libffi-3.2.1.tar.gz) = d06ebb8e1d9a22d19e38d63fdb83954253f39bedc5d46232a05645685722ca37
+SIZE (libffi-3.2.1.tar.gz) = 940837
diff --git a/test-ports/devel/libffi/files/patch-b5ade2 b/test-ports/devel/libffi/files/patch-b5ade2
new file mode 100644
index 00000000..e6933f7e
--- /dev/null
+++ b/test-ports/devel/libffi/files/patch-b5ade2
@@ -0,0 +1,112 @@
+# Clang doesn't like the -Wno-psabi argument that we want to pass to GCC.
+# Since clang is detected as GCC via __GNUC__, use ax_cv_c_compiler_vendor.
+# https://github.com/atgreen/libffi/commit/b5ade2fb5d9ba06519484677a5474e5dad48c2e3
+
+diff --git a/testsuite/lib/libffi.exp b/testsuite/lib/libffi.exp
+index 5051d31..0e92bb0 100644
+--- testsuite/lib/libffi.exp
++++ testsuite/lib/libffi.exp
+@@ -100,46 +100,39 @@ proc libffi-init { args } {
+ global libffi_link_flags
+ global tool_root_dir
+ global ld_library_path
+-
+- global using_gcc
++ global compiler_vendor
+
+ set blddirffi [pwd]/..
+ verbose "libffi $blddirffi"
+
+- # Are we building with GCC?
+- set tmp [grep ../config.status "GCC='yes'"]
+- if { [string match $tmp "GCC='yes'"] } {
+-
+- set using_gcc "yes"
++ # Which compiler are we building with?
++ set tmp [grep ../config.log "^ax_cv_c_compiler_vendor.*$"]
++ regexp -- {^[^=]*=(.*)$} $tmp nil compiler_vendor
+
+- set gccdir [lookfor_file $tool_root_dir gcc/libgcc.a]
+- if {$gccdir != ""} {
+- set gccdir [file dirname $gccdir]
+- }
+- verbose "gccdir $gccdir"
+-
+- set ld_library_path "."
+- append ld_library_path ":${gccdir}"
+-
+- set compiler "${gccdir}/xgcc"
+- if { [is_remote host] == 0 && [which $compiler] != 0 } {
+- foreach i "[exec $compiler --print-multi-lib]" {
+- set mldir ""
+- regexp -- "\[a-z0-9=_/\.-\]*;" $i mldir
+- set mldir [string trimright $mldir "\;@"]
+- if { "$mldir" == "." } {
+- continue
+- }
+- if { [llength [glob -nocomplain ${gccdir}/${mldir}/libgcc_s*.so.*]] >= 1 } {
+- append ld_library_path ":${gccdir}/${mldir}"
++ if { [string match $compiler_vendor "gnu"] } {
++ set gccdir [lookfor_file $tool_root_dir gcc/libgcc.a]
++ if {$gccdir != ""} {
++ set gccdir [file dirname $gccdir]
++ }
++ verbose "gccdir $gccdir"
++
++ set ld_library_path "."
++ append ld_library_path ":${gccdir}"
++
++ set compiler "${gccdir}/xgcc"
++ if { [is_remote host] == 0 && [which $compiler] != 0 } {
++ foreach i "[exec $compiler --print-multi-lib]" {
++ set mldir ""
++ regexp -- "\[a-z0-9=_/\.-\]*;" $i mldir
++ set mldir [string trimright $mldir "\;@"]
++ if { "$mldir" == "." } {
++ continue
++ }
++ if { [llength [glob -nocomplain ${gccdir}/${mldir}/libgcc_s*.so.*]] >= 1 } {
++ append ld_library_path ":${gccdir}/${mldir}"
++ }
+ }
+- }
+- }
+-
+- } else {
+-
+- set using_gcc "no"
+-
++ }
+ }
+
+ # add the library path for libffi.
+@@ -278,18 +271,25 @@ proc libffi-dg-runtest { testcases default-extra-flags } {
+ }
+
+ proc run-many-tests { testcases extra_flags } {
+- global using_gcc
+- if { [string match $using_gcc "yes"] } {
++ global compiler_vendor
++ switch $compiler_vendor {
++ "clang" {
++ set common "-W -Wall"
++ set optimizations { "-O0" "-O1" "-O2" "-O3" "-Os" }
++ }
++ "gnu" {
+ set common "-W -Wall -Wno-psabi"
+ set optimizations { "-O0" "-O2" "-O3" "-Os" "-O2 -fomit-frame-pointer" }
+- } else {
++ }
++ default {
+ # Assume we are using the vendor compiler.
+ set common ""
+ set optimizations { "" }
++ }
+ }
+
+ set targetabis { "" }
+- if [string match $using_gcc "yes"] {
++ if [string match $compiler_vendor "gnu"] {
+ if [istarget "i?86-*-*"] {
+ set targetabis {
+ ""
diff --git a/test-ports/devel/libffi/files/patch-configure b/test-ports/devel/libffi/files/patch-configure
new file mode 100644
index 00000000..913024f8
--- /dev/null
+++ b/test-ports/devel/libffi/files/patch-configure
@@ -0,0 +1,11 @@
+--- configure.orig 2015-01-01 10:56:10 UTC
++++ configure
+@@ -17221,7 +17221,7 @@ case "$host" in
+ mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
+ TARGET=MIPS; TARGETDIR=mips
+ ;;
+- mips*-*linux* | mips*-*-openbsd*)
++ mips*-*linux* | mips*-*-openbsd* | mips*-*-freebsd*)
+ # Support 128-bit long double for NewABI.
+ HAVE_LONG_DOUBLE='defined(__mips64)'
+ TARGET=MIPS; TARGETDIR=mips
diff --git a/test-ports/devel/libffi/files/patch-src__arm__ffi.c b/test-ports/devel/libffi/files/patch-src__arm__ffi.c
new file mode 100644
index 00000000..d3058a08
--- /dev/null
+++ b/test-ports/devel/libffi/files/patch-src__arm__ffi.c
@@ -0,0 +1,36 @@
+# Description: Fix abort() on ARM related to __clear_cache(). This is an issue
+# for anything !apple that is using the libcompiler_rt provided by clang on ARM
+# PR: ports/149167 ports/184517
+# Patch by: cognet@ (to be upstreamed @ LLVM)
+
+--- ./src/arm/ffi.c.orig 2013-03-16 22:19:39.000000000 +1100
++++ ./src/arm/ffi.c 2013-12-03 19:30:58.440924300 +1100
+@@ -33,6 +33,11 @@
+
+ #include <stdlib.h>
+
++#if defined(__FreeBSD__) && defined(__arm__)
++#include <sys/types.h>
++#include <machine/sysarch.h>
++#endif
++
+ /* Forward declares. */
+ static int vfp_type_p (ffi_type *);
+ static void layout_vfp_args (ffi_cif *);
+@@ -582,6 +587,16 @@
+
+ #else
+
++#if defined(__FreeBSD__) && defined(__arm__)
++#define __clear_cache(start, end) do { \
++ struct arm_sync_icache_args ua; \
++ \
++ ua.addr = (uintptr_t)(start); \
++ ua.len = (char *)(end) - (char *)start; \
++ sysarch(ARM_SYNC_ICACHE, &ua); \
++ } while (0);
++#endif
++
+ #define FFI_INIT_TRAMPOLINE(TRAMP,FUN,CTX) \
+ ({ unsigned char *__tramp = (unsigned char*)(TRAMP); \
+ unsigned int __fun = (unsigned int)(FUN); \
diff --git a/test-ports/devel/libffi/files/patch-src__mips__ffi.c b/test-ports/devel/libffi/files/patch-src__mips__ffi.c
new file mode 100644
index 00000000..d93f3737
--- /dev/null
+++ b/test-ports/devel/libffi/files/patch-src__mips__ffi.c
@@ -0,0 +1,29 @@
+diff --git ./src/mips/ffi.c.orig ./src/mips/ffi.c
+index 03121e3..8b7881f 100644
+--- ./src/mips/ffi.c.orig
++++ ./src/mips/ffi.c
+@@ -38,7 +38,9 @@
+ #endif
+
+ #ifndef USE__BUILTIN___CLEAR_CACHE
+-# if defined(__OpenBSD__)
++# if defined(__FreeBSD__)
++# include <machine/sysarch.h>
++# elif defined(__OpenBSD__)
+ # include <mips64/sysarch.h>
+ # else
+ # include <sys/cachectl.h>
+@@ -729,11 +731,13 @@ ffi_prep_closure_loc (ffi_closure *closure,
+ closure->fun = fun;
+ closure->user_data = user_data;
+
++#if !defined(__FreeBSD__)
+ #ifdef USE__BUILTIN___CLEAR_CACHE
+ __builtin___clear_cache(clear_location, clear_location + FFI_TRAMPOLINE_SIZE);
+ #else
+ cacheflush (clear_location, FFI_TRAMPOLINE_SIZE, ICACHE);
+ #endif
++#endif /* ! __FreeBSD__ */
+ return FFI_OK;
+ }
+
diff --git a/test-ports/devel/libffi/files/patch-src__mips__ffitarget.h b/test-ports/devel/libffi/files/patch-src__mips__ffitarget.h
new file mode 100644
index 00000000..4c52e326
--- /dev/null
+++ b/test-ports/devel/libffi/files/patch-src__mips__ffitarget.h
@@ -0,0 +1,13 @@
+diff --git ./src/mips/ffitarget.h.orig ./src/mips/ffitarget.h
+index 717d659..5a0c2b1 100644
+--- ./src/mips/ffitarget.h.orig
++++ ./src/mips/ffitarget.h
+@@ -41,7 +41,7 @@
+ #define _MIPS_SIM_ABI32 1
+ #define _MIPS_SIM_NABI32 2
+ #define _MIPS_SIM_ABI64 3
+-#elif !defined(__OpenBSD__)
++#elif !defined(__OpenBSD__) && !defined(__FreeBSD__)
+ # include <sgidefs.h>
+ #endif
+
diff --git a/test-ports/devel/libffi/files/patch-src_arm_sysv.S b/test-ports/devel/libffi/files/patch-src_arm_sysv.S
new file mode 100644
index 00000000..228dc3de
--- /dev/null
+++ b/test-ports/devel/libffi/files/patch-src_arm_sysv.S
@@ -0,0 +1,15 @@
+# Description: 3.2.1 fails to build with clang 3.5.0 on arm
+# Issue ID: https://github.com/atgreen/libffi/issues/162
+# Submitted by: sbruno
+
+--- src/arm/sysv.S.orig 2015-01-01 10:47:51 UTC
++++ src/arm/sysv.S
+@@ -396,7 +396,7 @@ LSYM(Lbase_args):
+ beq LSYM(Lepilogue_vfp)
+
+ cmp r3, #FFI_TYPE_SINT64
+- stmeqia r2, {r0, r1}
++ stmiaeq r2, {r0, r1}
+ beq LSYM(Lepilogue_vfp)
+
+ cmp r3, #FFI_TYPE_FLOAT
diff --git a/test-ports/devel/libffi/pkg-descr b/test-ports/devel/libffi/pkg-descr
new file mode 100644
index 00000000..15514cb8
--- /dev/null
+++ b/test-ports/devel/libffi/pkg-descr
@@ -0,0 +1,6 @@
+The libffi library provides a portable, high level programming
+interface to various calling conventions. This allows a programmer to
+call any function specified by a call interface description at run
+time.
+
+WWW: http://sources.redhat.com/libffi/
diff --git a/test-ports/devel/libffi/pkg-plist b/test-ports/devel/libffi/pkg-plist
new file mode 100644
index 00000000..f4629c73
--- /dev/null
+++ b/test-ports/devel/libffi/pkg-plist
@@ -0,0 +1,13 @@
+include/ffi.h
+include/ffitarget.h
+lib/libffi-%%PORTVERSION%%/include/ffi.h
+lib/libffi-%%PORTVERSION%%/include/ffitarget.h
+lib/libffi.a
+lib/libffi.so
+lib/libffi.so.6
+lib/libffi.so.6.0.4
+libdata/pkgconfig/libffi.pc
+man/man3/ffi.3.gz
+man/man3/ffi_call.3.gz
+man/man3/ffi_prep_cif.3.gz
+man/man3/ffi_prep_cif_var.3.gz
diff --git a/test-ports/devel/m4/Makefile b/test-ports/devel/m4/Makefile
new file mode 100644
index 00000000..d60b08f7
--- /dev/null
+++ b/test-ports/devel/m4/Makefile
@@ -0,0 +1,40 @@
+# Created by: mr
+# $FreeBSD: head/devel/m4/Makefile 431344 2017-01-13 07:20:56Z sunpoet $
+
+PORTNAME= m4
+PORTVERSION= 1.4.18
+PORTEPOCH= 1
+CATEGORIES= devel
+MASTER_SITES= GNU
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= GNU M4
+
+LICENSE= GPLv3
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+OPTIONS_DEFINE= LIBSIGSEGV EXAMPLES
+LIBSIGSEGV_DESC=Use alternative page fault handler (GNU libsigsegv)
+
+CONFIGURE_ARGS= --program-prefix=g
+CONFIGURE_ENV= MAKEINFO="makeinfo --no-split"
+GNU_CONFIGURE= yes
+USES= makeinfo tar:xz
+
+EXAMPLESDIR= ${PREFIX}/share/examples/gm4
+INFO= m4
+PORTEXAMPLES= *
+
+LIBSIGSEGV_CONFIGURE_OFF= --without-libsigsegv-prefix
+LIBSIGSEGV_CONFIGURE_ON= --with-libsigsegv-prefix=${LOCALBASE}
+LIBSIGSEGV_LIB_DEPENDS= libsigsegv.so:devel/libsigsegv
+
+post-patch:
+ @${REINPLACE_CMD} -e '/^* M4: / s|M4|G&|' ${WRKSRC}/doc/m4.texi
+ @${REINPLACE_CMD} -e '/^install-exec-am: / s| .*||' ${WRKSRC}/lib/Makefile.in
+
+post-install-EXAMPLES-on:
+ ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/
+ ${INSTALL_DATA} ${WRKSRC}/examples/*.m4 ${STAGEDIR}${EXAMPLESDIR}/
+
+.include <bsd.port.mk>
diff --git a/test-ports/devel/m4/distinfo b/test-ports/devel/m4/distinfo
new file mode 100644
index 00000000..acbe3950
--- /dev/null
+++ b/test-ports/devel/m4/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1483466903
+SHA256 (m4-1.4.18.tar.xz) = f2c1e86ca0a404ff281631bdc8377638992744b175afb806e25871a24a934e07
+SIZE (m4-1.4.18.tar.xz) = 1207688
diff --git a/test-ports/devel/m4/pkg-descr b/test-ports/devel/m4/pkg-descr
new file mode 100644
index 00000000..aee896c9
--- /dev/null
+++ b/test-ports/devel/m4/pkg-descr
@@ -0,0 +1,15 @@
+GNU M4 is an implementation of the traditional Unix macro processor. It is
+mostly SVR4 compatible although it has some extensions (for example, handling
+more than 9 positional parameters to macros). GNU M4 also has built-in functions
+for including files, running shell commands, doing arithmetic, etc.
+
+GNU M4 is a macro processor in the sense that it copies its input to the output
+expanding macros as it goes. Macros are either builtin or user-defined and can
+take any number of arguments. Besides just doing macro expansion, m4 has builtin
+functions for including named files, running UNIX commands, doing integer
+arithmetic, manipulating text in various ways, recursion etc... m4 can be used
+either as a front-end to a compiler or as a macro processor in its own right.
+
+One of the biggest users of GNU M4 is the GNU Autoconf project.
+
+WWW: https://www.gnu.org/software/m4/m4.html
diff --git a/test-ports/devel/m4/pkg-plist b/test-ports/devel/m4/pkg-plist
new file mode 100644
index 00000000..659a44b5
--- /dev/null
+++ b/test-ports/devel/m4/pkg-plist
@@ -0,0 +1,2 @@
+bin/gm4
+man/man1/gm4.1.gz
diff --git a/test-ports/devel/p5-Locale-gettext/Makefile b/test-ports/devel/p5-Locale-gettext/Makefile
new file mode 100644
index 00000000..32496f1a
--- /dev/null
+++ b/test-ports/devel/p5-Locale-gettext/Makefile
@@ -0,0 +1,26 @@
+# Created by: Dmitry Sivachenko <dima@Chg.RU>
+# $FreeBSD: head/devel/p5-Locale-gettext/Makefile 437771 2017-04-05 08:25:57Z demon $
+
+PORTNAME= Locale-gettext
+PORTVERSION= 1.07
+CATEGORIES= devel perl5
+MASTER_SITES= CPAN
+PKGNAMEPREFIX= p5-
+DISTNAME= ${PORTNAME:C/.*-//}-${PORTVERSION}
+
+MAINTAINER= demon@FreeBSD.org
+COMMENT= Message handling functions
+
+LICENSE= ARTPERL10 GPLv2
+LICENSE_COMB= dual
+
+WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
+
+CONFIGURE_ENV+= LOCALBASE=${LOCALBASE}
+USES= gettext perl5
+USE_PERL5= configure
+
+post-install:
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}/auto/Locale/gettext/gettext.so
+
+.include <bsd.port.mk>
diff --git a/test-ports/devel/p5-Locale-gettext/distinfo b/test-ports/devel/p5-Locale-gettext/distinfo
new file mode 100644
index 00000000..6d5caf5a
--- /dev/null
+++ b/test-ports/devel/p5-Locale-gettext/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1491320681
+SHA256 (gettext-1.07.tar.gz) = 909d47954697e7c04218f972915b787bd1244d75e3bd01620bc167d5bbc49c15
+SIZE (gettext-1.07.tar.gz) = 8651
diff --git a/test-ports/devel/p5-Locale-gettext/files/patch-Makefile.PL b/test-ports/devel/p5-Locale-gettext/files/patch-Makefile.PL
new file mode 100644
index 00000000..8434dcba
--- /dev/null
+++ b/test-ports/devel/p5-Locale-gettext/files/patch-Makefile.PL
@@ -0,0 +1,23 @@
+--- Makefile.PL.orig 2015-09-19 14:35:20.790089000 +0300
++++ Makefile.PL 2015-09-19 14:41:53.575311000 +0300
+@@ -11,8 +11,8 @@ my $libs = '';
+
+ unless (conftest("char *x = gettext(\"foo\");", "gettext", 0)) {
+ # try with -lintl
+- $libs = "-lintl";
+- unless (conftest("char *x = gettext(\"foo\");", "gettext", 0)) {
++ $libs = "-L$ENV{LOCALBASE}/lib -lintl -I$ENV{LOCALBASE}/include";
++ unless (conftest("#include <libintl.h>\nchar *x = gettext(\"foo\");", "gettext", 0)) {
+ unlink("conftest.c");
+ unlink("conftest");
+ die "gettext function not found. Please install libintl";
+@@ -33,7 +33,8 @@ unlink("conftest");
+
+ WriteMakefile(
+ NAME => "Locale::gettext",
+- LIBS => ($libs eq '') ? [] : [$libs],
++ LIBS => ($libs eq '') ? [] : ["-L$ENV{LOCALBASE}/lib -lintl"],
++ INC => "-I$ENV{LOCALBASE}/include",
+ VERSION_FROM => 'gettext.pm',
+ META_MERGE => {
+ resources => {
diff --git a/test-ports/devel/p5-Locale-gettext/pkg-descr b/test-ports/devel/p5-Locale-gettext/pkg-descr
new file mode 100644
index 00000000..29108e88
--- /dev/null
+++ b/test-ports/devel/p5-Locale-gettext/pkg-descr
@@ -0,0 +1,5 @@
+This module permits from perl to the gettext() family of functions
+for retrieving message strings from databases constructed to
+internationalize software.
+
+WWW: http://search.cpan.org/dist/gettext/
diff --git a/test-ports/devel/p5-Locale-gettext/pkg-plist b/test-ports/devel/p5-Locale-gettext/pkg-plist
new file mode 100644
index 00000000..b3b7ead0
--- /dev/null
+++ b/test-ports/devel/p5-Locale-gettext/pkg-plist
@@ -0,0 +1,3 @@
+%%SITE_ARCH%%/auto/Locale/gettext/gettext.so
+%%SITE_ARCH%%/Locale/gettext.pm
+%%PERL5_MAN3%%/Locale::gettext.3.gz
diff --git a/test-ports/devel/pkgconf/Makefile b/test-ports/devel/pkgconf/Makefile
new file mode 100644
index 00000000..1f3f0e75
--- /dev/null
+++ b/test-ports/devel/pkgconf/Makefile
@@ -0,0 +1,33 @@
+# $FreeBSD: head/devel/pkgconf/Makefile 441493 2017-05-22 21:41:30Z kwm $
+
+PORTNAME= pkgconf
+PORTVERSION= 1.3.7
+PORTEPOCH= 1
+CATEGORIES= devel
+MASTER_SITES= https://distfiles.dereferenced.org/pkgconf/ \
+ http://files.etoilebsd.net/pkgconf/
+
+# NOTE: before committing to this port, contact portmgr to arrange for an
+# experimental ports run. Untested commits may be backed out at portmgr's
+# discretion.
+MAINTAINER= bapt@FreeBSD.org
+COMMENT= Utility to help to configure compiler and linker flags
+
+LICENSE= ISCL
+
+TEST_DEPENDS= kyua:devel/kyua
+
+USES= tar:xz libtool pathfix
+GNU_CONFIGURE= yes
+INSTALL_TARGET= install-strip
+USE_LDCONFIG= yes
+TEST_TARGET= check
+CONFIGURE_ARGS= --with-pkg-config-dir=${PREFIX}/libdata/pkgconfig:/usr/libdata/pkgconfig \
+ --with-system-libdir=/usr/lib \
+ --with-system-includedir=/usr/include
+MAKE_ARGS= MANDIR="${MAN1PREFIX}/man/man1"
+
+post-install:
+ ${LN} -sf pkgconf ${STAGEDIR}${PREFIX}/bin/pkg-config
+
+.include <bsd.port.mk>
diff --git a/test-ports/devel/pkgconf/distinfo b/test-ports/devel/pkgconf/distinfo
new file mode 100644
index 00000000..cf8844a8
--- /dev/null
+++ b/test-ports/devel/pkgconf/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1495355927
+SHA256 (pkgconf-1.3.7.tar.xz) = 1be7e40900c7467893c65f810211b1e68da3f8d5e70fddb883fc24839cad0339
+SIZE (pkgconf-1.3.7.tar.xz) = 271840
diff --git a/test-ports/devel/pkgconf/pkg-descr b/test-ports/devel/pkgconf/pkg-descr
new file mode 100644
index 00000000..9ae3b1ab
--- /dev/null
+++ b/test-ports/devel/pkgconf/pkg-descr
@@ -0,0 +1,6 @@
+pkgconf is a program which helps to configure compiler and linker flags for
+development frameworks. It is similar to pkg-config, but was written from
+scratch in Summer of 2011 to replace pkg-config, which now needs itself to
+build itself.
+
+WWW: https://github.com/pkgconf/pkgconf
diff --git a/test-ports/devel/pkgconf/pkg-plist b/test-ports/devel/pkgconf/pkg-plist
new file mode 100644
index 00000000..0abcbba1
--- /dev/null
+++ b/test-ports/devel/pkgconf/pkg-plist
@@ -0,0 +1,15 @@
+bin/pkg-config
+bin/pkgconf
+include/pkgconf/libpkgconf/bsdstubs.h
+include/pkgconf/libpkgconf/iter.h
+include/pkgconf/libpkgconf/libpkgconf.h
+include/pkgconf/libpkgconf/stdinc.h
+lib/libpkgconf.a
+lib/libpkgconf.so
+lib/libpkgconf.so.2
+lib/libpkgconf.so.2.0.0
+libdata/pkgconfig/libpkgconf.pc
+man/man1/pkgconf.1.gz
+share/aclocal/pkg.m4
+%%PORTDOCS%%%%DOCSDIR%%/AUTHORS
+%%PORTDOCS%%%%DOCSDIR%%/README.md
diff --git a/test-ports/devel/port_var_fetch1/Makefile b/test-ports/devel/port_var_fetch1/Makefile
new file mode 100644
index 00000000..d9853068
--- /dev/null
+++ b/test-ports/devel/port_var_fetch1/Makefile
@@ -0,0 +1,14 @@
+# make -VPKG_DEPENDS -VBUILD_DEPENDS -VEXTRACT_DEPENDS -VLIB_DEPENDS -VPATCH_DEPENDS -VFETCH_DEPENDS -VRUN_DEPENDS
+PKGNAME= py34-sqlrelay-1.0.0_2
+IGNORE= test ignore 1 2 3
+PKG_DEPENDS= /usr/local/sbin/pkg:ports-mgmt/pkg
+BUILD_DEPENDS= gmake:devel/gmake /usr/local/bin/python3.4:${PORTSDIR}/lang/python34 perl5>=5.20<5.21:lang/perl5.20 /usr/local/bin/ccache:devel/ccache
+EXTRACT_DEPENDS=/nonexistent:databases/sqlrelay:patch
+LIB_DEPENDS= libsqlrclient.so:${PORTSDIR}/databases/sqlrelay
+PATCH_DEPENDS= perl5>=5.20<5.21:lang/perl5.20
+FETCH_DEPENDS=
+RUN_DEPENDS= /usr/local/bin/python3.4:lang/python34
+FOO= foo
+.if !empty(FAIL)
+.error FAIL
+.endif
diff --git a/test-ports/devel/port_var_fetch2/Makefile b/test-ports/devel/port_var_fetch2/Makefile
new file mode 100644
index 00000000..2e8beb24
--- /dev/null
+++ b/test-ports/devel/port_var_fetch2/Makefile
@@ -0,0 +1,14 @@
+# make -VPKG_DEPENDS -VBUILD_DEPENDS -VEXTRACT_DEPENDS -VLIB_DEPENDS -VPATCH_DEPENDS -VFETCH_DEPENDS -VRUN_DEPENDS
+PKGNAME=
+IGNORE= # empty tab
+PKG_DEPENDS= /usr/local/sbin/pkg:ports-mgmt/pkg
+BUILD_DEPENDS= gmake:devel/gmake /usr/local/bin/python3.4:${PORTSDIR}/lang/python34 perl5>=5.20<5.21:lang/perl5.20 /usr/local/bin/ccache:devel/ccache
+EXTRACT_DEPENDS=/nonexistent:databases/sqlrelay:patch
+LIB_DEPENDS= libsqlrclient.so:${PORTSDIR}/databases/sqlrelay
+PATCH_DEPENDS= perl5>=5.20<5.21:lang/perl5.20
+FETCH_DEPENDS=
+RUN_DEPENDS= /usr/local/bin/python3.4:lang/python34
+FOO=
+.if !empty(FAIL)
+.error FAIL
+.endif
diff --git a/test-ports/devel/port_var_fetch_syntax_error/Makefile b/test-ports/devel/port_var_fetch_syntax_error/Makefile
new file mode 100644
index 00000000..bff49473
--- /dev/null
+++ b/test-ports/devel/port_var_fetch_syntax_error/Makefile
@@ -0,0 +1,12 @@
+# make -VPKG_DEPENDS -VBUILD_DEPENDS -VEXTRACT_DEPENDS -VLIB_DEPENDS -VPATCH_DEPENDS -VFETCH_DEPENDS -VRUN_DEPENDS
+PKGNAME= py34-sqlrelay-1.0.0_2
+IGNORE= test ignore 1 2 3
+PKG_DEPENDS= /usr/local/sbin/pkg:ports-mgmt/pkg
+BUILD_DEPENDS= gmake:devel/gmake /usr/local/bin/python3.4:${PORTSDIR}/lang/python34 perl5>=5.20<5.21:lang/perl5.20 /usr/local/bin/ccache:devel/ccache
+EXTRACT_DEPENDS=/nonexistent:databases/sqlrelay:patch
+LIB_DEPENDS= libsqlrclient.so:${PORTSDIR}/databases/sqlrelay
+PATCH_DEPENDS= perl5>=5.20<5.21:lang/perl5.20
+FETCH_DEPENDS=
+RUN_DEPENDS= /usr/local/bin/python3.4:lang/python34
+FOO= foo
+aidjaidjaisdjasidjas
diff --git a/test-ports/devel/readline/Makefile b/test-ports/devel/readline/Makefile
new file mode 100644
index 00000000..f669308c
--- /dev/null
+++ b/test-ports/devel/readline/Makefile
@@ -0,0 +1,46 @@
+# Created by: Frank Laszlo <laszlof@vonostingroup.com>
+# $FreeBSD: head/devel/readline/Makefile 438667 2017-04-16 18:31:54Z sunpoet $
+
+PORTNAME= readline
+PORTVERSION= 6.3.${PATCHLEVEL}
+PORTREVISION= 1
+CATEGORIES= devel
+MASTER_SITES= GNU
+DISTNAME= ${PORTNAME}-${PORTVERSION:R}
+
+PATCH_SITES= GNU/${PORTNAME}/${PORTNAME}-${PORTVERSION:R}-patches
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= Library for editing command lines as they are typed
+
+LICENSE= GPLv3
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+OPTIONS_DEFINE= TERMCAP DOCS
+OPTIONS_DEFAULT=TERMCAP
+TERMCAP_DESC= Link against libtermcap
+
+GNU_CONFIGURE= yes
+USE_LDCONFIG= yes
+USES= cpe
+
+INFO= history readline rluserman
+PORTDOCS= CHANGES INSTALL README
+
+CPE_VENDOR= gnu
+CPE_VERSION= ${PORTVERSION:R}
+CPE_UPDATE= ${PATCHLEVEL}
+
+PATCHES= 1 2 3 4 5 6 7 8
+PATCHLEVEL= ${PATCHES:O:[-1]}
+.for patch in ${PATCHES}
+PATCHFILES+= ${PORTNAME}${PORTVERSION:R:S|.||}-${patch:S|^|00|:S|.*(...)$|\1|}
+.endfor
+
+post-patch-TERMCAP-on:
+ @${REINPLACE_CMD} -e '/SHOBJ_LDFLAGS = / s| = |&-ltermcap |' ${WRKSRC}/shlib/Makefile.in
+
+post-install:
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libhistory.so.6 ${STAGEDIR}${PREFIX}/lib/libreadline.so.6
+
+.include <bsd.port.mk>
diff --git a/test-ports/devel/readline/distinfo b/test-ports/devel/readline/distinfo
new file mode 100644
index 00000000..995614a3
--- /dev/null
+++ b/test-ports/devel/readline/distinfo
@@ -0,0 +1,18 @@
+SHA256 (readline-6.3.tar.gz) = 56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43
+SIZE (readline-6.3.tar.gz) = 2468560
+SHA256 (readline63-001) = 1a79bbb6eaee750e0d6f7f3d059b30a45fc54e8e388a8e05e9c3ae598590146f
+SIZE (readline63-001) = 1366
+SHA256 (readline63-002) = 39e304c7a526888f9e112e733848215736fb7b9d540729b9e31f3347b7a1e0a5
+SIZE (readline63-002) = 1297
+SHA256 (readline63-003) = ec41bdd8b00fd884e847708513df41d51b1243cecb680189e31b7173d01ca52f
+SIZE (readline63-003) = 985
+SHA256 (readline63-004) = 4547b906fb2570866c21887807de5dee19838a60a1afb66385b272155e4355cc
+SIZE (readline63-004) = 1363
+SHA256 (readline63-005) = 877788f9228d1a9907a4bcfe3d6dd0439c08d728949458b41208d9bf9060274b
+SIZE (readline63-005) = 1664
+SHA256 (readline63-006) = 5c237ab3c6c97c23cf52b2a118adc265b7fb411b57c93a5f7c221d50fafbe556
+SIZE (readline63-006) = 1982
+SHA256 (readline63-007) = 4d79b5a2adec3c2e8114cbd3d63c1771f7c6cf64035368624903d257014f5bea
+SIZE (readline63-007) = 1428
+SHA256 (readline63-008) = 3bc093cf526ceac23eb80256b0ec87fa1735540d659742107b6284d635c43787
+SIZE (readline63-008) = 1452
diff --git a/test-ports/devel/readline/files/patch-support-shobj-conf b/test-ports/devel/readline/files/patch-support-shobj-conf
new file mode 100644
index 00000000..6c74f989
--- /dev/null
+++ b/test-ports/devel/readline/files/patch-support-shobj-conf
@@ -0,0 +1,20 @@
+--- support/shobj-conf.orig 2009-10-28 13:20:21 UTC
++++ support/shobj-conf
+@@ -128,17 +128,10 @@
+ SHOBJ_CFLAGS=-fPIC
+ SHOBJ_LD='${CC}'
+
+- if [ -x /usr/bin/objformat ] && [ "`/usr/bin/objformat`" = "elf" ]; then
+ SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
+
+ SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir)'
+ SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
+- else
+- SHOBJ_LDFLAGS='-shared'
+-
+- SHLIB_XLDFLAGS='-R$(libdir)'
+- SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
+- fi
+ ;;
+
+ # FreeBSD-4.x and later have only ELF
diff --git a/test-ports/devel/readline/pkg-descr b/test-ports/devel/readline/pkg-descr
new file mode 100644
index 00000000..de359ede
--- /dev/null
+++ b/test-ports/devel/readline/pkg-descr
@@ -0,0 +1,7 @@
+The GNU Readline library provides a set of functions for use by applications
+that allow users to edit command lines as they are typed in. Both Emacs and vi
+editing modes are available. The Readline library includes additional functions
+to maintain a list of previously-entered command lines, to recall and perhaps
+reedit those lines, and perform csh-like history expansion on previous commands.
+
+WWW: https://cnswww.cns.cwru.edu/php/chet/readline/rltop.html
diff --git a/test-ports/devel/readline/pkg-plist b/test-ports/devel/readline/pkg-plist
new file mode 100644
index 00000000..021fc460
--- /dev/null
+++ b/test-ports/devel/readline/pkg-plist
@@ -0,0 +1,30 @@
+include/readline/chardefs.h
+include/readline/history.h
+include/readline/keymaps.h
+include/readline/readline.h
+include/readline/rlconf.h
+include/readline/rlstdc.h
+include/readline/rltypedefs.h
+include/readline/tilde.h
+lib/libhistory.a
+lib/libhistory.so
+lib/libhistory.so.6
+lib/libreadline.a
+lib/libreadline.so
+lib/libreadline.so.6
+man/man3/history.3.gz
+man/man3/readline.3.gz
+%%DATADIR%%/excallback.c
+%%DATADIR%%/fileman.c
+%%DATADIR%%/hist_erasedups.c
+%%DATADIR%%/hist_purgecmd.c
+%%DATADIR%%/histexamp.c
+%%DATADIR%%/manexamp.c
+%%DATADIR%%/rl-callbacktest.c
+%%DATADIR%%/rl-fgets.c
+%%DATADIR%%/rl.c
+%%DATADIR%%/rlcat.c
+%%DATADIR%%/rlevent.c
+%%DATADIR%%/rlptytest.c
+%%DATADIR%%/rltest.c
+%%DATADIR%%/rlversion.c
diff --git a/test-ports/lang/Makefile b/test-ports/lang/Makefile
new file mode 100644
index 00000000..e2e030fd
--- /dev/null
+++ b/test-ports/lang/Makefile
@@ -0,0 +1,9 @@
+SUBDIR += perl5.24
+SUBDIR += perl5.28
+SUBDIR += python
+SUBDIR += python2
+SUBDIR += python3
+SUBDIR += python27
+SUBDIR += python35
+SUBDIR += python36
+SUBDIR += python37
diff --git a/test-ports/lang/perl5.24/Makefile b/test-ports/lang/perl5.24/Makefile
new file mode 100644
index 00000000..10fe2b89
--- /dev/null
+++ b/test-ports/lang/perl5.24/Makefile
@@ -0,0 +1,282 @@
+# Created by: mat
+# $FreeBSD: head/lang/perl5.24/Makefile 484696 2018-11-11 15:38:50Z danfe $
+
+PORTNAME= perl
+DISTVERSION= ${PERL_VERSION}
+PORTREVISION= 2
+CATEGORIES= lang devel perl5
+MASTER_SITES= CPAN/../../src/5.0 CPAN/../by-authors/id/S/SH/SHAY
+DIST_SUBDIR= perl
+
+MAINTAINER= mat@FreeBSD.org
+COMMENT= Practical Extraction and Report Language
+
+LICENSE= ART10 GPLv1+
+LICENSE_COMB= dual
+LICENSE_FILE_ART10= ${WRKSRC}/Artistic
+LICENSE_FILE_GPLv1+ = ${WRKSRC}/Copying
+
+DEPRECATED= Support ends three years after .0 release, please upgrade to a more recent version of Perl
+EXPIRATION_DATE=2019-05-09
+
+TEST_TARGET= test_harness
+TEST_ENV= ${MAKE_ENV} TEST_JOBS=${MAKE_JOBS_NUMBER} \
+ LD_LIBRARY_PATH=${WRKSRC}
+
+OPTIONS_DEFINE= DEBUG GDBM PERL_64BITINT PTHREAD \
+ MULTIPLICITY SITECUSTOMIZE DTRACE
+# it seems perl malloc has problems with threaded perl on FreeBSD
+OPTIONS_RADIO= EXCLUSIVE
+OPTIONS_RADIO_EXCLUSIVE= THREADS PERL_MALLOC
+OPTIONS_DEFAULT= PERL_64BITINT THREADS PTHREAD MULTIPLICITY DTRACE
+
+.if !exists(/usr/sbin/dtrace)
+OPTIONS_EXCLUDE+= DTRACE
+.endif
+.for a in aarch64 arm armeb armv6 armv7 mips mips64 mips64el mipsel mipsn32 powerpc \
+ powerpc64 sparc64
+OPTIONS_EXCLUDE_${a}= DTRACE
+.endfor
+
+EXCLUSIVE_DESC= Exclusive OPTIONS
+GDBM_DESC= GDBM_File extension
+PERL_MALLOC_DESC= Use Perl malloc
+PERL_64BITINT_DESC= Use 64 bit integers (on i386)
+THREADS_DESC= Build threaded perl
+PTHREAD_DESC= Build with -lpthread
+MULTIPLICITY_DESC= Use multiplicity
+SITECUSTOMIZE_DESC= Run-time customization of @INC
+
+OPTIONS_SUB= yes
+DEBUG_CONFIGURE_ON= -Doptimize="-g" -DDEBUGGING
+DEBUG_CONFIGURE_OFF= -Doptimize="${CFLAGS}"
+DTRACE_CONFIGURE_ON= -Dusedtrace
+DTRACE_CONFIGURE_OFF= -Uusedtrace
+GDBM_CONFIGURE_ON= -Di_gdbm
+GDBM_CONFIGURE_OFF= -Ui_gdbm
+GDBM_LIB_DEPENDS= libgdbm.so:databases/gdbm
+PERL_64BITINT_CONFIGURE_ON= -Duse64bitint
+MULTIPLICITY_CONFIGURE_ON= -Dusemultiplicity=y
+MULTIPLICITY_CONFIGURE_OFF= -Dusemultiplicity=n
+SITECUSTOMIZE_CONFIGURE_ON= -Dusesitecustomize
+THREADS_CONFIGURE_ON= -Dusethreads=y
+THREADS_CONFIGURE_OFF= -Dusethreads=n
+PERL_MALLOC_CONFIGURE_ON= -Dusemymalloc=y
+PERL_MALLOC_CONFIGURE_OFF= -Dusemymalloc=n
+
+PORTSCOUT= limit:^${PERL_VER}.
+
+.include "version.mk"
+PERL_VER= ${PERL_VERSION:C/\.[0-9]+$//}
+PERL_ARCH= mach
+SITE_PERL_REL?= lib/perl5/site_perl
+SITE_PERL?= ${PREFIX}/${SITE_PERL_REL}
+SITE_ARCH_REL?= ${SITE_PERL_REL}/${PERL_ARCH}/${PERL_VER}
+SITE_ARCH?= ${PREFIX}/${SITE_ARCH_REL}
+SITE_MAN_PREFIX= ${SITE_PERL_REL}
+SITE_MAN3_REL?= ${SITE_MAN_PREFIX}/man/man3
+SITE_MAN3?= ${PREFIX}/${SITE_MAN3_REL}
+SITE_MAN1_REL?= ${SITE_MAN_PREFIX}/man/man1
+SITE_MAN1?= ${PREFIX}/${SITE_MAN1_REL}
+
+_PRIV_LIB= lib/perl5/${PERL_VER}
+_ARCH_LIB= ${_PRIV_LIB}/${PERL_ARCH}
+
+USES= cpe tar:xz
+
+HAS_CONFIGURE= yes
+CONFIGURE_SCRIPT=Configure
+CONFIGURE_ARGS= -sde -Dprefix=${PREFIX} \
+ -Dlibperl=libperl.so.${PERL_VERSION} \
+ -Darchlib=${PREFIX}/${_ARCH_LIB} \
+ -Dprivlib=${PREFIX}/${_PRIV_LIB} \
+ -Dman3dir=${PREFIX}/${PERLMANPREFIX_REL}/man/man3 \
+ -Dman1dir=${PREFIX}/${PERLMANPREFIX_REL}/man/man1 \
+ -Dsitearch=${SITE_ARCH} \
+ -Dsitelib=${SITE_PERL} -Dscriptdir=${PREFIX}/bin \
+ -Dsiteman3dir=${SITE_MAN3} \
+ -Dsiteman1dir=${SITE_MAN1} \
+ -Ui_malloc -Ui_iconv -Uinstallusrbinperl -Dusenm=n \
+ -Dcc="${CC}" -Duseshrplib -Dinc_version_list=none \
+ -Dcf_by=${MAINTAINER:C,@.*,,} -Dcf_email=${MAINTAINER} \
+ -Dcf_time="`${STAT} -t \"%a %b %d %T %Z %Y\" -f %Sm ${_DISTDIR}/${DISTNAME}${EXTRACT_SUFX}`"
+# Keep the following two in sync.
+# lddlflags is used for all .so linking
+# shrpldflags is used for libperl.so, so remove all the extra bits inherited from lddlflags.
+CONFIGURE_ARGS+= \
+ -Alddlflags='-L${WRKSRC} -L${PREFIX}/${_ARCH_LIB}/CORE -lperl' \
+ -Dshrpldflags='$$(LDDLFLAGS:N-L${WRKSRC}:N-L${PREFIX}/${_ARCH_LIB}/CORE:N-lperl) -Wl,-soname,$$(LIBPERL:R)'
+
+# Give a hint of where libperl.so can be found.
+USE_LDCONFIG= ${PREFIX}/${_ARCH_LIB}/CORE
+
+CONFIGURE_ENV+= UNAME_v="$$(uname -v | sed 'y/=/ /')"
+
+SUB_LIST+= PERL_VERSION=${PERL_VERSION} \
+ PERL_VER=${PERL_VER} \
+ SITE_PERL=${SITE_PERL_REL} \
+ PRIV_LIB=${_PRIV_LIB} \
+ PERLMANPREFIX=${PERLMANPREFIX_REL} \
+ SITEMANPREFIX=${SITE_MAN_PREFIX} \
+ PERL_ARCH=${PERL_ARCH}
+
+SUB_FILES= perl-man.conf
+
+INSTALL_TARGET= install-strip
+
+.if defined(PERL_VENDOR_PREFIX)
+CONFIGURE_ARGS+= \
+ -Dvendorprefix=${PERL_VENDOR_PREFIX} \
+ -Dvendorarch=${PERL_VENDOR_PREFIX}/${_ARCH_LIB} \
+ -Dvendorbin=${PERL_VENDOR_PREFIX}/bin \
+ -Dvendorlib=${PERL_VENDOR_PREFIX}/${_PRIV_LIB} \
+ -Dvendorman3dir=${PERL_VENDOR_PREFIX}/${_PRIV_LIB}/man/man3 \
+ -Dvendorman1dir=${PERL_VENDOR_PREFIX}/man/man1
+.endif
+
+# http://perl5.git.perl.org/perl.git/commit/b83080de5c4254
+# PERLIOBUF_DEFAULT_BUFSIZ size in bytes (default: 8192 bytes)
+.if defined(PERLIOBUF_DEFAULT_BUFSIZ)
+CONFIGURE_ARGS+= \
+ -Accflags=-DPERLIOBUF_DEFAULT_BUFSIZ=${PERLIOBUF_DEFAULT_BUFSIZ}
+.endif
+
+PERLMANPREFIX_REL= ${_PRIV_LIB}/perl
+PERLMANPREFIX= ${PREFIX}/${PERLMANPREFIX_REL}
+MANDIRS+= ${PERLMANPREFIX}/man
+
+PLIST_SUB+= PERL_VERSION=${PERL_VERSION} \
+ PERL_VER=${PERL_VER} \
+ PERL_ARCH=${PERL_ARCH} \
+ MAN1=${PERLMANPREFIX_REL}/man/man1 \
+ MAN3=${PERLMANPREFIX_REL}/man/man3 \
+ PERLMANPREFIX=${PERLMANPREFIX_REL} \
+ SITEMANPREFIX=${SITE_MAN_PREFIX} \
+ SITE_PERL=${SITE_PERL_REL} \
+ SITE_ARCH=${SITE_ARCH_REL} \
+ PRIV_LIB=${_PRIV_LIB} \
+ PKGNAMESUFFIX=${PKGNAMESUFFIX} \
+ ARCH_LIB=${_ARCH_LIB}
+
+# Why this is required is explained in:
+# https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=227356#c5
+_PERL5_DEFAULT_FILE= /tmp/PERL5_DEFAULT
+
+# Get the default version, and possibly, overwrite it.
+.include <bsd.port.options.mk>
+.sinclude "${_PERL5_DEFAULT_FILE}"
+
+# if this port is default due PERL5_DEFAULT
+# change PKGNAME to reflect this
+.if ${PERL_VER} == ${PERL5_DEFAULT}
+PKGNAMESUFFIX= 5
+IAMDEFAULTPERL= yes
+.else
+# make PKGNAME unique among other lang/perl5.x
+PKGNAMESUFFIX= ${PERL_VER}
+.endif
+
+# Am I building the default Perl ?
+.if defined(IAMDEFAULTPERL)
+PLIST_SUB+= DEFAULT="" BINSUFFIX=""
+.else
+BINSUFFIX= ${PERL_VERSION}
+PLIST_SUB+= DEFAULT="@comment " BINSUFFIX=${PERL_VERSION}
+CONFIGURE_ARGS+=-Dversiononly
+.endif
+
+.if !defined(IAMDEFAULTPERL)
+pre-everything::
+ @${ECHO_MSG} "##################################################"
+ @${ECHO_MSG} ""
+ @${ECHO_MSG} " This is *NOT* the DEFAULT perl version"
+ @${ECHO_MSG} ""
+ @${ECHO_MSG} "It will *NOT* install ${PREFIX}/bin/perl"
+ @${ECHO_MSG} ""
+ @${ECHO_MSG} "It will *ONLY* install ${PREFIX}/bin/perl${PERL_VERSION}"
+ @${ECHO_MSG} ""
+ @${ECHO_MSG} "The default Perl version currently is ${PERL5_DEFAULT}."
+ @${ECHO_MSG} ""
+ @${ECHO_MSG} "If you want to use this version as the default,"
+ @${ECHO_MSG} "stop the build now, add this line to your"
+ @${ECHO_MSG} "/etc/make.conf, and then restart the build."
+ @${ECHO_MSG} ""
+ @${ECHO_MSG} "DEFAULT_VERSIONS+=perl5=${PERL_VER}"
+ @${ECHO_MSG} ""
+ @${ECHO_MSG} "##################################################"
+. if !(defined(PACKAGE_BUILDING) || defined(BATCH))
+ @sleep 30
+. endif
+.endif
+
+# Put a symlink to the future libperl.so.x.yy so that -lperl works.
+# Also, save PERL5_DEFAULT in case someone is not using the default Perl
+# version whilst not having set DEFAULT_VERSIONS=perl5=blah. While upgrading,
+# portmaster/portupgrade will remove the installed Perl version, and it will
+# remove any way to guess what the default Perl version is needed.
+post-extract:
+ ${LN} -s libperl.so.${PERL_VERSION} ${WRKSRC}/libperl.so
+ ${LN} -s libperl.so.${PERL_VERSION} ${WRKSRC}/libperl.so.${PERL_VER}
+.if !defined(PACKAGE_BUILDING)
+ @${ECHO_CMD} "PERL5_DEFAULT=${PERL5_DEFAULT}" > ${_PERL5_DEFAULT_FILE}
+.endif
+
+.if !defined(PACKAGE_BUILDING)
+post-clean:
+ @${RM} ${_PERL5_DEFAULT_FILE}
+.endif
+
+post-patch:
+ ${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
+ ${WRKSRC}/Configure ${WRKSRC}/hints/freebsd.sh
+.if !defined(IAMDEFAULTPERL)
+ ${REINPLACE_CMD} -e '/do_installprivlib = 0 if .versiononly/d; \
+ /^if.*nopods.*versiononly || /s/.*/if (1) {/' \
+ ${WRKSRC}/installperl
+.endif
+post-patch-PTHREAD-on:
+ ${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%|-lpthread|g;' \
+ ${WRKSRC}/hints/freebsd.sh
+post-patch-PTHREAD-off:
+ ${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%||g;' \
+ ${WRKSRC}/hints/freebsd.sh
+
+post-build:
+ @${REINPLACE_CMD} -e '/^lddlflags/s|-L${WRKSRC} ||' \
+ ${WRKSRC}/lib/Config_heavy.pl
+.if ${CC} == /nxb-bin/usr/bin/cc
+ @${REINPLACE_CMD} -e 's=/nxb-bin==' \
+ ${WRKSRC}/lib/Config.pm ${WRKSRC}/lib/Config_heavy.pl
+# Restore Config.pm's timestamp so that Perl's build system does not think it
+# needs to rebuild everything.
+ @${TOUCH} -r ${WRKSRC}/lib/Config.pm.bak ${WRKSRC}/lib/Config.pm
+.endif
+
+post-install:
+ ${MKDIR} ${STAGEDIR}${SITE_MAN1} ${STAGEDIR}${SITE_MAN3}
+ ${MKDIR} ${STAGEDIR}${SITE_ARCH}/auto
+ ${MKDIR} ${STAGEDIR}${SITE_PERL}/auto
+.if defined(IAMDEFAULTPERL)
+ ${LN} -sf perl ${STAGEDIR}${PREFIX}/bin/perl5
+ ${LN} -sf perl ${STAGEDIR}${PREFIX}/bin/perl${PERL_VERSION}
+.endif
+ ${LN} -sf libperl.so.${PERL_VERSION} ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/CORE/libperl.so
+ ${LN} -sf libperl.so.${PERL_VERSION} ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/CORE/libperl.so.${PERL_VER}
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/perl${PERL_VERSION}
+ ${MKDIR} ${STAGEDIR}${SITE_ARCH}/machine
+ ${MKDIR} ${STAGEDIR}${SITE_ARCH}/sys
+ # h2ph needs perl, but perl is not installed, it's only
+ # staged, so, use the one in WRKDIR
+ (cd /usr/include && ${SETENV} LD_LIBRARY_PATH=${WRKSRC} \
+ ${WRKSRC}/perl -I ${WRKSRC}/lib ${STAGEDIR}${PREFIX}/bin/h2ph${BINSUFFIX} \
+ -d ${STAGEDIR}${SITE_ARCH} *.h machine/*.h sys/*.h >/dev/null)
+ @${FIND} ${STAGEDIR}${SITE_ARCH} -name '*.ph' | sed -e 's|${STAGEDIR}||' >> ${TMPPLIST}
+ ${FIND} ${STAGEDIR} -name '*.so*' -type f | while read f; \
+ do \
+ ${CHMOD} 644 $$f; \
+ ${STRIP_CMD} $$f; \
+ ${CHMOD} 444 $$f; \
+ done
+ ${INSTALL_DATA} ${WRKDIR}/perl-man.conf ${STAGEDIR}${PREFIX}/etc/man.d/perl${PKGNAMESUFFIX}.conf
+
+.include <bsd.port.mk>
diff --git a/test-ports/lang/perl5.24/distinfo b/test-ports/lang/perl5.24/distinfo
new file mode 100644
index 00000000..fdef0f6d
--- /dev/null
+++ b/test-ports/lang/perl5.24/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1523793370
+SHA256 (perl/perl-5.24.4.tar.xz) = 7f080287ff64750270689843ae945f02159a33cb8f2fc910248c15befba5db84
+SIZE (perl/perl-5.24.4.tar.xz) = 11580256
diff --git a/test-ports/lang/perl5.24/files/patch-Configure b/test-ports/lang/perl5.24/files/patch-Configure
new file mode 100644
index 00000000..29d12e39
--- /dev/null
+++ b/test-ports/lang/perl5.24/files/patch-Configure
@@ -0,0 +1,33 @@
+--- Configure.orig 2017-08-23 20:07:24 UTC
++++ Configure
+@@ -3862,7 +3862,10 @@ esac
+ . ./posthint.sh
+
+ : who configured the system
+-cf_time=`LC_ALL=C; LANGUAGE=C; export LC_ALL; export LANGUAGE; $date 2>&1`
++case "$cf_time" in
++"")
++ cf_time=`LC_ALL=C; LANGUAGE=C; export LC_ALL; export LANGUAGE; $date 2>&1` ;;
++esac
+ case "$cf_by" in
+ "")
+ cf_by=`(logname) 2>/dev/null`
+@@ -5043,7 +5046,7 @@ esac
+ : Now check and see which directories actually exist, avoiding duplicates
+ for xxx in $dlist
+ do
+- if $test -d $xxx; then
++ if $test -d $xxx || [ $xxx = $prefix/lib ]; then
+ case " $libpth " in
+ *" $xxx "*) ;;
+ *) libpth="$libpth $xxx";;
+@@ -9604,8 +9607,7 @@ prefixvar=siteman3dir
+
+ : determine where add-on public executable scripts go
+ case "$sitescript" in
+-'') dflt=$siteprefix/script
+- $test -d $dflt || dflt=$sitebin ;;
++'') dflt=$sitebin ;;
+ *) dflt="$sitescript" ;;
+ esac
+ fn=d~+
diff --git a/test-ports/lang/perl5.24/files/patch-Makefile.SH b/test-ports/lang/perl5.24/files/patch-Makefile.SH
new file mode 100644
index 00000000..4c83706d
--- /dev/null
+++ b/test-ports/lang/perl5.24/files/patch-Makefile.SH
@@ -0,0 +1,10 @@
+--- Makefile.SH.orig 2015-09-08 05:21:36 UTC
++++ Makefile.SH
+@@ -40,7 +40,6 @@ esac
+ pwd="`pwd`"
+ linklibperl='$(LIBPERL)'
+ linklibperl_nonshr=''
+-shrpldflags='$(LDDLFLAGS)'
+ ldlibpth=''
+ DPERL_EXTERNAL_GLOB='-DPERL_EXTERNAL_GLOB'
+ DPERL_IS_MINIPERL='-DPERL_IS_MINIPERL'
diff --git a/test-ports/lang/perl5.24/files/patch-cpan_ExtUtils-Install_lib_ExtUtils_Install.pm b/test-ports/lang/perl5.24/files/patch-cpan_ExtUtils-Install_lib_ExtUtils_Install.pm
new file mode 100644
index 00000000..b84c8fc0
--- /dev/null
+++ b/test-ports/lang/perl5.24/files/patch-cpan_ExtUtils-Install_lib_ExtUtils_Install.pm
@@ -0,0 +1,11 @@
+--- cpan/ExtUtils-Install/lib/ExtUtils/Install.pm.orig 2015-06-22 12:55:33 UTC
++++ cpan/ExtUtils-Install/lib/ExtUtils/Install.pm
+@@ -809,7 +809,7 @@ sub install { #XXX OS-SPECIFIC
+ utime($atime,$mtime + $Is_VMS,$targetfile) unless $dry_run>1;
+
+
+- $mode = 0444 | ( $mode & 0111 ? 0111 : 0 );
++ $mode = 0644 | ( $mode & 0111 ? 0111 : 0 );
+ $mode = $mode | 0222
+ if $realtarget ne $targetfile;
+ _chmod( $mode, $targetfile, $verbose );
diff --git a/test-ports/lang/perl5.24/files/patch-cpan_ExtUtils-Install_t_Install.t b/test-ports/lang/perl5.24/files/patch-cpan_ExtUtils-Install_t_Install.t
new file mode 100644
index 00000000..40955326
--- /dev/null
+++ b/test-ports/lang/perl5.24/files/patch-cpan_ExtUtils-Install_t_Install.t
@@ -0,0 +1,20 @@
+--- cpan/ExtUtils-Install/t/Install.t.orig 2015-10-14 14:27:14 UTC
++++ cpan/ExtUtils-Install/t/Install.t
+@@ -240,7 +240,7 @@ SKIP: {
+ },
+ ]);
+
+- ok( !writeable("$bigdir/DummyHard.pm"), 'DummyHard.pm not writeable' );
++ ok( writeable("$bigdir/DummyHard.pm"), 'DummyHard.pm writeable' );
+
+ use File::Compare;
+ ok(compare("$bigdir/Dummy.pm", "$bigdir/DummyHard.pm"),
+@@ -264,7 +264,7 @@ SKIP: {
+ },
+ ]);
+
+- ok( !writeable("$bigdir/DummyOrig.pm"), 'DummyOrig.pm not writeable' );
++ ok( writeable("$bigdir/DummyOrig.pm"), 'DummyOrig.pm writeable' );
+ ok( !-l "$bigdir/Dummy.pm", 'Dummy.pm not a link' );
+ ok(compare("$bigdir/Dummy.pm", "$bigdir/DummyOrig.pm"),
+ "orig file should be different");
diff --git a/test-ports/lang/perl5.24/files/patch-cpan_ExtUtils-MakeMaker_lib_ExtUtils_MM__Any.pm b/test-ports/lang/perl5.24/files/patch-cpan_ExtUtils-MakeMaker_lib_ExtUtils_MM__Any.pm
new file mode 100644
index 00000000..e064f170
--- /dev/null
+++ b/test-ports/lang/perl5.24/files/patch-cpan_ExtUtils-MakeMaker_lib_ExtUtils_MM__Any.pm
@@ -0,0 +1,18 @@
+--- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm.orig 2016-01-25 10:18:16 UTC
++++ cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
+@@ -1880,13 +1880,14 @@ sub init_INSTALL_from_PREFIX {
+ ('$(PREFIX)') x 3;
+ }
+ else {
++ $self->{PREFIX} ||= $iprefix;
+ $self->{PERLPREFIX} ||= $iprefix;
+ $self->{SITEPREFIX} ||= $sprefix;
+ $self->{VENDORPREFIX} ||= $vprefix;
+
+ # Lots of MM extension authors like to use $(PREFIX) so we
+ # put something sensible in there no matter what.
+- $self->{PREFIX} = '$('.uc $self->{INSTALLDIRS}.'PREFIX)';
++ #$self->{PREFIX} = '$('.uc $self->{INSTALLDIRS}.'PREFIX)';
+ }
+
+ my $arch = $Config{archname};
diff --git a/test-ports/lang/perl5.24/files/patch-cpan_ExtUtils-MakeMaker_t_INST__PREFIX.t b/test-ports/lang/perl5.24/files/patch-cpan_ExtUtils-MakeMaker_t_INST__PREFIX.t
new file mode 100644
index 00000000..2857893c
--- /dev/null
+++ b/test-ports/lang/perl5.24/files/patch-cpan_ExtUtils-MakeMaker_t_INST__PREFIX.t
@@ -0,0 +1,20 @@
+--- cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t.orig 2015-04-15 07:47:18 UTC
++++ cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t
+@@ -10,7 +10,7 @@ BEGIN {
+ }
+
+ use strict;
+-use Test::More tests => 52;
++use Test::More tests => 51;
+ use MakeMaker::Test::Utils;
+ use MakeMaker::Test::Setup::BFD;
+ use ExtUtils::MakeMaker;
+@@ -62,7 +62,7 @@ like( $stdout->read, qr{
+ (?:Writing\ MYMETA.yml\ and\ MYMETA.json\n)?
+ }x );
+
+-is( $mm->{PREFIX}, '$(SITEPREFIX)', 'PREFIX set based on INSTALLDIRS' );
++## is( $mm->{PREFIX}, '$(SITEPREFIX)', 'PREFIX set based on INSTALLDIRS' );
+
+ isa_ok( $mm, 'ExtUtils::MakeMaker' );
+
diff --git a/test-ports/lang/perl5.24/files/patch-cpan_Math-BigInt_lib_Math_BigInt.pm b/test-ports/lang/perl5.24/files/patch-cpan_Math-BigInt_lib_Math_BigInt.pm
new file mode 100644
index 00000000..001358d3
--- /dev/null
+++ b/test-ports/lang/perl5.24/files/patch-cpan_Math-BigInt_lib_Math_BigInt.pm
@@ -0,0 +1,11 @@
+--- cpan/Math-BigInt/lib/Math/BigInt.pm.orig 2016-01-06 13:21:01 UTC
++++ cpan/Math-BigInt/lib/Math/BigInt.pm
+@@ -65,7 +65,7 @@ use overload
+ '>>=' => sub { $_[0]->brsft($_[1]); },
+
+ # not supported by Perl yet
+-'..' => \&_pointpoint,
++# '..' => \&_pointpoint,
+
+ '<=>' => sub { my $rc = $_[2] ?
+ ref($_[0])->bcmp($_[1],$_[0]) :
diff --git a/test-ports/lang/perl5.24/files/patch-cpan_Pod-Perldoc_lib_Pod_Perldoc.pm b/test-ports/lang/perl5.24/files/patch-cpan_Pod-Perldoc_lib_Pod_Perldoc.pm
new file mode 100644
index 00000000..018c68f9
--- /dev/null
+++ b/test-ports/lang/perl5.24/files/patch-cpan_Pod-Perldoc_lib_Pod_Perldoc.pm
@@ -0,0 +1,10 @@
+--- cpan/Pod-Perldoc/lib/Pod/Perldoc.pm.orig 2016-07-25 09:12:21 UTC
++++ cpan/Pod-Perldoc/lib/Pod/Perldoc.pm
+@@ -1936,6 +1936,7 @@ sub page { # apply a pager to the outpu
+ # fix visible escape codes in ToTerm output
+ # https://bugs.debian.org/758689
+ local $ENV{LESS} = defined $ENV{LESS} ? "$ENV{LESS} -R" : "-R";
++ local $ENV{MORE} = defined $ENV{MORE} ? "$ENV{MORE} -R" : "-R";
+ last if system("$pager \"$output\"") == 0;
+ }
+ }
diff --git a/test-ports/lang/perl5.24/files/patch-cpan_Pod-Perldoc_lib_Pod_Perldoc_BaseTo.pm b/test-ports/lang/perl5.24/files/patch-cpan_Pod-Perldoc_lib_Pod_Perldoc_BaseTo.pm
new file mode 100644
index 00000000..600fdf77
--- /dev/null
+++ b/test-ports/lang/perl5.24/files/patch-cpan_Pod-Perldoc_lib_Pod_Perldoc_BaseTo.pm
@@ -0,0 +1,10 @@
+--- cpan/Pod-Perldoc/lib/Pod/Perldoc/BaseTo.pm.orig 2015-04-26 15:40:21 UTC
++++ cpan/Pod-Perldoc/lib/Pod/Perldoc/BaseTo.pm
+@@ -33,6 +33,7 @@ BEGIN {
+ *is_linux = $^O eq 'linux' ? \&TRUE : \&FALSE unless defined &is_linux;
+ *is_hpux = $^O =~ m/hpux/ ? \&TRUE : \&FALSE unless defined &is_hpux;
+ *is_openbsd = $^O =~ m/openbsd/ ? \&TRUE : \&FALSE unless defined &is_openbsd;
++ *is_freebsd = $^O =~ m/freebsd/ ? \&TRUE : \&FALSE unless defined &is_freebsd;
+ *is_bitrig = $^O =~ m/bitrig/ ? \&TRUE : \&FALSE unless defined &is_bitrig;
+ }
+
diff --git a/test-ports/lang/perl5.24/files/patch-cpan_Pod-Perldoc_lib_Pod_Perldoc_ToMan.pm b/test-ports/lang/perl5.24/files/patch-cpan_Pod-Perldoc_lib_Pod_Perldoc_ToMan.pm
new file mode 100644
index 00000000..5d414069
--- /dev/null
+++ b/test-ports/lang/perl5.24/files/patch-cpan_Pod-Perldoc_lib_Pod_Perldoc_ToMan.pm
@@ -0,0 +1,20 @@
+--- cpan/Pod-Perldoc/lib/Pod/Perldoc/ToMan.pm.orig 2015-04-26 15:40:21 UTC
++++ cpan/Pod-Perldoc/lib/Pod/Perldoc/ToMan.pm
+@@ -63,7 +63,7 @@ sub init {
+ sub _roffer_candidates {
+ my( $self ) = @_;
+
+- if( $self->is_openbsd || $self->is_bitrig ) { qw( mandoc groff nroff ) }
++ if( $self->is_openbsd || $self->is_freebsd || $self->is_bitrig ) { qw( mandoc groff nroff ) }
+ else { qw( groff nroff mandoc ) }
+ }
+
+@@ -108,6 +108,8 @@ sub _get_columns_from_manwidth {
+
+ return 0 unless defined $ENV{MANWIDTH};
+
++ if ($ENV{MANWIDTH} eq 'tty') { return 0; }
++
+ unless( $ENV{MANWIDTH} =~ m/\A\d+\z/ ) {
+ $self->warn( "Ignoring non-numeric MANWIDTH ($ENV{MANWIDTH})\n" );
+ return 0;
diff --git a/test-ports/lang/perl5.24/files/patch-cpan_Pod-Perldoc_lib_Pod_Perldoc_ToTerm.pm b/test-ports/lang/perl5.24/files/patch-cpan_Pod-Perldoc_lib_Pod_Perldoc_ToTerm.pm
new file mode 100644
index 00000000..fd401d4e
--- /dev/null
+++ b/test-ports/lang/perl5.24/files/patch-cpan_Pod-Perldoc_lib_Pod_Perldoc_ToTerm.pm
@@ -0,0 +1,11 @@
+--- cpan/Pod-Perldoc/lib/Pod/Perldoc/ToTerm.pm.orig 2017-04-04 13:18:08 UTC
++++ cpan/Pod-Perldoc/lib/Pod/Perldoc/ToTerm.pm
+@@ -41,6 +41,8 @@ sub _get_columns_from_manwidth {
+
+ return 0 unless defined $ENV{MANWIDTH};
+
++ if ($ENV{MANWIDTH} eq 'tty') { return 0; }
++
+ unless( $ENV{MANWIDTH} =~ m/\A\d+\z/ ) {
+ $self->warn( "Ignoring non-numeric MANWIDTH ($ENV{MANWIDTH})\n" );
+ return 0;
diff --git a/test-ports/lang/perl5.24/files/patch-dtrace b/test-ports/lang/perl5.24/files/patch-dtrace
new file mode 100644
index 00000000..baea5da3
--- /dev/null
+++ b/test-ports/lang/perl5.24/files/patch-dtrace
@@ -0,0 +1,266 @@
+--- Configure.orig 2017-09-22 14:26:35 UTC
++++ Configure
+@@ -940,6 +940,7 @@ lddlflags=''
+ usedl=''
+ doublesize=''
+ dtraceobject=''
++dtracexnolibs=''
+ ebcdic=''
+ fflushNULL=''
+ fflushall=''
+@@ -8154,10 +8155,19 @@ while $test 1 ; do
+
+ if $test -f $dtrace
+ then
+- if $dtrace -h -s ../perldtrace.d \
++ if $dtrace -h -xnolibs -s ../perldtrace.d \
+ -o perldtrace.tmp >/dev/null 2>&1 \
+ && rm -f perldtrace.tmp
+ then
++ default_xnolibs=$define
++ echo " "
++ echo "Good: your $dtrace knows about the -h flag"
++ echo "and apparently the -xnolibs flag."
++ elif $dtrace -h -s ../perldtrace.d \
++ -o perldtrace.tmp >/dev/null 2>&1 \
++ && rm -f perldtrace.tmp
++ then
++ default_xnolibs=$undef
+ echo " "
+ echo "Good: your $dtrace knows about the -h flag."
+ else
+@@ -8171,6 +8181,17 @@ while $test 1 ; do
+ EOM
+ exit 1
+ fi
++ case "$dtracexnolibs" in
++ $define|true|[yY]*)
++ dtracxnolibs=$define
++ ;;
++ ''|' ')
++ dtracexnolibs=$default_xnolibs
++ ;;
++ *)
++ dtracexnolibs=$undef
++ ;;
++ esac
+ break;
+ fi
+
+@@ -20770,7 +20791,11 @@ $define)
+ dtraceobject=$define
+ ;;
+ ' '|'')
+- $dtrace -h -s ../perldtrace.d -o perldtrace.h
++ case "$dtracexnolibs" in
++ $define) xnolibs_option=-xnolibs ;;
++ *) xnolibs_option= ;;
++ esac
++ $dtrace -h $xnolibs_option -s ../perldtrace.d -o perldtrace.h
+ $cat >try.c <<EOM
+ #include "perldtrace.h"
+ int main(void) {
+@@ -20780,14 +20805,14 @@ int main(void) {
+ EOM
+ dtraceobject=$undef
+ if $cc -c -o try.o $optimize $ccflags try.c \
+- && $dtrace -G -s ../perldtrace.d try.o >/dev/null 2>&1; then
++ && $dtrace -G $xnolibs_option -s ../perldtrace.d try.o >/dev/null 2>&1; then
+ dtraceobject=$define
+ echo "Your dtrace builds an object file"
+ fi
+- $rm -f try.c try.o perldtrace.o
+ ;;
+ *) dtraceobject=$undef ;;
+ esac
++ $rm -f try.c try.o perldtrace.o perldtrace.h
+ esac
+
+ : Determine if this is an EBCDIC system
+@@ -24736,6 +24761,7 @@ drand01='$drand01'
+ drand48_r_proto='$drand48_r_proto'
+ dtrace='$dtrace'
+ dtraceobject='$dtraceobject'
++dtracexnolibs='$dtracexnolibs'
+ dynamic_ext='$dynamic_ext'
+ eagain='$eagain'
+ ebcdic='$ebcdic'
+--- Makefile.SH.orig 2017-07-15 18:00:51 UTC
++++ Makefile.SH
+@@ -390,8 +390,13 @@ VG_TEST ?= ./perl -e 1 2>/dev/null
+ ;;
+ esac
+
++case "$dtracexnolibs" in
++define) xnolibs=-xnolibs ;;
++*) xnolibs= ;;
++esac
++
+ $spitshell >>$Makefile <<!GROK!THIS!
+-DTRACE = $dtrace
++DTRACE = $dtrace $xnolibs
+ DTRACE_H = $dtrace_h
+
+ DTRACE_PERLLIB_O = $dtrace_perllib_o # "dtrace -G" output for perllib_objs
+@@ -518,10 +523,53 @@ main_only_objs = op$(OBJ_EXT) perl$(
+ miniperl_objs_nodt = $(mini_only_objs) $(common_objs) miniperlmain$(OBJ_EXT)
+ perllib_objs_nodt = $(main_only_objs) $(common_objs)
+
++!NO!SUBS!
++
++# dtrace with -G modifies the source object files, which can cause
++# dependency issues, and can cause the dtrace -G to fail on FreeBSD
++# so separate the objects generated by $(CC) from those used to link
++# the executable when dtrace -G is involved.
++#
++# $(FOO:op%os=np%ns) isn't generally portable but is portable to
++# the makes on darwin, Solaris, FreeBSD and Linux, which is where we
++# use dtrace
++
++case "$usedtrace:$dtraceobject" in
++define:define)
++ $spitshell >>$Makefile <<'!NO!SUBS!'
++
++miniperl_dtrace_objs = $(miniperl_objs_nodt:%=mpdtrace/%)
++perllib_dtrace_objs = $(perllib_objs_nodt:%=libpdtrace/%)
++perlmain_dtrace_objs = maindtrace/perlmain$(OBJ_EXT)
++
++miniperl_objs = $(miniperl_dtrace_objs) $(DTRACE_MINI_O)
++perllib_objs = $(perllib_dtrace_objs) $(DTRACE_PERLLIB_O)
++perlmain_objs = $(perlmain_dtrace_objs) $(DTRACE_MAIN_O)
++
++miniperl_dep = $(DTRACE_MINI_O)
++perllib_dep = $(DTRACE_PERLLIB_O)
++perlmain_dep = $(DTRACE_MAIN_O)
++
++!NO!SUBS!
++ ;;
++ *)
++
++ $spitshell >>$Makefile <<'!NO!SUBS!'
++
+ miniperl_objs = $(miniperl_objs_nodt) $(DTRACE_MINI_O)
+ perllib_objs = $(perllib_objs_nodt) $(DTRACE_PERLLIB_O)
+ perlmain_objs = perlmain$(OBJ_EXT) $(DTRACE_MAIN_O)
+
++miniperl_dep = $(miniperl_objs)
++perllib_dep = $(perllib_objs)
++perlmain_dep = $(perlmain_objs)
++
++!NO!SUBS!
++ ;;
++esac
++
++$spitshell >>$Makefile <<'!NO!SUBS!'
++
+ perltoc_pod_prereqs = extra.pods pod/perl5244delta.pod pod/perlapi.pod pod/perlintern.pod pod/perlmodlib.pod pod/perluniprops.pod
+ generated_pods = pod/perltoc.pod $(perltoc_pod_prereqs)
+ generated_headers = uudmap.h bitcount.h mg_data.h
+@@ -860,19 +908,32 @@ mydtrace.h: $(DTRACE_H)
+ define)
+ $spitshell >>$Makefile <<'!NO!SUBS!'
+ $(DTRACE_MINI_O): perldtrace.d $(miniperl_objs_nodt)
+- $(DTRACE) -G -s perldtrace.d -o $(DTRACE_MINI_O) $(miniperl_objs_nodt)
++ -rm -rf mpdtrace
++ mkdir mpdtrace
++ cp $(miniperl_objs_nodt) mpdtrace/
++ $(DTRACE) -G -s perldtrace.d -o $(DTRACE_MINI_O) $(miniperl_dtrace_objs)
+
+ $(DTRACE_PERLLIB_O): perldtrace.d $(perllib_objs_nodt)
+- $(DTRACE) -G -s perldtrace.d -o $(DTRACE_PERLLIB_O) $(perllib_objs_nodt)
++ -rm -rf libpdtrace
++ mkdir libpdtrace
++ cp $(perllib_objs_nodt) libpdtrace/
++ $(DTRACE) -G -s perldtrace.d -o $(DTRACE_PERLLIB_O) $(perllib_dtrace_objs)
+
+ $(DTRACE_MAIN_O): perldtrace.d perlmain$(OBJ_EXT)
+- $(DTRACE) -G -s perldtrace.d -o $(DTRACE_MAIN_O) perlmain$(OBJ_EXT)
++ -rm -rf maindtrace
++ mkdir maindtrace
++ cp perlmain$(OBJ_EXT) maindtrace/
++ $(DTRACE) -G -s perldtrace.d -o $(DTRACE_MAIN_O) $(perlmain_dtrace_objs) || \
++ ( $(ECHO) "No probes in perlmain$(OBJ_EXT), generating a dummy $(DTRACE_MAIN_O)" && \
++ $(ECHO) >dtrace_main.c && \
++ `$(CCCMD)` $(PLDLFLAGS) dtrace_main.c && \
++ rm -f dtrace_main.c )
+
+ !NO!SUBS!
+ ;;
+ esac
+ $spitshell >>$Makefile <<'!NO!SUBS!'
+-$(LIBPERL): $& $(perllib_objs) $(DYNALOADER) $(LIBPERLEXPORT)
++$(LIBPERL): $& $(perllib_dep) $(DYNALOADER) $(LIBPERLEXPORT)
+ !NO!SUBS!
+ case "$useshrplib" in
+ true)
+@@ -973,7 +1034,7 @@ lib/buildcustomize.pl: $& $(miniperl_obj
+ *)
+ if test "X$hostperl" != X; then
+ $spitshell >>$Makefile <<!GROK!THIS!
+-lib/buildcustomize.pl: \$& \$(miniperl_objs) write_buildcustomize.pl
++lib/buildcustomize.pl: \$& \$(miniperl_dep) write_buildcustomize.pl
+ -@rm -f miniperl.xok
+ -@rm \$(MINIPERL_EXE)
+ \$(LNS) \$(HOST_PERL) \$(MINIPERL_EXE)
+@@ -982,7 +1043,7 @@ lib/buildcustomize.pl: \$& \$(miniperl_o
+ !GROK!THIS!
+ else
+ $spitshell >>$Makefile <<'!NO!SUBS!'
+-lib/buildcustomize.pl: $& $(miniperl_objs) write_buildcustomize.pl
++lib/buildcustomize.pl: $& $(miniperl_dep) write_buildcustomize.pl
+ -@rm -f miniperl.xok
+ $(CC) $(CLDFLAGS) -o $(MINIPERL_EXE) \
+ $(miniperl_objs) $(libs)
+@@ -995,7 +1056,7 @@ lib/buildcustomize.pl: $& $(miniperl_obj
+
+ $spitshell >>$Makefile <<'!NO!SUBS!'
+
+-$(PERL_EXE): $& $(perlmain_objs) $(LIBPERL) $(static_ext) ext.libs $(PERLEXPORT) write_buildcustomize.pl
++$(PERL_EXE): $& $(perlmain_dep) $(LIBPERL) $(static_ext) ext.libs $(PERLEXPORT) write_buildcustomize.pl
+ -@rm -f miniperl.xok
+ !NO!SUBS!
+
+--- Porting/Glossary.orig 2017-06-30 21:03:20 UTC
++++ Porting/Glossary
+@@ -2949,6 +2949,11 @@ dtrace (usedtrace.U):
+ dtraceobject (dtraceobject.U):
+ Whether we need to build an object file with the dtrace tool.
+
++dtracexnolibs (dtraceobject.U):
++ Whether dtrace accepts -xnolibs. If available we call dtrace -h
++ and dtrace -G with -xnolibs to allow dtrace to run in a jail on
++ FreeBSD.
++
+ dynamic_ext (Extensions.U):
+ This variable holds a list of XS extension files we want to
+ link dynamically into the package. It is used by Makefile.
+--- ext/XS-APItest/Makefile.PL.orig 2017-06-30 21:03:22 UTC
++++ ext/XS-APItest/Makefile.PL
+@@ -58,7 +58,8 @@ sub MY::postamble
+ DTRACE_D = ../../perldtrace.d
+
+ dtrace\$(OBJ_EXT): \$(DTRACE_D) core\$(OBJ_EXT)
+- $Config{dtrace} -G -s \$(DTRACE_D) -o dtrace\$(OBJ_EXT) core\$(OBJ_EXT)
++ $Config{dtrace} -G -s \$(DTRACE_D) -o dtrace\$(OBJ_EXT) core\$(OBJ_EXT) || \\
++ ( \$(ECHO) >dtrace.c && \$(CCCMD) \$(CCCDLFLAGS) dtrace.c && rm -f dtrace.c )
+ POSTAMBLE
+
+ return $post;
+--- hints/freebsd.sh.orig 2017-06-30 21:03:22 UTC
++++ hints/freebsd.sh
+@@ -105,6 +105,15 @@ case "$osvers" in
+ ;;
+ esac
+
++case "$osvers" in
++10.*)
++ # dtrace on 10.x needs libelf symbols, but we don't know if the
++ # user is going to request usedtrace and there's no .cbu for usedtrace
++ libswanted="$libswanted elf"
++ echo "libswanted $libswanted" >&4
++ ;;
++esac
++
+ # Dynamic Loading flags have not changed much, so they are separated
+ # out here to avoid duplicating them everywhere.
+ case "$osvers" in
diff --git a/test-ports/lang/perl5.24/files/patch-ext_GDBM__File_t_fatal.t b/test-ports/lang/perl5.24/files/patch-ext_GDBM__File_t_fatal.t
new file mode 100644
index 00000000..b011ba77
--- /dev/null
+++ b/test-ports/lang/perl5.24/files/patch-ext_GDBM__File_t_fatal.t
@@ -0,0 +1,30 @@
+Those two test fails starting with gdbm 1.15.
+
+--- ext/GDBM_File/t/fatal.t.orig 2018-03-23 19:37:49 UTC
++++ ext/GDBM_File/t/fatal.t
+@@ -12,7 +12,7 @@ BEGIN {
+ plan(skip_all => "GDBM_File is flaky in $^O")
+ if $^O =~ /darwin/;
+
+- plan(tests => 8);
++ plan(tests => 6);
+ use_ok('GDBM_File');
+ }
+
+@@ -34,16 +34,5 @@ isnt((open $fh, "<&=$fileno"), undef, "d
+ or diag("\$! = $!");
+ isnt(close $fh, undef,
+ "close fileno $fileno, out from underneath the GDBM_File");
+-is(eval {
+- $h{Perl} = 'Rules';
+- untie %h;
+- 1;
+-}, undef, 'Trapped error when attempting to write to knobbled GDBM_File');
+-
+-# Observed "File write error" and "lseek error" from two different systems.
+-# So there might be more variants. Important part was that we trapped the error
+-# via croak.
+-like($@, qr/ at .*\bfatal\.t line \d+\.\n\z/,
+- 'expected error message from GDBM_File');
+
+ unlink <Op_dbmx*>;
diff --git a/test-ports/lang/perl5.24/files/patch-hints_freebsd.sh b/test-ports/lang/perl5.24/files/patch-hints_freebsd.sh
new file mode 100644
index 00000000..ad822d32
--- /dev/null
+++ b/test-ports/lang/perl5.24/files/patch-hints_freebsd.sh
@@ -0,0 +1,51 @@
+--- hints/freebsd.sh.orig 2015-04-15 07:47:18 UTC
++++ hints/freebsd.sh
+@@ -88,6 +88,8 @@ case "$osvers" in
+ esac
+ libswanted=`echo $libswanted | sed 's/ malloc / /'`
+ libswanted=`echo $libswanted | sed 's/ bind / /'`
++ libswanted=`echo $libswanted | sed 's/ dl / /'`
++ libswanted=`echo $libswanted | sed 's/ c / /'`
+ # iconv gone in Perl 5.8.1, but if someone compiles 5.8.0 or earlier.
+ libswanted=`echo $libswanted | sed 's/ iconv / /'`
+ d_setregid='define'
+@@ -102,6 +104,10 @@ case "$osvers" in
+ ;;
+ esac
+ libswanted=`echo $libswanted | sed 's/ malloc / /'`
++ libswanted=`echo $libswanted | sed 's/ bind / /'`
++ libswanted=`echo $libswanted | sed 's/ dl / /'`
++ libswanted=`echo $libswanted | sed 's/ iconv / /'`
++ libswanted=`echo $libswanted | sed 's/ c / /'`
+ ;;
+ esac
+
+@@ -126,7 +132,7 @@ case "$osvers" in
+ else
+ libpth="/usr/lib /usr/local/lib"
+ glibpth="/usr/lib /usr/local/lib"
+- ldflags="-Wl,-E "
++ ldflags="%%PTHREAD_LIBS%% -Wl,-E "
+ lddlflags="-shared "
+ fi
+ cccdlflags='-DPIC -fPIC'
+@@ -134,7 +140,7 @@ case "$osvers" in
+ *)
+ libpth="/usr/lib /usr/local/lib"
+ glibpth="/usr/lib /usr/local/lib"
+- ldflags="-Wl,-E "
++ ldflags="%%PTHREAD_LIBS%% -Wl,-E "
+ lddlflags="-shared "
+ cccdlflags='-DPIC -fPIC'
+ ;;
+@@ -191,7 +197,9 @@ esac
+
+ # This script UU/usethreads.cbu will get 'called-back' by Configure
+ # after it has prompted the user for whether to use threads.
+-cat > UU/usethreads.cbu <<'EOCBU'
++## not quite - modern FreeBSD perl port is supposed to take care of that
++## we just add extra libraries and cflags nowadays
++cat > /dev/null <<'EOCBU'
+ case "$usethreads" in
+ $define|true|[yY]*)
+ lc_r=`/sbin/ldconfig -r|grep ':-lc_r'|awk '{print $NF}'|sed -n '$p'`
diff --git a/test-ports/lang/perl5.24/files/patch-perl.c b/test-ports/lang/perl5.24/files/patch-perl.c
new file mode 100644
index 00000000..5e2eb68d
--- /dev/null
+++ b/test-ports/lang/perl5.24/files/patch-perl.c
@@ -0,0 +1,26 @@
+--- perl.c.orig 2016-04-11 00:49:39 UTC
++++ perl.c
+@@ -1825,23 +1825,7 @@ S_Internals_V(pTHX_ CV *cv)
+ PUSHs(Perl_newSVpvn_flags(aTHX_ non_bincompat_options,
+ sizeof(non_bincompat_options) - 1, SVs_TEMP));
+
+-#ifndef PERL_BUILD_DATE
+-# ifdef __DATE__
+-# ifdef __TIME__
+-# define PERL_BUILD_DATE __DATE__ " " __TIME__
+-# else
+-# define PERL_BUILD_DATE __DATE__
+-# endif
+-# endif
+-#endif
+-
+-#ifdef PERL_BUILD_DATE
+- PUSHs(Perl_newSVpvn_flags(aTHX_
+- STR_WITH_LEN("Compiled at " PERL_BUILD_DATE),
+- SVs_TEMP));
+-#else
+ PUSHs(&PL_sv_undef);
+-#endif
+
+ for (i = 1; i <= local_patch_count; i++) {
+ /* This will be an undef, if PL_localpatches[i] is NULL. */
diff --git a/test-ports/lang/perl5.24/files/patch-t_porting_customized.dat b/test-ports/lang/perl5.24/files/patch-t_porting_customized.dat
new file mode 100644
index 00000000..9395584b
--- /dev/null
+++ b/test-ports/lang/perl5.24/files/patch-t_porting_customized.dat
@@ -0,0 +1,20 @@
+--- t/porting/customized.dat.orig 2016-08-11 20:06:42 UTC
++++ t/porting/customized.dat
+@@ -33,7 +33,7 @@ ExtUtils::MakeMaker cpan/ExtUtils-MakeMa
+ ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm 8559ef191b4371d0c381472464856a8a73825b2a
+ ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm 09d579ed9daea95c3bf47de2e0b8fe3aa0ff6447
+ ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm f720c13748293b792f7073aa96e7daecb590b183
+-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm 243649a399d293ae7ad0f26b7eab2668aa864ce8
++ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm bb5266915618d6da7b30559b378dd30820d64308
+ ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm b63c90129303b2c17d084fb828aa2c02a2ad85b8
+ ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm cabd1c97eaa427067811d92807e34c17940c7350
+ ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm 6a185d897a600c34615a6073f4de0ac2f54fef3e
+@@ -99,7 +99,7 @@ Math::BigRat cpan/Math-BigRat/lib/Math/B
+ Memoize cpan/Memoize/Memoize.pm 902092ff91cdec9c7b4bd06202eb179e1ce26ca2
+ Parse::CPAN::Meta cpan/Parse-CPAN-Meta/lib/Parse/CPAN/Meta.pm 2de9f411463eda2bd5f57163c12edab9a00dc598
+ Parse::CPAN::Meta cpan/Parse-CPAN-Meta/t/02_api.t a692c9a7e52b08a14a954d6c405a22c0dab1cd43
+-Pod::Perldoc cpan/Pod-Perldoc/lib/Pod/Perldoc.pm ba3072a6af793b410b02594ed8fe109ac16a1d43
++Pod::Perldoc cpan/Pod-Perldoc/lib/Pod/Perldoc.pm e9e98b26450ceb3bae1e54ac8a57dab88932de96
+ Scalar-List-Utils cpan/Scalar-List-Utils/lib/List/Util.pm 3b501b7332480b34929bc4df5d48581df3307267
+ Scalar-List-Utils cpan/Scalar-List-Utils/lib/List/Util/XS.pm ebd169113d3df79d31ad5535dbd7a538a8c14fd2
+ Scalar-List-Utils cpan/Scalar-List-Utils/lib/Scalar/Util.pm def601405bac7a4d6690b8c4207e0f05d65eb4ca
diff --git a/test-ports/lang/perl5.24/files/patch-vutil.h b/test-ports/lang/perl5.24/files/patch-vutil.h
new file mode 100644
index 00000000..0ff04be8
--- /dev/null
+++ b/test-ports/lang/perl5.24/files/patch-vutil.h
@@ -0,0 +1,11 @@
+--- vutil.h.orig 2015-04-15 07:47:18 UTC
++++ vutil.h
+@@ -115,7 +115,7 @@ S_croak_xs_usage(pTHX_ const CV *const c
+ Perl_croak_nocontext("Usage: %s(%s)", gvname, params);
+ } else {
+ /* Pants. I don't think that it should be possible to get here. */
+- Perl_croak_nocontext("Usage: CODE(0x%"UVxf")(%s)", PTR2UV(cv), params);
++ Perl_croak_nocontext("Usage: CODE(0x%" UVxf ")(%s)", PTR2UV(cv), params);
+ }
+ }
+
diff --git a/test-ports/lang/perl5.24/files/perl-man.conf.in b/test-ports/lang/perl5.24/files/perl-man.conf.in
new file mode 100644
index 00000000..cbe3a5c5
--- /dev/null
+++ b/test-ports/lang/perl5.24/files/perl-man.conf.in
@@ -0,0 +1,2 @@
+MANPATH %%PREFIX%%/%%SITEMANPREFIX%%/man
+MANPATH %%PREFIX%%/%%PERLMANPREFIX%%/man
diff --git a/test-ports/lang/perl5.24/pkg-descr b/test-ports/lang/perl5.24/pkg-descr
new file mode 100644
index 00000000..0ef0392e
--- /dev/null
+++ b/test-ports/lang/perl5.24/pkg-descr
@@ -0,0 +1,6 @@
+Perl is a language that combines some of the features of C, sed, awk and
+shell. See the manual page for more hype. There are also many books
+published by O'Reilly & Assoc. See pod/perlbook.pod for more
+information.
+
+WWW: http://www.perl.org/
diff --git a/test-ports/lang/perl5.24/pkg-message b/test-ports/lang/perl5.24/pkg-message
new file mode 100644
index 00000000..751268e6
--- /dev/null
+++ b/test-ports/lang/perl5.24/pkg-message
@@ -0,0 +1,11 @@
+The /usr/bin/perl symlink has been removed starting with Perl 5.20.
+For shebangs, you should either use:
+
+#!/usr/local/bin/perl
+
+or
+
+#!/usr/bin/env perl
+
+The first one will only work if you have a /usr/local/bin/perl,
+the second will work as long as perl is in PATH.
diff --git a/test-ports/lang/perl5.24/pkg-plist b/test-ports/lang/perl5.24/pkg-plist
new file mode 100644
index 00000000..73810645
--- /dev/null
+++ b/test-ports/lang/perl5.24/pkg-plist
@@ -0,0 +1,2316 @@
+bin/c2ph%%BINSUFFIX%%
+bin/corelist%%BINSUFFIX%%
+bin/cpan%%BINSUFFIX%%
+bin/enc2xs%%BINSUFFIX%%
+bin/encguess%%BINSUFFIX%%
+bin/h2ph%%BINSUFFIX%%
+bin/h2xs%%BINSUFFIX%%
+bin/instmodsh%%BINSUFFIX%%
+bin/json_pp%%BINSUFFIX%%
+bin/libnetcfg%%BINSUFFIX%%
+%%DEFAULT%%bin/perl
+%%DEFAULT%%bin/perl5
+bin/perl%%PERL_VERSION%%
+bin/perlbug%%BINSUFFIX%%
+bin/perldoc%%BINSUFFIX%%
+bin/perlivp%%BINSUFFIX%%
+bin/perlthanks%%BINSUFFIX%%
+bin/piconv%%BINSUFFIX%%
+bin/pl2pm%%BINSUFFIX%%
+bin/pod2html%%BINSUFFIX%%
+bin/pod2man%%BINSUFFIX%%
+bin/pod2text%%BINSUFFIX%%
+bin/pod2usage%%BINSUFFIX%%
+bin/podchecker%%BINSUFFIX%%
+bin/podselect%%BINSUFFIX%%
+bin/prove%%BINSUFFIX%%
+bin/pstruct%%BINSUFFIX%%
+bin/ptar%%BINSUFFIX%%
+bin/ptardiff%%BINSUFFIX%%
+bin/ptargrep%%BINSUFFIX%%
+bin/shasum%%BINSUFFIX%%
+bin/splain%%BINSUFFIX%%
+bin/xsubpp%%BINSUFFIX%%
+bin/zipdetails%%BINSUFFIX%%
+etc/man.d/perl%%PKGNAMESUFFIX%%.conf
+%%PRIV_LIB%%/AnyDBM_File.pm
+%%PRIV_LIB%%/App/Cpan.pm
+%%PRIV_LIB%%/App/Prove.pm
+%%PRIV_LIB%%/App/Prove/State.pm
+%%PRIV_LIB%%/App/Prove/State/Result.pm
+%%PRIV_LIB%%/App/Prove/State/Result/Test.pm
+%%PRIV_LIB%%/Archive/Tar.pm
+%%PRIV_LIB%%/Archive/Tar/Constant.pm
+%%PRIV_LIB%%/Archive/Tar/File.pm
+%%PRIV_LIB%%/Attribute/Handlers.pm
+%%PRIV_LIB%%/AutoLoader.pm
+%%PRIV_LIB%%/AutoSplit.pm
+%%PRIV_LIB%%/B/Debug.pm
+%%PRIV_LIB%%/B/Deparse.pm
+%%PRIV_LIB%%/B/Op_private.pm
+%%PRIV_LIB%%/Benchmark.pm
+%%PRIV_LIB%%/CORE.pod
+%%PRIV_LIB%%/CPAN.pm
+%%PRIV_LIB%%/CPAN/API/HOWTO.pod
+%%PRIV_LIB%%/CPAN/Author.pm
+%%PRIV_LIB%%/CPAN/Bundle.pm
+%%PRIV_LIB%%/CPAN/CacheMgr.pm
+%%PRIV_LIB%%/CPAN/Complete.pm
+%%PRIV_LIB%%/CPAN/Debug.pm
+%%PRIV_LIB%%/CPAN/DeferredCode.pm
+%%PRIV_LIB%%/CPAN/Distribution.pm
+%%PRIV_LIB%%/CPAN/Distroprefs.pm
+%%PRIV_LIB%%/CPAN/Distrostatus.pm
+%%PRIV_LIB%%/CPAN/Exception/RecursiveDependency.pm
+%%PRIV_LIB%%/CPAN/Exception/blocked_urllist.pm
+%%PRIV_LIB%%/CPAN/Exception/yaml_not_installed.pm
+%%PRIV_LIB%%/CPAN/Exception/yaml_process_error.pm
+%%PRIV_LIB%%/CPAN/FTP.pm
+%%PRIV_LIB%%/CPAN/FTP/netrc.pm
+%%PRIV_LIB%%/CPAN/FirstTime.pm
+%%PRIV_LIB%%/CPAN/HTTP/Client.pm
+%%PRIV_LIB%%/CPAN/HTTP/Credentials.pm
+%%PRIV_LIB%%/CPAN/HandleConfig.pm
+%%PRIV_LIB%%/CPAN/Index.pm
+%%PRIV_LIB%%/CPAN/InfoObj.pm
+%%PRIV_LIB%%/CPAN/Kwalify.pm
+%%PRIV_LIB%%/CPAN/Kwalify/distroprefs.dd
+%%PRIV_LIB%%/CPAN/Kwalify/distroprefs.yml
+%%PRIV_LIB%%/CPAN/LWP/UserAgent.pm
+%%PRIV_LIB%%/CPAN/Meta.pm
+%%PRIV_LIB%%/CPAN/Meta/Converter.pm
+%%PRIV_LIB%%/CPAN/Meta/Feature.pm
+%%PRIV_LIB%%/CPAN/Meta/History.pm
+%%PRIV_LIB%%/CPAN/Meta/History/Meta_1_0.pod
+%%PRIV_LIB%%/CPAN/Meta/History/Meta_1_1.pod
+%%PRIV_LIB%%/CPAN/Meta/History/Meta_1_2.pod
+%%PRIV_LIB%%/CPAN/Meta/History/Meta_1_3.pod
+%%PRIV_LIB%%/CPAN/Meta/History/Meta_1_4.pod
+%%PRIV_LIB%%/CPAN/Meta/Merge.pm
+%%PRIV_LIB%%/CPAN/Meta/Prereqs.pm
+%%PRIV_LIB%%/CPAN/Meta/Requirements.pm
+%%PRIV_LIB%%/CPAN/Meta/Spec.pm
+%%PRIV_LIB%%/CPAN/Meta/Validator.pm
+%%PRIV_LIB%%/CPAN/Meta/YAML.pm
+%%PRIV_LIB%%/CPAN/Mirrors.pm
+%%PRIV_LIB%%/CPAN/Module.pm
+%%PRIV_LIB%%/CPAN/Nox.pm
+%%PRIV_LIB%%/CPAN/Plugin.pm
+%%PRIV_LIB%%/CPAN/Plugin/Specfile.pm
+%%PRIV_LIB%%/CPAN/Prompt.pm
+%%PRIV_LIB%%/CPAN/Queue.pm
+%%PRIV_LIB%%/CPAN/Shell.pm
+%%PRIV_LIB%%/CPAN/Tarzip.pm
+%%PRIV_LIB%%/CPAN/URL.pm
+%%PRIV_LIB%%/CPAN/Version.pm
+%%PRIV_LIB%%/Carp.pm
+%%PRIV_LIB%%/Carp/Heavy.pm
+%%PRIV_LIB%%/Class/Struct.pm
+%%PRIV_LIB%%/Compress/Zlib.pm
+%%PRIV_LIB%%/Config/Extensions.pm
+%%PRIV_LIB%%/Config/Perl/V.pm
+%%PRIV_LIB%%/DB.pm
+%%PRIV_LIB%%/DBM_Filter.pm
+%%PRIV_LIB%%/DBM_Filter/compress.pm
+%%PRIV_LIB%%/DBM_Filter/encode.pm
+%%PRIV_LIB%%/DBM_Filter/int32.pm
+%%PRIV_LIB%%/DBM_Filter/null.pm
+%%PRIV_LIB%%/DBM_Filter/utf8.pm
+%%PRIV_LIB%%/Devel/SelfStubber.pm
+%%PRIV_LIB%%/Digest.pm
+%%PRIV_LIB%%/Digest/base.pm
+%%PRIV_LIB%%/Digest/file.pm
+%%PRIV_LIB%%/DirHandle.pm
+%%PRIV_LIB%%/Dumpvalue.pm
+%%PRIV_LIB%%/Encode/Changes.e2x
+%%PRIV_LIB%%/Encode/ConfigLocal_PM.e2x
+%%PRIV_LIB%%/Encode/Makefile_PL.e2x
+%%PRIV_LIB%%/Encode/PerlIO.pod
+%%PRIV_LIB%%/Encode/README.e2x
+%%PRIV_LIB%%/Encode/Supported.pod
+%%PRIV_LIB%%/Encode/_PM.e2x
+%%PRIV_LIB%%/Encode/_T.e2x
+%%PRIV_LIB%%/Encode/encode.h
+%%PRIV_LIB%%/English.pm
+%%PRIV_LIB%%/Env.pm
+%%PRIV_LIB%%/Exporter.pm
+%%PRIV_LIB%%/Exporter/Heavy.pm
+%%PRIV_LIB%%/ExtUtils/CBuilder.pm
+%%PRIV_LIB%%/ExtUtils/CBuilder/Base.pm
+%%PRIV_LIB%%/ExtUtils/CBuilder/Platform/Unix.pm
+%%PRIV_LIB%%/ExtUtils/CBuilder/Platform/VMS.pm
+%%PRIV_LIB%%/ExtUtils/CBuilder/Platform/Windows.pm
+%%PRIV_LIB%%/ExtUtils/CBuilder/Platform/Windows/BCC.pm
+%%PRIV_LIB%%/ExtUtils/CBuilder/Platform/Windows/GCC.pm
+%%PRIV_LIB%%/ExtUtils/CBuilder/Platform/Windows/MSVC.pm
+%%PRIV_LIB%%/ExtUtils/CBuilder/Platform/aix.pm
+%%PRIV_LIB%%/ExtUtils/CBuilder/Platform/android.pm
+%%PRIV_LIB%%/ExtUtils/CBuilder/Platform/cygwin.pm
+%%PRIV_LIB%%/ExtUtils/CBuilder/Platform/darwin.pm
+%%PRIV_LIB%%/ExtUtils/CBuilder/Platform/dec_osf.pm
+%%PRIV_LIB%%/ExtUtils/CBuilder/Platform/os2.pm
+%%PRIV_LIB%%/ExtUtils/Command.pm
+%%PRIV_LIB%%/ExtUtils/Command/MM.pm
+%%PRIV_LIB%%/ExtUtils/Constant.pm
+%%PRIV_LIB%%/ExtUtils/Constant/Base.pm
+%%PRIV_LIB%%/ExtUtils/Constant/ProxySubs.pm
+%%PRIV_LIB%%/ExtUtils/Constant/Utils.pm
+%%PRIV_LIB%%/ExtUtils/Constant/XS.pm
+%%PRIV_LIB%%/ExtUtils/Embed.pm
+%%PRIV_LIB%%/ExtUtils/Install.pm
+%%PRIV_LIB%%/ExtUtils/Installed.pm
+%%PRIV_LIB%%/ExtUtils/Liblist.pm
+%%PRIV_LIB%%/ExtUtils/Liblist/Kid.pm
+%%PRIV_LIB%%/ExtUtils/MANIFEST.SKIP
+%%PRIV_LIB%%/ExtUtils/MM.pm
+%%PRIV_LIB%%/ExtUtils/MM_AIX.pm
+%%PRIV_LIB%%/ExtUtils/MM_Any.pm
+%%PRIV_LIB%%/ExtUtils/MM_BeOS.pm
+%%PRIV_LIB%%/ExtUtils/MM_Cygwin.pm
+%%PRIV_LIB%%/ExtUtils/MM_DOS.pm
+%%PRIV_LIB%%/ExtUtils/MM_Darwin.pm
+%%PRIV_LIB%%/ExtUtils/MM_MacOS.pm
+%%PRIV_LIB%%/ExtUtils/MM_NW5.pm
+%%PRIV_LIB%%/ExtUtils/MM_OS2.pm
+%%PRIV_LIB%%/ExtUtils/MM_QNX.pm
+%%PRIV_LIB%%/ExtUtils/MM_UWIN.pm
+%%PRIV_LIB%%/ExtUtils/MM_Unix.pm
+%%PRIV_LIB%%/ExtUtils/MM_VMS.pm
+%%PRIV_LIB%%/ExtUtils/MM_VOS.pm
+%%PRIV_LIB%%/ExtUtils/MM_Win32.pm
+%%PRIV_LIB%%/ExtUtils/MM_Win95.pm
+%%PRIV_LIB%%/ExtUtils/MY.pm
+%%PRIV_LIB%%/ExtUtils/MakeMaker.pm
+%%PRIV_LIB%%/ExtUtils/MakeMaker/Config.pm
+%%PRIV_LIB%%/ExtUtils/MakeMaker/FAQ.pod
+%%PRIV_LIB%%/ExtUtils/MakeMaker/Locale.pm
+%%PRIV_LIB%%/ExtUtils/MakeMaker/Tutorial.pod
+%%PRIV_LIB%%/ExtUtils/MakeMaker/version.pm
+%%PRIV_LIB%%/ExtUtils/Manifest.pm
+%%PRIV_LIB%%/ExtUtils/Miniperl.pm
+%%PRIV_LIB%%/ExtUtils/Mkbootstrap.pm
+%%PRIV_LIB%%/ExtUtils/Mksymlists.pm
+%%PRIV_LIB%%/ExtUtils/Packlist.pm
+%%PRIV_LIB%%/ExtUtils/ParseXS.pm
+%%PRIV_LIB%%/ExtUtils/ParseXS.pod
+%%PRIV_LIB%%/ExtUtils/ParseXS/Constants.pm
+%%PRIV_LIB%%/ExtUtils/ParseXS/CountLines.pm
+%%PRIV_LIB%%/ExtUtils/ParseXS/Eval.pm
+%%PRIV_LIB%%/ExtUtils/ParseXS/Utilities.pm
+%%PRIV_LIB%%/ExtUtils/Typemaps.pm
+%%PRIV_LIB%%/ExtUtils/Typemaps/Cmd.pm
+%%PRIV_LIB%%/ExtUtils/Typemaps/InputMap.pm
+%%PRIV_LIB%%/ExtUtils/Typemaps/OutputMap.pm
+%%PRIV_LIB%%/ExtUtils/Typemaps/Type.pm
+%%PRIV_LIB%%/ExtUtils/testlib.pm
+%%PRIV_LIB%%/ExtUtils/typemap
+%%PRIV_LIB%%/ExtUtils/xsubpp
+%%PRIV_LIB%%/Fatal.pm
+%%PRIV_LIB%%/File/Basename.pm
+%%PRIV_LIB%%/File/Compare.pm
+%%PRIV_LIB%%/File/Copy.pm
+%%PRIV_LIB%%/File/Fetch.pm
+%%PRIV_LIB%%/File/Find.pm
+%%PRIV_LIB%%/File/GlobMapper.pm
+%%PRIV_LIB%%/File/Path.pm
+%%PRIV_LIB%%/File/Temp.pm
+%%PRIV_LIB%%/File/stat.pm
+%%PRIV_LIB%%/FileCache.pm
+%%PRIV_LIB%%/FileHandle.pm
+%%PRIV_LIB%%/Filter/Simple.pm
+%%PRIV_LIB%%/FindBin.pm
+%%PRIV_LIB%%/Getopt/Long.pm
+%%PRIV_LIB%%/Getopt/Std.pm
+%%PRIV_LIB%%/HTTP/Tiny.pm
+%%PRIV_LIB%%/I18N/Collate.pm
+%%PRIV_LIB%%/I18N/LangTags.pm
+%%PRIV_LIB%%/I18N/LangTags/Detect.pm
+%%PRIV_LIB%%/I18N/LangTags/List.pm
+%%PRIV_LIB%%/IO/Compress/Adapter/Bzip2.pm
+%%PRIV_LIB%%/IO/Compress/Adapter/Deflate.pm
+%%PRIV_LIB%%/IO/Compress/Adapter/Identity.pm
+%%PRIV_LIB%%/IO/Compress/Base.pm
+%%PRIV_LIB%%/IO/Compress/Base/Common.pm
+%%PRIV_LIB%%/IO/Compress/Bzip2.pm
+%%PRIV_LIB%%/IO/Compress/Deflate.pm
+%%PRIV_LIB%%/IO/Compress/FAQ.pod
+%%PRIV_LIB%%/IO/Compress/Gzip.pm
+%%PRIV_LIB%%/IO/Compress/Gzip/Constants.pm
+%%PRIV_LIB%%/IO/Compress/RawDeflate.pm
+%%PRIV_LIB%%/IO/Compress/Zip.pm
+%%PRIV_LIB%%/IO/Compress/Zip/Constants.pm
+%%PRIV_LIB%%/IO/Compress/Zlib/Constants.pm
+%%PRIV_LIB%%/IO/Compress/Zlib/Extra.pm
+%%PRIV_LIB%%/IO/Socket/IP.pm
+%%PRIV_LIB%%/IO/Uncompress/Adapter/Bunzip2.pm
+%%PRIV_LIB%%/IO/Uncompress/Adapter/Identity.pm
+%%PRIV_LIB%%/IO/Uncompress/Adapter/Inflate.pm
+%%PRIV_LIB%%/IO/Uncompress/AnyInflate.pm
+%%PRIV_LIB%%/IO/Uncompress/AnyUncompress.pm
+%%PRIV_LIB%%/IO/Uncompress/Base.pm
+%%PRIV_LIB%%/IO/Uncompress/Bunzip2.pm
+%%PRIV_LIB%%/IO/Uncompress/Gunzip.pm
+%%PRIV_LIB%%/IO/Uncompress/Inflate.pm
+%%PRIV_LIB%%/IO/Uncompress/RawInflate.pm
+%%PRIV_LIB%%/IO/Uncompress/Unzip.pm
+%%PRIV_LIB%%/IO/Zlib.pm
+%%PRIV_LIB%%/IPC/Cmd.pm
+%%PRIV_LIB%%/IPC/Open2.pm
+%%PRIV_LIB%%/IPC/Open3.pm
+%%PRIV_LIB%%/JSON/PP.pm
+%%PRIV_LIB%%/JSON/PP/Boolean.pm
+%%PRIV_LIB%%/Locale/Codes.pm
+%%PRIV_LIB%%/Locale/Codes.pod
+%%PRIV_LIB%%/Locale/Codes/API.pod
+%%PRIV_LIB%%/Locale/Codes/Changes.pod
+%%PRIV_LIB%%/Locale/Codes/Constants.pm
+%%PRIV_LIB%%/Locale/Codes/Country.pm
+%%PRIV_LIB%%/Locale/Codes/Country.pod
+%%PRIV_LIB%%/Locale/Codes/Country_Codes.pm
+%%PRIV_LIB%%/Locale/Codes/Country_Retired.pm
+%%PRIV_LIB%%/Locale/Codes/Currency.pm
+%%PRIV_LIB%%/Locale/Codes/Currency.pod
+%%PRIV_LIB%%/Locale/Codes/Currency_Codes.pm
+%%PRIV_LIB%%/Locale/Codes/Currency_Retired.pm
+%%PRIV_LIB%%/Locale/Codes/LangExt.pm
+%%PRIV_LIB%%/Locale/Codes/LangExt.pod
+%%PRIV_LIB%%/Locale/Codes/LangExt_Codes.pm
+%%PRIV_LIB%%/Locale/Codes/LangExt_Retired.pm
+%%PRIV_LIB%%/Locale/Codes/LangFam.pm
+%%PRIV_LIB%%/Locale/Codes/LangFam.pod
+%%PRIV_LIB%%/Locale/Codes/LangFam_Codes.pm
+%%PRIV_LIB%%/Locale/Codes/LangFam_Retired.pm
+%%PRIV_LIB%%/Locale/Codes/LangVar.pm
+%%PRIV_LIB%%/Locale/Codes/LangVar.pod
+%%PRIV_LIB%%/Locale/Codes/LangVar_Codes.pm
+%%PRIV_LIB%%/Locale/Codes/LangVar_Retired.pm
+%%PRIV_LIB%%/Locale/Codes/Language.pm
+%%PRIV_LIB%%/Locale/Codes/Language.pod
+%%PRIV_LIB%%/Locale/Codes/Language_Codes.pm
+%%PRIV_LIB%%/Locale/Codes/Language_Retired.pm
+%%PRIV_LIB%%/Locale/Codes/Script.pm
+%%PRIV_LIB%%/Locale/Codes/Script.pod
+%%PRIV_LIB%%/Locale/Codes/Script_Codes.pm
+%%PRIV_LIB%%/Locale/Codes/Script_Retired.pm
+%%PRIV_LIB%%/Locale/Country.pm
+%%PRIV_LIB%%/Locale/Country.pod
+%%PRIV_LIB%%/Locale/Currency.pm
+%%PRIV_LIB%%/Locale/Currency.pod
+%%PRIV_LIB%%/Locale/Language.pm
+%%PRIV_LIB%%/Locale/Language.pod
+%%PRIV_LIB%%/Locale/Maketext.pm
+%%PRIV_LIB%%/Locale/Maketext.pod
+%%PRIV_LIB%%/Locale/Maketext/Cookbook.pod
+%%PRIV_LIB%%/Locale/Maketext/Guts.pm
+%%PRIV_LIB%%/Locale/Maketext/GutsLoader.pm
+%%PRIV_LIB%%/Locale/Maketext/Simple.pm
+%%PRIV_LIB%%/Locale/Maketext/TPJ13.pod
+%%PRIV_LIB%%/Locale/Script.pm
+%%PRIV_LIB%%/Locale/Script.pod
+%%PRIV_LIB%%/Math/BigFloat.pm
+%%PRIV_LIB%%/Math/BigFloat/Trace.pm
+%%PRIV_LIB%%/Math/BigInt.pm
+%%PRIV_LIB%%/Math/BigInt/Calc.pm
+%%PRIV_LIB%%/Math/BigInt/CalcEmu.pm
+%%PRIV_LIB%%/Math/BigInt/Trace.pm
+%%PRIV_LIB%%/Math/BigRat.pm
+%%PRIV_LIB%%/Math/Complex.pm
+%%PRIV_LIB%%/Math/Trig.pm
+%%PRIV_LIB%%/Memoize.pm
+%%PRIV_LIB%%/Memoize/AnyDBM_File.pm
+%%PRIV_LIB%%/Memoize/Expire.pm
+%%PRIV_LIB%%/Memoize/ExpireFile.pm
+%%PRIV_LIB%%/Memoize/ExpireTest.pm
+%%PRIV_LIB%%/Memoize/NDBM_File.pm
+%%PRIV_LIB%%/Memoize/SDBM_File.pm
+%%PRIV_LIB%%/Memoize/Storable.pm
+%%PRIV_LIB%%/Module/CoreList.pm
+%%PRIV_LIB%%/Module/CoreList.pod
+%%PRIV_LIB%%/Module/CoreList/TieHashDelta.pm
+%%PRIV_LIB%%/Module/CoreList/Utils.pm
+%%PRIV_LIB%%/Module/Load.pm
+%%PRIV_LIB%%/Module/Load/Conditional.pm
+%%PRIV_LIB%%/Module/Loaded.pm
+%%PRIV_LIB%%/Module/Metadata.pm
+%%PRIV_LIB%%/NEXT.pm
+%%PRIV_LIB%%/Net/Cmd.pm
+%%PRIV_LIB%%/Net/Config.pm
+%%PRIV_LIB%%/Net/Domain.pm
+%%PRIV_LIB%%/Net/FTP.pm
+%%PRIV_LIB%%/Net/FTP/A.pm
+%%PRIV_LIB%%/Net/FTP/E.pm
+%%PRIV_LIB%%/Net/FTP/I.pm
+%%PRIV_LIB%%/Net/FTP/L.pm
+%%PRIV_LIB%%/Net/FTP/dataconn.pm
+%%PRIV_LIB%%/Net/NNTP.pm
+%%PRIV_LIB%%/Net/Netrc.pm
+%%PRIV_LIB%%/Net/POP3.pm
+%%PRIV_LIB%%/Net/Ping.pm
+%%PRIV_LIB%%/Net/SMTP.pm
+%%PRIV_LIB%%/Net/Time.pm
+%%PRIV_LIB%%/Net/hostent.pm
+%%PRIV_LIB%%/Net/libnetFAQ.pod
+%%PRIV_LIB%%/Net/netent.pm
+%%PRIV_LIB%%/Net/protoent.pm
+%%PRIV_LIB%%/Net/servent.pm
+%%PRIV_LIB%%/Params/Check.pm
+%%PRIV_LIB%%/Parse/CPAN/Meta.pm
+%%PRIV_LIB%%/Perl/OSType.pm
+%%PRIV_LIB%%/PerlIO.pm
+%%PRIV_LIB%%/PerlIO/via/QuotedPrint.pm
+%%PRIV_LIB%%/Pod/Checker.pm
+%%PRIV_LIB%%/Pod/Escapes.pm
+%%PRIV_LIB%%/Pod/Find.pm
+%%PRIV_LIB%%/Pod/Functions.pm
+%%PRIV_LIB%%/Pod/Html.pm
+%%PRIV_LIB%%/Pod/InputObjects.pm
+%%PRIV_LIB%%/Pod/Man.pm
+%%PRIV_LIB%%/Pod/ParseLink.pm
+%%PRIV_LIB%%/Pod/ParseUtils.pm
+%%PRIV_LIB%%/Pod/Parser.pm
+%%PRIV_LIB%%/Pod/Perldoc.pm
+%%PRIV_LIB%%/Pod/Perldoc/BaseTo.pm
+%%PRIV_LIB%%/Pod/Perldoc/GetOptsOO.pm
+%%PRIV_LIB%%/Pod/Perldoc/ToANSI.pm
+%%PRIV_LIB%%/Pod/Perldoc/ToChecker.pm
+%%PRIV_LIB%%/Pod/Perldoc/ToMan.pm
+%%PRIV_LIB%%/Pod/Perldoc/ToNroff.pm
+%%PRIV_LIB%%/Pod/Perldoc/ToPod.pm
+%%PRIV_LIB%%/Pod/Perldoc/ToRtf.pm
+%%PRIV_LIB%%/Pod/Perldoc/ToTerm.pm
+%%PRIV_LIB%%/Pod/Perldoc/ToText.pm
+%%PRIV_LIB%%/Pod/Perldoc/ToTk.pm
+%%PRIV_LIB%%/Pod/Perldoc/ToXml.pm
+%%PRIV_LIB%%/Pod/PlainText.pm
+%%PRIV_LIB%%/Pod/Select.pm
+%%PRIV_LIB%%/Pod/Simple.pm
+%%PRIV_LIB%%/Pod/Simple.pod
+%%PRIV_LIB%%/Pod/Simple/BlackBox.pm
+%%PRIV_LIB%%/Pod/Simple/Checker.pm
+%%PRIV_LIB%%/Pod/Simple/Debug.pm
+%%PRIV_LIB%%/Pod/Simple/DumpAsText.pm
+%%PRIV_LIB%%/Pod/Simple/DumpAsXML.pm
+%%PRIV_LIB%%/Pod/Simple/HTML.pm
+%%PRIV_LIB%%/Pod/Simple/HTMLBatch.pm
+%%PRIV_LIB%%/Pod/Simple/HTMLLegacy.pm
+%%PRIV_LIB%%/Pod/Simple/LinkSection.pm
+%%PRIV_LIB%%/Pod/Simple/Methody.pm
+%%PRIV_LIB%%/Pod/Simple/Progress.pm
+%%PRIV_LIB%%/Pod/Simple/PullParser.pm
+%%PRIV_LIB%%/Pod/Simple/PullParserEndToken.pm
+%%PRIV_LIB%%/Pod/Simple/PullParserStartToken.pm
+%%PRIV_LIB%%/Pod/Simple/PullParserTextToken.pm
+%%PRIV_LIB%%/Pod/Simple/PullParserToken.pm
+%%PRIV_LIB%%/Pod/Simple/RTF.pm
+%%PRIV_LIB%%/Pod/Simple/Search.pm
+%%PRIV_LIB%%/Pod/Simple/SimpleTree.pm
+%%PRIV_LIB%%/Pod/Simple/Subclassing.pod
+%%PRIV_LIB%%/Pod/Simple/Text.pm
+%%PRIV_LIB%%/Pod/Simple/TextContent.pm
+%%PRIV_LIB%%/Pod/Simple/TiedOutFH.pm
+%%PRIV_LIB%%/Pod/Simple/Transcode.pm
+%%PRIV_LIB%%/Pod/Simple/TranscodeDumb.pm
+%%PRIV_LIB%%/Pod/Simple/TranscodeSmart.pm
+%%PRIV_LIB%%/Pod/Simple/XHTML.pm
+%%PRIV_LIB%%/Pod/Simple/XMLOutStream.pm
+%%PRIV_LIB%%/Pod/Text.pm
+%%PRIV_LIB%%/Pod/Text/Color.pm
+%%PRIV_LIB%%/Pod/Text/Overstrike.pm
+%%PRIV_LIB%%/Pod/Text/Termcap.pm
+%%PRIV_LIB%%/Pod/Usage.pm
+%%PRIV_LIB%%/Safe.pm
+%%PRIV_LIB%%/Search/Dict.pm
+%%PRIV_LIB%%/SelectSaver.pm
+%%PRIV_LIB%%/SelfLoader.pm
+%%PRIV_LIB%%/Symbol.pm
+%%PRIV_LIB%%/TAP/Base.pm
+%%PRIV_LIB%%/TAP/Formatter/Base.pm
+%%PRIV_LIB%%/TAP/Formatter/Color.pm
+%%PRIV_LIB%%/TAP/Formatter/Console.pm
+%%PRIV_LIB%%/TAP/Formatter/Console/ParallelSession.pm
+%%PRIV_LIB%%/TAP/Formatter/Console/Session.pm
+%%PRIV_LIB%%/TAP/Formatter/File.pm
+%%PRIV_LIB%%/TAP/Formatter/File/Session.pm
+%%PRIV_LIB%%/TAP/Formatter/Session.pm
+%%PRIV_LIB%%/TAP/Harness.pm
+%%PRIV_LIB%%/TAP/Harness/Beyond.pod
+%%PRIV_LIB%%/TAP/Harness/Env.pm
+%%PRIV_LIB%%/TAP/Object.pm
+%%PRIV_LIB%%/TAP/Parser.pm
+%%PRIV_LIB%%/TAP/Parser/Aggregator.pm
+%%PRIV_LIB%%/TAP/Parser/Grammar.pm
+%%PRIV_LIB%%/TAP/Parser/Iterator.pm
+%%PRIV_LIB%%/TAP/Parser/Iterator/Array.pm
+%%PRIV_LIB%%/TAP/Parser/Iterator/Process.pm
+%%PRIV_LIB%%/TAP/Parser/Iterator/Stream.pm
+%%PRIV_LIB%%/TAP/Parser/IteratorFactory.pm
+%%PRIV_LIB%%/TAP/Parser/Multiplexer.pm
+%%PRIV_LIB%%/TAP/Parser/Result.pm
+%%PRIV_LIB%%/TAP/Parser/Result/Bailout.pm
+%%PRIV_LIB%%/TAP/Parser/Result/Comment.pm
+%%PRIV_LIB%%/TAP/Parser/Result/Plan.pm
+%%PRIV_LIB%%/TAP/Parser/Result/Pragma.pm
+%%PRIV_LIB%%/TAP/Parser/Result/Test.pm
+%%PRIV_LIB%%/TAP/Parser/Result/Unknown.pm
+%%PRIV_LIB%%/TAP/Parser/Result/Version.pm
+%%PRIV_LIB%%/TAP/Parser/Result/YAML.pm
+%%PRIV_LIB%%/TAP/Parser/ResultFactory.pm
+%%PRIV_LIB%%/TAP/Parser/Scheduler.pm
+%%PRIV_LIB%%/TAP/Parser/Scheduler/Job.pm
+%%PRIV_LIB%%/TAP/Parser/Scheduler/Spinner.pm
+%%PRIV_LIB%%/TAP/Parser/Source.pm
+%%PRIV_LIB%%/TAP/Parser/SourceHandler.pm
+%%PRIV_LIB%%/TAP/Parser/SourceHandler/Executable.pm
+%%PRIV_LIB%%/TAP/Parser/SourceHandler/File.pm
+%%PRIV_LIB%%/TAP/Parser/SourceHandler/Handle.pm
+%%PRIV_LIB%%/TAP/Parser/SourceHandler/Perl.pm
+%%PRIV_LIB%%/TAP/Parser/SourceHandler/RawTAP.pm
+%%PRIV_LIB%%/TAP/Parser/YAMLish/Reader.pm
+%%PRIV_LIB%%/TAP/Parser/YAMLish/Writer.pm
+%%PRIV_LIB%%/Term/ANSIColor.pm
+%%PRIV_LIB%%/Term/Cap.pm
+%%PRIV_LIB%%/Term/Complete.pm
+%%PRIV_LIB%%/Term/ReadLine.pm
+%%PRIV_LIB%%/Test.pm
+%%PRIV_LIB%%/Test/Builder.pm
+%%PRIV_LIB%%/Test/Builder/IO/Scalar.pm
+%%PRIV_LIB%%/Test/Builder/Module.pm
+%%PRIV_LIB%%/Test/Builder/Tester.pm
+%%PRIV_LIB%%/Test/Builder/Tester/Color.pm
+%%PRIV_LIB%%/Test/Harness.pm
+%%PRIV_LIB%%/Test/More.pm
+%%PRIV_LIB%%/Test/Simple.pm
+%%PRIV_LIB%%/Test/Tester.pm
+%%PRIV_LIB%%/Test/Tester/Capture.pm
+%%PRIV_LIB%%/Test/Tester/CaptureRunner.pm
+%%PRIV_LIB%%/Test/Tester/Delegate.pm
+%%PRIV_LIB%%/Test/Tutorial.pod
+%%PRIV_LIB%%/Test/use/ok.pm
+%%PRIV_LIB%%/Text/Abbrev.pm
+%%PRIV_LIB%%/Text/Balanced.pm
+%%PRIV_LIB%%/Text/ParseWords.pm
+%%PRIV_LIB%%/Text/Tabs.pm
+%%PRIV_LIB%%/Text/Wrap.pm
+%%PRIV_LIB%%/Thread.pm
+%%PRIV_LIB%%/Thread/Queue.pm
+%%PRIV_LIB%%/Thread/Semaphore.pm
+%%PRIV_LIB%%/Tie/Array.pm
+%%PRIV_LIB%%/Tie/File.pm
+%%PRIV_LIB%%/Tie/Handle.pm
+%%PRIV_LIB%%/Tie/Hash.pm
+%%PRIV_LIB%%/Tie/Memoize.pm
+%%PRIV_LIB%%/Tie/RefHash.pm
+%%PRIV_LIB%%/Tie/Scalar.pm
+%%PRIV_LIB%%/Tie/StdHandle.pm
+%%PRIV_LIB%%/Tie/SubstrHash.pm
+%%PRIV_LIB%%/Time/Local.pm
+%%PRIV_LIB%%/Time/gmtime.pm
+%%PRIV_LIB%%/Time/localtime.pm
+%%PRIV_LIB%%/Time/tm.pm
+%%PRIV_LIB%%/UNIVERSAL.pm
+%%PRIV_LIB%%/Unicode/Collate/CJK/Big5.pm
+%%PRIV_LIB%%/Unicode/Collate/CJK/GB2312.pm
+%%PRIV_LIB%%/Unicode/Collate/CJK/JISX0208.pm
+%%PRIV_LIB%%/Unicode/Collate/CJK/Korean.pm
+%%PRIV_LIB%%/Unicode/Collate/CJK/Pinyin.pm
+%%PRIV_LIB%%/Unicode/Collate/CJK/Stroke.pm
+%%PRIV_LIB%%/Unicode/Collate/CJK/Zhuyin.pm
+%%PRIV_LIB%%/Unicode/Collate/Locale/af.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/ar.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/as.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/az.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/be.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/bg.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/bn.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/ca.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/cs.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/cy.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/da.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/de_phone.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/ee.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/eo.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/es.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/es_trad.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/et.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/fa.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/fi.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/fi_phone.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/fil.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/fo.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/fr.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/gu.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/ha.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/haw.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/hi.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/hr.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/hu.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/hy.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/ig.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/is.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/ja.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/kk.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/kl.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/kn.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/ko.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/kok.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/ln.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/lt.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/lv.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/mk.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/ml.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/mr.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/mt.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/nb.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/nn.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/nso.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/om.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/or.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/pa.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/pl.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/ro.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/ru.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/sa.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/se.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/si.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/si_dict.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/sk.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/sl.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/sq.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/sr.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/sv.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/sv_refo.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/ta.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/te.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/th.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/tn.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/to.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/tr.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/uk.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/ur.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/vi.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/wae.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/wo.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/yo.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/zh.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/zh_big5.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/zh_gb.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/zh_pin.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/zh_strk.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/zh_zhu.pl
+%%PRIV_LIB%%/Unicode/Collate/allkeys.txt
+%%PRIV_LIB%%/Unicode/Collate/keys.txt
+%%PRIV_LIB%%/Unicode/UCD.pm
+%%PRIV_LIB%%/User/grent.pm
+%%PRIV_LIB%%/User/pwent.pm
+%%PRIV_LIB%%/XSLoader.pm
+%%PRIV_LIB%%/_charnames.pm
+%%PRIV_LIB%%/autodie.pm
+%%PRIV_LIB%%/autodie/Scope/Guard.pm
+%%PRIV_LIB%%/autodie/Scope/GuardStack.pm
+%%PRIV_LIB%%/autodie/Util.pm
+%%PRIV_LIB%%/autodie/exception.pm
+%%PRIV_LIB%%/autodie/exception/system.pm
+%%PRIV_LIB%%/autodie/hints.pm
+%%PRIV_LIB%%/autodie/skip.pm
+%%PRIV_LIB%%/autouse.pm
+%%PRIV_LIB%%/base.pm
+%%PRIV_LIB%%/bigint.pm
+%%PRIV_LIB%%/bignum.pm
+%%PRIV_LIB%%/bigrat.pm
+%%PRIV_LIB%%/blib.pm
+%%PRIV_LIB%%/bytes.pm
+%%PRIV_LIB%%/bytes_heavy.pl
+%%PRIV_LIB%%/charnames.pm
+%%PRIV_LIB%%/constant.pm
+%%PRIV_LIB%%/deprecate.pm
+%%PRIV_LIB%%/diagnostics.pm
+%%PRIV_LIB%%/dumpvar.pl
+%%PRIV_LIB%%/encoding/warnings.pm
+%%PRIV_LIB%%/experimental.pm
+%%PRIV_LIB%%/feature.pm
+%%PRIV_LIB%%/fields.pm
+%%PRIV_LIB%%/filetest.pm
+%%PRIV_LIB%%/if.pm
+%%PRIV_LIB%%/integer.pm
+%%PRIV_LIB%%/less.pm
+%%PRIV_LIB%%/locale.pm
+%%ARCH_LIB%%/.packlist
+%%ARCH_LIB%%/B.pm
+%%ARCH_LIB%%/B/Concise.pm
+%%ARCH_LIB%%/B/Showlex.pm
+%%ARCH_LIB%%/B/Terse.pm
+%%ARCH_LIB%%/B/Xref.pm
+%%ARCH_LIB%%/CORE/EXTERN.h
+%%ARCH_LIB%%/CORE/INTERN.h
+%%ARCH_LIB%%/CORE/XSUB.h
+%%ARCH_LIB%%/CORE/av.h
+%%ARCH_LIB%%/CORE/bitcount.h
+%%ARCH_LIB%%/CORE/charclass_invlists.h
+%%ARCH_LIB%%/CORE/config.h
+%%ARCH_LIB%%/CORE/cop.h
+%%ARCH_LIB%%/CORE/cv.h
+%%ARCH_LIB%%/CORE/dosish.h
+%%ARCH_LIB%%/CORE/dquote_inline.h
+%%ARCH_LIB%%/CORE/ebcdic_tables.h
+%%ARCH_LIB%%/CORE/embed.h
+%%ARCH_LIB%%/CORE/embedvar.h
+%%ARCH_LIB%%/CORE/fakesdio.h
+%%ARCH_LIB%%/CORE/feature.h
+%%ARCH_LIB%%/CORE/form.h
+%%ARCH_LIB%%/CORE/git_version.h
+%%ARCH_LIB%%/CORE/gv.h
+%%ARCH_LIB%%/CORE/handy.h
+%%ARCH_LIB%%/CORE/hv.h
+%%ARCH_LIB%%/CORE/hv_func.h
+%%ARCH_LIB%%/CORE/inline.h
+%%ARCH_LIB%%/CORE/intrpvar.h
+%%ARCH_LIB%%/CORE/invlist_inline.h
+%%ARCH_LIB%%/CORE/iperlsys.h
+%%ARCH_LIB%%/CORE/keywords.h
+%%ARCH_LIB%%/CORE/l1_char_class_tab.h
+%%ARCH_LIB%%/CORE/libperl.so
+%%ARCH_LIB%%/CORE/libperl.so.%%PERL_VER%%
+%%ARCH_LIB%%/CORE/libperl.so.%%PERL_VERSION%%
+%%ARCH_LIB%%/CORE/malloc_ctl.h
+%%ARCH_LIB%%/CORE/metaconfig.h
+%%ARCH_LIB%%/CORE/mg.h
+%%ARCH_LIB%%/CORE/mg_data.h
+%%ARCH_LIB%%/CORE/mg_raw.h
+%%ARCH_LIB%%/CORE/mg_vtable.h
+%%ARCH_LIB%%/CORE/mydtrace.h
+%%ARCH_LIB%%/CORE/nostdio.h
+%%ARCH_LIB%%/CORE/op.h
+%%ARCH_LIB%%/CORE/op_reg_common.h
+%%ARCH_LIB%%/CORE/opcode.h
+%%ARCH_LIB%%/CORE/opnames.h
+%%ARCH_LIB%%/CORE/overload.h
+%%ARCH_LIB%%/CORE/pad.h
+%%ARCH_LIB%%/CORE/parser.h
+%%ARCH_LIB%%/CORE/patchlevel.h
+%%ARCH_LIB%%/CORE/perl.h
+%%ARCH_LIB%%/CORE/perlapi.h
+%%DTRACE%%%%ARCH_LIB%%/CORE/perldtrace.h
+%%ARCH_LIB%%/CORE/perlio.h
+%%ARCH_LIB%%/CORE/perliol.h
+%%ARCH_LIB%%/CORE/perlsdio.h
+%%ARCH_LIB%%/CORE/perlvars.h
+%%ARCH_LIB%%/CORE/perly.h
+%%ARCH_LIB%%/CORE/pp.h
+%%ARCH_LIB%%/CORE/pp_proto.h
+%%ARCH_LIB%%/CORE/proto.h
+%%ARCH_LIB%%/CORE/reentr.h
+%%ARCH_LIB%%/CORE/regcharclass.h
+%%ARCH_LIB%%/CORE/regcomp.h
+%%ARCH_LIB%%/CORE/regexp.h
+%%ARCH_LIB%%/CORE/regnodes.h
+%%ARCH_LIB%%/CORE/scope.h
+%%ARCH_LIB%%/CORE/sv.h
+%%ARCH_LIB%%/CORE/thread.h
+%%ARCH_LIB%%/CORE/time64.h
+%%ARCH_LIB%%/CORE/time64_config.h
+%%ARCH_LIB%%/CORE/uconfig.h
+%%ARCH_LIB%%/CORE/unicode_constants.h
+%%ARCH_LIB%%/CORE/unixish.h
+%%ARCH_LIB%%/CORE/utf8.h
+%%ARCH_LIB%%/CORE/utfebcdic.h
+%%ARCH_LIB%%/CORE/util.h
+%%ARCH_LIB%%/CORE/uudmap.h
+%%ARCH_LIB%%/CORE/vutil.h
+%%ARCH_LIB%%/CORE/warnings.h
+%%ARCH_LIB%%/Compress/Raw/Bzip2.pm
+%%ARCH_LIB%%/Compress/Raw/Zlib.pm
+%%ARCH_LIB%%/Config.pm
+%%ARCH_LIB%%/Config.pod
+%%ARCH_LIB%%/Config_git.pl
+%%ARCH_LIB%%/Config_heavy.pl
+%%ARCH_LIB%%/Cwd.pm
+%%ARCH_LIB%%/DB_File.pm
+%%ARCH_LIB%%/Data/Dumper.pm
+%%ARCH_LIB%%/Devel/PPPort.pm
+%%ARCH_LIB%%/Devel/Peek.pm
+%%ARCH_LIB%%/Digest/MD5.pm
+%%ARCH_LIB%%/Digest/SHA.pm
+%%ARCH_LIB%%/DynaLoader.pm
+%%ARCH_LIB%%/Encode.pm
+%%ARCH_LIB%%/Encode/Alias.pm
+%%ARCH_LIB%%/Encode/Byte.pm
+%%ARCH_LIB%%/Encode/CJKConstants.pm
+%%ARCH_LIB%%/Encode/CN.pm
+%%ARCH_LIB%%/Encode/CN/HZ.pm
+%%ARCH_LIB%%/Encode/Config.pm
+%%ARCH_LIB%%/Encode/EBCDIC.pm
+%%ARCH_LIB%%/Encode/Encoder.pm
+%%ARCH_LIB%%/Encode/Encoding.pm
+%%ARCH_LIB%%/Encode/GSM0338.pm
+%%ARCH_LIB%%/Encode/Guess.pm
+%%ARCH_LIB%%/Encode/JP.pm
+%%ARCH_LIB%%/Encode/JP/H2Z.pm
+%%ARCH_LIB%%/Encode/JP/JIS7.pm
+%%ARCH_LIB%%/Encode/KR.pm
+%%ARCH_LIB%%/Encode/KR/2022_KR.pm
+%%ARCH_LIB%%/Encode/MIME/Header.pm
+%%ARCH_LIB%%/Encode/MIME/Header/ISO_2022_JP.pm
+%%ARCH_LIB%%/Encode/MIME/Name.pm
+%%ARCH_LIB%%/Encode/Symbol.pm
+%%ARCH_LIB%%/Encode/TW.pm
+%%ARCH_LIB%%/Encode/Unicode.pm
+%%ARCH_LIB%%/Encode/Unicode/UTF7.pm
+%%ARCH_LIB%%/Errno.pm
+%%ARCH_LIB%%/Fcntl.pm
+%%ARCH_LIB%%/File/DosGlob.pm
+%%ARCH_LIB%%/File/Glob.pm
+%%ARCH_LIB%%/File/Spec.pm
+%%ARCH_LIB%%/File/Spec/AmigaOS.pm
+%%ARCH_LIB%%/File/Spec/Cygwin.pm
+%%ARCH_LIB%%/File/Spec/Epoc.pm
+%%ARCH_LIB%%/File/Spec/Functions.pm
+%%ARCH_LIB%%/File/Spec/Mac.pm
+%%ARCH_LIB%%/File/Spec/OS2.pm
+%%ARCH_LIB%%/File/Spec/Unix.pm
+%%ARCH_LIB%%/File/Spec/VMS.pm
+%%ARCH_LIB%%/File/Spec/Win32.pm
+%%ARCH_LIB%%/Filter/Util/Call.pm
+%%GDBM%%%%ARCH_LIB%%/GDBM_File.pm
+%%ARCH_LIB%%/Hash/Util.pm
+%%ARCH_LIB%%/Hash/Util/FieldHash.pm
+%%ARCH_LIB%%/I18N/Langinfo.pm
+%%ARCH_LIB%%/IO.pm
+%%ARCH_LIB%%/IO/Dir.pm
+%%ARCH_LIB%%/IO/File.pm
+%%ARCH_LIB%%/IO/Handle.pm
+%%ARCH_LIB%%/IO/Pipe.pm
+%%ARCH_LIB%%/IO/Poll.pm
+%%ARCH_LIB%%/IO/Seekable.pm
+%%ARCH_LIB%%/IO/Select.pm
+%%ARCH_LIB%%/IO/Socket.pm
+%%ARCH_LIB%%/IO/Socket/INET.pm
+%%ARCH_LIB%%/IO/Socket/UNIX.pm
+%%ARCH_LIB%%/IPC/Msg.pm
+%%ARCH_LIB%%/IPC/Semaphore.pm
+%%ARCH_LIB%%/IPC/SharedMem.pm
+%%ARCH_LIB%%/IPC/SysV.pm
+%%ARCH_LIB%%/List/Util.pm
+%%ARCH_LIB%%/List/Util/XS.pm
+%%ARCH_LIB%%/MIME/Base64.pm
+%%ARCH_LIB%%/MIME/QuotedPrint.pm
+%%ARCH_LIB%%/Math/BigInt/FastCalc.pm
+%%ARCH_LIB%%/NDBM_File.pm
+%%ARCH_LIB%%/O.pm
+%%ARCH_LIB%%/Opcode.pm
+%%ARCH_LIB%%/POSIX.pm
+%%ARCH_LIB%%/POSIX.pod
+%%ARCH_LIB%%/PerlIO/encoding.pm
+%%ARCH_LIB%%/PerlIO/mmap.pm
+%%ARCH_LIB%%/PerlIO/scalar.pm
+%%ARCH_LIB%%/PerlIO/via.pm
+%%ARCH_LIB%%/SDBM_File.pm
+%%ARCH_LIB%%/Scalar/Util.pm
+%%ARCH_LIB%%/Socket.pm
+%%ARCH_LIB%%/Storable.pm
+%%ARCH_LIB%%/Sub/Util.pm
+%%ARCH_LIB%%/Sys/Hostname.pm
+%%ARCH_LIB%%/Sys/Syslog.pm
+%%ARCH_LIB%%/Tie/Hash/NamedCapture.pm
+%%ARCH_LIB%%/Time/HiRes.pm
+%%ARCH_LIB%%/Time/Piece.pm
+%%ARCH_LIB%%/Time/Seconds.pm
+%%ARCH_LIB%%/Unicode/Collate.pm
+%%ARCH_LIB%%/Unicode/Collate/Locale.pm
+%%ARCH_LIB%%/Unicode/Normalize.pm
+%%ARCH_LIB%%/arybase.pm
+%%ARCH_LIB%%/attributes.pm
+%%ARCH_LIB%%/auto/B/B.so
+%%ARCH_LIB%%/auto/Compress/Raw/Bzip2/Bzip2.so
+%%ARCH_LIB%%/auto/Compress/Raw/Zlib/Zlib.so
+%%ARCH_LIB%%/auto/Cwd/Cwd.so
+%%ARCH_LIB%%/auto/DB_File/DB_File.so
+%%ARCH_LIB%%/auto/Data/Dumper/Dumper.so
+%%ARCH_LIB%%/auto/Devel/Peek/Peek.so
+%%ARCH_LIB%%/auto/Digest/MD5/MD5.so
+%%ARCH_LIB%%/auto/Digest/SHA/SHA.so
+%%ARCH_LIB%%/auto/Encode/Byte/Byte.so
+%%ARCH_LIB%%/auto/Encode/CN/CN.so
+%%ARCH_LIB%%/auto/Encode/EBCDIC/EBCDIC.so
+%%ARCH_LIB%%/auto/Encode/Encode.so
+%%ARCH_LIB%%/auto/Encode/JP/JP.so
+%%ARCH_LIB%%/auto/Encode/KR/KR.so
+%%ARCH_LIB%%/auto/Encode/Symbol/Symbol.so
+%%ARCH_LIB%%/auto/Encode/TW/TW.so
+%%ARCH_LIB%%/auto/Encode/Unicode/Unicode.so
+%%ARCH_LIB%%/auto/Fcntl/Fcntl.so
+%%ARCH_LIB%%/auto/File/DosGlob/DosGlob.so
+%%ARCH_LIB%%/auto/File/Glob/Glob.so
+%%ARCH_LIB%%/auto/Filter/Util/Call/Call.so
+%%GDBM%%%%ARCH_LIB%%/auto/GDBM_File/GDBM_File.so
+%%ARCH_LIB%%/auto/Hash/Util/FieldHash/FieldHash.so
+%%ARCH_LIB%%/auto/Hash/Util/Util.so
+%%ARCH_LIB%%/auto/I18N/Langinfo/Langinfo.so
+%%ARCH_LIB%%/auto/IO/IO.so
+%%ARCH_LIB%%/auto/IPC/SysV/SysV.so
+%%ARCH_LIB%%/auto/List/Util/Util.so
+%%ARCH_LIB%%/auto/MIME/Base64/Base64.so
+%%ARCH_LIB%%/auto/Math/BigInt/FastCalc/FastCalc.so
+%%ARCH_LIB%%/auto/NDBM_File/NDBM_File.so
+%%ARCH_LIB%%/auto/Opcode/Opcode.so
+%%ARCH_LIB%%/auto/POSIX/POSIX.so
+%%ARCH_LIB%%/auto/PerlIO/encoding/encoding.so
+%%ARCH_LIB%%/auto/PerlIO/mmap/mmap.so
+%%ARCH_LIB%%/auto/PerlIO/scalar/scalar.so
+%%ARCH_LIB%%/auto/PerlIO/via/via.so
+%%ARCH_LIB%%/auto/SDBM_File/SDBM_File.so
+%%ARCH_LIB%%/auto/Socket/Socket.so
+%%ARCH_LIB%%/auto/Storable/Storable.so
+%%ARCH_LIB%%/auto/Sys/Hostname/Hostname.so
+%%ARCH_LIB%%/auto/Sys/Syslog/Syslog.so
+%%ARCH_LIB%%/auto/Tie/Hash/NamedCapture/NamedCapture.so
+%%ARCH_LIB%%/auto/Time/HiRes/HiRes.so
+%%ARCH_LIB%%/auto/Time/Piece/Piece.so
+%%ARCH_LIB%%/auto/Unicode/Collate/Collate.so
+%%ARCH_LIB%%/auto/Unicode/Normalize/Normalize.so
+%%ARCH_LIB%%/auto/arybase/arybase.so
+%%ARCH_LIB%%/auto/attributes/attributes.so
+%%ARCH_LIB%%/auto/mro/mro.so
+%%ARCH_LIB%%/auto/re/re.so
+%%ARCH_LIB%%/auto/threads/shared/shared.so
+%%ARCH_LIB%%/auto/threads/threads.so
+%%ARCH_LIB%%/encoding.pm
+%%ARCH_LIB%%/lib.pm
+%%ARCH_LIB%%/mro.pm
+%%ARCH_LIB%%/ops.pm
+%%ARCH_LIB%%/re.pm
+%%ARCH_LIB%%/threads.pm
+%%ARCH_LIB%%/threads/shared.pm
+%%PRIV_LIB%%/meta_notation.pm
+%%PRIV_LIB%%/ok.pm
+%%PRIV_LIB%%/open.pm
+%%PRIV_LIB%%/overload.pm
+%%PRIV_LIB%%/overload/numbers.pm
+%%PRIV_LIB%%/overloading.pm
+%%PRIV_LIB%%/parent.pm
+%%MAN3%%/AnyDBM_File.3.gz
+%%MAN3%%/App::Cpan.3.gz
+%%MAN3%%/App::Prove.3.gz
+%%MAN3%%/App::Prove::State.3.gz
+%%MAN3%%/App::Prove::State::Result.3.gz
+%%MAN3%%/App::Prove::State::Result::Test.3.gz
+%%MAN3%%/Archive::Tar.3.gz
+%%MAN3%%/Archive::Tar::File.3.gz
+%%MAN3%%/Attribute::Handlers.3.gz
+%%MAN3%%/AutoLoader.3.gz
+%%MAN3%%/AutoSplit.3.gz
+%%MAN3%%/B.3.gz
+%%MAN3%%/B::Concise.3.gz
+%%MAN3%%/B::Debug.3.gz
+%%MAN3%%/B::Deparse.3.gz
+%%MAN3%%/B::Op_private.3.gz
+%%MAN3%%/B::Showlex.3.gz
+%%MAN3%%/B::Terse.3.gz
+%%MAN3%%/B::Xref.3.gz
+%%MAN3%%/Benchmark.3.gz
+%%MAN3%%/CORE.3.gz
+%%MAN3%%/CPAN.3.gz
+%%MAN3%%/CPAN::API::HOWTO.3.gz
+%%MAN3%%/CPAN::Debug.3.gz
+%%MAN3%%/CPAN::Distroprefs.3.gz
+%%MAN3%%/CPAN::FirstTime.3.gz
+%%MAN3%%/CPAN::HandleConfig.3.gz
+%%MAN3%%/CPAN::Kwalify.3.gz
+%%MAN3%%/CPAN::Meta.3.gz
+%%MAN3%%/CPAN::Meta::Converter.3.gz
+%%MAN3%%/CPAN::Meta::Feature.3.gz
+%%MAN3%%/CPAN::Meta::History.3.gz
+%%MAN3%%/CPAN::Meta::History::Meta_1_0.3.gz
+%%MAN3%%/CPAN::Meta::History::Meta_1_1.3.gz
+%%MAN3%%/CPAN::Meta::History::Meta_1_2.3.gz
+%%MAN3%%/CPAN::Meta::History::Meta_1_3.3.gz
+%%MAN3%%/CPAN::Meta::History::Meta_1_4.3.gz
+%%MAN3%%/CPAN::Meta::Merge.3.gz
+%%MAN3%%/CPAN::Meta::Prereqs.3.gz
+%%MAN3%%/CPAN::Meta::Requirements.3.gz
+%%MAN3%%/CPAN::Meta::Spec.3.gz
+%%MAN3%%/CPAN::Meta::Validator.3.gz
+%%MAN3%%/CPAN::Meta::YAML.3.gz
+%%MAN3%%/CPAN::Mirrors.3.gz
+%%MAN3%%/CPAN::Nox.3.gz
+%%MAN3%%/CPAN::Plugin.3.gz
+%%MAN3%%/CPAN::Plugin::Specfile.3.gz
+%%MAN3%%/CPAN::Queue.3.gz
+%%MAN3%%/CPAN::Tarzip.3.gz
+%%MAN3%%/CPAN::Version.3.gz
+%%MAN3%%/Carp.3.gz
+%%MAN3%%/Class::Struct.3.gz
+%%MAN3%%/Compress::Raw::Bzip2.3.gz
+%%MAN3%%/Compress::Raw::Zlib.3.gz
+%%MAN3%%/Compress::Zlib.3.gz
+%%MAN3%%/Config.3.gz
+%%MAN3%%/Config::Extensions.3.gz
+%%MAN3%%/Config::Perl::V.3.gz
+%%MAN3%%/Cwd.3.gz
+%%MAN3%%/DB.3.gz
+%%MAN3%%/DBM_Filter.3.gz
+%%MAN3%%/DBM_Filter::compress.3.gz
+%%MAN3%%/DBM_Filter::encode.3.gz
+%%MAN3%%/DBM_Filter::int32.3.gz
+%%MAN3%%/DBM_Filter::null.3.gz
+%%MAN3%%/DBM_Filter::utf8.3.gz
+%%MAN3%%/DB_File.3.gz
+%%MAN3%%/Data::Dumper.3.gz
+%%MAN3%%/Devel::PPPort.3.gz
+%%MAN3%%/Devel::Peek.3.gz
+%%MAN3%%/Devel::SelfStubber.3.gz
+%%MAN3%%/Digest.3.gz
+%%MAN3%%/Digest::MD5.3.gz
+%%MAN3%%/Digest::SHA.3.gz
+%%MAN3%%/Digest::base.3.gz
+%%MAN3%%/Digest::file.3.gz
+%%MAN3%%/DirHandle.3.gz
+%%MAN3%%/Dumpvalue.3.gz
+%%MAN3%%/DynaLoader.3.gz
+%%MAN3%%/Encode.3.gz
+%%MAN3%%/Encode::Alias.3.gz
+%%MAN3%%/Encode::Byte.3.gz
+%%MAN3%%/Encode::CJKConstants.3.gz
+%%MAN3%%/Encode::CN.3.gz
+%%MAN3%%/Encode::CN::HZ.3.gz
+%%MAN3%%/Encode::Config.3.gz
+%%MAN3%%/Encode::EBCDIC.3.gz
+%%MAN3%%/Encode::Encoder.3.gz
+%%MAN3%%/Encode::Encoding.3.gz
+%%MAN3%%/Encode::GSM0338.3.gz
+%%MAN3%%/Encode::Guess.3.gz
+%%MAN3%%/Encode::JP.3.gz
+%%MAN3%%/Encode::JP::H2Z.3.gz
+%%MAN3%%/Encode::JP::JIS7.3.gz
+%%MAN3%%/Encode::KR.3.gz
+%%MAN3%%/Encode::KR::2022_KR.3.gz
+%%MAN3%%/Encode::MIME::Header.3.gz
+%%MAN3%%/Encode::MIME::Name.3.gz
+%%MAN3%%/Encode::PerlIO.3.gz
+%%MAN3%%/Encode::Supported.3.gz
+%%MAN3%%/Encode::Symbol.3.gz
+%%MAN3%%/Encode::TW.3.gz
+%%MAN3%%/Encode::Unicode.3.gz
+%%MAN3%%/Encode::Unicode::UTF7.3.gz
+%%MAN3%%/English.3.gz
+%%MAN3%%/Env.3.gz
+%%MAN3%%/Errno.3.gz
+%%MAN3%%/Exporter.3.gz
+%%MAN3%%/Exporter::Heavy.3.gz
+%%MAN3%%/ExtUtils::CBuilder.3.gz
+%%MAN3%%/ExtUtils::CBuilder::Platform::Windows.3.gz
+%%MAN3%%/ExtUtils::Command.3.gz
+%%MAN3%%/ExtUtils::Command::MM.3.gz
+%%MAN3%%/ExtUtils::Constant.3.gz
+%%MAN3%%/ExtUtils::Constant::Base.3.gz
+%%MAN3%%/ExtUtils::Constant::Utils.3.gz
+%%MAN3%%/ExtUtils::Constant::XS.3.gz
+%%MAN3%%/ExtUtils::Embed.3.gz
+%%MAN3%%/ExtUtils::Install.3.gz
+%%MAN3%%/ExtUtils::Installed.3.gz
+%%MAN3%%/ExtUtils::Liblist.3.gz
+%%MAN3%%/ExtUtils::MM.3.gz
+%%MAN3%%/ExtUtils::MM_AIX.3.gz
+%%MAN3%%/ExtUtils::MM_Any.3.gz
+%%MAN3%%/ExtUtils::MM_BeOS.3.gz
+%%MAN3%%/ExtUtils::MM_Cygwin.3.gz
+%%MAN3%%/ExtUtils::MM_DOS.3.gz
+%%MAN3%%/ExtUtils::MM_Darwin.3.gz
+%%MAN3%%/ExtUtils::MM_MacOS.3.gz
+%%MAN3%%/ExtUtils::MM_NW5.3.gz
+%%MAN3%%/ExtUtils::MM_OS2.3.gz
+%%MAN3%%/ExtUtils::MM_QNX.3.gz
+%%MAN3%%/ExtUtils::MM_UWIN.3.gz
+%%MAN3%%/ExtUtils::MM_Unix.3.gz
+%%MAN3%%/ExtUtils::MM_VMS.3.gz
+%%MAN3%%/ExtUtils::MM_VOS.3.gz
+%%MAN3%%/ExtUtils::MM_Win32.3.gz
+%%MAN3%%/ExtUtils::MM_Win95.3.gz
+%%MAN3%%/ExtUtils::MY.3.gz
+%%MAN3%%/ExtUtils::MakeMaker.3.gz
+%%MAN3%%/ExtUtils::MakeMaker::Config.3.gz
+%%MAN3%%/ExtUtils::MakeMaker::FAQ.3.gz
+%%MAN3%%/ExtUtils::MakeMaker::Locale.3.gz
+%%MAN3%%/ExtUtils::MakeMaker::Tutorial.3.gz
+%%MAN3%%/ExtUtils::Manifest.3.gz
+%%MAN3%%/ExtUtils::Miniperl.3.gz
+%%MAN3%%/ExtUtils::Mkbootstrap.3.gz
+%%MAN3%%/ExtUtils::Mksymlists.3.gz
+%%MAN3%%/ExtUtils::Packlist.3.gz
+%%MAN3%%/ExtUtils::ParseXS.3.gz
+%%MAN3%%/ExtUtils::ParseXS::Constants.3.gz
+%%MAN3%%/ExtUtils::ParseXS::Eval.3.gz
+%%MAN3%%/ExtUtils::ParseXS::Utilities.3.gz
+%%MAN3%%/ExtUtils::Typemaps.3.gz
+%%MAN3%%/ExtUtils::Typemaps::Cmd.3.gz
+%%MAN3%%/ExtUtils::Typemaps::InputMap.3.gz
+%%MAN3%%/ExtUtils::Typemaps::OutputMap.3.gz
+%%MAN3%%/ExtUtils::Typemaps::Type.3.gz
+%%MAN3%%/ExtUtils::XSSymSet.3.gz
+%%MAN3%%/ExtUtils::testlib.3.gz
+%%MAN3%%/Fatal.3.gz
+%%MAN3%%/Fcntl.3.gz
+%%MAN3%%/File::Basename.3.gz
+%%MAN3%%/File::Compare.3.gz
+%%MAN3%%/File::Copy.3.gz
+%%MAN3%%/File::DosGlob.3.gz
+%%MAN3%%/File::Fetch.3.gz
+%%MAN3%%/File::Find.3.gz
+%%MAN3%%/File::Glob.3.gz
+%%MAN3%%/File::GlobMapper.3.gz
+%%MAN3%%/File::Path.3.gz
+%%MAN3%%/File::Spec.3.gz
+%%MAN3%%/File::Spec::AmigaOS.3.gz
+%%MAN3%%/File::Spec::Cygwin.3.gz
+%%MAN3%%/File::Spec::Epoc.3.gz
+%%MAN3%%/File::Spec::Functions.3.gz
+%%MAN3%%/File::Spec::Mac.3.gz
+%%MAN3%%/File::Spec::OS2.3.gz
+%%MAN3%%/File::Spec::Unix.3.gz
+%%MAN3%%/File::Spec::VMS.3.gz
+%%MAN3%%/File::Spec::Win32.3.gz
+%%MAN3%%/File::Temp.3.gz
+%%MAN3%%/File::stat.3.gz
+%%MAN3%%/FileCache.3.gz
+%%MAN3%%/FileHandle.3.gz
+%%MAN3%%/Filter::Simple.3.gz
+%%MAN3%%/Filter::Util::Call.3.gz
+%%MAN3%%/FindBin.3.gz
+%%GDBM%%%%MAN3%%/GDBM_File.3.gz
+%%MAN3%%/Getopt::Long.3.gz
+%%MAN3%%/Getopt::Std.3.gz
+%%MAN3%%/HTTP::Tiny.3.gz
+%%MAN3%%/Hash::Util.3.gz
+%%MAN3%%/Hash::Util::FieldHash.3.gz
+%%MAN3%%/I18N::Collate.3.gz
+%%MAN3%%/I18N::LangTags.3.gz
+%%MAN3%%/I18N::LangTags::Detect.3.gz
+%%MAN3%%/I18N::LangTags::List.3.gz
+%%MAN3%%/I18N::Langinfo.3.gz
+%%MAN3%%/IO.3.gz
+%%MAN3%%/IO::Compress::Base.3.gz
+%%MAN3%%/IO::Compress::Bzip2.3.gz
+%%MAN3%%/IO::Compress::Deflate.3.gz
+%%MAN3%%/IO::Compress::FAQ.3.gz
+%%MAN3%%/IO::Compress::Gzip.3.gz
+%%MAN3%%/IO::Compress::RawDeflate.3.gz
+%%MAN3%%/IO::Compress::Zip.3.gz
+%%MAN3%%/IO::Dir.3.gz
+%%MAN3%%/IO::File.3.gz
+%%MAN3%%/IO::Handle.3.gz
+%%MAN3%%/IO::Pipe.3.gz
+%%MAN3%%/IO::Poll.3.gz
+%%MAN3%%/IO::Seekable.3.gz
+%%MAN3%%/IO::Select.3.gz
+%%MAN3%%/IO::Socket.3.gz
+%%MAN3%%/IO::Socket::INET.3.gz
+%%MAN3%%/IO::Socket::IP.3.gz
+%%MAN3%%/IO::Socket::UNIX.3.gz
+%%MAN3%%/IO::Uncompress::AnyInflate.3.gz
+%%MAN3%%/IO::Uncompress::AnyUncompress.3.gz
+%%MAN3%%/IO::Uncompress::Base.3.gz
+%%MAN3%%/IO::Uncompress::Bunzip2.3.gz
+%%MAN3%%/IO::Uncompress::Gunzip.3.gz
+%%MAN3%%/IO::Uncompress::Inflate.3.gz
+%%MAN3%%/IO::Uncompress::RawInflate.3.gz
+%%MAN3%%/IO::Uncompress::Unzip.3.gz
+%%MAN3%%/IO::Zlib.3.gz
+%%MAN3%%/IPC::Cmd.3.gz
+%%MAN3%%/IPC::Msg.3.gz
+%%MAN3%%/IPC::Open2.3.gz
+%%MAN3%%/IPC::Open3.3.gz
+%%MAN3%%/IPC::Semaphore.3.gz
+%%MAN3%%/IPC::SharedMem.3.gz
+%%MAN3%%/IPC::SysV.3.gz
+%%MAN3%%/JSON::PP.3.gz
+%%MAN3%%/JSON::PP::Boolean.3.gz
+%%MAN3%%/List::Util.3.gz
+%%MAN3%%/List::Util::XS.3.gz
+%%MAN3%%/Locale::Codes.3.gz
+%%MAN3%%/Locale::Codes::API.3.gz
+%%MAN3%%/Locale::Codes::Changes.3.gz
+%%MAN3%%/Locale::Codes::Country.3.gz
+%%MAN3%%/Locale::Codes::Currency.3.gz
+%%MAN3%%/Locale::Codes::LangExt.3.gz
+%%MAN3%%/Locale::Codes::LangFam.3.gz
+%%MAN3%%/Locale::Codes::LangVar.3.gz
+%%MAN3%%/Locale::Codes::Language.3.gz
+%%MAN3%%/Locale::Codes::Script.3.gz
+%%MAN3%%/Locale::Country.3.gz
+%%MAN3%%/Locale::Currency.3.gz
+%%MAN3%%/Locale::Language.3.gz
+%%MAN3%%/Locale::Maketext.3.gz
+%%MAN3%%/Locale::Maketext::Cookbook.3.gz
+%%MAN3%%/Locale::Maketext::Guts.3.gz
+%%MAN3%%/Locale::Maketext::GutsLoader.3.gz
+%%MAN3%%/Locale::Maketext::Simple.3.gz
+%%MAN3%%/Locale::Maketext::TPJ13.3.gz
+%%MAN3%%/Locale::Script.3.gz
+%%MAN3%%/MIME::Base64.3.gz
+%%MAN3%%/MIME::QuotedPrint.3.gz
+%%MAN3%%/Math::BigFloat.3.gz
+%%MAN3%%/Math::BigInt.3.gz
+%%MAN3%%/Math::BigInt::Calc.3.gz
+%%MAN3%%/Math::BigInt::CalcEmu.3.gz
+%%MAN3%%/Math::BigInt::FastCalc.3.gz
+%%MAN3%%/Math::BigRat.3.gz
+%%MAN3%%/Math::Complex.3.gz
+%%MAN3%%/Math::Trig.3.gz
+%%MAN3%%/Memoize.3.gz
+%%MAN3%%/Memoize::AnyDBM_File.3.gz
+%%MAN3%%/Memoize::Expire.3.gz
+%%MAN3%%/Memoize::ExpireFile.3.gz
+%%MAN3%%/Memoize::ExpireTest.3.gz
+%%MAN3%%/Memoize::NDBM_File.3.gz
+%%MAN3%%/Memoize::SDBM_File.3.gz
+%%MAN3%%/Memoize::Storable.3.gz
+%%MAN3%%/Module::CoreList.3.gz
+%%MAN3%%/Module::CoreList::Utils.3.gz
+%%MAN3%%/Module::Load.3.gz
+%%MAN3%%/Module::Load::Conditional.3.gz
+%%MAN3%%/Module::Loaded.3.gz
+%%MAN3%%/Module::Metadata.3.gz
+%%MAN3%%/NDBM_File.3.gz
+%%MAN3%%/NEXT.3.gz
+%%MAN3%%/Net::Cmd.3.gz
+%%MAN3%%/Net::Config.3.gz
+%%MAN3%%/Net::Domain.3.gz
+%%MAN3%%/Net::FTP.3.gz
+%%MAN3%%/Net::NNTP.3.gz
+%%MAN3%%/Net::Netrc.3.gz
+%%MAN3%%/Net::POP3.3.gz
+%%MAN3%%/Net::Ping.3.gz
+%%MAN3%%/Net::SMTP.3.gz
+%%MAN3%%/Net::Time.3.gz
+%%MAN3%%/Net::hostent.3.gz
+%%MAN3%%/Net::libnetFAQ.3.gz
+%%MAN3%%/Net::netent.3.gz
+%%MAN3%%/Net::protoent.3.gz
+%%MAN3%%/Net::servent.3.gz
+%%MAN3%%/O.3.gz
+%%MAN3%%/Opcode.3.gz
+%%MAN3%%/POSIX.3.gz
+%%MAN3%%/Params::Check.3.gz
+%%MAN3%%/Parse::CPAN::Meta.3.gz
+%%MAN3%%/Perl::OSType.3.gz
+%%MAN3%%/PerlIO.3.gz
+%%MAN3%%/PerlIO::encoding.3.gz
+%%MAN3%%/PerlIO::mmap.3.gz
+%%MAN3%%/PerlIO::scalar.3.gz
+%%MAN3%%/PerlIO::via.3.gz
+%%MAN3%%/PerlIO::via::QuotedPrint.3.gz
+%%MAN3%%/Pod::Checker.3.gz
+%%MAN3%%/Pod::Escapes.3.gz
+%%MAN3%%/Pod::Find.3.gz
+%%MAN3%%/Pod::Html.3.gz
+%%MAN3%%/Pod::InputObjects.3.gz
+%%MAN3%%/Pod::Man.3.gz
+%%MAN3%%/Pod::ParseLink.3.gz
+%%MAN3%%/Pod::ParseUtils.3.gz
+%%MAN3%%/Pod::Parser.3.gz
+%%MAN3%%/Pod::Perldoc.3.gz
+%%MAN3%%/Pod::Perldoc::BaseTo.3.gz
+%%MAN3%%/Pod::Perldoc::GetOptsOO.3.gz
+%%MAN3%%/Pod::Perldoc::ToANSI.3.gz
+%%MAN3%%/Pod::Perldoc::ToChecker.3.gz
+%%MAN3%%/Pod::Perldoc::ToMan.3.gz
+%%MAN3%%/Pod::Perldoc::ToNroff.3.gz
+%%MAN3%%/Pod::Perldoc::ToPod.3.gz
+%%MAN3%%/Pod::Perldoc::ToRtf.3.gz
+%%MAN3%%/Pod::Perldoc::ToTerm.3.gz
+%%MAN3%%/Pod::Perldoc::ToText.3.gz
+%%MAN3%%/Pod::Perldoc::ToTk.3.gz
+%%MAN3%%/Pod::Perldoc::ToXml.3.gz
+%%MAN3%%/Pod::PlainText.3.gz
+%%MAN3%%/Pod::Select.3.gz
+%%MAN3%%/Pod::Simple.3.gz
+%%MAN3%%/Pod::Simple::Checker.3.gz
+%%MAN3%%/Pod::Simple::Debug.3.gz
+%%MAN3%%/Pod::Simple::DumpAsText.3.gz
+%%MAN3%%/Pod::Simple::DumpAsXML.3.gz
+%%MAN3%%/Pod::Simple::HTML.3.gz
+%%MAN3%%/Pod::Simple::HTMLBatch.3.gz
+%%MAN3%%/Pod::Simple::LinkSection.3.gz
+%%MAN3%%/Pod::Simple::Methody.3.gz
+%%MAN3%%/Pod::Simple::PullParser.3.gz
+%%MAN3%%/Pod::Simple::PullParserEndToken.3.gz
+%%MAN3%%/Pod::Simple::PullParserStartToken.3.gz
+%%MAN3%%/Pod::Simple::PullParserTextToken.3.gz
+%%MAN3%%/Pod::Simple::PullParserToken.3.gz
+%%MAN3%%/Pod::Simple::RTF.3.gz
+%%MAN3%%/Pod::Simple::Search.3.gz
+%%MAN3%%/Pod::Simple::SimpleTree.3.gz
+%%MAN3%%/Pod::Simple::Subclassing.3.gz
+%%MAN3%%/Pod::Simple::Text.3.gz
+%%MAN3%%/Pod::Simple::TextContent.3.gz
+%%MAN3%%/Pod::Simple::XHTML.3.gz
+%%MAN3%%/Pod::Simple::XMLOutStream.3.gz
+%%MAN3%%/Pod::Text.3.gz
+%%MAN3%%/Pod::Text::Color.3.gz
+%%MAN3%%/Pod::Text::Overstrike.3.gz
+%%MAN3%%/Pod::Text::Termcap.3.gz
+%%MAN3%%/Pod::Usage.3.gz
+%%MAN3%%/SDBM_File.3.gz
+%%MAN3%%/Safe.3.gz
+%%MAN3%%/Scalar::Util.3.gz
+%%MAN3%%/Search::Dict.3.gz
+%%MAN3%%/SelectSaver.3.gz
+%%MAN3%%/SelfLoader.3.gz
+%%MAN3%%/Socket.3.gz
+%%MAN3%%/Storable.3.gz
+%%MAN3%%/Sub::Util.3.gz
+%%MAN3%%/Symbol.3.gz
+%%MAN3%%/Sys::Hostname.3.gz
+%%MAN3%%/Sys::Syslog.3.gz
+%%MAN3%%/TAP::Base.3.gz
+%%MAN3%%/TAP::Formatter::Base.3.gz
+%%MAN3%%/TAP::Formatter::Color.3.gz
+%%MAN3%%/TAP::Formatter::Console.3.gz
+%%MAN3%%/TAP::Formatter::Console::ParallelSession.3.gz
+%%MAN3%%/TAP::Formatter::Console::Session.3.gz
+%%MAN3%%/TAP::Formatter::File.3.gz
+%%MAN3%%/TAP::Formatter::File::Session.3.gz
+%%MAN3%%/TAP::Formatter::Session.3.gz
+%%MAN3%%/TAP::Harness.3.gz
+%%MAN3%%/TAP::Harness::Beyond.3.gz
+%%MAN3%%/TAP::Harness::Env.3.gz
+%%MAN3%%/TAP::Object.3.gz
+%%MAN3%%/TAP::Parser.3.gz
+%%MAN3%%/TAP::Parser::Aggregator.3.gz
+%%MAN3%%/TAP::Parser::Grammar.3.gz
+%%MAN3%%/TAP::Parser::Iterator.3.gz
+%%MAN3%%/TAP::Parser::Iterator::Array.3.gz
+%%MAN3%%/TAP::Parser::Iterator::Process.3.gz
+%%MAN3%%/TAP::Parser::Iterator::Stream.3.gz
+%%MAN3%%/TAP::Parser::IteratorFactory.3.gz
+%%MAN3%%/TAP::Parser::Multiplexer.3.gz
+%%MAN3%%/TAP::Parser::Result.3.gz
+%%MAN3%%/TAP::Parser::Result::Bailout.3.gz
+%%MAN3%%/TAP::Parser::Result::Comment.3.gz
+%%MAN3%%/TAP::Parser::Result::Plan.3.gz
+%%MAN3%%/TAP::Parser::Result::Pragma.3.gz
+%%MAN3%%/TAP::Parser::Result::Test.3.gz
+%%MAN3%%/TAP::Parser::Result::Unknown.3.gz
+%%MAN3%%/TAP::Parser::Result::Version.3.gz
+%%MAN3%%/TAP::Parser::Result::YAML.3.gz
+%%MAN3%%/TAP::Parser::ResultFactory.3.gz
+%%MAN3%%/TAP::Parser::Scheduler.3.gz
+%%MAN3%%/TAP::Parser::Scheduler::Job.3.gz
+%%MAN3%%/TAP::Parser::Scheduler::Spinner.3.gz
+%%MAN3%%/TAP::Parser::Source.3.gz
+%%MAN3%%/TAP::Parser::SourceHandler.3.gz
+%%MAN3%%/TAP::Parser::SourceHandler::Executable.3.gz
+%%MAN3%%/TAP::Parser::SourceHandler::File.3.gz
+%%MAN3%%/TAP::Parser::SourceHandler::Handle.3.gz
+%%MAN3%%/TAP::Parser::SourceHandler::Perl.3.gz
+%%MAN3%%/TAP::Parser::SourceHandler::RawTAP.3.gz
+%%MAN3%%/TAP::Parser::YAMLish::Reader.3.gz
+%%MAN3%%/TAP::Parser::YAMLish::Writer.3.gz
+%%MAN3%%/Term::ANSIColor.3.gz
+%%MAN3%%/Term::Cap.3.gz
+%%MAN3%%/Term::Complete.3.gz
+%%MAN3%%/Term::ReadLine.3.gz
+%%MAN3%%/Test.3.gz
+%%MAN3%%/Test::Builder.3.gz
+%%MAN3%%/Test::Builder::IO::Scalar.3.gz
+%%MAN3%%/Test::Builder::Module.3.gz
+%%MAN3%%/Test::Builder::Tester.3.gz
+%%MAN3%%/Test::Builder::Tester::Color.3.gz
+%%MAN3%%/Test::Harness.3.gz
+%%MAN3%%/Test::More.3.gz
+%%MAN3%%/Test::Simple.3.gz
+%%MAN3%%/Test::Tester.3.gz
+%%MAN3%%/Test::Tester::Capture.3.gz
+%%MAN3%%/Test::Tester::CaptureRunner.3.gz
+%%MAN3%%/Test::Tutorial.3.gz
+%%MAN3%%/Test::use::ok.3.gz
+%%MAN3%%/Text::Abbrev.3.gz
+%%MAN3%%/Text::Balanced.3.gz
+%%MAN3%%/Text::ParseWords.3.gz
+%%MAN3%%/Text::Tabs.3.gz
+%%MAN3%%/Text::Wrap.3.gz
+%%MAN3%%/Thread.3.gz
+%%MAN3%%/Thread::Queue.3.gz
+%%MAN3%%/Thread::Semaphore.3.gz
+%%MAN3%%/Tie::Array.3.gz
+%%MAN3%%/Tie::File.3.gz
+%%MAN3%%/Tie::Handle.3.gz
+%%MAN3%%/Tie::Hash.3.gz
+%%MAN3%%/Tie::Hash::NamedCapture.3.gz
+%%MAN3%%/Tie::Memoize.3.gz
+%%MAN3%%/Tie::RefHash.3.gz
+%%MAN3%%/Tie::Scalar.3.gz
+%%MAN3%%/Tie::StdHandle.3.gz
+%%MAN3%%/Tie::SubstrHash.3.gz
+%%MAN3%%/Time::HiRes.3.gz
+%%MAN3%%/Time::Local.3.gz
+%%MAN3%%/Time::Piece.3.gz
+%%MAN3%%/Time::Seconds.3.gz
+%%MAN3%%/Time::gmtime.3.gz
+%%MAN3%%/Time::localtime.3.gz
+%%MAN3%%/Time::tm.3.gz
+%%MAN3%%/UNIVERSAL.3.gz
+%%MAN3%%/Unicode::Collate.3.gz
+%%MAN3%%/Unicode::Collate::CJK::Big5.3.gz
+%%MAN3%%/Unicode::Collate::CJK::GB2312.3.gz
+%%MAN3%%/Unicode::Collate::CJK::JISX0208.3.gz
+%%MAN3%%/Unicode::Collate::CJK::Korean.3.gz
+%%MAN3%%/Unicode::Collate::CJK::Pinyin.3.gz
+%%MAN3%%/Unicode::Collate::CJK::Stroke.3.gz
+%%MAN3%%/Unicode::Collate::CJK::Zhuyin.3.gz
+%%MAN3%%/Unicode::Collate::Locale.3.gz
+%%MAN3%%/Unicode::Normalize.3.gz
+%%MAN3%%/Unicode::UCD.3.gz
+%%MAN3%%/User::grent.3.gz
+%%MAN3%%/User::pwent.3.gz
+%%MAN3%%/XSLoader.3.gz
+%%MAN3%%/arybase.3.gz
+%%MAN3%%/attributes.3.gz
+%%MAN3%%/autodie.3.gz
+%%MAN3%%/autodie::Scope::Guard.3.gz
+%%MAN3%%/autodie::Scope::GuardStack.3.gz
+%%MAN3%%/autodie::Util.3.gz
+%%MAN3%%/autodie::exception.3.gz
+%%MAN3%%/autodie::exception::system.3.gz
+%%MAN3%%/autodie::hints.3.gz
+%%MAN3%%/autodie::skip.3.gz
+%%MAN3%%/autouse.3.gz
+%%MAN3%%/base.3.gz
+%%MAN3%%/bigint.3.gz
+%%MAN3%%/bignum.3.gz
+%%MAN3%%/bigrat.3.gz
+%%MAN3%%/blib.3.gz
+%%MAN3%%/bytes.3.gz
+%%MAN3%%/charnames.3.gz
+%%MAN3%%/constant.3.gz
+%%MAN3%%/deprecate.3.gz
+%%MAN3%%/diagnostics.3.gz
+%%MAN3%%/encoding.3.gz
+%%MAN3%%/encoding::warnings.3.gz
+%%MAN3%%/experimental.3.gz
+%%MAN3%%/feature.3.gz
+%%MAN3%%/fields.3.gz
+%%MAN3%%/filetest.3.gz
+%%MAN3%%/if.3.gz
+%%MAN3%%/integer.3.gz
+%%MAN3%%/less.3.gz
+%%MAN3%%/lib.3.gz
+%%MAN3%%/locale.3.gz
+%%MAN3%%/mro.3.gz
+%%MAN3%%/ok.3.gz
+%%MAN3%%/open.3.gz
+%%MAN3%%/ops.3.gz
+%%MAN3%%/overload.3.gz
+%%MAN3%%/overloading.3.gz
+%%MAN3%%/parent.3.gz
+%%MAN3%%/re.3.gz
+%%MAN3%%/sigtrap.3.gz
+%%MAN3%%/sort.3.gz
+%%MAN3%%/strict.3.gz
+%%MAN3%%/subs.3.gz
+%%MAN3%%/threads.3.gz
+%%MAN3%%/threads::shared.3.gz
+%%MAN3%%/utf8.3.gz
+%%MAN3%%/vars.3.gz
+%%MAN3%%/version.3.gz
+%%MAN3%%/version::Internals.3.gz
+%%MAN3%%/vmsish.3.gz
+%%MAN3%%/warnings.3.gz
+%%MAN3%%/warnings::register.3.gz
+%%PRIV_LIB%%/perl5db.pl
+%%PRIV_LIB%%/perlfaq.pm
+%%PRIV_LIB%%/pod/perl.pod
+%%PRIV_LIB%%/pod/perl5004delta.pod
+%%PRIV_LIB%%/pod/perl5005delta.pod
+%%PRIV_LIB%%/pod/perl5100delta.pod
+%%PRIV_LIB%%/pod/perl5101delta.pod
+%%PRIV_LIB%%/pod/perl5120delta.pod
+%%PRIV_LIB%%/pod/perl5121delta.pod
+%%PRIV_LIB%%/pod/perl5122delta.pod
+%%PRIV_LIB%%/pod/perl5123delta.pod
+%%PRIV_LIB%%/pod/perl5124delta.pod
+%%PRIV_LIB%%/pod/perl5125delta.pod
+%%PRIV_LIB%%/pod/perl5140delta.pod
+%%PRIV_LIB%%/pod/perl5141delta.pod
+%%PRIV_LIB%%/pod/perl5142delta.pod
+%%PRIV_LIB%%/pod/perl5143delta.pod
+%%PRIV_LIB%%/pod/perl5144delta.pod
+%%PRIV_LIB%%/pod/perl5160delta.pod
+%%PRIV_LIB%%/pod/perl5161delta.pod
+%%PRIV_LIB%%/pod/perl5162delta.pod
+%%PRIV_LIB%%/pod/perl5163delta.pod
+%%PRIV_LIB%%/pod/perl5180delta.pod
+%%PRIV_LIB%%/pod/perl5181delta.pod
+%%PRIV_LIB%%/pod/perl5182delta.pod
+%%PRIV_LIB%%/pod/perl5184delta.pod
+%%PRIV_LIB%%/pod/perl5200delta.pod
+%%PRIV_LIB%%/pod/perl5201delta.pod
+%%PRIV_LIB%%/pod/perl5202delta.pod
+%%PRIV_LIB%%/pod/perl5203delta.pod
+%%PRIV_LIB%%/pod/perl5220delta.pod
+%%PRIV_LIB%%/pod/perl5221delta.pod
+%%PRIV_LIB%%/pod/perl5222delta.pod
+%%PRIV_LIB%%/pod/perl5223delta.pod
+%%PRIV_LIB%%/pod/perl5224delta.pod
+%%PRIV_LIB%%/pod/perl5240delta.pod
+%%PRIV_LIB%%/pod/perl5241delta.pod
+%%PRIV_LIB%%/pod/perl5242delta.pod
+%%PRIV_LIB%%/pod/perl5243delta.pod
+%%PRIV_LIB%%/pod/perl5244delta.pod
+%%PRIV_LIB%%/pod/perl561delta.pod
+%%PRIV_LIB%%/pod/perl56delta.pod
+%%PRIV_LIB%%/pod/perl581delta.pod
+%%PRIV_LIB%%/pod/perl582delta.pod
+%%PRIV_LIB%%/pod/perl583delta.pod
+%%PRIV_LIB%%/pod/perl584delta.pod
+%%PRIV_LIB%%/pod/perl585delta.pod
+%%PRIV_LIB%%/pod/perl586delta.pod
+%%PRIV_LIB%%/pod/perl587delta.pod
+%%PRIV_LIB%%/pod/perl588delta.pod
+%%PRIV_LIB%%/pod/perl589delta.pod
+%%PRIV_LIB%%/pod/perl58delta.pod
+%%PRIV_LIB%%/pod/perlaix.pod
+%%PRIV_LIB%%/pod/perlamiga.pod
+%%PRIV_LIB%%/pod/perlandroid.pod
+%%PRIV_LIB%%/pod/perlapi.pod
+%%PRIV_LIB%%/pod/perlapio.pod
+%%PRIV_LIB%%/pod/perlartistic.pod
+%%PRIV_LIB%%/pod/perlbook.pod
+%%PRIV_LIB%%/pod/perlboot.pod
+%%PRIV_LIB%%/pod/perlbot.pod
+%%PRIV_LIB%%/pod/perlbs2000.pod
+%%PRIV_LIB%%/pod/perlcall.pod
+%%PRIV_LIB%%/pod/perlce.pod
+%%PRIV_LIB%%/pod/perlcheat.pod
+%%PRIV_LIB%%/pod/perlclib.pod
+%%PRIV_LIB%%/pod/perlcn.pod
+%%PRIV_LIB%%/pod/perlcommunity.pod
+%%PRIV_LIB%%/pod/perlcygwin.pod
+%%PRIV_LIB%%/pod/perldata.pod
+%%PRIV_LIB%%/pod/perldbmfilter.pod
+%%PRIV_LIB%%/pod/perldebguts.pod
+%%PRIV_LIB%%/pod/perldebtut.pod
+%%PRIV_LIB%%/pod/perldebug.pod
+%%PRIV_LIB%%/pod/perldelta.pod
+%%PRIV_LIB%%/pod/perldiag.pod
+%%PRIV_LIB%%/pod/perldoc.pod
+%%PRIV_LIB%%/pod/perldos.pod
+%%PRIV_LIB%%/pod/perldsc.pod
+%%PRIV_LIB%%/pod/perldtrace.pod
+%%PRIV_LIB%%/pod/perlebcdic.pod
+%%PRIV_LIB%%/pod/perlembed.pod
+%%PRIV_LIB%%/pod/perlexperiment.pod
+%%PRIV_LIB%%/pod/perlfaq.pod
+%%PRIV_LIB%%/pod/perlfaq1.pod
+%%PRIV_LIB%%/pod/perlfaq2.pod
+%%PRIV_LIB%%/pod/perlfaq3.pod
+%%PRIV_LIB%%/pod/perlfaq4.pod
+%%PRIV_LIB%%/pod/perlfaq5.pod
+%%PRIV_LIB%%/pod/perlfaq6.pod
+%%PRIV_LIB%%/pod/perlfaq7.pod
+%%PRIV_LIB%%/pod/perlfaq8.pod
+%%PRIV_LIB%%/pod/perlfaq9.pod
+%%PRIV_LIB%%/pod/perlfilter.pod
+%%PRIV_LIB%%/pod/perlfork.pod
+%%PRIV_LIB%%/pod/perlform.pod
+%%PRIV_LIB%%/pod/perlfreebsd.pod
+%%PRIV_LIB%%/pod/perlfunc.pod
+%%PRIV_LIB%%/pod/perlgit.pod
+%%PRIV_LIB%%/pod/perlglossary.pod
+%%PRIV_LIB%%/pod/perlgpl.pod
+%%PRIV_LIB%%/pod/perlguts.pod
+%%PRIV_LIB%%/pod/perlhack.pod
+%%PRIV_LIB%%/pod/perlhacktips.pod
+%%PRIV_LIB%%/pod/perlhacktut.pod
+%%PRIV_LIB%%/pod/perlhaiku.pod
+%%PRIV_LIB%%/pod/perlhist.pod
+%%PRIV_LIB%%/pod/perlhpux.pod
+%%PRIV_LIB%%/pod/perlhurd.pod
+%%PRIV_LIB%%/pod/perlintern.pod
+%%PRIV_LIB%%/pod/perlinterp.pod
+%%PRIV_LIB%%/pod/perlintro.pod
+%%PRIV_LIB%%/pod/perliol.pod
+%%PRIV_LIB%%/pod/perlipc.pod
+%%PRIV_LIB%%/pod/perlirix.pod
+%%PRIV_LIB%%/pod/perljp.pod
+%%PRIV_LIB%%/pod/perlko.pod
+%%PRIV_LIB%%/pod/perllexwarn.pod
+%%PRIV_LIB%%/pod/perllinux.pod
+%%PRIV_LIB%%/pod/perllocale.pod
+%%PRIV_LIB%%/pod/perllol.pod
+%%PRIV_LIB%%/pod/perlmacos.pod
+%%PRIV_LIB%%/pod/perlmacosx.pod
+%%PRIV_LIB%%/pod/perlmod.pod
+%%PRIV_LIB%%/pod/perlmodinstall.pod
+%%PRIV_LIB%%/pod/perlmodlib.pod
+%%PRIV_LIB%%/pod/perlmodstyle.pod
+%%PRIV_LIB%%/pod/perlmroapi.pod
+%%PRIV_LIB%%/pod/perlnetware.pod
+%%PRIV_LIB%%/pod/perlnewmod.pod
+%%PRIV_LIB%%/pod/perlnumber.pod
+%%PRIV_LIB%%/pod/perlobj.pod
+%%PRIV_LIB%%/pod/perlootut.pod
+%%PRIV_LIB%%/pod/perlop.pod
+%%PRIV_LIB%%/pod/perlopenbsd.pod
+%%PRIV_LIB%%/pod/perlopentut.pod
+%%PRIV_LIB%%/pod/perlos2.pod
+%%PRIV_LIB%%/pod/perlos390.pod
+%%PRIV_LIB%%/pod/perlos400.pod
+%%PRIV_LIB%%/pod/perlpacktut.pod
+%%PRIV_LIB%%/pod/perlperf.pod
+%%PRIV_LIB%%/pod/perlplan9.pod
+%%PRIV_LIB%%/pod/perlpod.pod
+%%PRIV_LIB%%/pod/perlpodspec.pod
+%%PRIV_LIB%%/pod/perlpodstyle.pod
+%%PRIV_LIB%%/pod/perlpolicy.pod
+%%PRIV_LIB%%/pod/perlport.pod
+%%PRIV_LIB%%/pod/perlpragma.pod
+%%PRIV_LIB%%/pod/perlqnx.pod
+%%PRIV_LIB%%/pod/perlre.pod
+%%PRIV_LIB%%/pod/perlreapi.pod
+%%PRIV_LIB%%/pod/perlrebackslash.pod
+%%PRIV_LIB%%/pod/perlrecharclass.pod
+%%PRIV_LIB%%/pod/perlref.pod
+%%PRIV_LIB%%/pod/perlreftut.pod
+%%PRIV_LIB%%/pod/perlreguts.pod
+%%PRIV_LIB%%/pod/perlrepository.pod
+%%PRIV_LIB%%/pod/perlrequick.pod
+%%PRIV_LIB%%/pod/perlreref.pod
+%%PRIV_LIB%%/pod/perlretut.pod
+%%PRIV_LIB%%/pod/perlriscos.pod
+%%PRIV_LIB%%/pod/perlrun.pod
+%%PRIV_LIB%%/pod/perlsec.pod
+%%PRIV_LIB%%/pod/perlsolaris.pod
+%%PRIV_LIB%%/pod/perlsource.pod
+%%PRIV_LIB%%/pod/perlstyle.pod
+%%PRIV_LIB%%/pod/perlsub.pod
+%%PRIV_LIB%%/pod/perlsymbian.pod
+%%PRIV_LIB%%/pod/perlsyn.pod
+%%PRIV_LIB%%/pod/perlsynology.pod
+%%PRIV_LIB%%/pod/perlthrtut.pod
+%%PRIV_LIB%%/pod/perltie.pod
+%%PRIV_LIB%%/pod/perltoc.pod
+%%PRIV_LIB%%/pod/perltodo.pod
+%%PRIV_LIB%%/pod/perltooc.pod
+%%PRIV_LIB%%/pod/perltoot.pod
+%%PRIV_LIB%%/pod/perltrap.pod
+%%PRIV_LIB%%/pod/perltru64.pod
+%%PRIV_LIB%%/pod/perltw.pod
+%%PRIV_LIB%%/pod/perlunicode.pod
+%%PRIV_LIB%%/pod/perlunicook.pod
+%%PRIV_LIB%%/pod/perlunifaq.pod
+%%PRIV_LIB%%/pod/perluniintro.pod
+%%PRIV_LIB%%/pod/perluniprops.pod
+%%PRIV_LIB%%/pod/perlunitut.pod
+%%PRIV_LIB%%/pod/perlutil.pod
+%%PRIV_LIB%%/pod/perlvar.pod
+%%PRIV_LIB%%/pod/perlvms.pod
+%%PRIV_LIB%%/pod/perlvos.pod
+%%PRIV_LIB%%/pod/perlwin32.pod
+%%PRIV_LIB%%/pod/perlxs.pod
+%%PRIV_LIB%%/pod/perlxstut.pod
+%%PRIV_LIB%%/pod/perlxstypemap.pod
+%%PRIV_LIB%%/sigtrap.pm
+%%PRIV_LIB%%/sort.pm
+%%PRIV_LIB%%/strict.pm
+%%PRIV_LIB%%/subs.pm
+%%PRIV_LIB%%/unicore/Blocks.txt
+%%PRIV_LIB%%/unicore/CombiningClass.pl
+%%PRIV_LIB%%/unicore/Decomposition.pl
+%%PRIV_LIB%%/unicore/Heavy.pl
+%%PRIV_LIB%%/unicore/Name.pl
+%%PRIV_LIB%%/unicore/Name.pm
+%%PRIV_LIB%%/unicore/NamedSequences.txt
+%%PRIV_LIB%%/unicore/SpecialCasing.txt
+%%PRIV_LIB%%/unicore/To/Age.pl
+%%PRIV_LIB%%/unicore/To/Bc.pl
+%%PRIV_LIB%%/unicore/To/Bmg.pl
+%%PRIV_LIB%%/unicore/To/Bpb.pl
+%%PRIV_LIB%%/unicore/To/Bpt.pl
+%%PRIV_LIB%%/unicore/To/Cf.pl
+%%PRIV_LIB%%/unicore/To/Digit.pl
+%%PRIV_LIB%%/unicore/To/Ea.pl
+%%PRIV_LIB%%/unicore/To/Fold.pl
+%%PRIV_LIB%%/unicore/To/GCB.pl
+%%PRIV_LIB%%/unicore/To/Gc.pl
+%%PRIV_LIB%%/unicore/To/Hst.pl
+%%PRIV_LIB%%/unicore/To/InPC.pl
+%%PRIV_LIB%%/unicore/To/InSC.pl
+%%PRIV_LIB%%/unicore/To/Isc.pl
+%%PRIV_LIB%%/unicore/To/Jg.pl
+%%PRIV_LIB%%/unicore/To/Jt.pl
+%%PRIV_LIB%%/unicore/To/Lb.pl
+%%PRIV_LIB%%/unicore/To/Lc.pl
+%%PRIV_LIB%%/unicore/To/Lower.pl
+%%PRIV_LIB%%/unicore/To/NFCQC.pl
+%%PRIV_LIB%%/unicore/To/NFDQC.pl
+%%PRIV_LIB%%/unicore/To/NFKCCF.pl
+%%PRIV_LIB%%/unicore/To/NFKCQC.pl
+%%PRIV_LIB%%/unicore/To/NFKDQC.pl
+%%PRIV_LIB%%/unicore/To/Na1.pl
+%%PRIV_LIB%%/unicore/To/NameAlia.pl
+%%PRIV_LIB%%/unicore/To/Nt.pl
+%%PRIV_LIB%%/unicore/To/Nv.pl
+%%PRIV_LIB%%/unicore/To/PerlDeci.pl
+%%PRIV_LIB%%/unicore/To/SB.pl
+%%PRIV_LIB%%/unicore/To/Sc.pl
+%%PRIV_LIB%%/unicore/To/Scx.pl
+%%PRIV_LIB%%/unicore/To/Tc.pl
+%%PRIV_LIB%%/unicore/To/Title.pl
+%%PRIV_LIB%%/unicore/To/Uc.pl
+%%PRIV_LIB%%/unicore/To/Upper.pl
+%%PRIV_LIB%%/unicore/To/WB.pl
+%%PRIV_LIB%%/unicore/To/_PerlLB.pl
+%%PRIV_LIB%%/unicore/To/_PerlWB.pl
+%%PRIV_LIB%%/unicore/UCD.pl
+%%PRIV_LIB%%/unicore/lib/Age/NA.pl
+%%PRIV_LIB%%/unicore/lib/Age/V11.pl
+%%PRIV_LIB%%/unicore/lib/Age/V20.pl
+%%PRIV_LIB%%/unicore/lib/Age/V30.pl
+%%PRIV_LIB%%/unicore/lib/Age/V31.pl
+%%PRIV_LIB%%/unicore/lib/Age/V32.pl
+%%PRIV_LIB%%/unicore/lib/Age/V40.pl
+%%PRIV_LIB%%/unicore/lib/Age/V41.pl
+%%PRIV_LIB%%/unicore/lib/Age/V50.pl
+%%PRIV_LIB%%/unicore/lib/Age/V51.pl
+%%PRIV_LIB%%/unicore/lib/Age/V52.pl
+%%PRIV_LIB%%/unicore/lib/Age/V60.pl
+%%PRIV_LIB%%/unicore/lib/Age/V61.pl
+%%PRIV_LIB%%/unicore/lib/Age/V70.pl
+%%PRIV_LIB%%/unicore/lib/Age/V80.pl
+%%PRIV_LIB%%/unicore/lib/Alpha/Y.pl
+%%PRIV_LIB%%/unicore/lib/Bc/AL.pl
+%%PRIV_LIB%%/unicore/lib/Bc/AN.pl
+%%PRIV_LIB%%/unicore/lib/Bc/B.pl
+%%PRIV_LIB%%/unicore/lib/Bc/BN.pl
+%%PRIV_LIB%%/unicore/lib/Bc/CS.pl
+%%PRIV_LIB%%/unicore/lib/Bc/EN.pl
+%%PRIV_LIB%%/unicore/lib/Bc/ES.pl
+%%PRIV_LIB%%/unicore/lib/Bc/ET.pl
+%%PRIV_LIB%%/unicore/lib/Bc/L.pl
+%%PRIV_LIB%%/unicore/lib/Bc/NSM.pl
+%%PRIV_LIB%%/unicore/lib/Bc/ON.pl
+%%PRIV_LIB%%/unicore/lib/Bc/R.pl
+%%PRIV_LIB%%/unicore/lib/Bc/WS.pl
+%%PRIV_LIB%%/unicore/lib/BidiC/Y.pl
+%%PRIV_LIB%%/unicore/lib/BidiM/Y.pl
+%%PRIV_LIB%%/unicore/lib/Blk/NB.pl
+%%PRIV_LIB%%/unicore/lib/Bpt/C.pl
+%%PRIV_LIB%%/unicore/lib/Bpt/N.pl
+%%PRIV_LIB%%/unicore/lib/Bpt/O.pl
+%%PRIV_LIB%%/unicore/lib/CE/Y.pl
+%%PRIV_LIB%%/unicore/lib/CI/Y.pl
+%%PRIV_LIB%%/unicore/lib/CWCF/Y.pl
+%%PRIV_LIB%%/unicore/lib/CWCM/Y.pl
+%%PRIV_LIB%%/unicore/lib/CWKCF/Y.pl
+%%PRIV_LIB%%/unicore/lib/CWL/Y.pl
+%%PRIV_LIB%%/unicore/lib/CWT/Y.pl
+%%PRIV_LIB%%/unicore/lib/CWU/Y.pl
+%%PRIV_LIB%%/unicore/lib/Cased/Y.pl
+%%PRIV_LIB%%/unicore/lib/Ccc/A.pl
+%%PRIV_LIB%%/unicore/lib/Ccc/AR.pl
+%%PRIV_LIB%%/unicore/lib/Ccc/ATAR.pl
+%%PRIV_LIB%%/unicore/lib/Ccc/B.pl
+%%PRIV_LIB%%/unicore/lib/Ccc/BR.pl
+%%PRIV_LIB%%/unicore/lib/Ccc/DB.pl
+%%PRIV_LIB%%/unicore/lib/Ccc/NK.pl
+%%PRIV_LIB%%/unicore/lib/Ccc/NR.pl
+%%PRIV_LIB%%/unicore/lib/Ccc/OV.pl
+%%PRIV_LIB%%/unicore/lib/Ccc/VR.pl
+%%PRIV_LIB%%/unicore/lib/CompEx/Y.pl
+%%PRIV_LIB%%/unicore/lib/DI/Y.pl
+%%PRIV_LIB%%/unicore/lib/Dash/Y.pl
+%%PRIV_LIB%%/unicore/lib/Dep/Y.pl
+%%PRIV_LIB%%/unicore/lib/Dia/Y.pl
+%%PRIV_LIB%%/unicore/lib/Dt/Com.pl
+%%PRIV_LIB%%/unicore/lib/Dt/Enc.pl
+%%PRIV_LIB%%/unicore/lib/Dt/Fin.pl
+%%PRIV_LIB%%/unicore/lib/Dt/Font.pl
+%%PRIV_LIB%%/unicore/lib/Dt/Init.pl
+%%PRIV_LIB%%/unicore/lib/Dt/Iso.pl
+%%PRIV_LIB%%/unicore/lib/Dt/Med.pl
+%%PRIV_LIB%%/unicore/lib/Dt/Nar.pl
+%%PRIV_LIB%%/unicore/lib/Dt/Nb.pl
+%%PRIV_LIB%%/unicore/lib/Dt/NonCanon.pl
+%%PRIV_LIB%%/unicore/lib/Dt/Sqr.pl
+%%PRIV_LIB%%/unicore/lib/Dt/Sub.pl
+%%PRIV_LIB%%/unicore/lib/Dt/Sup.pl
+%%PRIV_LIB%%/unicore/lib/Dt/Vert.pl
+%%PRIV_LIB%%/unicore/lib/Ea/A.pl
+%%PRIV_LIB%%/unicore/lib/Ea/H.pl
+%%PRIV_LIB%%/unicore/lib/Ea/N.pl
+%%PRIV_LIB%%/unicore/lib/Ea/Na.pl
+%%PRIV_LIB%%/unicore/lib/Ea/W.pl
+%%PRIV_LIB%%/unicore/lib/Ext/Y.pl
+%%PRIV_LIB%%/unicore/lib/GCB/CN.pl
+%%PRIV_LIB%%/unicore/lib/GCB/EX.pl
+%%PRIV_LIB%%/unicore/lib/GCB/LV.pl
+%%PRIV_LIB%%/unicore/lib/GCB/LVT.pl
+%%PRIV_LIB%%/unicore/lib/GCB/SM.pl
+%%PRIV_LIB%%/unicore/lib/GCB/XX.pl
+%%PRIV_LIB%%/unicore/lib/Gc/C.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Cf.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Cn.pl
+%%PRIV_LIB%%/unicore/lib/Gc/L.pl
+%%PRIV_LIB%%/unicore/lib/Gc/LC.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Ll.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Lm.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Lo.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Lu.pl
+%%PRIV_LIB%%/unicore/lib/Gc/M.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Mc.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Me.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Mn.pl
+%%PRIV_LIB%%/unicore/lib/Gc/N.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Nd.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Nl.pl
+%%PRIV_LIB%%/unicore/lib/Gc/No.pl
+%%PRIV_LIB%%/unicore/lib/Gc/P.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Pd.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Pe.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Pf.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Pi.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Po.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Ps.pl
+%%PRIV_LIB%%/unicore/lib/Gc/S.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Sc.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Sk.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Sm.pl
+%%PRIV_LIB%%/unicore/lib/Gc/So.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Z.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Zs.pl
+%%PRIV_LIB%%/unicore/lib/GrBase/Y.pl
+%%PRIV_LIB%%/unicore/lib/Hex/Y.pl
+%%PRIV_LIB%%/unicore/lib/Hst/NA.pl
+%%PRIV_LIB%%/unicore/lib/Hyphen/T.pl
+%%PRIV_LIB%%/unicore/lib/IDC/Y.pl
+%%PRIV_LIB%%/unicore/lib/IDS/Y.pl
+%%PRIV_LIB%%/unicore/lib/Ideo/Y.pl
+%%PRIV_LIB%%/unicore/lib/In/2_0.pl
+%%PRIV_LIB%%/unicore/lib/In/2_1.pl
+%%PRIV_LIB%%/unicore/lib/In/3_0.pl
+%%PRIV_LIB%%/unicore/lib/In/3_1.pl
+%%PRIV_LIB%%/unicore/lib/In/3_2.pl
+%%PRIV_LIB%%/unicore/lib/In/4_0.pl
+%%PRIV_LIB%%/unicore/lib/In/4_1.pl
+%%PRIV_LIB%%/unicore/lib/In/5_0.pl
+%%PRIV_LIB%%/unicore/lib/In/5_1.pl
+%%PRIV_LIB%%/unicore/lib/In/5_2.pl
+%%PRIV_LIB%%/unicore/lib/In/6_0.pl
+%%PRIV_LIB%%/unicore/lib/In/6_1.pl
+%%PRIV_LIB%%/unicore/lib/In/6_2.pl
+%%PRIV_LIB%%/unicore/lib/In/6_3.pl
+%%PRIV_LIB%%/unicore/lib/In/7_0.pl
+%%PRIV_LIB%%/unicore/lib/In/8_0.pl
+%%PRIV_LIB%%/unicore/lib/InPC/Bottom.pl
+%%PRIV_LIB%%/unicore/lib/InPC/Left.pl
+%%PRIV_LIB%%/unicore/lib/InPC/LeftAndR.pl
+%%PRIV_LIB%%/unicore/lib/InPC/NA.pl
+%%PRIV_LIB%%/unicore/lib/InPC/Overstru.pl
+%%PRIV_LIB%%/unicore/lib/InPC/Right.pl
+%%PRIV_LIB%%/unicore/lib/InPC/Top.pl
+%%PRIV_LIB%%/unicore/lib/InPC/TopAndBo.pl
+%%PRIV_LIB%%/unicore/lib/InPC/TopAndL2.pl
+%%PRIV_LIB%%/unicore/lib/InPC/TopAndLe.pl
+%%PRIV_LIB%%/unicore/lib/InPC/TopAndRi.pl
+%%PRIV_LIB%%/unicore/lib/InPC/VisualOr.pl
+%%PRIV_LIB%%/unicore/lib/InSC/Avagraha.pl
+%%PRIV_LIB%%/unicore/lib/InSC/Bindu.pl
+%%PRIV_LIB%%/unicore/lib/InSC/Cantilla.pl
+%%PRIV_LIB%%/unicore/lib/InSC/Consona2.pl
+%%PRIV_LIB%%/unicore/lib/InSC/Consona3.pl
+%%PRIV_LIB%%/unicore/lib/InSC/Consona4.pl
+%%PRIV_LIB%%/unicore/lib/InSC/Consona5.pl
+%%PRIV_LIB%%/unicore/lib/InSC/Consona6.pl
+%%PRIV_LIB%%/unicore/lib/InSC/Consonan.pl
+%%PRIV_LIB%%/unicore/lib/InSC/Invisibl.pl
+%%PRIV_LIB%%/unicore/lib/InSC/Nukta.pl
+%%PRIV_LIB%%/unicore/lib/InSC/Number.pl
+%%PRIV_LIB%%/unicore/lib/InSC/Other.pl
+%%PRIV_LIB%%/unicore/lib/InSC/PureKill.pl
+%%PRIV_LIB%%/unicore/lib/InSC/Syllable.pl
+%%PRIV_LIB%%/unicore/lib/InSC/ToneMark.pl
+%%PRIV_LIB%%/unicore/lib/InSC/Virama.pl
+%%PRIV_LIB%%/unicore/lib/InSC/Visarga.pl
+%%PRIV_LIB%%/unicore/lib/InSC/Vowel.pl
+%%PRIV_LIB%%/unicore/lib/InSC/VowelDep.pl
+%%PRIV_LIB%%/unicore/lib/InSC/VowelInd.pl
+%%PRIV_LIB%%/unicore/lib/Jg/Ain.pl
+%%PRIV_LIB%%/unicore/lib/Jg/Alef.pl
+%%PRIV_LIB%%/unicore/lib/Jg/Beh.pl
+%%PRIV_LIB%%/unicore/lib/Jg/Dal.pl
+%%PRIV_LIB%%/unicore/lib/Jg/FarsiYeh.pl
+%%PRIV_LIB%%/unicore/lib/Jg/Feh.pl
+%%PRIV_LIB%%/unicore/lib/Jg/Gaf.pl
+%%PRIV_LIB%%/unicore/lib/Jg/Hah.pl
+%%PRIV_LIB%%/unicore/lib/Jg/Kaf.pl
+%%PRIV_LIB%%/unicore/lib/Jg/Lam.pl
+%%PRIV_LIB%%/unicore/lib/Jg/NoJoinin.pl
+%%PRIV_LIB%%/unicore/lib/Jg/Qaf.pl
+%%PRIV_LIB%%/unicore/lib/Jg/Reh.pl
+%%PRIV_LIB%%/unicore/lib/Jg/Sad.pl
+%%PRIV_LIB%%/unicore/lib/Jg/Seen.pl
+%%PRIV_LIB%%/unicore/lib/Jg/Waw.pl
+%%PRIV_LIB%%/unicore/lib/Jg/Yeh.pl
+%%PRIV_LIB%%/unicore/lib/Jt/C.pl
+%%PRIV_LIB%%/unicore/lib/Jt/D.pl
+%%PRIV_LIB%%/unicore/lib/Jt/R.pl
+%%PRIV_LIB%%/unicore/lib/Jt/T.pl
+%%PRIV_LIB%%/unicore/lib/Jt/U.pl
+%%PRIV_LIB%%/unicore/lib/Lb/AI.pl
+%%PRIV_LIB%%/unicore/lib/Lb/AL.pl
+%%PRIV_LIB%%/unicore/lib/Lb/BA.pl
+%%PRIV_LIB%%/unicore/lib/Lb/BB.pl
+%%PRIV_LIB%%/unicore/lib/Lb/CJ.pl
+%%PRIV_LIB%%/unicore/lib/Lb/CL.pl
+%%PRIV_LIB%%/unicore/lib/Lb/CM.pl
+%%PRIV_LIB%%/unicore/lib/Lb/EX.pl
+%%PRIV_LIB%%/unicore/lib/Lb/GL.pl
+%%PRIV_LIB%%/unicore/lib/Lb/ID.pl
+%%PRIV_LIB%%/unicore/lib/Lb/IN.pl
+%%PRIV_LIB%%/unicore/lib/Lb/IS.pl
+%%PRIV_LIB%%/unicore/lib/Lb/NS.pl
+%%PRIV_LIB%%/unicore/lib/Lb/OP.pl
+%%PRIV_LIB%%/unicore/lib/Lb/PO.pl
+%%PRIV_LIB%%/unicore/lib/Lb/PR.pl
+%%PRIV_LIB%%/unicore/lib/Lb/QU.pl
+%%PRIV_LIB%%/unicore/lib/Lb/SA.pl
+%%PRIV_LIB%%/unicore/lib/Lb/XX.pl
+%%PRIV_LIB%%/unicore/lib/Lower/Y.pl
+%%PRIV_LIB%%/unicore/lib/Math/Y.pl
+%%PRIV_LIB%%/unicore/lib/NFCQC/M.pl
+%%PRIV_LIB%%/unicore/lib/NFCQC/Y.pl
+%%PRIV_LIB%%/unicore/lib/NFDQC/N.pl
+%%PRIV_LIB%%/unicore/lib/NFDQC/Y.pl
+%%PRIV_LIB%%/unicore/lib/NFKCQC/N.pl
+%%PRIV_LIB%%/unicore/lib/NFKCQC/Y.pl
+%%PRIV_LIB%%/unicore/lib/NFKDQC/N.pl
+%%PRIV_LIB%%/unicore/lib/NFKDQC/Y.pl
+%%PRIV_LIB%%/unicore/lib/Nt/Di.pl
+%%PRIV_LIB%%/unicore/lib/Nt/None.pl
+%%PRIV_LIB%%/unicore/lib/Nt/Nu.pl
+%%PRIV_LIB%%/unicore/lib/Nv/0.pl
+%%PRIV_LIB%%/unicore/lib/Nv/1.pl
+%%PRIV_LIB%%/unicore/lib/Nv/10.pl
+%%PRIV_LIB%%/unicore/lib/Nv/100.pl
+%%PRIV_LIB%%/unicore/lib/Nv/1000.pl
+%%PRIV_LIB%%/unicore/lib/Nv/10000.pl
+%%PRIV_LIB%%/unicore/lib/Nv/11.pl
+%%PRIV_LIB%%/unicore/lib/Nv/12.pl
+%%PRIV_LIB%%/unicore/lib/Nv/13.pl
+%%PRIV_LIB%%/unicore/lib/Nv/14.pl
+%%PRIV_LIB%%/unicore/lib/Nv/15.pl
+%%PRIV_LIB%%/unicore/lib/Nv/16.pl
+%%PRIV_LIB%%/unicore/lib/Nv/17.pl
+%%PRIV_LIB%%/unicore/lib/Nv/18.pl
+%%PRIV_LIB%%/unicore/lib/Nv/19.pl
+%%PRIV_LIB%%/unicore/lib/Nv/1_2.pl
+%%PRIV_LIB%%/unicore/lib/Nv/1_3.pl
+%%PRIV_LIB%%/unicore/lib/Nv/1_4.pl
+%%PRIV_LIB%%/unicore/lib/Nv/1_8.pl
+%%PRIV_LIB%%/unicore/lib/Nv/2.pl
+%%PRIV_LIB%%/unicore/lib/Nv/20.pl
+%%PRIV_LIB%%/unicore/lib/Nv/200.pl
+%%PRIV_LIB%%/unicore/lib/Nv/2_3.pl
+%%PRIV_LIB%%/unicore/lib/Nv/3.pl
+%%PRIV_LIB%%/unicore/lib/Nv/30.pl
+%%PRIV_LIB%%/unicore/lib/Nv/300.pl
+%%PRIV_LIB%%/unicore/lib/Nv/3_4.pl
+%%PRIV_LIB%%/unicore/lib/Nv/4.pl
+%%PRIV_LIB%%/unicore/lib/Nv/40.pl
+%%PRIV_LIB%%/unicore/lib/Nv/400.pl
+%%PRIV_LIB%%/unicore/lib/Nv/5.pl
+%%PRIV_LIB%%/unicore/lib/Nv/50.pl
+%%PRIV_LIB%%/unicore/lib/Nv/500.pl
+%%PRIV_LIB%%/unicore/lib/Nv/5000.pl
+%%PRIV_LIB%%/unicore/lib/Nv/50000.pl
+%%PRIV_LIB%%/unicore/lib/Nv/6.pl
+%%PRIV_LIB%%/unicore/lib/Nv/60.pl
+%%PRIV_LIB%%/unicore/lib/Nv/600.pl
+%%PRIV_LIB%%/unicore/lib/Nv/7.pl
+%%PRIV_LIB%%/unicore/lib/Nv/70.pl
+%%PRIV_LIB%%/unicore/lib/Nv/700.pl
+%%PRIV_LIB%%/unicore/lib/Nv/8.pl
+%%PRIV_LIB%%/unicore/lib/Nv/80.pl
+%%PRIV_LIB%%/unicore/lib/Nv/800.pl
+%%PRIV_LIB%%/unicore/lib/Nv/9.pl
+%%PRIV_LIB%%/unicore/lib/Nv/90.pl
+%%PRIV_LIB%%/unicore/lib/Nv/900.pl
+%%PRIV_LIB%%/unicore/lib/PatSyn/Y.pl
+%%PRIV_LIB%%/unicore/lib/Perl/Alnum.pl
+%%PRIV_LIB%%/unicore/lib/Perl/Assigned.pl
+%%PRIV_LIB%%/unicore/lib/Perl/Blank.pl
+%%PRIV_LIB%%/unicore/lib/Perl/Graph.pl
+%%PRIV_LIB%%/unicore/lib/Perl/PerlWord.pl
+%%PRIV_LIB%%/unicore/lib/Perl/PosixPun.pl
+%%PRIV_LIB%%/unicore/lib/Perl/Print.pl
+%%PRIV_LIB%%/unicore/lib/Perl/SpacePer.pl
+%%PRIV_LIB%%/unicore/lib/Perl/Title.pl
+%%PRIV_LIB%%/unicore/lib/Perl/Word.pl
+%%PRIV_LIB%%/unicore/lib/Perl/XPosixPu.pl
+%%PRIV_LIB%%/unicore/lib/Perl/_PerlAny.pl
+%%PRIV_LIB%%/unicore/lib/Perl/_PerlCh2.pl
+%%PRIV_LIB%%/unicore/lib/Perl/_PerlCha.pl
+%%PRIV_LIB%%/unicore/lib/Perl/_PerlFol.pl
+%%PRIV_LIB%%/unicore/lib/Perl/_PerlIDC.pl
+%%PRIV_LIB%%/unicore/lib/Perl/_PerlIDS.pl
+%%PRIV_LIB%%/unicore/lib/Perl/_PerlNch.pl
+%%PRIV_LIB%%/unicore/lib/Perl/_PerlPat.pl
+%%PRIV_LIB%%/unicore/lib/Perl/_PerlPr2.pl
+%%PRIV_LIB%%/unicore/lib/Perl/_PerlPro.pl
+%%PRIV_LIB%%/unicore/lib/Perl/_PerlQuo.pl
+%%PRIV_LIB%%/unicore/lib/QMark/Y.pl
+%%PRIV_LIB%%/unicore/lib/SB/AT.pl
+%%PRIV_LIB%%/unicore/lib/SB/CL.pl
+%%PRIV_LIB%%/unicore/lib/SB/EX.pl
+%%PRIV_LIB%%/unicore/lib/SB/FO.pl
+%%PRIV_LIB%%/unicore/lib/SB/LE.pl
+%%PRIV_LIB%%/unicore/lib/SB/LO.pl
+%%PRIV_LIB%%/unicore/lib/SB/NU.pl
+%%PRIV_LIB%%/unicore/lib/SB/SC.pl
+%%PRIV_LIB%%/unicore/lib/SB/ST.pl
+%%PRIV_LIB%%/unicore/lib/SB/Sp.pl
+%%PRIV_LIB%%/unicore/lib/SB/UP.pl
+%%PRIV_LIB%%/unicore/lib/SB/XX.pl
+%%PRIV_LIB%%/unicore/lib/SD/Y.pl
+%%PRIV_LIB%%/unicore/lib/STerm/Y.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Arab.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Armn.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Beng.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Cham.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Cprt.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Cyrl.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Deva.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Dupl.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Ethi.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Geor.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Gran.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Grek.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Gujr.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Guru.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Han.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Hang.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Hebr.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Hira.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Hmng.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Kana.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Khar.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Khmr.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Knda.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Lana.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Lao.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Latn.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Limb.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Linb.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Mlym.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Mong.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Mult.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Orya.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Sinh.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Talu.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Taml.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Telu.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Tibt.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Xsux.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Zinh.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Zyyy.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Zzzz.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Arab.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Armn.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Beng.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Bopo.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Cakm.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Copt.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Cprt.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Cyrl.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Deva.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Dupl.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Geor.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Glag.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Gran.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Grek.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Gujr.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Guru.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Han.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Hang.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Hira.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Kana.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Knda.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Latn.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Limb.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Linb.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Mlym.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Mong.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Mult.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Mymr.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Orya.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Phlp.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Shrd.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Sind.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Sinh.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Syrc.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Tagb.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Takr.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Taml.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Telu.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Thaa.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Tirh.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Yi.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Zinh.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Zyyy.pl
+%%PRIV_LIB%%/unicore/lib/Term/Y.pl
+%%PRIV_LIB%%/unicore/lib/UIdeo/Y.pl
+%%PRIV_LIB%%/unicore/lib/Upper/Y.pl
+%%PRIV_LIB%%/unicore/lib/WB/EX.pl
+%%PRIV_LIB%%/unicore/lib/WB/FO.pl
+%%PRIV_LIB%%/unicore/lib/WB/HL.pl
+%%PRIV_LIB%%/unicore/lib/WB/KA.pl
+%%PRIV_LIB%%/unicore/lib/WB/LE.pl
+%%PRIV_LIB%%/unicore/lib/WB/MB.pl
+%%PRIV_LIB%%/unicore/lib/WB/ML.pl
+%%PRIV_LIB%%/unicore/lib/WB/MN.pl
+%%PRIV_LIB%%/unicore/lib/WB/NU.pl
+%%PRIV_LIB%%/unicore/lib/WB/XX.pl
+%%PRIV_LIB%%/unicore/lib/XIDC/Y.pl
+%%PRIV_LIB%%/unicore/lib/XIDS/Y.pl
+%%PRIV_LIB%%/unicore/version
+%%PRIV_LIB%%/utf8.pm
+%%PRIV_LIB%%/utf8_heavy.pl
+%%PRIV_LIB%%/vars.pm
+%%PRIV_LIB%%/version.pm
+%%PRIV_LIB%%/version.pod
+%%PRIV_LIB%%/version/Internals.pod
+%%PRIV_LIB%%/version/regex.pm
+%%PRIV_LIB%%/vmsish.pm
+%%PRIV_LIB%%/warnings.pm
+%%PRIV_LIB%%/warnings/register.pm
+%%MAN1%%/c2ph.1.gz
+%%MAN1%%/corelist.1.gz
+%%MAN1%%/cpan.1.gz
+%%MAN1%%/enc2xs.1.gz
+%%MAN1%%/encguess.1.gz
+%%MAN1%%/h2ph.1.gz
+%%MAN1%%/h2xs.1.gz
+%%MAN1%%/instmodsh.1.gz
+%%MAN1%%/json_pp.1.gz
+%%MAN1%%/libnetcfg.1.gz
+%%MAN1%%/perl.1.gz
+%%MAN1%%/perl5004delta.1.gz
+%%MAN1%%/perl5005delta.1.gz
+%%MAN1%%/perl5100delta.1.gz
+%%MAN1%%/perl5101delta.1.gz
+%%MAN1%%/perl5120delta.1.gz
+%%MAN1%%/perl5121delta.1.gz
+%%MAN1%%/perl5122delta.1.gz
+%%MAN1%%/perl5123delta.1.gz
+%%MAN1%%/perl5124delta.1.gz
+%%MAN1%%/perl5125delta.1.gz
+%%MAN1%%/perl5140delta.1.gz
+%%MAN1%%/perl5141delta.1.gz
+%%MAN1%%/perl5142delta.1.gz
+%%MAN1%%/perl5143delta.1.gz
+%%MAN1%%/perl5144delta.1.gz
+%%MAN1%%/perl5160delta.1.gz
+%%MAN1%%/perl5161delta.1.gz
+%%MAN1%%/perl5162delta.1.gz
+%%MAN1%%/perl5163delta.1.gz
+%%MAN1%%/perl5180delta.1.gz
+%%MAN1%%/perl5181delta.1.gz
+%%MAN1%%/perl5182delta.1.gz
+%%MAN1%%/perl5184delta.1.gz
+%%MAN1%%/perl5200delta.1.gz
+%%MAN1%%/perl5201delta.1.gz
+%%MAN1%%/perl5202delta.1.gz
+%%MAN1%%/perl5203delta.1.gz
+%%MAN1%%/perl5220delta.1.gz
+%%MAN1%%/perl5221delta.1.gz
+%%MAN1%%/perl5222delta.1.gz
+%%MAN1%%/perl5223delta.1.gz
+%%MAN1%%/perl5224delta.1.gz
+%%MAN1%%/perl5240delta.1.gz
+%%MAN1%%/perl5241delta.1.gz
+%%MAN1%%/perl5242delta.1.gz
+%%MAN1%%/perl5243delta.1.gz
+%%MAN1%%/perl5244delta.1.gz
+%%MAN1%%/perl561delta.1.gz
+%%MAN1%%/perl56delta.1.gz
+%%MAN1%%/perl581delta.1.gz
+%%MAN1%%/perl582delta.1.gz
+%%MAN1%%/perl583delta.1.gz
+%%MAN1%%/perl584delta.1.gz
+%%MAN1%%/perl585delta.1.gz
+%%MAN1%%/perl586delta.1.gz
+%%MAN1%%/perl587delta.1.gz
+%%MAN1%%/perl588delta.1.gz
+%%MAN1%%/perl589delta.1.gz
+%%MAN1%%/perl58delta.1.gz
+%%MAN1%%/perlaix.1.gz
+%%MAN1%%/perlamiga.1.gz
+%%MAN1%%/perlandroid.1.gz
+%%MAN1%%/perlapi.1.gz
+%%MAN1%%/perlapio.1.gz
+%%MAN1%%/perlartistic.1.gz
+%%MAN1%%/perlbook.1.gz
+%%MAN1%%/perlboot.1.gz
+%%MAN1%%/perlbot.1.gz
+%%MAN1%%/perlbs2000.1.gz
+%%MAN1%%/perlbug.1.gz
+%%MAN1%%/perlcall.1.gz
+%%MAN1%%/perlce.1.gz
+%%MAN1%%/perlcheat.1.gz
+%%MAN1%%/perlclib.1.gz
+%%MAN1%%/perlcn.1.gz
+%%MAN1%%/perlcommunity.1.gz
+%%MAN1%%/perlcygwin.1.gz
+%%MAN1%%/perldata.1.gz
+%%MAN1%%/perldbmfilter.1.gz
+%%MAN1%%/perldebguts.1.gz
+%%MAN1%%/perldebtut.1.gz
+%%MAN1%%/perldebug.1.gz
+%%MAN1%%/perldelta.1.gz
+%%MAN1%%/perldiag.1.gz
+%%MAN1%%/perldoc.1.gz
+%%MAN1%%/perldos.1.gz
+%%MAN1%%/perldsc.1.gz
+%%MAN1%%/perldtrace.1.gz
+%%MAN1%%/perlebcdic.1.gz
+%%MAN1%%/perlembed.1.gz
+%%MAN1%%/perlexperiment.1.gz
+%%MAN1%%/perlfaq.1.gz
+%%MAN1%%/perlfaq1.1.gz
+%%MAN1%%/perlfaq2.1.gz
+%%MAN1%%/perlfaq3.1.gz
+%%MAN1%%/perlfaq4.1.gz
+%%MAN1%%/perlfaq5.1.gz
+%%MAN1%%/perlfaq6.1.gz
+%%MAN1%%/perlfaq7.1.gz
+%%MAN1%%/perlfaq8.1.gz
+%%MAN1%%/perlfaq9.1.gz
+%%MAN1%%/perlfilter.1.gz
+%%MAN1%%/perlfork.1.gz
+%%MAN1%%/perlform.1.gz
+%%MAN1%%/perlfreebsd.1.gz
+%%MAN1%%/perlfunc.1.gz
+%%MAN1%%/perlgit.1.gz
+%%MAN1%%/perlglossary.1.gz
+%%MAN1%%/perlgpl.1.gz
+%%MAN1%%/perlguts.1.gz
+%%MAN1%%/perlhack.1.gz
+%%MAN1%%/perlhacktips.1.gz
+%%MAN1%%/perlhacktut.1.gz
+%%MAN1%%/perlhaiku.1.gz
+%%MAN1%%/perlhist.1.gz
+%%MAN1%%/perlhpux.1.gz
+%%MAN1%%/perlhurd.1.gz
+%%MAN1%%/perlintern.1.gz
+%%MAN1%%/perlinterp.1.gz
+%%MAN1%%/perlintro.1.gz
+%%MAN1%%/perliol.1.gz
+%%MAN1%%/perlipc.1.gz
+%%MAN1%%/perlirix.1.gz
+%%MAN1%%/perlivp.1.gz
+%%MAN1%%/perljp.1.gz
+%%MAN1%%/perlko.1.gz
+%%MAN1%%/perllexwarn.1.gz
+%%MAN1%%/perllinux.1.gz
+%%MAN1%%/perllocale.1.gz
+%%MAN1%%/perllol.1.gz
+%%MAN1%%/perlmacos.1.gz
+%%MAN1%%/perlmacosx.1.gz
+%%MAN1%%/perlmod.1.gz
+%%MAN1%%/perlmodinstall.1.gz
+%%MAN1%%/perlmodlib.1.gz
+%%MAN1%%/perlmodstyle.1.gz
+%%MAN1%%/perlmroapi.1.gz
+%%MAN1%%/perlnetware.1.gz
+%%MAN1%%/perlnewmod.1.gz
+%%MAN1%%/perlnumber.1.gz
+%%MAN1%%/perlobj.1.gz
+%%MAN1%%/perlootut.1.gz
+%%MAN1%%/perlop.1.gz
+%%MAN1%%/perlopenbsd.1.gz
+%%MAN1%%/perlopentut.1.gz
+%%MAN1%%/perlos2.1.gz
+%%MAN1%%/perlos390.1.gz
+%%MAN1%%/perlos400.1.gz
+%%MAN1%%/perlpacktut.1.gz
+%%MAN1%%/perlperf.1.gz
+%%MAN1%%/perlplan9.1.gz
+%%MAN1%%/perlpod.1.gz
+%%MAN1%%/perlpodspec.1.gz
+%%MAN1%%/perlpodstyle.1.gz
+%%MAN1%%/perlpolicy.1.gz
+%%MAN1%%/perlport.1.gz
+%%MAN1%%/perlpragma.1.gz
+%%MAN1%%/perlqnx.1.gz
+%%MAN1%%/perlre.1.gz
+%%MAN1%%/perlreapi.1.gz
+%%MAN1%%/perlrebackslash.1.gz
+%%MAN1%%/perlrecharclass.1.gz
+%%MAN1%%/perlref.1.gz
+%%MAN1%%/perlreftut.1.gz
+%%MAN1%%/perlreguts.1.gz
+%%MAN1%%/perlrepository.1.gz
+%%MAN1%%/perlrequick.1.gz
+%%MAN1%%/perlreref.1.gz
+%%MAN1%%/perlretut.1.gz
+%%MAN1%%/perlriscos.1.gz
+%%MAN1%%/perlrun.1.gz
+%%MAN1%%/perlsec.1.gz
+%%MAN1%%/perlsolaris.1.gz
+%%MAN1%%/perlsource.1.gz
+%%MAN1%%/perlstyle.1.gz
+%%MAN1%%/perlsub.1.gz
+%%MAN1%%/perlsymbian.1.gz
+%%MAN1%%/perlsyn.1.gz
+%%MAN1%%/perlsynology.1.gz
+%%MAN1%%/perlthanks.1.gz
+%%MAN1%%/perlthrtut.1.gz
+%%MAN1%%/perltie.1.gz
+%%MAN1%%/perltoc.1.gz
+%%MAN1%%/perltodo.1.gz
+%%MAN1%%/perltooc.1.gz
+%%MAN1%%/perltoot.1.gz
+%%MAN1%%/perltrap.1.gz
+%%MAN1%%/perltru64.1.gz
+%%MAN1%%/perltw.1.gz
+%%MAN1%%/perlunicode.1.gz
+%%MAN1%%/perlunicook.1.gz
+%%MAN1%%/perlunifaq.1.gz
+%%MAN1%%/perluniintro.1.gz
+%%MAN1%%/perluniprops.1.gz
+%%MAN1%%/perlunitut.1.gz
+%%MAN1%%/perlutil.1.gz
+%%MAN1%%/perlvar.1.gz
+%%MAN1%%/perlvms.1.gz
+%%MAN1%%/perlvos.1.gz
+%%MAN1%%/perlwin32.1.gz
+%%MAN1%%/perlxs.1.gz
+%%MAN1%%/perlxstut.1.gz
+%%MAN1%%/perlxstypemap.1.gz
+%%MAN1%%/piconv.1.gz
+%%MAN1%%/pl2pm.1.gz
+%%MAN1%%/pod2html.1.gz
+%%MAN1%%/pod2man.1.gz
+%%MAN1%%/pod2text.1.gz
+%%MAN1%%/pod2usage.1.gz
+%%MAN1%%/podchecker.1.gz
+%%MAN1%%/podselect.1.gz
+%%MAN1%%/prove.1.gz
+%%MAN1%%/pstruct.1.gz
+%%MAN1%%/ptar.1.gz
+%%MAN1%%/ptardiff.1.gz
+%%MAN1%%/ptargrep.1.gz
+%%MAN1%%/shasum.1.gz
+%%MAN1%%/splain.1.gz
+%%MAN1%%/xsubpp.1.gz
+%%MAN1%%/zipdetails.1.gz
+@dir %%SITE_PERL%%/auto
+@dir %%SITE_ARCH%%/auto
+@dir %%SITE_PERL%%/man/man1
+@dir %%SITE_PERL%%/man/man3
+@postexec makewhatis %D/%%SITEMANPREFIX%%/man
+@postexec makewhatis %D/%%PERLMANPREFIX%%/man
+@rmtry %%PERLMANPREFIX%%/man/whatis
+@rmtry %%PERLMANPREFIX%%/man/mandoc.db
+@rmtry %%SITEMANPREFIX%%/man/whatis
+@rmtry %%SITEMANPREFIX%%/man/mandoc.db
diff --git a/test-ports/lang/perl5.24/version.mk b/test-ports/lang/perl5.24/version.mk
new file mode 100644
index 00000000..d00b83ff
--- /dev/null
+++ b/test-ports/lang/perl5.24/version.mk
@@ -0,0 +1,2 @@
+PERL_VERSION= 5.24.4
+PERL5_DEPEND= perl5>=5.24<5.25
diff --git a/test-ports/lang/perl5.28/Makefile b/test-ports/lang/perl5.28/Makefile
new file mode 100644
index 00000000..4b2079e3
--- /dev/null
+++ b/test-ports/lang/perl5.28/Makefile
@@ -0,0 +1,279 @@
+# Created by: mat
+# $FreeBSD: head/lang/perl5.28/Makefile 486601 2018-12-04 14:30:52Z mat $
+
+PORTNAME= perl
+DISTVERSION= ${PERL_VERSION}
+CATEGORIES= lang devel perl5
+MASTER_SITES= CPAN/../../src/5.0 CPAN/../../authors/id/X/XS/XSAWYERX/
+DIST_SUBDIR= perl
+
+MAINTAINER= mat@FreeBSD.org
+COMMENT= Practical Extraction and Report Language
+
+LICENSE= ART10 GPLv1+
+LICENSE_COMB= dual
+LICENSE_FILE_ART10= ${WRKSRC}/Artistic
+LICENSE_FILE_GPLv1+ = ${WRKSRC}/Copying
+
+# Uncomment when the default Perl is switched to 5.30
+#DEPRECATED= Support end three years after .0 release, please upgrade to a more recent version of Perl
+#EXPIRATION_DATE= 2021-06-22
+
+TEST_TARGET= test_harness
+TEST_ENV= ${MAKE_ENV} TEST_JOBS=${MAKE_JOBS_NUMBER} \
+ LD_LIBRARY_PATH=${WRKSRC}
+
+OPTIONS_DEFINE= DEBUG GDBM PERL_64BITINT MULTIPLICITY SITECUSTOMIZE \
+ THREADS PERL_MALLOC DTRACE DOT_INC
+OPTIONS_DEFAULT= PERL_64BITINT THREADS MULTIPLICITY DTRACE
+
+.if !exists(/usr/sbin/dtrace)
+OPTIONS_EXCLUDE+= DTRACE
+.endif
+.for a in aarch64 arm armeb armv6 armv7 mips mips64 mips64el mipsel mipsn32 powerpc \
+ powerpc64 sparc64
+OPTIONS_EXCLUDE_${a}= DTRACE
+.endfor
+
+EXCLUSIVE_DESC= Exclusive OPTIONS
+GDBM_DESC= GDBM_File extension
+PERL_MALLOC_DESC= Use Perl malloc
+PERL_64BITINT_DESC= Use 64 bit integers (on i386)
+THREADS_DESC= Build threaded perl
+MULTIPLICITY_DESC= Use multiplicity
+SITECUSTOMIZE_DESC= Run-time customization of @INC
+DOT_INC_DESC= Add '.' to @INC (unsafe)
+
+OPTIONS_SUB= yes
+DEBUG_CONFIGURE_ON= -Doptimize="-g" -DDEBUGGING
+DEBUG_CONFIGURE_OFF= -Doptimize="${CFLAGS}"
+DTRACE_CONFIGURE_ON= -Dusedtrace
+DTRACE_CONFIGURE_OFF= -Uusedtrace
+GDBM_CONFIGURE_ON= -Di_gdbm
+GDBM_CONFIGURE_OFF= -Ui_gdbm
+GDBM_LIB_DEPENDS= libgdbm.so:databases/gdbm
+PERL_64BITINT_CONFIGURE_ON= -Duse64bitint
+MULTIPLICITY_CONFIGURE_ON= -Dusemultiplicity=y
+MULTIPLICITY_CONFIGURE_OFF= -Dusemultiplicity=n
+SITECUSTOMIZE_CONFIGURE_ON= -Dusesitecustomize
+THREADS_CONFIGURE_ON= -Dusethreads=y
+THREADS_CONFIGURE_OFF= -Dusethreads=n
+PERL_MALLOC_CONFIGURE_ON= -Dusemymalloc=y
+PERL_MALLOC_CONFIGURE_OFF= -Dusemymalloc=n
+DOT_INC_CONFIGURE_ON= -Ddefault_inc_excludes_dot=n
+
+PORTSCOUT= limit:^${PERL_VER}.
+
+.include "version.mk"
+PERL_VER?= ${PERL_VERSION:C/\.[0-9]+$//}
+PERL_ARCH= mach
+SITE_PERL_REL?= lib/perl5/site_perl
+SITE_PERL?= ${PREFIX}/${SITE_PERL_REL}
+SITE_ARCH_REL?= ${SITE_PERL_REL}/${PERL_ARCH}/${PERL_VER}
+SITE_ARCH?= ${PREFIX}/${SITE_ARCH_REL}
+SITE_MAN_PREFIX= ${SITE_PERL_REL}
+SITE_MAN3_REL?= ${SITE_MAN_PREFIX}/man/man3
+SITE_MAN3?= ${PREFIX}/${SITE_MAN3_REL}
+SITE_MAN1_REL?= ${SITE_MAN_PREFIX}/man/man1
+SITE_MAN1?= ${PREFIX}/${SITE_MAN1_REL}
+
+_PRIV_LIB= lib/perl5/${PERL_VER}
+_ARCH_LIB= ${_PRIV_LIB}/${PERL_ARCH}
+
+USES= cpe tar:xz
+
+HAS_CONFIGURE= yes
+CONFIGURE_SCRIPT=Configure
+CONFIGURE_ARGS= -sde -Dprefix=${PREFIX} \
+ -Dlibperl=libperl.so.${PERL_VERSION} \
+ -Darchlib=${PREFIX}/${_ARCH_LIB} \
+ -Dprivlib=${PREFIX}/${_PRIV_LIB} \
+ -Dman3dir=${PREFIX}/${PERLMANPREFIX_REL}/man/man3 \
+ -Dman1dir=${PREFIX}/${PERLMANPREFIX_REL}/man/man1 \
+ -Dsitearch=${SITE_ARCH} \
+ -Dsitelib=${SITE_PERL} -Dscriptdir=${PREFIX}/bin \
+ -Dsiteman3dir=${SITE_MAN3} \
+ -Dsiteman1dir=${SITE_MAN1} \
+ -Ui_malloc -Ui_iconv -Uinstallusrbinperl -Dusenm=n \
+ -Dcc="${CC}" -Duseshrplib -Dinc_version_list=none \
+ -Dcf_by=${MAINTAINER:C,@.*,,} -Dcf_email=${MAINTAINER} \
+ -Dcf_time="`${STAT} -t \"%a %b %d %T %Z %Y\" -f %Sm ${_DISTDIR}/${DISTNAME}${EXTRACT_SUFX}`"
+# Keep the following two in sync.
+# lddlflags is used for all .so linking
+# shrpldflags is used for libperl.so, so remove all the extra bits inherited from lddlflags.
+CONFIGURE_ARGS+= \
+ -Alddlflags='-L${WRKSRC} -L${PREFIX}/${_ARCH_LIB}/CORE -lperl' \
+ -Dshrpldflags='$$(LDDLFLAGS:N-L${WRKSRC}:N-L${PREFIX}/${_ARCH_LIB}/CORE:N-lperl) -Wl,-soname,$$(LIBPERL:R)'
+
+# Give a hint of where libperl.so can be found.
+USE_LDCONFIG= ${PREFIX}/${_ARCH_LIB}/CORE
+
+CONFIGURE_ENV+= UNAME_v="$$(uname -v | sed 'y/=/ /')"
+
+SUB_LIST+= PERL_VERSION=${PERL_VERSION} \
+ PERL_VER=${PERL_VER} \
+ SITE_PERL=${SITE_PERL_REL} \
+ PRIV_LIB=${_PRIV_LIB} \
+ PERLMANPREFIX=${PERLMANPREFIX_REL} \
+ SITEMANPREFIX=${SITE_MAN_PREFIX} \
+ PERL_ARCH=${PERL_ARCH}
+
+SUB_FILES= perl-man.conf
+
+INSTALL_TARGET= install-strip
+
+.if defined(PERL_VENDOR_PREFIX)
+CONFIGURE_ARGS+= \
+ -Dvendorprefix=${PERL_VENDOR_PREFIX} \
+ -Dvendorarch=${PERL_VENDOR_PREFIX}/${_ARCH_LIB} \
+ -Dvendorbin=${PERL_VENDOR_PREFIX}/bin \
+ -Dvendorlib=${PERL_VENDOR_PREFIX}/${_PRIV_LIB} \
+ -Dvendorman3dir=${PERL_VENDOR_PREFIX}/${_PRIV_LIB}/man/man3 \
+ -Dvendorman1dir=${PERL_VENDOR_PREFIX}/man/man1
+.endif
+
+# http://perl5.git.perl.org/perl.git/commit/b83080de5c4254
+# PERLIOBUF_DEFAULT_BUFSIZ size in bytes (default: 8192 bytes)
+.if defined(PERLIOBUF_DEFAULT_BUFSIZ)
+CONFIGURE_ARGS+= \
+ -Accflags=-DPERLIOBUF_DEFAULT_BUFSIZ=${PERLIOBUF_DEFAULT_BUFSIZ}
+.endif
+
+PERLMANPREFIX_REL= ${_PRIV_LIB}/perl
+PERLMANPREFIX= ${PREFIX}/${PERLMANPREFIX_REL}
+MANDIRS+= ${PERLMANPREFIX}/man
+
+PLIST_SUB+= PERL_VERSION=${PERL_VERSION} \
+ PERL_VER=${PERL_VER} \
+ PERL_ARCH=${PERL_ARCH} \
+ PERL_ARCH_regex=\b${PERL_ARCH}\b \
+ MAN1=${PERLMANPREFIX_REL}/man/man1 \
+ MAN3=${PERLMANPREFIX_REL}/man/man3 \
+ PERLMANPREFIX=${PERLMANPREFIX_REL} \
+ PERLMANPREFIX_regex=${PERLMANPREFIX_REL}\b \
+ SITEMANPREFIX=${SITE_MAN_PREFIX} \
+ SITE_PERL=${SITE_PERL_REL} \
+ SITE_ARCH=${SITE_ARCH_REL} \
+ PRIV_LIB=${_PRIV_LIB} \
+ PKGNAMESUFFIX=${PKGNAMESUFFIX} \
+ ARCH_LIB=${_ARCH_LIB}
+
+# Why this is required is explained in:
+# https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=227356#c5
+_PERL5_DEFAULT_FILE= /tmp/PERL5_DEFAULT
+
+# Get the default version, and possibly, overwrite it.
+.include <bsd.port.options.mk>
+.sinclude "${_PERL5_DEFAULT_FILE}"
+
+# if this port is default due PERL5_DEFAULT
+# change PKGNAME to reflect this
+.if ${PERL_VER} == ${PERL5_DEFAULT}
+PKGNAMESUFFIX= 5
+IAMDEFAULTPERL= yes
+.else
+# make PKGNAME unique among other lang/perl5.x
+PKGNAMESUFFIX= ${PERL_VER}
+.endif
+
+# Am I building the default Perl ?
+.if defined(IAMDEFAULTPERL)
+PLIST_SUB+= DEFAULT="" BINSUFFIX=""
+.else
+BINSUFFIX= ${PERL_VERSION}
+PLIST_SUB+= DEFAULT="@comment " BINSUFFIX=${PERL_VERSION}
+CONFIGURE_ARGS+=-Dversiononly
+.endif
+
+.if !defined(IAMDEFAULTPERL)
+pre-everything::
+ @${ECHO_MSG} "##################################################"
+ @${ECHO_MSG} ""
+ @${ECHO_MSG} " This is *NOT* the DEFAULT perl version"
+ @${ECHO_MSG} ""
+ @${ECHO_MSG} "It will *NOT* install ${PREFIX}/bin/perl"
+ @${ECHO_MSG} ""
+ @${ECHO_MSG} "It will *ONLY* install ${PREFIX}/bin/perl${PERL_VERSION}"
+ @${ECHO_MSG} ""
+ @${ECHO_MSG} "The default Perl version currently is ${PERL5_DEFAULT}."
+ @${ECHO_MSG} ""
+ @${ECHO_MSG} "If you want to use this version as the default,"
+ @${ECHO_MSG} "stop the build now, add this line to your"
+ @${ECHO_MSG} "/etc/make.conf, and then restart the build."
+ @${ECHO_MSG} ""
+ @${ECHO_MSG} "DEFAULT_VERSIONS+=perl5=${PERL_VER}"
+ @${ECHO_MSG} ""
+ @${ECHO_MSG} "##################################################"
+. if !(defined(PACKAGE_BUILDING) || defined(BATCH))
+ @sleep 30
+. endif
+.endif
+
+# Put a symlink to the future libperl.so.x.yy so that -lperl works.
+# Also, save PERL5_DEFAULT in case someone is not using the default Perl
+# version whilst not having set DEFAULT_VERSIONS=perl5=blah. While upgrading,
+# portmaster/portupgrade will remove the installed Perl version, and it will
+# remove any way to guess what the default Perl version is needed.
+post-extract:
+ ${LN} -s libperl.so.${PERL_VERSION} ${WRKSRC}/libperl.so
+ ${LN} -s libperl.so.${PERL_VERSION} ${WRKSRC}/libperl.so.${PERL_VER}
+.if !defined(PACKAGE_BUILDING)
+ @${ECHO_CMD} "PERL5_DEFAULT=${PERL5_DEFAULT}" > ${_PERL5_DEFAULT_FILE}
+.endif
+
+.if !defined(PACKAGE_BUILDING)
+post-clean:
+ @${RM} ${_PERL5_DEFAULT_FILE}
+.endif
+
+post-patch:
+ ${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
+ ${WRKSRC}/Configure ${WRKSRC}/hints/freebsd.sh
+.if !defined(IAMDEFAULTPERL)
+ ${REINPLACE_CMD} -e '/do_installprivlib = 0 if .versiononly/d; \
+ /^if.*nopods.*versiononly || /s/.*/if (1) {/' \
+ ${WRKSRC}/installperl
+.endif
+
+post-install:
+ @${REINPLACE_CMD} -e '/^lddlflags/s|-L${WRKSRC} ||' \
+ ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/Config_heavy.pl
+ @${TOUCH} -r ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/Config_heavy.pl.bak ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/Config_heavy.pl
+ @${RM} ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/Config_heavy.pl.bak
+.if ${CC} == /nxb-bin/usr/bin/cc
+ @${REINPLACE_CMD} -e 's=/nxb-bin==' \
+ ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/Config.pm ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/Config_heavy.pl
+# Restore Config.pm's timestamp so that Perl's build system does not think it
+# needs to rebuild everything.
+ @${TOUCH} -r ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/Config.pm.bak ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/Config.pm
+ @${TOUCH} -r ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/Config_heavy.pl.bak ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/Config_heavy.pl
+ @${RM} ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/Config.pm.bak ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/Config_heavy.pl.bak
+.endif
+
+ ${MKDIR} ${STAGEDIR}${SITE_MAN1} ${STAGEDIR}${SITE_MAN3}
+ ${MKDIR} ${STAGEDIR}${SITE_ARCH}/auto
+ ${MKDIR} ${STAGEDIR}${SITE_PERL}/auto
+.if defined(IAMDEFAULTPERL)
+ ${LN} -sf perl ${STAGEDIR}${PREFIX}/bin/perl5
+ ${LN} -sf perl ${STAGEDIR}${PREFIX}/bin/perl${PERL_VERSION}
+.endif
+ ${LN} -sf libperl.so.${PERL_VERSION} ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/CORE/libperl.so
+ ${LN} -sf libperl.so.${PERL_VERSION} ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/CORE/libperl.so.${PERL_VER}
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/perl${PERL_VERSION}
+ ${MKDIR} ${STAGEDIR}${SITE_ARCH}/machine
+ ${MKDIR} ${STAGEDIR}${SITE_ARCH}/sys
+ # h2ph needs perl, but perl is not installed, it's only
+ # staged, so, use the one in WRKDIR
+ (cd /usr/include && ${SETENV} LD_LIBRARY_PATH=${WRKSRC} \
+ ${WRKSRC}/perl -I ${WRKSRC}/lib ${STAGEDIR}${PREFIX}/bin/h2ph${BINSUFFIX} \
+ -d ${STAGEDIR}${SITE_ARCH} *.h machine/*.h sys/*.h >/dev/null)
+ @${FIND} ${STAGEDIR}${SITE_ARCH} -name '*.ph' | sed -e 's|${STAGEDIR}||' >> ${TMPPLIST}
+ ${FIND} ${STAGEDIR} -name '*.so*' -type f | while read f; \
+ do \
+ ${CHMOD} 644 $$f; \
+ ${STRIP_CMD} $$f; \
+ ${CHMOD} 444 $$f; \
+ done
+ ${INSTALL_DATA} ${WRKDIR}/perl-man.conf ${STAGEDIR}${PREFIX}/etc/man.d/perl${PKGNAMESUFFIX}.conf
+
+.include <bsd.port.mk>
diff --git a/test-ports/lang/perl5.28/distinfo b/test-ports/lang/perl5.28/distinfo
new file mode 100644
index 00000000..838bbb6b
--- /dev/null
+++ b/test-ports/lang/perl5.28/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1543932070
+SHA256 (perl/perl-5.28.1.tar.xz) = fea7162d4cca940a387f0587b93f6737d884bf74d8a9d7cfd978bc12cd0b202d
+SIZE (perl/perl-5.28.1.tar.xz) = 12372080
diff --git a/test-ports/lang/perl5.28/files/patch-Configure b/test-ports/lang/perl5.28/files/patch-Configure
new file mode 100644
index 00000000..04c01936
--- /dev/null
+++ b/test-ports/lang/perl5.28/files/patch-Configure
@@ -0,0 +1,33 @@
+--- Configure.orig 2018-04-21 18:42:15 UTC
++++ Configure
+@@ -3865,7 +3865,10 @@ esac
+ . ./posthint.sh
+
+ : who configured the system
+-cf_time=`LC_ALL=C; LANGUAGE=C; export LC_ALL; export LANGUAGE; $date 2>&1`
++case "$cf_time" in
++"")
++ cf_time=`LC_ALL=C; LANGUAGE=C; export LC_ALL; export LANGUAGE; $date 2>&1` ;;
++esac
+ case "$cf_by" in
+ "")
+ cf_by=`(logname) 2>/dev/null`
+@@ -5046,7 +5049,7 @@ esac
+ : Now check and see which directories actually exist, avoiding duplicates
+ for xxx in $dlist
+ do
+- if $test -d $xxx; then
++ if $test -d $xxx || [ $xxx = $prefix/lib ]; then
+ case " $libpth " in
+ *" $xxx "*) ;;
+ *) libpth="$libpth $xxx";;
+@@ -9586,8 +9589,7 @@ prefixvar=siteman3dir
+
+ : determine where add-on public executable scripts go
+ case "$sitescript" in
+-'') dflt=$siteprefix/script
+- $test -d $dflt || dflt=$sitebin ;;
++'') dflt=$sitebin ;;
+ *) dflt="$sitescript" ;;
+ esac
+ fn=d~+
diff --git a/test-ports/lang/perl5.28/files/patch-Makefile.SH b/test-ports/lang/perl5.28/files/patch-Makefile.SH
new file mode 100644
index 00000000..4c83706d
--- /dev/null
+++ b/test-ports/lang/perl5.28/files/patch-Makefile.SH
@@ -0,0 +1,10 @@
+--- Makefile.SH.orig 2015-09-08 05:21:36 UTC
++++ Makefile.SH
+@@ -40,7 +40,6 @@ esac
+ pwd="`pwd`"
+ linklibperl='$(LIBPERL)'
+ linklibperl_nonshr=''
+-shrpldflags='$(LDDLFLAGS)'
+ ldlibpth=''
+ DPERL_EXTERNAL_GLOB='-DPERL_EXTERNAL_GLOB'
+ DPERL_IS_MINIPERL='-DPERL_IS_MINIPERL'
diff --git a/test-ports/lang/perl5.28/files/patch-cpan_ExtUtils-Install_lib_ExtUtils_Install.pm b/test-ports/lang/perl5.28/files/patch-cpan_ExtUtils-Install_lib_ExtUtils_Install.pm
new file mode 100644
index 00000000..d756b79c
--- /dev/null
+++ b/test-ports/lang/perl5.28/files/patch-cpan_ExtUtils-Install_lib_ExtUtils_Install.pm
@@ -0,0 +1,11 @@
+--- cpan/ExtUtils-Install/lib/ExtUtils/Install.pm.orig 2017-06-05 16:14:15 UTC
++++ cpan/ExtUtils-Install/lib/ExtUtils/Install.pm
+@@ -825,7 +825,7 @@ sub install { #XXX OS-SPECIFIC
+ utime($atime,$mtime + Is_VMS,$targetfile) unless $dry_run>1;
+
+
+- $mode = 0444 | ( $mode & 0111 ? 0111 : 0 );
++ $mode = 0644 | ( $mode & 0111 ? 0111 : 0 );
+ $mode = $mode | 0222
+ if $realtarget ne $targetfile;
+ _chmod( $mode, $targetfile, $verbose );
diff --git a/test-ports/lang/perl5.28/files/patch-cpan_ExtUtils-Install_t_Install.t b/test-ports/lang/perl5.28/files/patch-cpan_ExtUtils-Install_t_Install.t
new file mode 100644
index 00000000..40955326
--- /dev/null
+++ b/test-ports/lang/perl5.28/files/patch-cpan_ExtUtils-Install_t_Install.t
@@ -0,0 +1,20 @@
+--- cpan/ExtUtils-Install/t/Install.t.orig 2015-10-14 14:27:14 UTC
++++ cpan/ExtUtils-Install/t/Install.t
+@@ -240,7 +240,7 @@ SKIP: {
+ },
+ ]);
+
+- ok( !writeable("$bigdir/DummyHard.pm"), 'DummyHard.pm not writeable' );
++ ok( writeable("$bigdir/DummyHard.pm"), 'DummyHard.pm writeable' );
+
+ use File::Compare;
+ ok(compare("$bigdir/Dummy.pm", "$bigdir/DummyHard.pm"),
+@@ -264,7 +264,7 @@ SKIP: {
+ },
+ ]);
+
+- ok( !writeable("$bigdir/DummyOrig.pm"), 'DummyOrig.pm not writeable' );
++ ok( writeable("$bigdir/DummyOrig.pm"), 'DummyOrig.pm writeable' );
+ ok( !-l "$bigdir/Dummy.pm", 'Dummy.pm not a link' );
+ ok(compare("$bigdir/Dummy.pm", "$bigdir/DummyOrig.pm"),
+ "orig file should be different");
diff --git a/test-ports/lang/perl5.28/files/patch-cpan_ExtUtils-MakeMaker_lib_ExtUtils_MM__Any.pm b/test-ports/lang/perl5.28/files/patch-cpan_ExtUtils-MakeMaker_lib_ExtUtils_MM__Any.pm
new file mode 100644
index 00000000..189762cd
--- /dev/null
+++ b/test-ports/lang/perl5.28/files/patch-cpan_ExtUtils-MakeMaker_lib_ExtUtils_MM__Any.pm
@@ -0,0 +1,18 @@
+--- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm.orig 2017-06-11 14:35:46 UTC
++++ cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
+@@ -2031,13 +2031,14 @@ sub init_INSTALL_from_PREFIX {
+ ('$(PREFIX)') x 3;
+ }
+ else {
++ $self->{PREFIX} ||= $iprefix;
+ $self->{PERLPREFIX} ||= $iprefix;
+ $self->{SITEPREFIX} ||= $sprefix;
+ $self->{VENDORPREFIX} ||= $vprefix;
+
+ # Lots of MM extension authors like to use $(PREFIX) so we
+ # put something sensible in there no matter what.
+- $self->{PREFIX} = '$('.uc $self->{INSTALLDIRS}.'PREFIX)';
++ #$self->{PREFIX} = '$('.uc $self->{INSTALLDIRS}.'PREFIX)';
+ }
+
+ my $arch = $Config{archname};
diff --git a/test-ports/lang/perl5.28/files/patch-cpan_ExtUtils-MakeMaker_t_INST__PREFIX.t b/test-ports/lang/perl5.28/files/patch-cpan_ExtUtils-MakeMaker_t_INST__PREFIX.t
new file mode 100644
index 00000000..a7ae2c38
--- /dev/null
+++ b/test-ports/lang/perl5.28/files/patch-cpan_ExtUtils-MakeMaker_t_INST__PREFIX.t
@@ -0,0 +1,20 @@
+--- cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t.orig 2016-05-29 22:48:24 UTC
++++ cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t
+@@ -10,7 +10,7 @@ BEGIN {
+ }
+
+ use strict;
+-use Test::More tests => 52;
++use Test::More tests => 51;
+ use MakeMaker::Test::Utils;
+ use MakeMaker::Test::Setup::BFD;
+ use ExtUtils::MakeMaker;
+@@ -64,7 +64,7 @@ like( $stdout->read, qr{
+ (?:Writing\ MYMETA.yml\ and\ MYMETA.json\n)?
+ }x );
+
+-is( $mm->{PREFIX}, '$(SITEPREFIX)', 'PREFIX set based on INSTALLDIRS' );
++## is( $mm->{PREFIX}, '$(SITEPREFIX)', 'PREFIX set based on INSTALLDIRS' );
+
+ isa_ok( $mm, 'ExtUtils::MakeMaker' );
+
diff --git a/test-ports/lang/perl5.28/files/patch-cpan_Pod-Perldoc_lib_Pod_Perldoc_ToMan.pm b/test-ports/lang/perl5.28/files/patch-cpan_Pod-Perldoc_lib_Pod_Perldoc_ToMan.pm
new file mode 100644
index 00000000..cf800afb
--- /dev/null
+++ b/test-ports/lang/perl5.28/files/patch-cpan_Pod-Perldoc_lib_Pod_Perldoc_ToMan.pm
@@ -0,0 +1,11 @@
+--- cpan/Pod-Perldoc/lib/Pod/Perldoc/ToMan.pm.orig 2017-04-03 07:28:44 UTC
++++ cpan/Pod-Perldoc/lib/Pod/Perldoc/ToMan.pm
+@@ -108,6 +108,8 @@ sub _get_columns_from_manwidth {
+
+ return 0 unless defined $ENV{MANWIDTH};
+
++ if ($ENV{MANWIDTH} eq 'tty') { return 0; }
++
+ unless( $ENV{MANWIDTH} =~ m/\A\d+\z/ ) {
+ $self->warn( "Ignoring non-numeric MANWIDTH ($ENV{MANWIDTH})\n" );
+ return 0;
diff --git a/test-ports/lang/perl5.28/files/patch-cpan_Pod-Perldoc_lib_Pod_Perldoc_ToTerm.pm b/test-ports/lang/perl5.28/files/patch-cpan_Pod-Perldoc_lib_Pod_Perldoc_ToTerm.pm
new file mode 100644
index 00000000..7fe2fa24
--- /dev/null
+++ b/test-ports/lang/perl5.28/files/patch-cpan_Pod-Perldoc_lib_Pod_Perldoc_ToTerm.pm
@@ -0,0 +1,11 @@
+--- cpan/Pod-Perldoc/lib/Pod/Perldoc/ToTerm.pm.orig 2017-04-03 07:28:44 UTC
++++ cpan/Pod-Perldoc/lib/Pod/Perldoc/ToTerm.pm
+@@ -69,6 +69,8 @@ sub _get_columns_from_manwidth {
+
+ return 0 unless defined $ENV{MANWIDTH};
+
++ if ($ENV{MANWIDTH} eq 'tty') { return 0; }
++
+ unless( $ENV{MANWIDTH} =~ m/\A\d+\z/ ) {
+ $self->warn( "Ignoring non-numeric MANWIDTH ($ENV{MANWIDTH})\n" );
+ return 0;
diff --git a/test-ports/lang/perl5.28/files/patch-ext_GDBM__File_t_fatal.t b/test-ports/lang/perl5.28/files/patch-ext_GDBM__File_t_fatal.t
new file mode 100644
index 00000000..ac10b767
--- /dev/null
+++ b/test-ports/lang/perl5.28/files/patch-ext_GDBM__File_t_fatal.t
@@ -0,0 +1,30 @@
+Those two test fails starting with gdbm 1.15.
+
+--- ext/GDBM_File/t/fatal.t.orig 2018-05-21 10:44:04 UTC
++++ ext/GDBM_File/t/fatal.t
+@@ -12,7 +12,7 @@ BEGIN {
+ plan(skip_all => "GDBM_File is flaky in $^O")
+ if $^O =~ /darwin/;
+
+- plan(tests => 8);
++ plan(tests => 6);
+ use_ok('GDBM_File');
+ }
+
+@@ -34,16 +34,5 @@ isnt((open $fh, "<&=$fileno"), undef, "d
+ or diag("\$! = $!");
+ isnt(close $fh, undef,
+ "close fileno $fileno, out from underneath the GDBM_File");
+-is(eval {
+- $h{Perl} = 'Rules';
+- untie %h;
+- 1;
+-}, undef, 'Trapped error when attempting to write to knobbled GDBM_File');
+-
+-# Observed "File write error" and "lseek error" from two different systems.
+-# So there might be more variants. Important part was that we trapped the error
+-# via croak.
+-like($@, qr/ at .*\bfatal\.t line \d+\.\n\z/,
+- 'expected error message from GDBM_File');
+
+ unlink <Op_dbmx*>;
diff --git a/test-ports/lang/perl5.28/files/patch-hints_freebsd.sh b/test-ports/lang/perl5.28/files/patch-hints_freebsd.sh
new file mode 100644
index 00000000..b2e82205
--- /dev/null
+++ b/test-ports/lang/perl5.28/files/patch-hints_freebsd.sh
@@ -0,0 +1,22 @@
+--- hints/freebsd.sh.orig 2016-12-05 10:28:13 UTC
++++ hints/freebsd.sh
+@@ -88,6 +88,8 @@ case "$osvers" in
+ esac
+ libswanted=`echo $libswanted | sed 's/ malloc / /'`
+ libswanted=`echo $libswanted | sed 's/ bind / /'`
++ libswanted=`echo $libswanted | sed 's/ dl / /'`
++ libswanted=`echo $libswanted | sed 's/ c / /'`
+ # iconv gone in Perl 5.8.1, but if someone compiles 5.8.0 or earlier.
+ libswanted=`echo $libswanted | sed 's/ iconv / /'`
+ d_setregid='define'
+@@ -102,6 +104,10 @@ case "$osvers" in
+ ;;
+ esac
+ libswanted=`echo $libswanted | sed 's/ malloc / /'`
++ libswanted=`echo $libswanted | sed 's/ bind / /'`
++ libswanted=`echo $libswanted | sed 's/ dl / /'`
++ libswanted=`echo $libswanted | sed 's/ iconv / /'`
++ libswanted=`echo $libswanted | sed 's/ c / /'`
+ ;;
+ esac
+
diff --git a/test-ports/lang/perl5.28/files/patch-perl.c b/test-ports/lang/perl5.28/files/patch-perl.c
new file mode 100644
index 00000000..6ea19501
--- /dev/null
+++ b/test-ports/lang/perl5.28/files/patch-perl.c
@@ -0,0 +1,26 @@
+--- perl.c.orig 2018-04-21 18:42:15 UTC
++++ perl.c
+@@ -1987,23 +1987,7 @@ S_Internals_V(pTHX_ CV *cv)
+ PUSHs(Perl_newSVpvn_flags(aTHX_ non_bincompat_options,
+ sizeof(non_bincompat_options) - 1, SVs_TEMP));
+
+-#ifndef PERL_BUILD_DATE
+-# ifdef __DATE__
+-# ifdef __TIME__
+-# define PERL_BUILD_DATE __DATE__ " " __TIME__
+-# else
+-# define PERL_BUILD_DATE __DATE__
+-# endif
+-# endif
+-#endif
+-
+-#ifdef PERL_BUILD_DATE
+- PUSHs(Perl_newSVpvn_flags(aTHX_
+- STR_WITH_LEN("Compiled at " PERL_BUILD_DATE),
+- SVs_TEMP));
+-#else
+ PUSHs(&PL_sv_undef);
+-#endif
+
+ for (i = 1; i <= local_patch_count; i++) {
+ /* This will be an undef, if PL_localpatches[i] is NULL. */
diff --git a/test-ports/lang/perl5.28/files/patch-t_porting_customized.dat b/test-ports/lang/perl5.28/files/patch-t_porting_customized.dat
new file mode 100644
index 00000000..e7a41275
--- /dev/null
+++ b/test-ports/lang/perl5.28/files/patch-t_porting_customized.dat
@@ -0,0 +1,10 @@
+--- t/porting/customized.dat.orig 2018-04-21 18:42:15 UTC
++++ t/porting/customized.dat
+@@ -4,6 +4,7 @@
+ Devel::PPPort dist/Devel-PPPort/parts/embed.fnc e030719d9c6921810554a8e2d398543348b4878c
+ Digest cpan/Digest/Digest.pm 43f7f544cb11842b2f55c73e28930da50774e081
+ Encode cpan/Encode/t/truncated_utf8.t 36e6780c20f1d22ed7c97b1a388a63629617451f
++ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm ac29a8dc1c7d6f0aca4abff0730c05bde1dab3ad
+ Locale::Maketext::Simple cpan/Locale-Maketext-Simple/lib/Locale/Maketext/Simple.pm 57ed38905791a17c150210cd6f42ead22a7707b6
+ Math::Complex cpan/Math-Complex/lib/Math/Complex.pm 198ea6c6c584f5ea79a0fd7e9d411d0878f3b2af
+ Math::Complex cpan/Math-Complex/t/Complex.t 4f307ed6fc59f1e5fb0e6b11103fc631b6bdb335
diff --git a/test-ports/lang/perl5.28/files/perl-man.conf.in b/test-ports/lang/perl5.28/files/perl-man.conf.in
new file mode 100644
index 00000000..cbe3a5c5
--- /dev/null
+++ b/test-ports/lang/perl5.28/files/perl-man.conf.in
@@ -0,0 +1,2 @@
+MANPATH %%PREFIX%%/%%SITEMANPREFIX%%/man
+MANPATH %%PREFIX%%/%%PERLMANPREFIX%%/man
diff --git a/test-ports/lang/perl5.28/pkg-descr b/test-ports/lang/perl5.28/pkg-descr
new file mode 100644
index 00000000..0ef0392e
--- /dev/null
+++ b/test-ports/lang/perl5.28/pkg-descr
@@ -0,0 +1,6 @@
+Perl is a language that combines some of the features of C, sed, awk and
+shell. See the manual page for more hype. There are also many books
+published by O'Reilly & Assoc. See pod/perlbook.pod for more
+information.
+
+WWW: http://www.perl.org/
diff --git a/test-ports/lang/perl5.28/pkg-message b/test-ports/lang/perl5.28/pkg-message
new file mode 100644
index 00000000..751268e6
--- /dev/null
+++ b/test-ports/lang/perl5.28/pkg-message
@@ -0,0 +1,11 @@
+The /usr/bin/perl symlink has been removed starting with Perl 5.20.
+For shebangs, you should either use:
+
+#!/usr/local/bin/perl
+
+or
+
+#!/usr/bin/env perl
+
+The first one will only work if you have a /usr/local/bin/perl,
+the second will work as long as perl is in PATH.
diff --git a/test-ports/lang/perl5.28/pkg-plist b/test-ports/lang/perl5.28/pkg-plist
new file mode 100644
index 00000000..26eb6b7a
--- /dev/null
+++ b/test-ports/lang/perl5.28/pkg-plist
@@ -0,0 +1,2471 @@
+bin/corelist%%BINSUFFIX%%
+bin/cpan%%BINSUFFIX%%
+bin/enc2xs%%BINSUFFIX%%
+bin/encguess%%BINSUFFIX%%
+bin/h2ph%%BINSUFFIX%%
+bin/h2xs%%BINSUFFIX%%
+bin/instmodsh%%BINSUFFIX%%
+bin/json_pp%%BINSUFFIX%%
+bin/libnetcfg%%BINSUFFIX%%
+%%DEFAULT%%bin/perl
+%%DEFAULT%%bin/perl5
+bin/perl%%PERL_VERSION%%
+bin/perlbug%%BINSUFFIX%%
+bin/perldoc%%BINSUFFIX%%
+bin/perlivp%%BINSUFFIX%%
+bin/perlthanks%%BINSUFFIX%%
+bin/piconv%%BINSUFFIX%%
+bin/pl2pm%%BINSUFFIX%%
+bin/pod2html%%BINSUFFIX%%
+bin/pod2man%%BINSUFFIX%%
+bin/pod2text%%BINSUFFIX%%
+bin/pod2usage%%BINSUFFIX%%
+bin/podchecker%%BINSUFFIX%%
+bin/podselect%%BINSUFFIX%%
+bin/prove%%BINSUFFIX%%
+bin/ptar%%BINSUFFIX%%
+bin/ptardiff%%BINSUFFIX%%
+bin/ptargrep%%BINSUFFIX%%
+bin/shasum%%BINSUFFIX%%
+bin/splain%%BINSUFFIX%%
+bin/xsubpp%%BINSUFFIX%%
+bin/zipdetails%%BINSUFFIX%%
+etc/man.d/perl%%PKGNAMESUFFIX%%.conf
+%%PRIV_LIB%%/AnyDBM_File.pm
+%%PRIV_LIB%%/App/Cpan.pm
+%%PRIV_LIB%%/App/Prove.pm
+%%PRIV_LIB%%/App/Prove/State.pm
+%%PRIV_LIB%%/App/Prove/State/Result.pm
+%%PRIV_LIB%%/App/Prove/State/Result/Test.pm
+%%PRIV_LIB%%/Archive/Tar.pm
+%%PRIV_LIB%%/Archive/Tar/Constant.pm
+%%PRIV_LIB%%/Archive/Tar/File.pm
+%%PRIV_LIB%%/Attribute/Handlers.pm
+%%PRIV_LIB%%/AutoLoader.pm
+%%PRIV_LIB%%/AutoSplit.pm
+%%PRIV_LIB%%/B/Debug.pm
+%%PRIV_LIB%%/B/Deparse.pm
+%%PRIV_LIB%%/B/Op_private.pm
+%%PRIV_LIB%%/Benchmark.pm
+%%PRIV_LIB%%/CORE.pod
+%%PRIV_LIB%%/CPAN.pm
+%%PRIV_LIB%%/CPAN/API/HOWTO.pod
+%%PRIV_LIB%%/CPAN/Author.pm
+%%PRIV_LIB%%/CPAN/Bundle.pm
+%%PRIV_LIB%%/CPAN/CacheMgr.pm
+%%PRIV_LIB%%/CPAN/Complete.pm
+%%PRIV_LIB%%/CPAN/Debug.pm
+%%PRIV_LIB%%/CPAN/DeferredCode.pm
+%%PRIV_LIB%%/CPAN/Distribution.pm
+%%PRIV_LIB%%/CPAN/Distroprefs.pm
+%%PRIV_LIB%%/CPAN/Distrostatus.pm
+%%PRIV_LIB%%/CPAN/Exception/RecursiveDependency.pm
+%%PRIV_LIB%%/CPAN/Exception/blocked_urllist.pm
+%%PRIV_LIB%%/CPAN/Exception/yaml_not_installed.pm
+%%PRIV_LIB%%/CPAN/Exception/yaml_process_error.pm
+%%PRIV_LIB%%/CPAN/FTP.pm
+%%PRIV_LIB%%/CPAN/FTP/netrc.pm
+%%PRIV_LIB%%/CPAN/FirstTime.pm
+%%PRIV_LIB%%/CPAN/HTTP/Client.pm
+%%PRIV_LIB%%/CPAN/HTTP/Credentials.pm
+%%PRIV_LIB%%/CPAN/HandleConfig.pm
+%%PRIV_LIB%%/CPAN/Index.pm
+%%PRIV_LIB%%/CPAN/InfoObj.pm
+%%PRIV_LIB%%/CPAN/Kwalify.pm
+%%PRIV_LIB%%/CPAN/Kwalify/distroprefs.dd
+%%PRIV_LIB%%/CPAN/Kwalify/distroprefs.yml
+%%PRIV_LIB%%/CPAN/LWP/UserAgent.pm
+%%PRIV_LIB%%/CPAN/Meta.pm
+%%PRIV_LIB%%/CPAN/Meta/Converter.pm
+%%PRIV_LIB%%/CPAN/Meta/Feature.pm
+%%PRIV_LIB%%/CPAN/Meta/History.pm
+%%PRIV_LIB%%/CPAN/Meta/History/Meta_1_0.pod
+%%PRIV_LIB%%/CPAN/Meta/History/Meta_1_1.pod
+%%PRIV_LIB%%/CPAN/Meta/History/Meta_1_2.pod
+%%PRIV_LIB%%/CPAN/Meta/History/Meta_1_3.pod
+%%PRIV_LIB%%/CPAN/Meta/History/Meta_1_4.pod
+%%PRIV_LIB%%/CPAN/Meta/Merge.pm
+%%PRIV_LIB%%/CPAN/Meta/Prereqs.pm
+%%PRIV_LIB%%/CPAN/Meta/Requirements.pm
+%%PRIV_LIB%%/CPAN/Meta/Spec.pm
+%%PRIV_LIB%%/CPAN/Meta/Validator.pm
+%%PRIV_LIB%%/CPAN/Meta/YAML.pm
+%%PRIV_LIB%%/CPAN/Mirrors.pm
+%%PRIV_LIB%%/CPAN/Module.pm
+%%PRIV_LIB%%/CPAN/Nox.pm
+%%PRIV_LIB%%/CPAN/Plugin.pm
+%%PRIV_LIB%%/CPAN/Plugin/Specfile.pm
+%%PRIV_LIB%%/CPAN/Prompt.pm
+%%PRIV_LIB%%/CPAN/Queue.pm
+%%PRIV_LIB%%/CPAN/Shell.pm
+%%PRIV_LIB%%/CPAN/Tarzip.pm
+%%PRIV_LIB%%/CPAN/URL.pm
+%%PRIV_LIB%%/CPAN/Version.pm
+%%PRIV_LIB%%/Carp.pm
+%%PRIV_LIB%%/Carp/Heavy.pm
+%%PRIV_LIB%%/Class/Struct.pm
+%%PRIV_LIB%%/Compress/Zlib.pm
+%%PRIV_LIB%%/Config/Extensions.pm
+%%PRIV_LIB%%/Config/Perl/V.pm
+%%PRIV_LIB%%/DB.pm
+%%PRIV_LIB%%/DBM_Filter.pm
+%%PRIV_LIB%%/DBM_Filter/compress.pm
+%%PRIV_LIB%%/DBM_Filter/encode.pm
+%%PRIV_LIB%%/DBM_Filter/int32.pm
+%%PRIV_LIB%%/DBM_Filter/null.pm
+%%PRIV_LIB%%/DBM_Filter/utf8.pm
+%%PRIV_LIB%%/Devel/SelfStubber.pm
+%%PRIV_LIB%%/Digest.pm
+%%PRIV_LIB%%/Digest/base.pm
+%%PRIV_LIB%%/Digest/file.pm
+%%PRIV_LIB%%/DirHandle.pm
+%%PRIV_LIB%%/Dumpvalue.pm
+%%PRIV_LIB%%/Encode/Changes.e2x
+%%PRIV_LIB%%/Encode/ConfigLocal_PM.e2x
+%%PRIV_LIB%%/Encode/Makefile_PL.e2x
+%%PRIV_LIB%%/Encode/PerlIO.pod
+%%PRIV_LIB%%/Encode/README.e2x
+%%PRIV_LIB%%/Encode/Supported.pod
+%%PRIV_LIB%%/Encode/_PM.e2x
+%%PRIV_LIB%%/Encode/_T.e2x
+%%PRIV_LIB%%/Encode/encode.h
+%%PRIV_LIB%%/English.pm
+%%PRIV_LIB%%/Env.pm
+%%PRIV_LIB%%/Exporter.pm
+%%PRIV_LIB%%/Exporter/Heavy.pm
+%%PRIV_LIB%%/ExtUtils/CBuilder.pm
+%%PRIV_LIB%%/ExtUtils/CBuilder/Base.pm
+%%PRIV_LIB%%/ExtUtils/CBuilder/Platform/Unix.pm
+%%PRIV_LIB%%/ExtUtils/CBuilder/Platform/VMS.pm
+%%PRIV_LIB%%/ExtUtils/CBuilder/Platform/Windows.pm
+%%PRIV_LIB%%/ExtUtils/CBuilder/Platform/Windows/BCC.pm
+%%PRIV_LIB%%/ExtUtils/CBuilder/Platform/Windows/GCC.pm
+%%PRIV_LIB%%/ExtUtils/CBuilder/Platform/Windows/MSVC.pm
+%%PRIV_LIB%%/ExtUtils/CBuilder/Platform/aix.pm
+%%PRIV_LIB%%/ExtUtils/CBuilder/Platform/android.pm
+%%PRIV_LIB%%/ExtUtils/CBuilder/Platform/cygwin.pm
+%%PRIV_LIB%%/ExtUtils/CBuilder/Platform/darwin.pm
+%%PRIV_LIB%%/ExtUtils/CBuilder/Platform/dec_osf.pm
+%%PRIV_LIB%%/ExtUtils/CBuilder/Platform/os2.pm
+%%PRIV_LIB%%/ExtUtils/Command.pm
+%%PRIV_LIB%%/ExtUtils/Command/MM.pm
+%%PRIV_LIB%%/ExtUtils/Constant.pm
+%%PRIV_LIB%%/ExtUtils/Constant/Base.pm
+%%PRIV_LIB%%/ExtUtils/Constant/ProxySubs.pm
+%%PRIV_LIB%%/ExtUtils/Constant/Utils.pm
+%%PRIV_LIB%%/ExtUtils/Constant/XS.pm
+%%PRIV_LIB%%/ExtUtils/Embed.pm
+%%PRIV_LIB%%/ExtUtils/Install.pm
+%%PRIV_LIB%%/ExtUtils/Installed.pm
+%%PRIV_LIB%%/ExtUtils/Liblist.pm
+%%PRIV_LIB%%/ExtUtils/Liblist/Kid.pm
+%%PRIV_LIB%%/ExtUtils/MANIFEST.SKIP
+%%PRIV_LIB%%/ExtUtils/MM.pm
+%%PRIV_LIB%%/ExtUtils/MM_AIX.pm
+%%PRIV_LIB%%/ExtUtils/MM_Any.pm
+%%PRIV_LIB%%/ExtUtils/MM_BeOS.pm
+%%PRIV_LIB%%/ExtUtils/MM_Cygwin.pm
+%%PRIV_LIB%%/ExtUtils/MM_DOS.pm
+%%PRIV_LIB%%/ExtUtils/MM_Darwin.pm
+%%PRIV_LIB%%/ExtUtils/MM_MacOS.pm
+%%PRIV_LIB%%/ExtUtils/MM_NW5.pm
+%%PRIV_LIB%%/ExtUtils/MM_OS2.pm
+%%PRIV_LIB%%/ExtUtils/MM_QNX.pm
+%%PRIV_LIB%%/ExtUtils/MM_UWIN.pm
+%%PRIV_LIB%%/ExtUtils/MM_Unix.pm
+%%PRIV_LIB%%/ExtUtils/MM_VMS.pm
+%%PRIV_LIB%%/ExtUtils/MM_VOS.pm
+%%PRIV_LIB%%/ExtUtils/MM_Win32.pm
+%%PRIV_LIB%%/ExtUtils/MM_Win95.pm
+%%PRIV_LIB%%/ExtUtils/MY.pm
+%%PRIV_LIB%%/ExtUtils/MakeMaker.pm
+%%PRIV_LIB%%/ExtUtils/MakeMaker/Config.pm
+%%PRIV_LIB%%/ExtUtils/MakeMaker/FAQ.pod
+%%PRIV_LIB%%/ExtUtils/MakeMaker/Locale.pm
+%%PRIV_LIB%%/ExtUtils/MakeMaker/Tutorial.pod
+%%PRIV_LIB%%/ExtUtils/MakeMaker/version.pm
+%%PRIV_LIB%%/ExtUtils/Manifest.pm
+%%PRIV_LIB%%/ExtUtils/Miniperl.pm
+%%PRIV_LIB%%/ExtUtils/Mkbootstrap.pm
+%%PRIV_LIB%%/ExtUtils/Mksymlists.pm
+%%PRIV_LIB%%/ExtUtils/Packlist.pm
+%%PRIV_LIB%%/ExtUtils/ParseXS.pm
+%%PRIV_LIB%%/ExtUtils/ParseXS.pod
+%%PRIV_LIB%%/ExtUtils/ParseXS/Constants.pm
+%%PRIV_LIB%%/ExtUtils/ParseXS/CountLines.pm
+%%PRIV_LIB%%/ExtUtils/ParseXS/Eval.pm
+%%PRIV_LIB%%/ExtUtils/ParseXS/Utilities.pm
+%%PRIV_LIB%%/ExtUtils/Typemaps.pm
+%%PRIV_LIB%%/ExtUtils/Typemaps/Cmd.pm
+%%PRIV_LIB%%/ExtUtils/Typemaps/InputMap.pm
+%%PRIV_LIB%%/ExtUtils/Typemaps/OutputMap.pm
+%%PRIV_LIB%%/ExtUtils/Typemaps/Type.pm
+%%PRIV_LIB%%/ExtUtils/testlib.pm
+%%PRIV_LIB%%/ExtUtils/typemap
+%%PRIV_LIB%%/ExtUtils/xsubpp
+%%PRIV_LIB%%/Fatal.pm
+%%PRIV_LIB%%/File/Basename.pm
+%%PRIV_LIB%%/File/Compare.pm
+%%PRIV_LIB%%/File/Copy.pm
+%%PRIV_LIB%%/File/Fetch.pm
+%%PRIV_LIB%%/File/Find.pm
+%%PRIV_LIB%%/File/GlobMapper.pm
+%%PRIV_LIB%%/File/Path.pm
+%%PRIV_LIB%%/File/Temp.pm
+%%PRIV_LIB%%/File/stat.pm
+%%PRIV_LIB%%/FileCache.pm
+%%PRIV_LIB%%/FileHandle.pm
+%%PRIV_LIB%%/Filter/Simple.pm
+%%PRIV_LIB%%/FindBin.pm
+%%PRIV_LIB%%/Getopt/Long.pm
+%%PRIV_LIB%%/Getopt/Std.pm
+%%PRIV_LIB%%/HTTP/Tiny.pm
+%%PRIV_LIB%%/I18N/Collate.pm
+%%PRIV_LIB%%/I18N/LangTags.pm
+%%PRIV_LIB%%/I18N/LangTags/Detect.pm
+%%PRIV_LIB%%/I18N/LangTags/List.pm
+%%PRIV_LIB%%/IO/Compress/Adapter/Bzip2.pm
+%%PRIV_LIB%%/IO/Compress/Adapter/Deflate.pm
+%%PRIV_LIB%%/IO/Compress/Adapter/Identity.pm
+%%PRIV_LIB%%/IO/Compress/Base.pm
+%%PRIV_LIB%%/IO/Compress/Base/Common.pm
+%%PRIV_LIB%%/IO/Compress/Bzip2.pm
+%%PRIV_LIB%%/IO/Compress/Deflate.pm
+%%PRIV_LIB%%/IO/Compress/FAQ.pod
+%%PRIV_LIB%%/IO/Compress/Gzip.pm
+%%PRIV_LIB%%/IO/Compress/Gzip/Constants.pm
+%%PRIV_LIB%%/IO/Compress/RawDeflate.pm
+%%PRIV_LIB%%/IO/Compress/Zip.pm
+%%PRIV_LIB%%/IO/Compress/Zip/Constants.pm
+%%PRIV_LIB%%/IO/Compress/Zlib/Constants.pm
+%%PRIV_LIB%%/IO/Compress/Zlib/Extra.pm
+%%PRIV_LIB%%/IO/Socket/IP.pm
+%%PRIV_LIB%%/IO/Uncompress/Adapter/Bunzip2.pm
+%%PRIV_LIB%%/IO/Uncompress/Adapter/Identity.pm
+%%PRIV_LIB%%/IO/Uncompress/Adapter/Inflate.pm
+%%PRIV_LIB%%/IO/Uncompress/AnyInflate.pm
+%%PRIV_LIB%%/IO/Uncompress/AnyUncompress.pm
+%%PRIV_LIB%%/IO/Uncompress/Base.pm
+%%PRIV_LIB%%/IO/Uncompress/Bunzip2.pm
+%%PRIV_LIB%%/IO/Uncompress/Gunzip.pm
+%%PRIV_LIB%%/IO/Uncompress/Inflate.pm
+%%PRIV_LIB%%/IO/Uncompress/RawInflate.pm
+%%PRIV_LIB%%/IO/Uncompress/Unzip.pm
+%%PRIV_LIB%%/IO/Zlib.pm
+%%PRIV_LIB%%/IPC/Cmd.pm
+%%PRIV_LIB%%/IPC/Open2.pm
+%%PRIV_LIB%%/IPC/Open3.pm
+%%PRIV_LIB%%/Internals.pod
+%%PRIV_LIB%%/JSON/PP.pm
+%%PRIV_LIB%%/JSON/PP/Boolean.pm
+%%PRIV_LIB%%/Locale/Codes.pm
+%%PRIV_LIB%%/Locale/Codes.pod
+%%PRIV_LIB%%/Locale/Codes/Changes.pod
+%%PRIV_LIB%%/Locale/Codes/Constants.pm
+%%PRIV_LIB%%/Locale/Codes/Country.pm
+%%PRIV_LIB%%/Locale/Codes/Country.pod
+%%PRIV_LIB%%/Locale/Codes/Country_Codes.pm
+%%PRIV_LIB%%/Locale/Codes/Country_Retired.pm
+%%PRIV_LIB%%/Locale/Codes/Currency.pm
+%%PRIV_LIB%%/Locale/Codes/Currency.pod
+%%PRIV_LIB%%/Locale/Codes/Currency_Codes.pm
+%%PRIV_LIB%%/Locale/Codes/Currency_Retired.pm
+%%PRIV_LIB%%/Locale/Codes/LangExt.pm
+%%PRIV_LIB%%/Locale/Codes/LangExt.pod
+%%PRIV_LIB%%/Locale/Codes/LangExt_Codes.pm
+%%PRIV_LIB%%/Locale/Codes/LangExt_Retired.pm
+%%PRIV_LIB%%/Locale/Codes/LangFam.pm
+%%PRIV_LIB%%/Locale/Codes/LangFam.pod
+%%PRIV_LIB%%/Locale/Codes/LangFam_Codes.pm
+%%PRIV_LIB%%/Locale/Codes/LangFam_Retired.pm
+%%PRIV_LIB%%/Locale/Codes/LangVar.pm
+%%PRIV_LIB%%/Locale/Codes/LangVar.pod
+%%PRIV_LIB%%/Locale/Codes/LangVar_Codes.pm
+%%PRIV_LIB%%/Locale/Codes/LangVar_Retired.pm
+%%PRIV_LIB%%/Locale/Codes/Language.pm
+%%PRIV_LIB%%/Locale/Codes/Language.pod
+%%PRIV_LIB%%/Locale/Codes/Language_Codes.pm
+%%PRIV_LIB%%/Locale/Codes/Language_Retired.pm
+%%PRIV_LIB%%/Locale/Codes/Script.pm
+%%PRIV_LIB%%/Locale/Codes/Script.pod
+%%PRIV_LIB%%/Locale/Codes/Script_Codes.pm
+%%PRIV_LIB%%/Locale/Codes/Script_Retired.pm
+%%PRIV_LIB%%/Locale/Codes/Types.pod
+%%PRIV_LIB%%/Locale/Country.pm
+%%PRIV_LIB%%/Locale/Country.pod
+%%PRIV_LIB%%/Locale/Currency.pm
+%%PRIV_LIB%%/Locale/Currency.pod
+%%PRIV_LIB%%/Locale/Language.pm
+%%PRIV_LIB%%/Locale/Language.pod
+%%PRIV_LIB%%/Locale/Maketext.pm
+%%PRIV_LIB%%/Locale/Maketext.pod
+%%PRIV_LIB%%/Locale/Maketext/Cookbook.pod
+%%PRIV_LIB%%/Locale/Maketext/Guts.pm
+%%PRIV_LIB%%/Locale/Maketext/GutsLoader.pm
+%%PRIV_LIB%%/Locale/Maketext/Simple.pm
+%%PRIV_LIB%%/Locale/Maketext/TPJ13.pod
+%%PRIV_LIB%%/Locale/Script.pm
+%%PRIV_LIB%%/Locale/Script.pod
+%%PRIV_LIB%%/Math/BigFloat.pm
+%%PRIV_LIB%%/Math/BigFloat/Trace.pm
+%%PRIV_LIB%%/Math/BigInt.pm
+%%PRIV_LIB%%/Math/BigInt/Calc.pm
+%%PRIV_LIB%%/Math/BigInt/CalcEmu.pm
+%%PRIV_LIB%%/Math/BigInt/Lib.pm
+%%PRIV_LIB%%/Math/BigInt/Trace.pm
+%%PRIV_LIB%%/Math/BigRat.pm
+%%PRIV_LIB%%/Math/Complex.pm
+%%PRIV_LIB%%/Math/Trig.pm
+%%PRIV_LIB%%/Memoize.pm
+%%PRIV_LIB%%/Memoize/AnyDBM_File.pm
+%%PRIV_LIB%%/Memoize/Expire.pm
+%%PRIV_LIB%%/Memoize/ExpireFile.pm
+%%PRIV_LIB%%/Memoize/ExpireTest.pm
+%%PRIV_LIB%%/Memoize/NDBM_File.pm
+%%PRIV_LIB%%/Memoize/SDBM_File.pm
+%%PRIV_LIB%%/Memoize/Storable.pm
+%%PRIV_LIB%%/Module/CoreList.pm
+%%PRIV_LIB%%/Module/CoreList.pod
+%%PRIV_LIB%%/Module/CoreList/Utils.pm
+%%PRIV_LIB%%/Module/Load.pm
+%%PRIV_LIB%%/Module/Load/Conditional.pm
+%%PRIV_LIB%%/Module/Loaded.pm
+%%PRIV_LIB%%/Module/Metadata.pm
+%%PRIV_LIB%%/NEXT.pm
+%%PRIV_LIB%%/Net/Cmd.pm
+%%PRIV_LIB%%/Net/Config.pm
+%%PRIV_LIB%%/Net/Domain.pm
+%%PRIV_LIB%%/Net/FTP.pm
+%%PRIV_LIB%%/Net/FTP/A.pm
+%%PRIV_LIB%%/Net/FTP/E.pm
+%%PRIV_LIB%%/Net/FTP/I.pm
+%%PRIV_LIB%%/Net/FTP/L.pm
+%%PRIV_LIB%%/Net/FTP/dataconn.pm
+%%PRIV_LIB%%/Net/NNTP.pm
+%%PRIV_LIB%%/Net/Netrc.pm
+%%PRIV_LIB%%/Net/POP3.pm
+%%PRIV_LIB%%/Net/Ping.pm
+%%PRIV_LIB%%/Net/SMTP.pm
+%%PRIV_LIB%%/Net/Time.pm
+%%PRIV_LIB%%/Net/hostent.pm
+%%PRIV_LIB%%/Net/libnetFAQ.pod
+%%PRIV_LIB%%/Net/netent.pm
+%%PRIV_LIB%%/Net/protoent.pm
+%%PRIV_LIB%%/Net/servent.pm
+%%PRIV_LIB%%/Params/Check.pm
+%%PRIV_LIB%%/Parse/CPAN/Meta.pm
+%%PRIV_LIB%%/Perl/OSType.pm
+%%PRIV_LIB%%/PerlIO.pm
+%%PRIV_LIB%%/PerlIO/via/QuotedPrint.pm
+%%PRIV_LIB%%/Pod/Checker.pm
+%%PRIV_LIB%%/Pod/Escapes.pm
+%%PRIV_LIB%%/Pod/Find.pm
+%%PRIV_LIB%%/Pod/Functions.pm
+%%PRIV_LIB%%/Pod/Html.pm
+%%PRIV_LIB%%/Pod/InputObjects.pm
+%%PRIV_LIB%%/Pod/Man.pm
+%%PRIV_LIB%%/Pod/ParseLink.pm
+%%PRIV_LIB%%/Pod/ParseUtils.pm
+%%PRIV_LIB%%/Pod/Parser.pm
+%%PRIV_LIB%%/Pod/Perldoc.pm
+%%PRIV_LIB%%/Pod/Perldoc/BaseTo.pm
+%%PRIV_LIB%%/Pod/Perldoc/GetOptsOO.pm
+%%PRIV_LIB%%/Pod/Perldoc/ToANSI.pm
+%%PRIV_LIB%%/Pod/Perldoc/ToChecker.pm
+%%PRIV_LIB%%/Pod/Perldoc/ToMan.pm
+%%PRIV_LIB%%/Pod/Perldoc/ToNroff.pm
+%%PRIV_LIB%%/Pod/Perldoc/ToPod.pm
+%%PRIV_LIB%%/Pod/Perldoc/ToRtf.pm
+%%PRIV_LIB%%/Pod/Perldoc/ToTerm.pm
+%%PRIV_LIB%%/Pod/Perldoc/ToText.pm
+%%PRIV_LIB%%/Pod/Perldoc/ToTk.pm
+%%PRIV_LIB%%/Pod/Perldoc/ToXml.pm
+%%PRIV_LIB%%/Pod/PlainText.pm
+%%PRIV_LIB%%/Pod/Select.pm
+%%PRIV_LIB%%/Pod/Simple.pm
+%%PRIV_LIB%%/Pod/Simple.pod
+%%PRIV_LIB%%/Pod/Simple/BlackBox.pm
+%%PRIV_LIB%%/Pod/Simple/Checker.pm
+%%PRIV_LIB%%/Pod/Simple/Debug.pm
+%%PRIV_LIB%%/Pod/Simple/DumpAsText.pm
+%%PRIV_LIB%%/Pod/Simple/DumpAsXML.pm
+%%PRIV_LIB%%/Pod/Simple/HTML.pm
+%%PRIV_LIB%%/Pod/Simple/HTMLBatch.pm
+%%PRIV_LIB%%/Pod/Simple/HTMLLegacy.pm
+%%PRIV_LIB%%/Pod/Simple/LinkSection.pm
+%%PRIV_LIB%%/Pod/Simple/Methody.pm
+%%PRIV_LIB%%/Pod/Simple/Progress.pm
+%%PRIV_LIB%%/Pod/Simple/PullParser.pm
+%%PRIV_LIB%%/Pod/Simple/PullParserEndToken.pm
+%%PRIV_LIB%%/Pod/Simple/PullParserStartToken.pm
+%%PRIV_LIB%%/Pod/Simple/PullParserTextToken.pm
+%%PRIV_LIB%%/Pod/Simple/PullParserToken.pm
+%%PRIV_LIB%%/Pod/Simple/RTF.pm
+%%PRIV_LIB%%/Pod/Simple/Search.pm
+%%PRIV_LIB%%/Pod/Simple/SimpleTree.pm
+%%PRIV_LIB%%/Pod/Simple/Subclassing.pod
+%%PRIV_LIB%%/Pod/Simple/Text.pm
+%%PRIV_LIB%%/Pod/Simple/TextContent.pm
+%%PRIV_LIB%%/Pod/Simple/TiedOutFH.pm
+%%PRIV_LIB%%/Pod/Simple/Transcode.pm
+%%PRIV_LIB%%/Pod/Simple/TranscodeDumb.pm
+%%PRIV_LIB%%/Pod/Simple/TranscodeSmart.pm
+%%PRIV_LIB%%/Pod/Simple/XHTML.pm
+%%PRIV_LIB%%/Pod/Simple/XMLOutStream.pm
+%%PRIV_LIB%%/Pod/Text.pm
+%%PRIV_LIB%%/Pod/Text/Color.pm
+%%PRIV_LIB%%/Pod/Text/Overstrike.pm
+%%PRIV_LIB%%/Pod/Text/Termcap.pm
+%%PRIV_LIB%%/Pod/Usage.pm
+%%PRIV_LIB%%/Safe.pm
+%%PRIV_LIB%%/Search/Dict.pm
+%%PRIV_LIB%%/SelectSaver.pm
+%%PRIV_LIB%%/SelfLoader.pm
+%%PRIV_LIB%%/Symbol.pm
+%%PRIV_LIB%%/TAP/Base.pm
+%%PRIV_LIB%%/TAP/Formatter/Base.pm
+%%PRIV_LIB%%/TAP/Formatter/Color.pm
+%%PRIV_LIB%%/TAP/Formatter/Console.pm
+%%PRIV_LIB%%/TAP/Formatter/Console/ParallelSession.pm
+%%PRIV_LIB%%/TAP/Formatter/Console/Session.pm
+%%PRIV_LIB%%/TAP/Formatter/File.pm
+%%PRIV_LIB%%/TAP/Formatter/File/Session.pm
+%%PRIV_LIB%%/TAP/Formatter/Session.pm
+%%PRIV_LIB%%/TAP/Harness.pm
+%%PRIV_LIB%%/TAP/Harness/Beyond.pod
+%%PRIV_LIB%%/TAP/Harness/Env.pm
+%%PRIV_LIB%%/TAP/Object.pm
+%%PRIV_LIB%%/TAP/Parser.pm
+%%PRIV_LIB%%/TAP/Parser/Aggregator.pm
+%%PRIV_LIB%%/TAP/Parser/Grammar.pm
+%%PRIV_LIB%%/TAP/Parser/Iterator.pm
+%%PRIV_LIB%%/TAP/Parser/Iterator/Array.pm
+%%PRIV_LIB%%/TAP/Parser/Iterator/Process.pm
+%%PRIV_LIB%%/TAP/Parser/Iterator/Stream.pm
+%%PRIV_LIB%%/TAP/Parser/IteratorFactory.pm
+%%PRIV_LIB%%/TAP/Parser/Multiplexer.pm
+%%PRIV_LIB%%/TAP/Parser/Result.pm
+%%PRIV_LIB%%/TAP/Parser/Result/Bailout.pm
+%%PRIV_LIB%%/TAP/Parser/Result/Comment.pm
+%%PRIV_LIB%%/TAP/Parser/Result/Plan.pm
+%%PRIV_LIB%%/TAP/Parser/Result/Pragma.pm
+%%PRIV_LIB%%/TAP/Parser/Result/Test.pm
+%%PRIV_LIB%%/TAP/Parser/Result/Unknown.pm
+%%PRIV_LIB%%/TAP/Parser/Result/Version.pm
+%%PRIV_LIB%%/TAP/Parser/Result/YAML.pm
+%%PRIV_LIB%%/TAP/Parser/ResultFactory.pm
+%%PRIV_LIB%%/TAP/Parser/Scheduler.pm
+%%PRIV_LIB%%/TAP/Parser/Scheduler/Job.pm
+%%PRIV_LIB%%/TAP/Parser/Scheduler/Spinner.pm
+%%PRIV_LIB%%/TAP/Parser/Source.pm
+%%PRIV_LIB%%/TAP/Parser/SourceHandler.pm
+%%PRIV_LIB%%/TAP/Parser/SourceHandler/Executable.pm
+%%PRIV_LIB%%/TAP/Parser/SourceHandler/File.pm
+%%PRIV_LIB%%/TAP/Parser/SourceHandler/Handle.pm
+%%PRIV_LIB%%/TAP/Parser/SourceHandler/Perl.pm
+%%PRIV_LIB%%/TAP/Parser/SourceHandler/RawTAP.pm
+%%PRIV_LIB%%/TAP/Parser/YAMLish/Reader.pm
+%%PRIV_LIB%%/TAP/Parser/YAMLish/Writer.pm
+%%PRIV_LIB%%/Term/ANSIColor.pm
+%%PRIV_LIB%%/Term/Cap.pm
+%%PRIV_LIB%%/Term/Complete.pm
+%%PRIV_LIB%%/Term/ReadLine.pm
+%%PRIV_LIB%%/Test.pm
+%%PRIV_LIB%%/Test/Builder.pm
+%%PRIV_LIB%%/Test/Builder/Formatter.pm
+%%PRIV_LIB%%/Test/Builder/IO/Scalar.pm
+%%PRIV_LIB%%/Test/Builder/Module.pm
+%%PRIV_LIB%%/Test/Builder/Tester.pm
+%%PRIV_LIB%%/Test/Builder/Tester/Color.pm
+%%PRIV_LIB%%/Test/Builder/TodoDiag.pm
+%%PRIV_LIB%%/Test/Harness.pm
+%%PRIV_LIB%%/Test/More.pm
+%%PRIV_LIB%%/Test/Simple.pm
+%%PRIV_LIB%%/Test/Tester.pm
+%%PRIV_LIB%%/Test/Tester/Capture.pm
+%%PRIV_LIB%%/Test/Tester/CaptureRunner.pm
+%%PRIV_LIB%%/Test/Tester/Delegate.pm
+%%PRIV_LIB%%/Test/Tutorial.pod
+%%PRIV_LIB%%/Test/use/ok.pm
+%%PRIV_LIB%%/Test2.pm
+%%PRIV_LIB%%/Test2/API.pm
+%%PRIV_LIB%%/Test2/API/Breakage.pm
+%%PRIV_LIB%%/Test2/API/Context.pm
+%%PRIV_LIB%%/Test2/API/Instance.pm
+%%PRIV_LIB%%/Test2/API/Stack.pm
+%%PRIV_LIB%%/Test2/Event.pm
+%%PRIV_LIB%%/Test2/Event/Bail.pm
+%%PRIV_LIB%%/Test2/Event/Diag.pm
+%%PRIV_LIB%%/Test2/Event/Encoding.pm
+%%PRIV_LIB%%/Test2/Event/Exception.pm
+%%PRIV_LIB%%/Test2/Event/Fail.pm
+%%PRIV_LIB%%/Test2/Event/Generic.pm
+%%PRIV_LIB%%/Test2/Event/Note.pm
+%%PRIV_LIB%%/Test2/Event/Ok.pm
+%%PRIV_LIB%%/Test2/Event/Pass.pm
+%%PRIV_LIB%%/Test2/Event/Plan.pm
+%%PRIV_LIB%%/Test2/Event/Skip.pm
+%%PRIV_LIB%%/Test2/Event/Subtest.pm
+%%PRIV_LIB%%/Test2/Event/TAP/Version.pm
+%%PRIV_LIB%%/Test2/Event/V2.pm
+%%PRIV_LIB%%/Test2/Event/Waiting.pm
+%%PRIV_LIB%%/Test2/EventFacet.pm
+%%PRIV_LIB%%/Test2/EventFacet/About.pm
+%%PRIV_LIB%%/Test2/EventFacet/Amnesty.pm
+%%PRIV_LIB%%/Test2/EventFacet/Assert.pm
+%%PRIV_LIB%%/Test2/EventFacet/Control.pm
+%%PRIV_LIB%%/Test2/EventFacet/Error.pm
+%%PRIV_LIB%%/Test2/EventFacet/Hub.pm
+%%PRIV_LIB%%/Test2/EventFacet/Info.pm
+%%PRIV_LIB%%/Test2/EventFacet/Meta.pm
+%%PRIV_LIB%%/Test2/EventFacet/Parent.pm
+%%PRIV_LIB%%/Test2/EventFacet/Plan.pm
+%%PRIV_LIB%%/Test2/EventFacet/Render.pm
+%%PRIV_LIB%%/Test2/EventFacet/Trace.pm
+%%PRIV_LIB%%/Test2/Formatter.pm
+%%PRIV_LIB%%/Test2/Formatter/TAP.pm
+%%PRIV_LIB%%/Test2/Hub.pm
+%%PRIV_LIB%%/Test2/Hub/Interceptor.pm
+%%PRIV_LIB%%/Test2/Hub/Interceptor/Terminator.pm
+%%PRIV_LIB%%/Test2/Hub/Subtest.pm
+%%PRIV_LIB%%/Test2/IPC.pm
+%%PRIV_LIB%%/Test2/IPC/Driver.pm
+%%PRIV_LIB%%/Test2/IPC/Driver/Files.pm
+%%PRIV_LIB%%/Test2/Tools/Tiny.pm
+%%PRIV_LIB%%/Test2/Transition.pod
+%%PRIV_LIB%%/Test2/Util.pm
+%%PRIV_LIB%%/Test2/Util/ExternalMeta.pm
+%%PRIV_LIB%%/Test2/Util/Facets2Legacy.pm
+%%PRIV_LIB%%/Test2/Util/HashBase.pm
+%%PRIV_LIB%%/Test2/Util/Trace.pm
+%%PRIV_LIB%%/Text/Abbrev.pm
+%%PRIV_LIB%%/Text/Balanced.pm
+%%PRIV_LIB%%/Text/ParseWords.pm
+%%PRIV_LIB%%/Text/Tabs.pm
+%%PRIV_LIB%%/Text/Wrap.pm
+%%PRIV_LIB%%/Thread.pm
+%%PRIV_LIB%%/Thread/Queue.pm
+%%PRIV_LIB%%/Thread/Semaphore.pm
+%%PRIV_LIB%%/Tie/Array.pm
+%%PRIV_LIB%%/Tie/File.pm
+%%PRIV_LIB%%/Tie/Handle.pm
+%%PRIV_LIB%%/Tie/Hash.pm
+%%PRIV_LIB%%/Tie/Memoize.pm
+%%PRIV_LIB%%/Tie/RefHash.pm
+%%PRIV_LIB%%/Tie/Scalar.pm
+%%PRIV_LIB%%/Tie/StdHandle.pm
+%%PRIV_LIB%%/Tie/SubstrHash.pm
+%%PRIV_LIB%%/Time/Local.pm
+%%PRIV_LIB%%/Time/gmtime.pm
+%%PRIV_LIB%%/Time/localtime.pm
+%%PRIV_LIB%%/Time/tm.pm
+%%PRIV_LIB%%/UNIVERSAL.pm
+%%PRIV_LIB%%/Unicode/Collate/CJK/Big5.pm
+%%PRIV_LIB%%/Unicode/Collate/CJK/GB2312.pm
+%%PRIV_LIB%%/Unicode/Collate/CJK/JISX0208.pm
+%%PRIV_LIB%%/Unicode/Collate/CJK/Korean.pm
+%%PRIV_LIB%%/Unicode/Collate/CJK/Pinyin.pm
+%%PRIV_LIB%%/Unicode/Collate/CJK/Stroke.pm
+%%PRIV_LIB%%/Unicode/Collate/CJK/Zhuyin.pm
+%%PRIV_LIB%%/Unicode/Collate/Locale/af.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/ar.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/as.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/az.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/be.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/bn.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/ca.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/cs.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/cy.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/da.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/de_at_ph.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/de_phone.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/dsb.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/ee.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/eo.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/es.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/es_trad.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/et.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/fa.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/fi.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/fi_phone.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/fil.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/fo.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/fr_ca.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/gu.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/ha.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/haw.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/he.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/hi.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/hr.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/hu.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/hy.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/ig.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/is.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/ja.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/kk.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/kl.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/kn.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/ko.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/kok.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/lkt.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/ln.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/lt.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/lv.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/mk.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/ml.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/mr.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/mt.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/nb.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/nn.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/nso.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/om.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/or.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/pa.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/pl.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/ro.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/sa.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/se.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/si.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/si_dict.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/sk.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/sl.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/sq.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/sr.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/sv.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/sv_refo.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/ta.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/te.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/th.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/tn.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/to.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/tr.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/ug_cyrl.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/uk.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/ur.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/vi.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/vo.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/wae.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/wo.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/yo.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/zh.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/zh_big5.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/zh_gb.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/zh_pin.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/zh_strk.pl
+%%PRIV_LIB%%/Unicode/Collate/Locale/zh_zhu.pl
+%%PRIV_LIB%%/Unicode/Collate/allkeys.txt
+%%PRIV_LIB%%/Unicode/Collate/keys.txt
+%%PRIV_LIB%%/Unicode/UCD.pm
+%%PRIV_LIB%%/User/grent.pm
+%%PRIV_LIB%%/User/pwent.pm
+%%PRIV_LIB%%/XSLoader.pm
+%%PRIV_LIB%%/_charnames.pm
+%%PRIV_LIB%%/autodie.pm
+%%PRIV_LIB%%/autodie/Scope/Guard.pm
+%%PRIV_LIB%%/autodie/Scope/GuardStack.pm
+%%PRIV_LIB%%/autodie/Util.pm
+%%PRIV_LIB%%/autodie/exception.pm
+%%PRIV_LIB%%/autodie/exception/system.pm
+%%PRIV_LIB%%/autodie/hints.pm
+%%PRIV_LIB%%/autodie/skip.pm
+%%PRIV_LIB%%/autouse.pm
+%%PRIV_LIB%%/base.pm
+%%PRIV_LIB%%/bigint.pm
+%%PRIV_LIB%%/bignum.pm
+%%PRIV_LIB%%/bigrat.pm
+%%PRIV_LIB%%/blib.pm
+%%PRIV_LIB%%/bytes.pm
+%%PRIV_LIB%%/bytes_heavy.pl
+%%PRIV_LIB%%/charnames.pm
+%%PRIV_LIB%%/constant.pm
+%%PRIV_LIB%%/deprecate.pm
+%%PRIV_LIB%%/diagnostics.pm
+%%PRIV_LIB%%/dumpvar.pl
+%%PRIV_LIB%%/encoding/warnings.pm
+%%PRIV_LIB%%/experimental.pm
+%%PRIV_LIB%%/feature.pm
+%%PRIV_LIB%%/fields.pm
+%%PRIV_LIB%%/filetest.pm
+%%PRIV_LIB%%/if.pm
+%%PRIV_LIB%%/integer.pm
+%%PRIV_LIB%%/less.pm
+%%PRIV_LIB%%/locale.pm
+%%ARCH_LIB%%/.packlist
+%%ARCH_LIB%%/B.pm
+%%ARCH_LIB%%/B/Concise.pm
+%%ARCH_LIB%%/B/Showlex.pm
+%%ARCH_LIB%%/B/Terse.pm
+%%ARCH_LIB%%/B/Xref.pm
+%%ARCH_LIB%%/CORE/EXTERN.h
+%%ARCH_LIB%%/CORE/INTERN.h
+%%ARCH_LIB%%/CORE/XSUB.h
+%%ARCH_LIB%%/CORE/av.h
+%%ARCH_LIB%%/CORE/bitcount.h
+%%ARCH_LIB%%/CORE/charclass_invlists.h
+%%ARCH_LIB%%/CORE/config.h
+%%ARCH_LIB%%/CORE/cop.h
+%%ARCH_LIB%%/CORE/cv.h
+%%ARCH_LIB%%/CORE/dosish.h
+%%ARCH_LIB%%/CORE/dquote_inline.h
+%%ARCH_LIB%%/CORE/ebcdic_tables.h
+%%ARCH_LIB%%/CORE/embed.h
+%%ARCH_LIB%%/CORE/embedvar.h
+%%ARCH_LIB%%/CORE/fakesdio.h
+%%ARCH_LIB%%/CORE/feature.h
+%%ARCH_LIB%%/CORE/form.h
+%%ARCH_LIB%%/CORE/git_version.h
+%%ARCH_LIB%%/CORE/gv.h
+%%ARCH_LIB%%/CORE/handy.h
+%%ARCH_LIB%%/CORE/hv.h
+%%ARCH_LIB%%/CORE/hv_func.h
+%%ARCH_LIB%%/CORE/hv_macro.h
+%%ARCH_LIB%%/CORE/inline.h
+%%ARCH_LIB%%/CORE/intrpvar.h
+%%ARCH_LIB%%/CORE/invlist_inline.h
+%%ARCH_LIB%%/CORE/iperlsys.h
+%%ARCH_LIB%%/CORE/keywords.h
+%%ARCH_LIB%%/CORE/l1_char_class_tab.h
+%%ARCH_LIB%%/CORE/libperl.so
+%%ARCH_LIB%%/CORE/libperl.so.%%PERL_VER%%
+%%ARCH_LIB%%/CORE/libperl.so.%%PERL_VERSION%%
+%%ARCH_LIB%%/CORE/malloc_ctl.h
+%%ARCH_LIB%%/CORE/metaconfig.h
+%%ARCH_LIB%%/CORE/mg.h
+%%ARCH_LIB%%/CORE/mg_data.h
+%%ARCH_LIB%%/CORE/mg_raw.h
+%%ARCH_LIB%%/CORE/mg_vtable.h
+%%ARCH_LIB%%/CORE/mydtrace.h
+%%ARCH_LIB%%/CORE/nostdio.h
+%%ARCH_LIB%%/CORE/op.h
+%%ARCH_LIB%%/CORE/op_reg_common.h
+%%ARCH_LIB%%/CORE/opcode.h
+%%ARCH_LIB%%/CORE/opnames.h
+%%ARCH_LIB%%/CORE/overload.h
+%%ARCH_LIB%%/CORE/pad.h
+%%ARCH_LIB%%/CORE/parser.h
+%%ARCH_LIB%%/CORE/patchlevel.h
+%%ARCH_LIB%%/CORE/perl.h
+%%ARCH_LIB%%/CORE/perl_inc_macro.h
+%%ARCH_LIB%%/CORE/perl_langinfo.h
+%%ARCH_LIB%%/CORE/perlapi.h
+%%DTRACE%%%%ARCH_LIB%%/CORE/perldtrace.h
+%%ARCH_LIB%%/CORE/perlio.h
+%%ARCH_LIB%%/CORE/perliol.h
+%%ARCH_LIB%%/CORE/perlsdio.h
+%%ARCH_LIB%%/CORE/perlvars.h
+%%ARCH_LIB%%/CORE/perly.h
+%%ARCH_LIB%%/CORE/pp.h
+%%ARCH_LIB%%/CORE/pp_proto.h
+%%ARCH_LIB%%/CORE/proto.h
+%%ARCH_LIB%%/CORE/reentr.h
+%%ARCH_LIB%%/CORE/regcharclass.h
+%%ARCH_LIB%%/CORE/regcomp.h
+%%ARCH_LIB%%/CORE/regexp.h
+%%ARCH_LIB%%/CORE/regnodes.h
+%%ARCH_LIB%%/CORE/sbox32_hash.h
+%%ARCH_LIB%%/CORE/scope.h
+%%ARCH_LIB%%/CORE/stadtx_hash.h
+%%ARCH_LIB%%/CORE/sv.h
+%%ARCH_LIB%%/CORE/thread.h
+%%ARCH_LIB%%/CORE/time64.h
+%%ARCH_LIB%%/CORE/time64_config.h
+%%ARCH_LIB%%/CORE/uconfig.h
+%%ARCH_LIB%%/CORE/unicode_constants.h
+%%ARCH_LIB%%/CORE/unixish.h
+%%ARCH_LIB%%/CORE/uni_keywords.h
+%%ARCH_LIB%%/CORE/utf8.h
+%%ARCH_LIB%%/CORE/utfebcdic.h
+%%ARCH_LIB%%/CORE/util.h
+%%ARCH_LIB%%/CORE/uudmap.h
+%%ARCH_LIB%%/CORE/vutil.h
+%%ARCH_LIB%%/CORE/warnings.h
+%%ARCH_LIB%%/CORE/zaphod32_hash.h
+%%ARCH_LIB%%/Compress/Raw/Bzip2.pm
+%%ARCH_LIB%%/Compress/Raw/Zlib.pm
+%%ARCH_LIB%%/Config.pm
+%%ARCH_LIB%%/Config.pod
+%%ARCH_LIB%%/Config_git.pl
+%%ARCH_LIB%%/Config_heavy.pl
+%%ARCH_LIB%%/Cwd.pm
+%%ARCH_LIB%%/DB_File.pm
+%%ARCH_LIB%%/Data/Dumper.pm
+%%ARCH_LIB%%/Devel/PPPort.pm
+%%ARCH_LIB%%/Devel/Peek.pm
+%%ARCH_LIB%%/Digest/MD5.pm
+%%ARCH_LIB%%/Digest/SHA.pm
+%%ARCH_LIB%%/DynaLoader.pm
+%%ARCH_LIB%%/Encode.pm
+%%ARCH_LIB%%/Encode/Alias.pm
+%%ARCH_LIB%%/Encode/Byte.pm
+%%ARCH_LIB%%/Encode/CJKConstants.pm
+%%ARCH_LIB%%/Encode/CN.pm
+%%ARCH_LIB%%/Encode/CN/HZ.pm
+%%ARCH_LIB%%/Encode/Config.pm
+%%ARCH_LIB%%/Encode/EBCDIC.pm
+%%ARCH_LIB%%/Encode/Encoder.pm
+%%ARCH_LIB%%/Encode/Encoding.pm
+%%ARCH_LIB%%/Encode/GSM0338.pm
+%%ARCH_LIB%%/Encode/Guess.pm
+%%ARCH_LIB%%/Encode/JP.pm
+%%ARCH_LIB%%/Encode/JP/H2Z.pm
+%%ARCH_LIB%%/Encode/JP/JIS7.pm
+%%ARCH_LIB%%/Encode/KR.pm
+%%ARCH_LIB%%/Encode/KR/2022_KR.pm
+%%ARCH_LIB%%/Encode/MIME/Header.pm
+%%ARCH_LIB%%/Encode/MIME/Header/ISO_2022_JP.pm
+%%ARCH_LIB%%/Encode/MIME/Name.pm
+%%ARCH_LIB%%/Encode/Symbol.pm
+%%ARCH_LIB%%/Encode/TW.pm
+%%ARCH_LIB%%/Encode/Unicode.pm
+%%ARCH_LIB%%/Encode/Unicode/UTF7.pm
+%%ARCH_LIB%%/Errno.pm
+%%ARCH_LIB%%/Fcntl.pm
+%%ARCH_LIB%%/File/DosGlob.pm
+%%ARCH_LIB%%/File/Glob.pm
+%%ARCH_LIB%%/File/Spec.pm
+%%ARCH_LIB%%/File/Spec/AmigaOS.pm
+%%ARCH_LIB%%/File/Spec/Cygwin.pm
+%%ARCH_LIB%%/File/Spec/Epoc.pm
+%%ARCH_LIB%%/File/Spec/Functions.pm
+%%ARCH_LIB%%/File/Spec/Mac.pm
+%%ARCH_LIB%%/File/Spec/OS2.pm
+%%ARCH_LIB%%/File/Spec/Unix.pm
+%%ARCH_LIB%%/File/Spec/VMS.pm
+%%ARCH_LIB%%/File/Spec/Win32.pm
+%%ARCH_LIB%%/Filter/Util/Call.pm
+%%GDBM%%%%ARCH_LIB%%/GDBM_File.pm
+%%ARCH_LIB%%/Hash/Util.pm
+%%ARCH_LIB%%/Hash/Util/FieldHash.pm
+%%ARCH_LIB%%/I18N/Langinfo.pm
+%%ARCH_LIB%%/IO.pm
+%%ARCH_LIB%%/IO/Dir.pm
+%%ARCH_LIB%%/IO/File.pm
+%%ARCH_LIB%%/IO/Handle.pm
+%%ARCH_LIB%%/IO/Pipe.pm
+%%ARCH_LIB%%/IO/Poll.pm
+%%ARCH_LIB%%/IO/Seekable.pm
+%%ARCH_LIB%%/IO/Select.pm
+%%ARCH_LIB%%/IO/Socket.pm
+%%ARCH_LIB%%/IO/Socket/INET.pm
+%%ARCH_LIB%%/IO/Socket/UNIX.pm
+%%ARCH_LIB%%/IPC/Msg.pm
+%%ARCH_LIB%%/IPC/Semaphore.pm
+%%ARCH_LIB%%/IPC/SharedMem.pm
+%%ARCH_LIB%%/IPC/SysV.pm
+%%ARCH_LIB%%/List/Util.pm
+%%ARCH_LIB%%/List/Util/XS.pm
+%%ARCH_LIB%%/MIME/Base64.pm
+%%ARCH_LIB%%/MIME/QuotedPrint.pm
+%%ARCH_LIB%%/Math/BigInt/FastCalc.pm
+%%ARCH_LIB%%/NDBM_File.pm
+%%ARCH_LIB%%/O.pm
+%%ARCH_LIB%%/Opcode.pm
+%%ARCH_LIB%%/POSIX.pm
+%%ARCH_LIB%%/POSIX.pod
+%%ARCH_LIB%%/PerlIO/encoding.pm
+%%ARCH_LIB%%/PerlIO/mmap.pm
+%%ARCH_LIB%%/PerlIO/scalar.pm
+%%ARCH_LIB%%/PerlIO/via.pm
+%%ARCH_LIB%%/SDBM_File.pm
+%%ARCH_LIB%%/Scalar/Util.pm
+%%ARCH_LIB%%/Socket.pm
+%%ARCH_LIB%%/Storable.pm
+%%ARCH_LIB%%/Storable/Limit.pm
+%%ARCH_LIB%%/Sub/Util.pm
+%%ARCH_LIB%%/Sys/Hostname.pm
+%%ARCH_LIB%%/Sys/Syslog.pm
+%%ARCH_LIB%%/Tie/Hash/NamedCapture.pm
+%%ARCH_LIB%%/Time/HiRes.pm
+%%ARCH_LIB%%/Time/Piece.pm
+%%ARCH_LIB%%/Time/Seconds.pm
+%%ARCH_LIB%%/Unicode/Collate.pm
+%%ARCH_LIB%%/Unicode/Collate/Locale.pm
+%%ARCH_LIB%%/Unicode/Normalize.pm
+%%ARCH_LIB%%/arybase.pm
+%%ARCH_LIB%%/attributes.pm
+%%ARCH_LIB%%/auto/B/B.so
+%%ARCH_LIB%%/auto/Compress/Raw/Bzip2/Bzip2.so
+%%ARCH_LIB%%/auto/Compress/Raw/Zlib/Zlib.so
+%%ARCH_LIB%%/auto/Cwd/Cwd.so
+%%ARCH_LIB%%/auto/DB_File/DB_File.so
+%%ARCH_LIB%%/auto/Data/Dumper/Dumper.so
+%%ARCH_LIB%%/auto/Devel/Peek/Peek.so
+%%ARCH_LIB%%/auto/Digest/MD5/MD5.so
+%%ARCH_LIB%%/auto/Digest/SHA/SHA.so
+%%ARCH_LIB%%/auto/Encode/Byte/Byte.so
+%%ARCH_LIB%%/auto/Encode/CN/CN.so
+%%ARCH_LIB%%/auto/Encode/EBCDIC/EBCDIC.so
+%%ARCH_LIB%%/auto/Encode/Encode.so
+%%ARCH_LIB%%/auto/Encode/JP/JP.so
+%%ARCH_LIB%%/auto/Encode/KR/KR.so
+%%ARCH_LIB%%/auto/Encode/Symbol/Symbol.so
+%%ARCH_LIB%%/auto/Encode/TW/TW.so
+%%ARCH_LIB%%/auto/Encode/Unicode/Unicode.so
+%%ARCH_LIB%%/auto/Fcntl/Fcntl.so
+%%ARCH_LIB%%/auto/File/DosGlob/DosGlob.so
+%%ARCH_LIB%%/auto/File/Glob/Glob.so
+%%ARCH_LIB%%/auto/Filter/Util/Call/Call.so
+%%GDBM%%%%ARCH_LIB%%/auto/GDBM_File/GDBM_File.so
+%%ARCH_LIB%%/auto/Hash/Util/FieldHash/FieldHash.so
+%%ARCH_LIB%%/auto/Hash/Util/Util.so
+%%ARCH_LIB%%/auto/I18N/Langinfo/Langinfo.so
+%%ARCH_LIB%%/auto/IO/IO.so
+%%ARCH_LIB%%/auto/IPC/SysV/SysV.so
+%%ARCH_LIB%%/auto/List/Util/Util.so
+%%ARCH_LIB%%/auto/MIME/Base64/Base64.so
+%%ARCH_LIB%%/auto/Math/BigInt/FastCalc/FastCalc.so
+%%ARCH_LIB%%/auto/NDBM_File/NDBM_File.so
+%%ARCH_LIB%%/auto/Opcode/Opcode.so
+%%ARCH_LIB%%/auto/POSIX/POSIX.so
+%%ARCH_LIB%%/auto/PerlIO/encoding/encoding.so
+%%ARCH_LIB%%/auto/PerlIO/mmap/mmap.so
+%%ARCH_LIB%%/auto/PerlIO/scalar/scalar.so
+%%ARCH_LIB%%/auto/PerlIO/via/via.so
+%%ARCH_LIB%%/auto/SDBM_File/SDBM_File.so
+%%ARCH_LIB%%/auto/Socket/Socket.so
+%%ARCH_LIB%%/auto/Storable/Storable.so
+%%ARCH_LIB%%/auto/Sys/Hostname/Hostname.so
+%%ARCH_LIB%%/auto/Sys/Syslog/Syslog.so
+%%ARCH_LIB%%/auto/Tie/Hash/NamedCapture/NamedCapture.so
+%%ARCH_LIB%%/auto/Time/HiRes/HiRes.so
+%%ARCH_LIB%%/auto/Time/Piece/Piece.so
+%%ARCH_LIB%%/auto/Unicode/Collate/Collate.so
+%%ARCH_LIB%%/auto/Unicode/Normalize/Normalize.so
+%%ARCH_LIB%%/auto/arybase/arybase.so
+%%ARCH_LIB%%/auto/attributes/attributes.so
+%%ARCH_LIB%%/auto/mro/mro.so
+%%ARCH_LIB%%/auto/re/re.so
+%%ARCH_LIB%%/auto/threads/shared/shared.so
+%%ARCH_LIB%%/auto/threads/threads.so
+%%ARCH_LIB%%/encoding.pm
+%%ARCH_LIB%%/lib.pm
+%%ARCH_LIB%%/mro.pm
+%%ARCH_LIB%%/ops.pm
+%%ARCH_LIB%%/re.pm
+%%ARCH_LIB%%/threads.pm
+%%ARCH_LIB%%/threads/shared.pm
+%%PRIV_LIB%%/meta_notation.pm
+%%PRIV_LIB%%/ok.pm
+%%PRIV_LIB%%/open.pm
+%%PRIV_LIB%%/overload.pm
+%%PRIV_LIB%%/overload/numbers.pm
+%%PRIV_LIB%%/overloading.pm
+%%PRIV_LIB%%/parent.pm
+%%MAN1%%/corelist.1.gz
+%%MAN1%%/cpan.1.gz
+%%MAN1%%/enc2xs.1.gz
+%%MAN1%%/encguess.1.gz
+%%MAN1%%/h2ph.1.gz
+%%MAN1%%/h2xs.1.gz
+%%MAN1%%/instmodsh.1.gz
+%%MAN1%%/json_pp.1.gz
+%%MAN1%%/libnetcfg.1.gz
+%%MAN1%%/perl.1.gz
+%%MAN1%%/perl5004delta.1.gz
+%%MAN1%%/perl5005delta.1.gz
+%%MAN1%%/perl5100delta.1.gz
+%%MAN1%%/perl5101delta.1.gz
+%%MAN1%%/perl5120delta.1.gz
+%%MAN1%%/perl5121delta.1.gz
+%%MAN1%%/perl5122delta.1.gz
+%%MAN1%%/perl5123delta.1.gz
+%%MAN1%%/perl5124delta.1.gz
+%%MAN1%%/perl5125delta.1.gz
+%%MAN1%%/perl5140delta.1.gz
+%%MAN1%%/perl5141delta.1.gz
+%%MAN1%%/perl5142delta.1.gz
+%%MAN1%%/perl5143delta.1.gz
+%%MAN1%%/perl5144delta.1.gz
+%%MAN1%%/perl5160delta.1.gz
+%%MAN1%%/perl5161delta.1.gz
+%%MAN1%%/perl5162delta.1.gz
+%%MAN1%%/perl5163delta.1.gz
+%%MAN1%%/perl5180delta.1.gz
+%%MAN1%%/perl5181delta.1.gz
+%%MAN1%%/perl5182delta.1.gz
+%%MAN1%%/perl5184delta.1.gz
+%%MAN1%%/perl5200delta.1.gz
+%%MAN1%%/perl5201delta.1.gz
+%%MAN1%%/perl5202delta.1.gz
+%%MAN1%%/perl5203delta.1.gz
+%%MAN1%%/perl5220delta.1.gz
+%%MAN1%%/perl5221delta.1.gz
+%%MAN1%%/perl5222delta.1.gz
+%%MAN1%%/perl5223delta.1.gz
+%%MAN1%%/perl5224delta.1.gz
+%%MAN1%%/perl5240delta.1.gz
+%%MAN1%%/perl5241delta.1.gz
+%%MAN1%%/perl5242delta.1.gz
+%%MAN1%%/perl5243delta.1.gz
+%%MAN1%%/perl5244delta.1.gz
+%%MAN1%%/perl5260delta.1.gz
+%%MAN1%%/perl5261delta.1.gz
+%%MAN1%%/perl5262delta.1.gz
+%%MAN1%%/perl5280delta.1.gz
+%%MAN1%%/perl5281delta.1.gz
+%%MAN1%%/perl561delta.1.gz
+%%MAN1%%/perl56delta.1.gz
+%%MAN1%%/perl581delta.1.gz
+%%MAN1%%/perl582delta.1.gz
+%%MAN1%%/perl583delta.1.gz
+%%MAN1%%/perl584delta.1.gz
+%%MAN1%%/perl585delta.1.gz
+%%MAN1%%/perl586delta.1.gz
+%%MAN1%%/perl587delta.1.gz
+%%MAN1%%/perl588delta.1.gz
+%%MAN1%%/perl589delta.1.gz
+%%MAN1%%/perl58delta.1.gz
+%%MAN1%%/perlaix.1.gz
+%%MAN1%%/perlamiga.1.gz
+%%MAN1%%/perlandroid.1.gz
+%%MAN1%%/perlapi.1.gz
+%%MAN1%%/perlapio.1.gz
+%%MAN1%%/perlartistic.1.gz
+%%MAN1%%/perlbook.1.gz
+%%MAN1%%/perlboot.1.gz
+%%MAN1%%/perlbot.1.gz
+%%MAN1%%/perlbs2000.1.gz
+%%MAN1%%/perlbug.1.gz
+%%MAN1%%/perlcall.1.gz
+%%MAN1%%/perlce.1.gz
+%%MAN1%%/perlcheat.1.gz
+%%MAN1%%/perlclib.1.gz
+%%MAN1%%/perlcn.1.gz
+%%MAN1%%/perlcommunity.1.gz
+%%MAN1%%/perlcygwin.1.gz
+%%MAN1%%/perldata.1.gz
+%%MAN1%%/perldbmfilter.1.gz
+%%MAN1%%/perldebguts.1.gz
+%%MAN1%%/perldebtut.1.gz
+%%MAN1%%/perldebug.1.gz
+%%MAN1%%/perldelta.1.gz
+%%MAN1%%/perldeprecation.1.gz
+%%MAN1%%/perldiag.1.gz
+%%MAN1%%/perldoc.1.gz
+%%MAN1%%/perldos.1.gz
+%%MAN1%%/perldsc.1.gz
+%%MAN1%%/perldtrace.1.gz
+%%MAN1%%/perlebcdic.1.gz
+%%MAN1%%/perlembed.1.gz
+%%MAN1%%/perlexperiment.1.gz
+%%MAN1%%/perlfaq.1.gz
+%%MAN1%%/perlfaq1.1.gz
+%%MAN1%%/perlfaq2.1.gz
+%%MAN1%%/perlfaq3.1.gz
+%%MAN1%%/perlfaq4.1.gz
+%%MAN1%%/perlfaq5.1.gz
+%%MAN1%%/perlfaq6.1.gz
+%%MAN1%%/perlfaq7.1.gz
+%%MAN1%%/perlfaq8.1.gz
+%%MAN1%%/perlfaq9.1.gz
+%%MAN1%%/perlfilter.1.gz
+%%MAN1%%/perlfork.1.gz
+%%MAN1%%/perlform.1.gz
+%%MAN1%%/perlfreebsd.1.gz
+%%MAN1%%/perlfunc.1.gz
+%%MAN1%%/perlgit.1.gz
+%%MAN1%%/perlglossary.1.gz
+%%MAN1%%/perlgpl.1.gz
+%%MAN1%%/perlguts.1.gz
+%%MAN1%%/perlhack.1.gz
+%%MAN1%%/perlhacktips.1.gz
+%%MAN1%%/perlhacktut.1.gz
+%%MAN1%%/perlhaiku.1.gz
+%%MAN1%%/perlhist.1.gz
+%%MAN1%%/perlhpux.1.gz
+%%MAN1%%/perlhurd.1.gz
+%%MAN1%%/perlintern.1.gz
+%%MAN1%%/perlinterp.1.gz
+%%MAN1%%/perlintro.1.gz
+%%MAN1%%/perliol.1.gz
+%%MAN1%%/perlipc.1.gz
+%%MAN1%%/perlirix.1.gz
+%%MAN1%%/perlivp.1.gz
+%%MAN1%%/perljp.1.gz
+%%MAN1%%/perlko.1.gz
+%%MAN1%%/perllexwarn.1.gz
+%%MAN1%%/perllinux.1.gz
+%%MAN1%%/perllocale.1.gz
+%%MAN1%%/perllol.1.gz
+%%MAN1%%/perlmacos.1.gz
+%%MAN1%%/perlmacosx.1.gz
+%%MAN1%%/perlmod.1.gz
+%%MAN1%%/perlmodinstall.1.gz
+%%MAN1%%/perlmodlib.1.gz
+%%MAN1%%/perlmodstyle.1.gz
+%%MAN1%%/perlmroapi.1.gz
+%%MAN1%%/perlnetware.1.gz
+%%MAN1%%/perlnewmod.1.gz
+%%MAN1%%/perlnumber.1.gz
+%%MAN1%%/perlobj.1.gz
+%%MAN1%%/perlootut.1.gz
+%%MAN1%%/perlop.1.gz
+%%MAN1%%/perlopenbsd.1.gz
+%%MAN1%%/perlopentut.1.gz
+%%MAN1%%/perlos2.1.gz
+%%MAN1%%/perlos390.1.gz
+%%MAN1%%/perlos400.1.gz
+%%MAN1%%/perlpacktut.1.gz
+%%MAN1%%/perlperf.1.gz
+%%MAN1%%/perlplan9.1.gz
+%%MAN1%%/perlpod.1.gz
+%%MAN1%%/perlpodspec.1.gz
+%%MAN1%%/perlpodstyle.1.gz
+%%MAN1%%/perlpolicy.1.gz
+%%MAN1%%/perlport.1.gz
+%%MAN1%%/perlpragma.1.gz
+%%MAN1%%/perlqnx.1.gz
+%%MAN1%%/perlre.1.gz
+%%MAN1%%/perlreapi.1.gz
+%%MAN1%%/perlrebackslash.1.gz
+%%MAN1%%/perlrecharclass.1.gz
+%%MAN1%%/perlref.1.gz
+%%MAN1%%/perlreftut.1.gz
+%%MAN1%%/perlreguts.1.gz
+%%MAN1%%/perlrepository.1.gz
+%%MAN1%%/perlrequick.1.gz
+%%MAN1%%/perlreref.1.gz
+%%MAN1%%/perlretut.1.gz
+%%MAN1%%/perlriscos.1.gz
+%%MAN1%%/perlrun.1.gz
+%%MAN1%%/perlsec.1.gz
+%%MAN1%%/perlsolaris.1.gz
+%%MAN1%%/perlsource.1.gz
+%%MAN1%%/perlstyle.1.gz
+%%MAN1%%/perlsub.1.gz
+%%MAN1%%/perlsymbian.1.gz
+%%MAN1%%/perlsyn.1.gz
+%%MAN1%%/perlsynology.1.gz
+%%MAN1%%/perlthanks.1.gz
+%%MAN1%%/perlthrtut.1.gz
+%%MAN1%%/perltie.1.gz
+%%MAN1%%/perltoc.1.gz
+%%MAN1%%/perltodo.1.gz
+%%MAN1%%/perltooc.1.gz
+%%MAN1%%/perltoot.1.gz
+%%MAN1%%/perltrap.1.gz
+%%MAN1%%/perltru64.1.gz
+%%MAN1%%/perltw.1.gz
+%%MAN1%%/perlunicode.1.gz
+%%MAN1%%/perlunicook.1.gz
+%%MAN1%%/perlunifaq.1.gz
+%%MAN1%%/perluniintro.1.gz
+%%MAN1%%/perluniprops.1.gz
+%%MAN1%%/perlunitut.1.gz
+%%MAN1%%/perlutil.1.gz
+%%MAN1%%/perlvar.1.gz
+%%MAN1%%/perlvms.1.gz
+%%MAN1%%/perlvos.1.gz
+%%MAN1%%/perlwin32.1.gz
+%%MAN1%%/perlxs.1.gz
+%%MAN1%%/perlxstut.1.gz
+%%MAN1%%/perlxstypemap.1.gz
+%%MAN1%%/piconv.1.gz
+%%MAN1%%/pl2pm.1.gz
+%%MAN1%%/pod2html.1.gz
+%%MAN1%%/pod2man.1.gz
+%%MAN1%%/pod2text.1.gz
+%%MAN1%%/pod2usage.1.gz
+%%MAN1%%/podchecker.1.gz
+%%MAN1%%/podselect.1.gz
+%%MAN1%%/prove.1.gz
+%%MAN1%%/ptar.1.gz
+%%MAN1%%/ptardiff.1.gz
+%%MAN1%%/ptargrep.1.gz
+%%MAN1%%/shasum.1.gz
+%%MAN1%%/splain.1.gz
+%%MAN1%%/xsubpp.1.gz
+%%MAN1%%/zipdetails.1.gz
+%%MAN3%%/AnyDBM_File.3.gz
+%%MAN3%%/App::Cpan.3.gz
+%%MAN3%%/App::Prove.3.gz
+%%MAN3%%/App::Prove::State.3.gz
+%%MAN3%%/App::Prove::State::Result.3.gz
+%%MAN3%%/App::Prove::State::Result::Test.3.gz
+%%MAN3%%/Archive::Tar.3.gz
+%%MAN3%%/Archive::Tar::File.3.gz
+%%MAN3%%/Attribute::Handlers.3.gz
+%%MAN3%%/AutoLoader.3.gz
+%%MAN3%%/AutoSplit.3.gz
+%%MAN3%%/B.3.gz
+%%MAN3%%/B::Concise.3.gz
+%%MAN3%%/B::Debug.3.gz
+%%MAN3%%/B::Deparse.3.gz
+%%MAN3%%/B::Op_private.3.gz
+%%MAN3%%/B::Showlex.3.gz
+%%MAN3%%/B::Terse.3.gz
+%%MAN3%%/B::Xref.3.gz
+%%MAN3%%/Benchmark.3.gz
+%%MAN3%%/CORE.3.gz
+%%MAN3%%/CPAN.3.gz
+%%MAN3%%/CPAN::API::HOWTO.3.gz
+%%MAN3%%/CPAN::Debug.3.gz
+%%MAN3%%/CPAN::Distroprefs.3.gz
+%%MAN3%%/CPAN::FirstTime.3.gz
+%%MAN3%%/CPAN::HandleConfig.3.gz
+%%MAN3%%/CPAN::Kwalify.3.gz
+%%MAN3%%/CPAN::Meta.3.gz
+%%MAN3%%/CPAN::Meta::Converter.3.gz
+%%MAN3%%/CPAN::Meta::Feature.3.gz
+%%MAN3%%/CPAN::Meta::History.3.gz
+%%MAN3%%/CPAN::Meta::History::Meta_1_0.3.gz
+%%MAN3%%/CPAN::Meta::History::Meta_1_1.3.gz
+%%MAN3%%/CPAN::Meta::History::Meta_1_2.3.gz
+%%MAN3%%/CPAN::Meta::History::Meta_1_3.3.gz
+%%MAN3%%/CPAN::Meta::History::Meta_1_4.3.gz
+%%MAN3%%/CPAN::Meta::Merge.3.gz
+%%MAN3%%/CPAN::Meta::Prereqs.3.gz
+%%MAN3%%/CPAN::Meta::Requirements.3.gz
+%%MAN3%%/CPAN::Meta::Spec.3.gz
+%%MAN3%%/CPAN::Meta::Validator.3.gz
+%%MAN3%%/CPAN::Meta::YAML.3.gz
+%%MAN3%%/CPAN::Mirrors.3.gz
+%%MAN3%%/CPAN::Nox.3.gz
+%%MAN3%%/CPAN::Plugin.3.gz
+%%MAN3%%/CPAN::Plugin::Specfile.3.gz
+%%MAN3%%/CPAN::Queue.3.gz
+%%MAN3%%/CPAN::Tarzip.3.gz
+%%MAN3%%/CPAN::Version.3.gz
+%%MAN3%%/Carp.3.gz
+%%MAN3%%/Class::Struct.3.gz
+%%MAN3%%/Compress::Raw::Bzip2.3.gz
+%%MAN3%%/Compress::Raw::Zlib.3.gz
+%%MAN3%%/Compress::Zlib.3.gz
+%%MAN3%%/Config.3.gz
+%%MAN3%%/Config::Extensions.3.gz
+%%MAN3%%/Config::Perl::V.3.gz
+%%MAN3%%/Cwd.3.gz
+%%MAN3%%/DB.3.gz
+%%MAN3%%/DBM_Filter.3.gz
+%%MAN3%%/DBM_Filter::compress.3.gz
+%%MAN3%%/DBM_Filter::encode.3.gz
+%%MAN3%%/DBM_Filter::int32.3.gz
+%%MAN3%%/DBM_Filter::null.3.gz
+%%MAN3%%/DBM_Filter::utf8.3.gz
+%%MAN3%%/DB_File.3.gz
+%%MAN3%%/Data::Dumper.3.gz
+%%MAN3%%/Devel::PPPort.3.gz
+%%MAN3%%/Devel::Peek.3.gz
+%%MAN3%%/Devel::SelfStubber.3.gz
+%%MAN3%%/Digest.3.gz
+%%MAN3%%/Digest::MD5.3.gz
+%%MAN3%%/Digest::SHA.3.gz
+%%MAN3%%/Digest::base.3.gz
+%%MAN3%%/Digest::file.3.gz
+%%MAN3%%/DirHandle.3.gz
+%%MAN3%%/Dumpvalue.3.gz
+%%MAN3%%/DynaLoader.3.gz
+%%MAN3%%/Encode.3.gz
+%%MAN3%%/Encode::Alias.3.gz
+%%MAN3%%/Encode::Byte.3.gz
+%%MAN3%%/Encode::CJKConstants.3.gz
+%%MAN3%%/Encode::CN.3.gz
+%%MAN3%%/Encode::CN::HZ.3.gz
+%%MAN3%%/Encode::Config.3.gz
+%%MAN3%%/Encode::EBCDIC.3.gz
+%%MAN3%%/Encode::Encoder.3.gz
+%%MAN3%%/Encode::Encoding.3.gz
+%%MAN3%%/Encode::GSM0338.3.gz
+%%MAN3%%/Encode::Guess.3.gz
+%%MAN3%%/Encode::JP.3.gz
+%%MAN3%%/Encode::JP::H2Z.3.gz
+%%MAN3%%/Encode::JP::JIS7.3.gz
+%%MAN3%%/Encode::KR.3.gz
+%%MAN3%%/Encode::KR::2022_KR.3.gz
+%%MAN3%%/Encode::MIME::Header.3.gz
+%%MAN3%%/Encode::MIME::Name.3.gz
+%%MAN3%%/Encode::PerlIO.3.gz
+%%MAN3%%/Encode::Supported.3.gz
+%%MAN3%%/Encode::Symbol.3.gz
+%%MAN3%%/Encode::TW.3.gz
+%%MAN3%%/Encode::Unicode.3.gz
+%%MAN3%%/Encode::Unicode::UTF7.3.gz
+%%MAN3%%/English.3.gz
+%%MAN3%%/Env.3.gz
+%%MAN3%%/Errno.3.gz
+%%MAN3%%/Exporter.3.gz
+%%MAN3%%/Exporter::Heavy.3.gz
+%%MAN3%%/ExtUtils::CBuilder.3.gz
+%%MAN3%%/ExtUtils::CBuilder::Platform::Windows.3.gz
+%%MAN3%%/ExtUtils::Command.3.gz
+%%MAN3%%/ExtUtils::Command::MM.3.gz
+%%MAN3%%/ExtUtils::Constant.3.gz
+%%MAN3%%/ExtUtils::Constant::Base.3.gz
+%%MAN3%%/ExtUtils::Constant::Utils.3.gz
+%%MAN3%%/ExtUtils::Constant::XS.3.gz
+%%MAN3%%/ExtUtils::Embed.3.gz
+%%MAN3%%/ExtUtils::Install.3.gz
+%%MAN3%%/ExtUtils::Installed.3.gz
+%%MAN3%%/ExtUtils::Liblist.3.gz
+%%MAN3%%/ExtUtils::MM.3.gz
+%%MAN3%%/ExtUtils::MM_AIX.3.gz
+%%MAN3%%/ExtUtils::MM_Any.3.gz
+%%MAN3%%/ExtUtils::MM_BeOS.3.gz
+%%MAN3%%/ExtUtils::MM_Cygwin.3.gz
+%%MAN3%%/ExtUtils::MM_DOS.3.gz
+%%MAN3%%/ExtUtils::MM_Darwin.3.gz
+%%MAN3%%/ExtUtils::MM_MacOS.3.gz
+%%MAN3%%/ExtUtils::MM_NW5.3.gz
+%%MAN3%%/ExtUtils::MM_OS2.3.gz
+%%MAN3%%/ExtUtils::MM_QNX.3.gz
+%%MAN3%%/ExtUtils::MM_UWIN.3.gz
+%%MAN3%%/ExtUtils::MM_Unix.3.gz
+%%MAN3%%/ExtUtils::MM_VMS.3.gz
+%%MAN3%%/ExtUtils::MM_VOS.3.gz
+%%MAN3%%/ExtUtils::MM_Win32.3.gz
+%%MAN3%%/ExtUtils::MM_Win95.3.gz
+%%MAN3%%/ExtUtils::MY.3.gz
+%%MAN3%%/ExtUtils::MakeMaker.3.gz
+%%MAN3%%/ExtUtils::MakeMaker::Config.3.gz
+%%MAN3%%/ExtUtils::MakeMaker::FAQ.3.gz
+%%MAN3%%/ExtUtils::MakeMaker::Locale.3.gz
+%%MAN3%%/ExtUtils::MakeMaker::Tutorial.3.gz
+%%MAN3%%/ExtUtils::Manifest.3.gz
+%%MAN3%%/ExtUtils::Miniperl.3.gz
+%%MAN3%%/ExtUtils::Mkbootstrap.3.gz
+%%MAN3%%/ExtUtils::Mksymlists.3.gz
+%%MAN3%%/ExtUtils::Packlist.3.gz
+%%MAN3%%/ExtUtils::ParseXS.3.gz
+%%MAN3%%/ExtUtils::ParseXS::Constants.3.gz
+%%MAN3%%/ExtUtils::ParseXS::Eval.3.gz
+%%MAN3%%/ExtUtils::ParseXS::Utilities.3.gz
+%%MAN3%%/ExtUtils::Typemaps.3.gz
+%%MAN3%%/ExtUtils::Typemaps::Cmd.3.gz
+%%MAN3%%/ExtUtils::Typemaps::InputMap.3.gz
+%%MAN3%%/ExtUtils::Typemaps::OutputMap.3.gz
+%%MAN3%%/ExtUtils::Typemaps::Type.3.gz
+%%MAN3%%/ExtUtils::XSSymSet.3.gz
+%%MAN3%%/ExtUtils::testlib.3.gz
+%%MAN3%%/Fatal.3.gz
+%%MAN3%%/Fcntl.3.gz
+%%MAN3%%/File::Basename.3.gz
+%%MAN3%%/File::Compare.3.gz
+%%MAN3%%/File::Copy.3.gz
+%%MAN3%%/File::DosGlob.3.gz
+%%MAN3%%/File::Fetch.3.gz
+%%MAN3%%/File::Find.3.gz
+%%MAN3%%/File::Glob.3.gz
+%%MAN3%%/File::GlobMapper.3.gz
+%%MAN3%%/File::Path.3.gz
+%%MAN3%%/File::Spec.3.gz
+%%MAN3%%/File::Spec::AmigaOS.3.gz
+%%MAN3%%/File::Spec::Cygwin.3.gz
+%%MAN3%%/File::Spec::Epoc.3.gz
+%%MAN3%%/File::Spec::Functions.3.gz
+%%MAN3%%/File::Spec::Mac.3.gz
+%%MAN3%%/File::Spec::OS2.3.gz
+%%MAN3%%/File::Spec::Unix.3.gz
+%%MAN3%%/File::Spec::VMS.3.gz
+%%MAN3%%/File::Spec::Win32.3.gz
+%%MAN3%%/File::Temp.3.gz
+%%MAN3%%/File::stat.3.gz
+%%MAN3%%/FileCache.3.gz
+%%MAN3%%/FileHandle.3.gz
+%%MAN3%%/Filter::Simple.3.gz
+%%MAN3%%/Filter::Util::Call.3.gz
+%%MAN3%%/FindBin.3.gz
+%%GDBM%%%%MAN3%%/GDBM_File.3.gz
+%%MAN3%%/Getopt::Long.3.gz
+%%MAN3%%/Getopt::Std.3.gz
+%%MAN3%%/HTTP::Tiny.3.gz
+%%MAN3%%/Hash::Util.3.gz
+%%MAN3%%/Hash::Util::FieldHash.3.gz
+%%MAN3%%/I18N::Collate.3.gz
+%%MAN3%%/I18N::LangTags.3.gz
+%%MAN3%%/I18N::LangTags::Detect.3.gz
+%%MAN3%%/I18N::LangTags::List.3.gz
+%%MAN3%%/I18N::Langinfo.3.gz
+%%MAN3%%/IO.3.gz
+%%MAN3%%/IO::Compress::Base.3.gz
+%%MAN3%%/IO::Compress::Bzip2.3.gz
+%%MAN3%%/IO::Compress::Deflate.3.gz
+%%MAN3%%/IO::Compress::FAQ.3.gz
+%%MAN3%%/IO::Compress::Gzip.3.gz
+%%MAN3%%/IO::Compress::RawDeflate.3.gz
+%%MAN3%%/IO::Compress::Zip.3.gz
+%%MAN3%%/IO::Dir.3.gz
+%%MAN3%%/IO::File.3.gz
+%%MAN3%%/IO::Handle.3.gz
+%%MAN3%%/IO::Pipe.3.gz
+%%MAN3%%/IO::Poll.3.gz
+%%MAN3%%/IO::Seekable.3.gz
+%%MAN3%%/IO::Select.3.gz
+%%MAN3%%/IO::Socket.3.gz
+%%MAN3%%/IO::Socket::INET.3.gz
+%%MAN3%%/IO::Socket::IP.3.gz
+%%MAN3%%/IO::Socket::UNIX.3.gz
+%%MAN3%%/IO::Uncompress::AnyInflate.3.gz
+%%MAN3%%/IO::Uncompress::AnyUncompress.3.gz
+%%MAN3%%/IO::Uncompress::Base.3.gz
+%%MAN3%%/IO::Uncompress::Bunzip2.3.gz
+%%MAN3%%/IO::Uncompress::Gunzip.3.gz
+%%MAN3%%/IO::Uncompress::Inflate.3.gz
+%%MAN3%%/IO::Uncompress::RawInflate.3.gz
+%%MAN3%%/IO::Uncompress::Unzip.3.gz
+%%MAN3%%/IO::Zlib.3.gz
+%%MAN3%%/IPC::Cmd.3.gz
+%%MAN3%%/IPC::Msg.3.gz
+%%MAN3%%/IPC::Open2.3.gz
+%%MAN3%%/IPC::Open3.3.gz
+%%MAN3%%/IPC::Semaphore.3.gz
+%%MAN3%%/IPC::SharedMem.3.gz
+%%MAN3%%/IPC::SysV.3.gz
+%%MAN3%%/Internals.3.gz
+%%MAN3%%/JSON::PP.3.gz
+%%MAN3%%/JSON::PP::Boolean.3.gz
+%%MAN3%%/List::Util.3.gz
+%%MAN3%%/List::Util::XS.3.gz
+%%MAN3%%/Locale::Codes.3.gz
+%%MAN3%%/Locale::Codes::Changes.3.gz
+%%MAN3%%/Locale::Codes::Country.3.gz
+%%MAN3%%/Locale::Codes::Currency.3.gz
+%%MAN3%%/Locale::Codes::LangExt.3.gz
+%%MAN3%%/Locale::Codes::LangFam.3.gz
+%%MAN3%%/Locale::Codes::LangVar.3.gz
+%%MAN3%%/Locale::Codes::Language.3.gz
+%%MAN3%%/Locale::Codes::Script.3.gz
+%%MAN3%%/Locale::Codes::Types.3.gz
+%%MAN3%%/Locale::Country.3.gz
+%%MAN3%%/Locale::Currency.3.gz
+%%MAN3%%/Locale::Language.3.gz
+%%MAN3%%/Locale::Maketext.3.gz
+%%MAN3%%/Locale::Maketext::Cookbook.3.gz
+%%MAN3%%/Locale::Maketext::Guts.3.gz
+%%MAN3%%/Locale::Maketext::GutsLoader.3.gz
+%%MAN3%%/Locale::Maketext::Simple.3.gz
+%%MAN3%%/Locale::Maketext::TPJ13.3.gz
+%%MAN3%%/Locale::Script.3.gz
+%%MAN3%%/MIME::Base64.3.gz
+%%MAN3%%/MIME::QuotedPrint.3.gz
+%%MAN3%%/Math::BigFloat.3.gz
+%%MAN3%%/Math::BigInt.3.gz
+%%MAN3%%/Math::BigInt::Calc.3.gz
+%%MAN3%%/Math::BigInt::CalcEmu.3.gz
+%%MAN3%%/Math::BigInt::FastCalc.3.gz
+%%MAN3%%/Math::BigInt::Lib.3.gz
+%%MAN3%%/Math::BigRat.3.gz
+%%MAN3%%/Math::Complex.3.gz
+%%MAN3%%/Math::Trig.3.gz
+%%MAN3%%/Memoize.3.gz
+%%MAN3%%/Memoize::AnyDBM_File.3.gz
+%%MAN3%%/Memoize::Expire.3.gz
+%%MAN3%%/Memoize::ExpireFile.3.gz
+%%MAN3%%/Memoize::ExpireTest.3.gz
+%%MAN3%%/Memoize::NDBM_File.3.gz
+%%MAN3%%/Memoize::SDBM_File.3.gz
+%%MAN3%%/Memoize::Storable.3.gz
+%%MAN3%%/Module::CoreList.3.gz
+%%MAN3%%/Module::CoreList::Utils.3.gz
+%%MAN3%%/Module::Load.3.gz
+%%MAN3%%/Module::Load::Conditional.3.gz
+%%MAN3%%/Module::Loaded.3.gz
+%%MAN3%%/Module::Metadata.3.gz
+%%MAN3%%/NDBM_File.3.gz
+%%MAN3%%/NEXT.3.gz
+%%MAN3%%/Net::Cmd.3.gz
+%%MAN3%%/Net::Config.3.gz
+%%MAN3%%/Net::Domain.3.gz
+%%MAN3%%/Net::FTP.3.gz
+%%MAN3%%/Net::NNTP.3.gz
+%%MAN3%%/Net::Netrc.3.gz
+%%MAN3%%/Net::POP3.3.gz
+%%MAN3%%/Net::Ping.3.gz
+%%MAN3%%/Net::SMTP.3.gz
+%%MAN3%%/Net::Time.3.gz
+%%MAN3%%/Net::hostent.3.gz
+%%MAN3%%/Net::libnetFAQ.3.gz
+%%MAN3%%/Net::netent.3.gz
+%%MAN3%%/Net::protoent.3.gz
+%%MAN3%%/Net::servent.3.gz
+%%MAN3%%/O.3.gz
+%%MAN3%%/Opcode.3.gz
+%%MAN3%%/POSIX.3.gz
+%%MAN3%%/Params::Check.3.gz
+%%MAN3%%/Parse::CPAN::Meta.3.gz
+%%MAN3%%/Perl::OSType.3.gz
+%%MAN3%%/PerlIO.3.gz
+%%MAN3%%/PerlIO::encoding.3.gz
+%%MAN3%%/PerlIO::mmap.3.gz
+%%MAN3%%/PerlIO::scalar.3.gz
+%%MAN3%%/PerlIO::via.3.gz
+%%MAN3%%/PerlIO::via::QuotedPrint.3.gz
+%%MAN3%%/Pod::Checker.3.gz
+%%MAN3%%/Pod::Escapes.3.gz
+%%MAN3%%/Pod::Find.3.gz
+%%MAN3%%/Pod::Html.3.gz
+%%MAN3%%/Pod::InputObjects.3.gz
+%%MAN3%%/Pod::Man.3.gz
+%%MAN3%%/Pod::ParseLink.3.gz
+%%MAN3%%/Pod::ParseUtils.3.gz
+%%MAN3%%/Pod::Parser.3.gz
+%%MAN3%%/Pod::Perldoc.3.gz
+%%MAN3%%/Pod::Perldoc::BaseTo.3.gz
+%%MAN3%%/Pod::Perldoc::GetOptsOO.3.gz
+%%MAN3%%/Pod::Perldoc::ToANSI.3.gz
+%%MAN3%%/Pod::Perldoc::ToChecker.3.gz
+%%MAN3%%/Pod::Perldoc::ToMan.3.gz
+%%MAN3%%/Pod::Perldoc::ToNroff.3.gz
+%%MAN3%%/Pod::Perldoc::ToPod.3.gz
+%%MAN3%%/Pod::Perldoc::ToRtf.3.gz
+%%MAN3%%/Pod::Perldoc::ToTerm.3.gz
+%%MAN3%%/Pod::Perldoc::ToText.3.gz
+%%MAN3%%/Pod::Perldoc::ToTk.3.gz
+%%MAN3%%/Pod::Perldoc::ToXml.3.gz
+%%MAN3%%/Pod::PlainText.3.gz
+%%MAN3%%/Pod::Select.3.gz
+%%MAN3%%/Pod::Simple.3.gz
+%%MAN3%%/Pod::Simple::Checker.3.gz
+%%MAN3%%/Pod::Simple::Debug.3.gz
+%%MAN3%%/Pod::Simple::DumpAsText.3.gz
+%%MAN3%%/Pod::Simple::DumpAsXML.3.gz
+%%MAN3%%/Pod::Simple::HTML.3.gz
+%%MAN3%%/Pod::Simple::HTMLBatch.3.gz
+%%MAN3%%/Pod::Simple::LinkSection.3.gz
+%%MAN3%%/Pod::Simple::Methody.3.gz
+%%MAN3%%/Pod::Simple::PullParser.3.gz
+%%MAN3%%/Pod::Simple::PullParserEndToken.3.gz
+%%MAN3%%/Pod::Simple::PullParserStartToken.3.gz
+%%MAN3%%/Pod::Simple::PullParserTextToken.3.gz
+%%MAN3%%/Pod::Simple::PullParserToken.3.gz
+%%MAN3%%/Pod::Simple::RTF.3.gz
+%%MAN3%%/Pod::Simple::Search.3.gz
+%%MAN3%%/Pod::Simple::SimpleTree.3.gz
+%%MAN3%%/Pod::Simple::Subclassing.3.gz
+%%MAN3%%/Pod::Simple::Text.3.gz
+%%MAN3%%/Pod::Simple::TextContent.3.gz
+%%MAN3%%/Pod::Simple::XHTML.3.gz
+%%MAN3%%/Pod::Simple::XMLOutStream.3.gz
+%%MAN3%%/Pod::Text.3.gz
+%%MAN3%%/Pod::Text::Color.3.gz
+%%MAN3%%/Pod::Text::Overstrike.3.gz
+%%MAN3%%/Pod::Text::Termcap.3.gz
+%%MAN3%%/Pod::Usage.3.gz
+%%MAN3%%/SDBM_File.3.gz
+%%MAN3%%/Safe.3.gz
+%%MAN3%%/Scalar::Util.3.gz
+%%MAN3%%/Search::Dict.3.gz
+%%MAN3%%/SelectSaver.3.gz
+%%MAN3%%/SelfLoader.3.gz
+%%MAN3%%/Socket.3.gz
+%%MAN3%%/Storable.3.gz
+%%MAN3%%/Sub::Util.3.gz
+%%MAN3%%/Symbol.3.gz
+%%MAN3%%/Sys::Hostname.3.gz
+%%MAN3%%/Sys::Syslog.3.gz
+%%MAN3%%/TAP::Base.3.gz
+%%MAN3%%/TAP::Formatter::Base.3.gz
+%%MAN3%%/TAP::Formatter::Color.3.gz
+%%MAN3%%/TAP::Formatter::Console.3.gz
+%%MAN3%%/TAP::Formatter::Console::ParallelSession.3.gz
+%%MAN3%%/TAP::Formatter::Console::Session.3.gz
+%%MAN3%%/TAP::Formatter::File.3.gz
+%%MAN3%%/TAP::Formatter::File::Session.3.gz
+%%MAN3%%/TAP::Formatter::Session.3.gz
+%%MAN3%%/TAP::Harness.3.gz
+%%MAN3%%/TAP::Harness::Beyond.3.gz
+%%MAN3%%/TAP::Harness::Env.3.gz
+%%MAN3%%/TAP::Object.3.gz
+%%MAN3%%/TAP::Parser.3.gz
+%%MAN3%%/TAP::Parser::Aggregator.3.gz
+%%MAN3%%/TAP::Parser::Grammar.3.gz
+%%MAN3%%/TAP::Parser::Iterator.3.gz
+%%MAN3%%/TAP::Parser::Iterator::Array.3.gz
+%%MAN3%%/TAP::Parser::Iterator::Process.3.gz
+%%MAN3%%/TAP::Parser::Iterator::Stream.3.gz
+%%MAN3%%/TAP::Parser::IteratorFactory.3.gz
+%%MAN3%%/TAP::Parser::Multiplexer.3.gz
+%%MAN3%%/TAP::Parser::Result.3.gz
+%%MAN3%%/TAP::Parser::Result::Bailout.3.gz
+%%MAN3%%/TAP::Parser::Result::Comment.3.gz
+%%MAN3%%/TAP::Parser::Result::Plan.3.gz
+%%MAN3%%/TAP::Parser::Result::Pragma.3.gz
+%%MAN3%%/TAP::Parser::Result::Test.3.gz
+%%MAN3%%/TAP::Parser::Result::Unknown.3.gz
+%%MAN3%%/TAP::Parser::Result::Version.3.gz
+%%MAN3%%/TAP::Parser::Result::YAML.3.gz
+%%MAN3%%/TAP::Parser::ResultFactory.3.gz
+%%MAN3%%/TAP::Parser::Scheduler.3.gz
+%%MAN3%%/TAP::Parser::Scheduler::Job.3.gz
+%%MAN3%%/TAP::Parser::Scheduler::Spinner.3.gz
+%%MAN3%%/TAP::Parser::Source.3.gz
+%%MAN3%%/TAP::Parser::SourceHandler.3.gz
+%%MAN3%%/TAP::Parser::SourceHandler::Executable.3.gz
+%%MAN3%%/TAP::Parser::SourceHandler::File.3.gz
+%%MAN3%%/TAP::Parser::SourceHandler::Handle.3.gz
+%%MAN3%%/TAP::Parser::SourceHandler::Perl.3.gz
+%%MAN3%%/TAP::Parser::SourceHandler::RawTAP.3.gz
+%%MAN3%%/TAP::Parser::YAMLish::Reader.3.gz
+%%MAN3%%/TAP::Parser::YAMLish::Writer.3.gz
+%%MAN3%%/Term::ANSIColor.3.gz
+%%MAN3%%/Term::Cap.3.gz
+%%MAN3%%/Term::Complete.3.gz
+%%MAN3%%/Term::ReadLine.3.gz
+%%MAN3%%/Test.3.gz
+%%MAN3%%/Test2.3.gz
+%%MAN3%%/Test2::API.3.gz
+%%MAN3%%/Test2::API::Breakage.3.gz
+%%MAN3%%/Test2::API::Context.3.gz
+%%MAN3%%/Test2::API::Instance.3.gz
+%%MAN3%%/Test2::API::Stack.3.gz
+%%MAN3%%/Test2::Event.3.gz
+%%MAN3%%/Test2::Event::Bail.3.gz
+%%MAN3%%/Test2::Event::Diag.3.gz
+%%MAN3%%/Test2::Event::Encoding.3.gz
+%%MAN3%%/Test2::Event::Exception.3.gz
+%%MAN3%%/Test2::Event::Fail.3.gz
+%%MAN3%%/Test2::Event::Generic.3.gz
+%%MAN3%%/Test2::Event::Note.3.gz
+%%MAN3%%/Test2::Event::Ok.3.gz
+%%MAN3%%/Test2::Event::Pass.3.gz
+%%MAN3%%/Test2::Event::Plan.3.gz
+%%MAN3%%/Test2::Event::Skip.3.gz
+%%MAN3%%/Test2::Event::Subtest.3.gz
+%%MAN3%%/Test2::Event::TAP::Version.3.gz
+%%MAN3%%/Test2::Event::V2.3.gz
+%%MAN3%%/Test2::Event::Waiting.3.gz
+%%MAN3%%/Test2::EventFacet.3.gz
+%%MAN3%%/Test2::EventFacet::About.3.gz
+%%MAN3%%/Test2::EventFacet::Amnesty.3.gz
+%%MAN3%%/Test2::EventFacet::Assert.3.gz
+%%MAN3%%/Test2::EventFacet::Control.3.gz
+%%MAN3%%/Test2::EventFacet::Error.3.gz
+%%MAN3%%/Test2::EventFacet::Hub.3.gz
+%%MAN3%%/Test2::EventFacet::Info.3.gz
+%%MAN3%%/Test2::EventFacet::Meta.3.gz
+%%MAN3%%/Test2::EventFacet::Parent.3.gz
+%%MAN3%%/Test2::EventFacet::Plan.3.gz
+%%MAN3%%/Test2::EventFacet::Render.3.gz
+%%MAN3%%/Test2::EventFacet::Trace.3.gz
+%%MAN3%%/Test2::Formatter.3.gz
+%%MAN3%%/Test2::Formatter::TAP.3.gz
+%%MAN3%%/Test2::Hub.3.gz
+%%MAN3%%/Test2::Hub::Interceptor.3.gz
+%%MAN3%%/Test2::Hub::Interceptor::Terminator.3.gz
+%%MAN3%%/Test2::Hub::Subtest.3.gz
+%%MAN3%%/Test2::IPC.3.gz
+%%MAN3%%/Test2::IPC::Driver.3.gz
+%%MAN3%%/Test2::IPC::Driver::Files.3.gz
+%%MAN3%%/Test2::Tools::Tiny.3.gz
+%%MAN3%%/Test2::Transition.3.gz
+%%MAN3%%/Test2::Util.3.gz
+%%MAN3%%/Test2::Util::ExternalMeta.3.gz
+%%MAN3%%/Test2::Util::Facets2Legacy.3.gz
+%%MAN3%%/Test2::Util::HashBase.3.gz
+%%MAN3%%/Test2::Util::Trace.3.gz
+%%MAN3%%/Test::Builder.3.gz
+%%MAN3%%/Test::Builder::Formatter.3.gz
+%%MAN3%%/Test::Builder::IO::Scalar.3.gz
+%%MAN3%%/Test::Builder::Module.3.gz
+%%MAN3%%/Test::Builder::Tester.3.gz
+%%MAN3%%/Test::Builder::Tester::Color.3.gz
+%%MAN3%%/Test::Builder::TodoDiag.3.gz
+%%MAN3%%/Test::Harness.3.gz
+%%MAN3%%/Test::More.3.gz
+%%MAN3%%/Test::Simple.3.gz
+%%MAN3%%/Test::Tester.3.gz
+%%MAN3%%/Test::Tester::Capture.3.gz
+%%MAN3%%/Test::Tester::CaptureRunner.3.gz
+%%MAN3%%/Test::Tutorial.3.gz
+%%MAN3%%/Test::use::ok.3.gz
+%%MAN3%%/Text::Abbrev.3.gz
+%%MAN3%%/Text::Balanced.3.gz
+%%MAN3%%/Text::ParseWords.3.gz
+%%MAN3%%/Text::Tabs.3.gz
+%%MAN3%%/Text::Wrap.3.gz
+%%MAN3%%/Thread.3.gz
+%%MAN3%%/Thread::Queue.3.gz
+%%MAN3%%/Thread::Semaphore.3.gz
+%%MAN3%%/Tie::Array.3.gz
+%%MAN3%%/Tie::File.3.gz
+%%MAN3%%/Tie::Handle.3.gz
+%%MAN3%%/Tie::Hash.3.gz
+%%MAN3%%/Tie::Hash::NamedCapture.3.gz
+%%MAN3%%/Tie::Memoize.3.gz
+%%MAN3%%/Tie::RefHash.3.gz
+%%MAN3%%/Tie::Scalar.3.gz
+%%MAN3%%/Tie::StdHandle.3.gz
+%%MAN3%%/Tie::SubstrHash.3.gz
+%%MAN3%%/Time::HiRes.3.gz
+%%MAN3%%/Time::Local.3.gz
+%%MAN3%%/Time::Piece.3.gz
+%%MAN3%%/Time::Seconds.3.gz
+%%MAN3%%/Time::gmtime.3.gz
+%%MAN3%%/Time::localtime.3.gz
+%%MAN3%%/Time::tm.3.gz
+%%MAN3%%/UNIVERSAL.3.gz
+%%MAN3%%/Unicode::Collate.3.gz
+%%MAN3%%/Unicode::Collate::CJK::Big5.3.gz
+%%MAN3%%/Unicode::Collate::CJK::GB2312.3.gz
+%%MAN3%%/Unicode::Collate::CJK::JISX0208.3.gz
+%%MAN3%%/Unicode::Collate::CJK::Korean.3.gz
+%%MAN3%%/Unicode::Collate::CJK::Pinyin.3.gz
+%%MAN3%%/Unicode::Collate::CJK::Stroke.3.gz
+%%MAN3%%/Unicode::Collate::CJK::Zhuyin.3.gz
+%%MAN3%%/Unicode::Collate::Locale.3.gz
+%%MAN3%%/Unicode::Normalize.3.gz
+%%MAN3%%/Unicode::UCD.3.gz
+%%MAN3%%/User::grent.3.gz
+%%MAN3%%/User::pwent.3.gz
+%%MAN3%%/XSLoader.3.gz
+%%MAN3%%/arybase.3.gz
+%%MAN3%%/attributes.3.gz
+%%MAN3%%/autodie.3.gz
+%%MAN3%%/autodie::Scope::Guard.3.gz
+%%MAN3%%/autodie::Scope::GuardStack.3.gz
+%%MAN3%%/autodie::Util.3.gz
+%%MAN3%%/autodie::exception.3.gz
+%%MAN3%%/autodie::exception::system.3.gz
+%%MAN3%%/autodie::hints.3.gz
+%%MAN3%%/autodie::skip.3.gz
+%%MAN3%%/autouse.3.gz
+%%MAN3%%/base.3.gz
+%%MAN3%%/bigint.3.gz
+%%MAN3%%/bignum.3.gz
+%%MAN3%%/bigrat.3.gz
+%%MAN3%%/blib.3.gz
+%%MAN3%%/bytes.3.gz
+%%MAN3%%/charnames.3.gz
+%%MAN3%%/constant.3.gz
+%%MAN3%%/deprecate.3.gz
+%%MAN3%%/diagnostics.3.gz
+%%MAN3%%/encoding.3.gz
+%%MAN3%%/encoding::warnings.3.gz
+%%MAN3%%/experimental.3.gz
+%%MAN3%%/feature.3.gz
+%%MAN3%%/fields.3.gz
+%%MAN3%%/filetest.3.gz
+%%MAN3%%/if.3.gz
+%%MAN3%%/integer.3.gz
+%%MAN3%%/less.3.gz
+%%MAN3%%/lib.3.gz
+%%MAN3%%/locale.3.gz
+%%MAN3%%/mro.3.gz
+%%MAN3%%/ok.3.gz
+%%MAN3%%/open.3.gz
+%%MAN3%%/ops.3.gz
+%%MAN3%%/overload.3.gz
+%%MAN3%%/overloading.3.gz
+%%MAN3%%/parent.3.gz
+%%MAN3%%/re.3.gz
+%%MAN3%%/sigtrap.3.gz
+%%MAN3%%/sort.3.gz
+%%MAN3%%/strict.3.gz
+%%MAN3%%/subs.3.gz
+%%MAN3%%/threads.3.gz
+%%MAN3%%/threads::shared.3.gz
+%%MAN3%%/utf8.3.gz
+%%MAN3%%/vars.3.gz
+%%MAN3%%/version.3.gz
+%%MAN3%%/version::Internals.3.gz
+%%MAN3%%/vmsish.3.gz
+%%MAN3%%/warnings.3.gz
+%%MAN3%%/warnings::register.3.gz
+%%PRIV_LIB%%/perl5db.pl
+%%PRIV_LIB%%/perlfaq.pm
+%%PRIV_LIB%%/pod/perl.pod
+%%PRIV_LIB%%/pod/perl5004delta.pod
+%%PRIV_LIB%%/pod/perl5005delta.pod
+%%PRIV_LIB%%/pod/perl5100delta.pod
+%%PRIV_LIB%%/pod/perl5101delta.pod
+%%PRIV_LIB%%/pod/perl5120delta.pod
+%%PRIV_LIB%%/pod/perl5121delta.pod
+%%PRIV_LIB%%/pod/perl5122delta.pod
+%%PRIV_LIB%%/pod/perl5123delta.pod
+%%PRIV_LIB%%/pod/perl5124delta.pod
+%%PRIV_LIB%%/pod/perl5125delta.pod
+%%PRIV_LIB%%/pod/perl5140delta.pod
+%%PRIV_LIB%%/pod/perl5141delta.pod
+%%PRIV_LIB%%/pod/perl5142delta.pod
+%%PRIV_LIB%%/pod/perl5143delta.pod
+%%PRIV_LIB%%/pod/perl5144delta.pod
+%%PRIV_LIB%%/pod/perl5160delta.pod
+%%PRIV_LIB%%/pod/perl5161delta.pod
+%%PRIV_LIB%%/pod/perl5162delta.pod
+%%PRIV_LIB%%/pod/perl5163delta.pod
+%%PRIV_LIB%%/pod/perl5180delta.pod
+%%PRIV_LIB%%/pod/perl5181delta.pod
+%%PRIV_LIB%%/pod/perl5182delta.pod
+%%PRIV_LIB%%/pod/perl5184delta.pod
+%%PRIV_LIB%%/pod/perl5200delta.pod
+%%PRIV_LIB%%/pod/perl5201delta.pod
+%%PRIV_LIB%%/pod/perl5202delta.pod
+%%PRIV_LIB%%/pod/perl5203delta.pod
+%%PRIV_LIB%%/pod/perl5220delta.pod
+%%PRIV_LIB%%/pod/perl5221delta.pod
+%%PRIV_LIB%%/pod/perl5222delta.pod
+%%PRIV_LIB%%/pod/perl5223delta.pod
+%%PRIV_LIB%%/pod/perl5224delta.pod
+%%PRIV_LIB%%/pod/perl5240delta.pod
+%%PRIV_LIB%%/pod/perl5241delta.pod
+%%PRIV_LIB%%/pod/perl5242delta.pod
+%%PRIV_LIB%%/pod/perl5243delta.pod
+%%PRIV_LIB%%/pod/perl5244delta.pod
+%%PRIV_LIB%%/pod/perl5260delta.pod
+%%PRIV_LIB%%/pod/perl5261delta.pod
+%%PRIV_LIB%%/pod/perl5262delta.pod
+%%PRIV_LIB%%/pod/perl5280delta.pod
+%%PRIV_LIB%%/pod/perl5281delta.pod
+%%PRIV_LIB%%/pod/perl561delta.pod
+%%PRIV_LIB%%/pod/perl56delta.pod
+%%PRIV_LIB%%/pod/perl581delta.pod
+%%PRIV_LIB%%/pod/perl582delta.pod
+%%PRIV_LIB%%/pod/perl583delta.pod
+%%PRIV_LIB%%/pod/perl584delta.pod
+%%PRIV_LIB%%/pod/perl585delta.pod
+%%PRIV_LIB%%/pod/perl586delta.pod
+%%PRIV_LIB%%/pod/perl587delta.pod
+%%PRIV_LIB%%/pod/perl588delta.pod
+%%PRIV_LIB%%/pod/perl589delta.pod
+%%PRIV_LIB%%/pod/perl58delta.pod
+%%PRIV_LIB%%/pod/perlaix.pod
+%%PRIV_LIB%%/pod/perlamiga.pod
+%%PRIV_LIB%%/pod/perlandroid.pod
+%%PRIV_LIB%%/pod/perlapi.pod
+%%PRIV_LIB%%/pod/perlapio.pod
+%%PRIV_LIB%%/pod/perlartistic.pod
+%%PRIV_LIB%%/pod/perlbook.pod
+%%PRIV_LIB%%/pod/perlboot.pod
+%%PRIV_LIB%%/pod/perlbot.pod
+%%PRIV_LIB%%/pod/perlbs2000.pod
+%%PRIV_LIB%%/pod/perlcall.pod
+%%PRIV_LIB%%/pod/perlce.pod
+%%PRIV_LIB%%/pod/perlcheat.pod
+%%PRIV_LIB%%/pod/perlclib.pod
+%%PRIV_LIB%%/pod/perlcn.pod
+%%PRIV_LIB%%/pod/perlcommunity.pod
+%%PRIV_LIB%%/pod/perlcygwin.pod
+%%PRIV_LIB%%/pod/perldata.pod
+%%PRIV_LIB%%/pod/perldbmfilter.pod
+%%PRIV_LIB%%/pod/perldebguts.pod
+%%PRIV_LIB%%/pod/perldebtut.pod
+%%PRIV_LIB%%/pod/perldebug.pod
+%%PRIV_LIB%%/pod/perldelta.pod
+%%PRIV_LIB%%/pod/perldeprecation.pod
+%%PRIV_LIB%%/pod/perldiag.pod
+%%PRIV_LIB%%/pod/perldoc.pod
+%%PRIV_LIB%%/pod/perldos.pod
+%%PRIV_LIB%%/pod/perldsc.pod
+%%PRIV_LIB%%/pod/perldtrace.pod
+%%PRIV_LIB%%/pod/perlebcdic.pod
+%%PRIV_LIB%%/pod/perlembed.pod
+%%PRIV_LIB%%/pod/perlexperiment.pod
+%%PRIV_LIB%%/pod/perlfaq.pod
+%%PRIV_LIB%%/pod/perlfaq1.pod
+%%PRIV_LIB%%/pod/perlfaq2.pod
+%%PRIV_LIB%%/pod/perlfaq3.pod
+%%PRIV_LIB%%/pod/perlfaq4.pod
+%%PRIV_LIB%%/pod/perlfaq5.pod
+%%PRIV_LIB%%/pod/perlfaq6.pod
+%%PRIV_LIB%%/pod/perlfaq7.pod
+%%PRIV_LIB%%/pod/perlfaq8.pod
+%%PRIV_LIB%%/pod/perlfaq9.pod
+%%PRIV_LIB%%/pod/perlfilter.pod
+%%PRIV_LIB%%/pod/perlfork.pod
+%%PRIV_LIB%%/pod/perlform.pod
+%%PRIV_LIB%%/pod/perlfreebsd.pod
+%%PRIV_LIB%%/pod/perlfunc.pod
+%%PRIV_LIB%%/pod/perlgit.pod
+%%PRIV_LIB%%/pod/perlglossary.pod
+%%PRIV_LIB%%/pod/perlgpl.pod
+%%PRIV_LIB%%/pod/perlguts.pod
+%%PRIV_LIB%%/pod/perlhack.pod
+%%PRIV_LIB%%/pod/perlhacktips.pod
+%%PRIV_LIB%%/pod/perlhacktut.pod
+%%PRIV_LIB%%/pod/perlhaiku.pod
+%%PRIV_LIB%%/pod/perlhist.pod
+%%PRIV_LIB%%/pod/perlhpux.pod
+%%PRIV_LIB%%/pod/perlhurd.pod
+%%PRIV_LIB%%/pod/perlintern.pod
+%%PRIV_LIB%%/pod/perlinterp.pod
+%%PRIV_LIB%%/pod/perlintro.pod
+%%PRIV_LIB%%/pod/perliol.pod
+%%PRIV_LIB%%/pod/perlipc.pod
+%%PRIV_LIB%%/pod/perlirix.pod
+%%PRIV_LIB%%/pod/perljp.pod
+%%PRIV_LIB%%/pod/perlko.pod
+%%PRIV_LIB%%/pod/perllexwarn.pod
+%%PRIV_LIB%%/pod/perllinux.pod
+%%PRIV_LIB%%/pod/perllocale.pod
+%%PRIV_LIB%%/pod/perllol.pod
+%%PRIV_LIB%%/pod/perlmacos.pod
+%%PRIV_LIB%%/pod/perlmacosx.pod
+%%PRIV_LIB%%/pod/perlmod.pod
+%%PRIV_LIB%%/pod/perlmodinstall.pod
+%%PRIV_LIB%%/pod/perlmodlib.pod
+%%PRIV_LIB%%/pod/perlmodstyle.pod
+%%PRIV_LIB%%/pod/perlmroapi.pod
+%%PRIV_LIB%%/pod/perlnetware.pod
+%%PRIV_LIB%%/pod/perlnewmod.pod
+%%PRIV_LIB%%/pod/perlnumber.pod
+%%PRIV_LIB%%/pod/perlobj.pod
+%%PRIV_LIB%%/pod/perlootut.pod
+%%PRIV_LIB%%/pod/perlop.pod
+%%PRIV_LIB%%/pod/perlopenbsd.pod
+%%PRIV_LIB%%/pod/perlopentut.pod
+%%PRIV_LIB%%/pod/perlos2.pod
+%%PRIV_LIB%%/pod/perlos390.pod
+%%PRIV_LIB%%/pod/perlos400.pod
+%%PRIV_LIB%%/pod/perlpacktut.pod
+%%PRIV_LIB%%/pod/perlperf.pod
+%%PRIV_LIB%%/pod/perlplan9.pod
+%%PRIV_LIB%%/pod/perlpod.pod
+%%PRIV_LIB%%/pod/perlpodspec.pod
+%%PRIV_LIB%%/pod/perlpodstyle.pod
+%%PRIV_LIB%%/pod/perlpolicy.pod
+%%PRIV_LIB%%/pod/perlport.pod
+%%PRIV_LIB%%/pod/perlpragma.pod
+%%PRIV_LIB%%/pod/perlqnx.pod
+%%PRIV_LIB%%/pod/perlre.pod
+%%PRIV_LIB%%/pod/perlreapi.pod
+%%PRIV_LIB%%/pod/perlrebackslash.pod
+%%PRIV_LIB%%/pod/perlrecharclass.pod
+%%PRIV_LIB%%/pod/perlref.pod
+%%PRIV_LIB%%/pod/perlreftut.pod
+%%PRIV_LIB%%/pod/perlreguts.pod
+%%PRIV_LIB%%/pod/perlrepository.pod
+%%PRIV_LIB%%/pod/perlrequick.pod
+%%PRIV_LIB%%/pod/perlreref.pod
+%%PRIV_LIB%%/pod/perlretut.pod
+%%PRIV_LIB%%/pod/perlriscos.pod
+%%PRIV_LIB%%/pod/perlrun.pod
+%%PRIV_LIB%%/pod/perlsec.pod
+%%PRIV_LIB%%/pod/perlsolaris.pod
+%%PRIV_LIB%%/pod/perlsource.pod
+%%PRIV_LIB%%/pod/perlstyle.pod
+%%PRIV_LIB%%/pod/perlsub.pod
+%%PRIV_LIB%%/pod/perlsymbian.pod
+%%PRIV_LIB%%/pod/perlsyn.pod
+%%PRIV_LIB%%/pod/perlsynology.pod
+%%PRIV_LIB%%/pod/perlthrtut.pod
+%%PRIV_LIB%%/pod/perltie.pod
+%%PRIV_LIB%%/pod/perltoc.pod
+%%PRIV_LIB%%/pod/perltodo.pod
+%%PRIV_LIB%%/pod/perltooc.pod
+%%PRIV_LIB%%/pod/perltoot.pod
+%%PRIV_LIB%%/pod/perltrap.pod
+%%PRIV_LIB%%/pod/perltru64.pod
+%%PRIV_LIB%%/pod/perltw.pod
+%%PRIV_LIB%%/pod/perlunicode.pod
+%%PRIV_LIB%%/pod/perlunicook.pod
+%%PRIV_LIB%%/pod/perlunifaq.pod
+%%PRIV_LIB%%/pod/perluniintro.pod
+%%PRIV_LIB%%/pod/perluniprops.pod
+%%PRIV_LIB%%/pod/perlunitut.pod
+%%PRIV_LIB%%/pod/perlutil.pod
+%%PRIV_LIB%%/pod/perlvar.pod
+%%PRIV_LIB%%/pod/perlvms.pod
+%%PRIV_LIB%%/pod/perlvos.pod
+%%PRIV_LIB%%/pod/perlwin32.pod
+%%PRIV_LIB%%/pod/perlxs.pod
+%%PRIV_LIB%%/pod/perlxstut.pod
+%%PRIV_LIB%%/pod/perlxstypemap.pod
+%%PRIV_LIB%%/sigtrap.pm
+%%PRIV_LIB%%/sort.pm
+%%PRIV_LIB%%/strict.pm
+%%PRIV_LIB%%/subs.pm
+%%PRIV_LIB%%/unicore/Blocks.txt
+%%PRIV_LIB%%/unicore/CombiningClass.pl
+%%PRIV_LIB%%/unicore/Decomposition.pl
+%%PRIV_LIB%%/unicore/Heavy.pl
+%%PRIV_LIB%%/unicore/Name.pl
+%%PRIV_LIB%%/unicore/Name.pm
+%%PRIV_LIB%%/unicore/NamedSequences.txt
+%%PRIV_LIB%%/unicore/SpecialCasing.txt
+%%PRIV_LIB%%/unicore/To/Age.pl
+%%PRIV_LIB%%/unicore/To/Bc.pl
+%%PRIV_LIB%%/unicore/To/Bmg.pl
+%%PRIV_LIB%%/unicore/To/Bpb.pl
+%%PRIV_LIB%%/unicore/To/Bpt.pl
+%%PRIV_LIB%%/unicore/To/Cf.pl
+%%PRIV_LIB%%/unicore/To/Digit.pl
+%%PRIV_LIB%%/unicore/To/Ea.pl
+%%PRIV_LIB%%/unicore/To/Fold.pl
+%%PRIV_LIB%%/unicore/To/GCB.pl
+%%PRIV_LIB%%/unicore/To/Gc.pl
+%%PRIV_LIB%%/unicore/To/Hst.pl
+%%PRIV_LIB%%/unicore/To/InPC.pl
+%%PRIV_LIB%%/unicore/To/InSC.pl
+%%PRIV_LIB%%/unicore/To/Isc.pl
+%%PRIV_LIB%%/unicore/To/Jg.pl
+%%PRIV_LIB%%/unicore/To/Jt.pl
+%%PRIV_LIB%%/unicore/To/Lb.pl
+%%PRIV_LIB%%/unicore/To/Lc.pl
+%%PRIV_LIB%%/unicore/To/Lower.pl
+%%PRIV_LIB%%/unicore/To/NFCQC.pl
+%%PRIV_LIB%%/unicore/To/NFDQC.pl
+%%PRIV_LIB%%/unicore/To/NFKCCF.pl
+%%PRIV_LIB%%/unicore/To/NFKCQC.pl
+%%PRIV_LIB%%/unicore/To/NFKDQC.pl
+%%PRIV_LIB%%/unicore/To/Na1.pl
+%%PRIV_LIB%%/unicore/To/NameAlia.pl
+%%PRIV_LIB%%/unicore/To/Nt.pl
+%%PRIV_LIB%%/unicore/To/Nv.pl
+%%PRIV_LIB%%/unicore/To/PerlDeci.pl
+%%PRIV_LIB%%/unicore/To/SB.pl
+%%PRIV_LIB%%/unicore/To/Sc.pl
+%%PRIV_LIB%%/unicore/To/Scx.pl
+%%PRIV_LIB%%/unicore/To/Tc.pl
+%%PRIV_LIB%%/unicore/To/Title.pl
+%%PRIV_LIB%%/unicore/To/Uc.pl
+%%PRIV_LIB%%/unicore/To/Upper.pl
+%%PRIV_LIB%%/unicore/To/Vo.pl
+%%PRIV_LIB%%/unicore/To/WB.pl
+%%PRIV_LIB%%/unicore/To/_PerlLB.pl
+%%PRIV_LIB%%/unicore/To/_PerlSCX.pl
+%%PRIV_LIB%%/unicore/To/_PerlWB.pl
+%%PRIV_LIB%%/unicore/UCD.pl
+%%PRIV_LIB%%/unicore/lib/Age/NA.pl
+%%PRIV_LIB%%/unicore/lib/Age/V100.pl
+%%PRIV_LIB%%/unicore/lib/Age/V11.pl
+%%PRIV_LIB%%/unicore/lib/Age/V20.pl
+%%PRIV_LIB%%/unicore/lib/Age/V30.pl
+%%PRIV_LIB%%/unicore/lib/Age/V31.pl
+%%PRIV_LIB%%/unicore/lib/Age/V32.pl
+%%PRIV_LIB%%/unicore/lib/Age/V40.pl
+%%PRIV_LIB%%/unicore/lib/Age/V41.pl
+%%PRIV_LIB%%/unicore/lib/Age/V50.pl
+%%PRIV_LIB%%/unicore/lib/Age/V51.pl
+%%PRIV_LIB%%/unicore/lib/Age/V52.pl
+%%PRIV_LIB%%/unicore/lib/Age/V60.pl
+%%PRIV_LIB%%/unicore/lib/Age/V61.pl
+%%PRIV_LIB%%/unicore/lib/Age/V70.pl
+%%PRIV_LIB%%/unicore/lib/Age/V80.pl
+%%PRIV_LIB%%/unicore/lib/Age/V90.pl
+%%PRIV_LIB%%/unicore/lib/Alpha/Y.pl
+%%PRIV_LIB%%/unicore/lib/Bc/AL.pl
+%%PRIV_LIB%%/unicore/lib/Bc/AN.pl
+%%PRIV_LIB%%/unicore/lib/Bc/B.pl
+%%PRIV_LIB%%/unicore/lib/Bc/BN.pl
+%%PRIV_LIB%%/unicore/lib/Bc/CS.pl
+%%PRIV_LIB%%/unicore/lib/Bc/EN.pl
+%%PRIV_LIB%%/unicore/lib/Bc/ES.pl
+%%PRIV_LIB%%/unicore/lib/Bc/ET.pl
+%%PRIV_LIB%%/unicore/lib/Bc/L.pl
+%%PRIV_LIB%%/unicore/lib/Bc/NSM.pl
+%%PRIV_LIB%%/unicore/lib/Bc/ON.pl
+%%PRIV_LIB%%/unicore/lib/Bc/R.pl
+%%PRIV_LIB%%/unicore/lib/Bc/WS.pl
+%%PRIV_LIB%%/unicore/lib/BidiC/Y.pl
+%%PRIV_LIB%%/unicore/lib/BidiM/Y.pl
+%%PRIV_LIB%%/unicore/lib/Blk/NB.pl
+%%PRIV_LIB%%/unicore/lib/Bpt/C.pl
+%%PRIV_LIB%%/unicore/lib/Bpt/N.pl
+%%PRIV_LIB%%/unicore/lib/Bpt/O.pl
+%%PRIV_LIB%%/unicore/lib/CE/Y.pl
+%%PRIV_LIB%%/unicore/lib/CI/Y.pl
+%%PRIV_LIB%%/unicore/lib/CWCF/Y.pl
+%%PRIV_LIB%%/unicore/lib/CWCM/Y.pl
+%%PRIV_LIB%%/unicore/lib/CWKCF/Y.pl
+%%PRIV_LIB%%/unicore/lib/CWL/Y.pl
+%%PRIV_LIB%%/unicore/lib/CWT/Y.pl
+%%PRIV_LIB%%/unicore/lib/CWU/Y.pl
+%%PRIV_LIB%%/unicore/lib/Cased/Y.pl
+%%PRIV_LIB%%/unicore/lib/Ccc/A.pl
+%%PRIV_LIB%%/unicore/lib/Ccc/AL.pl
+%%PRIV_LIB%%/unicore/lib/Ccc/AR.pl
+%%PRIV_LIB%%/unicore/lib/Ccc/ATAR.pl
+%%PRIV_LIB%%/unicore/lib/Ccc/B.pl
+%%PRIV_LIB%%/unicore/lib/Ccc/BR.pl
+%%PRIV_LIB%%/unicore/lib/Ccc/DB.pl
+%%PRIV_LIB%%/unicore/lib/Ccc/NK.pl
+%%PRIV_LIB%%/unicore/lib/Ccc/NR.pl
+%%PRIV_LIB%%/unicore/lib/Ccc/OV.pl
+%%PRIV_LIB%%/unicore/lib/Ccc/VR.pl
+%%PRIV_LIB%%/unicore/lib/CompEx/Y.pl
+%%PRIV_LIB%%/unicore/lib/DI/Y.pl
+%%PRIV_LIB%%/unicore/lib/Dash/Y.pl
+%%PRIV_LIB%%/unicore/lib/Dep/Y.pl
+%%PRIV_LIB%%/unicore/lib/Dia/Y.pl
+%%PRIV_LIB%%/unicore/lib/Dt/Com.pl
+%%PRIV_LIB%%/unicore/lib/Dt/Enc.pl
+%%PRIV_LIB%%/unicore/lib/Dt/Fin.pl
+%%PRIV_LIB%%/unicore/lib/Dt/Font.pl
+%%PRIV_LIB%%/unicore/lib/Dt/Init.pl
+%%PRIV_LIB%%/unicore/lib/Dt/Iso.pl
+%%PRIV_LIB%%/unicore/lib/Dt/Med.pl
+%%PRIV_LIB%%/unicore/lib/Dt/Nar.pl
+%%PRIV_LIB%%/unicore/lib/Dt/Nb.pl
+%%PRIV_LIB%%/unicore/lib/Dt/NonCanon.pl
+%%PRIV_LIB%%/unicore/lib/Dt/Sqr.pl
+%%PRIV_LIB%%/unicore/lib/Dt/Sub.pl
+%%PRIV_LIB%%/unicore/lib/Dt/Sup.pl
+%%PRIV_LIB%%/unicore/lib/Dt/Vert.pl
+%%PRIV_LIB%%/unicore/lib/Ea/A.pl
+%%PRIV_LIB%%/unicore/lib/Ea/H.pl
+%%PRIV_LIB%%/unicore/lib/Ea/N.pl
+%%PRIV_LIB%%/unicore/lib/Ea/Na.pl
+%%PRIV_LIB%%/unicore/lib/Ea/W.pl
+%%PRIV_LIB%%/unicore/lib/Ext/Y.pl
+%%PRIV_LIB%%/unicore/lib/GCB/CN.pl
+%%PRIV_LIB%%/unicore/lib/GCB/EB.pl
+%%PRIV_LIB%%/unicore/lib/GCB/EX.pl
+%%PRIV_LIB%%/unicore/lib/GCB/GAZ.pl
+%%PRIV_LIB%%/unicore/lib/GCB/LV.pl
+%%PRIV_LIB%%/unicore/lib/GCB/LVT.pl
+%%PRIV_LIB%%/unicore/lib/GCB/PP.pl
+%%PRIV_LIB%%/unicore/lib/GCB/SM.pl
+%%PRIV_LIB%%/unicore/lib/GCB/XX.pl
+%%PRIV_LIB%%/unicore/lib/Gc/C.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Cf.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Cn.pl
+%%PRIV_LIB%%/unicore/lib/Gc/L.pl
+%%PRIV_LIB%%/unicore/lib/Gc/LC.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Ll.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Lm.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Lo.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Lu.pl
+%%PRIV_LIB%%/unicore/lib/Gc/M.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Mc.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Me.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Mn.pl
+%%PRIV_LIB%%/unicore/lib/Gc/N.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Nd.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Nl.pl
+%%PRIV_LIB%%/unicore/lib/Gc/No.pl
+%%PRIV_LIB%%/unicore/lib/Gc/P.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Pc.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Pd.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Pe.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Pf.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Pi.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Po.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Ps.pl
+%%PRIV_LIB%%/unicore/lib/Gc/S.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Sc.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Sk.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Sm.pl
+%%PRIV_LIB%%/unicore/lib/Gc/So.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Z.pl
+%%PRIV_LIB%%/unicore/lib/Gc/Zs.pl
+%%PRIV_LIB%%/unicore/lib/GrBase/Y.pl
+%%PRIV_LIB%%/unicore/lib/Hex/Y.pl
+%%PRIV_LIB%%/unicore/lib/Hst/NA.pl
+%%PRIV_LIB%%/unicore/lib/Hyphen/T.pl
+%%PRIV_LIB%%/unicore/lib/IDC/Y.pl
+%%PRIV_LIB%%/unicore/lib/IDS/Y.pl
+%%PRIV_LIB%%/unicore/lib/Ideo/Y.pl
+%%PRIV_LIB%%/unicore/lib/In/10_0.pl
+%%PRIV_LIB%%/unicore/lib/In/2_0.pl
+%%PRIV_LIB%%/unicore/lib/In/2_1.pl
+%%PRIV_LIB%%/unicore/lib/In/3_0.pl
+%%PRIV_LIB%%/unicore/lib/In/3_1.pl
+%%PRIV_LIB%%/unicore/lib/In/3_2.pl
+%%PRIV_LIB%%/unicore/lib/In/4_0.pl
+%%PRIV_LIB%%/unicore/lib/In/4_1.pl
+%%PRIV_LIB%%/unicore/lib/In/5_0.pl
+%%PRIV_LIB%%/unicore/lib/In/5_1.pl
+%%PRIV_LIB%%/unicore/lib/In/5_2.pl
+%%PRIV_LIB%%/unicore/lib/In/6_0.pl
+%%PRIV_LIB%%/unicore/lib/In/6_1.pl
+%%PRIV_LIB%%/unicore/lib/In/6_2.pl
+%%PRIV_LIB%%/unicore/lib/In/6_3.pl
+%%PRIV_LIB%%/unicore/lib/In/7_0.pl
+%%PRIV_LIB%%/unicore/lib/In/8_0.pl
+%%PRIV_LIB%%/unicore/lib/In/9_0.pl
+%%PRIV_LIB%%/unicore/lib/InPC/Bottom.pl
+%%PRIV_LIB%%/unicore/lib/InPC/Left.pl
+%%PRIV_LIB%%/unicore/lib/InPC/LeftAndR.pl
+%%PRIV_LIB%%/unicore/lib/InPC/NA.pl
+%%PRIV_LIB%%/unicore/lib/InPC/Overstru.pl
+%%PRIV_LIB%%/unicore/lib/InPC/Right.pl
+%%PRIV_LIB%%/unicore/lib/InPC/Top.pl
+%%PRIV_LIB%%/unicore/lib/InPC/TopAndBo.pl
+%%PRIV_LIB%%/unicore/lib/InPC/TopAndL2.pl
+%%PRIV_LIB%%/unicore/lib/InPC/TopAndLe.pl
+%%PRIV_LIB%%/unicore/lib/InPC/TopAndRi.pl
+%%PRIV_LIB%%/unicore/lib/InPC/VisualOr.pl
+%%PRIV_LIB%%/unicore/lib/InSC/Avagraha.pl
+%%PRIV_LIB%%/unicore/lib/InSC/Bindu.pl
+%%PRIV_LIB%%/unicore/lib/InSC/Cantilla.pl
+%%PRIV_LIB%%/unicore/lib/InSC/Consona2.pl
+%%PRIV_LIB%%/unicore/lib/InSC/Consona3.pl
+%%PRIV_LIB%%/unicore/lib/InSC/Consona4.pl
+%%PRIV_LIB%%/unicore/lib/InSC/Consona5.pl
+%%PRIV_LIB%%/unicore/lib/InSC/Consona6.pl
+%%PRIV_LIB%%/unicore/lib/InSC/Consonan.pl
+%%PRIV_LIB%%/unicore/lib/InSC/Invisibl.pl
+%%PRIV_LIB%%/unicore/lib/InSC/Nukta.pl
+%%PRIV_LIB%%/unicore/lib/InSC/Number.pl
+%%PRIV_LIB%%/unicore/lib/InSC/Other.pl
+%%PRIV_LIB%%/unicore/lib/InSC/PureKill.pl
+%%PRIV_LIB%%/unicore/lib/InSC/Syllable.pl
+%%PRIV_LIB%%/unicore/lib/InSC/ToneMark.pl
+%%PRIV_LIB%%/unicore/lib/InSC/Virama.pl
+%%PRIV_LIB%%/unicore/lib/InSC/Visarga.pl
+%%PRIV_LIB%%/unicore/lib/InSC/Vowel.pl
+%%PRIV_LIB%%/unicore/lib/InSC/VowelDep.pl
+%%PRIV_LIB%%/unicore/lib/InSC/VowelInd.pl
+%%PRIV_LIB%%/unicore/lib/Jg/Ain.pl
+%%PRIV_LIB%%/unicore/lib/Jg/Alef.pl
+%%PRIV_LIB%%/unicore/lib/Jg/Beh.pl
+%%PRIV_LIB%%/unicore/lib/Jg/Dal.pl
+%%PRIV_LIB%%/unicore/lib/Jg/FarsiYeh.pl
+%%PRIV_LIB%%/unicore/lib/Jg/Feh.pl
+%%PRIV_LIB%%/unicore/lib/Jg/Gaf.pl
+%%PRIV_LIB%%/unicore/lib/Jg/Hah.pl
+%%PRIV_LIB%%/unicore/lib/Jg/Kaf.pl
+%%PRIV_LIB%%/unicore/lib/Jg/Lam.pl
+%%PRIV_LIB%%/unicore/lib/Jg/NoJoinin.pl
+%%PRIV_LIB%%/unicore/lib/Jg/Qaf.pl
+%%PRIV_LIB%%/unicore/lib/Jg/Reh.pl
+%%PRIV_LIB%%/unicore/lib/Jg/Sad.pl
+%%PRIV_LIB%%/unicore/lib/Jg/Seen.pl
+%%PRIV_LIB%%/unicore/lib/Jg/Waw.pl
+%%PRIV_LIB%%/unicore/lib/Jg/Yeh.pl
+%%PRIV_LIB%%/unicore/lib/Jt/C.pl
+%%PRIV_LIB%%/unicore/lib/Jt/D.pl
+%%PRIV_LIB%%/unicore/lib/Jt/R.pl
+%%PRIV_LIB%%/unicore/lib/Jt/T.pl
+%%PRIV_LIB%%/unicore/lib/Jt/U.pl
+%%PRIV_LIB%%/unicore/lib/Lb/AI.pl
+%%PRIV_LIB%%/unicore/lib/Lb/AL.pl
+%%PRIV_LIB%%/unicore/lib/Lb/BA.pl
+%%PRIV_LIB%%/unicore/lib/Lb/BB.pl
+%%PRIV_LIB%%/unicore/lib/Lb/CJ.pl
+%%PRIV_LIB%%/unicore/lib/Lb/CL.pl
+%%PRIV_LIB%%/unicore/lib/Lb/CM.pl
+%%PRIV_LIB%%/unicore/lib/Lb/EB.pl
+%%PRIV_LIB%%/unicore/lib/Lb/EX.pl
+%%PRIV_LIB%%/unicore/lib/Lb/GL.pl
+%%PRIV_LIB%%/unicore/lib/Lb/ID.pl
+%%PRIV_LIB%%/unicore/lib/Lb/IN.pl
+%%PRIV_LIB%%/unicore/lib/Lb/IS.pl
+%%PRIV_LIB%%/unicore/lib/Lb/NS.pl
+%%PRIV_LIB%%/unicore/lib/Lb/OP.pl
+%%PRIV_LIB%%/unicore/lib/Lb/PO.pl
+%%PRIV_LIB%%/unicore/lib/Lb/PR.pl
+%%PRIV_LIB%%/unicore/lib/Lb/QU.pl
+%%PRIV_LIB%%/unicore/lib/Lb/SA.pl
+%%PRIV_LIB%%/unicore/lib/Lb/XX.pl
+%%PRIV_LIB%%/unicore/lib/Lower/Y.pl
+%%PRIV_LIB%%/unicore/lib/Math/Y.pl
+%%PRIV_LIB%%/unicore/lib/NFCQC/M.pl
+%%PRIV_LIB%%/unicore/lib/NFCQC/Y.pl
+%%PRIV_LIB%%/unicore/lib/NFDQC/N.pl
+%%PRIV_LIB%%/unicore/lib/NFDQC/Y.pl
+%%PRIV_LIB%%/unicore/lib/NFKCQC/N.pl
+%%PRIV_LIB%%/unicore/lib/NFKCQC/Y.pl
+%%PRIV_LIB%%/unicore/lib/NFKDQC/N.pl
+%%PRIV_LIB%%/unicore/lib/NFKDQC/Y.pl
+%%PRIV_LIB%%/unicore/lib/Nt/Di.pl
+%%PRIV_LIB%%/unicore/lib/Nt/None.pl
+%%PRIV_LIB%%/unicore/lib/Nt/Nu.pl
+%%PRIV_LIB%%/unicore/lib/Nv/0.pl
+%%PRIV_LIB%%/unicore/lib/Nv/1.pl
+%%PRIV_LIB%%/unicore/lib/Nv/10.pl
+%%PRIV_LIB%%/unicore/lib/Nv/100.pl
+%%PRIV_LIB%%/unicore/lib/Nv/1000.pl
+%%PRIV_LIB%%/unicore/lib/Nv/10000.pl
+%%PRIV_LIB%%/unicore/lib/Nv/11.pl
+%%PRIV_LIB%%/unicore/lib/Nv/12.pl
+%%PRIV_LIB%%/unicore/lib/Nv/13.pl
+%%PRIV_LIB%%/unicore/lib/Nv/14.pl
+%%PRIV_LIB%%/unicore/lib/Nv/15.pl
+%%PRIV_LIB%%/unicore/lib/Nv/16.pl
+%%PRIV_LIB%%/unicore/lib/Nv/17.pl
+%%PRIV_LIB%%/unicore/lib/Nv/18.pl
+%%PRIV_LIB%%/unicore/lib/Nv/19.pl
+%%PRIV_LIB%%/unicore/lib/Nv/1_16.pl
+%%PRIV_LIB%%/unicore/lib/Nv/1_2.pl
+%%PRIV_LIB%%/unicore/lib/Nv/1_3.pl
+%%PRIV_LIB%%/unicore/lib/Nv/1_4.pl
+%%PRIV_LIB%%/unicore/lib/Nv/1_8.pl
+%%PRIV_LIB%%/unicore/lib/Nv/2.pl
+%%PRIV_LIB%%/unicore/lib/Nv/20.pl
+%%PRIV_LIB%%/unicore/lib/Nv/200.pl
+%%PRIV_LIB%%/unicore/lib/Nv/2_3.pl
+%%PRIV_LIB%%/unicore/lib/Nv/3.pl
+%%PRIV_LIB%%/unicore/lib/Nv/30.pl
+%%PRIV_LIB%%/unicore/lib/Nv/300.pl
+%%PRIV_LIB%%/unicore/lib/Nv/3_16.pl
+%%PRIV_LIB%%/unicore/lib/Nv/3_4.pl
+%%PRIV_LIB%%/unicore/lib/Nv/4.pl
+%%PRIV_LIB%%/unicore/lib/Nv/40.pl
+%%PRIV_LIB%%/unicore/lib/Nv/400.pl
+%%PRIV_LIB%%/unicore/lib/Nv/5.pl
+%%PRIV_LIB%%/unicore/lib/Nv/50.pl
+%%PRIV_LIB%%/unicore/lib/Nv/500.pl
+%%PRIV_LIB%%/unicore/lib/Nv/5000.pl
+%%PRIV_LIB%%/unicore/lib/Nv/50000.pl
+%%PRIV_LIB%%/unicore/lib/Nv/6.pl
+%%PRIV_LIB%%/unicore/lib/Nv/60.pl
+%%PRIV_LIB%%/unicore/lib/Nv/600.pl
+%%PRIV_LIB%%/unicore/lib/Nv/7.pl
+%%PRIV_LIB%%/unicore/lib/Nv/70.pl
+%%PRIV_LIB%%/unicore/lib/Nv/700.pl
+%%PRIV_LIB%%/unicore/lib/Nv/8.pl
+%%PRIV_LIB%%/unicore/lib/Nv/80.pl
+%%PRIV_LIB%%/unicore/lib/Nv/800.pl
+%%PRIV_LIB%%/unicore/lib/Nv/9.pl
+%%PRIV_LIB%%/unicore/lib/Nv/90.pl
+%%PRIV_LIB%%/unicore/lib/Nv/900.pl
+%%PRIV_LIB%%/unicore/lib/PCM/Y.pl
+%%PRIV_LIB%%/unicore/lib/PatSyn/Y.pl
+%%PRIV_LIB%%/unicore/lib/Perl/Alnum.pl
+%%PRIV_LIB%%/unicore/lib/Perl/Assigned.pl
+%%PRIV_LIB%%/unicore/lib/Perl/Blank.pl
+%%PRIV_LIB%%/unicore/lib/Perl/Graph.pl
+%%PRIV_LIB%%/unicore/lib/Perl/PerlWord.pl
+%%PRIV_LIB%%/unicore/lib/Perl/PosixPun.pl
+%%PRIV_LIB%%/unicore/lib/Perl/Print.pl
+%%PRIV_LIB%%/unicore/lib/Perl/SpacePer.pl
+%%PRIV_LIB%%/unicore/lib/Perl/Title.pl
+%%PRIV_LIB%%/unicore/lib/Perl/Word.pl
+%%PRIV_LIB%%/unicore/lib/Perl/XPosixPu.pl
+%%PRIV_LIB%%/unicore/lib/Perl/_PerlAny.pl
+%%PRIV_LIB%%/unicore/lib/Perl/_PerlCh2.pl
+%%PRIV_LIB%%/unicore/lib/Perl/_PerlCha.pl
+%%PRIV_LIB%%/unicore/lib/Perl/_PerlFol.pl
+%%PRIV_LIB%%/unicore/lib/Perl/_PerlIDC.pl
+%%PRIV_LIB%%/unicore/lib/Perl/_PerlIDS.pl
+%%PRIV_LIB%%/unicore/lib/Perl/_PerlNch.pl
+%%PRIV_LIB%%/unicore/lib/Perl/_PerlPat.pl
+%%PRIV_LIB%%/unicore/lib/Perl/_PerlPr2.pl
+%%PRIV_LIB%%/unicore/lib/Perl/_PerlPro.pl
+%%PRIV_LIB%%/unicore/lib/Perl/_PerlQuo.pl
+%%PRIV_LIB%%/unicore/lib/QMark/Y.pl
+%%PRIV_LIB%%/unicore/lib/SB/AT.pl
+%%PRIV_LIB%%/unicore/lib/SB/CL.pl
+%%PRIV_LIB%%/unicore/lib/SB/EX.pl
+%%PRIV_LIB%%/unicore/lib/SB/FO.pl
+%%PRIV_LIB%%/unicore/lib/SB/LE.pl
+%%PRIV_LIB%%/unicore/lib/SB/LO.pl
+%%PRIV_LIB%%/unicore/lib/SB/NU.pl
+%%PRIV_LIB%%/unicore/lib/SB/SC.pl
+%%PRIV_LIB%%/unicore/lib/SB/ST.pl
+%%PRIV_LIB%%/unicore/lib/SB/Sp.pl
+%%PRIV_LIB%%/unicore/lib/SB/UP.pl
+%%PRIV_LIB%%/unicore/lib/SB/XX.pl
+%%PRIV_LIB%%/unicore/lib/SD/Y.pl
+%%PRIV_LIB%%/unicore/lib/STerm/Y.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Arab.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Armn.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Beng.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Cprt.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Cyrl.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Deva.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Dupl.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Geor.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Glag.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Gran.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Grek.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Gujr.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Guru.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Han.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Hang.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Hira.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Kana.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Knda.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Latn.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Limb.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Linb.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Mlym.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Mong.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Mult.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Orya.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Sinh.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Syrc.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Taml.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Telu.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Zinh.pl
+%%PRIV_LIB%%/unicore/lib/Sc/Zyyy.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Adlm.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Arab.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Armn.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Beng.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Bhks.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Bopo.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Cakm.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Cham.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Copt.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Cprt.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Cyrl.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Deva.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Dupl.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Ethi.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Geor.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Glag.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Gonm.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Gran.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Grek.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Gujr.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Guru.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Han.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Hang.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Hebr.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Hira.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Hmng.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Kana.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Khar.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Khmr.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Knda.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Lana.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Lao.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Latn.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Limb.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Lina.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Linb.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Mlym.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Mong.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Mult.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Mymr.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Orya.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Phlp.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Shrd.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Sind.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Sinh.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Syrc.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Tagb.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Takr.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Talu.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Taml.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Telu.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Thaa.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Tibt.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Tirh.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Xsux.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Yi.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Zinh.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Zyyy.pl
+%%PRIV_LIB%%/unicore/lib/Scx/Zzzz.pl
+%%PRIV_LIB%%/unicore/lib/Term/Y.pl
+%%PRIV_LIB%%/unicore/lib/UIdeo/Y.pl
+%%PRIV_LIB%%/unicore/lib/Upper/Y.pl
+%%PRIV_LIB%%/unicore/lib/Vo/R.pl
+%%PRIV_LIB%%/unicore/lib/Vo/Tr.pl
+%%PRIV_LIB%%/unicore/lib/Vo/Tu.pl
+%%PRIV_LIB%%/unicore/lib/Vo/U.pl
+%%PRIV_LIB%%/unicore/lib/WB/EX.pl
+%%PRIV_LIB%%/unicore/lib/WB/Extend.pl
+%%PRIV_LIB%%/unicore/lib/WB/FO.pl
+%%PRIV_LIB%%/unicore/lib/WB/HL.pl
+%%PRIV_LIB%%/unicore/lib/WB/KA.pl
+%%PRIV_LIB%%/unicore/lib/WB/LE.pl
+%%PRIV_LIB%%/unicore/lib/WB/MB.pl
+%%PRIV_LIB%%/unicore/lib/WB/ML.pl
+%%PRIV_LIB%%/unicore/lib/WB/MN.pl
+%%PRIV_LIB%%/unicore/lib/WB/NU.pl
+%%PRIV_LIB%%/unicore/lib/WB/XX.pl
+%%PRIV_LIB%%/unicore/lib/XIDC/Y.pl
+%%PRIV_LIB%%/unicore/lib/XIDS/Y.pl
+%%PRIV_LIB%%/unicore/version
+%%PRIV_LIB%%/utf8.pm
+%%PRIV_LIB%%/utf8_heavy.pl
+%%PRIV_LIB%%/vars.pm
+%%PRIV_LIB%%/version.pm
+%%PRIV_LIB%%/version.pod
+%%PRIV_LIB%%/version/Internals.pod
+%%PRIV_LIB%%/version/regex.pm
+%%PRIV_LIB%%/vmsish.pm
+%%PRIV_LIB%%/warnings.pm
+%%PRIV_LIB%%/warnings/register.pm
+@dir %%SITE_PERL%%/auto
+@dir %%SITE_ARCH%%/auto
+@dir %%SITE_PERL%%/man/man1
+@dir %%SITE_PERL%%/man/man3
+@postexec makewhatis %D/%%SITEMANPREFIX%%/man
+@postexec makewhatis %D/%%PERLMANPREFIX%%/man
+@rmtry %%PERLMANPREFIX%%/man/whatis
+@rmtry %%PERLMANPREFIX%%/man/mandoc.db
+@rmtry %%SITEMANPREFIX%%/man/whatis
+@rmtry %%SITEMANPREFIX%%/man/mandoc.db
diff --git a/test-ports/lang/perl5.28/version.mk b/test-ports/lang/perl5.28/version.mk
new file mode 100644
index 00000000..04888740
--- /dev/null
+++ b/test-ports/lang/perl5.28/version.mk
@@ -0,0 +1,2 @@
+PERL_VERSION= 5.28.1
+PERL5_DEPEND= perl5>=5.28.r1<5.29
diff --git a/test-ports/lang/python/Makefile b/test-ports/lang/python/Makefile
new file mode 100644
index 00000000..8b7e4029
--- /dev/null
+++ b/test-ports/lang/python/Makefile
@@ -0,0 +1,69 @@
+# Created by: jkh
+# $FreeBSD: head/lang/python/Makefile 491284 2019-01-26 12:43:47Z sunpoet $
+
+PORTNAME= python
+PORTVERSION= ${PYTHON_DEFAULT}
+PORTREVISION= 3
+PORTEPOCH= 2
+CATEGORIES= lang python ipv6
+MASTER_SITES= # empty
+DISTFILES= # empty
+EXTRACT_ONLY= # empty
+
+MAINTAINER= python@FreeBSD.org
+COMMENT= "meta-port" for the default version of Python interpreter
+
+RUN_DEPENDS= python${PYTHON_MAJOR_VER}:lang/python${PYTHON_MAJOR_VER}
+
+USES= python:run
+
+NO_ARCH= yes
+NO_BUILD= yes
+
+PLIST_FILES= bin/2to3 \
+ bin/idle \
+ bin/pydoc \
+ bin/python \
+ bin/python-config
+
+do-install:
+ ${LN} -sf 2to3-${PYTHON_MAJOR_VER} ${STAGEDIR}${PREFIX}/bin/2to3
+.for file in idle pydoc python
+ ${LN} -sf ${file}${PYTHON_MAJOR_VER} ${STAGEDIR}${PREFIX}/bin/${file}
+.endfor
+ ${LN} -sf python${PYTHON_MAJOR_VER}-config ${STAGEDIR}${PREFIX}/bin/python-config
+
+# Major upgrade support
+PORTUPGRADE_CMD= ${LOCALBASE}/sbin/portupgrade
+
+.if defined(USE_PORTMASTER)
+PORTUPGRADE_CMD= ${LOCALBASE}/sbin/portmaster
+.endif
+
+PKG_LIST= ${PKG_BIN} query -a '%n-%v'
+PKG_LIST_FILES= ${PKG_INFO} -l
+
+upgrade-site-packages:
+ @if [ ! -x ${PORTUPGRADE_CMD} ]; then \
+ ${ECHO_MSG} "Please install ports-mgmt/portupgrade."; \
+ ${FALSE}; \
+ fi
+
+ @GREP_ARGS="-q"; \
+ for ver in `echo ${_PYTHON_ALLBRANCHES:C/${PYTHON_VER}//}`; do \
+ GREP_ARGS="$${GREP_ARGS} -e lib/python$$ver"; \
+ done; \
+ UPD=""; \
+ for pkg in `${PKG_LIST}`; do \
+ ${PKG_LIST_FILES} $${pkg} | ${GREP} $${GREP_ARGS} && \
+ UPD="$${UPD} $${pkg}"; \
+ done; \
+ if [ "$${UPD}" ]; then \
+ if [ -n ${PORTUPGRADE_ARGS} ]; then \
+ ${PORTUPGRADE_CMD} ${PORTUPGRADE_ARGS} -f $${UPD}; \
+ else \
+ ${PORTUPGRADE_CMD} -f $${UPD}; \
+ fi; \
+ fi; \
+
+.include <bsd.port.mk>
diff --git a/test-ports/lang/python/pkg-descr b/test-ports/lang/python/pkg-descr
new file mode 100644
index 00000000..2468bfb8
--- /dev/null
+++ b/test-ports/lang/python/pkg-descr
@@ -0,0 +1,8 @@
+Python is an interpreted object-oriented programming language, and is
+often compared to Tcl, Perl or Scheme.
+This is a meta port to the Python interpreter and provides symbolic links
+to bin/python, bin/pydoc, bin/idle and so on to allow compatibility with
+version agnostic python scripts.
+Do not depend on this port.
+
+WWW: https://www.python.org/
diff --git a/test-ports/lang/python2/Makefile b/test-ports/lang/python2/Makefile
new file mode 100644
index 00000000..562e3d0c
--- /dev/null
+++ b/test-ports/lang/python2/Makefile
@@ -0,0 +1,53 @@
+# $FreeBSD: head/lang/python2/Makefile 491863 2019-02-01 21:42:24Z sunpoet $
+
+PORTNAME= python2
+PORTVERSION= ${PYTHON_MAJOR_VER}
+PORTREVISION= 3
+CATEGORIES= lang python ipv6
+MASTER_SITES= # empty
+DISTFILES= # empty
+EXTRACT_ONLY= # empty
+
+MAINTAINER= python@FreeBSD.org
+COMMENT= The "meta-port" for version 2 of the Python interpreter
+
+USES= python:run
+
+NO_ARCH= yes
+NO_BUILD= yes
+PYTHON_VERSION= python${PYTHON2_DEFAULT}
+
+PLIST_FILES= bin/2to3-${PYTHON_MAJOR_VER} \
+ bin/idle${PYTHON_MAJOR_VER} \
+ bin/pydoc${PYTHON_MAJOR_VER} \
+ bin/python${PYTHON_MAJOR_VER} \
+ bin/python${PYTHON_MAJOR_VER}-config \
+ libdata/pkgconfig/python${PYTHON_MAJOR_VER}.pc
+
+.include <bsd.port.pre.mk>
+
+RUN_DEPENDS+= ${PYTHON_CMD}:${PYTHON_PORTSDIR}
+
+do-install:
+.for file in idle pydoc python
+ ${LN} -sf ${file}${PYTHON_VER} \
+ ${STAGEDIR}${PREFIX}/bin/${file}${PYTHON_MAJOR_VER}
+.endfor
+ ${LN} -sf 2to3-${PYTHON_VER} \
+ ${STAGEDIR}${PREFIX}/bin/2to3-${PYTHON_MAJOR_VER}
+ ${LN} -sf python${PYTHON_VER}-config \
+ ${STAGEDIR}${PREFIX}/bin/python${PYTHON_MAJOR_VER}-config
+ ${LN} -sf python-${PYTHON_VER}.pc \
+ ${STAGEDIR}${PREFIX}/libdata/pkgconfig/python${PYTHON_MAJOR_VER}.pc
+
+# Major upgrade support
+PORTUPGRADE_CMD= ${LOCALBASE}/sbin/portupgrade
+
+.if defined(USE_PORTMASTER)
+PORTUPGRADE_CMD= ${LOCALBASE}/sbin/portmaster
+.endif
+
+PKG_LIST= ${PKG_BIN} query -a '%n-%v'
+PKG_LIST_FILES= ${PKG_INFO} -l
+
+.include <bsd.port.post.mk>
diff --git a/test-ports/lang/python2/pkg-descr b/test-ports/lang/python2/pkg-descr
new file mode 100644
index 00000000..bfed22ea
--- /dev/null
+++ b/test-ports/lang/python2/pkg-descr
@@ -0,0 +1,8 @@
+Python is an interpreted object-oriented programming language, and is
+often compared to Tcl, Perl or Scheme.
+This is a meta port to the Python 2.x interpreter and provides symbolic links
+to bin/python2, bin/pydoc2, bin/idle2 and so on to allow compatibility with
+minor version agnostic python scripts.
+Do not depend on this port.
+
+WWW: https://www.python.org/
diff --git a/test-ports/lang/python27/Makefile b/test-ports/lang/python27/Makefile
new file mode 100644
index 00000000..f3533007
--- /dev/null
+++ b/test-ports/lang/python27/Makefile
@@ -0,0 +1,146 @@
+# $FreeBSD: head/lang/python27/Makefile 483807 2018-11-02 13:32:34Z rene $
+
+PORTNAME= python
+PORTVERSION= ${PYTHON_PORTVERSION}
+CATEGORIES= lang python ipv6
+MASTER_SITES= PYTHON/ftp/python/${PORTVERSION}
+PKGNAMESUFFIX= 27
+DISTNAME= Python-${PORTVERSION}
+DIST_SUBDIR= python
+
+MAINTAINER= python@FreeBSD.org
+COMMENT= Interpreted object-oriented programming language
+
+LICENSE= PSFL
+
+USES= cpe ncurses pathfix pkgconfig readline:port shebangfix ssl tar:xz
+PATHFIX_MAKEFILEIN= Makefile.pre.in
+USE_LDCONFIG= yes
+GNU_CONFIGURE= yes
+python_CMD= ${PREFIX}/bin/python${PYTHON_PORTVERSION:R}
+SHEBANG_FILES= Lib/lib2to3/pgen2/*.py Lib/lib2to3/tests/*.py Lib/lib2to3/tests/data/*.py \
+ Lib/idlelib/*.py Lib/encodings/*.py Lib/test/*.py Lib/UserString.py \
+ Lib/base64.py Lib/cProfile.py Lib/keyword.py Lib/mimify.py Lib/pdb.py \
+ Lib/platform.py Lib/profile.py Lib/pydoc.py Lib/quopri.py Lib/smtpd.py \
+ Lib/smtplib.py Lib/symbol.py Lib/tabnanny.py Lib/timeit.py Lib/trace.py \
+ Lib/uu.py Lib/webbrowser.py
+
+CONFIGURE_ARGS+= --enable-shared
+CONFIGURE_ENV+= ac_cv_opt_olimit_ok=no OPT="" # Null out OPT to respect user CFLAGS and remove optimizations
+
+INSTALL_TARGET= altinstall # Don't want cloberring of unprefixed files
+
+TEST_TARGET= buildbottest
+TEST_ARGS= TESTOPTS=-j${MAKE_JOBS_NUMBER}
+
+MAKE_ARGS+= INSTALL_SHARED="${INSTALL_LIB}" # Strip shared library
+
+PLIST_SUB= ABI=${ABIFLAGS} \
+ PORTVERSION=${PORTVERSION} \
+ OSMAJOR=${OSVERSION:C/([0-9]*)[0-9]{5}/\1/} # For plat-freebsd* in pkg-plist. https://bugs.python.org/issue19554
+
+OPTIONS_DEFINE= DEBUG IPV6 LIBFFI NLS PYMALLOC THREADS
+OPTIONS_DEFAULT= LIBFFI PYMALLOC THREADS UCS4
+OPTIONS_SINGLE= UNICODE
+OPTIONS_SINGLE_UNICODE= UCS2 UCS4
+OPTIONS_SUB= yes
+
+LIBFFI_DESC= Use libffi from ports instead of bundled version
+NLS_DESC= Enable gettext support for the locale module
+UCS2_DESC= Enable UCS2 Unicode Strings
+UCS4_DESC= Enable UCS4 Unicode Strings
+PYMALLOC_DESC= Enable specialized mallocs
+
+DEBUG_CONFIGURE_WITH= pydebug
+IPV6_CONFIGURE_ENABLE= ipv6
+LIBFFI_CONFIGURE_ON= --with-system-ffi
+LIBFFI_LIB_DEPENDS= libffi.so:devel/libffi
+
+# Use CPPFLAGS over CFLAGS due to -I ordering, causing elementtree and pyexpat
+# to break in Python 2.7, or preprocessor complaints in Python >= 3.3
+# Upstream Issue: https://bugs.python.org/issue6299
+NLS_USES= gettext
+NLS_CPPFLAGS= -I${LOCALBASE}/include
+NLS_LIBS= -L${LOCALBASE}/lib -lintl
+NLS_CONFIGURE_ENV_OFF= ac_cv_lib_intl_textdomain=no ac_cv_header_libintl_h=no
+
+PYMALLOC_CONFIGURE_WITH= pymalloc
+
+THREADS_CONFIGURE_WITH= threads
+THREADS_LDFLAGS= -lpthread
+
+UCS2_CONFIGURE_ON= --enable-unicode=ucs2
+UCS4_CONFIGURE_ON= --enable-unicode=ucs4
+
+.include "${.CURDIR}/Makefile.version"
+.include <bsd.port.options.mk>
+
+# https://bugs.python.org/issue22521
+# https://bugs.python.org/issue23042
+.if !${PORT_OPTIONS:MLIBFFI} && ${ARCH} == i386
+BROKEN= You must use libffi from ports on i386. Enable the LIBFFI option
+.endif
+
+.if ${ARCH} == i386
+PLIST_SUB+= X86_ONLY=""
+.else
+PLIST_SUB+= X86_ONLY="@comment "
+.endif
+
+.if ${ARCH} == aarch64 || ${ARCH} == amd64 || ${ARCH} == mips64 || ${ARCH} == powerpc64 || ${ARCH} == sparc64
+PLIST_SUB+= 32BIT_ONLY="@comment "
+.else
+PLIST_SUB+= 32BIT_ONLY=""
+.endif
+
+.if ${ARCH} == powerpc64
+MAKE_ENV+= UNAME_m="powerpc64"
+.endif
+
+.if ${ARCH} == sparc64
+CFLAGS+= -DPYTHON_DEFAULT_RECURSION_LIMIT=900
+.endif
+
+# See https://bugs.freebsd.org/115940 and https://bugs.freebsd.org/193650
+.if !exists(/usr/bin/ypcat) || defined(WITHOUT_NIS)
+PLIST_SUB+= NO_NIS="@comment "
+.else
+PLIST_SUB+= NO_NIS=""
+.endif
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|/usr/local/bin/python|${python_CMD}|' \
+ ${WRKSRC}/Lib/cgi.py
+ @${REINPLACE_CMD} -e \
+ 's,/usr/doc/python-docs-,${PREFIX}/share/doc/python,g' \
+ ${PATCH_WRKSRC}/Lib/pydoc.py
+
+.if !exists(/usr/bin/ypcat) || defined(WITHOUT_NIS)
+ @${REINPLACE_CMD} -e 's/disabled_module_list =[^]]*/&, "nis"/' \
+ ${WRKSRC}/setup.py
+.endif
+
+post-install:
+ for i in ${STAGEDIR}${PREFIX}/lib/python2.7/lib-dynload/*.so; do \
+ ${STRIP_CMD} $$i; done # Strip shared extensions
+# This code block exists for the qemu-user enabled cross build environment.
+# When using this environment in poudriere, CC is not set to the default
+# of /usr/bin/cc and a cross-compile toolchain is used. We need to hand
+# edit this so that the run time configuration for python matches what the
+# FreeBSD base system provides. sbruno 02Aug2017
+.if ${CC} == /nxb-bin/usr/bin/cc
+ @${REINPLACE_CMD} -e 's=/nxb-bin==' \
+ ${STAGEDIR}${PREFIX}/lib/python2.7/_sysconfigdata.py
+ @cd ${WRKSRC} && ${SETENV} LD_LIBRARY_PATH=${WRKSRC} \
+ ./python -E -m compileall -d ${PREFIX}/lib/python2.7 \
+ ${STAGEDIR}${PREFIX}/lib/python2.7/_sysconfigdata.py
+ @cd ${WRKSRC} && ${SETENV} LD_LIBRARY_PATH=${WRKSRC} \
+ ./python -E -O -m compileall -d ${PREFIX}/lib/python2.7 \
+ ${STAGEDIR}${PREFIX}/lib/python2.7/_sysconfigdata.py
+ @${REINPLACE_CMD} -e 's=/nxb-bin==' \
+ ${STAGEDIR}${PREFIX}/lib/python2.7/config/Makefile
+.endif
+ ${INSTALL_DATA} ${WRKSRC}/Tools/gdb/libpython.py \
+ ${STAGEDIR}${PREFIX}/lib/libpython2.7.so.1-gdb.py
+
+.include <bsd.port.mk>
diff --git a/test-ports/lang/python27/Makefile.version b/test-ports/lang/python27/Makefile.version
new file mode 100644
index 00000000..4e011efe
--- /dev/null
+++ b/test-ports/lang/python27/Makefile.version
@@ -0,0 +1,4 @@
+# Mk/Uses/python.mk includes this file, don't remove it!
+# $FreeBSD: head/lang/python27/Makefile.version 495329 2019-03-11 08:18:00Z wen $
+
+PYTHON_PORTVERSION= 2.7.16
diff --git a/test-ports/lang/python27/distinfo b/test-ports/lang/python27/distinfo
new file mode 100644
index 00000000..5e0485f2
--- /dev/null
+++ b/test-ports/lang/python27/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1551829403
+SHA256 (python/Python-2.7.16.tar.xz) = f222ef602647eecb6853681156d32de4450a2c39f4de93bd5b20235f2e660ed7
+SIZE (python/Python-2.7.16.tar.xz) = 12752104
diff --git a/test-ports/lang/python27/files/patch-Doc__library__fcntl.rst b/test-ports/lang/python27/files/patch-Doc__library__fcntl.rst
new file mode 100644
index 00000000..7aa39700
--- /dev/null
+++ b/test-ports/lang/python27/files/patch-Doc__library__fcntl.rst
@@ -0,0 +1,10 @@
+--- ./Doc/library/fcntl.rst.orig 2014-07-03 21:53:41.473098625 +1000
++++ ./Doc/library/fcntl.rst 2014-07-03 21:54:04.342833056 +1000
+@@ -50,7 +50,6 @@ The module defines the following functio
+ operations are typically defined in the library module :mod:`termios` and the
+ argument handling is even more complicated.
+
+- The op parameter is limited to values that can fit in 32-bits.
+ Additional constants of interest for use as the *op* argument can be
+ found in the :mod:`termios` module, under the same names as used in
+ the relevant C header files.
diff --git a/test-ports/lang/python27/files/patch-Lib_distutils_command_build__scripts.py b/test-ports/lang/python27/files/patch-Lib_distutils_command_build__scripts.py
new file mode 100644
index 00000000..78b3dd6e
--- /dev/null
+++ b/test-ports/lang/python27/files/patch-Lib_distutils_command_build__scripts.py
@@ -0,0 +1,17 @@
+# Description: A non-invasive partial backport of the Python3 distutils behaviour.
+# This allows Python's scripts to be properly suffixed (similar to Python 3.x) on
+# installation.
+# Submitted by: mva
+
+--- Lib/distutils/command/build_scripts.py.orig 2014-07-26 09:52:20.000000000 UTC
++++ Lib/distutils/command/build_scripts.py 2014-07-26 09:52:56.000000000 UTC
+@@ -126,6 +126,9 @@ class build_scripts (Command):
+ file, oldmode, newmode)
+ os.chmod(file, newmode)
+
++ # XXX should we modify self.outfiles?
++ return outfiles
++
+ # copy_scripts ()
+
+ # class build_scripts
diff --git a/test-ports/lang/python27/files/patch-Lib_distutils_command_install__lib.py b/test-ports/lang/python27/files/patch-Lib_distutils_command_install__lib.py
new file mode 100644
index 00000000..f7dfb21c
--- /dev/null
+++ b/test-ports/lang/python27/files/patch-Lib_distutils_command_install__lib.py
@@ -0,0 +1,34 @@
+From 9934ce31b8447667f71c211e559a8de71e8263db Mon Sep 17 00:00:00 2001
+From: Brendan Molloy <brendan@bbqsrc.net>
+Date: Mon, 4 Jan 2016 23:14:06 +1100
+Subject: [PATCH] Check bytecode file actually exists and tests
+
+Should solve issue 20397, where using the --record argument results
+in files that failed to generate bytecode files are added to the
+record file nonetheless.
+---
+ Lib/distutils/command/install_lib.py | 17 +++++++++++++----
+ Lib/distutils/tests/test_install_lib.py | 8 ++++++--
+ 2 files changed, 19 insertions(+), 6 deletions(-)
+
+--- Lib/distutils/command/install_lib.py.orig 2015-12-05 19:46:56 UTC
++++ Lib/distutils/command/install_lib.py
+@@ -168,10 +168,14 @@ class install_lib(Command):
+ ext = os.path.splitext(os.path.normcase(py_file))[1]
+ if ext != PYTHON_SOURCE_EXTENSION:
+ continue
+- if self.compile:
+- bytecode_files.append(py_file + "c")
+- if self.optimize > 0:
+- bytecode_files.append(py_file + "o")
++
++ pyc_file = py_file + "c"
++ if self.compile and os.path.isfile(pyc_file):
++ bytecode_files.append(pyc_file)
++
++ pyo_file = py_file + "o"
++ if self.optimize > 0 and os.path.isfile(pyo_file):
++ bytecode_files.append(pyo_file)
+
+ return bytecode_files
+
diff --git a/test-ports/lang/python27/files/patch-Lib_distutils_tests_test__install__lib.py b/test-ports/lang/python27/files/patch-Lib_distutils_tests_test__install__lib.py
new file mode 100644
index 00000000..9313cf2e
--- /dev/null
+++ b/test-ports/lang/python27/files/patch-Lib_distutils_tests_test__install__lib.py
@@ -0,0 +1,30 @@
+From 9934ce31b8447667f71c211e559a8de71e8263db Mon Sep 17 00:00:00 2001
+From: Brendan Molloy <brendan@bbqsrc.net>
+Date: Mon, 4 Jan 2016 23:14:06 +1100
+Subject: [PATCH] Check bytecode file actually exists and tests
+
+Should solve issue 20397, where using the --record argument results
+in files that failed to generate bytecode files are added to the
+record file nonetheless.
+---
+ Lib/distutils/command/install_lib.py | 17 +++++++++++++----
+ Lib/distutils/tests/test_install_lib.py | 8 ++++++--
+ 2 files changed, 19 insertions(+), 6 deletions(-)
+
+--- Lib/distutils/tests/test_install_lib.py.orig 2015-12-05 19:46:57 UTC
++++ Lib/distutils/tests/test_install_lib.py
+@@ -64,8 +64,12 @@ class InstallLibTestCase(support.Tempdir
+ cmd.distribution.packages = [pkg_dir]
+ cmd.distribution.script_name = 'setup.py'
+
+- # get_output should return 4 elements
+- self.assertGreaterEqual(len(cmd.get_outputs()), 2)
++ # Create rubbish, uncompilable file
++ f = os.path.join(pkg_dir, 'rubbish.py')
++ self.write_file(f, 'rubbish()')
++
++ # get_output should return 3 elements
++ self.assertEqual(len(cmd.get_outputs()), 3)
+
+ def test_get_inputs(self):
+ pkg_dir, dist = self.create_dist()
diff --git a/test-ports/lang/python27/files/patch-Makefile.pre.in b/test-ports/lang/python27/files/patch-Makefile.pre.in
new file mode 100644
index 00000000..cf540acf
--- /dev/null
+++ b/test-ports/lang/python27/files/patch-Makefile.pre.in
@@ -0,0 +1,18 @@
+# Description: Link scripts in the same way Python3 does
+# Submitted by: mva
+
+--- Makefile.pre.in.orig 2014-06-30 04:05:39.000000000 +0200
++++ Makefile.pre.in 2014-07-26 11:09:46.000000000 +0200
+@@ -900,6 +900,12 @@ bininstall: altbininstall
+ (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION).pc python2.pc)
+ -rm -f $(DESTDIR)$(LIBPC)/python.pc
+ (cd $(DESTDIR)$(LIBPC); $(LN) -s python2.pc python.pc)
++ -rm -f $(DESTDIR)$(BINDIR)/idle
++ (cd $(DESTDIR)$(BINDIR); $(LN) -s idle$(VERSION) idle2)
++ -rm -f $(DESTDIR)$(BINDIR)/pydoc
++ (cd $(DESTDIR)$(BINDIR); $(LN) -s pydoc$(VERSION) pydoc2)
++ -rm -f $(DESTDIR)$(BINDIR)/2to3
++ (cd $(DESTDIR)$(BINDIR); $(LN) -s 2to3-$(VERSION) 2to3)
+
+ # Install the interpreter with $(VERSION) affixed
+ # This goes into $(exec_prefix)
diff --git a/test-ports/lang/python27/files/patch-Misc_python-config.in b/test-ports/lang/python27/files/patch-Misc_python-config.in
new file mode 100644
index 00000000..3390fc6d
--- /dev/null
+++ b/test-ports/lang/python27/files/patch-Misc_python-config.in
@@ -0,0 +1,21 @@
+# pythonx.y-config --ldflags out of /usr and missing -L<install_lib_dir>
+# https://bugs.python.org/issue7352
+
+--- Misc/python-config.in.orig 2015-10-18 07:24:01 UTC
++++ Misc/python-config.in
+@@ -21,6 +21,7 @@ except getopt.error:
+ if not opts:
+ exit_with_usage()
+
++libdir = sysconfig.EXEC_PREFIX + '/lib'
+ pyver = sysconfig.get_config_var('VERSION')
+ getvar = sysconfig.get_config_var
+
+@@ -50,6 +51,7 @@ for opt in opt_flags:
+ # add the prefix/lib/pythonX.Y/config dir, but only if there is no
+ # shared library in prefix/lib/.
+ if opt == '--ldflags':
++ libs.insert(0, '-L' + libdir)
+ if not getvar('Py_ENABLE_SHARED'):
+ libs.insert(0, '-L' + getvar('LIBPL'))
+ if not getvar('PYTHONFRAMEWORK'):
diff --git a/test-ports/lang/python27/files/patch-Modules___ctypes__libffi__src__arm__ffi.c b/test-ports/lang/python27/files/patch-Modules___ctypes__libffi__src__arm__ffi.c
new file mode 100644
index 00000000..43195847
--- /dev/null
+++ b/test-ports/lang/python27/files/patch-Modules___ctypes__libffi__src__arm__ffi.c
@@ -0,0 +1,36 @@
+# Description: Fix _ctypes abort on import for FreeBSD/ARM. This is an issue
+# for anything !apple that is using the libcompiler_rt provided by clang on arm
+# PR: ports/149167 ports/184517
+# Patch by: cognet@ (to be upstreamed @ LLVM)
+
+--- ./Modules/_ctypes/libffi/src/arm/ffi.c.orig 2013-11-10 18:36:41.000000000 +1100
++++ ./Modules/_ctypes/libffi/src/arm/ffi.c 2013-12-03 18:05:51.461078888 +1100
+@@ -33,6 +33,11 @@
+
+ #include <stdlib.h>
+
++#if defined(__FreeBSD__) && defined(__arm__)
++#include <sys/types.h>
++#include <machine/sysarch.h>
++#endif
++
+ /* Forward declares. */
+ static int vfp_type_p (ffi_type *);
+ static void layout_vfp_args (ffi_cif *);
+@@ -751,6 +756,16 @@ ffi_closure_free (void *ptr)
+
+ #else
+
++#if defined(__FreeBSD__) && defined(__arm__)
++#define __clear_cache(start, end) do { \
++ struct arm_sync_icache_args ua; \
++ \
++ ua.addr = (uintptr_t)(start); \
++ ua.len = (char *)(end) - (char *)start; \
++ sysarch(ARM_SYNC_ICACHE, &ua); \
++ } while (0);
++#endif
++
+ #define FFI_INIT_TRAMPOLINE(TRAMP,FUN,CTX) \
+ ({ unsigned char *__tramp = (unsigned char*)(TRAMP); \
+ unsigned int __fun = (unsigned int)(FUN); \
diff --git a/test-ports/lang/python27/files/patch-Modules__fcntlmodule.c b/test-ports/lang/python27/files/patch-Modules__fcntlmodule.c
new file mode 100644
index 00000000..8bda9f62
--- /dev/null
+++ b/test-ports/lang/python27/files/patch-Modules__fcntlmodule.c
@@ -0,0 +1,53 @@
+--- ./Modules/fcntlmodule.c.orig 2014-07-03 21:57:10.429953240 +1000
++++ ./Modules/fcntlmodule.c 2014-07-03 21:59:36.517210444 +1000
+@@ -98,20 +98,15 @@ fcntl_ioctl(PyObject *self, PyObject *ar
+ {
+ #define IOCTL_BUFSZ 1024
+ int fd;
+- /* In PyArg_ParseTuple below, we use the unsigned non-checked 'I'
++ /* In PyArg_ParseTuple below, we use the unsigned non-checked 'k'
+ format for the 'code' parameter because Python turns 0x8000000
+ into either a large positive number (PyLong or PyInt on 64-bit
+ platforms) or a negative number on others (32-bit PyInt)
+ whereas the system expects it to be a 32bit bit field value
+ regardless of it being passed as an int or unsigned long on
+- various platforms. See the termios.TIOCSWINSZ constant across
+- platforms for an example of this.
+-
+- If any of the 64bit platforms ever decide to use more than 32bits
+- in their unsigned long ioctl codes this will break and need
+- special casing based on the platform being built on.
++ various platforms.
+ */
+- unsigned int code;
++ unsigned long code;
+ int arg;
+ int ret;
+ char *str;
+@@ -119,7 +114,7 @@ fcntl_ioctl(PyObject *self, PyObject *ar
+ int mutate_arg = 1;
+ char buf[IOCTL_BUFSZ+1]; /* argument plus NUL byte */
+
+- if (PyArg_ParseTuple(args, "O&Iw#|i:ioctl",
++ if (PyArg_ParseTuple(args, "O&kw#|i:ioctl",
+ conv_descriptor, &fd, &code,
+ &str, &len, &mutate_arg)) {
+ char *arg;
+@@ -170,7 +165,7 @@ fcntl_ioctl(PyObject *self, PyObject *ar
+ }
+
+ PyErr_Clear();
+- if (PyArg_ParseTuple(args, "O&Is#:ioctl",
++ if (PyArg_ParseTuple(args, "O&ks#:ioctl",
+ conv_descriptor, &fd, &code, &str, &len)) {
+ if (len > IOCTL_BUFSZ) {
+ PyErr_SetString(PyExc_ValueError,
+@@ -192,7 +187,7 @@ fcntl_ioctl(PyObject *self, PyObject *ar
+ PyErr_Clear();
+ arg = 0;
+ if (!PyArg_ParseTuple(args,
+- "O&I|i;ioctl requires a file or file descriptor,"
++ "O&k|i;ioctl requires a file or file descriptor,"
+ " an integer and optionally an integer or buffer argument",
+ conv_descriptor, &fd, &code, &arg)) {
+ return NULL;
diff --git a/test-ports/lang/python27/files/patch-pr192365 b/test-ports/lang/python27/files/patch-pr192365
new file mode 100644
index 00000000..5f4fbcdc
--- /dev/null
+++ b/test-ports/lang/python27/files/patch-pr192365
@@ -0,0 +1,58 @@
+# Description: do not define __BSD_VISIBLE/_XOPEN_SOURCE/_POSIX_C_SOURCE
+# in include/python2.7/pyconfig.h
+# Submitted by: antoine
+
+--- configure.orig 2014-09-06 14:42:50 UTC
++++ configure
+@@ -2919,13 +2919,6 @@
+
+
+ # The later defininition of _XOPEN_SOURCE and _POSIX_C_SOURCE disables
+-# certain features on FreeBSD, so we need __BSD_VISIBLE to re-enable
+-# them.
+-
+-$as_echo "#define __BSD_VISIBLE 1" >>confdefs.h
+-
+-
+-# The later defininition of _XOPEN_SOURCE and _POSIX_C_SOURCE disables
+ # u_int on Irix 5.3. Defining _BSD_TYPES brings it back.
+
+ $as_echo "#define _BSD_TYPES 1" >>confdefs.h
+@@ -3293,9 +3286,8 @@
+ # but used in struct sockaddr.sa_family. Reported by Tim Rice.
+ SCO_SV/3.2)
+ define_xopen_source=no;;
+- # On FreeBSD 4, the math functions C89 does not cover are never defined
+- # with _XOPEN_SOURCE and __BSD_VISIBLE does not re-enable them.
+- FreeBSD/4.*)
++ # On FreeBSD, defining _XOPEN_SOURCE to 600 requests a strict environment.
++ FreeBSD/*)
+ define_xopen_source=no;;
+ # On MacOS X 10.2, a bug in ncurses.h means that it craps out if
+ # _XOPEN_EXTENDED_SOURCE is defined. Apparently, this is fixed in 10.3, which
+--- configure.ac.orig 2014-09-06 14:42:50 UTC
++++ configure.ac
+@@ -88,11 +88,6 @@
+ AC_DEFINE(_NETBSD_SOURCE, 1, [Define on NetBSD to activate all library features])
+
+ # The later defininition of _XOPEN_SOURCE and _POSIX_C_SOURCE disables
+-# certain features on FreeBSD, so we need __BSD_VISIBLE to re-enable
+-# them.
+-AC_DEFINE(__BSD_VISIBLE, 1, [Define on FreeBSD to activate all library features])
+-
+-# The later defininition of _XOPEN_SOURCE and _POSIX_C_SOURCE disables
+ # u_int on Irix 5.3. Defining _BSD_TYPES brings it back.
+ AC_DEFINE(_BSD_TYPES, 1, [Define on Irix to enable u_int])
+
+@@ -426,9 +421,8 @@
+ # but used in struct sockaddr.sa_family. Reported by Tim Rice.
+ SCO_SV/3.2)
+ define_xopen_source=no;;
+- # On FreeBSD 4, the math functions C89 does not cover are never defined
+- # with _XOPEN_SOURCE and __BSD_VISIBLE does not re-enable them.
+- FreeBSD/4.*)
++ # On FreeBSD, defining _XOPEN_SOURCE to 600 requests a strict environment.
++ FreeBSD/*)
+ define_xopen_source=no;;
+ # On MacOS X 10.2, a bug in ncurses.h means that it craps out if
+ # _XOPEN_EXTENDED_SOURCE is defined. Apparently, this is fixed in 10.3, which
diff --git a/test-ports/lang/python27/files/patch-setup.py b/test-ports/lang/python27/files/patch-setup.py
new file mode 100644
index 00000000..e3223582
--- /dev/null
+++ b/test-ports/lang/python27/files/patch-setup.py
@@ -0,0 +1,93 @@
+# Description: Partial script installation backport from Python3
+# Submitted by: mva
+
+# Description: Some modules are installed via other ports
+
+# Description: ossaudiodev detection fix backport
+
+--- setup.py.orig 2017-04-22 03:42:03 UTC
++++ setup.py
+@@ -15,6 +15,7 @@ from distutils.core import Extension, se
+ from distutils.command.build_ext import build_ext
+ from distutils.command.install import install
+ from distutils.command.install_lib import install_lib
++from distutils.command.build_scripts import build_scripts
+ from distutils.spawn import find_executable
+
+ cross_compiling = "_PYTHON_HOST_PLATFORM" in os.environ
+@@ -33,7 +34,7 @@ host_platform = get_platform()
+ COMPILED_WITH_PYDEBUG = ('--with-pydebug' in sysconfig.get_config_var("CONFIG_ARGS"))
+
+ # This global variable is used to hold the list of modules to be disabled.
+-disabled_module_list = []
++disabled_module_list = ["_bsddb", "_sqlite3", "_tkinter", "gdbm", "mpz"]
+
+ def add_dir_to_list(dirlist, dir):
+ """Add the directory 'dir' to the list 'dirlist' (at the front) if
+@@ -1234,7 +1235,7 @@ class PyBuildExt(build_ext):
+ sysroot = macosx_sdk_root()
+ f = os.path.join(sysroot, f[1:])
+
+- if os.path.exists(f) and not db_incs:
++ if os.path.exists(f):
+ data = open(f).read()
+ m = re.search(r"#s*define\s+HASHVERSION\s+2\s*", data)
+ if m is not None:
+@@ -1624,9 +1625,10 @@ class PyBuildExt(build_ext):
+ else:
+ missing.append('linuxaudiodev')
+
+- if (host_platform in ('linux2', 'freebsd4', 'freebsd5', 'freebsd6',
+- 'freebsd7', 'freebsd8')
+- or host_platform.startswith("gnukfreebsd")):
++# Initial backport of https://hg.python.org/cpython/rev/50f1922bc1d5
++
++ if any(sys.platform.startswith(prefix)
++ for prefix in ("linux", "freebsd", "gnukfreebsd")):
+ exts.append( Extension('ossaudiodev', ['ossaudiodev.c']) )
+ else:
+ missing.append('ossaudiodev')
+@@ -2200,6 +2202,22 @@ class PyBuildInstallLib(install_lib):
+ def is_chmod_supported(self):
+ return hasattr(os, 'chmod')
+
++class PyBuildScripts(build_scripts):
++ def copy_scripts(self):
++ outfiles = build_scripts.copy_scripts(self)
++ fullversion = '{0[0]}.{0[1]}'.format(sys.version_info)
++ newoutfiles = []
++ for filename in outfiles:
++ if filename.endswith('2to3'):
++ newfilename = filename + '-' + fullversion
++ else:
++ newfilename = filename + fullversion
++ log.info('renaming {} to {}'.format(filename, newfilename))
++ os.rename(filename, newfilename)
++ newoutfiles.append(newfilename)
++ return newoutfiles
++
++
+ SUMMARY = """
+ Python is an interpreted, interactive, object-oriented programming
+ language. It is often compared to Tcl, Perl, Scheme or Java.
+@@ -2245,7 +2263,9 @@ def main():
+ platforms = ["Many"],
+
+ # Build info
+- cmdclass = {'build_ext':PyBuildExt, 'install':PyBuildInstall,
++ cmdclass = {'build_ext':PyBuildExt,
++ 'build_scripts':PyBuildScripts,
++ 'install':PyBuildInstall,
+ 'install_lib':PyBuildInstallLib},
+ # The struct module is defined here, because build_ext won't be
+ # called unless there's at least one extension module defined.
+@@ -2253,8 +2273,7 @@ def main():
+
+ # Scripts to install
+ scripts = ['Tools/scripts/pydoc', 'Tools/scripts/idle',
+- 'Tools/scripts/2to3',
+- 'Lib/smtpd.py']
++ 'Tools/scripts/2to3']
+ )
+
+ # --install-platlib
diff --git a/test-ports/lang/python27/pkg-descr b/test-ports/lang/python27/pkg-descr
new file mode 100644
index 00000000..9c7e5a6d
--- /dev/null
+++ b/test-ports/lang/python27/pkg-descr
@@ -0,0 +1,4 @@
+Python is an interpreted object-oriented programming language, and is
+often compared to Tcl, Perl or Scheme.
+
+WWW: https://www.python.org/
diff --git a/test-ports/lang/python27/pkg-message b/test-ports/lang/python27/pkg-message
new file mode 100644
index 00000000..f9135973
--- /dev/null
+++ b/test-ports/lang/python27/pkg-message
@@ -0,0 +1,11 @@
+===========================================================================
+
+Note that some standard Python modules are provided as separate ports
+as they require additional dependencies. They are available as:
+
+bsddb databases/py-bsddb
+gdbm databases/py-gdbm
+sqlite3 databases/py-sqlite3
+tkinter x11-toolkits/py-tkinter
+
+===========================================================================
diff --git a/test-ports/lang/python27/pkg-plist b/test-ports/lang/python27/pkg-plist
new file mode 100644
index 00000000..632eb10d
--- /dev/null
+++ b/test-ports/lang/python27/pkg-plist
@@ -0,0 +1,4578 @@
+bin/2to3-2.7
+bin/idle2.7
+bin/pydoc2.7
+bin/python2.7
+bin/python2.7-config
+include/python2.7/Python-ast.h
+include/python2.7/Python.h
+include/python2.7/abstract.h
+include/python2.7/asdl.h
+include/python2.7/ast.h
+include/python2.7/bitset.h
+include/python2.7/boolobject.h
+include/python2.7/bufferobject.h
+include/python2.7/bytearrayobject.h
+include/python2.7/bytes_methods.h
+include/python2.7/bytesobject.h
+include/python2.7/cStringIO.h
+include/python2.7/cellobject.h
+include/python2.7/ceval.h
+include/python2.7/classobject.h
+include/python2.7/cobject.h
+include/python2.7/code.h
+include/python2.7/codecs.h
+include/python2.7/compile.h
+include/python2.7/complexobject.h
+include/python2.7/datetime.h
+include/python2.7/descrobject.h
+include/python2.7/dictobject.h
+include/python2.7/dtoa.h
+include/python2.7/enumobject.h
+include/python2.7/errcode.h
+include/python2.7/eval.h
+include/python2.7/fileobject.h
+include/python2.7/floatobject.h
+include/python2.7/frameobject.h
+include/python2.7/funcobject.h
+include/python2.7/genobject.h
+include/python2.7/graminit.h
+include/python2.7/grammar.h
+include/python2.7/import.h
+include/python2.7/intobject.h
+include/python2.7/intrcheck.h
+include/python2.7/iterobject.h
+include/python2.7/listobject.h
+include/python2.7/longintrepr.h
+include/python2.7/longobject.h
+include/python2.7/marshal.h
+include/python2.7/memoryobject.h
+include/python2.7/metagrammar.h
+include/python2.7/methodobject.h
+include/python2.7/modsupport.h
+include/python2.7/moduleobject.h
+include/python2.7/node.h
+include/python2.7/object.h
+include/python2.7/objimpl.h
+include/python2.7/opcode.h
+include/python2.7/osdefs.h
+include/python2.7/parsetok.h
+include/python2.7/patchlevel.h
+include/python2.7/pgen.h
+include/python2.7/pgenheaders.h
+include/python2.7/py_curses.h
+include/python2.7/pyarena.h
+include/python2.7/pycapsule.h
+include/python2.7/pyconfig.h
+include/python2.7/pyctype.h
+include/python2.7/pydebug.h
+include/python2.7/pyerrors.h
+include/python2.7/pyexpat.h
+include/python2.7/pyfpe.h
+include/python2.7/pygetopt.h
+include/python2.7/pymacconfig.h
+include/python2.7/pymactoolbox.h
+include/python2.7/pymath.h
+include/python2.7/pymem.h
+include/python2.7/pyport.h
+include/python2.7/pystate.h
+include/python2.7/pystrcmp.h
+include/python2.7/pystrtod.h
+include/python2.7/pythonrun.h
+include/python2.7/pythread.h
+include/python2.7/rangeobject.h
+include/python2.7/setobject.h
+include/python2.7/sliceobject.h
+include/python2.7/stringobject.h
+include/python2.7/structmember.h
+include/python2.7/structseq.h
+include/python2.7/symtable.h
+include/python2.7/sysmodule.h
+include/python2.7/timefuncs.h
+include/python2.7/token.h
+include/python2.7/traceback.h
+include/python2.7/tupleobject.h
+include/python2.7/ucnhash.h
+include/python2.7/unicodeobject.h
+include/python2.7/warnings.h
+include/python2.7/weakrefobject.h
+lib/libpython2.7.so
+lib/libpython2.7.so.1
+lib/libpython2.7.so.1-gdb.py
+lib/python2.7/BaseHTTPServer.py
+lib/python2.7/BaseHTTPServer.pyc
+lib/python2.7/BaseHTTPServer.pyo
+lib/python2.7/Bastion.py
+lib/python2.7/Bastion.pyc
+lib/python2.7/Bastion.pyo
+lib/python2.7/CGIHTTPServer.py
+lib/python2.7/CGIHTTPServer.pyc
+lib/python2.7/CGIHTTPServer.pyo
+lib/python2.7/ConfigParser.py
+lib/python2.7/ConfigParser.pyc
+lib/python2.7/ConfigParser.pyo
+lib/python2.7/Cookie.py
+lib/python2.7/Cookie.pyc
+lib/python2.7/Cookie.pyo
+lib/python2.7/DocXMLRPCServer.py
+lib/python2.7/DocXMLRPCServer.pyc
+lib/python2.7/DocXMLRPCServer.pyo
+lib/python2.7/HTMLParser.py
+lib/python2.7/HTMLParser.pyc
+lib/python2.7/HTMLParser.pyo
+lib/python2.7/LICENSE.txt
+lib/python2.7/MimeWriter.py
+lib/python2.7/MimeWriter.pyc
+lib/python2.7/MimeWriter.pyo
+lib/python2.7/Queue.py
+lib/python2.7/Queue.pyc
+lib/python2.7/Queue.pyo
+lib/python2.7/SimpleHTTPServer.py
+lib/python2.7/SimpleHTTPServer.pyc
+lib/python2.7/SimpleHTTPServer.pyo
+lib/python2.7/SimpleXMLRPCServer.py
+lib/python2.7/SimpleXMLRPCServer.pyc
+lib/python2.7/SimpleXMLRPCServer.pyo
+lib/python2.7/SocketServer.py
+lib/python2.7/SocketServer.pyc
+lib/python2.7/SocketServer.pyo
+lib/python2.7/StringIO.py
+lib/python2.7/StringIO.pyc
+lib/python2.7/StringIO.pyo
+lib/python2.7/UserDict.py
+lib/python2.7/UserDict.pyc
+lib/python2.7/UserDict.pyo
+lib/python2.7/UserList.py
+lib/python2.7/UserList.pyc
+lib/python2.7/UserList.pyo
+lib/python2.7/UserString.py
+lib/python2.7/UserString.pyc
+lib/python2.7/UserString.pyo
+lib/python2.7/_LWPCookieJar.py
+lib/python2.7/_LWPCookieJar.pyc
+lib/python2.7/_LWPCookieJar.pyo
+lib/python2.7/_MozillaCookieJar.py
+lib/python2.7/_MozillaCookieJar.pyc
+lib/python2.7/_MozillaCookieJar.pyo
+lib/python2.7/__future__.py
+lib/python2.7/__future__.pyc
+lib/python2.7/__future__.pyo
+lib/python2.7/__phello__.foo.py
+lib/python2.7/__phello__.foo.pyc
+lib/python2.7/__phello__.foo.pyo
+lib/python2.7/_abcoll.py
+lib/python2.7/_abcoll.pyc
+lib/python2.7/_abcoll.pyo
+lib/python2.7/_osx_support.py
+lib/python2.7/_osx_support.pyc
+lib/python2.7/_osx_support.pyo
+lib/python2.7/_pyio.py
+lib/python2.7/_pyio.pyc
+lib/python2.7/_pyio.pyo
+lib/python2.7/_strptime.py
+lib/python2.7/_strptime.pyc
+lib/python2.7/_strptime.pyo
+lib/python2.7/_sysconfigdata.py
+lib/python2.7/_sysconfigdata.pyc
+lib/python2.7/_sysconfigdata.pyo
+lib/python2.7/_threading_local.py
+lib/python2.7/_threading_local.pyc
+lib/python2.7/_threading_local.pyo
+lib/python2.7/_weakrefset.py
+lib/python2.7/_weakrefset.pyc
+lib/python2.7/_weakrefset.pyo
+lib/python2.7/abc.py
+lib/python2.7/abc.pyc
+lib/python2.7/abc.pyo
+lib/python2.7/aifc.py
+lib/python2.7/aifc.pyc
+lib/python2.7/aifc.pyo
+lib/python2.7/antigravity.py
+lib/python2.7/antigravity.pyc
+lib/python2.7/antigravity.pyo
+lib/python2.7/anydbm.py
+lib/python2.7/anydbm.pyc
+lib/python2.7/anydbm.pyo
+lib/python2.7/argparse.py
+lib/python2.7/argparse.pyc
+lib/python2.7/argparse.pyo
+lib/python2.7/ast.py
+lib/python2.7/ast.pyc
+lib/python2.7/ast.pyo
+lib/python2.7/asynchat.py
+lib/python2.7/asynchat.pyc
+lib/python2.7/asynchat.pyo
+lib/python2.7/asyncore.py
+lib/python2.7/asyncore.pyc
+lib/python2.7/asyncore.pyo
+lib/python2.7/atexit.py
+lib/python2.7/atexit.pyc
+lib/python2.7/atexit.pyo
+lib/python2.7/audiodev.py
+lib/python2.7/audiodev.pyc
+lib/python2.7/audiodev.pyo
+lib/python2.7/base64.py
+lib/python2.7/base64.pyc
+lib/python2.7/base64.pyo
+lib/python2.7/bdb.py
+lib/python2.7/bdb.pyc
+lib/python2.7/bdb.pyo
+lib/python2.7/binhex.py
+lib/python2.7/binhex.pyc
+lib/python2.7/binhex.pyo
+lib/python2.7/bisect.py
+lib/python2.7/bisect.pyc
+lib/python2.7/bisect.pyo
+lib/python2.7/bsddb/__init__.py
+lib/python2.7/bsddb/__init__.pyc
+lib/python2.7/bsddb/__init__.pyo
+lib/python2.7/bsddb/db.py
+lib/python2.7/bsddb/db.pyc
+lib/python2.7/bsddb/db.pyo
+lib/python2.7/bsddb/dbobj.py
+lib/python2.7/bsddb/dbobj.pyc
+lib/python2.7/bsddb/dbobj.pyo
+lib/python2.7/bsddb/dbrecio.py
+lib/python2.7/bsddb/dbrecio.pyc
+lib/python2.7/bsddb/dbrecio.pyo
+lib/python2.7/bsddb/dbshelve.py
+lib/python2.7/bsddb/dbshelve.pyc
+lib/python2.7/bsddb/dbshelve.pyo
+lib/python2.7/bsddb/dbtables.py
+lib/python2.7/bsddb/dbtables.pyc
+lib/python2.7/bsddb/dbtables.pyo
+lib/python2.7/bsddb/dbutils.py
+lib/python2.7/bsddb/dbutils.pyc
+lib/python2.7/bsddb/dbutils.pyo
+lib/python2.7/bsddb/test/__init__.py
+lib/python2.7/bsddb/test/__init__.pyc
+lib/python2.7/bsddb/test/__init__.pyo
+lib/python2.7/bsddb/test/test_all.py
+lib/python2.7/bsddb/test/test_all.pyc
+lib/python2.7/bsddb/test/test_all.pyo
+lib/python2.7/bsddb/test/test_associate.py
+lib/python2.7/bsddb/test/test_associate.pyc
+lib/python2.7/bsddb/test/test_associate.pyo
+lib/python2.7/bsddb/test/test_basics.py
+lib/python2.7/bsddb/test/test_basics.pyc
+lib/python2.7/bsddb/test/test_basics.pyo
+lib/python2.7/bsddb/test/test_compare.py
+lib/python2.7/bsddb/test/test_compare.pyc
+lib/python2.7/bsddb/test/test_compare.pyo
+lib/python2.7/bsddb/test/test_compat.py
+lib/python2.7/bsddb/test/test_compat.pyc
+lib/python2.7/bsddb/test/test_compat.pyo
+lib/python2.7/bsddb/test/test_cursor_pget_bug.py
+lib/python2.7/bsddb/test/test_cursor_pget_bug.pyc
+lib/python2.7/bsddb/test/test_cursor_pget_bug.pyo
+lib/python2.7/bsddb/test/test_db.py
+lib/python2.7/bsddb/test/test_db.pyc
+lib/python2.7/bsddb/test/test_db.pyo
+lib/python2.7/bsddb/test/test_dbenv.py
+lib/python2.7/bsddb/test/test_dbenv.pyc
+lib/python2.7/bsddb/test/test_dbenv.pyo
+lib/python2.7/bsddb/test/test_dbobj.py
+lib/python2.7/bsddb/test/test_dbobj.pyc
+lib/python2.7/bsddb/test/test_dbobj.pyo
+lib/python2.7/bsddb/test/test_dbshelve.py
+lib/python2.7/bsddb/test/test_dbshelve.pyc
+lib/python2.7/bsddb/test/test_dbshelve.pyo
+lib/python2.7/bsddb/test/test_dbtables.py
+lib/python2.7/bsddb/test/test_dbtables.pyc
+lib/python2.7/bsddb/test/test_dbtables.pyo
+lib/python2.7/bsddb/test/test_distributed_transactions.py
+lib/python2.7/bsddb/test/test_distributed_transactions.pyc
+lib/python2.7/bsddb/test/test_distributed_transactions.pyo
+lib/python2.7/bsddb/test/test_early_close.py
+lib/python2.7/bsddb/test/test_early_close.pyc
+lib/python2.7/bsddb/test/test_early_close.pyo
+lib/python2.7/bsddb/test/test_fileid.py
+lib/python2.7/bsddb/test/test_fileid.pyc
+lib/python2.7/bsddb/test/test_fileid.pyo
+lib/python2.7/bsddb/test/test_get_none.py
+lib/python2.7/bsddb/test/test_get_none.pyc
+lib/python2.7/bsddb/test/test_get_none.pyo
+lib/python2.7/bsddb/test/test_join.py
+lib/python2.7/bsddb/test/test_join.pyc
+lib/python2.7/bsddb/test/test_join.pyo
+lib/python2.7/bsddb/test/test_lock.py
+lib/python2.7/bsddb/test/test_lock.pyc
+lib/python2.7/bsddb/test/test_lock.pyo
+lib/python2.7/bsddb/test/test_misc.py
+lib/python2.7/bsddb/test/test_misc.pyc
+lib/python2.7/bsddb/test/test_misc.pyo
+lib/python2.7/bsddb/test/test_pickle.py
+lib/python2.7/bsddb/test/test_pickle.pyc
+lib/python2.7/bsddb/test/test_pickle.pyo
+lib/python2.7/bsddb/test/test_queue.py
+lib/python2.7/bsddb/test/test_queue.pyc
+lib/python2.7/bsddb/test/test_queue.pyo
+lib/python2.7/bsddb/test/test_recno.py
+lib/python2.7/bsddb/test/test_recno.pyc
+lib/python2.7/bsddb/test/test_recno.pyo
+lib/python2.7/bsddb/test/test_replication.py
+lib/python2.7/bsddb/test/test_replication.pyc
+lib/python2.7/bsddb/test/test_replication.pyo
+lib/python2.7/bsddb/test/test_sequence.py
+lib/python2.7/bsddb/test/test_sequence.pyc
+lib/python2.7/bsddb/test/test_sequence.pyo
+lib/python2.7/bsddb/test/test_thread.py
+lib/python2.7/bsddb/test/test_thread.pyc
+lib/python2.7/bsddb/test/test_thread.pyo
+lib/python2.7/cProfile.py
+lib/python2.7/cProfile.pyc
+lib/python2.7/cProfile.pyo
+lib/python2.7/calendar.py
+lib/python2.7/calendar.pyc
+lib/python2.7/calendar.pyo
+lib/python2.7/cgi.py
+lib/python2.7/cgi.pyc
+lib/python2.7/cgi.pyo
+lib/python2.7/cgitb.py
+lib/python2.7/cgitb.pyc
+lib/python2.7/cgitb.pyo
+lib/python2.7/chunk.py
+lib/python2.7/chunk.pyc
+lib/python2.7/chunk.pyo
+lib/python2.7/cmd.py
+lib/python2.7/cmd.pyc
+lib/python2.7/cmd.pyo
+lib/python2.7/code.py
+lib/python2.7/code.pyc
+lib/python2.7/code.pyo
+lib/python2.7/codecs.py
+lib/python2.7/codecs.pyc
+lib/python2.7/codecs.pyo
+lib/python2.7/codeop.py
+lib/python2.7/codeop.pyc
+lib/python2.7/codeop.pyo
+lib/python2.7/collections.py
+lib/python2.7/collections.pyc
+lib/python2.7/collections.pyo
+lib/python2.7/colorsys.py
+lib/python2.7/colorsys.pyc
+lib/python2.7/colorsys.pyo
+lib/python2.7/commands.py
+lib/python2.7/commands.pyc
+lib/python2.7/commands.pyo
+lib/python2.7/compileall.py
+lib/python2.7/compileall.pyc
+lib/python2.7/compileall.pyo
+lib/python2.7/compiler/__init__.py
+lib/python2.7/compiler/__init__.pyc
+lib/python2.7/compiler/__init__.pyo
+lib/python2.7/compiler/ast.py
+lib/python2.7/compiler/ast.pyc
+lib/python2.7/compiler/ast.pyo
+lib/python2.7/compiler/consts.py
+lib/python2.7/compiler/consts.pyc
+lib/python2.7/compiler/consts.pyo
+lib/python2.7/compiler/future.py
+lib/python2.7/compiler/future.pyc
+lib/python2.7/compiler/future.pyo
+lib/python2.7/compiler/misc.py
+lib/python2.7/compiler/misc.pyc
+lib/python2.7/compiler/misc.pyo
+lib/python2.7/compiler/pyassem.py
+lib/python2.7/compiler/pyassem.pyc
+lib/python2.7/compiler/pyassem.pyo
+lib/python2.7/compiler/pycodegen.py
+lib/python2.7/compiler/pycodegen.pyc
+lib/python2.7/compiler/pycodegen.pyo
+lib/python2.7/compiler/symbols.py
+lib/python2.7/compiler/symbols.pyc
+lib/python2.7/compiler/symbols.pyo
+lib/python2.7/compiler/syntax.py
+lib/python2.7/compiler/syntax.pyc
+lib/python2.7/compiler/syntax.pyo
+lib/python2.7/compiler/transformer.py
+lib/python2.7/compiler/transformer.pyc
+lib/python2.7/compiler/transformer.pyo
+lib/python2.7/compiler/visitor.py
+lib/python2.7/compiler/visitor.pyc
+lib/python2.7/compiler/visitor.pyo
+lib/python2.7/config/Makefile
+lib/python2.7/config/Setup
+lib/python2.7/config/Setup.config
+lib/python2.7/config/Setup.local
+lib/python2.7/config/config.c
+lib/python2.7/config/config.c.in
+lib/python2.7/config/install-sh
+lib/python2.7/config/libpython2.7.a
+lib/python2.7/config/makesetup
+lib/python2.7/config/python.o
+lib/python2.7/contextlib.py
+lib/python2.7/contextlib.pyc
+lib/python2.7/contextlib.pyo
+lib/python2.7/cookielib.py
+lib/python2.7/cookielib.pyc
+lib/python2.7/cookielib.pyo
+lib/python2.7/copy.py
+lib/python2.7/copy.pyc
+lib/python2.7/copy.pyo
+lib/python2.7/copy_reg.py
+lib/python2.7/copy_reg.pyc
+lib/python2.7/copy_reg.pyo
+lib/python2.7/csv.py
+lib/python2.7/csv.pyc
+lib/python2.7/csv.pyo
+lib/python2.7/ctypes/__init__.py
+lib/python2.7/ctypes/__init__.pyc
+lib/python2.7/ctypes/__init__.pyo
+lib/python2.7/ctypes/_endian.py
+lib/python2.7/ctypes/_endian.pyc
+lib/python2.7/ctypes/_endian.pyo
+lib/python2.7/ctypes/macholib/README.ctypes
+lib/python2.7/ctypes/macholib/__init__.py
+lib/python2.7/ctypes/macholib/__init__.pyc
+lib/python2.7/ctypes/macholib/__init__.pyo
+lib/python2.7/ctypes/macholib/dyld.py
+lib/python2.7/ctypes/macholib/dyld.pyc
+lib/python2.7/ctypes/macholib/dyld.pyo
+lib/python2.7/ctypes/macholib/dylib.py
+lib/python2.7/ctypes/macholib/dylib.pyc
+lib/python2.7/ctypes/macholib/dylib.pyo
+lib/python2.7/ctypes/macholib/fetch_macholib
+lib/python2.7/ctypes/macholib/fetch_macholib.bat
+lib/python2.7/ctypes/macholib/framework.py
+lib/python2.7/ctypes/macholib/framework.pyc
+lib/python2.7/ctypes/macholib/framework.pyo
+lib/python2.7/ctypes/test/__init__.py
+lib/python2.7/ctypes/test/__init__.pyc
+lib/python2.7/ctypes/test/__init__.pyo
+lib/python2.7/ctypes/test/runtests.py
+lib/python2.7/ctypes/test/runtests.pyc
+lib/python2.7/ctypes/test/runtests.pyo
+lib/python2.7/ctypes/test/test_anon.py
+lib/python2.7/ctypes/test/test_anon.pyc
+lib/python2.7/ctypes/test/test_anon.pyo
+lib/python2.7/ctypes/test/test_array_in_pointer.py
+lib/python2.7/ctypes/test/test_array_in_pointer.pyc
+lib/python2.7/ctypes/test/test_array_in_pointer.pyo
+lib/python2.7/ctypes/test/test_arrays.py
+lib/python2.7/ctypes/test/test_arrays.pyc
+lib/python2.7/ctypes/test/test_arrays.pyo
+lib/python2.7/ctypes/test/test_as_parameter.py
+lib/python2.7/ctypes/test/test_as_parameter.pyc
+lib/python2.7/ctypes/test/test_as_parameter.pyo
+lib/python2.7/ctypes/test/test_bitfields.py
+lib/python2.7/ctypes/test/test_bitfields.pyc
+lib/python2.7/ctypes/test/test_bitfields.pyo
+lib/python2.7/ctypes/test/test_buffers.py
+lib/python2.7/ctypes/test/test_buffers.pyc
+lib/python2.7/ctypes/test/test_buffers.pyo
+lib/python2.7/ctypes/test/test_byteswap.py
+lib/python2.7/ctypes/test/test_byteswap.pyc
+lib/python2.7/ctypes/test/test_byteswap.pyo
+lib/python2.7/ctypes/test/test_callbacks.py
+lib/python2.7/ctypes/test/test_callbacks.pyc
+lib/python2.7/ctypes/test/test_callbacks.pyo
+lib/python2.7/ctypes/test/test_cast.py
+lib/python2.7/ctypes/test/test_cast.pyc
+lib/python2.7/ctypes/test/test_cast.pyo
+lib/python2.7/ctypes/test/test_cfuncs.py
+lib/python2.7/ctypes/test/test_cfuncs.pyc
+lib/python2.7/ctypes/test/test_cfuncs.pyo
+lib/python2.7/ctypes/test/test_checkretval.py
+lib/python2.7/ctypes/test/test_checkretval.pyc
+lib/python2.7/ctypes/test/test_checkretval.pyo
+lib/python2.7/ctypes/test/test_delattr.py
+lib/python2.7/ctypes/test/test_delattr.pyc
+lib/python2.7/ctypes/test/test_delattr.pyo
+lib/python2.7/ctypes/test/test_errno.py
+lib/python2.7/ctypes/test/test_errno.pyc
+lib/python2.7/ctypes/test/test_errno.pyo
+lib/python2.7/ctypes/test/test_find.py
+lib/python2.7/ctypes/test/test_find.pyc
+lib/python2.7/ctypes/test/test_find.pyo
+lib/python2.7/ctypes/test/test_frombuffer.py
+lib/python2.7/ctypes/test/test_frombuffer.pyc
+lib/python2.7/ctypes/test/test_frombuffer.pyo
+lib/python2.7/ctypes/test/test_funcptr.py
+lib/python2.7/ctypes/test/test_funcptr.pyc
+lib/python2.7/ctypes/test/test_funcptr.pyo
+lib/python2.7/ctypes/test/test_functions.py
+lib/python2.7/ctypes/test/test_functions.pyc
+lib/python2.7/ctypes/test/test_functions.pyo
+lib/python2.7/ctypes/test/test_incomplete.py
+lib/python2.7/ctypes/test/test_incomplete.pyc
+lib/python2.7/ctypes/test/test_incomplete.pyo
+lib/python2.7/ctypes/test/test_init.py
+lib/python2.7/ctypes/test/test_init.pyc
+lib/python2.7/ctypes/test/test_init.pyo
+lib/python2.7/ctypes/test/test_internals.py
+lib/python2.7/ctypes/test/test_internals.pyc
+lib/python2.7/ctypes/test/test_internals.pyo
+lib/python2.7/ctypes/test/test_keeprefs.py
+lib/python2.7/ctypes/test/test_keeprefs.pyc
+lib/python2.7/ctypes/test/test_keeprefs.pyo
+lib/python2.7/ctypes/test/test_libc.py
+lib/python2.7/ctypes/test/test_libc.pyc
+lib/python2.7/ctypes/test/test_libc.pyo
+lib/python2.7/ctypes/test/test_loading.py
+lib/python2.7/ctypes/test/test_loading.pyc
+lib/python2.7/ctypes/test/test_loading.pyo
+lib/python2.7/ctypes/test/test_macholib.py
+lib/python2.7/ctypes/test/test_macholib.pyc
+lib/python2.7/ctypes/test/test_macholib.pyo
+lib/python2.7/ctypes/test/test_memfunctions.py
+lib/python2.7/ctypes/test/test_memfunctions.pyc
+lib/python2.7/ctypes/test/test_memfunctions.pyo
+lib/python2.7/ctypes/test/test_numbers.py
+lib/python2.7/ctypes/test/test_numbers.pyc
+lib/python2.7/ctypes/test/test_numbers.pyo
+lib/python2.7/ctypes/test/test_objects.py
+lib/python2.7/ctypes/test/test_objects.pyc
+lib/python2.7/ctypes/test/test_objects.pyo
+lib/python2.7/ctypes/test/test_parameters.py
+lib/python2.7/ctypes/test/test_parameters.pyc
+lib/python2.7/ctypes/test/test_parameters.pyo
+lib/python2.7/ctypes/test/test_pep3118.py
+lib/python2.7/ctypes/test/test_pep3118.pyc
+lib/python2.7/ctypes/test/test_pep3118.pyo
+lib/python2.7/ctypes/test/test_pickling.py
+lib/python2.7/ctypes/test/test_pickling.pyc
+lib/python2.7/ctypes/test/test_pickling.pyo
+lib/python2.7/ctypes/test/test_pointers.py
+lib/python2.7/ctypes/test/test_pointers.pyc
+lib/python2.7/ctypes/test/test_pointers.pyo
+lib/python2.7/ctypes/test/test_prototypes.py
+lib/python2.7/ctypes/test/test_prototypes.pyc
+lib/python2.7/ctypes/test/test_prototypes.pyo
+lib/python2.7/ctypes/test/test_python_api.py
+lib/python2.7/ctypes/test/test_python_api.pyc
+lib/python2.7/ctypes/test/test_python_api.pyo
+lib/python2.7/ctypes/test/test_random_things.py
+lib/python2.7/ctypes/test/test_random_things.pyc
+lib/python2.7/ctypes/test/test_random_things.pyo
+lib/python2.7/ctypes/test/test_refcounts.py
+lib/python2.7/ctypes/test/test_refcounts.pyc
+lib/python2.7/ctypes/test/test_refcounts.pyo
+lib/python2.7/ctypes/test/test_repr.py
+lib/python2.7/ctypes/test/test_repr.pyc
+lib/python2.7/ctypes/test/test_repr.pyo
+lib/python2.7/ctypes/test/test_returnfuncptrs.py
+lib/python2.7/ctypes/test/test_returnfuncptrs.pyc
+lib/python2.7/ctypes/test/test_returnfuncptrs.pyo
+lib/python2.7/ctypes/test/test_simplesubclasses.py
+lib/python2.7/ctypes/test/test_simplesubclasses.pyc
+lib/python2.7/ctypes/test/test_simplesubclasses.pyo
+lib/python2.7/ctypes/test/test_sizes.py
+lib/python2.7/ctypes/test/test_sizes.pyc
+lib/python2.7/ctypes/test/test_sizes.pyo
+lib/python2.7/ctypes/test/test_slicing.py
+lib/python2.7/ctypes/test/test_slicing.pyc
+lib/python2.7/ctypes/test/test_slicing.pyo
+lib/python2.7/ctypes/test/test_stringptr.py
+lib/python2.7/ctypes/test/test_stringptr.pyc
+lib/python2.7/ctypes/test/test_stringptr.pyo
+lib/python2.7/ctypes/test/test_strings.py
+lib/python2.7/ctypes/test/test_strings.pyc
+lib/python2.7/ctypes/test/test_strings.pyo
+lib/python2.7/ctypes/test/test_struct_fields.py
+lib/python2.7/ctypes/test/test_struct_fields.pyc
+lib/python2.7/ctypes/test/test_struct_fields.pyo
+lib/python2.7/ctypes/test/test_structures.py
+lib/python2.7/ctypes/test/test_structures.pyc
+lib/python2.7/ctypes/test/test_structures.pyo
+lib/python2.7/ctypes/test/test_unaligned_structures.py
+lib/python2.7/ctypes/test/test_unaligned_structures.pyc
+lib/python2.7/ctypes/test/test_unaligned_structures.pyo
+lib/python2.7/ctypes/test/test_unicode.py
+lib/python2.7/ctypes/test/test_unicode.pyc
+lib/python2.7/ctypes/test/test_unicode.pyo
+lib/python2.7/ctypes/test/test_values.py
+lib/python2.7/ctypes/test/test_values.pyc
+lib/python2.7/ctypes/test/test_values.pyo
+lib/python2.7/ctypes/test/test_varsize_struct.py
+lib/python2.7/ctypes/test/test_varsize_struct.pyc
+lib/python2.7/ctypes/test/test_varsize_struct.pyo
+lib/python2.7/ctypes/test/test_win32.py
+lib/python2.7/ctypes/test/test_win32.pyc
+lib/python2.7/ctypes/test/test_win32.pyo
+lib/python2.7/ctypes/test/test_wintypes.py
+lib/python2.7/ctypes/test/test_wintypes.pyc
+lib/python2.7/ctypes/test/test_wintypes.pyo
+lib/python2.7/ctypes/util.py
+lib/python2.7/ctypes/util.pyc
+lib/python2.7/ctypes/util.pyo
+lib/python2.7/ctypes/wintypes.py
+lib/python2.7/ctypes/wintypes.pyc
+lib/python2.7/ctypes/wintypes.pyo
+lib/python2.7/curses/__init__.py
+lib/python2.7/curses/__init__.pyc
+lib/python2.7/curses/__init__.pyo
+lib/python2.7/curses/ascii.py
+lib/python2.7/curses/ascii.pyc
+lib/python2.7/curses/ascii.pyo
+lib/python2.7/curses/has_key.py
+lib/python2.7/curses/has_key.pyc
+lib/python2.7/curses/has_key.pyo
+lib/python2.7/curses/panel.py
+lib/python2.7/curses/panel.pyc
+lib/python2.7/curses/panel.pyo
+lib/python2.7/curses/textpad.py
+lib/python2.7/curses/textpad.pyc
+lib/python2.7/curses/textpad.pyo
+lib/python2.7/curses/wrapper.py
+lib/python2.7/curses/wrapper.pyc
+lib/python2.7/curses/wrapper.pyo
+lib/python2.7/dbhash.py
+lib/python2.7/dbhash.pyc
+lib/python2.7/dbhash.pyo
+lib/python2.7/decimal.py
+lib/python2.7/decimal.pyc
+lib/python2.7/decimal.pyo
+lib/python2.7/difflib.py
+lib/python2.7/difflib.pyc
+lib/python2.7/difflib.pyo
+lib/python2.7/dircache.py
+lib/python2.7/dircache.pyc
+lib/python2.7/dircache.pyo
+lib/python2.7/dis.py
+lib/python2.7/dis.pyc
+lib/python2.7/dis.pyo
+lib/python2.7/distutils/README
+lib/python2.7/distutils/__init__.py
+lib/python2.7/distutils/__init__.pyc
+lib/python2.7/distutils/__init__.pyo
+lib/python2.7/distutils/archive_util.py
+lib/python2.7/distutils/archive_util.pyc
+lib/python2.7/distutils/archive_util.pyo
+lib/python2.7/distutils/bcppcompiler.py
+lib/python2.7/distutils/bcppcompiler.pyc
+lib/python2.7/distutils/bcppcompiler.pyo
+lib/python2.7/distutils/ccompiler.py
+lib/python2.7/distutils/ccompiler.pyc
+lib/python2.7/distutils/ccompiler.pyo
+lib/python2.7/distutils/cmd.py
+lib/python2.7/distutils/cmd.pyc
+lib/python2.7/distutils/cmd.pyo
+lib/python2.7/distutils/command/__init__.py
+lib/python2.7/distutils/command/__init__.pyc
+lib/python2.7/distutils/command/__init__.pyo
+lib/python2.7/distutils/command/bdist.py
+lib/python2.7/distutils/command/bdist.pyc
+lib/python2.7/distutils/command/bdist.pyo
+lib/python2.7/distutils/command/bdist_dumb.py
+lib/python2.7/distutils/command/bdist_dumb.pyc
+lib/python2.7/distutils/command/bdist_dumb.pyo
+lib/python2.7/distutils/command/bdist_msi.py
+lib/python2.7/distutils/command/bdist_msi.pyc
+lib/python2.7/distutils/command/bdist_msi.pyo
+lib/python2.7/distutils/command/bdist_rpm.py
+lib/python2.7/distutils/command/bdist_rpm.pyc
+lib/python2.7/distutils/command/bdist_rpm.pyo
+lib/python2.7/distutils/command/bdist_wininst.py
+lib/python2.7/distutils/command/bdist_wininst.pyc
+lib/python2.7/distutils/command/bdist_wininst.pyo
+lib/python2.7/distutils/command/build.py
+lib/python2.7/distutils/command/build.pyc
+lib/python2.7/distutils/command/build.pyo
+lib/python2.7/distutils/command/build_clib.py
+lib/python2.7/distutils/command/build_clib.pyc
+lib/python2.7/distutils/command/build_clib.pyo
+lib/python2.7/distutils/command/build_ext.py
+lib/python2.7/distutils/command/build_ext.pyc
+lib/python2.7/distutils/command/build_ext.pyo
+lib/python2.7/distutils/command/build_py.py
+lib/python2.7/distutils/command/build_py.pyc
+lib/python2.7/distutils/command/build_py.pyo
+lib/python2.7/distutils/command/build_scripts.py
+lib/python2.7/distutils/command/build_scripts.pyc
+lib/python2.7/distutils/command/build_scripts.pyo
+lib/python2.7/distutils/command/check.py
+lib/python2.7/distutils/command/check.pyc
+lib/python2.7/distutils/command/check.pyo
+lib/python2.7/distutils/command/clean.py
+lib/python2.7/distutils/command/clean.pyc
+lib/python2.7/distutils/command/clean.pyo
+lib/python2.7/distutils/command/command_template
+lib/python2.7/distutils/command/config.py
+lib/python2.7/distutils/command/config.pyc
+lib/python2.7/distutils/command/config.pyo
+lib/python2.7/distutils/command/install.py
+lib/python2.7/distutils/command/install.pyc
+lib/python2.7/distutils/command/install.pyo
+lib/python2.7/distutils/command/install_data.py
+lib/python2.7/distutils/command/install_data.pyc
+lib/python2.7/distutils/command/install_data.pyo
+lib/python2.7/distutils/command/install_egg_info.py
+lib/python2.7/distutils/command/install_egg_info.pyc
+lib/python2.7/distutils/command/install_egg_info.pyo
+lib/python2.7/distutils/command/install_headers.py
+lib/python2.7/distutils/command/install_headers.pyc
+lib/python2.7/distutils/command/install_headers.pyo
+lib/python2.7/distutils/command/install_lib.py
+lib/python2.7/distutils/command/install_lib.pyc
+lib/python2.7/distutils/command/install_lib.pyo
+lib/python2.7/distutils/command/install_scripts.py
+lib/python2.7/distutils/command/install_scripts.pyc
+lib/python2.7/distutils/command/install_scripts.pyo
+lib/python2.7/distutils/command/register.py
+lib/python2.7/distutils/command/register.pyc
+lib/python2.7/distutils/command/register.pyo
+lib/python2.7/distutils/command/sdist.py
+lib/python2.7/distutils/command/sdist.pyc
+lib/python2.7/distutils/command/sdist.pyo
+lib/python2.7/distutils/command/upload.py
+lib/python2.7/distutils/command/upload.pyc
+lib/python2.7/distutils/command/upload.pyo
+lib/python2.7/distutils/command/wininst-6.0.exe
+lib/python2.7/distutils/command/wininst-7.1.exe
+lib/python2.7/distutils/command/wininst-8.0.exe
+lib/python2.7/distutils/command/wininst-9.0-amd64.exe
+lib/python2.7/distutils/command/wininst-9.0.exe
+lib/python2.7/distutils/config.py
+lib/python2.7/distutils/config.pyc
+lib/python2.7/distutils/config.pyo
+lib/python2.7/distutils/core.py
+lib/python2.7/distutils/core.pyc
+lib/python2.7/distutils/core.pyo
+lib/python2.7/distutils/cygwinccompiler.py
+lib/python2.7/distutils/cygwinccompiler.pyc
+lib/python2.7/distutils/cygwinccompiler.pyo
+lib/python2.7/distutils/debug.py
+lib/python2.7/distutils/debug.pyc
+lib/python2.7/distutils/debug.pyo
+lib/python2.7/distutils/dep_util.py
+lib/python2.7/distutils/dep_util.pyc
+lib/python2.7/distutils/dep_util.pyo
+lib/python2.7/distutils/dir_util.py
+lib/python2.7/distutils/dir_util.pyc
+lib/python2.7/distutils/dir_util.pyo
+lib/python2.7/distutils/dist.py
+lib/python2.7/distutils/dist.pyc
+lib/python2.7/distutils/dist.pyo
+lib/python2.7/distutils/emxccompiler.py
+lib/python2.7/distutils/emxccompiler.pyc
+lib/python2.7/distutils/emxccompiler.pyo
+lib/python2.7/distutils/errors.py
+lib/python2.7/distutils/errors.pyc
+lib/python2.7/distutils/errors.pyo
+lib/python2.7/distutils/extension.py
+lib/python2.7/distutils/extension.pyc
+lib/python2.7/distutils/extension.pyo
+lib/python2.7/distutils/fancy_getopt.py
+lib/python2.7/distutils/fancy_getopt.pyc
+lib/python2.7/distutils/fancy_getopt.pyo
+lib/python2.7/distutils/file_util.py
+lib/python2.7/distutils/file_util.pyc
+lib/python2.7/distutils/file_util.pyo
+lib/python2.7/distutils/filelist.py
+lib/python2.7/distutils/filelist.pyc
+lib/python2.7/distutils/filelist.pyo
+lib/python2.7/distutils/log.py
+lib/python2.7/distutils/log.pyc
+lib/python2.7/distutils/log.pyo
+lib/python2.7/distutils/msvc9compiler.py
+lib/python2.7/distutils/msvc9compiler.pyc
+lib/python2.7/distutils/msvc9compiler.pyo
+lib/python2.7/distutils/msvccompiler.py
+lib/python2.7/distutils/msvccompiler.pyc
+lib/python2.7/distutils/msvccompiler.pyo
+lib/python2.7/distutils/spawn.py
+lib/python2.7/distutils/spawn.pyc
+lib/python2.7/distutils/spawn.pyo
+lib/python2.7/distutils/sysconfig.py
+lib/python2.7/distutils/sysconfig.pyc
+lib/python2.7/distutils/sysconfig.pyo
+lib/python2.7/distutils/tests/Setup.sample
+lib/python2.7/distutils/tests/__init__.py
+lib/python2.7/distutils/tests/__init__.pyc
+lib/python2.7/distutils/tests/__init__.pyo
+lib/python2.7/distutils/tests/setuptools_build_ext.py
+lib/python2.7/distutils/tests/setuptools_build_ext.pyc
+lib/python2.7/distutils/tests/setuptools_build_ext.pyo
+lib/python2.7/distutils/tests/setuptools_extension.py
+lib/python2.7/distutils/tests/setuptools_extension.pyc
+lib/python2.7/distutils/tests/setuptools_extension.pyo
+lib/python2.7/distutils/tests/support.py
+lib/python2.7/distutils/tests/support.pyc
+lib/python2.7/distutils/tests/support.pyo
+lib/python2.7/distutils/tests/test_archive_util.py
+lib/python2.7/distutils/tests/test_archive_util.pyc
+lib/python2.7/distutils/tests/test_archive_util.pyo
+lib/python2.7/distutils/tests/test_bdist.py
+lib/python2.7/distutils/tests/test_bdist.pyc
+lib/python2.7/distutils/tests/test_bdist.pyo
+lib/python2.7/distutils/tests/test_bdist_dumb.py
+lib/python2.7/distutils/tests/test_bdist_dumb.pyc
+lib/python2.7/distutils/tests/test_bdist_dumb.pyo
+lib/python2.7/distutils/tests/test_bdist_msi.py
+lib/python2.7/distutils/tests/test_bdist_msi.pyc
+lib/python2.7/distutils/tests/test_bdist_msi.pyo
+lib/python2.7/distutils/tests/test_bdist_rpm.py
+lib/python2.7/distutils/tests/test_bdist_rpm.pyc
+lib/python2.7/distutils/tests/test_bdist_rpm.pyo
+lib/python2.7/distutils/tests/test_bdist_wininst.py
+lib/python2.7/distutils/tests/test_bdist_wininst.pyc
+lib/python2.7/distutils/tests/test_bdist_wininst.pyo
+lib/python2.7/distutils/tests/test_build.py
+lib/python2.7/distutils/tests/test_build.pyc
+lib/python2.7/distutils/tests/test_build.pyo
+lib/python2.7/distutils/tests/test_build_clib.py
+lib/python2.7/distutils/tests/test_build_clib.pyc
+lib/python2.7/distutils/tests/test_build_clib.pyo
+lib/python2.7/distutils/tests/test_build_ext.py
+lib/python2.7/distutils/tests/test_build_ext.pyc
+lib/python2.7/distutils/tests/test_build_ext.pyo
+lib/python2.7/distutils/tests/test_build_py.py
+lib/python2.7/distutils/tests/test_build_py.pyc
+lib/python2.7/distutils/tests/test_build_py.pyo
+lib/python2.7/distutils/tests/test_build_scripts.py
+lib/python2.7/distutils/tests/test_build_scripts.pyc
+lib/python2.7/distutils/tests/test_build_scripts.pyo
+lib/python2.7/distutils/tests/test_ccompiler.py
+lib/python2.7/distutils/tests/test_ccompiler.pyc
+lib/python2.7/distutils/tests/test_ccompiler.pyo
+lib/python2.7/distutils/tests/test_check.py
+lib/python2.7/distutils/tests/test_check.pyc
+lib/python2.7/distutils/tests/test_check.pyo
+lib/python2.7/distutils/tests/test_clean.py
+lib/python2.7/distutils/tests/test_clean.pyc
+lib/python2.7/distutils/tests/test_clean.pyo
+lib/python2.7/distutils/tests/test_cmd.py
+lib/python2.7/distutils/tests/test_cmd.pyc
+lib/python2.7/distutils/tests/test_cmd.pyo
+lib/python2.7/distutils/tests/test_config.py
+lib/python2.7/distutils/tests/test_config.pyc
+lib/python2.7/distutils/tests/test_config.pyo
+lib/python2.7/distutils/tests/test_config_cmd.py
+lib/python2.7/distutils/tests/test_config_cmd.pyc
+lib/python2.7/distutils/tests/test_config_cmd.pyo
+lib/python2.7/distutils/tests/test_core.py
+lib/python2.7/distutils/tests/test_core.pyc
+lib/python2.7/distutils/tests/test_core.pyo
+lib/python2.7/distutils/tests/test_dep_util.py
+lib/python2.7/distutils/tests/test_dep_util.pyc
+lib/python2.7/distutils/tests/test_dep_util.pyo
+lib/python2.7/distutils/tests/test_dir_util.py
+lib/python2.7/distutils/tests/test_dir_util.pyc
+lib/python2.7/distutils/tests/test_dir_util.pyo
+lib/python2.7/distutils/tests/test_dist.py
+lib/python2.7/distutils/tests/test_dist.pyc
+lib/python2.7/distutils/tests/test_dist.pyo
+lib/python2.7/distutils/tests/test_file_util.py
+lib/python2.7/distutils/tests/test_file_util.pyc
+lib/python2.7/distutils/tests/test_file_util.pyo
+lib/python2.7/distutils/tests/test_filelist.py
+lib/python2.7/distutils/tests/test_filelist.pyc
+lib/python2.7/distutils/tests/test_filelist.pyo
+lib/python2.7/distutils/tests/test_install.py
+lib/python2.7/distutils/tests/test_install.pyc
+lib/python2.7/distutils/tests/test_install.pyo
+lib/python2.7/distutils/tests/test_install_data.py
+lib/python2.7/distutils/tests/test_install_data.pyc
+lib/python2.7/distutils/tests/test_install_data.pyo
+lib/python2.7/distutils/tests/test_install_headers.py
+lib/python2.7/distutils/tests/test_install_headers.pyc
+lib/python2.7/distutils/tests/test_install_headers.pyo
+lib/python2.7/distutils/tests/test_install_lib.py
+lib/python2.7/distutils/tests/test_install_lib.pyc
+lib/python2.7/distutils/tests/test_install_lib.pyo
+lib/python2.7/distutils/tests/test_install_scripts.py
+lib/python2.7/distutils/tests/test_install_scripts.pyc
+lib/python2.7/distutils/tests/test_install_scripts.pyo
+lib/python2.7/distutils/tests/test_msvc9compiler.py
+lib/python2.7/distutils/tests/test_msvc9compiler.pyc
+lib/python2.7/distutils/tests/test_msvc9compiler.pyo
+lib/python2.7/distutils/tests/test_register.py
+lib/python2.7/distutils/tests/test_register.pyc
+lib/python2.7/distutils/tests/test_register.pyo
+lib/python2.7/distutils/tests/test_sdist.py
+lib/python2.7/distutils/tests/test_sdist.pyc
+lib/python2.7/distutils/tests/test_sdist.pyo
+lib/python2.7/distutils/tests/test_spawn.py
+lib/python2.7/distutils/tests/test_spawn.pyc
+lib/python2.7/distutils/tests/test_spawn.pyo
+lib/python2.7/distutils/tests/test_sysconfig.py
+lib/python2.7/distutils/tests/test_sysconfig.pyc
+lib/python2.7/distutils/tests/test_sysconfig.pyo
+lib/python2.7/distutils/tests/test_text_file.py
+lib/python2.7/distutils/tests/test_text_file.pyc
+lib/python2.7/distutils/tests/test_text_file.pyo
+lib/python2.7/distutils/tests/test_unixccompiler.py
+lib/python2.7/distutils/tests/test_unixccompiler.pyc
+lib/python2.7/distutils/tests/test_unixccompiler.pyo
+lib/python2.7/distutils/tests/test_upload.py
+lib/python2.7/distutils/tests/test_upload.pyc
+lib/python2.7/distutils/tests/test_upload.pyo
+lib/python2.7/distutils/tests/test_util.py
+lib/python2.7/distutils/tests/test_util.pyc
+lib/python2.7/distutils/tests/test_util.pyo
+lib/python2.7/distutils/tests/test_version.py
+lib/python2.7/distutils/tests/test_version.pyc
+lib/python2.7/distutils/tests/test_version.pyo
+lib/python2.7/distutils/tests/test_versionpredicate.py
+lib/python2.7/distutils/tests/test_versionpredicate.pyc
+lib/python2.7/distutils/tests/test_versionpredicate.pyo
+lib/python2.7/distutils/tests/xxmodule.c
+lib/python2.7/distutils/text_file.py
+lib/python2.7/distutils/text_file.pyc
+lib/python2.7/distutils/text_file.pyo
+lib/python2.7/distutils/unixccompiler.py
+lib/python2.7/distutils/unixccompiler.pyc
+lib/python2.7/distutils/unixccompiler.pyo
+lib/python2.7/distutils/util.py
+lib/python2.7/distutils/util.pyc
+lib/python2.7/distutils/util.pyo
+lib/python2.7/distutils/version.py
+lib/python2.7/distutils/version.pyc
+lib/python2.7/distutils/version.pyo
+lib/python2.7/distutils/versionpredicate.py
+lib/python2.7/distutils/versionpredicate.pyc
+lib/python2.7/distutils/versionpredicate.pyo
+lib/python2.7/doctest.py
+lib/python2.7/doctest.pyc
+lib/python2.7/doctest.pyo
+lib/python2.7/dumbdbm.py
+lib/python2.7/dumbdbm.pyc
+lib/python2.7/dumbdbm.pyo
+lib/python2.7/dummy_thread.py
+lib/python2.7/dummy_thread.pyc
+lib/python2.7/dummy_thread.pyo
+lib/python2.7/dummy_threading.py
+lib/python2.7/dummy_threading.pyc
+lib/python2.7/dummy_threading.pyo
+lib/python2.7/email/__init__.py
+lib/python2.7/email/__init__.pyc
+lib/python2.7/email/__init__.pyo
+lib/python2.7/email/_parseaddr.py
+lib/python2.7/email/_parseaddr.pyc
+lib/python2.7/email/_parseaddr.pyo
+lib/python2.7/email/base64mime.py
+lib/python2.7/email/base64mime.pyc
+lib/python2.7/email/base64mime.pyo
+lib/python2.7/email/charset.py
+lib/python2.7/email/charset.pyc
+lib/python2.7/email/charset.pyo
+lib/python2.7/email/encoders.py
+lib/python2.7/email/encoders.pyc
+lib/python2.7/email/encoders.pyo
+lib/python2.7/email/errors.py
+lib/python2.7/email/errors.pyc
+lib/python2.7/email/errors.pyo
+lib/python2.7/email/feedparser.py
+lib/python2.7/email/feedparser.pyc
+lib/python2.7/email/feedparser.pyo
+lib/python2.7/email/generator.py
+lib/python2.7/email/generator.pyc
+lib/python2.7/email/generator.pyo
+lib/python2.7/email/header.py
+lib/python2.7/email/header.pyc
+lib/python2.7/email/header.pyo
+lib/python2.7/email/iterators.py
+lib/python2.7/email/iterators.pyc
+lib/python2.7/email/iterators.pyo
+lib/python2.7/email/message.py
+lib/python2.7/email/message.pyc
+lib/python2.7/email/message.pyo
+lib/python2.7/email/mime/__init__.py
+lib/python2.7/email/mime/__init__.pyc
+lib/python2.7/email/mime/__init__.pyo
+lib/python2.7/email/mime/application.py
+lib/python2.7/email/mime/application.pyc
+lib/python2.7/email/mime/application.pyo
+lib/python2.7/email/mime/audio.py
+lib/python2.7/email/mime/audio.pyc
+lib/python2.7/email/mime/audio.pyo
+lib/python2.7/email/mime/base.py
+lib/python2.7/email/mime/base.pyc
+lib/python2.7/email/mime/base.pyo
+lib/python2.7/email/mime/image.py
+lib/python2.7/email/mime/image.pyc
+lib/python2.7/email/mime/image.pyo
+lib/python2.7/email/mime/message.py
+lib/python2.7/email/mime/message.pyc
+lib/python2.7/email/mime/message.pyo
+lib/python2.7/email/mime/multipart.py
+lib/python2.7/email/mime/multipart.pyc
+lib/python2.7/email/mime/multipart.pyo
+lib/python2.7/email/mime/nonmultipart.py
+lib/python2.7/email/mime/nonmultipart.pyc
+lib/python2.7/email/mime/nonmultipart.pyo
+lib/python2.7/email/mime/text.py
+lib/python2.7/email/mime/text.pyc
+lib/python2.7/email/mime/text.pyo
+lib/python2.7/email/parser.py
+lib/python2.7/email/parser.pyc
+lib/python2.7/email/parser.pyo
+lib/python2.7/email/quoprimime.py
+lib/python2.7/email/quoprimime.pyc
+lib/python2.7/email/quoprimime.pyo
+lib/python2.7/email/test/__init__.py
+lib/python2.7/email/test/__init__.pyc
+lib/python2.7/email/test/__init__.pyo
+lib/python2.7/email/test/data/PyBanner048.gif
+lib/python2.7/email/test/data/audiotest.au
+lib/python2.7/email/test/data/msg_01.txt
+lib/python2.7/email/test/data/msg_02.txt
+lib/python2.7/email/test/data/msg_03.txt
+lib/python2.7/email/test/data/msg_04.txt
+lib/python2.7/email/test/data/msg_05.txt
+lib/python2.7/email/test/data/msg_06.txt
+lib/python2.7/email/test/data/msg_07.txt
+lib/python2.7/email/test/data/msg_08.txt
+lib/python2.7/email/test/data/msg_09.txt
+lib/python2.7/email/test/data/msg_10.txt
+lib/python2.7/email/test/data/msg_11.txt
+lib/python2.7/email/test/data/msg_12.txt
+lib/python2.7/email/test/data/msg_12a.txt
+lib/python2.7/email/test/data/msg_13.txt
+lib/python2.7/email/test/data/msg_14.txt
+lib/python2.7/email/test/data/msg_15.txt
+lib/python2.7/email/test/data/msg_16.txt
+lib/python2.7/email/test/data/msg_17.txt
+lib/python2.7/email/test/data/msg_18.txt
+lib/python2.7/email/test/data/msg_19.txt
+lib/python2.7/email/test/data/msg_20.txt
+lib/python2.7/email/test/data/msg_21.txt
+lib/python2.7/email/test/data/msg_22.txt
+lib/python2.7/email/test/data/msg_23.txt
+lib/python2.7/email/test/data/msg_24.txt
+lib/python2.7/email/test/data/msg_25.txt
+lib/python2.7/email/test/data/msg_26.txt
+lib/python2.7/email/test/data/msg_27.txt
+lib/python2.7/email/test/data/msg_28.txt
+lib/python2.7/email/test/data/msg_29.txt
+lib/python2.7/email/test/data/msg_30.txt
+lib/python2.7/email/test/data/msg_31.txt
+lib/python2.7/email/test/data/msg_32.txt
+lib/python2.7/email/test/data/msg_33.txt
+lib/python2.7/email/test/data/msg_34.txt
+lib/python2.7/email/test/data/msg_35.txt
+lib/python2.7/email/test/data/msg_36.txt
+lib/python2.7/email/test/data/msg_37.txt
+lib/python2.7/email/test/data/msg_38.txt
+lib/python2.7/email/test/data/msg_39.txt
+lib/python2.7/email/test/data/msg_40.txt
+lib/python2.7/email/test/data/msg_41.txt
+lib/python2.7/email/test/data/msg_42.txt
+lib/python2.7/email/test/data/msg_43.txt
+lib/python2.7/email/test/data/msg_44.txt
+lib/python2.7/email/test/data/msg_45.txt
+lib/python2.7/email/test/data/msg_46.txt
+lib/python2.7/email/test/test_email.py
+lib/python2.7/email/test/test_email.pyc
+lib/python2.7/email/test/test_email.pyo
+lib/python2.7/email/test/test_email_codecs.py
+lib/python2.7/email/test/test_email_codecs.pyc
+lib/python2.7/email/test/test_email_codecs.pyo
+lib/python2.7/email/test/test_email_codecs_renamed.py
+lib/python2.7/email/test/test_email_codecs_renamed.pyc
+lib/python2.7/email/test/test_email_codecs_renamed.pyo
+lib/python2.7/email/test/test_email_renamed.py
+lib/python2.7/email/test/test_email_renamed.pyc
+lib/python2.7/email/test/test_email_renamed.pyo
+lib/python2.7/email/test/test_email_torture.py
+lib/python2.7/email/test/test_email_torture.pyc
+lib/python2.7/email/test/test_email_torture.pyo
+lib/python2.7/email/utils.py
+lib/python2.7/email/utils.pyc
+lib/python2.7/email/utils.pyo
+lib/python2.7/encodings/__init__.py
+lib/python2.7/encodings/__init__.pyc
+lib/python2.7/encodings/__init__.pyo
+lib/python2.7/encodings/aliases.py
+lib/python2.7/encodings/aliases.pyc
+lib/python2.7/encodings/aliases.pyo
+lib/python2.7/encodings/ascii.py
+lib/python2.7/encodings/ascii.pyc
+lib/python2.7/encodings/ascii.pyo
+lib/python2.7/encodings/base64_codec.py
+lib/python2.7/encodings/base64_codec.pyc
+lib/python2.7/encodings/base64_codec.pyo
+lib/python2.7/encodings/big5.py
+lib/python2.7/encodings/big5.pyc
+lib/python2.7/encodings/big5.pyo
+lib/python2.7/encodings/big5hkscs.py
+lib/python2.7/encodings/big5hkscs.pyc
+lib/python2.7/encodings/big5hkscs.pyo
+lib/python2.7/encodings/bz2_codec.py
+lib/python2.7/encodings/bz2_codec.pyc
+lib/python2.7/encodings/bz2_codec.pyo
+lib/python2.7/encodings/charmap.py
+lib/python2.7/encodings/charmap.pyc
+lib/python2.7/encodings/charmap.pyo
+lib/python2.7/encodings/cp037.py
+lib/python2.7/encodings/cp037.pyc
+lib/python2.7/encodings/cp037.pyo
+lib/python2.7/encodings/cp1006.py
+lib/python2.7/encodings/cp1006.pyc
+lib/python2.7/encodings/cp1006.pyo
+lib/python2.7/encodings/cp1026.py
+lib/python2.7/encodings/cp1026.pyc
+lib/python2.7/encodings/cp1026.pyo
+lib/python2.7/encodings/cp1140.py
+lib/python2.7/encodings/cp1140.pyc
+lib/python2.7/encodings/cp1140.pyo
+lib/python2.7/encodings/cp1250.py
+lib/python2.7/encodings/cp1250.pyc
+lib/python2.7/encodings/cp1250.pyo
+lib/python2.7/encodings/cp1251.py
+lib/python2.7/encodings/cp1251.pyc
+lib/python2.7/encodings/cp1251.pyo
+lib/python2.7/encodings/cp1252.py
+lib/python2.7/encodings/cp1252.pyc
+lib/python2.7/encodings/cp1252.pyo
+lib/python2.7/encodings/cp1253.py
+lib/python2.7/encodings/cp1253.pyc
+lib/python2.7/encodings/cp1253.pyo
+lib/python2.7/encodings/cp1254.py
+lib/python2.7/encodings/cp1254.pyc
+lib/python2.7/encodings/cp1254.pyo
+lib/python2.7/encodings/cp1255.py
+lib/python2.7/encodings/cp1255.pyc
+lib/python2.7/encodings/cp1255.pyo
+lib/python2.7/encodings/cp1256.py
+lib/python2.7/encodings/cp1256.pyc
+lib/python2.7/encodings/cp1256.pyo
+lib/python2.7/encodings/cp1257.py
+lib/python2.7/encodings/cp1257.pyc
+lib/python2.7/encodings/cp1257.pyo
+lib/python2.7/encodings/cp1258.py
+lib/python2.7/encodings/cp1258.pyc
+lib/python2.7/encodings/cp1258.pyo
+lib/python2.7/encodings/cp424.py
+lib/python2.7/encodings/cp424.pyc
+lib/python2.7/encodings/cp424.pyo
+lib/python2.7/encodings/cp437.py
+lib/python2.7/encodings/cp437.pyc
+lib/python2.7/encodings/cp437.pyo
+lib/python2.7/encodings/cp500.py
+lib/python2.7/encodings/cp500.pyc
+lib/python2.7/encodings/cp500.pyo
+lib/python2.7/encodings/cp720.py
+lib/python2.7/encodings/cp720.pyc
+lib/python2.7/encodings/cp720.pyo
+lib/python2.7/encodings/cp737.py
+lib/python2.7/encodings/cp737.pyc
+lib/python2.7/encodings/cp737.pyo
+lib/python2.7/encodings/cp775.py
+lib/python2.7/encodings/cp775.pyc
+lib/python2.7/encodings/cp775.pyo
+lib/python2.7/encodings/cp850.py
+lib/python2.7/encodings/cp850.pyc
+lib/python2.7/encodings/cp850.pyo
+lib/python2.7/encodings/cp852.py
+lib/python2.7/encodings/cp852.pyc
+lib/python2.7/encodings/cp852.pyo
+lib/python2.7/encodings/cp855.py
+lib/python2.7/encodings/cp855.pyc
+lib/python2.7/encodings/cp855.pyo
+lib/python2.7/encodings/cp856.py
+lib/python2.7/encodings/cp856.pyc
+lib/python2.7/encodings/cp856.pyo
+lib/python2.7/encodings/cp857.py
+lib/python2.7/encodings/cp857.pyc
+lib/python2.7/encodings/cp857.pyo
+lib/python2.7/encodings/cp858.py
+lib/python2.7/encodings/cp858.pyc
+lib/python2.7/encodings/cp858.pyo
+lib/python2.7/encodings/cp860.py
+lib/python2.7/encodings/cp860.pyc
+lib/python2.7/encodings/cp860.pyo
+lib/python2.7/encodings/cp861.py
+lib/python2.7/encodings/cp861.pyc
+lib/python2.7/encodings/cp861.pyo
+lib/python2.7/encodings/cp862.py
+lib/python2.7/encodings/cp862.pyc
+lib/python2.7/encodings/cp862.pyo
+lib/python2.7/encodings/cp863.py
+lib/python2.7/encodings/cp863.pyc
+lib/python2.7/encodings/cp863.pyo
+lib/python2.7/encodings/cp864.py
+lib/python2.7/encodings/cp864.pyc
+lib/python2.7/encodings/cp864.pyo
+lib/python2.7/encodings/cp865.py
+lib/python2.7/encodings/cp865.pyc
+lib/python2.7/encodings/cp865.pyo
+lib/python2.7/encodings/cp866.py
+lib/python2.7/encodings/cp866.pyc
+lib/python2.7/encodings/cp866.pyo
+lib/python2.7/encodings/cp869.py
+lib/python2.7/encodings/cp869.pyc
+lib/python2.7/encodings/cp869.pyo
+lib/python2.7/encodings/cp874.py
+lib/python2.7/encodings/cp874.pyc
+lib/python2.7/encodings/cp874.pyo
+lib/python2.7/encodings/cp875.py
+lib/python2.7/encodings/cp875.pyc
+lib/python2.7/encodings/cp875.pyo
+lib/python2.7/encodings/cp932.py
+lib/python2.7/encodings/cp932.pyc
+lib/python2.7/encodings/cp932.pyo
+lib/python2.7/encodings/cp949.py
+lib/python2.7/encodings/cp949.pyc
+lib/python2.7/encodings/cp949.pyo
+lib/python2.7/encodings/cp950.py
+lib/python2.7/encodings/cp950.pyc
+lib/python2.7/encodings/cp950.pyo
+lib/python2.7/encodings/euc_jis_2004.py
+lib/python2.7/encodings/euc_jis_2004.pyc
+lib/python2.7/encodings/euc_jis_2004.pyo
+lib/python2.7/encodings/euc_jisx0213.py
+lib/python2.7/encodings/euc_jisx0213.pyc
+lib/python2.7/encodings/euc_jisx0213.pyo
+lib/python2.7/encodings/euc_jp.py
+lib/python2.7/encodings/euc_jp.pyc
+lib/python2.7/encodings/euc_jp.pyo
+lib/python2.7/encodings/euc_kr.py
+lib/python2.7/encodings/euc_kr.pyc
+lib/python2.7/encodings/euc_kr.pyo
+lib/python2.7/encodings/gb18030.py
+lib/python2.7/encodings/gb18030.pyc
+lib/python2.7/encodings/gb18030.pyo
+lib/python2.7/encodings/gb2312.py
+lib/python2.7/encodings/gb2312.pyc
+lib/python2.7/encodings/gb2312.pyo
+lib/python2.7/encodings/gbk.py
+lib/python2.7/encodings/gbk.pyc
+lib/python2.7/encodings/gbk.pyo
+lib/python2.7/encodings/hex_codec.py
+lib/python2.7/encodings/hex_codec.pyc
+lib/python2.7/encodings/hex_codec.pyo
+lib/python2.7/encodings/hp_roman8.py
+lib/python2.7/encodings/hp_roman8.pyc
+lib/python2.7/encodings/hp_roman8.pyo
+lib/python2.7/encodings/hz.py
+lib/python2.7/encodings/hz.pyc
+lib/python2.7/encodings/hz.pyo
+lib/python2.7/encodings/idna.py
+lib/python2.7/encodings/idna.pyc
+lib/python2.7/encodings/idna.pyo
+lib/python2.7/encodings/iso2022_jp.py
+lib/python2.7/encodings/iso2022_jp.pyc
+lib/python2.7/encodings/iso2022_jp.pyo
+lib/python2.7/encodings/iso2022_jp_1.py
+lib/python2.7/encodings/iso2022_jp_1.pyc
+lib/python2.7/encodings/iso2022_jp_1.pyo
+lib/python2.7/encodings/iso2022_jp_2.py
+lib/python2.7/encodings/iso2022_jp_2.pyc
+lib/python2.7/encodings/iso2022_jp_2.pyo
+lib/python2.7/encodings/iso2022_jp_2004.py
+lib/python2.7/encodings/iso2022_jp_2004.pyc
+lib/python2.7/encodings/iso2022_jp_2004.pyo
+lib/python2.7/encodings/iso2022_jp_3.py
+lib/python2.7/encodings/iso2022_jp_3.pyc
+lib/python2.7/encodings/iso2022_jp_3.pyo
+lib/python2.7/encodings/iso2022_jp_ext.py
+lib/python2.7/encodings/iso2022_jp_ext.pyc
+lib/python2.7/encodings/iso2022_jp_ext.pyo
+lib/python2.7/encodings/iso2022_kr.py
+lib/python2.7/encodings/iso2022_kr.pyc
+lib/python2.7/encodings/iso2022_kr.pyo
+lib/python2.7/encodings/iso8859_1.py
+lib/python2.7/encodings/iso8859_1.pyc
+lib/python2.7/encodings/iso8859_1.pyo
+lib/python2.7/encodings/iso8859_10.py
+lib/python2.7/encodings/iso8859_10.pyc
+lib/python2.7/encodings/iso8859_10.pyo
+lib/python2.7/encodings/iso8859_11.py
+lib/python2.7/encodings/iso8859_11.pyc
+lib/python2.7/encodings/iso8859_11.pyo
+lib/python2.7/encodings/iso8859_13.py
+lib/python2.7/encodings/iso8859_13.pyc
+lib/python2.7/encodings/iso8859_13.pyo
+lib/python2.7/encodings/iso8859_14.py
+lib/python2.7/encodings/iso8859_14.pyc
+lib/python2.7/encodings/iso8859_14.pyo
+lib/python2.7/encodings/iso8859_15.py
+lib/python2.7/encodings/iso8859_15.pyc
+lib/python2.7/encodings/iso8859_15.pyo
+lib/python2.7/encodings/iso8859_16.py
+lib/python2.7/encodings/iso8859_16.pyc
+lib/python2.7/encodings/iso8859_16.pyo
+lib/python2.7/encodings/iso8859_2.py
+lib/python2.7/encodings/iso8859_2.pyc
+lib/python2.7/encodings/iso8859_2.pyo
+lib/python2.7/encodings/iso8859_3.py
+lib/python2.7/encodings/iso8859_3.pyc
+lib/python2.7/encodings/iso8859_3.pyo
+lib/python2.7/encodings/iso8859_4.py
+lib/python2.7/encodings/iso8859_4.pyc
+lib/python2.7/encodings/iso8859_4.pyo
+lib/python2.7/encodings/iso8859_5.py
+lib/python2.7/encodings/iso8859_5.pyc
+lib/python2.7/encodings/iso8859_5.pyo
+lib/python2.7/encodings/iso8859_6.py
+lib/python2.7/encodings/iso8859_6.pyc
+lib/python2.7/encodings/iso8859_6.pyo
+lib/python2.7/encodings/iso8859_7.py
+lib/python2.7/encodings/iso8859_7.pyc
+lib/python2.7/encodings/iso8859_7.pyo
+lib/python2.7/encodings/iso8859_8.py
+lib/python2.7/encodings/iso8859_8.pyc
+lib/python2.7/encodings/iso8859_8.pyo
+lib/python2.7/encodings/iso8859_9.py
+lib/python2.7/encodings/iso8859_9.pyc
+lib/python2.7/encodings/iso8859_9.pyo
+lib/python2.7/encodings/johab.py
+lib/python2.7/encodings/johab.pyc
+lib/python2.7/encodings/johab.pyo
+lib/python2.7/encodings/koi8_r.py
+lib/python2.7/encodings/koi8_r.pyc
+lib/python2.7/encodings/koi8_r.pyo
+lib/python2.7/encodings/koi8_u.py
+lib/python2.7/encodings/koi8_u.pyc
+lib/python2.7/encodings/koi8_u.pyo
+lib/python2.7/encodings/latin_1.py
+lib/python2.7/encodings/latin_1.pyc
+lib/python2.7/encodings/latin_1.pyo
+lib/python2.7/encodings/mac_arabic.py
+lib/python2.7/encodings/mac_arabic.pyc
+lib/python2.7/encodings/mac_arabic.pyo
+lib/python2.7/encodings/mac_centeuro.py
+lib/python2.7/encodings/mac_centeuro.pyc
+lib/python2.7/encodings/mac_centeuro.pyo
+lib/python2.7/encodings/mac_croatian.py
+lib/python2.7/encodings/mac_croatian.pyc
+lib/python2.7/encodings/mac_croatian.pyo
+lib/python2.7/encodings/mac_cyrillic.py
+lib/python2.7/encodings/mac_cyrillic.pyc
+lib/python2.7/encodings/mac_cyrillic.pyo
+lib/python2.7/encodings/mac_farsi.py
+lib/python2.7/encodings/mac_farsi.pyc
+lib/python2.7/encodings/mac_farsi.pyo
+lib/python2.7/encodings/mac_greek.py
+lib/python2.7/encodings/mac_greek.pyc
+lib/python2.7/encodings/mac_greek.pyo
+lib/python2.7/encodings/mac_iceland.py
+lib/python2.7/encodings/mac_iceland.pyc
+lib/python2.7/encodings/mac_iceland.pyo
+lib/python2.7/encodings/mac_latin2.py
+lib/python2.7/encodings/mac_latin2.pyc
+lib/python2.7/encodings/mac_latin2.pyo
+lib/python2.7/encodings/mac_roman.py
+lib/python2.7/encodings/mac_roman.pyc
+lib/python2.7/encodings/mac_roman.pyo
+lib/python2.7/encodings/mac_romanian.py
+lib/python2.7/encodings/mac_romanian.pyc
+lib/python2.7/encodings/mac_romanian.pyo
+lib/python2.7/encodings/mac_turkish.py
+lib/python2.7/encodings/mac_turkish.pyc
+lib/python2.7/encodings/mac_turkish.pyo
+lib/python2.7/encodings/mbcs.py
+lib/python2.7/encodings/mbcs.pyc
+lib/python2.7/encodings/mbcs.pyo
+lib/python2.7/encodings/palmos.py
+lib/python2.7/encodings/palmos.pyc
+lib/python2.7/encodings/palmos.pyo
+lib/python2.7/encodings/ptcp154.py
+lib/python2.7/encodings/ptcp154.pyc
+lib/python2.7/encodings/ptcp154.pyo
+lib/python2.7/encodings/punycode.py
+lib/python2.7/encodings/punycode.pyc
+lib/python2.7/encodings/punycode.pyo
+lib/python2.7/encodings/quopri_codec.py
+lib/python2.7/encodings/quopri_codec.pyc
+lib/python2.7/encodings/quopri_codec.pyo
+lib/python2.7/encodings/raw_unicode_escape.py
+lib/python2.7/encodings/raw_unicode_escape.pyc
+lib/python2.7/encodings/raw_unicode_escape.pyo
+lib/python2.7/encodings/rot_13.py
+lib/python2.7/encodings/rot_13.pyc
+lib/python2.7/encodings/rot_13.pyo
+lib/python2.7/encodings/shift_jis.py
+lib/python2.7/encodings/shift_jis.pyc
+lib/python2.7/encodings/shift_jis.pyo
+lib/python2.7/encodings/shift_jis_2004.py
+lib/python2.7/encodings/shift_jis_2004.pyc
+lib/python2.7/encodings/shift_jis_2004.pyo
+lib/python2.7/encodings/shift_jisx0213.py
+lib/python2.7/encodings/shift_jisx0213.pyc
+lib/python2.7/encodings/shift_jisx0213.pyo
+lib/python2.7/encodings/string_escape.py
+lib/python2.7/encodings/string_escape.pyc
+lib/python2.7/encodings/string_escape.pyo
+lib/python2.7/encodings/tis_620.py
+lib/python2.7/encodings/tis_620.pyc
+lib/python2.7/encodings/tis_620.pyo
+lib/python2.7/encodings/undefined.py
+lib/python2.7/encodings/undefined.pyc
+lib/python2.7/encodings/undefined.pyo
+lib/python2.7/encodings/unicode_escape.py
+lib/python2.7/encodings/unicode_escape.pyc
+lib/python2.7/encodings/unicode_escape.pyo
+lib/python2.7/encodings/unicode_internal.py
+lib/python2.7/encodings/unicode_internal.pyc
+lib/python2.7/encodings/unicode_internal.pyo
+lib/python2.7/encodings/utf_16.py
+lib/python2.7/encodings/utf_16.pyc
+lib/python2.7/encodings/utf_16.pyo
+lib/python2.7/encodings/utf_16_be.py
+lib/python2.7/encodings/utf_16_be.pyc
+lib/python2.7/encodings/utf_16_be.pyo
+lib/python2.7/encodings/utf_16_le.py
+lib/python2.7/encodings/utf_16_le.pyc
+lib/python2.7/encodings/utf_16_le.pyo
+lib/python2.7/encodings/utf_32.py
+lib/python2.7/encodings/utf_32.pyc
+lib/python2.7/encodings/utf_32.pyo
+lib/python2.7/encodings/utf_32_be.py
+lib/python2.7/encodings/utf_32_be.pyc
+lib/python2.7/encodings/utf_32_be.pyo
+lib/python2.7/encodings/utf_32_le.py
+lib/python2.7/encodings/utf_32_le.pyc
+lib/python2.7/encodings/utf_32_le.pyo
+lib/python2.7/encodings/utf_7.py
+lib/python2.7/encodings/utf_7.pyc
+lib/python2.7/encodings/utf_7.pyo
+lib/python2.7/encodings/utf_8.py
+lib/python2.7/encodings/utf_8.pyc
+lib/python2.7/encodings/utf_8.pyo
+lib/python2.7/encodings/utf_8_sig.py
+lib/python2.7/encodings/utf_8_sig.pyc
+lib/python2.7/encodings/utf_8_sig.pyo
+lib/python2.7/encodings/uu_codec.py
+lib/python2.7/encodings/uu_codec.pyc
+lib/python2.7/encodings/uu_codec.pyo
+lib/python2.7/encodings/zlib_codec.py
+lib/python2.7/encodings/zlib_codec.pyc
+lib/python2.7/encodings/zlib_codec.pyo
+lib/python2.7/ensurepip/__init__.py
+lib/python2.7/ensurepip/__init__.pyc
+lib/python2.7/ensurepip/__init__.pyo
+lib/python2.7/ensurepip/__main__.py
+lib/python2.7/ensurepip/__main__.pyc
+lib/python2.7/ensurepip/__main__.pyo
+lib/python2.7/ensurepip/_bundled/pip-18.1-py2.py3-none-any.whl
+lib/python2.7/ensurepip/_bundled/setuptools-40.6.2-py2.py3-none-any.whl
+lib/python2.7/ensurepip/_uninstall.py
+lib/python2.7/ensurepip/_uninstall.pyc
+lib/python2.7/ensurepip/_uninstall.pyo
+lib/python2.7/filecmp.py
+lib/python2.7/filecmp.pyc
+lib/python2.7/filecmp.pyo
+lib/python2.7/fileinput.py
+lib/python2.7/fileinput.pyc
+lib/python2.7/fileinput.pyo
+lib/python2.7/fnmatch.py
+lib/python2.7/fnmatch.pyc
+lib/python2.7/fnmatch.pyo
+lib/python2.7/formatter.py
+lib/python2.7/formatter.pyc
+lib/python2.7/formatter.pyo
+lib/python2.7/fpformat.py
+lib/python2.7/fpformat.pyc
+lib/python2.7/fpformat.pyo
+lib/python2.7/fractions.py
+lib/python2.7/fractions.pyc
+lib/python2.7/fractions.pyo
+lib/python2.7/ftplib.py
+lib/python2.7/ftplib.pyc
+lib/python2.7/ftplib.pyo
+lib/python2.7/functools.py
+lib/python2.7/functools.pyc
+lib/python2.7/functools.pyo
+lib/python2.7/genericpath.py
+lib/python2.7/genericpath.pyc
+lib/python2.7/genericpath.pyo
+lib/python2.7/getopt.py
+lib/python2.7/getopt.pyc
+lib/python2.7/getopt.pyo
+lib/python2.7/getpass.py
+lib/python2.7/getpass.pyc
+lib/python2.7/getpass.pyo
+lib/python2.7/gettext.py
+lib/python2.7/gettext.pyc
+lib/python2.7/gettext.pyo
+lib/python2.7/glob.py
+lib/python2.7/glob.pyc
+lib/python2.7/glob.pyo
+lib/python2.7/gzip.py
+lib/python2.7/gzip.pyc
+lib/python2.7/gzip.pyo
+lib/python2.7/hashlib.py
+lib/python2.7/hashlib.pyc
+lib/python2.7/hashlib.pyo
+lib/python2.7/heapq.py
+lib/python2.7/heapq.pyc
+lib/python2.7/heapq.pyo
+lib/python2.7/hmac.py
+lib/python2.7/hmac.pyc
+lib/python2.7/hmac.pyo
+lib/python2.7/hotshot/__init__.py
+lib/python2.7/hotshot/__init__.pyc
+lib/python2.7/hotshot/__init__.pyo
+lib/python2.7/hotshot/log.py
+lib/python2.7/hotshot/log.pyc
+lib/python2.7/hotshot/log.pyo
+lib/python2.7/hotshot/stats.py
+lib/python2.7/hotshot/stats.pyc
+lib/python2.7/hotshot/stats.pyo
+lib/python2.7/hotshot/stones.py
+lib/python2.7/hotshot/stones.pyc
+lib/python2.7/hotshot/stones.pyo
+lib/python2.7/htmlentitydefs.py
+lib/python2.7/htmlentitydefs.pyc
+lib/python2.7/htmlentitydefs.pyo
+lib/python2.7/htmllib.py
+lib/python2.7/htmllib.pyc
+lib/python2.7/htmllib.pyo
+lib/python2.7/httplib.py
+lib/python2.7/httplib.pyc
+lib/python2.7/httplib.pyo
+lib/python2.7/idlelib/AutoComplete.py
+lib/python2.7/idlelib/AutoComplete.pyc
+lib/python2.7/idlelib/AutoComplete.pyo
+lib/python2.7/idlelib/AutoCompleteWindow.py
+lib/python2.7/idlelib/AutoCompleteWindow.pyc
+lib/python2.7/idlelib/AutoCompleteWindow.pyo
+lib/python2.7/idlelib/AutoExpand.py
+lib/python2.7/idlelib/AutoExpand.pyc
+lib/python2.7/idlelib/AutoExpand.pyo
+lib/python2.7/idlelib/Bindings.py
+lib/python2.7/idlelib/Bindings.pyc
+lib/python2.7/idlelib/Bindings.pyo
+lib/python2.7/idlelib/CREDITS.txt
+lib/python2.7/idlelib/CallTipWindow.py
+lib/python2.7/idlelib/CallTipWindow.pyc
+lib/python2.7/idlelib/CallTipWindow.pyo
+lib/python2.7/idlelib/CallTips.py
+lib/python2.7/idlelib/CallTips.pyc
+lib/python2.7/idlelib/CallTips.pyo
+lib/python2.7/idlelib/ChangeLog
+lib/python2.7/idlelib/ClassBrowser.py
+lib/python2.7/idlelib/ClassBrowser.pyc
+lib/python2.7/idlelib/ClassBrowser.pyo
+lib/python2.7/idlelib/CodeContext.py
+lib/python2.7/idlelib/CodeContext.pyc
+lib/python2.7/idlelib/CodeContext.pyo
+lib/python2.7/idlelib/ColorDelegator.py
+lib/python2.7/idlelib/ColorDelegator.pyc
+lib/python2.7/idlelib/ColorDelegator.pyo
+lib/python2.7/idlelib/Debugger.py
+lib/python2.7/idlelib/Debugger.pyc
+lib/python2.7/idlelib/Debugger.pyo
+lib/python2.7/idlelib/Delegator.py
+lib/python2.7/idlelib/Delegator.pyc
+lib/python2.7/idlelib/Delegator.pyo
+lib/python2.7/idlelib/EditorWindow.py
+lib/python2.7/idlelib/EditorWindow.pyc
+lib/python2.7/idlelib/EditorWindow.pyo
+lib/python2.7/idlelib/FileList.py
+lib/python2.7/idlelib/FileList.pyc
+lib/python2.7/idlelib/FileList.pyo
+lib/python2.7/idlelib/FormatParagraph.py
+lib/python2.7/idlelib/FormatParagraph.pyc
+lib/python2.7/idlelib/FormatParagraph.pyo
+lib/python2.7/idlelib/GrepDialog.py
+lib/python2.7/idlelib/GrepDialog.pyc
+lib/python2.7/idlelib/GrepDialog.pyo
+lib/python2.7/idlelib/HISTORY.txt
+lib/python2.7/idlelib/HyperParser.py
+lib/python2.7/idlelib/HyperParser.pyc
+lib/python2.7/idlelib/HyperParser.pyo
+lib/python2.7/idlelib/IOBinding.py
+lib/python2.7/idlelib/IOBinding.pyc
+lib/python2.7/idlelib/IOBinding.pyo
+lib/python2.7/idlelib/Icons/folder.gif
+lib/python2.7/idlelib/Icons/idle.icns
+lib/python2.7/idlelib/Icons/idle.ico
+lib/python2.7/idlelib/Icons/idle_16.gif
+lib/python2.7/idlelib/Icons/idle_16.png
+lib/python2.7/idlelib/Icons/idle_32.gif
+lib/python2.7/idlelib/Icons/idle_32.png
+lib/python2.7/idlelib/Icons/idle_48.gif
+lib/python2.7/idlelib/Icons/idle_48.png
+lib/python2.7/idlelib/Icons/minusnode.gif
+lib/python2.7/idlelib/Icons/openfolder.gif
+lib/python2.7/idlelib/Icons/plusnode.gif
+lib/python2.7/idlelib/Icons/python.gif
+lib/python2.7/idlelib/Icons/tk.gif
+lib/python2.7/idlelib/IdleHistory.py
+lib/python2.7/idlelib/IdleHistory.pyc
+lib/python2.7/idlelib/IdleHistory.pyo
+lib/python2.7/idlelib/MultiCall.py
+lib/python2.7/idlelib/MultiCall.pyc
+lib/python2.7/idlelib/MultiCall.pyo
+lib/python2.7/idlelib/MultiStatusBar.py
+lib/python2.7/idlelib/MultiStatusBar.pyc
+lib/python2.7/idlelib/MultiStatusBar.pyo
+lib/python2.7/idlelib/NEWS.txt
+lib/python2.7/idlelib/ObjectBrowser.py
+lib/python2.7/idlelib/ObjectBrowser.pyc
+lib/python2.7/idlelib/ObjectBrowser.pyo
+lib/python2.7/idlelib/OutputWindow.py
+lib/python2.7/idlelib/OutputWindow.pyc
+lib/python2.7/idlelib/OutputWindow.pyo
+lib/python2.7/idlelib/ParenMatch.py
+lib/python2.7/idlelib/ParenMatch.pyc
+lib/python2.7/idlelib/ParenMatch.pyo
+lib/python2.7/idlelib/PathBrowser.py
+lib/python2.7/idlelib/PathBrowser.pyc
+lib/python2.7/idlelib/PathBrowser.pyo
+lib/python2.7/idlelib/Percolator.py
+lib/python2.7/idlelib/Percolator.pyc
+lib/python2.7/idlelib/Percolator.pyo
+lib/python2.7/idlelib/PyParse.py
+lib/python2.7/idlelib/PyParse.pyc
+lib/python2.7/idlelib/PyParse.pyo
+lib/python2.7/idlelib/PyShell.py
+lib/python2.7/idlelib/PyShell.pyc
+lib/python2.7/idlelib/PyShell.pyo
+lib/python2.7/idlelib/README.txt
+lib/python2.7/idlelib/RemoteDebugger.py
+lib/python2.7/idlelib/RemoteDebugger.pyc
+lib/python2.7/idlelib/RemoteDebugger.pyo
+lib/python2.7/idlelib/RemoteObjectBrowser.py
+lib/python2.7/idlelib/RemoteObjectBrowser.pyc
+lib/python2.7/idlelib/RemoteObjectBrowser.pyo
+lib/python2.7/idlelib/ReplaceDialog.py
+lib/python2.7/idlelib/ReplaceDialog.pyc
+lib/python2.7/idlelib/ReplaceDialog.pyo
+lib/python2.7/idlelib/RstripExtension.py
+lib/python2.7/idlelib/RstripExtension.pyc
+lib/python2.7/idlelib/RstripExtension.pyo
+lib/python2.7/idlelib/ScriptBinding.py
+lib/python2.7/idlelib/ScriptBinding.pyc
+lib/python2.7/idlelib/ScriptBinding.pyo
+lib/python2.7/idlelib/ScrolledList.py
+lib/python2.7/idlelib/ScrolledList.pyc
+lib/python2.7/idlelib/ScrolledList.pyo
+lib/python2.7/idlelib/SearchDialog.py
+lib/python2.7/idlelib/SearchDialog.pyc
+lib/python2.7/idlelib/SearchDialog.pyo
+lib/python2.7/idlelib/SearchDialogBase.py
+lib/python2.7/idlelib/SearchDialogBase.pyc
+lib/python2.7/idlelib/SearchDialogBase.pyo
+lib/python2.7/idlelib/SearchEngine.py
+lib/python2.7/idlelib/SearchEngine.pyc
+lib/python2.7/idlelib/SearchEngine.pyo
+lib/python2.7/idlelib/StackViewer.py
+lib/python2.7/idlelib/StackViewer.pyc
+lib/python2.7/idlelib/StackViewer.pyo
+lib/python2.7/idlelib/TODO.txt
+lib/python2.7/idlelib/ToolTip.py
+lib/python2.7/idlelib/ToolTip.pyc
+lib/python2.7/idlelib/ToolTip.pyo
+lib/python2.7/idlelib/TreeWidget.py
+lib/python2.7/idlelib/TreeWidget.pyc
+lib/python2.7/idlelib/TreeWidget.pyo
+lib/python2.7/idlelib/UndoDelegator.py
+lib/python2.7/idlelib/UndoDelegator.pyc
+lib/python2.7/idlelib/UndoDelegator.pyo
+lib/python2.7/idlelib/WidgetRedirector.py
+lib/python2.7/idlelib/WidgetRedirector.pyc
+lib/python2.7/idlelib/WidgetRedirector.pyo
+lib/python2.7/idlelib/WindowList.py
+lib/python2.7/idlelib/WindowList.pyc
+lib/python2.7/idlelib/WindowList.pyo
+lib/python2.7/idlelib/ZoomHeight.py
+lib/python2.7/idlelib/ZoomHeight.pyc
+lib/python2.7/idlelib/ZoomHeight.pyo
+lib/python2.7/idlelib/__init__.py
+lib/python2.7/idlelib/__init__.pyc
+lib/python2.7/idlelib/__init__.pyo
+lib/python2.7/idlelib/aboutDialog.py
+lib/python2.7/idlelib/aboutDialog.pyc
+lib/python2.7/idlelib/aboutDialog.pyo
+lib/python2.7/idlelib/config-extensions.def
+lib/python2.7/idlelib/config-highlight.def
+lib/python2.7/idlelib/config-keys.def
+lib/python2.7/idlelib/config-main.def
+lib/python2.7/idlelib/configDialog.py
+lib/python2.7/idlelib/configDialog.pyc
+lib/python2.7/idlelib/configDialog.pyo
+lib/python2.7/idlelib/configHandler.py
+lib/python2.7/idlelib/configHandler.pyc
+lib/python2.7/idlelib/configHandler.pyo
+lib/python2.7/idlelib/configHelpSourceEdit.py
+lib/python2.7/idlelib/configHelpSourceEdit.pyc
+lib/python2.7/idlelib/configHelpSourceEdit.pyo
+lib/python2.7/idlelib/configSectionNameDialog.py
+lib/python2.7/idlelib/configSectionNameDialog.pyc
+lib/python2.7/idlelib/configSectionNameDialog.pyo
+lib/python2.7/idlelib/dynOptionMenuWidget.py
+lib/python2.7/idlelib/dynOptionMenuWidget.pyc
+lib/python2.7/idlelib/dynOptionMenuWidget.pyo
+lib/python2.7/idlelib/extend.txt
+lib/python2.7/idlelib/help.html
+lib/python2.7/idlelib/help.py
+lib/python2.7/idlelib/help.pyc
+lib/python2.7/idlelib/help.pyo
+lib/python2.7/idlelib/help.txt
+lib/python2.7/idlelib/idle.bat
+lib/python2.7/idlelib/idle.py
+lib/python2.7/idlelib/idle.pyc
+lib/python2.7/idlelib/idle.pyo
+lib/python2.7/idlelib/idle.pyw
+lib/python2.7/idlelib/idle_test/README.txt
+lib/python2.7/idlelib/idle_test/__init__.py
+lib/python2.7/idlelib/idle_test/__init__.pyc
+lib/python2.7/idlelib/idle_test/__init__.pyo
+lib/python2.7/idlelib/idle_test/htest.py
+lib/python2.7/idlelib/idle_test/htest.pyc
+lib/python2.7/idlelib/idle_test/htest.pyo
+lib/python2.7/idlelib/idle_test/mock_idle.py
+lib/python2.7/idlelib/idle_test/mock_idle.pyc
+lib/python2.7/idlelib/idle_test/mock_idle.pyo
+lib/python2.7/idlelib/idle_test/mock_tk.py
+lib/python2.7/idlelib/idle_test/mock_tk.pyc
+lib/python2.7/idlelib/idle_test/mock_tk.pyo
+lib/python2.7/idlelib/idle_test/test_autocomplete.py
+lib/python2.7/idlelib/idle_test/test_autocomplete.pyc
+lib/python2.7/idlelib/idle_test/test_autocomplete.pyo
+lib/python2.7/idlelib/idle_test/test_autoexpand.py
+lib/python2.7/idlelib/idle_test/test_autoexpand.pyc
+lib/python2.7/idlelib/idle_test/test_autoexpand.pyo
+lib/python2.7/idlelib/idle_test/test_calltips.py
+lib/python2.7/idlelib/idle_test/test_calltips.pyc
+lib/python2.7/idlelib/idle_test/test_calltips.pyo
+lib/python2.7/idlelib/idle_test/test_config_name.py
+lib/python2.7/idlelib/idle_test/test_config_name.pyc
+lib/python2.7/idlelib/idle_test/test_config_name.pyo
+lib/python2.7/idlelib/idle_test/test_configdialog.py
+lib/python2.7/idlelib/idle_test/test_configdialog.pyc
+lib/python2.7/idlelib/idle_test/test_configdialog.pyo
+lib/python2.7/idlelib/idle_test/test_delegator.py
+lib/python2.7/idlelib/idle_test/test_delegator.pyc
+lib/python2.7/idlelib/idle_test/test_delegator.pyo
+lib/python2.7/idlelib/idle_test/test_editmenu.py
+lib/python2.7/idlelib/idle_test/test_editmenu.pyc
+lib/python2.7/idlelib/idle_test/test_editmenu.pyo
+lib/python2.7/idlelib/idle_test/test_formatparagraph.py
+lib/python2.7/idlelib/idle_test/test_formatparagraph.pyc
+lib/python2.7/idlelib/idle_test/test_formatparagraph.pyo
+lib/python2.7/idlelib/idle_test/test_grep.py
+lib/python2.7/idlelib/idle_test/test_grep.pyc
+lib/python2.7/idlelib/idle_test/test_grep.pyo
+lib/python2.7/idlelib/idle_test/test_helpabout.py
+lib/python2.7/idlelib/idle_test/test_helpabout.pyc
+lib/python2.7/idlelib/idle_test/test_helpabout.pyo
+lib/python2.7/idlelib/idle_test/test_hyperparser.py
+lib/python2.7/idlelib/idle_test/test_hyperparser.pyc
+lib/python2.7/idlelib/idle_test/test_hyperparser.pyo
+lib/python2.7/idlelib/idle_test/test_idlehistory.py
+lib/python2.7/idlelib/idle_test/test_idlehistory.pyc
+lib/python2.7/idlelib/idle_test/test_idlehistory.pyo
+lib/python2.7/idlelib/idle_test/test_io.py
+lib/python2.7/idlelib/idle_test/test_io.pyc
+lib/python2.7/idlelib/idle_test/test_io.pyo
+lib/python2.7/idlelib/idle_test/test_parenmatch.py
+lib/python2.7/idlelib/idle_test/test_parenmatch.pyc
+lib/python2.7/idlelib/idle_test/test_parenmatch.pyo
+lib/python2.7/idlelib/idle_test/test_pathbrowser.py
+lib/python2.7/idlelib/idle_test/test_pathbrowser.pyc
+lib/python2.7/idlelib/idle_test/test_pathbrowser.pyo
+lib/python2.7/idlelib/idle_test/test_rstrip.py
+lib/python2.7/idlelib/idle_test/test_rstrip.pyc
+lib/python2.7/idlelib/idle_test/test_rstrip.pyo
+lib/python2.7/idlelib/idle_test/test_searchdialogbase.py
+lib/python2.7/idlelib/idle_test/test_searchdialogbase.pyc
+lib/python2.7/idlelib/idle_test/test_searchdialogbase.pyo
+lib/python2.7/idlelib/idle_test/test_searchengine.py
+lib/python2.7/idlelib/idle_test/test_searchengine.pyc
+lib/python2.7/idlelib/idle_test/test_searchengine.pyo
+lib/python2.7/idlelib/idle_test/test_text.py
+lib/python2.7/idlelib/idle_test/test_text.pyc
+lib/python2.7/idlelib/idle_test/test_text.pyo
+lib/python2.7/idlelib/idle_test/test_textview.py
+lib/python2.7/idlelib/idle_test/test_textview.pyc
+lib/python2.7/idlelib/idle_test/test_textview.pyo
+lib/python2.7/idlelib/idle_test/test_warning.py
+lib/python2.7/idlelib/idle_test/test_warning.pyc
+lib/python2.7/idlelib/idle_test/test_warning.pyo
+lib/python2.7/idlelib/idle_test/test_widgetredir.py
+lib/python2.7/idlelib/idle_test/test_widgetredir.pyc
+lib/python2.7/idlelib/idle_test/test_widgetredir.pyo
+lib/python2.7/idlelib/idlever.py
+lib/python2.7/idlelib/idlever.pyc
+lib/python2.7/idlelib/idlever.pyo
+lib/python2.7/idlelib/keybindingDialog.py
+lib/python2.7/idlelib/keybindingDialog.pyc
+lib/python2.7/idlelib/keybindingDialog.pyo
+lib/python2.7/idlelib/macosxSupport.py
+lib/python2.7/idlelib/macosxSupport.pyc
+lib/python2.7/idlelib/macosxSupport.pyo
+lib/python2.7/idlelib/rpc.py
+lib/python2.7/idlelib/rpc.pyc
+lib/python2.7/idlelib/rpc.pyo
+lib/python2.7/idlelib/run.py
+lib/python2.7/idlelib/run.pyc
+lib/python2.7/idlelib/run.pyo
+lib/python2.7/idlelib/tabbedpages.py
+lib/python2.7/idlelib/tabbedpages.pyc
+lib/python2.7/idlelib/tabbedpages.pyo
+lib/python2.7/idlelib/textView.py
+lib/python2.7/idlelib/textView.pyc
+lib/python2.7/idlelib/textView.pyo
+lib/python2.7/ihooks.py
+lib/python2.7/ihooks.pyc
+lib/python2.7/ihooks.pyo
+lib/python2.7/imaplib.py
+lib/python2.7/imaplib.pyc
+lib/python2.7/imaplib.pyo
+lib/python2.7/imghdr.py
+lib/python2.7/imghdr.pyc
+lib/python2.7/imghdr.pyo
+lib/python2.7/importlib/__init__.py
+lib/python2.7/importlib/__init__.pyc
+lib/python2.7/importlib/__init__.pyo
+lib/python2.7/imputil.py
+lib/python2.7/imputil.pyc
+lib/python2.7/imputil.pyo
+lib/python2.7/inspect.py
+lib/python2.7/inspect.pyc
+lib/python2.7/inspect.pyo
+lib/python2.7/io.py
+lib/python2.7/io.pyc
+lib/python2.7/io.pyo
+lib/python2.7/json/__init__.py
+lib/python2.7/json/__init__.pyc
+lib/python2.7/json/__init__.pyo
+lib/python2.7/json/decoder.py
+lib/python2.7/json/decoder.pyc
+lib/python2.7/json/decoder.pyo
+lib/python2.7/json/encoder.py
+lib/python2.7/json/encoder.pyc
+lib/python2.7/json/encoder.pyo
+lib/python2.7/json/scanner.py
+lib/python2.7/json/scanner.pyc
+lib/python2.7/json/scanner.pyo
+lib/python2.7/json/tests/__init__.py
+lib/python2.7/json/tests/__init__.pyc
+lib/python2.7/json/tests/__init__.pyo
+lib/python2.7/json/tests/test_check_circular.py
+lib/python2.7/json/tests/test_check_circular.pyc
+lib/python2.7/json/tests/test_check_circular.pyo
+lib/python2.7/json/tests/test_decode.py
+lib/python2.7/json/tests/test_decode.pyc
+lib/python2.7/json/tests/test_decode.pyo
+lib/python2.7/json/tests/test_default.py
+lib/python2.7/json/tests/test_default.pyc
+lib/python2.7/json/tests/test_default.pyo
+lib/python2.7/json/tests/test_dump.py
+lib/python2.7/json/tests/test_dump.pyc
+lib/python2.7/json/tests/test_dump.pyo
+lib/python2.7/json/tests/test_encode_basestring_ascii.py
+lib/python2.7/json/tests/test_encode_basestring_ascii.pyc
+lib/python2.7/json/tests/test_encode_basestring_ascii.pyo
+lib/python2.7/json/tests/test_fail.py
+lib/python2.7/json/tests/test_fail.pyc
+lib/python2.7/json/tests/test_fail.pyo
+lib/python2.7/json/tests/test_float.py
+lib/python2.7/json/tests/test_float.pyc
+lib/python2.7/json/tests/test_float.pyo
+lib/python2.7/json/tests/test_indent.py
+lib/python2.7/json/tests/test_indent.pyc
+lib/python2.7/json/tests/test_indent.pyo
+lib/python2.7/json/tests/test_pass1.py
+lib/python2.7/json/tests/test_pass1.pyc
+lib/python2.7/json/tests/test_pass1.pyo
+lib/python2.7/json/tests/test_pass2.py
+lib/python2.7/json/tests/test_pass2.pyc
+lib/python2.7/json/tests/test_pass2.pyo
+lib/python2.7/json/tests/test_pass3.py
+lib/python2.7/json/tests/test_pass3.pyc
+lib/python2.7/json/tests/test_pass3.pyo
+lib/python2.7/json/tests/test_recursion.py
+lib/python2.7/json/tests/test_recursion.pyc
+lib/python2.7/json/tests/test_recursion.pyo
+lib/python2.7/json/tests/test_scanstring.py
+lib/python2.7/json/tests/test_scanstring.pyc
+lib/python2.7/json/tests/test_scanstring.pyo
+lib/python2.7/json/tests/test_separators.py
+lib/python2.7/json/tests/test_separators.pyc
+lib/python2.7/json/tests/test_separators.pyo
+lib/python2.7/json/tests/test_speedups.py
+lib/python2.7/json/tests/test_speedups.pyc
+lib/python2.7/json/tests/test_speedups.pyo
+lib/python2.7/json/tests/test_tool.py
+lib/python2.7/json/tests/test_tool.pyc
+lib/python2.7/json/tests/test_tool.pyo
+lib/python2.7/json/tests/test_unicode.py
+lib/python2.7/json/tests/test_unicode.pyc
+lib/python2.7/json/tests/test_unicode.pyo
+lib/python2.7/json/tool.py
+lib/python2.7/json/tool.pyc
+lib/python2.7/json/tool.pyo
+lib/python2.7/keyword.py
+lib/python2.7/keyword.pyc
+lib/python2.7/keyword.pyo
+lib/python2.7/lib-dynload/Python-%%PORTVERSION%%-py2.7.egg-info
+lib/python2.7/lib-dynload/_bisect.so
+lib/python2.7/lib-dynload/_codecs_cn.so
+lib/python2.7/lib-dynload/_codecs_hk.so
+lib/python2.7/lib-dynload/_codecs_iso2022.so
+lib/python2.7/lib-dynload/_codecs_jp.so
+lib/python2.7/lib-dynload/_codecs_kr.so
+lib/python2.7/lib-dynload/_codecs_tw.so
+lib/python2.7/lib-dynload/_collections.so
+lib/python2.7/lib-dynload/_csv.so
+lib/python2.7/lib-dynload/_ctypes.so
+lib/python2.7/lib-dynload/_ctypes_test.so
+lib/python2.7/lib-dynload/_curses.so
+lib/python2.7/lib-dynload/_curses_panel.so
+lib/python2.7/lib-dynload/_elementtree.so
+lib/python2.7/lib-dynload/_functools.so
+lib/python2.7/lib-dynload/_hashlib.so
+lib/python2.7/lib-dynload/_heapq.so
+lib/python2.7/lib-dynload/_hotshot.so
+lib/python2.7/lib-dynload/_io.so
+lib/python2.7/lib-dynload/_json.so
+lib/python2.7/lib-dynload/_locale.so
+lib/python2.7/lib-dynload/_lsprof.so
+lib/python2.7/lib-dynload/_multibytecodec.so
+lib/python2.7/lib-dynload/_multiprocessing.so
+lib/python2.7/lib-dynload/_random.so
+lib/python2.7/lib-dynload/_socket.so
+lib/python2.7/lib-dynload/_ssl.so
+lib/python2.7/lib-dynload/_struct.so
+lib/python2.7/lib-dynload/_testcapi.so
+lib/python2.7/lib-dynload/array.so
+lib/python2.7/lib-dynload/audioop.so
+lib/python2.7/lib-dynload/binascii.so
+lib/python2.7/lib-dynload/bsddb185.so
+lib/python2.7/lib-dynload/bz2.so
+lib/python2.7/lib-dynload/cPickle.so
+lib/python2.7/lib-dynload/cStringIO.so
+lib/python2.7/lib-dynload/cmath.so
+lib/python2.7/lib-dynload/crypt.so
+lib/python2.7/lib-dynload/datetime.so
+lib/python2.7/lib-dynload/dbm.so
+lib/python2.7/lib-dynload/fcntl.so
+lib/python2.7/lib-dynload/future_builtins.so
+lib/python2.7/lib-dynload/grp.so
+lib/python2.7/lib-dynload/itertools.so
+lib/python2.7/lib-dynload/math.so
+lib/python2.7/lib-dynload/mmap.so
+%%NO_NIS%%lib/python2.7/lib-dynload/nis.so
+lib/python2.7/lib-dynload/operator.so
+lib/python2.7/lib-dynload/ossaudiodev.so
+lib/python2.7/lib-dynload/parser.so
+lib/python2.7/lib-dynload/pyexpat.so
+lib/python2.7/lib-dynload/readline.so
+lib/python2.7/lib-dynload/resource.so
+lib/python2.7/lib-dynload/select.so
+lib/python2.7/lib-dynload/strop.so
+lib/python2.7/lib-dynload/syslog.so
+lib/python2.7/lib-dynload/termios.so
+lib/python2.7/lib-dynload/time.so
+lib/python2.7/lib-dynload/unicodedata.so
+lib/python2.7/lib-dynload/zlib.so
+%%32BIT_ONLY%%lib/python2.7/lib-dynload/dl.so
+%%32BIT_ONLY%%lib/python2.7/lib-dynload/imageop.so
+lib/python2.7/lib-tk/Canvas.py
+lib/python2.7/lib-tk/Canvas.pyc
+lib/python2.7/lib-tk/Canvas.pyo
+lib/python2.7/lib-tk/Dialog.py
+lib/python2.7/lib-tk/Dialog.pyc
+lib/python2.7/lib-tk/Dialog.pyo
+lib/python2.7/lib-tk/FileDialog.py
+lib/python2.7/lib-tk/FileDialog.pyc
+lib/python2.7/lib-tk/FileDialog.pyo
+lib/python2.7/lib-tk/FixTk.py
+lib/python2.7/lib-tk/FixTk.pyc
+lib/python2.7/lib-tk/FixTk.pyo
+lib/python2.7/lib-tk/ScrolledText.py
+lib/python2.7/lib-tk/ScrolledText.pyc
+lib/python2.7/lib-tk/ScrolledText.pyo
+lib/python2.7/lib-tk/SimpleDialog.py
+lib/python2.7/lib-tk/SimpleDialog.pyc
+lib/python2.7/lib-tk/SimpleDialog.pyo
+lib/python2.7/lib-tk/Tix.py
+lib/python2.7/lib-tk/Tix.pyc
+lib/python2.7/lib-tk/Tix.pyo
+lib/python2.7/lib-tk/Tkconstants.py
+lib/python2.7/lib-tk/Tkconstants.pyc
+lib/python2.7/lib-tk/Tkconstants.pyo
+lib/python2.7/lib-tk/Tkdnd.py
+lib/python2.7/lib-tk/Tkdnd.pyc
+lib/python2.7/lib-tk/Tkdnd.pyo
+lib/python2.7/lib-tk/Tkinter.py
+lib/python2.7/lib-tk/Tkinter.pyc
+lib/python2.7/lib-tk/Tkinter.pyo
+lib/python2.7/lib-tk/test/README
+lib/python2.7/lib-tk/test/runtktests.py
+lib/python2.7/lib-tk/test/runtktests.pyc
+lib/python2.7/lib-tk/test/runtktests.pyo
+lib/python2.7/lib-tk/test/test_tkinter/__init__.py
+lib/python2.7/lib-tk/test/test_tkinter/__init__.pyc
+lib/python2.7/lib-tk/test/test_tkinter/__init__.pyo
+lib/python2.7/lib-tk/test/test_tkinter/test_font.py
+lib/python2.7/lib-tk/test/test_tkinter/test_font.pyc
+lib/python2.7/lib-tk/test/test_tkinter/test_font.pyo
+lib/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.py
+lib/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyc
+lib/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyo
+lib/python2.7/lib-tk/test/test_tkinter/test_images.py
+lib/python2.7/lib-tk/test/test_tkinter/test_images.pyc
+lib/python2.7/lib-tk/test/test_tkinter/test_images.pyo
+lib/python2.7/lib-tk/test/test_tkinter/test_loadtk.py
+lib/python2.7/lib-tk/test/test_tkinter/test_loadtk.pyc
+lib/python2.7/lib-tk/test/test_tkinter/test_loadtk.pyo
+lib/python2.7/lib-tk/test/test_tkinter/test_misc.py
+lib/python2.7/lib-tk/test/test_tkinter/test_misc.pyc
+lib/python2.7/lib-tk/test/test_tkinter/test_misc.pyo
+lib/python2.7/lib-tk/test/test_tkinter/test_text.py
+lib/python2.7/lib-tk/test/test_tkinter/test_text.pyc
+lib/python2.7/lib-tk/test/test_tkinter/test_text.pyo
+lib/python2.7/lib-tk/test/test_tkinter/test_variables.py
+lib/python2.7/lib-tk/test/test_tkinter/test_variables.pyc
+lib/python2.7/lib-tk/test/test_tkinter/test_variables.pyo
+lib/python2.7/lib-tk/test/test_tkinter/test_widgets.py
+lib/python2.7/lib-tk/test/test_tkinter/test_widgets.pyc
+lib/python2.7/lib-tk/test/test_tkinter/test_widgets.pyo
+lib/python2.7/lib-tk/test/test_ttk/__init__.py
+lib/python2.7/lib-tk/test/test_ttk/__init__.pyc
+lib/python2.7/lib-tk/test/test_ttk/__init__.pyo
+lib/python2.7/lib-tk/test/test_ttk/support.py
+lib/python2.7/lib-tk/test/test_ttk/support.pyc
+lib/python2.7/lib-tk/test/test_ttk/support.pyo
+lib/python2.7/lib-tk/test/test_ttk/test_extensions.py
+lib/python2.7/lib-tk/test/test_ttk/test_extensions.pyc
+lib/python2.7/lib-tk/test/test_ttk/test_extensions.pyo
+lib/python2.7/lib-tk/test/test_ttk/test_functions.py
+lib/python2.7/lib-tk/test/test_ttk/test_functions.pyc
+lib/python2.7/lib-tk/test/test_ttk/test_functions.pyo
+lib/python2.7/lib-tk/test/test_ttk/test_style.py
+lib/python2.7/lib-tk/test/test_ttk/test_style.pyc
+lib/python2.7/lib-tk/test/test_ttk/test_style.pyo
+lib/python2.7/lib-tk/test/test_ttk/test_widgets.py
+lib/python2.7/lib-tk/test/test_ttk/test_widgets.pyc
+lib/python2.7/lib-tk/test/test_ttk/test_widgets.pyo
+lib/python2.7/lib-tk/test/widget_tests.py
+lib/python2.7/lib-tk/test/widget_tests.pyc
+lib/python2.7/lib-tk/test/widget_tests.pyo
+lib/python2.7/lib-tk/tkColorChooser.py
+lib/python2.7/lib-tk/tkColorChooser.pyc
+lib/python2.7/lib-tk/tkColorChooser.pyo
+lib/python2.7/lib-tk/tkCommonDialog.py
+lib/python2.7/lib-tk/tkCommonDialog.pyc
+lib/python2.7/lib-tk/tkCommonDialog.pyo
+lib/python2.7/lib-tk/tkFileDialog.py
+lib/python2.7/lib-tk/tkFileDialog.pyc
+lib/python2.7/lib-tk/tkFileDialog.pyo
+lib/python2.7/lib-tk/tkFont.py
+lib/python2.7/lib-tk/tkFont.pyc
+lib/python2.7/lib-tk/tkFont.pyo
+lib/python2.7/lib-tk/tkMessageBox.py
+lib/python2.7/lib-tk/tkMessageBox.pyc
+lib/python2.7/lib-tk/tkMessageBox.pyo
+lib/python2.7/lib-tk/tkSimpleDialog.py
+lib/python2.7/lib-tk/tkSimpleDialog.pyc
+lib/python2.7/lib-tk/tkSimpleDialog.pyo
+lib/python2.7/lib-tk/ttk.py
+lib/python2.7/lib-tk/ttk.pyc
+lib/python2.7/lib-tk/ttk.pyo
+lib/python2.7/lib-tk/turtle.py
+lib/python2.7/lib-tk/turtle.pyc
+lib/python2.7/lib-tk/turtle.pyo
+lib/python2.7/lib2to3/Grammar%%PORTVERSION%%.final.0.pickle
+lib/python2.7/lib2to3/Grammar.txt
+lib/python2.7/lib2to3/PatternGrammar%%PORTVERSION%%.final.0.pickle
+lib/python2.7/lib2to3/PatternGrammar.txt
+lib/python2.7/lib2to3/__init__.py
+lib/python2.7/lib2to3/__init__.pyc
+lib/python2.7/lib2to3/__init__.pyo
+lib/python2.7/lib2to3/__main__.py
+lib/python2.7/lib2to3/__main__.pyc
+lib/python2.7/lib2to3/__main__.pyo
+lib/python2.7/lib2to3/btm_matcher.py
+lib/python2.7/lib2to3/btm_matcher.pyc
+lib/python2.7/lib2to3/btm_matcher.pyo
+lib/python2.7/lib2to3/btm_utils.py
+lib/python2.7/lib2to3/btm_utils.pyc
+lib/python2.7/lib2to3/btm_utils.pyo
+lib/python2.7/lib2to3/fixer_base.py
+lib/python2.7/lib2to3/fixer_base.pyc
+lib/python2.7/lib2to3/fixer_base.pyo
+lib/python2.7/lib2to3/fixer_util.py
+lib/python2.7/lib2to3/fixer_util.pyc
+lib/python2.7/lib2to3/fixer_util.pyo
+lib/python2.7/lib2to3/fixes/__init__.py
+lib/python2.7/lib2to3/fixes/__init__.pyc
+lib/python2.7/lib2to3/fixes/__init__.pyo
+lib/python2.7/lib2to3/fixes/fix_apply.py
+lib/python2.7/lib2to3/fixes/fix_apply.pyc
+lib/python2.7/lib2to3/fixes/fix_apply.pyo
+lib/python2.7/lib2to3/fixes/fix_asserts.py
+lib/python2.7/lib2to3/fixes/fix_asserts.pyc
+lib/python2.7/lib2to3/fixes/fix_asserts.pyo
+lib/python2.7/lib2to3/fixes/fix_basestring.py
+lib/python2.7/lib2to3/fixes/fix_basestring.pyc
+lib/python2.7/lib2to3/fixes/fix_basestring.pyo
+lib/python2.7/lib2to3/fixes/fix_buffer.py
+lib/python2.7/lib2to3/fixes/fix_buffer.pyc
+lib/python2.7/lib2to3/fixes/fix_buffer.pyo
+lib/python2.7/lib2to3/fixes/fix_dict.py
+lib/python2.7/lib2to3/fixes/fix_dict.pyc
+lib/python2.7/lib2to3/fixes/fix_dict.pyo
+lib/python2.7/lib2to3/fixes/fix_except.py
+lib/python2.7/lib2to3/fixes/fix_except.pyc
+lib/python2.7/lib2to3/fixes/fix_except.pyo
+lib/python2.7/lib2to3/fixes/fix_exec.py
+lib/python2.7/lib2to3/fixes/fix_exec.pyc
+lib/python2.7/lib2to3/fixes/fix_exec.pyo
+lib/python2.7/lib2to3/fixes/fix_execfile.py
+lib/python2.7/lib2to3/fixes/fix_execfile.pyc
+lib/python2.7/lib2to3/fixes/fix_execfile.pyo
+lib/python2.7/lib2to3/fixes/fix_exitfunc.py
+lib/python2.7/lib2to3/fixes/fix_exitfunc.pyc
+lib/python2.7/lib2to3/fixes/fix_exitfunc.pyo
+lib/python2.7/lib2to3/fixes/fix_filter.py
+lib/python2.7/lib2to3/fixes/fix_filter.pyc
+lib/python2.7/lib2to3/fixes/fix_filter.pyo
+lib/python2.7/lib2to3/fixes/fix_funcattrs.py
+lib/python2.7/lib2to3/fixes/fix_funcattrs.pyc
+lib/python2.7/lib2to3/fixes/fix_funcattrs.pyo
+lib/python2.7/lib2to3/fixes/fix_future.py
+lib/python2.7/lib2to3/fixes/fix_future.pyc
+lib/python2.7/lib2to3/fixes/fix_future.pyo
+lib/python2.7/lib2to3/fixes/fix_getcwdu.py
+lib/python2.7/lib2to3/fixes/fix_getcwdu.pyc
+lib/python2.7/lib2to3/fixes/fix_getcwdu.pyo
+lib/python2.7/lib2to3/fixes/fix_has_key.py
+lib/python2.7/lib2to3/fixes/fix_has_key.pyc
+lib/python2.7/lib2to3/fixes/fix_has_key.pyo
+lib/python2.7/lib2to3/fixes/fix_idioms.py
+lib/python2.7/lib2to3/fixes/fix_idioms.pyc
+lib/python2.7/lib2to3/fixes/fix_idioms.pyo
+lib/python2.7/lib2to3/fixes/fix_import.py
+lib/python2.7/lib2to3/fixes/fix_import.pyc
+lib/python2.7/lib2to3/fixes/fix_import.pyo
+lib/python2.7/lib2to3/fixes/fix_imports.py
+lib/python2.7/lib2to3/fixes/fix_imports.pyc
+lib/python2.7/lib2to3/fixes/fix_imports.pyo
+lib/python2.7/lib2to3/fixes/fix_imports2.py
+lib/python2.7/lib2to3/fixes/fix_imports2.pyc
+lib/python2.7/lib2to3/fixes/fix_imports2.pyo
+lib/python2.7/lib2to3/fixes/fix_input.py
+lib/python2.7/lib2to3/fixes/fix_input.pyc
+lib/python2.7/lib2to3/fixes/fix_input.pyo
+lib/python2.7/lib2to3/fixes/fix_intern.py
+lib/python2.7/lib2to3/fixes/fix_intern.pyc
+lib/python2.7/lib2to3/fixes/fix_intern.pyo
+lib/python2.7/lib2to3/fixes/fix_isinstance.py
+lib/python2.7/lib2to3/fixes/fix_isinstance.pyc
+lib/python2.7/lib2to3/fixes/fix_isinstance.pyo
+lib/python2.7/lib2to3/fixes/fix_itertools.py
+lib/python2.7/lib2to3/fixes/fix_itertools.pyc
+lib/python2.7/lib2to3/fixes/fix_itertools.pyo
+lib/python2.7/lib2to3/fixes/fix_itertools_imports.py
+lib/python2.7/lib2to3/fixes/fix_itertools_imports.pyc
+lib/python2.7/lib2to3/fixes/fix_itertools_imports.pyo
+lib/python2.7/lib2to3/fixes/fix_long.py
+lib/python2.7/lib2to3/fixes/fix_long.pyc
+lib/python2.7/lib2to3/fixes/fix_long.pyo
+lib/python2.7/lib2to3/fixes/fix_map.py
+lib/python2.7/lib2to3/fixes/fix_map.pyc
+lib/python2.7/lib2to3/fixes/fix_map.pyo
+lib/python2.7/lib2to3/fixes/fix_metaclass.py
+lib/python2.7/lib2to3/fixes/fix_metaclass.pyc
+lib/python2.7/lib2to3/fixes/fix_metaclass.pyo
+lib/python2.7/lib2to3/fixes/fix_methodattrs.py
+lib/python2.7/lib2to3/fixes/fix_methodattrs.pyc
+lib/python2.7/lib2to3/fixes/fix_methodattrs.pyo
+lib/python2.7/lib2to3/fixes/fix_ne.py
+lib/python2.7/lib2to3/fixes/fix_ne.pyc
+lib/python2.7/lib2to3/fixes/fix_ne.pyo
+lib/python2.7/lib2to3/fixes/fix_next.py
+lib/python2.7/lib2to3/fixes/fix_next.pyc
+lib/python2.7/lib2to3/fixes/fix_next.pyo
+lib/python2.7/lib2to3/fixes/fix_nonzero.py
+lib/python2.7/lib2to3/fixes/fix_nonzero.pyc
+lib/python2.7/lib2to3/fixes/fix_nonzero.pyo
+lib/python2.7/lib2to3/fixes/fix_numliterals.py
+lib/python2.7/lib2to3/fixes/fix_numliterals.pyc
+lib/python2.7/lib2to3/fixes/fix_numliterals.pyo
+lib/python2.7/lib2to3/fixes/fix_operator.py
+lib/python2.7/lib2to3/fixes/fix_operator.pyc
+lib/python2.7/lib2to3/fixes/fix_operator.pyo
+lib/python2.7/lib2to3/fixes/fix_paren.py
+lib/python2.7/lib2to3/fixes/fix_paren.pyc
+lib/python2.7/lib2to3/fixes/fix_paren.pyo
+lib/python2.7/lib2to3/fixes/fix_print.py
+lib/python2.7/lib2to3/fixes/fix_print.pyc
+lib/python2.7/lib2to3/fixes/fix_print.pyo
+lib/python2.7/lib2to3/fixes/fix_raise.py
+lib/python2.7/lib2to3/fixes/fix_raise.pyc
+lib/python2.7/lib2to3/fixes/fix_raise.pyo
+lib/python2.7/lib2to3/fixes/fix_raw_input.py
+lib/python2.7/lib2to3/fixes/fix_raw_input.pyc
+lib/python2.7/lib2to3/fixes/fix_raw_input.pyo
+lib/python2.7/lib2to3/fixes/fix_reduce.py
+lib/python2.7/lib2to3/fixes/fix_reduce.pyc
+lib/python2.7/lib2to3/fixes/fix_reduce.pyo
+lib/python2.7/lib2to3/fixes/fix_renames.py
+lib/python2.7/lib2to3/fixes/fix_renames.pyc
+lib/python2.7/lib2to3/fixes/fix_renames.pyo
+lib/python2.7/lib2to3/fixes/fix_repr.py
+lib/python2.7/lib2to3/fixes/fix_repr.pyc
+lib/python2.7/lib2to3/fixes/fix_repr.pyo
+lib/python2.7/lib2to3/fixes/fix_set_literal.py
+lib/python2.7/lib2to3/fixes/fix_set_literal.pyc
+lib/python2.7/lib2to3/fixes/fix_set_literal.pyo
+lib/python2.7/lib2to3/fixes/fix_standarderror.py
+lib/python2.7/lib2to3/fixes/fix_standarderror.pyc
+lib/python2.7/lib2to3/fixes/fix_standarderror.pyo
+lib/python2.7/lib2to3/fixes/fix_sys_exc.py
+lib/python2.7/lib2to3/fixes/fix_sys_exc.pyc
+lib/python2.7/lib2to3/fixes/fix_sys_exc.pyo
+lib/python2.7/lib2to3/fixes/fix_throw.py
+lib/python2.7/lib2to3/fixes/fix_throw.pyc
+lib/python2.7/lib2to3/fixes/fix_throw.pyo
+lib/python2.7/lib2to3/fixes/fix_tuple_params.py
+lib/python2.7/lib2to3/fixes/fix_tuple_params.pyc
+lib/python2.7/lib2to3/fixes/fix_tuple_params.pyo
+lib/python2.7/lib2to3/fixes/fix_types.py
+lib/python2.7/lib2to3/fixes/fix_types.pyc
+lib/python2.7/lib2to3/fixes/fix_types.pyo
+lib/python2.7/lib2to3/fixes/fix_unicode.py
+lib/python2.7/lib2to3/fixes/fix_unicode.pyc
+lib/python2.7/lib2to3/fixes/fix_unicode.pyo
+lib/python2.7/lib2to3/fixes/fix_urllib.py
+lib/python2.7/lib2to3/fixes/fix_urllib.pyc
+lib/python2.7/lib2to3/fixes/fix_urllib.pyo
+lib/python2.7/lib2to3/fixes/fix_ws_comma.py
+lib/python2.7/lib2to3/fixes/fix_ws_comma.pyc
+lib/python2.7/lib2to3/fixes/fix_ws_comma.pyo
+lib/python2.7/lib2to3/fixes/fix_xrange.py
+lib/python2.7/lib2to3/fixes/fix_xrange.pyc
+lib/python2.7/lib2to3/fixes/fix_xrange.pyo
+lib/python2.7/lib2to3/fixes/fix_xreadlines.py
+lib/python2.7/lib2to3/fixes/fix_xreadlines.pyc
+lib/python2.7/lib2to3/fixes/fix_xreadlines.pyo
+lib/python2.7/lib2to3/fixes/fix_zip.py
+lib/python2.7/lib2to3/fixes/fix_zip.pyc
+lib/python2.7/lib2to3/fixes/fix_zip.pyo
+lib/python2.7/lib2to3/main.py
+lib/python2.7/lib2to3/main.pyc
+lib/python2.7/lib2to3/main.pyo
+lib/python2.7/lib2to3/patcomp.py
+lib/python2.7/lib2to3/patcomp.pyc
+lib/python2.7/lib2to3/patcomp.pyo
+lib/python2.7/lib2to3/pgen2/__init__.py
+lib/python2.7/lib2to3/pgen2/__init__.pyc
+lib/python2.7/lib2to3/pgen2/__init__.pyo
+lib/python2.7/lib2to3/pgen2/conv.py
+lib/python2.7/lib2to3/pgen2/conv.pyc
+lib/python2.7/lib2to3/pgen2/conv.pyo
+lib/python2.7/lib2to3/pgen2/driver.py
+lib/python2.7/lib2to3/pgen2/driver.pyc
+lib/python2.7/lib2to3/pgen2/driver.pyo
+lib/python2.7/lib2to3/pgen2/grammar.py
+lib/python2.7/lib2to3/pgen2/grammar.pyc
+lib/python2.7/lib2to3/pgen2/grammar.pyo
+lib/python2.7/lib2to3/pgen2/literals.py
+lib/python2.7/lib2to3/pgen2/literals.pyc
+lib/python2.7/lib2to3/pgen2/literals.pyo
+lib/python2.7/lib2to3/pgen2/parse.py
+lib/python2.7/lib2to3/pgen2/parse.pyc
+lib/python2.7/lib2to3/pgen2/parse.pyo
+lib/python2.7/lib2to3/pgen2/pgen.py
+lib/python2.7/lib2to3/pgen2/pgen.pyc
+lib/python2.7/lib2to3/pgen2/pgen.pyo
+lib/python2.7/lib2to3/pgen2/token.py
+lib/python2.7/lib2to3/pgen2/token.pyc
+lib/python2.7/lib2to3/pgen2/token.pyo
+lib/python2.7/lib2to3/pgen2/tokenize.py
+lib/python2.7/lib2to3/pgen2/tokenize.pyc
+lib/python2.7/lib2to3/pgen2/tokenize.pyo
+lib/python2.7/lib2to3/pygram.py
+lib/python2.7/lib2to3/pygram.pyc
+lib/python2.7/lib2to3/pygram.pyo
+lib/python2.7/lib2to3/pytree.py
+lib/python2.7/lib2to3/pytree.pyc
+lib/python2.7/lib2to3/pytree.pyo
+lib/python2.7/lib2to3/refactor.py
+lib/python2.7/lib2to3/refactor.pyc
+lib/python2.7/lib2to3/refactor.pyo
+lib/python2.7/lib2to3/tests/__init__.py
+lib/python2.7/lib2to3/tests/__init__.pyc
+lib/python2.7/lib2to3/tests/__init__.pyo
+lib/python2.7/lib2to3/tests/data/README
+lib/python2.7/lib2to3/tests/data/bom.py
+lib/python2.7/lib2to3/tests/data/crlf.py
+lib/python2.7/lib2to3/tests/data/different_encoding.py
+lib/python2.7/lib2to3/tests/data/false_encoding.py
+lib/python2.7/lib2to3/tests/data/fixers/bad_order.py
+lib/python2.7/lib2to3/tests/data/fixers/myfixes/__init__.py
+lib/python2.7/lib2to3/tests/data/fixers/myfixes/fix_explicit.py
+lib/python2.7/lib2to3/tests/data/fixers/myfixes/fix_first.py
+lib/python2.7/lib2to3/tests/data/fixers/myfixes/fix_last.py
+lib/python2.7/lib2to3/tests/data/fixers/myfixes/fix_parrot.py
+lib/python2.7/lib2to3/tests/data/fixers/myfixes/fix_preorder.py
+lib/python2.7/lib2to3/tests/data/fixers/no_fixer_cls.py
+lib/python2.7/lib2to3/tests/data/fixers/parrot_example.py
+lib/python2.7/lib2to3/tests/data/infinite_recursion.py
+lib/python2.7/lib2to3/tests/data/py2_test_grammar.py
+lib/python2.7/lib2to3/tests/data/py3_test_grammar.py
+lib/python2.7/lib2to3/tests/pytree_idempotency.py
+lib/python2.7/lib2to3/tests/pytree_idempotency.pyc
+lib/python2.7/lib2to3/tests/pytree_idempotency.pyo
+lib/python2.7/lib2to3/tests/support.py
+lib/python2.7/lib2to3/tests/support.pyc
+lib/python2.7/lib2to3/tests/support.pyo
+lib/python2.7/lib2to3/tests/test_all_fixers.py
+lib/python2.7/lib2to3/tests/test_all_fixers.pyc
+lib/python2.7/lib2to3/tests/test_all_fixers.pyo
+lib/python2.7/lib2to3/tests/test_fixers.py
+lib/python2.7/lib2to3/tests/test_fixers.pyc
+lib/python2.7/lib2to3/tests/test_fixers.pyo
+lib/python2.7/lib2to3/tests/test_main.py
+lib/python2.7/lib2to3/tests/test_main.pyc
+lib/python2.7/lib2to3/tests/test_main.pyo
+lib/python2.7/lib2to3/tests/test_parser.py
+lib/python2.7/lib2to3/tests/test_parser.pyc
+lib/python2.7/lib2to3/tests/test_parser.pyo
+lib/python2.7/lib2to3/tests/test_pytree.py
+lib/python2.7/lib2to3/tests/test_pytree.pyc
+lib/python2.7/lib2to3/tests/test_pytree.pyo
+lib/python2.7/lib2to3/tests/test_refactor.py
+lib/python2.7/lib2to3/tests/test_refactor.pyc
+lib/python2.7/lib2to3/tests/test_refactor.pyo
+lib/python2.7/lib2to3/tests/test_util.py
+lib/python2.7/lib2to3/tests/test_util.pyc
+lib/python2.7/lib2to3/tests/test_util.pyo
+lib/python2.7/linecache.py
+lib/python2.7/linecache.pyc
+lib/python2.7/linecache.pyo
+lib/python2.7/locale.py
+lib/python2.7/locale.pyc
+lib/python2.7/locale.pyo
+lib/python2.7/logging/__init__.py
+lib/python2.7/logging/__init__.pyc
+lib/python2.7/logging/__init__.pyo
+lib/python2.7/logging/config.py
+lib/python2.7/logging/config.pyc
+lib/python2.7/logging/config.pyo
+lib/python2.7/logging/handlers.py
+lib/python2.7/logging/handlers.pyc
+lib/python2.7/logging/handlers.pyo
+lib/python2.7/macpath.py
+lib/python2.7/macpath.pyc
+lib/python2.7/macpath.pyo
+lib/python2.7/macurl2path.py
+lib/python2.7/macurl2path.pyc
+lib/python2.7/macurl2path.pyo
+lib/python2.7/mailbox.py
+lib/python2.7/mailbox.pyc
+lib/python2.7/mailbox.pyo
+lib/python2.7/mailcap.py
+lib/python2.7/mailcap.pyc
+lib/python2.7/mailcap.pyo
+lib/python2.7/markupbase.py
+lib/python2.7/markupbase.pyc
+lib/python2.7/markupbase.pyo
+lib/python2.7/md5.py
+lib/python2.7/md5.pyc
+lib/python2.7/md5.pyo
+lib/python2.7/mhlib.py
+lib/python2.7/mhlib.pyc
+lib/python2.7/mhlib.pyo
+lib/python2.7/mimetools.py
+lib/python2.7/mimetools.pyc
+lib/python2.7/mimetools.pyo
+lib/python2.7/mimetypes.py
+lib/python2.7/mimetypes.pyc
+lib/python2.7/mimetypes.pyo
+lib/python2.7/mimify.py
+lib/python2.7/mimify.pyc
+lib/python2.7/mimify.pyo
+lib/python2.7/modulefinder.py
+lib/python2.7/modulefinder.pyc
+lib/python2.7/modulefinder.pyo
+lib/python2.7/multifile.py
+lib/python2.7/multifile.pyc
+lib/python2.7/multifile.pyo
+lib/python2.7/multiprocessing/__init__.py
+lib/python2.7/multiprocessing/__init__.pyc
+lib/python2.7/multiprocessing/__init__.pyo
+lib/python2.7/multiprocessing/connection.py
+lib/python2.7/multiprocessing/connection.pyc
+lib/python2.7/multiprocessing/connection.pyo
+lib/python2.7/multiprocessing/dummy/__init__.py
+lib/python2.7/multiprocessing/dummy/__init__.pyc
+lib/python2.7/multiprocessing/dummy/__init__.pyo
+lib/python2.7/multiprocessing/dummy/connection.py
+lib/python2.7/multiprocessing/dummy/connection.pyc
+lib/python2.7/multiprocessing/dummy/connection.pyo
+lib/python2.7/multiprocessing/forking.py
+lib/python2.7/multiprocessing/forking.pyc
+lib/python2.7/multiprocessing/forking.pyo
+lib/python2.7/multiprocessing/heap.py
+lib/python2.7/multiprocessing/heap.pyc
+lib/python2.7/multiprocessing/heap.pyo
+lib/python2.7/multiprocessing/managers.py
+lib/python2.7/multiprocessing/managers.pyc
+lib/python2.7/multiprocessing/managers.pyo
+lib/python2.7/multiprocessing/pool.py
+lib/python2.7/multiprocessing/pool.pyc
+lib/python2.7/multiprocessing/pool.pyo
+lib/python2.7/multiprocessing/process.py
+lib/python2.7/multiprocessing/process.pyc
+lib/python2.7/multiprocessing/process.pyo
+lib/python2.7/multiprocessing/queues.py
+lib/python2.7/multiprocessing/queues.pyc
+lib/python2.7/multiprocessing/queues.pyo
+lib/python2.7/multiprocessing/reduction.py
+lib/python2.7/multiprocessing/reduction.pyc
+lib/python2.7/multiprocessing/reduction.pyo
+lib/python2.7/multiprocessing/sharedctypes.py
+lib/python2.7/multiprocessing/sharedctypes.pyc
+lib/python2.7/multiprocessing/sharedctypes.pyo
+lib/python2.7/multiprocessing/synchronize.py
+lib/python2.7/multiprocessing/synchronize.pyc
+lib/python2.7/multiprocessing/synchronize.pyo
+lib/python2.7/multiprocessing/util.py
+lib/python2.7/multiprocessing/util.pyc
+lib/python2.7/multiprocessing/util.pyo
+lib/python2.7/mutex.py
+lib/python2.7/mutex.pyc
+lib/python2.7/mutex.pyo
+lib/python2.7/netrc.py
+lib/python2.7/netrc.pyc
+lib/python2.7/netrc.pyo
+lib/python2.7/new.py
+lib/python2.7/new.pyc
+lib/python2.7/new.pyo
+lib/python2.7/nntplib.py
+lib/python2.7/nntplib.pyc
+lib/python2.7/nntplib.pyo
+lib/python2.7/ntpath.py
+lib/python2.7/ntpath.pyc
+lib/python2.7/ntpath.pyo
+lib/python2.7/nturl2path.py
+lib/python2.7/nturl2path.pyc
+lib/python2.7/nturl2path.pyo
+lib/python2.7/numbers.py
+lib/python2.7/numbers.pyc
+lib/python2.7/numbers.pyo
+lib/python2.7/opcode.py
+lib/python2.7/opcode.pyc
+lib/python2.7/opcode.pyo
+lib/python2.7/optparse.py
+lib/python2.7/optparse.pyc
+lib/python2.7/optparse.pyo
+lib/python2.7/os.py
+lib/python2.7/os.pyc
+lib/python2.7/os.pyo
+lib/python2.7/os2emxpath.py
+lib/python2.7/os2emxpath.pyc
+lib/python2.7/os2emxpath.pyo
+lib/python2.7/pdb.doc
+lib/python2.7/pdb.py
+lib/python2.7/pdb.pyc
+lib/python2.7/pdb.pyo
+lib/python2.7/pickle.py
+lib/python2.7/pickle.pyc
+lib/python2.7/pickle.pyo
+lib/python2.7/pickletools.py
+lib/python2.7/pickletools.pyc
+lib/python2.7/pickletools.pyo
+lib/python2.7/pipes.py
+lib/python2.7/pipes.pyc
+lib/python2.7/pipes.pyo
+lib/python2.7/pkgutil.py
+lib/python2.7/pkgutil.pyc
+lib/python2.7/pkgutil.pyo
+lib/python2.7/plat-freebsd%%OSMAJOR%%/IN.py
+lib/python2.7/plat-freebsd%%OSMAJOR%%/IN.pyc
+lib/python2.7/plat-freebsd%%OSMAJOR%%/IN.pyo
+lib/python2.7/plat-freebsd%%OSMAJOR%%/regen
+lib/python2.7/platform.py
+lib/python2.7/platform.pyc
+lib/python2.7/platform.pyo
+lib/python2.7/plistlib.py
+lib/python2.7/plistlib.pyc
+lib/python2.7/plistlib.pyo
+lib/python2.7/popen2.py
+lib/python2.7/popen2.pyc
+lib/python2.7/popen2.pyo
+lib/python2.7/poplib.py
+lib/python2.7/poplib.pyc
+lib/python2.7/poplib.pyo
+lib/python2.7/posixfile.py
+lib/python2.7/posixfile.pyc
+lib/python2.7/posixfile.pyo
+lib/python2.7/posixpath.py
+lib/python2.7/posixpath.pyc
+lib/python2.7/posixpath.pyo
+lib/python2.7/pprint.py
+lib/python2.7/pprint.pyc
+lib/python2.7/pprint.pyo
+lib/python2.7/profile.py
+lib/python2.7/profile.pyc
+lib/python2.7/profile.pyo
+lib/python2.7/pstats.py
+lib/python2.7/pstats.pyc
+lib/python2.7/pstats.pyo
+lib/python2.7/pty.py
+lib/python2.7/pty.pyc
+lib/python2.7/pty.pyo
+lib/python2.7/py_compile.py
+lib/python2.7/py_compile.pyc
+lib/python2.7/py_compile.pyo
+lib/python2.7/pyclbr.py
+lib/python2.7/pyclbr.pyc
+lib/python2.7/pyclbr.pyo
+lib/python2.7/pydoc.py
+lib/python2.7/pydoc.pyc
+lib/python2.7/pydoc.pyo
+lib/python2.7/pydoc_data/__init__.py
+lib/python2.7/pydoc_data/__init__.pyc
+lib/python2.7/pydoc_data/__init__.pyo
+lib/python2.7/pydoc_data/topics.py
+lib/python2.7/pydoc_data/topics.pyc
+lib/python2.7/pydoc_data/topics.pyo
+lib/python2.7/quopri.py
+lib/python2.7/quopri.pyc
+lib/python2.7/quopri.pyo
+lib/python2.7/random.py
+lib/python2.7/random.pyc
+lib/python2.7/random.pyo
+lib/python2.7/re.py
+lib/python2.7/re.pyc
+lib/python2.7/re.pyo
+lib/python2.7/repr.py
+lib/python2.7/repr.pyc
+lib/python2.7/repr.pyo
+lib/python2.7/rexec.py
+lib/python2.7/rexec.pyc
+lib/python2.7/rexec.pyo
+lib/python2.7/rfc822.py
+lib/python2.7/rfc822.pyc
+lib/python2.7/rfc822.pyo
+lib/python2.7/rlcompleter.py
+lib/python2.7/rlcompleter.pyc
+lib/python2.7/rlcompleter.pyo
+lib/python2.7/robotparser.py
+lib/python2.7/robotparser.pyc
+lib/python2.7/robotparser.pyo
+lib/python2.7/runpy.py
+lib/python2.7/runpy.pyc
+lib/python2.7/runpy.pyo
+lib/python2.7/sched.py
+lib/python2.7/sched.pyc
+lib/python2.7/sched.pyo
+lib/python2.7/sets.py
+lib/python2.7/sets.pyc
+lib/python2.7/sets.pyo
+lib/python2.7/sgmllib.py
+lib/python2.7/sgmllib.pyc
+lib/python2.7/sgmllib.pyo
+lib/python2.7/sha.py
+lib/python2.7/sha.pyc
+lib/python2.7/sha.pyo
+lib/python2.7/shelve.py
+lib/python2.7/shelve.pyc
+lib/python2.7/shelve.pyo
+lib/python2.7/shlex.py
+lib/python2.7/shlex.pyc
+lib/python2.7/shlex.pyo
+lib/python2.7/shutil.py
+lib/python2.7/shutil.pyc
+lib/python2.7/shutil.pyo
+lib/python2.7/site-packages/README
+lib/python2.7/site.py
+lib/python2.7/site.pyc
+lib/python2.7/site.pyo
+lib/python2.7/smtpd.py
+lib/python2.7/smtpd.pyc
+lib/python2.7/smtpd.pyo
+lib/python2.7/smtplib.py
+lib/python2.7/smtplib.pyc
+lib/python2.7/smtplib.pyo
+lib/python2.7/sndhdr.py
+lib/python2.7/sndhdr.pyc
+lib/python2.7/sndhdr.pyo
+lib/python2.7/socket.py
+lib/python2.7/socket.pyc
+lib/python2.7/socket.pyo
+lib/python2.7/sqlite3/__init__.py
+lib/python2.7/sqlite3/__init__.pyc
+lib/python2.7/sqlite3/__init__.pyo
+lib/python2.7/sqlite3/dbapi2.py
+lib/python2.7/sqlite3/dbapi2.pyc
+lib/python2.7/sqlite3/dbapi2.pyo
+lib/python2.7/sqlite3/dump.py
+lib/python2.7/sqlite3/dump.pyc
+lib/python2.7/sqlite3/dump.pyo
+lib/python2.7/sqlite3/test/__init__.py
+lib/python2.7/sqlite3/test/__init__.pyc
+lib/python2.7/sqlite3/test/__init__.pyo
+lib/python2.7/sqlite3/test/dbapi.py
+lib/python2.7/sqlite3/test/dbapi.pyc
+lib/python2.7/sqlite3/test/dbapi.pyo
+lib/python2.7/sqlite3/test/dump.py
+lib/python2.7/sqlite3/test/dump.pyc
+lib/python2.7/sqlite3/test/dump.pyo
+lib/python2.7/sqlite3/test/factory.py
+lib/python2.7/sqlite3/test/factory.pyc
+lib/python2.7/sqlite3/test/factory.pyo
+lib/python2.7/sqlite3/test/hooks.py
+lib/python2.7/sqlite3/test/hooks.pyc
+lib/python2.7/sqlite3/test/hooks.pyo
+lib/python2.7/sqlite3/test/py25tests.py
+lib/python2.7/sqlite3/test/py25tests.pyc
+lib/python2.7/sqlite3/test/py25tests.pyo
+lib/python2.7/sqlite3/test/regression.py
+lib/python2.7/sqlite3/test/regression.pyc
+lib/python2.7/sqlite3/test/regression.pyo
+lib/python2.7/sqlite3/test/transactions.py
+lib/python2.7/sqlite3/test/transactions.pyc
+lib/python2.7/sqlite3/test/transactions.pyo
+lib/python2.7/sqlite3/test/types.py
+lib/python2.7/sqlite3/test/types.pyc
+lib/python2.7/sqlite3/test/types.pyo
+lib/python2.7/sqlite3/test/userfunctions.py
+lib/python2.7/sqlite3/test/userfunctions.pyc
+lib/python2.7/sqlite3/test/userfunctions.pyo
+lib/python2.7/sre.py
+lib/python2.7/sre.pyc
+lib/python2.7/sre.pyo
+lib/python2.7/sre_compile.py
+lib/python2.7/sre_compile.pyc
+lib/python2.7/sre_compile.pyo
+lib/python2.7/sre_constants.py
+lib/python2.7/sre_constants.pyc
+lib/python2.7/sre_constants.pyo
+lib/python2.7/sre_parse.py
+lib/python2.7/sre_parse.pyc
+lib/python2.7/sre_parse.pyo
+lib/python2.7/ssl.py
+lib/python2.7/ssl.pyc
+lib/python2.7/ssl.pyo
+lib/python2.7/stat.py
+lib/python2.7/stat.pyc
+lib/python2.7/stat.pyo
+lib/python2.7/statvfs.py
+lib/python2.7/statvfs.pyc
+lib/python2.7/statvfs.pyo
+lib/python2.7/string.py
+lib/python2.7/string.pyc
+lib/python2.7/string.pyo
+lib/python2.7/stringold.py
+lib/python2.7/stringold.pyc
+lib/python2.7/stringold.pyo
+lib/python2.7/stringprep.py
+lib/python2.7/stringprep.pyc
+lib/python2.7/stringprep.pyo
+lib/python2.7/struct.py
+lib/python2.7/struct.pyc
+lib/python2.7/struct.pyo
+lib/python2.7/subprocess.py
+lib/python2.7/subprocess.pyc
+lib/python2.7/subprocess.pyo
+lib/python2.7/sunau.py
+lib/python2.7/sunau.pyc
+lib/python2.7/sunau.pyo
+lib/python2.7/sunaudio.py
+lib/python2.7/sunaudio.pyc
+lib/python2.7/sunaudio.pyo
+lib/python2.7/symbol.py
+lib/python2.7/symbol.pyc
+lib/python2.7/symbol.pyo
+lib/python2.7/symtable.py
+lib/python2.7/symtable.pyc
+lib/python2.7/symtable.pyo
+lib/python2.7/sysconfig.py
+lib/python2.7/sysconfig.pyc
+lib/python2.7/sysconfig.pyo
+lib/python2.7/tabnanny.py
+lib/python2.7/tabnanny.pyc
+lib/python2.7/tabnanny.pyo
+lib/python2.7/tarfile.py
+lib/python2.7/tarfile.pyc
+lib/python2.7/tarfile.pyo
+lib/python2.7/telnetlib.py
+lib/python2.7/telnetlib.pyc
+lib/python2.7/telnetlib.pyo
+lib/python2.7/tempfile.py
+lib/python2.7/tempfile.pyc
+lib/python2.7/tempfile.pyo
+lib/python2.7/test/185test.db
+lib/python2.7/test/Sine-1000Hz-300ms.aif
+lib/python2.7/test/__init__.py
+lib/python2.7/test/__init__.pyc
+lib/python2.7/test/__init__.pyo
+lib/python2.7/test/__main__.py
+lib/python2.7/test/__main__.pyc
+lib/python2.7/test/__main__.pyo
+lib/python2.7/test/_mock_backport.py
+lib/python2.7/test/_mock_backport.pyc
+lib/python2.7/test/_mock_backport.pyo
+lib/python2.7/test/allsans.pem
+lib/python2.7/test/audiodata/pluck-pcm16.aiff
+lib/python2.7/test/audiodata/pluck-pcm16.au
+lib/python2.7/test/audiodata/pluck-pcm16.wav
+lib/python2.7/test/audiodata/pluck-pcm24.aiff
+lib/python2.7/test/audiodata/pluck-pcm24.wav
+lib/python2.7/test/audiodata/pluck-pcm32.aiff
+lib/python2.7/test/audiodata/pluck-pcm32.au
+lib/python2.7/test/audiodata/pluck-pcm32.wav
+lib/python2.7/test/audiodata/pluck-pcm8.aiff
+lib/python2.7/test/audiodata/pluck-pcm8.au
+lib/python2.7/test/audiodata/pluck-pcm8.wav
+lib/python2.7/test/audiodata/pluck-ulaw.aifc
+lib/python2.7/test/audiodata/pluck-ulaw.au
+lib/python2.7/test/audiotest.au
+lib/python2.7/test/audiotests.py
+lib/python2.7/test/audiotests.pyc
+lib/python2.7/test/audiotests.pyo
+lib/python2.7/test/autotest.py
+lib/python2.7/test/autotest.pyc
+lib/python2.7/test/autotest.pyo
+lib/python2.7/test/bad_coding.py
+lib/python2.7/test/bad_coding2.py
+lib/python2.7/test/bad_coding3.py
+lib/python2.7/test/badcert.pem
+lib/python2.7/test/badkey.pem
+lib/python2.7/test/badsyntax_future3.py
+lib/python2.7/test/badsyntax_future4.py
+lib/python2.7/test/badsyntax_future5.py
+lib/python2.7/test/badsyntax_future6.py
+lib/python2.7/test/badsyntax_future7.py
+lib/python2.7/test/badsyntax_future8.py
+lib/python2.7/test/badsyntax_future9.py
+lib/python2.7/test/badsyntax_nocaret.py
+lib/python2.7/test/bisect_cmd.py
+lib/python2.7/test/bisect_cmd.pyc
+lib/python2.7/test/bisect_cmd.pyo
+lib/python2.7/test/capath/0e4015b9.0
+lib/python2.7/test/capath/4e1295a3.0
+lib/python2.7/test/capath/5ed36f99.0
+lib/python2.7/test/capath/6e88d7b8.0
+lib/python2.7/test/capath/99d0fa06.0
+lib/python2.7/test/capath/ce7b8643.0
+lib/python2.7/test/cfgparser.1
+lib/python2.7/test/cjkencodings/big5-utf8.txt
+lib/python2.7/test/cjkencodings/big5.txt
+lib/python2.7/test/cjkencodings/big5hkscs-utf8.txt
+lib/python2.7/test/cjkencodings/big5hkscs.txt
+lib/python2.7/test/cjkencodings/cp949-utf8.txt
+lib/python2.7/test/cjkencodings/cp949.txt
+lib/python2.7/test/cjkencodings/euc_jisx0213-utf8.txt
+lib/python2.7/test/cjkencodings/euc_jisx0213.txt
+lib/python2.7/test/cjkencodings/euc_jp-utf8.txt
+lib/python2.7/test/cjkencodings/euc_jp.txt
+lib/python2.7/test/cjkencodings/euc_kr-utf8.txt
+lib/python2.7/test/cjkencodings/euc_kr.txt
+lib/python2.7/test/cjkencodings/gb18030-utf8.txt
+lib/python2.7/test/cjkencodings/gb18030.txt
+lib/python2.7/test/cjkencodings/gb2312-utf8.txt
+lib/python2.7/test/cjkencodings/gb2312.txt
+lib/python2.7/test/cjkencodings/gbk-utf8.txt
+lib/python2.7/test/cjkencodings/gbk.txt
+lib/python2.7/test/cjkencodings/hz-utf8.txt
+lib/python2.7/test/cjkencodings/hz.txt
+lib/python2.7/test/cjkencodings/iso2022_jp-utf8.txt
+lib/python2.7/test/cjkencodings/iso2022_jp.txt
+lib/python2.7/test/cjkencodings/iso2022_kr-utf8.txt
+lib/python2.7/test/cjkencodings/iso2022_kr.txt
+lib/python2.7/test/cjkencodings/johab-utf8.txt
+lib/python2.7/test/cjkencodings/johab.txt
+lib/python2.7/test/cjkencodings/shift_jis-utf8.txt
+lib/python2.7/test/cjkencodings/shift_jis.txt
+lib/python2.7/test/cjkencodings/shift_jisx0213-utf8.txt
+lib/python2.7/test/cjkencodings/shift_jisx0213.txt
+lib/python2.7/test/cmath_testcases.txt
+lib/python2.7/test/curses_tests.py
+lib/python2.7/test/curses_tests.pyc
+lib/python2.7/test/curses_tests.pyo
+lib/python2.7/test/data/README
+lib/python2.7/test/decimaltestdata/abs.decTest
+lib/python2.7/test/decimaltestdata/add.decTest
+lib/python2.7/test/decimaltestdata/and.decTest
+lib/python2.7/test/decimaltestdata/base.decTest
+lib/python2.7/test/decimaltestdata/clamp.decTest
+lib/python2.7/test/decimaltestdata/class.decTest
+lib/python2.7/test/decimaltestdata/compare.decTest
+lib/python2.7/test/decimaltestdata/comparetotal.decTest
+lib/python2.7/test/decimaltestdata/comparetotmag.decTest
+lib/python2.7/test/decimaltestdata/copy.decTest
+lib/python2.7/test/decimaltestdata/copyabs.decTest
+lib/python2.7/test/decimaltestdata/copynegate.decTest
+lib/python2.7/test/decimaltestdata/copysign.decTest
+lib/python2.7/test/decimaltestdata/ddAbs.decTest
+lib/python2.7/test/decimaltestdata/ddAdd.decTest
+lib/python2.7/test/decimaltestdata/ddAnd.decTest
+lib/python2.7/test/decimaltestdata/ddBase.decTest
+lib/python2.7/test/decimaltestdata/ddCanonical.decTest
+lib/python2.7/test/decimaltestdata/ddClass.decTest
+lib/python2.7/test/decimaltestdata/ddCompare.decTest
+lib/python2.7/test/decimaltestdata/ddCompareSig.decTest
+lib/python2.7/test/decimaltestdata/ddCompareTotal.decTest
+lib/python2.7/test/decimaltestdata/ddCompareTotalMag.decTest
+lib/python2.7/test/decimaltestdata/ddCopy.decTest
+lib/python2.7/test/decimaltestdata/ddCopyAbs.decTest
+lib/python2.7/test/decimaltestdata/ddCopyNegate.decTest
+lib/python2.7/test/decimaltestdata/ddCopySign.decTest
+lib/python2.7/test/decimaltestdata/ddDivide.decTest
+lib/python2.7/test/decimaltestdata/ddDivideInt.decTest
+lib/python2.7/test/decimaltestdata/ddEncode.decTest
+lib/python2.7/test/decimaltestdata/ddFMA.decTest
+lib/python2.7/test/decimaltestdata/ddInvert.decTest
+lib/python2.7/test/decimaltestdata/ddLogB.decTest
+lib/python2.7/test/decimaltestdata/ddMax.decTest
+lib/python2.7/test/decimaltestdata/ddMaxMag.decTest
+lib/python2.7/test/decimaltestdata/ddMin.decTest
+lib/python2.7/test/decimaltestdata/ddMinMag.decTest
+lib/python2.7/test/decimaltestdata/ddMinus.decTest
+lib/python2.7/test/decimaltestdata/ddMultiply.decTest
+lib/python2.7/test/decimaltestdata/ddNextMinus.decTest
+lib/python2.7/test/decimaltestdata/ddNextPlus.decTest
+lib/python2.7/test/decimaltestdata/ddNextToward.decTest
+lib/python2.7/test/decimaltestdata/ddOr.decTest
+lib/python2.7/test/decimaltestdata/ddPlus.decTest
+lib/python2.7/test/decimaltestdata/ddQuantize.decTest
+lib/python2.7/test/decimaltestdata/ddReduce.decTest
+lib/python2.7/test/decimaltestdata/ddRemainder.decTest
+lib/python2.7/test/decimaltestdata/ddRemainderNear.decTest
+lib/python2.7/test/decimaltestdata/ddRotate.decTest
+lib/python2.7/test/decimaltestdata/ddSameQuantum.decTest
+lib/python2.7/test/decimaltestdata/ddScaleB.decTest
+lib/python2.7/test/decimaltestdata/ddShift.decTest
+lib/python2.7/test/decimaltestdata/ddSubtract.decTest
+lib/python2.7/test/decimaltestdata/ddToIntegral.decTest
+lib/python2.7/test/decimaltestdata/ddXor.decTest
+lib/python2.7/test/decimaltestdata/decDouble.decTest
+lib/python2.7/test/decimaltestdata/decQuad.decTest
+lib/python2.7/test/decimaltestdata/decSingle.decTest
+lib/python2.7/test/decimaltestdata/divide.decTest
+lib/python2.7/test/decimaltestdata/divideint.decTest
+lib/python2.7/test/decimaltestdata/dqAbs.decTest
+lib/python2.7/test/decimaltestdata/dqAdd.decTest
+lib/python2.7/test/decimaltestdata/dqAnd.decTest
+lib/python2.7/test/decimaltestdata/dqBase.decTest
+lib/python2.7/test/decimaltestdata/dqCanonical.decTest
+lib/python2.7/test/decimaltestdata/dqClass.decTest
+lib/python2.7/test/decimaltestdata/dqCompare.decTest
+lib/python2.7/test/decimaltestdata/dqCompareSig.decTest
+lib/python2.7/test/decimaltestdata/dqCompareTotal.decTest
+lib/python2.7/test/decimaltestdata/dqCompareTotalMag.decTest
+lib/python2.7/test/decimaltestdata/dqCopy.decTest
+lib/python2.7/test/decimaltestdata/dqCopyAbs.decTest
+lib/python2.7/test/decimaltestdata/dqCopyNegate.decTest
+lib/python2.7/test/decimaltestdata/dqCopySign.decTest
+lib/python2.7/test/decimaltestdata/dqDivide.decTest
+lib/python2.7/test/decimaltestdata/dqDivideInt.decTest
+lib/python2.7/test/decimaltestdata/dqEncode.decTest
+lib/python2.7/test/decimaltestdata/dqFMA.decTest
+lib/python2.7/test/decimaltestdata/dqInvert.decTest
+lib/python2.7/test/decimaltestdata/dqLogB.decTest
+lib/python2.7/test/decimaltestdata/dqMax.decTest
+lib/python2.7/test/decimaltestdata/dqMaxMag.decTest
+lib/python2.7/test/decimaltestdata/dqMin.decTest
+lib/python2.7/test/decimaltestdata/dqMinMag.decTest
+lib/python2.7/test/decimaltestdata/dqMinus.decTest
+lib/python2.7/test/decimaltestdata/dqMultiply.decTest
+lib/python2.7/test/decimaltestdata/dqNextMinus.decTest
+lib/python2.7/test/decimaltestdata/dqNextPlus.decTest
+lib/python2.7/test/decimaltestdata/dqNextToward.decTest
+lib/python2.7/test/decimaltestdata/dqOr.decTest
+lib/python2.7/test/decimaltestdata/dqPlus.decTest
+lib/python2.7/test/decimaltestdata/dqQuantize.decTest
+lib/python2.7/test/decimaltestdata/dqReduce.decTest
+lib/python2.7/test/decimaltestdata/dqRemainder.decTest
+lib/python2.7/test/decimaltestdata/dqRemainderNear.decTest
+lib/python2.7/test/decimaltestdata/dqRotate.decTest
+lib/python2.7/test/decimaltestdata/dqSameQuantum.decTest
+lib/python2.7/test/decimaltestdata/dqScaleB.decTest
+lib/python2.7/test/decimaltestdata/dqShift.decTest
+lib/python2.7/test/decimaltestdata/dqSubtract.decTest
+lib/python2.7/test/decimaltestdata/dqToIntegral.decTest
+lib/python2.7/test/decimaltestdata/dqXor.decTest
+lib/python2.7/test/decimaltestdata/dsBase.decTest
+lib/python2.7/test/decimaltestdata/dsEncode.decTest
+lib/python2.7/test/decimaltestdata/exp.decTest
+lib/python2.7/test/decimaltestdata/extra.decTest
+lib/python2.7/test/decimaltestdata/fma.decTest
+lib/python2.7/test/decimaltestdata/inexact.decTest
+lib/python2.7/test/decimaltestdata/invert.decTest
+lib/python2.7/test/decimaltestdata/ln.decTest
+lib/python2.7/test/decimaltestdata/log10.decTest
+lib/python2.7/test/decimaltestdata/logb.decTest
+lib/python2.7/test/decimaltestdata/max.decTest
+lib/python2.7/test/decimaltestdata/maxmag.decTest
+lib/python2.7/test/decimaltestdata/min.decTest
+lib/python2.7/test/decimaltestdata/minmag.decTest
+lib/python2.7/test/decimaltestdata/minus.decTest
+lib/python2.7/test/decimaltestdata/multiply.decTest
+lib/python2.7/test/decimaltestdata/nextminus.decTest
+lib/python2.7/test/decimaltestdata/nextplus.decTest
+lib/python2.7/test/decimaltestdata/nexttoward.decTest
+lib/python2.7/test/decimaltestdata/or.decTest
+lib/python2.7/test/decimaltestdata/plus.decTest
+lib/python2.7/test/decimaltestdata/power.decTest
+lib/python2.7/test/decimaltestdata/powersqrt.decTest
+lib/python2.7/test/decimaltestdata/quantize.decTest
+lib/python2.7/test/decimaltestdata/randomBound32.decTest
+lib/python2.7/test/decimaltestdata/randoms.decTest
+lib/python2.7/test/decimaltestdata/reduce.decTest
+lib/python2.7/test/decimaltestdata/remainder.decTest
+lib/python2.7/test/decimaltestdata/remainderNear.decTest
+lib/python2.7/test/decimaltestdata/rescale.decTest
+lib/python2.7/test/decimaltestdata/rotate.decTest
+lib/python2.7/test/decimaltestdata/rounding.decTest
+lib/python2.7/test/decimaltestdata/samequantum.decTest
+lib/python2.7/test/decimaltestdata/scaleb.decTest
+lib/python2.7/test/decimaltestdata/shift.decTest
+lib/python2.7/test/decimaltestdata/squareroot.decTest
+lib/python2.7/test/decimaltestdata/subtract.decTest
+lib/python2.7/test/decimaltestdata/testall.decTest
+lib/python2.7/test/decimaltestdata/tointegral.decTest
+lib/python2.7/test/decimaltestdata/tointegralx.decTest
+lib/python2.7/test/decimaltestdata/xor.decTest
+lib/python2.7/test/doctest_aliases.py
+lib/python2.7/test/doctest_aliases.pyc
+lib/python2.7/test/doctest_aliases.pyo
+lib/python2.7/test/double_const.py
+lib/python2.7/test/double_const.pyc
+lib/python2.7/test/double_const.pyo
+lib/python2.7/test/empty.vbs
+lib/python2.7/test/exception_hierarchy.txt
+lib/python2.7/test/ffdh3072.pem
+lib/python2.7/test/floating_points.txt
+lib/python2.7/test/fork_wait.py
+lib/python2.7/test/fork_wait.pyc
+lib/python2.7/test/fork_wait.pyo
+lib/python2.7/test/formatfloat_testcases.txt
+lib/python2.7/test/gdb_sample.py
+lib/python2.7/test/gdb_sample.pyc
+lib/python2.7/test/gdb_sample.pyo
+lib/python2.7/test/greyrgb.uue
+lib/python2.7/test/ieee754.txt
+lib/python2.7/test/imghdrdata/python.bmp
+lib/python2.7/test/imghdrdata/python.gif
+lib/python2.7/test/imghdrdata/python.jpg
+lib/python2.7/test/imghdrdata/python.pbm
+lib/python2.7/test/imghdrdata/python.pgm
+lib/python2.7/test/imghdrdata/python.png
+lib/python2.7/test/imghdrdata/python.ppm
+lib/python2.7/test/imghdrdata/python.ras
+lib/python2.7/test/imghdrdata/python.sgi
+lib/python2.7/test/imghdrdata/python.tiff
+lib/python2.7/test/imghdrdata/python.xbm
+lib/python2.7/test/infinite_reload.py
+lib/python2.7/test/infinite_reload.pyc
+lib/python2.7/test/infinite_reload.pyo
+lib/python2.7/test/inspect_fodder.py
+lib/python2.7/test/inspect_fodder.pyc
+lib/python2.7/test/inspect_fodder.pyo
+lib/python2.7/test/inspect_fodder2.py
+lib/python2.7/test/inspect_fodder2.pyc
+lib/python2.7/test/inspect_fodder2.pyo
+lib/python2.7/test/keycert.passwd.pem
+lib/python2.7/test/keycert.pem
+lib/python2.7/test/keycert2.pem
+lib/python2.7/test/keycert3.pem
+lib/python2.7/test/keycert4.pem
+lib/python2.7/test/list_tests.py
+lib/python2.7/test/list_tests.pyc
+lib/python2.7/test/list_tests.pyo
+lib/python2.7/test/lock_tests.py
+lib/python2.7/test/lock_tests.pyc
+lib/python2.7/test/lock_tests.pyo
+lib/python2.7/test/make_ssl_certs.py
+lib/python2.7/test/make_ssl_certs.pyc
+lib/python2.7/test/make_ssl_certs.pyo
+lib/python2.7/test/mapping_tests.py
+lib/python2.7/test/mapping_tests.pyc
+lib/python2.7/test/mapping_tests.pyo
+lib/python2.7/test/math_testcases.txt
+lib/python2.7/test/mp_fork_bomb.py
+lib/python2.7/test/mp_fork_bomb.pyc
+lib/python2.7/test/mp_fork_bomb.pyo
+lib/python2.7/test/multibytecodec_support.py
+lib/python2.7/test/multibytecodec_support.pyc
+lib/python2.7/test/multibytecodec_support.pyo
+lib/python2.7/test/nokia.pem
+lib/python2.7/test/nullbytecert.pem
+lib/python2.7/test/nullcert.pem
+lib/python2.7/test/outstanding_bugs.py
+lib/python2.7/test/outstanding_bugs.pyc
+lib/python2.7/test/outstanding_bugs.pyo
+lib/python2.7/test/pickletester.py
+lib/python2.7/test/pickletester.pyc
+lib/python2.7/test/pickletester.pyo
+lib/python2.7/test/profilee.py
+lib/python2.7/test/profilee.pyc
+lib/python2.7/test/profilee.pyo
+lib/python2.7/test/pycacert.pem
+lib/python2.7/test/pyclbr_input.py
+lib/python2.7/test/pyclbr_input.pyc
+lib/python2.7/test/pyclbr_input.pyo
+lib/python2.7/test/pydoc_mod.py
+lib/python2.7/test/pydoc_mod.pyc
+lib/python2.7/test/pydoc_mod.pyo
+lib/python2.7/test/pydocfodder.py
+lib/python2.7/test/pydocfodder.pyc
+lib/python2.7/test/pydocfodder.pyo
+lib/python2.7/test/pystone.py
+lib/python2.7/test/pystone.pyc
+lib/python2.7/test/pystone.pyo
+lib/python2.7/test/pythoninfo.py
+lib/python2.7/test/pythoninfo.pyc
+lib/python2.7/test/pythoninfo.pyo
+lib/python2.7/test/randv2_32.pck
+lib/python2.7/test/randv2_64.pck
+lib/python2.7/test/randv3.pck
+lib/python2.7/test/re_tests.py
+lib/python2.7/test/re_tests.pyc
+lib/python2.7/test/re_tests.pyo
+lib/python2.7/test/regrtest.py
+lib/python2.7/test/regrtest.pyc
+lib/python2.7/test/regrtest.pyo
+lib/python2.7/test/relimport.py
+lib/python2.7/test/relimport.pyc
+lib/python2.7/test/relimport.pyo
+lib/python2.7/test/reperf.py
+lib/python2.7/test/reperf.pyc
+lib/python2.7/test/reperf.pyo
+lib/python2.7/test/revocation.crl
+lib/python2.7/test/sample_doctest.py
+lib/python2.7/test/sample_doctest.pyc
+lib/python2.7/test/sample_doctest.pyo
+lib/python2.7/test/sample_doctest_no_docstrings.py
+lib/python2.7/test/sample_doctest_no_docstrings.pyc
+lib/python2.7/test/sample_doctest_no_docstrings.pyo
+lib/python2.7/test/sample_doctest_no_doctests.py
+lib/python2.7/test/sample_doctest_no_doctests.pyc
+lib/python2.7/test/sample_doctest_no_doctests.pyo
+lib/python2.7/test/script_helper.py
+lib/python2.7/test/script_helper.pyc
+lib/python2.7/test/script_helper.pyo
+lib/python2.7/test/selfsigned_pythontestdotnet.pem
+lib/python2.7/test/seq_tests.py
+lib/python2.7/test/seq_tests.pyc
+lib/python2.7/test/seq_tests.pyo
+lib/python2.7/test/sgml_input.html
+lib/python2.7/test/sortperf.py
+lib/python2.7/test/sortperf.pyc
+lib/python2.7/test/sortperf.pyo
+lib/python2.7/test/ssl_cert.pem
+lib/python2.7/test/ssl_key.passwd.pem
+lib/python2.7/test/ssl_key.pem
+lib/python2.7/test/ssl_servers.py
+lib/python2.7/test/ssl_servers.pyc
+lib/python2.7/test/ssl_servers.pyo
+lib/python2.7/test/ssltests.py
+lib/python2.7/test/ssltests.pyc
+lib/python2.7/test/ssltests.pyo
+lib/python2.7/test/string_tests.py
+lib/python2.7/test/string_tests.pyc
+lib/python2.7/test/string_tests.pyo
+lib/python2.7/test/subprocessdata/sigchild_ignore.py
+lib/python2.7/test/subprocessdata/sigchild_ignore.pyc
+lib/python2.7/test/subprocessdata/sigchild_ignore.pyo
+lib/python2.7/test/support/__init__.py
+lib/python2.7/test/support/__init__.pyc
+lib/python2.7/test/support/__init__.pyo
+lib/python2.7/test/support/script_helper.py
+lib/python2.7/test/support/script_helper.pyc
+lib/python2.7/test/support/script_helper.pyo
+lib/python2.7/test/symlink_support.py
+lib/python2.7/test/symlink_support.pyc
+lib/python2.7/test/symlink_support.pyo
+lib/python2.7/test/talos-2019-0758.pem
+lib/python2.7/test/test_MimeWriter.py
+lib/python2.7/test/test_MimeWriter.pyc
+lib/python2.7/test/test_MimeWriter.pyo
+lib/python2.7/test/test_SimpleHTTPServer.py
+lib/python2.7/test/test_SimpleHTTPServer.pyc
+lib/python2.7/test/test_SimpleHTTPServer.pyo
+lib/python2.7/test/test_StringIO.py
+lib/python2.7/test/test_StringIO.pyc
+lib/python2.7/test/test_StringIO.pyo
+lib/python2.7/test/test___all__.py
+lib/python2.7/test/test___all__.pyc
+lib/python2.7/test/test___all__.pyo
+lib/python2.7/test/test___future__.py
+lib/python2.7/test/test___future__.pyc
+lib/python2.7/test/test___future__.pyo
+lib/python2.7/test/test__locale.py
+lib/python2.7/test/test__locale.pyc
+lib/python2.7/test/test__locale.pyo
+lib/python2.7/test/test__osx_support.py
+lib/python2.7/test/test__osx_support.pyc
+lib/python2.7/test/test__osx_support.pyo
+lib/python2.7/test/test_abc.py
+lib/python2.7/test/test_abc.pyc
+lib/python2.7/test/test_abc.pyo
+lib/python2.7/test/test_abstract_numbers.py
+lib/python2.7/test/test_abstract_numbers.pyc
+lib/python2.7/test/test_abstract_numbers.pyo
+lib/python2.7/test/test_aepack.py
+lib/python2.7/test/test_aepack.pyc
+lib/python2.7/test/test_aepack.pyo
+lib/python2.7/test/test_aifc.py
+lib/python2.7/test/test_aifc.pyc
+lib/python2.7/test/test_aifc.pyo
+lib/python2.7/test/test_al.py
+lib/python2.7/test/test_al.pyc
+lib/python2.7/test/test_al.pyo
+lib/python2.7/test/test_anydbm.py
+lib/python2.7/test/test_anydbm.pyc
+lib/python2.7/test/test_anydbm.pyo
+lib/python2.7/test/test_applesingle.py
+lib/python2.7/test/test_applesingle.pyc
+lib/python2.7/test/test_applesingle.pyo
+lib/python2.7/test/test_argparse.py
+lib/python2.7/test/test_argparse.pyc
+lib/python2.7/test/test_argparse.pyo
+lib/python2.7/test/test_array.py
+lib/python2.7/test/test_array.pyc
+lib/python2.7/test/test_array.pyo
+lib/python2.7/test/test_ascii_formatd.py
+lib/python2.7/test/test_ascii_formatd.pyc
+lib/python2.7/test/test_ascii_formatd.pyo
+lib/python2.7/test/test_ast.py
+lib/python2.7/test/test_ast.pyc
+lib/python2.7/test/test_ast.pyo
+lib/python2.7/test/test_asynchat.py
+lib/python2.7/test/test_asynchat.pyc
+lib/python2.7/test/test_asynchat.pyo
+lib/python2.7/test/test_asyncore.py
+lib/python2.7/test/test_asyncore.pyc
+lib/python2.7/test/test_asyncore.pyo
+lib/python2.7/test/test_atexit.py
+lib/python2.7/test/test_atexit.pyc
+lib/python2.7/test/test_atexit.pyo
+lib/python2.7/test/test_audioop.py
+lib/python2.7/test/test_audioop.pyc
+lib/python2.7/test/test_audioop.pyo
+lib/python2.7/test/test_augassign.py
+lib/python2.7/test/test_augassign.pyc
+lib/python2.7/test/test_augassign.pyo
+lib/python2.7/test/test_base64.py
+lib/python2.7/test/test_base64.pyc
+lib/python2.7/test/test_base64.pyo
+lib/python2.7/test/test_bastion.py
+lib/python2.7/test/test_bastion.pyc
+lib/python2.7/test/test_bastion.pyo
+lib/python2.7/test/test_bdb.py
+lib/python2.7/test/test_bdb.pyc
+lib/python2.7/test/test_bdb.pyo
+lib/python2.7/test/test_bigaddrspace.py
+lib/python2.7/test/test_bigaddrspace.pyc
+lib/python2.7/test/test_bigaddrspace.pyo
+lib/python2.7/test/test_bigmem.py
+lib/python2.7/test/test_bigmem.pyc
+lib/python2.7/test/test_bigmem.pyo
+lib/python2.7/test/test_binascii.py
+lib/python2.7/test/test_binascii.pyc
+lib/python2.7/test/test_binascii.pyo
+lib/python2.7/test/test_binhex.py
+lib/python2.7/test/test_binhex.pyc
+lib/python2.7/test/test_binhex.pyo
+lib/python2.7/test/test_binop.py
+lib/python2.7/test/test_binop.pyc
+lib/python2.7/test/test_binop.pyo
+lib/python2.7/test/test_bisect.py
+lib/python2.7/test/test_bisect.pyc
+lib/python2.7/test/test_bisect.pyo
+lib/python2.7/test/test_bool.py
+lib/python2.7/test/test_bool.pyc
+lib/python2.7/test/test_bool.pyo
+lib/python2.7/test/test_bsddb.py
+lib/python2.7/test/test_bsddb.pyc
+lib/python2.7/test/test_bsddb.pyo
+lib/python2.7/test/test_bsddb185.py
+lib/python2.7/test/test_bsddb185.pyc
+lib/python2.7/test/test_bsddb185.pyo
+lib/python2.7/test/test_bsddb3.py
+lib/python2.7/test/test_bsddb3.pyc
+lib/python2.7/test/test_bsddb3.pyo
+lib/python2.7/test/test_buffer.py
+lib/python2.7/test/test_buffer.pyc
+lib/python2.7/test/test_buffer.pyo
+lib/python2.7/test/test_bufio.py
+lib/python2.7/test/test_bufio.pyc
+lib/python2.7/test/test_bufio.pyo
+lib/python2.7/test/test_builtin.py
+lib/python2.7/test/test_builtin.pyc
+lib/python2.7/test/test_builtin.pyo
+lib/python2.7/test/test_bytes.py
+lib/python2.7/test/test_bytes.pyc
+lib/python2.7/test/test_bytes.pyo
+lib/python2.7/test/test_bz2.py
+lib/python2.7/test/test_bz2.pyc
+lib/python2.7/test/test_bz2.pyo
+lib/python2.7/test/test_calendar.py
+lib/python2.7/test/test_calendar.pyc
+lib/python2.7/test/test_calendar.pyo
+lib/python2.7/test/test_call.py
+lib/python2.7/test/test_call.pyc
+lib/python2.7/test/test_call.pyo
+lib/python2.7/test/test_capi.py
+lib/python2.7/test/test_capi.pyc
+lib/python2.7/test/test_capi.pyo
+lib/python2.7/test/test_cd.py
+lib/python2.7/test/test_cd.pyc
+lib/python2.7/test/test_cd.pyo
+lib/python2.7/test/test_cfgparser.py
+lib/python2.7/test/test_cfgparser.pyc
+lib/python2.7/test/test_cfgparser.pyo
+lib/python2.7/test/test_cgi.py
+lib/python2.7/test/test_cgi.pyc
+lib/python2.7/test/test_cgi.pyo
+lib/python2.7/test/test_charmapcodec.py
+lib/python2.7/test/test_charmapcodec.pyc
+lib/python2.7/test/test_charmapcodec.pyo
+lib/python2.7/test/test_cl.py
+lib/python2.7/test/test_cl.pyc
+lib/python2.7/test/test_cl.pyo
+lib/python2.7/test/test_class.py
+lib/python2.7/test/test_class.pyc
+lib/python2.7/test/test_class.pyo
+lib/python2.7/test/test_cmath.py
+lib/python2.7/test/test_cmath.pyc
+lib/python2.7/test/test_cmath.pyo
+lib/python2.7/test/test_cmd.py
+lib/python2.7/test/test_cmd.pyc
+lib/python2.7/test/test_cmd.pyo
+lib/python2.7/test/test_cmd_line.py
+lib/python2.7/test/test_cmd_line.pyc
+lib/python2.7/test/test_cmd_line.pyo
+lib/python2.7/test/test_cmd_line_script.py
+lib/python2.7/test/test_cmd_line_script.pyc
+lib/python2.7/test/test_cmd_line_script.pyo
+lib/python2.7/test/test_code.py
+lib/python2.7/test/test_code.pyc
+lib/python2.7/test/test_code.pyo
+lib/python2.7/test/test_codeccallbacks.py
+lib/python2.7/test/test_codeccallbacks.pyc
+lib/python2.7/test/test_codeccallbacks.pyo
+lib/python2.7/test/test_codecencodings_cn.py
+lib/python2.7/test/test_codecencodings_cn.pyc
+lib/python2.7/test/test_codecencodings_cn.pyo
+lib/python2.7/test/test_codecencodings_hk.py
+lib/python2.7/test/test_codecencodings_hk.pyc
+lib/python2.7/test/test_codecencodings_hk.pyo
+lib/python2.7/test/test_codecencodings_iso2022.py
+lib/python2.7/test/test_codecencodings_iso2022.pyc
+lib/python2.7/test/test_codecencodings_iso2022.pyo
+lib/python2.7/test/test_codecencodings_jp.py
+lib/python2.7/test/test_codecencodings_jp.pyc
+lib/python2.7/test/test_codecencodings_jp.pyo
+lib/python2.7/test/test_codecencodings_kr.py
+lib/python2.7/test/test_codecencodings_kr.pyc
+lib/python2.7/test/test_codecencodings_kr.pyo
+lib/python2.7/test/test_codecencodings_tw.py
+lib/python2.7/test/test_codecencodings_tw.pyc
+lib/python2.7/test/test_codecencodings_tw.pyo
+lib/python2.7/test/test_codecmaps_cn.py
+lib/python2.7/test/test_codecmaps_cn.pyc
+lib/python2.7/test/test_codecmaps_cn.pyo
+lib/python2.7/test/test_codecmaps_hk.py
+lib/python2.7/test/test_codecmaps_hk.pyc
+lib/python2.7/test/test_codecmaps_hk.pyo
+lib/python2.7/test/test_codecmaps_jp.py
+lib/python2.7/test/test_codecmaps_jp.pyc
+lib/python2.7/test/test_codecmaps_jp.pyo
+lib/python2.7/test/test_codecmaps_kr.py
+lib/python2.7/test/test_codecmaps_kr.pyc
+lib/python2.7/test/test_codecmaps_kr.pyo
+lib/python2.7/test/test_codecmaps_tw.py
+lib/python2.7/test/test_codecmaps_tw.pyc
+lib/python2.7/test/test_codecmaps_tw.pyo
+lib/python2.7/test/test_codecs.py
+lib/python2.7/test/test_codecs.pyc
+lib/python2.7/test/test_codecs.pyo
+lib/python2.7/test/test_codeop.py
+lib/python2.7/test/test_codeop.pyc
+lib/python2.7/test/test_codeop.pyo
+lib/python2.7/test/test_coercion.py
+lib/python2.7/test/test_coercion.pyc
+lib/python2.7/test/test_coercion.pyo
+lib/python2.7/test/test_collections.py
+lib/python2.7/test/test_collections.pyc
+lib/python2.7/test/test_collections.pyo
+lib/python2.7/test/test_colorsys.py
+lib/python2.7/test/test_colorsys.pyc
+lib/python2.7/test/test_colorsys.pyo
+lib/python2.7/test/test_commands.py
+lib/python2.7/test/test_commands.pyc
+lib/python2.7/test/test_commands.pyo
+lib/python2.7/test/test_compare.py
+lib/python2.7/test/test_compare.pyc
+lib/python2.7/test/test_compare.pyo
+lib/python2.7/test/test_compile.py
+lib/python2.7/test/test_compile.pyc
+lib/python2.7/test/test_compile.pyo
+lib/python2.7/test/test_compileall.py
+lib/python2.7/test/test_compileall.pyc
+lib/python2.7/test/test_compileall.pyo
+lib/python2.7/test/test_compiler.py
+lib/python2.7/test/test_compiler.pyc
+lib/python2.7/test/test_compiler.pyo
+lib/python2.7/test/test_complex.py
+lib/python2.7/test/test_complex.pyc
+lib/python2.7/test/test_complex.pyo
+lib/python2.7/test/test_complex_args.py
+lib/python2.7/test/test_complex_args.pyc
+lib/python2.7/test/test_complex_args.pyo
+lib/python2.7/test/test_contains.py
+lib/python2.7/test/test_contains.pyc
+lib/python2.7/test/test_contains.pyo
+lib/python2.7/test/test_contextlib.py
+lib/python2.7/test/test_contextlib.pyc
+lib/python2.7/test/test_contextlib.pyo
+lib/python2.7/test/test_cookie.py
+lib/python2.7/test/test_cookie.pyc
+lib/python2.7/test/test_cookie.pyo
+lib/python2.7/test/test_cookielib.py
+lib/python2.7/test/test_cookielib.pyc
+lib/python2.7/test/test_cookielib.pyo
+lib/python2.7/test/test_copy.py
+lib/python2.7/test/test_copy.pyc
+lib/python2.7/test/test_copy.pyo
+lib/python2.7/test/test_copy_reg.py
+lib/python2.7/test/test_copy_reg.pyc
+lib/python2.7/test/test_copy_reg.pyo
+lib/python2.7/test/test_cpickle.py
+lib/python2.7/test/test_cpickle.pyc
+lib/python2.7/test/test_cpickle.pyo
+lib/python2.7/test/test_cprofile.py
+lib/python2.7/test/test_cprofile.pyc
+lib/python2.7/test/test_cprofile.pyo
+lib/python2.7/test/test_crypt.py
+lib/python2.7/test/test_crypt.pyc
+lib/python2.7/test/test_crypt.pyo
+lib/python2.7/test/test_csv.py
+lib/python2.7/test/test_csv.pyc
+lib/python2.7/test/test_csv.pyo
+lib/python2.7/test/test_ctypes.py
+lib/python2.7/test/test_ctypes.pyc
+lib/python2.7/test/test_ctypes.pyo
+lib/python2.7/test/test_curses.py
+lib/python2.7/test/test_curses.pyc
+lib/python2.7/test/test_curses.pyo
+lib/python2.7/test/test_datetime.py
+lib/python2.7/test/test_datetime.pyc
+lib/python2.7/test/test_datetime.pyo
+lib/python2.7/test/test_dbm.py
+lib/python2.7/test/test_dbm.pyc
+lib/python2.7/test/test_dbm.pyo
+lib/python2.7/test/test_decimal.py
+lib/python2.7/test/test_decimal.pyc
+lib/python2.7/test/test_decimal.pyo
+lib/python2.7/test/test_decorators.py
+lib/python2.7/test/test_decorators.pyc
+lib/python2.7/test/test_decorators.pyo
+lib/python2.7/test/test_defaultdict.py
+lib/python2.7/test/test_defaultdict.pyc
+lib/python2.7/test/test_defaultdict.pyo
+lib/python2.7/test/test_deque.py
+lib/python2.7/test/test_deque.pyc
+lib/python2.7/test/test_deque.pyo
+lib/python2.7/test/test_descr.py
+lib/python2.7/test/test_descr.pyc
+lib/python2.7/test/test_descr.pyo
+lib/python2.7/test/test_descrtut.py
+lib/python2.7/test/test_descrtut.pyc
+lib/python2.7/test/test_descrtut.pyo
+lib/python2.7/test/test_dict.py
+lib/python2.7/test/test_dict.pyc
+lib/python2.7/test/test_dict.pyo
+lib/python2.7/test/test_dictcomps.py
+lib/python2.7/test/test_dictcomps.pyc
+lib/python2.7/test/test_dictcomps.pyo
+lib/python2.7/test/test_dictviews.py
+lib/python2.7/test/test_dictviews.pyc
+lib/python2.7/test/test_dictviews.pyo
+lib/python2.7/test/test_difflib.py
+lib/python2.7/test/test_difflib.pyc
+lib/python2.7/test/test_difflib.pyo
+lib/python2.7/test/test_difflib_expect.html
+lib/python2.7/test/test_dircache.py
+lib/python2.7/test/test_dircache.pyc
+lib/python2.7/test/test_dircache.pyo
+lib/python2.7/test/test_dis.py
+lib/python2.7/test/test_dis.pyc
+lib/python2.7/test/test_dis.pyo
+lib/python2.7/test/test_distutils.py
+lib/python2.7/test/test_distutils.pyc
+lib/python2.7/test/test_distutils.pyo
+lib/python2.7/test/test_dl.py
+lib/python2.7/test/test_dl.pyc
+lib/python2.7/test/test_dl.pyo
+lib/python2.7/test/test_doctest.py
+lib/python2.7/test/test_doctest.pyc
+lib/python2.7/test/test_doctest.pyo
+lib/python2.7/test/test_doctest.txt
+lib/python2.7/test/test_doctest2.py
+lib/python2.7/test/test_doctest2.pyc
+lib/python2.7/test/test_doctest2.pyo
+lib/python2.7/test/test_doctest2.txt
+lib/python2.7/test/test_doctest3.txt
+lib/python2.7/test/test_doctest4.txt
+lib/python2.7/test/test_docxmlrpc.py
+lib/python2.7/test/test_docxmlrpc.pyc
+lib/python2.7/test/test_docxmlrpc.pyo
+lib/python2.7/test/test_dumbdbm.py
+lib/python2.7/test/test_dumbdbm.pyc
+lib/python2.7/test/test_dumbdbm.pyo
+lib/python2.7/test/test_dummy_thread.py
+lib/python2.7/test/test_dummy_thread.pyc
+lib/python2.7/test/test_dummy_thread.pyo
+lib/python2.7/test/test_dummy_threading.py
+lib/python2.7/test/test_dummy_threading.pyc
+lib/python2.7/test/test_dummy_threading.pyo
+lib/python2.7/test/test_email.py
+lib/python2.7/test/test_email.pyc
+lib/python2.7/test/test_email.pyo
+lib/python2.7/test/test_email_codecs.py
+lib/python2.7/test/test_email_codecs.pyc
+lib/python2.7/test/test_email_codecs.pyo
+lib/python2.7/test/test_email_renamed.py
+lib/python2.7/test/test_email_renamed.pyc
+lib/python2.7/test/test_email_renamed.pyo
+lib/python2.7/test/test_ensurepip.py
+lib/python2.7/test/test_ensurepip.pyc
+lib/python2.7/test/test_ensurepip.pyo
+lib/python2.7/test/test_enumerate.py
+lib/python2.7/test/test_enumerate.pyc
+lib/python2.7/test/test_enumerate.pyo
+lib/python2.7/test/test_eof.py
+lib/python2.7/test/test_eof.pyc
+lib/python2.7/test/test_eof.pyo
+lib/python2.7/test/test_epoll.py
+lib/python2.7/test/test_epoll.pyc
+lib/python2.7/test/test_epoll.pyo
+lib/python2.7/test/test_errno.py
+lib/python2.7/test/test_errno.pyc
+lib/python2.7/test/test_errno.pyo
+lib/python2.7/test/test_exception_variations.py
+lib/python2.7/test/test_exception_variations.pyc
+lib/python2.7/test/test_exception_variations.pyo
+lib/python2.7/test/test_exceptions.py
+lib/python2.7/test/test_exceptions.pyc
+lib/python2.7/test/test_exceptions.pyo
+lib/python2.7/test/test_extcall.py
+lib/python2.7/test/test_extcall.pyc
+lib/python2.7/test/test_extcall.pyo
+lib/python2.7/test/test_fcntl.py
+lib/python2.7/test/test_fcntl.pyc
+lib/python2.7/test/test_fcntl.pyo
+lib/python2.7/test/test_file.py
+lib/python2.7/test/test_file.pyc
+lib/python2.7/test/test_file.pyo
+lib/python2.7/test/test_file2k.py
+lib/python2.7/test/test_file2k.pyc
+lib/python2.7/test/test_file2k.pyo
+lib/python2.7/test/test_file_eintr.py
+lib/python2.7/test/test_file_eintr.pyc
+lib/python2.7/test/test_file_eintr.pyo
+lib/python2.7/test/test_filecmp.py
+lib/python2.7/test/test_filecmp.pyc
+lib/python2.7/test/test_filecmp.pyo
+lib/python2.7/test/test_fileinput.py
+lib/python2.7/test/test_fileinput.pyc
+lib/python2.7/test/test_fileinput.pyo
+lib/python2.7/test/test_fileio.py
+lib/python2.7/test/test_fileio.pyc
+lib/python2.7/test/test_fileio.pyo
+lib/python2.7/test/test_float.py
+lib/python2.7/test/test_float.pyc
+lib/python2.7/test/test_float.pyo
+lib/python2.7/test/test_fnmatch.py
+lib/python2.7/test/test_fnmatch.pyc
+lib/python2.7/test/test_fnmatch.pyo
+lib/python2.7/test/test_fork1.py
+lib/python2.7/test/test_fork1.pyc
+lib/python2.7/test/test_fork1.pyo
+lib/python2.7/test/test_format.py
+lib/python2.7/test/test_format.pyc
+lib/python2.7/test/test_format.pyo
+lib/python2.7/test/test_fpformat.py
+lib/python2.7/test/test_fpformat.pyc
+lib/python2.7/test/test_fpformat.pyo
+lib/python2.7/test/test_fractions.py
+lib/python2.7/test/test_fractions.pyc
+lib/python2.7/test/test_fractions.pyo
+lib/python2.7/test/test_frozen.py
+lib/python2.7/test/test_frozen.pyc
+lib/python2.7/test/test_frozen.pyo
+lib/python2.7/test/test_ftplib.py
+lib/python2.7/test/test_ftplib.pyc
+lib/python2.7/test/test_ftplib.pyo
+lib/python2.7/test/test_funcattrs.py
+lib/python2.7/test/test_funcattrs.pyc
+lib/python2.7/test/test_funcattrs.pyo
+lib/python2.7/test/test_functools.py
+lib/python2.7/test/test_functools.pyc
+lib/python2.7/test/test_functools.pyo
+lib/python2.7/test/test_future.py
+lib/python2.7/test/test_future.pyc
+lib/python2.7/test/test_future.pyo
+lib/python2.7/test/test_future1.py
+lib/python2.7/test/test_future1.pyc
+lib/python2.7/test/test_future1.pyo
+lib/python2.7/test/test_future2.py
+lib/python2.7/test/test_future2.pyc
+lib/python2.7/test/test_future2.pyo
+lib/python2.7/test/test_future3.py
+lib/python2.7/test/test_future3.pyc
+lib/python2.7/test/test_future3.pyo
+lib/python2.7/test/test_future4.py
+lib/python2.7/test/test_future4.pyc
+lib/python2.7/test/test_future4.pyo
+lib/python2.7/test/test_future5.py
+lib/python2.7/test/test_future5.pyc
+lib/python2.7/test/test_future5.pyo
+lib/python2.7/test/test_future_builtins.py
+lib/python2.7/test/test_future_builtins.pyc
+lib/python2.7/test/test_future_builtins.pyo
+lib/python2.7/test/test_gc.py
+lib/python2.7/test/test_gc.pyc
+lib/python2.7/test/test_gc.pyo
+lib/python2.7/test/test_gdb.py
+lib/python2.7/test/test_gdb.pyc
+lib/python2.7/test/test_gdb.pyo
+lib/python2.7/test/test_gdbm.py
+lib/python2.7/test/test_gdbm.pyc
+lib/python2.7/test/test_gdbm.pyo
+lib/python2.7/test/test_generators.py
+lib/python2.7/test/test_generators.pyc
+lib/python2.7/test/test_generators.pyo
+lib/python2.7/test/test_genericpath.py
+lib/python2.7/test/test_genericpath.pyc
+lib/python2.7/test/test_genericpath.pyo
+lib/python2.7/test/test_genexps.py
+lib/python2.7/test/test_genexps.pyc
+lib/python2.7/test/test_genexps.pyo
+lib/python2.7/test/test_getargs.py
+lib/python2.7/test/test_getargs.pyc
+lib/python2.7/test/test_getargs.pyo
+lib/python2.7/test/test_getargs2.py
+lib/python2.7/test/test_getargs2.pyc
+lib/python2.7/test/test_getargs2.pyo
+lib/python2.7/test/test_getopt.py
+lib/python2.7/test/test_getopt.pyc
+lib/python2.7/test/test_getopt.pyo
+lib/python2.7/test/test_gettext.py
+lib/python2.7/test/test_gettext.pyc
+lib/python2.7/test/test_gettext.pyo
+lib/python2.7/test/test_gl.py
+lib/python2.7/test/test_gl.pyc
+lib/python2.7/test/test_gl.pyo
+lib/python2.7/test/test_glob.py
+lib/python2.7/test/test_glob.pyc
+lib/python2.7/test/test_glob.pyo
+lib/python2.7/test/test_global.py
+lib/python2.7/test/test_global.pyc
+lib/python2.7/test/test_global.pyo
+lib/python2.7/test/test_grammar.py
+lib/python2.7/test/test_grammar.pyc
+lib/python2.7/test/test_grammar.pyo
+lib/python2.7/test/test_grp.py
+lib/python2.7/test/test_grp.pyc
+lib/python2.7/test/test_grp.pyo
+lib/python2.7/test/test_gzip.py
+lib/python2.7/test/test_gzip.pyc
+lib/python2.7/test/test_gzip.pyo
+lib/python2.7/test/test_hash.py
+lib/python2.7/test/test_hash.pyc
+lib/python2.7/test/test_hash.pyo
+lib/python2.7/test/test_hashlib.py
+lib/python2.7/test/test_hashlib.pyc
+lib/python2.7/test/test_hashlib.pyo
+lib/python2.7/test/test_heapq.py
+lib/python2.7/test/test_heapq.pyc
+lib/python2.7/test/test_heapq.pyo
+lib/python2.7/test/test_hmac.py
+lib/python2.7/test/test_hmac.pyc
+lib/python2.7/test/test_hmac.pyo
+lib/python2.7/test/test_hotshot.py
+lib/python2.7/test/test_hotshot.pyc
+lib/python2.7/test/test_hotshot.pyo
+lib/python2.7/test/test_htmllib.py
+lib/python2.7/test/test_htmllib.pyc
+lib/python2.7/test/test_htmllib.pyo
+lib/python2.7/test/test_htmlparser.py
+lib/python2.7/test/test_htmlparser.pyc
+lib/python2.7/test/test_htmlparser.pyo
+lib/python2.7/test/test_httplib.py
+lib/python2.7/test/test_httplib.pyc
+lib/python2.7/test/test_httplib.pyo
+lib/python2.7/test/test_httpservers.py
+lib/python2.7/test/test_httpservers.pyc
+lib/python2.7/test/test_httpservers.pyo
+lib/python2.7/test/test_idle.py
+lib/python2.7/test/test_idle.pyc
+lib/python2.7/test/test_idle.pyo
+lib/python2.7/test/test_imageop.py
+lib/python2.7/test/test_imageop.pyc
+lib/python2.7/test/test_imageop.pyo
+lib/python2.7/test/test_imaplib.py
+lib/python2.7/test/test_imaplib.pyc
+lib/python2.7/test/test_imaplib.pyo
+lib/python2.7/test/test_imgfile.py
+lib/python2.7/test/test_imgfile.pyc
+lib/python2.7/test/test_imgfile.pyo
+lib/python2.7/test/test_imghdr.py
+lib/python2.7/test/test_imghdr.pyc
+lib/python2.7/test/test_imghdr.pyo
+lib/python2.7/test/test_imp.py
+lib/python2.7/test/test_imp.pyc
+lib/python2.7/test/test_imp.pyo
+lib/python2.7/test/test_import.py
+lib/python2.7/test/test_import.pyc
+lib/python2.7/test/test_import.pyo
+lib/python2.7/test/test_import_magic.py
+lib/python2.7/test/test_import_magic.pyc
+lib/python2.7/test/test_import_magic.pyo
+lib/python2.7/test/test_importhooks.py
+lib/python2.7/test/test_importhooks.pyc
+lib/python2.7/test/test_importhooks.pyo
+lib/python2.7/test/test_importlib.py
+lib/python2.7/test/test_importlib.pyc
+lib/python2.7/test/test_importlib.pyo
+lib/python2.7/test/test_index.py
+lib/python2.7/test/test_index.pyc
+lib/python2.7/test/test_index.pyo
+lib/python2.7/test/test_inspect.py
+lib/python2.7/test/test_inspect.pyc
+lib/python2.7/test/test_inspect.pyo
+lib/python2.7/test/test_int.py
+lib/python2.7/test/test_int.pyc
+lib/python2.7/test/test_int.pyo
+lib/python2.7/test/test_int_literal.py
+lib/python2.7/test/test_int_literal.pyc
+lib/python2.7/test/test_int_literal.pyo
+lib/python2.7/test/test_io.py
+lib/python2.7/test/test_io.pyc
+lib/python2.7/test/test_io.pyo
+lib/python2.7/test/test_ioctl.py
+lib/python2.7/test/test_ioctl.pyc
+lib/python2.7/test/test_ioctl.pyo
+lib/python2.7/test/test_isinstance.py
+lib/python2.7/test/test_isinstance.pyc
+lib/python2.7/test/test_isinstance.pyo
+lib/python2.7/test/test_iter.py
+lib/python2.7/test/test_iter.pyc
+lib/python2.7/test/test_iter.pyo
+lib/python2.7/test/test_iterlen.py
+lib/python2.7/test/test_iterlen.pyc
+lib/python2.7/test/test_iterlen.pyo
+lib/python2.7/test/test_itertools.py
+lib/python2.7/test/test_itertools.pyc
+lib/python2.7/test/test_itertools.pyo
+lib/python2.7/test/test_json.py
+lib/python2.7/test/test_json.pyc
+lib/python2.7/test/test_json.pyo
+lib/python2.7/test/test_kqueue.py
+lib/python2.7/test/test_kqueue.pyc
+lib/python2.7/test/test_kqueue.pyo
+lib/python2.7/test/test_largefile.py
+lib/python2.7/test/test_largefile.pyc
+lib/python2.7/test/test_largefile.pyo
+lib/python2.7/test/test_lib2to3.py
+lib/python2.7/test/test_lib2to3.pyc
+lib/python2.7/test/test_lib2to3.pyo
+lib/python2.7/test/test_linecache.py
+lib/python2.7/test/test_linecache.pyc
+lib/python2.7/test/test_linecache.pyo
+lib/python2.7/test/test_linuxaudiodev.py
+lib/python2.7/test/test_linuxaudiodev.pyc
+lib/python2.7/test/test_linuxaudiodev.pyo
+lib/python2.7/test/test_list.py
+lib/python2.7/test/test_list.pyc
+lib/python2.7/test/test_list.pyo
+lib/python2.7/test/test_locale.py
+lib/python2.7/test/test_locale.pyc
+lib/python2.7/test/test_locale.pyo
+lib/python2.7/test/test_logging.py
+lib/python2.7/test/test_logging.pyc
+lib/python2.7/test/test_logging.pyo
+lib/python2.7/test/test_long.py
+lib/python2.7/test/test_long.pyc
+lib/python2.7/test/test_long.pyo
+lib/python2.7/test/test_long_future.py
+lib/python2.7/test/test_long_future.pyc
+lib/python2.7/test/test_long_future.pyo
+lib/python2.7/test/test_longexp.py
+lib/python2.7/test/test_longexp.pyc
+lib/python2.7/test/test_longexp.pyo
+lib/python2.7/test/test_macos.py
+lib/python2.7/test/test_macos.pyc
+lib/python2.7/test/test_macos.pyo
+lib/python2.7/test/test_macostools.py
+lib/python2.7/test/test_macostools.pyc
+lib/python2.7/test/test_macostools.pyo
+lib/python2.7/test/test_macpath.py
+lib/python2.7/test/test_macpath.pyc
+lib/python2.7/test/test_macpath.pyo
+lib/python2.7/test/test_macurl2path.py
+lib/python2.7/test/test_macurl2path.pyc
+lib/python2.7/test/test_macurl2path.pyo
+lib/python2.7/test/test_mailbox.py
+lib/python2.7/test/test_mailbox.pyc
+lib/python2.7/test/test_mailbox.pyo
+lib/python2.7/test/test_marshal.py
+lib/python2.7/test/test_marshal.pyc
+lib/python2.7/test/test_marshal.pyo
+lib/python2.7/test/test_math.py
+lib/python2.7/test/test_math.pyc
+lib/python2.7/test/test_math.pyo
+lib/python2.7/test/test_md5.py
+lib/python2.7/test/test_md5.pyc
+lib/python2.7/test/test_md5.pyo
+lib/python2.7/test/test_memoryio.py
+lib/python2.7/test/test_memoryio.pyc
+lib/python2.7/test/test_memoryio.pyo
+lib/python2.7/test/test_memoryview.py
+lib/python2.7/test/test_memoryview.pyc
+lib/python2.7/test/test_memoryview.pyo
+lib/python2.7/test/test_mhlib.py
+lib/python2.7/test/test_mhlib.pyc
+lib/python2.7/test/test_mhlib.pyo
+lib/python2.7/test/test_mimetools.py
+lib/python2.7/test/test_mimetools.pyc
+lib/python2.7/test/test_mimetools.pyo
+lib/python2.7/test/test_mimetypes.py
+lib/python2.7/test/test_mimetypes.pyc
+lib/python2.7/test/test_mimetypes.pyo
+lib/python2.7/test/test_minidom.py
+lib/python2.7/test/test_minidom.pyc
+lib/python2.7/test/test_minidom.pyo
+lib/python2.7/test/test_mmap.py
+lib/python2.7/test/test_mmap.pyc
+lib/python2.7/test/test_mmap.pyo
+lib/python2.7/test/test_module.py
+lib/python2.7/test/test_module.pyc
+lib/python2.7/test/test_module.pyo
+lib/python2.7/test/test_modulefinder.py
+lib/python2.7/test/test_modulefinder.pyc
+lib/python2.7/test/test_modulefinder.pyo
+lib/python2.7/test/test_msilib.py
+lib/python2.7/test/test_msilib.pyc
+lib/python2.7/test/test_msilib.pyo
+lib/python2.7/test/test_multibytecodec.py
+lib/python2.7/test/test_multibytecodec.pyc
+lib/python2.7/test/test_multibytecodec.pyo
+lib/python2.7/test/test_multifile.py
+lib/python2.7/test/test_multifile.pyc
+lib/python2.7/test/test_multifile.pyo
+lib/python2.7/test/test_multiprocessing.py
+lib/python2.7/test/test_multiprocessing.pyc
+lib/python2.7/test/test_multiprocessing.pyo
+lib/python2.7/test/test_mutants.py
+lib/python2.7/test/test_mutants.pyc
+lib/python2.7/test/test_mutants.pyo
+lib/python2.7/test/test_mutex.py
+lib/python2.7/test/test_mutex.pyc
+lib/python2.7/test/test_mutex.pyo
+lib/python2.7/test/test_netrc.py
+lib/python2.7/test/test_netrc.pyc
+lib/python2.7/test/test_netrc.pyo
+lib/python2.7/test/test_new.py
+lib/python2.7/test/test_new.pyc
+lib/python2.7/test/test_new.pyo
+lib/python2.7/test/test_nis.py
+lib/python2.7/test/test_nis.pyc
+lib/python2.7/test/test_nis.pyo
+lib/python2.7/test/test_nntplib.py
+lib/python2.7/test/test_nntplib.pyc
+lib/python2.7/test/test_nntplib.pyo
+lib/python2.7/test/test_normalization.py
+lib/python2.7/test/test_normalization.pyc
+lib/python2.7/test/test_normalization.pyo
+lib/python2.7/test/test_ntpath.py
+lib/python2.7/test/test_ntpath.pyc
+lib/python2.7/test/test_ntpath.pyo
+lib/python2.7/test/test_old_mailbox.py
+lib/python2.7/test/test_old_mailbox.pyc
+lib/python2.7/test/test_old_mailbox.pyo
+lib/python2.7/test/test_opcodes.py
+lib/python2.7/test/test_opcodes.pyc
+lib/python2.7/test/test_opcodes.pyo
+lib/python2.7/test/test_openpty.py
+lib/python2.7/test/test_openpty.pyc
+lib/python2.7/test/test_openpty.pyo
+lib/python2.7/test/test_operator.py
+lib/python2.7/test/test_operator.pyc
+lib/python2.7/test/test_operator.pyo
+lib/python2.7/test/test_optparse.py
+lib/python2.7/test/test_optparse.pyc
+lib/python2.7/test/test_optparse.pyo
+lib/python2.7/test/test_ordered_dict.py
+lib/python2.7/test/test_ordered_dict.pyc
+lib/python2.7/test/test_ordered_dict.pyo
+lib/python2.7/test/test_os.py
+lib/python2.7/test/test_os.pyc
+lib/python2.7/test/test_os.pyo
+lib/python2.7/test/test_ossaudiodev.py
+lib/python2.7/test/test_ossaudiodev.pyc
+lib/python2.7/test/test_ossaudiodev.pyo
+lib/python2.7/test/test_parser.py
+lib/python2.7/test/test_parser.pyc
+lib/python2.7/test/test_parser.pyo
+lib/python2.7/test/test_pdb.py
+lib/python2.7/test/test_pdb.pyc
+lib/python2.7/test/test_pdb.pyo
+lib/python2.7/test/test_peepholer.py
+lib/python2.7/test/test_peepholer.pyc
+lib/python2.7/test/test_peepholer.pyo
+lib/python2.7/test/test_pep247.py
+lib/python2.7/test/test_pep247.pyc
+lib/python2.7/test/test_pep247.pyo
+lib/python2.7/test/test_pep277.py
+lib/python2.7/test/test_pep277.pyc
+lib/python2.7/test/test_pep277.pyo
+lib/python2.7/test/test_pep352.py
+lib/python2.7/test/test_pep352.pyc
+lib/python2.7/test/test_pep352.pyo
+lib/python2.7/test/test_pickle.py
+lib/python2.7/test/test_pickle.pyc
+lib/python2.7/test/test_pickle.pyo
+lib/python2.7/test/test_pickletools.py
+lib/python2.7/test/test_pickletools.pyc
+lib/python2.7/test/test_pickletools.pyo
+lib/python2.7/test/test_pipes.py
+lib/python2.7/test/test_pipes.pyc
+lib/python2.7/test/test_pipes.pyo
+lib/python2.7/test/test_pkg.py
+lib/python2.7/test/test_pkg.pyc
+lib/python2.7/test/test_pkg.pyo
+lib/python2.7/test/test_pkgimport.py
+lib/python2.7/test/test_pkgimport.pyc
+lib/python2.7/test/test_pkgimport.pyo
+lib/python2.7/test/test_pkgutil.py
+lib/python2.7/test/test_pkgutil.pyc
+lib/python2.7/test/test_pkgutil.pyo
+lib/python2.7/test/test_platform.py
+lib/python2.7/test/test_platform.pyc
+lib/python2.7/test/test_platform.pyo
+lib/python2.7/test/test_plistlib.py
+lib/python2.7/test/test_plistlib.pyc
+lib/python2.7/test/test_plistlib.pyo
+lib/python2.7/test/test_poll.py
+lib/python2.7/test/test_poll.pyc
+lib/python2.7/test/test_poll.pyo
+lib/python2.7/test/test_popen.py
+lib/python2.7/test/test_popen.pyc
+lib/python2.7/test/test_popen.pyo
+lib/python2.7/test/test_popen2.py
+lib/python2.7/test/test_popen2.pyc
+lib/python2.7/test/test_popen2.pyo
+lib/python2.7/test/test_poplib.py
+lib/python2.7/test/test_poplib.pyc
+lib/python2.7/test/test_poplib.pyo
+lib/python2.7/test/test_posix.py
+lib/python2.7/test/test_posix.pyc
+lib/python2.7/test/test_posix.pyo
+lib/python2.7/test/test_posixpath.py
+lib/python2.7/test/test_posixpath.pyc
+lib/python2.7/test/test_posixpath.pyo
+lib/python2.7/test/test_pow.py
+lib/python2.7/test/test_pow.pyc
+lib/python2.7/test/test_pow.pyo
+lib/python2.7/test/test_pprint.py
+lib/python2.7/test/test_pprint.pyc
+lib/python2.7/test/test_pprint.pyo
+lib/python2.7/test/test_print.py
+lib/python2.7/test/test_print.pyc
+lib/python2.7/test/test_print.pyo
+lib/python2.7/test/test_profile.py
+lib/python2.7/test/test_profile.pyc
+lib/python2.7/test/test_profile.pyo
+lib/python2.7/test/test_property.py
+lib/python2.7/test/test_property.pyc
+lib/python2.7/test/test_property.pyo
+lib/python2.7/test/test_pstats.py
+lib/python2.7/test/test_pstats.pyc
+lib/python2.7/test/test_pstats.pyo
+lib/python2.7/test/test_pty.py
+lib/python2.7/test/test_pty.pyc
+lib/python2.7/test/test_pty.pyo
+lib/python2.7/test/test_pwd.py
+lib/python2.7/test/test_pwd.pyc
+lib/python2.7/test/test_pwd.pyo
+lib/python2.7/test/test_py3kwarn.py
+lib/python2.7/test/test_py3kwarn.pyc
+lib/python2.7/test/test_py3kwarn.pyo
+lib/python2.7/test/test_py_compile.py
+lib/python2.7/test/test_py_compile.pyc
+lib/python2.7/test/test_py_compile.pyo
+lib/python2.7/test/test_pyclbr.py
+lib/python2.7/test/test_pyclbr.pyc
+lib/python2.7/test/test_pyclbr.pyo
+lib/python2.7/test/test_pydoc.py
+lib/python2.7/test/test_pydoc.pyc
+lib/python2.7/test/test_pydoc.pyo
+lib/python2.7/test/test_pyexpat.py
+lib/python2.7/test/test_pyexpat.pyc
+lib/python2.7/test/test_pyexpat.pyo
+lib/python2.7/test/test_queue.py
+lib/python2.7/test/test_queue.pyc
+lib/python2.7/test/test_queue.pyo
+lib/python2.7/test/test_quopri.py
+lib/python2.7/test/test_quopri.pyc
+lib/python2.7/test/test_quopri.pyo
+lib/python2.7/test/test_random.py
+lib/python2.7/test/test_random.pyc
+lib/python2.7/test/test_random.pyo
+lib/python2.7/test/test_re.py
+lib/python2.7/test/test_re.pyc
+lib/python2.7/test/test_re.pyo
+lib/python2.7/test/test_readline.py
+lib/python2.7/test/test_readline.pyc
+lib/python2.7/test/test_readline.pyo
+lib/python2.7/test/test_regrtest.py
+lib/python2.7/test/test_regrtest.pyc
+lib/python2.7/test/test_regrtest.pyo
+lib/python2.7/test/test_repr.py
+lib/python2.7/test/test_repr.pyc
+lib/python2.7/test/test_repr.pyo
+lib/python2.7/test/test_resource.py
+lib/python2.7/test/test_resource.pyc
+lib/python2.7/test/test_resource.pyo
+lib/python2.7/test/test_rfc822.py
+lib/python2.7/test/test_rfc822.pyc
+lib/python2.7/test/test_rfc822.pyo
+lib/python2.7/test/test_richcmp.py
+lib/python2.7/test/test_richcmp.pyc
+lib/python2.7/test/test_richcmp.pyo
+lib/python2.7/test/test_rlcompleter.py
+lib/python2.7/test/test_rlcompleter.pyc
+lib/python2.7/test/test_rlcompleter.pyo
+lib/python2.7/test/test_robotparser.py
+lib/python2.7/test/test_robotparser.pyc
+lib/python2.7/test/test_robotparser.pyo
+lib/python2.7/test/test_runpy.py
+lib/python2.7/test/test_runpy.pyc
+lib/python2.7/test/test_runpy.pyo
+lib/python2.7/test/test_sax.py
+lib/python2.7/test/test_sax.pyc
+lib/python2.7/test/test_sax.pyo
+lib/python2.7/test/test_scope.py
+lib/python2.7/test/test_scope.pyc
+lib/python2.7/test/test_scope.pyo
+lib/python2.7/test/test_scriptpackages.py
+lib/python2.7/test/test_scriptpackages.pyc
+lib/python2.7/test/test_scriptpackages.pyo
+lib/python2.7/test/test_select.py
+lib/python2.7/test/test_select.pyc
+lib/python2.7/test/test_select.pyo
+lib/python2.7/test/test_set.py
+lib/python2.7/test/test_set.pyc
+lib/python2.7/test/test_set.pyo
+lib/python2.7/test/test_setcomps.py
+lib/python2.7/test/test_setcomps.pyc
+lib/python2.7/test/test_setcomps.pyo
+lib/python2.7/test/test_sets.py
+lib/python2.7/test/test_sets.pyc
+lib/python2.7/test/test_sets.pyo
+lib/python2.7/test/test_sgmllib.py
+lib/python2.7/test/test_sgmllib.pyc
+lib/python2.7/test/test_sgmllib.pyo
+lib/python2.7/test/test_sha.py
+lib/python2.7/test/test_sha.pyc
+lib/python2.7/test/test_sha.pyo
+lib/python2.7/test/test_shelve.py
+lib/python2.7/test/test_shelve.pyc
+lib/python2.7/test/test_shelve.pyo
+lib/python2.7/test/test_shlex.py
+lib/python2.7/test/test_shlex.pyc
+lib/python2.7/test/test_shlex.pyo
+lib/python2.7/test/test_shutil.py
+lib/python2.7/test/test_shutil.pyc
+lib/python2.7/test/test_shutil.pyo
+lib/python2.7/test/test_signal.py
+lib/python2.7/test/test_signal.pyc
+lib/python2.7/test/test_signal.pyo
+lib/python2.7/test/test_site.py
+lib/python2.7/test/test_site.pyc
+lib/python2.7/test/test_site.pyo
+lib/python2.7/test/test_slice.py
+lib/python2.7/test/test_slice.pyc
+lib/python2.7/test/test_slice.pyo
+lib/python2.7/test/test_smtplib.py
+lib/python2.7/test/test_smtplib.pyc
+lib/python2.7/test/test_smtplib.pyo
+lib/python2.7/test/test_smtpnet.py
+lib/python2.7/test/test_smtpnet.pyc
+lib/python2.7/test/test_smtpnet.pyo
+lib/python2.7/test/test_socket.py
+lib/python2.7/test/test_socket.pyc
+lib/python2.7/test/test_socket.pyo
+lib/python2.7/test/test_socketserver.py
+lib/python2.7/test/test_socketserver.pyc
+lib/python2.7/test/test_socketserver.pyo
+lib/python2.7/test/test_softspace.py
+lib/python2.7/test/test_softspace.pyc
+lib/python2.7/test/test_softspace.pyo
+lib/python2.7/test/test_sort.py
+lib/python2.7/test/test_sort.pyc
+lib/python2.7/test/test_sort.pyo
+lib/python2.7/test/test_source_encoding.py
+lib/python2.7/test/test_source_encoding.pyc
+lib/python2.7/test/test_source_encoding.pyo
+lib/python2.7/test/test_spwd.py
+lib/python2.7/test/test_spwd.pyc
+lib/python2.7/test/test_spwd.pyo
+lib/python2.7/test/test_sqlite.py
+lib/python2.7/test/test_sqlite.pyc
+lib/python2.7/test/test_sqlite.pyo
+lib/python2.7/test/test_ssl.py
+lib/python2.7/test/test_ssl.pyc
+lib/python2.7/test/test_ssl.pyo
+lib/python2.7/test/test_startfile.py
+lib/python2.7/test/test_startfile.pyc
+lib/python2.7/test/test_startfile.pyo
+lib/python2.7/test/test_stat.py
+lib/python2.7/test/test_stat.pyc
+lib/python2.7/test/test_stat.pyo
+lib/python2.7/test/test_str.py
+lib/python2.7/test/test_str.pyc
+lib/python2.7/test/test_str.pyo
+lib/python2.7/test/test_strftime.py
+lib/python2.7/test/test_strftime.pyc
+lib/python2.7/test/test_strftime.pyo
+lib/python2.7/test/test_string.py
+lib/python2.7/test/test_string.pyc
+lib/python2.7/test/test_string.pyo
+lib/python2.7/test/test_stringprep.py
+lib/python2.7/test/test_stringprep.pyc
+lib/python2.7/test/test_stringprep.pyo
+lib/python2.7/test/test_strop.py
+lib/python2.7/test/test_strop.pyc
+lib/python2.7/test/test_strop.pyo
+lib/python2.7/test/test_strptime.py
+lib/python2.7/test/test_strptime.pyc
+lib/python2.7/test/test_strptime.pyo
+lib/python2.7/test/test_strtod.py
+lib/python2.7/test/test_strtod.pyc
+lib/python2.7/test/test_strtod.pyo
+lib/python2.7/test/test_struct.py
+lib/python2.7/test/test_struct.pyc
+lib/python2.7/test/test_struct.pyo
+lib/python2.7/test/test_structmembers.py
+lib/python2.7/test/test_structmembers.pyc
+lib/python2.7/test/test_structmembers.pyo
+lib/python2.7/test/test_structseq.py
+lib/python2.7/test/test_structseq.pyc
+lib/python2.7/test/test_structseq.pyo
+lib/python2.7/test/test_subprocess.py
+lib/python2.7/test/test_subprocess.pyc
+lib/python2.7/test/test_subprocess.pyo
+lib/python2.7/test/test_sunau.py
+lib/python2.7/test/test_sunau.pyc
+lib/python2.7/test/test_sunau.pyo
+lib/python2.7/test/test_sunaudiodev.py
+lib/python2.7/test/test_sunaudiodev.pyc
+lib/python2.7/test/test_sunaudiodev.pyo
+lib/python2.7/test/test_sundry.py
+lib/python2.7/test/test_sundry.pyc
+lib/python2.7/test/test_sundry.pyo
+lib/python2.7/test/test_support.py
+lib/python2.7/test/test_support.pyc
+lib/python2.7/test/test_support.pyo
+lib/python2.7/test/test_symtable.py
+lib/python2.7/test/test_symtable.pyc
+lib/python2.7/test/test_symtable.pyo
+lib/python2.7/test/test_syntax.py
+lib/python2.7/test/test_syntax.pyc
+lib/python2.7/test/test_syntax.pyo
+lib/python2.7/test/test_sys.py
+lib/python2.7/test/test_sys.pyc
+lib/python2.7/test/test_sys.pyo
+lib/python2.7/test/test_sys_setprofile.py
+lib/python2.7/test/test_sys_setprofile.pyc
+lib/python2.7/test/test_sys_setprofile.pyo
+lib/python2.7/test/test_sys_settrace.py
+lib/python2.7/test/test_sys_settrace.pyc
+lib/python2.7/test/test_sys_settrace.pyo
+lib/python2.7/test/test_sysconfig.py
+lib/python2.7/test/test_sysconfig.pyc
+lib/python2.7/test/test_sysconfig.pyo
+lib/python2.7/test/test_tarfile.py
+lib/python2.7/test/test_tarfile.pyc
+lib/python2.7/test/test_tarfile.pyo
+lib/python2.7/test/test_tcl.py
+lib/python2.7/test/test_tcl.pyc
+lib/python2.7/test/test_tcl.pyo
+lib/python2.7/test/test_telnetlib.py
+lib/python2.7/test/test_telnetlib.pyc
+lib/python2.7/test/test_telnetlib.pyo
+lib/python2.7/test/test_tempfile.py
+lib/python2.7/test/test_tempfile.pyc
+lib/python2.7/test/test_tempfile.pyo
+lib/python2.7/test/test_test_support.py
+lib/python2.7/test/test_test_support.pyc
+lib/python2.7/test/test_test_support.pyo
+lib/python2.7/test/test_textwrap.py
+lib/python2.7/test/test_textwrap.pyc
+lib/python2.7/test/test_textwrap.pyo
+lib/python2.7/test/test_thread.py
+lib/python2.7/test/test_thread.pyc
+lib/python2.7/test/test_thread.pyo
+lib/python2.7/test/test_threaded_import.py
+lib/python2.7/test/test_threaded_import.pyc
+lib/python2.7/test/test_threaded_import.pyo
+lib/python2.7/test/test_threadedtempfile.py
+lib/python2.7/test/test_threadedtempfile.pyc
+lib/python2.7/test/test_threadedtempfile.pyo
+lib/python2.7/test/test_threading.py
+lib/python2.7/test/test_threading.pyc
+lib/python2.7/test/test_threading.pyo
+lib/python2.7/test/test_threading_local.py
+lib/python2.7/test/test_threading_local.pyc
+lib/python2.7/test/test_threading_local.pyo
+lib/python2.7/test/test_threadsignals.py
+lib/python2.7/test/test_threadsignals.pyc
+lib/python2.7/test/test_threadsignals.pyo
+lib/python2.7/test/test_time.py
+lib/python2.7/test/test_time.pyc
+lib/python2.7/test/test_time.pyo
+lib/python2.7/test/test_timeit.py
+lib/python2.7/test/test_timeit.pyc
+lib/python2.7/test/test_timeit.pyo
+lib/python2.7/test/test_timeout.py
+lib/python2.7/test/test_timeout.pyc
+lib/python2.7/test/test_timeout.pyo
+lib/python2.7/test/test_tk.py
+lib/python2.7/test/test_tk.pyc
+lib/python2.7/test/test_tk.pyo
+lib/python2.7/test/test_tokenize.py
+lib/python2.7/test/test_tokenize.pyc
+lib/python2.7/test/test_tokenize.pyo
+lib/python2.7/test/test_tools.py
+lib/python2.7/test/test_tools.pyc
+lib/python2.7/test/test_tools.pyo
+lib/python2.7/test/test_trace.py
+lib/python2.7/test/test_trace.pyc
+lib/python2.7/test/test_trace.pyo
+lib/python2.7/test/test_traceback.py
+lib/python2.7/test/test_traceback.pyc
+lib/python2.7/test/test_traceback.pyo
+lib/python2.7/test/test_transformer.py
+lib/python2.7/test/test_transformer.pyc
+lib/python2.7/test/test_transformer.pyo
+lib/python2.7/test/test_ttk_guionly.py
+lib/python2.7/test/test_ttk_guionly.pyc
+lib/python2.7/test/test_ttk_guionly.pyo
+lib/python2.7/test/test_ttk_textonly.py
+lib/python2.7/test/test_ttk_textonly.pyc
+lib/python2.7/test/test_ttk_textonly.pyo
+lib/python2.7/test/test_tuple.py
+lib/python2.7/test/test_tuple.pyc
+lib/python2.7/test/test_tuple.pyo
+lib/python2.7/test/test_turtle.py
+lib/python2.7/test/test_turtle.pyc
+lib/python2.7/test/test_turtle.pyo
+lib/python2.7/test/test_typechecks.py
+lib/python2.7/test/test_typechecks.pyc
+lib/python2.7/test/test_typechecks.pyo
+lib/python2.7/test/test_types.py
+lib/python2.7/test/test_types.pyc
+lib/python2.7/test/test_types.pyo
+lib/python2.7/test/test_ucn.py
+lib/python2.7/test/test_ucn.pyc
+lib/python2.7/test/test_ucn.pyo
+lib/python2.7/test/test_unary.py
+lib/python2.7/test/test_unary.pyc
+lib/python2.7/test/test_unary.pyo
+lib/python2.7/test/test_undocumented_details.py
+lib/python2.7/test/test_undocumented_details.pyc
+lib/python2.7/test/test_undocumented_details.pyo
+lib/python2.7/test/test_unicode.py
+lib/python2.7/test/test_unicode.pyc
+lib/python2.7/test/test_unicode.pyo
+lib/python2.7/test/test_unicode_file.py
+lib/python2.7/test/test_unicode_file.pyc
+lib/python2.7/test/test_unicode_file.pyo
+lib/python2.7/test/test_unicodedata.py
+lib/python2.7/test/test_unicodedata.pyc
+lib/python2.7/test/test_unicodedata.pyo
+lib/python2.7/test/test_unittest.py
+lib/python2.7/test/test_unittest.pyc
+lib/python2.7/test/test_unittest.pyo
+lib/python2.7/test/test_univnewlines.py
+lib/python2.7/test/test_univnewlines.pyc
+lib/python2.7/test/test_univnewlines.pyo
+lib/python2.7/test/test_univnewlines2k.py
+lib/python2.7/test/test_univnewlines2k.pyc
+lib/python2.7/test/test_univnewlines2k.pyo
+lib/python2.7/test/test_unpack.py
+lib/python2.7/test/test_unpack.pyc
+lib/python2.7/test/test_unpack.pyo
+lib/python2.7/test/test_urllib.py
+lib/python2.7/test/test_urllib.pyc
+lib/python2.7/test/test_urllib.pyo
+lib/python2.7/test/test_urllib2.py
+lib/python2.7/test/test_urllib2.pyc
+lib/python2.7/test/test_urllib2.pyo
+lib/python2.7/test/test_urllib2_localnet.py
+lib/python2.7/test/test_urllib2_localnet.pyc
+lib/python2.7/test/test_urllib2_localnet.pyo
+lib/python2.7/test/test_urllib2net.py
+lib/python2.7/test/test_urllib2net.pyc
+lib/python2.7/test/test_urllib2net.pyo
+lib/python2.7/test/test_urllibnet.py
+lib/python2.7/test/test_urllibnet.pyc
+lib/python2.7/test/test_urllibnet.pyo
+lib/python2.7/test/test_urlparse.py
+lib/python2.7/test/test_urlparse.pyc
+lib/python2.7/test/test_urlparse.pyo
+lib/python2.7/test/test_userdict.py
+lib/python2.7/test/test_userdict.pyc
+lib/python2.7/test/test_userdict.pyo
+lib/python2.7/test/test_userlist.py
+lib/python2.7/test/test_userlist.pyc
+lib/python2.7/test/test_userlist.pyo
+lib/python2.7/test/test_userstring.py
+lib/python2.7/test/test_userstring.pyc
+lib/python2.7/test/test_userstring.pyo
+lib/python2.7/test/test_uu.py
+lib/python2.7/test/test_uu.pyc
+lib/python2.7/test/test_uu.pyo
+lib/python2.7/test/test_uuid.py
+lib/python2.7/test/test_uuid.pyc
+lib/python2.7/test/test_uuid.pyo
+lib/python2.7/test/test_wait3.py
+lib/python2.7/test/test_wait3.pyc
+lib/python2.7/test/test_wait3.pyo
+lib/python2.7/test/test_wait4.py
+lib/python2.7/test/test_wait4.pyc
+lib/python2.7/test/test_wait4.pyo
+lib/python2.7/test/test_warnings.py
+lib/python2.7/test/test_warnings.pyc
+lib/python2.7/test/test_warnings.pyo
+lib/python2.7/test/test_wave.py
+lib/python2.7/test/test_wave.pyc
+lib/python2.7/test/test_wave.pyo
+lib/python2.7/test/test_weakref.py
+lib/python2.7/test/test_weakref.pyc
+lib/python2.7/test/test_weakref.pyo
+lib/python2.7/test/test_weakset.py
+lib/python2.7/test/test_weakset.pyc
+lib/python2.7/test/test_weakset.pyo
+lib/python2.7/test/test_whichdb.py
+lib/python2.7/test/test_whichdb.pyc
+lib/python2.7/test/test_whichdb.pyo
+lib/python2.7/test/test_winreg.py
+lib/python2.7/test/test_winreg.pyc
+lib/python2.7/test/test_winreg.pyo
+lib/python2.7/test/test_winsound.py
+lib/python2.7/test/test_winsound.pyc
+lib/python2.7/test/test_winsound.pyo
+lib/python2.7/test/test_with.py
+lib/python2.7/test/test_with.pyc
+lib/python2.7/test/test_with.pyo
+lib/python2.7/test/test_wsgiref.py
+lib/python2.7/test/test_wsgiref.pyc
+lib/python2.7/test/test_wsgiref.pyo
+lib/python2.7/test/test_xdrlib.py
+lib/python2.7/test/test_xdrlib.pyc
+lib/python2.7/test/test_xdrlib.pyo
+lib/python2.7/test/test_xml_etree.py
+lib/python2.7/test/test_xml_etree.pyc
+lib/python2.7/test/test_xml_etree.pyo
+lib/python2.7/test/test_xml_etree_c.py
+lib/python2.7/test/test_xml_etree_c.pyc
+lib/python2.7/test/test_xml_etree_c.pyo
+lib/python2.7/test/test_xmllib.py
+lib/python2.7/test/test_xmllib.pyc
+lib/python2.7/test/test_xmllib.pyo
+lib/python2.7/test/test_xmlrpc.py
+lib/python2.7/test/test_xmlrpc.pyc
+lib/python2.7/test/test_xmlrpc.pyo
+lib/python2.7/test/test_xpickle.py
+lib/python2.7/test/test_xpickle.pyc
+lib/python2.7/test/test_xpickle.pyo
+lib/python2.7/test/test_xrange.py
+lib/python2.7/test/test_xrange.pyc
+lib/python2.7/test/test_xrange.pyo
+lib/python2.7/test/test_zipfile.py
+lib/python2.7/test/test_zipfile.pyc
+lib/python2.7/test/test_zipfile.pyo
+lib/python2.7/test/test_zipfile64.py
+lib/python2.7/test/test_zipfile64.pyc
+lib/python2.7/test/test_zipfile64.pyo
+lib/python2.7/test/test_zipimport.py
+lib/python2.7/test/test_zipimport.pyc
+lib/python2.7/test/test_zipimport.pyo
+lib/python2.7/test/test_zipimport_support.py
+lib/python2.7/test/test_zipimport_support.pyc
+lib/python2.7/test/test_zipimport_support.pyo
+lib/python2.7/test/test_zlib.py
+lib/python2.7/test/test_zlib.pyc
+lib/python2.7/test/test_zlib.pyo
+lib/python2.7/test/testall.py
+lib/python2.7/test/testall.pyc
+lib/python2.7/test/testall.pyo
+lib/python2.7/test/testcodec.py
+lib/python2.7/test/testcodec.pyc
+lib/python2.7/test/testcodec.pyo
+lib/python2.7/test/testimg.uue
+lib/python2.7/test/testimgr.uue
+lib/python2.7/test/testrgb.uue
+lib/python2.7/test/testtar.tar
+lib/python2.7/test/tf_inherit_check.py
+lib/python2.7/test/tf_inherit_check.pyc
+lib/python2.7/test/tf_inherit_check.pyo
+lib/python2.7/test/threaded_import_hangers.py
+lib/python2.7/test/threaded_import_hangers.pyc
+lib/python2.7/test/threaded_import_hangers.pyo
+lib/python2.7/test/time_hashlib.py
+lib/python2.7/test/time_hashlib.pyc
+lib/python2.7/test/time_hashlib.pyo
+lib/python2.7/test/tokenize_tests.txt
+lib/python2.7/test/tracedmodules/__init__.py
+lib/python2.7/test/tracedmodules/__init__.pyc
+lib/python2.7/test/tracedmodules/__init__.pyo
+lib/python2.7/test/tracedmodules/testmod.py
+lib/python2.7/test/tracedmodules/testmod.pyc
+lib/python2.7/test/tracedmodules/testmod.pyo
+lib/python2.7/test/warning_tests.py
+lib/python2.7/test/warning_tests.pyc
+lib/python2.7/test/warning_tests.pyo
+lib/python2.7/test/win_console_handler.py
+lib/python2.7/test/win_console_handler.pyc
+lib/python2.7/test/win_console_handler.pyo
+lib/python2.7/test/xmltestdata/expat224_utf8_bug.xml
+lib/python2.7/test/xmltestdata/simple-ns.xml
+lib/python2.7/test/xmltestdata/simple.xml
+lib/python2.7/test/xmltestdata/test.xml
+lib/python2.7/test/xmltestdata/test.xml.out
+lib/python2.7/test/xmltests.py
+lib/python2.7/test/xmltests.pyc
+lib/python2.7/test/xmltests.pyo
+lib/python2.7/test/zipdir.zip
+lib/python2.7/textwrap.py
+lib/python2.7/textwrap.pyc
+lib/python2.7/textwrap.pyo
+lib/python2.7/this.py
+lib/python2.7/this.pyc
+lib/python2.7/this.pyo
+lib/python2.7/threading.py
+lib/python2.7/threading.pyc
+lib/python2.7/threading.pyo
+lib/python2.7/timeit.py
+lib/python2.7/timeit.pyc
+lib/python2.7/timeit.pyo
+lib/python2.7/toaiff.py
+lib/python2.7/toaiff.pyc
+lib/python2.7/toaiff.pyo
+lib/python2.7/token.py
+lib/python2.7/token.pyc
+lib/python2.7/token.pyo
+lib/python2.7/tokenize.py
+lib/python2.7/tokenize.pyc
+lib/python2.7/tokenize.pyo
+lib/python2.7/trace.py
+lib/python2.7/trace.pyc
+lib/python2.7/trace.pyo
+lib/python2.7/traceback.py
+lib/python2.7/traceback.pyc
+lib/python2.7/traceback.pyo
+lib/python2.7/tty.py
+lib/python2.7/tty.pyc
+lib/python2.7/tty.pyo
+lib/python2.7/types.py
+lib/python2.7/types.pyc
+lib/python2.7/types.pyo
+lib/python2.7/unittest/__init__.py
+lib/python2.7/unittest/__init__.pyc
+lib/python2.7/unittest/__init__.pyo
+lib/python2.7/unittest/__main__.py
+lib/python2.7/unittest/__main__.pyc
+lib/python2.7/unittest/__main__.pyo
+lib/python2.7/unittest/case.py
+lib/python2.7/unittest/case.pyc
+lib/python2.7/unittest/case.pyo
+lib/python2.7/unittest/loader.py
+lib/python2.7/unittest/loader.pyc
+lib/python2.7/unittest/loader.pyo
+lib/python2.7/unittest/main.py
+lib/python2.7/unittest/main.pyc
+lib/python2.7/unittest/main.pyo
+lib/python2.7/unittest/result.py
+lib/python2.7/unittest/result.pyc
+lib/python2.7/unittest/result.pyo
+lib/python2.7/unittest/runner.py
+lib/python2.7/unittest/runner.pyc
+lib/python2.7/unittest/runner.pyo
+lib/python2.7/unittest/signals.py
+lib/python2.7/unittest/signals.pyc
+lib/python2.7/unittest/signals.pyo
+lib/python2.7/unittest/suite.py
+lib/python2.7/unittest/suite.pyc
+lib/python2.7/unittest/suite.pyo
+lib/python2.7/unittest/test/__init__.py
+lib/python2.7/unittest/test/__init__.pyc
+lib/python2.7/unittest/test/__init__.pyo
+lib/python2.7/unittest/test/dummy.py
+lib/python2.7/unittest/test/dummy.pyc
+lib/python2.7/unittest/test/dummy.pyo
+lib/python2.7/unittest/test/support.py
+lib/python2.7/unittest/test/support.pyc
+lib/python2.7/unittest/test/support.pyo
+lib/python2.7/unittest/test/test_assertions.py
+lib/python2.7/unittest/test/test_assertions.pyc
+lib/python2.7/unittest/test/test_assertions.pyo
+lib/python2.7/unittest/test/test_break.py
+lib/python2.7/unittest/test/test_break.pyc
+lib/python2.7/unittest/test/test_break.pyo
+lib/python2.7/unittest/test/test_case.py
+lib/python2.7/unittest/test/test_case.pyc
+lib/python2.7/unittest/test/test_case.pyo
+lib/python2.7/unittest/test/test_discovery.py
+lib/python2.7/unittest/test/test_discovery.pyc
+lib/python2.7/unittest/test/test_discovery.pyo
+lib/python2.7/unittest/test/test_functiontestcase.py
+lib/python2.7/unittest/test/test_functiontestcase.pyc
+lib/python2.7/unittest/test/test_functiontestcase.pyo
+lib/python2.7/unittest/test/test_loader.py
+lib/python2.7/unittest/test/test_loader.pyc
+lib/python2.7/unittest/test/test_loader.pyo
+lib/python2.7/unittest/test/test_program.py
+lib/python2.7/unittest/test/test_program.pyc
+lib/python2.7/unittest/test/test_program.pyo
+lib/python2.7/unittest/test/test_result.py
+lib/python2.7/unittest/test/test_result.pyc
+lib/python2.7/unittest/test/test_result.pyo
+lib/python2.7/unittest/test/test_runner.py
+lib/python2.7/unittest/test/test_runner.pyc
+lib/python2.7/unittest/test/test_runner.pyo
+lib/python2.7/unittest/test/test_setups.py
+lib/python2.7/unittest/test/test_setups.pyc
+lib/python2.7/unittest/test/test_setups.pyo
+lib/python2.7/unittest/test/test_skipping.py
+lib/python2.7/unittest/test/test_skipping.pyc
+lib/python2.7/unittest/test/test_skipping.pyo
+lib/python2.7/unittest/test/test_suite.py
+lib/python2.7/unittest/test/test_suite.pyc
+lib/python2.7/unittest/test/test_suite.pyo
+lib/python2.7/unittest/util.py
+lib/python2.7/unittest/util.pyc
+lib/python2.7/unittest/util.pyo
+lib/python2.7/urllib.py
+lib/python2.7/urllib.pyc
+lib/python2.7/urllib.pyo
+lib/python2.7/urllib2.py
+lib/python2.7/urllib2.pyc
+lib/python2.7/urllib2.pyo
+lib/python2.7/urlparse.py
+lib/python2.7/urlparse.pyc
+lib/python2.7/urlparse.pyo
+lib/python2.7/user.py
+lib/python2.7/user.pyc
+lib/python2.7/user.pyo
+lib/python2.7/uu.py
+lib/python2.7/uu.pyc
+lib/python2.7/uu.pyo
+lib/python2.7/uuid.py
+lib/python2.7/uuid.pyc
+lib/python2.7/uuid.pyo
+lib/python2.7/warnings.py
+lib/python2.7/warnings.pyc
+lib/python2.7/warnings.pyo
+lib/python2.7/wave.py
+lib/python2.7/wave.pyc
+lib/python2.7/wave.pyo
+lib/python2.7/weakref.py
+lib/python2.7/weakref.pyc
+lib/python2.7/weakref.pyo
+lib/python2.7/webbrowser.py
+lib/python2.7/webbrowser.pyc
+lib/python2.7/webbrowser.pyo
+lib/python2.7/whichdb.py
+lib/python2.7/whichdb.pyc
+lib/python2.7/whichdb.pyo
+lib/python2.7/wsgiref.egg-info
+lib/python2.7/wsgiref/__init__.py
+lib/python2.7/wsgiref/__init__.pyc
+lib/python2.7/wsgiref/__init__.pyo
+lib/python2.7/wsgiref/handlers.py
+lib/python2.7/wsgiref/handlers.pyc
+lib/python2.7/wsgiref/handlers.pyo
+lib/python2.7/wsgiref/headers.py
+lib/python2.7/wsgiref/headers.pyc
+lib/python2.7/wsgiref/headers.pyo
+lib/python2.7/wsgiref/simple_server.py
+lib/python2.7/wsgiref/simple_server.pyc
+lib/python2.7/wsgiref/simple_server.pyo
+lib/python2.7/wsgiref/util.py
+lib/python2.7/wsgiref/util.pyc
+lib/python2.7/wsgiref/util.pyo
+lib/python2.7/wsgiref/validate.py
+lib/python2.7/wsgiref/validate.pyc
+lib/python2.7/wsgiref/validate.pyo
+lib/python2.7/xdrlib.py
+lib/python2.7/xdrlib.pyc
+lib/python2.7/xdrlib.pyo
+lib/python2.7/xml/__init__.py
+lib/python2.7/xml/__init__.pyc
+lib/python2.7/xml/__init__.pyo
+lib/python2.7/xml/dom/NodeFilter.py
+lib/python2.7/xml/dom/NodeFilter.pyc
+lib/python2.7/xml/dom/NodeFilter.pyo
+lib/python2.7/xml/dom/__init__.py
+lib/python2.7/xml/dom/__init__.pyc
+lib/python2.7/xml/dom/__init__.pyo
+lib/python2.7/xml/dom/domreg.py
+lib/python2.7/xml/dom/domreg.pyc
+lib/python2.7/xml/dom/domreg.pyo
+lib/python2.7/xml/dom/expatbuilder.py
+lib/python2.7/xml/dom/expatbuilder.pyc
+lib/python2.7/xml/dom/expatbuilder.pyo
+lib/python2.7/xml/dom/minicompat.py
+lib/python2.7/xml/dom/minicompat.pyc
+lib/python2.7/xml/dom/minicompat.pyo
+lib/python2.7/xml/dom/minidom.py
+lib/python2.7/xml/dom/minidom.pyc
+lib/python2.7/xml/dom/minidom.pyo
+lib/python2.7/xml/dom/pulldom.py
+lib/python2.7/xml/dom/pulldom.pyc
+lib/python2.7/xml/dom/pulldom.pyo
+lib/python2.7/xml/dom/xmlbuilder.py
+lib/python2.7/xml/dom/xmlbuilder.pyc
+lib/python2.7/xml/dom/xmlbuilder.pyo
+lib/python2.7/xml/etree/ElementInclude.py
+lib/python2.7/xml/etree/ElementInclude.pyc
+lib/python2.7/xml/etree/ElementInclude.pyo
+lib/python2.7/xml/etree/ElementPath.py
+lib/python2.7/xml/etree/ElementPath.pyc
+lib/python2.7/xml/etree/ElementPath.pyo
+lib/python2.7/xml/etree/ElementTree.py
+lib/python2.7/xml/etree/ElementTree.pyc
+lib/python2.7/xml/etree/ElementTree.pyo
+lib/python2.7/xml/etree/__init__.py
+lib/python2.7/xml/etree/__init__.pyc
+lib/python2.7/xml/etree/__init__.pyo
+lib/python2.7/xml/etree/cElementTree.py
+lib/python2.7/xml/etree/cElementTree.pyc
+lib/python2.7/xml/etree/cElementTree.pyo
+lib/python2.7/xml/parsers/__init__.py
+lib/python2.7/xml/parsers/__init__.pyc
+lib/python2.7/xml/parsers/__init__.pyo
+lib/python2.7/xml/parsers/expat.py
+lib/python2.7/xml/parsers/expat.pyc
+lib/python2.7/xml/parsers/expat.pyo
+lib/python2.7/xml/sax/__init__.py
+lib/python2.7/xml/sax/__init__.pyc
+lib/python2.7/xml/sax/__init__.pyo
+lib/python2.7/xml/sax/_exceptions.py
+lib/python2.7/xml/sax/_exceptions.pyc
+lib/python2.7/xml/sax/_exceptions.pyo
+lib/python2.7/xml/sax/expatreader.py
+lib/python2.7/xml/sax/expatreader.pyc
+lib/python2.7/xml/sax/expatreader.pyo
+lib/python2.7/xml/sax/handler.py
+lib/python2.7/xml/sax/handler.pyc
+lib/python2.7/xml/sax/handler.pyo
+lib/python2.7/xml/sax/saxutils.py
+lib/python2.7/xml/sax/saxutils.pyc
+lib/python2.7/xml/sax/saxutils.pyo
+lib/python2.7/xml/sax/xmlreader.py
+lib/python2.7/xml/sax/xmlreader.pyc
+lib/python2.7/xml/sax/xmlreader.pyo
+lib/python2.7/xmllib.py
+lib/python2.7/xmllib.pyc
+lib/python2.7/xmllib.pyo
+lib/python2.7/xmlrpclib.py
+lib/python2.7/xmlrpclib.pyc
+lib/python2.7/xmlrpclib.pyo
+lib/python2.7/zipfile.py
+lib/python2.7/zipfile.pyc
+lib/python2.7/zipfile.pyo
+libdata/pkgconfig/python-2.7.pc
+man/man1/python2.7.1.gz
diff --git a/test-ports/lang/python3/Makefile b/test-ports/lang/python3/Makefile
new file mode 100644
index 00000000..a31c2f39
--- /dev/null
+++ b/test-ports/lang/python3/Makefile
@@ -0,0 +1,55 @@
+# $FreeBSD: head/lang/python3/Makefile 491864 2019-02-01 21:42:29Z sunpoet $
+
+PORTNAME= python3
+PORTVERSION= ${PYTHON_MAJOR_VER}
+PORTREVISION= 3
+CATEGORIES= lang python ipv6
+MASTER_SITES=
+DISTFILES=
+EXTRACT_ONLY=
+
+MAINTAINER= python@FreeBSD.org
+COMMENT= The "meta-port" for version 3 of the Python interpreter
+
+USES= python:run
+
+NO_ARCH= yes
+NO_BUILD= yes
+PYTHON_VERSION= python${PYTHON3_DEFAULT}
+
+PLIST_FILES= bin/2to3-${PYTHON_MAJOR_VER} \
+ bin/idle${PYTHON_MAJOR_VER} \
+ bin/pydoc${PYTHON_MAJOR_VER} \
+ bin/python${PYTHON_MAJOR_VER} \
+ bin/python${PYTHON_MAJOR_VER}-config \
+ libdata/pkgconfig/python${PYTHON_MAJOR_VER}.pc
+
+.include <bsd.port.pre.mk>
+
+RUN_DEPENDS+= ${PYTHON_CMD}:${PYTHON_PORTSDIR}
+
+do-install:
+ ${LN} -sf python${PYTHON_VER} \
+ ${STAGEDIR}${PREFIX}/bin/python${PYTHON_MAJOR_VER}
+ ${LN} -sf 2to3-${PYTHON_VER} \
+ ${STAGEDIR}${PREFIX}/bin/2to3-${PYTHON_MAJOR_VER}
+.for file in idle pydoc
+ ${LN} -sf ${file}${PYTHON_VER} \
+ ${STAGEDIR}${PREFIX}/bin/${file}${PYTHON_MAJOR_VER}
+.endfor
+ ${LN} -sf python${PYTHON_VER}-config \
+ ${STAGEDIR}${PREFIX}/bin/python${PYTHON_MAJOR_VER}-config
+ ${LN} -sf python-${PYTHON_VER}.pc \
+ ${STAGEDIR}${PREFIX}/libdata/pkgconfig/python${PYTHON_MAJOR_VER}.pc
+
+# Major upgrade support
+PORTUPGRADE_CMD= ${LOCALBASE}/sbin/portupgrade
+
+.if defined(USE_PORTMASTER)
+PORTUPGRADE_CMD= ${LOCALBASE}/sbin/portmaster
+.endif
+
+PKG_LIST= ${PKG_BIN} query -a '%n-%v'
+PKG_LIST_FILES= ${PKG_INFO} -l
+
+.include <bsd.port.post.mk>
diff --git a/test-ports/lang/python3/pkg-descr b/test-ports/lang/python3/pkg-descr
new file mode 100644
index 00000000..c2915480
--- /dev/null
+++ b/test-ports/lang/python3/pkg-descr
@@ -0,0 +1,8 @@
+Python is an interpreted object-oriented programming language, and is
+often compared to Tcl, Perl or Scheme.
+This is a meta port to the Python 3.x interpreter and provides symbolic links
+to bin/python3, bin/pydoc3, bin/idle3 and so on to allow compatibility with
+minor version agnostic python scripts.
+Do not depend on this port.
+
+WWW: https://www.python.org/
diff --git a/test-ports/lang/python35/Makefile b/test-ports/lang/python35/Makefile
new file mode 100644
index 00000000..43b491ef
--- /dev/null
+++ b/test-ports/lang/python35/Makefile
@@ -0,0 +1,144 @@
+# Created by: Kubilay Kocak <koobs@FreeBSD.org>
+# $FreeBSD: head/lang/python35/Makefile 483807 2018-11-02 13:32:34Z rene $
+
+PORTNAME= python
+PORTVERSION= ${PYTHON_PORTVERSION}
+PORTREVISION= 1
+CATEGORIES= lang python ipv6
+MASTER_SITES= PYTHON/ftp/python/${PORTVERSION}
+PKGNAMESUFFIX= ${PYTHON_SUFFIX}
+DISTNAME= Python-${PORTVERSION}
+DIST_SUBDIR= python
+
+MAINTAINER= python@FreeBSD.org
+COMMENT= Interpreted object-oriented programming language
+
+LICENSE= PSFL
+
+USES= cpe ncurses pathfix pkgconfig readline:port shebangfix ssl tar:xz
+PATHFIX_MAKEFILEIN= Makefile.pre.in
+USE_LDCONFIG= yes
+GNU_CONFIGURE= yes
+python_CMD= ${PREFIX}/bin/python${PYTHON_PORTVERSION:R}
+SHEBANG_FILES= Lib/*.py Lib/*/*.py Lib/*/*/*.py Lib/*/*/*/*.py
+
+# Duplicate python.mk variables. TODO: Let lang/python?? ports use python.mk bits.
+PYTHON_VER= ${PYTHON_PORTVERSION:R}
+PYTHON_VERSION= python${PYTHON_VER}
+PYTHON_SUFFIX= ${PYTHON_VER:S/.//g}
+
+DISABLED_EXTENSIONS= _sqlite3 _tkinter _gdbm
+CONFIGURE_ARGS+= --enable-shared --without-ensurepip
+CONFIGURE_ENV+= OPT="" DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS}" # Null out OPT to respect user CFLAGS and remove optimizations
+
+INSTALL_TARGET= altinstall # Don't want cloberring of unprefixed files
+
+TEST_TARGET= buildbottest
+TEST_ARGS= TESTOPTS=-j${MAKE_JOBS_NUMBER}
+
+MAKE_ARGS+= INSTALL_SHARED="${INSTALL_LIB}" # Strip shared library
+
+SUB_FILES= pkg-message
+SUB_LIST= PYTHON_SUFFIX=${PYTHON_SUFFIX}
+
+PLIST_SUB= ABI=${ABIFLAGS} \
+ XY=${PYTHON_SUFFIX} \
+ XYDOT=${PYTHON_VER} \
+ XYZDOT=${PORTVERSION} \
+ OSMAJOR=${OSVERSION:C/([0-9]*)[0-9]{5}/\1/} # For plat-freebsd* in pkg-plist. https://bugs.python.org/issue19554
+
+OPTIONS_DEFINE= DEBUG IPV6 LIBFFI NLS PYMALLOC THREADS TSC
+OPTIONS_DEFAULT= LIBFFI PYMALLOC THREADS
+OPTIONS_RADIO= HASH
+OPTIONS_RADIO_HASH= FNV SIPHASH
+OPTIONS_SUB= yes
+
+LIBFFI_DESC= Use libffi from ports instead of bundled version
+NLS_DESC= Enable gettext support for the locale module
+PYMALLOC_DESC= Enable specialized mallocs
+TSC_DESC= Enable processor timestamp counter profiling
+
+HASH_DESC= Hash Algorithm (PEP-456)
+FNV_DESC= Modified Fowler-Noll-Vo Algorithm
+SIPHASH_DESC= SipHash24 Algorithm
+
+FNV_CONFIGURE_ON= --with-hash-algorithm=fnv
+SIPHASH_CONFIGURE_ON= --with-hash-algorithm=siphash24
+
+DEBUG_CONFIGURE_WITH= pydebug
+IPV6_CONFIGURE_ENABLE= ipv6
+
+LIBFFI_CONFIGURE_ON= --with-system-ffi
+LIBFFI_LIB_DEPENDS= libffi.so:devel/libffi
+
+# Use CPPFLAGS over CFLAGS due to -I ordering, causing elementtree and pyexpat
+# to break in Python 2.7, or preprocessor complaints in Python >= 3.3
+# Upstream Issue: https://bugs.python.org/issue6299
+NLS_USES= gettext
+NLS_CPPFLAGS= -I${LOCALBASE}/include
+NLS_LIBS= -L${LOCALBASE}/lib -lintl
+NLS_CONFIGURE_ENV_OFF= ac_cv_lib_intl_textdomain=no ac_cv_header_libintl_h=no
+
+PYMALLOC_CONFIGURE_WITH= pymalloc
+
+THREADS_CONFIGURE_WITH= threads
+THREADS_LDFLAGS= -lpthread
+
+TSC_CONFIGURE_WITH= tsc
+
+.include "${.CURDIR}/Makefile.version"
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MPYMALLOC}
+ABIFLAGS:= m${ABIFLAGS}
+.endif
+
+.if ${PORT_OPTIONS:MDEBUG}
+ABIFLAGS:= d${ABIFLAGS}
+.endif
+
+.if !empty(ABIFLAGS)
+PLIST_FILES+= bin/python${PYTHON_VER}${ABIFLAGS} \
+ bin/python${PYTHON_VER}${ABIFLAGS}-config \
+ libdata/pkgconfig/python-${PYTHON_VER}${ABIFLAGS}.pc
+.endif
+
+# https://bugs.python.org/issue22521
+# https://bugs.python.org/issue23042
+.if ${ARCH} == i386 && !${PORT_OPTIONS:MLIBFFI}
+BROKEN= You must use libffi from ports on i386. Enable the LIBFFI option
+.endif
+
+.if ${ARCH} == sparc64
+CFLAGS+= -DPYTHON_DEFAULT_RECURSION_LIMIT=900
+.endif
+
+# See https://bugs.freebsd.org/115940 and https://bugs.freebsd.org/193650
+.if !exists(/usr/bin/ypcat) || defined(WITHOUT_NIS)
+PLIST_SUB+= NO_NIS="@comment "
+DISABLED_EXTENSIONS+= nis
+.else
+PLIST_SUB+= NO_NIS=""
+.endif
+
+post-install:
+.if ! ${PORT_OPTIONS:MDEBUG}
+ ${RM} ${STAGEDIR}${PREFIX}/lib/libpython3.so # Upstream Issue: https://bugs.python.org/issue17975
+.endif
+# This code block exists for the qemu-user enabled cross build environment.
+# When using this environment in poudriere, CC is not set to the default
+# of /usr/bin/cc and a cross-compile toolchain is used. We need to hand
+# edit this so that the run time configuration for python matches what the
+# FreeBSD base system provides. sbruno 02Aug2017
+.if ${CC} == /nxb-bin/usr/bin/cc
+ @${REINPLACE_CMD} -e 's=/nxb-bin==' \
+ ${STAGEDIR}${PREFIX}/lib/python${PYTHON_VER}/_sysconfigdata.py
+ @${REINPLACE_CMD} -e 's=/nxb-bin==' \
+ ${STAGEDIR}${PREFIX}/lib/python${PYTHON_VER}/config-${PYTHON_VER}m/Makefile
+.endif
+ for i in ${STAGEDIR}${PREFIX}/lib/python${PYTHON_VER}/lib-dynload/*.so; do \
+ ${STRIP_CMD} $$i; done # Strip shared extensions
+ ${INSTALL_DATA} ${WRKSRC}/Tools/gdb/libpython.py \
+ ${STAGEDIR}${PREFIX}/lib/libpython${PYTHON_VER}${ABIFLAGS}.so.1.0-gdb.py
+
+.include <bsd.port.mk>
diff --git a/test-ports/lang/python35/Makefile.version b/test-ports/lang/python35/Makefile.version
new file mode 100644
index 00000000..9d3fe2ad
--- /dev/null
+++ b/test-ports/lang/python35/Makefile.version
@@ -0,0 +1,4 @@
+# Mk/Uses/python.mk includes this file, don't remove it!
+# $FreeBSD: head/lang/python35/Makefile.version 476301 2018-08-03 16:08:19Z miwi $
+
+PYTHON_PORTVERSION= 3.5.6
diff --git a/test-ports/lang/python35/distinfo b/test-ports/lang/python35/distinfo
new file mode 100644
index 00000000..a629315a
--- /dev/null
+++ b/test-ports/lang/python35/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1533311485
+SHA256 (python/Python-3.5.6.tar.xz) = f55cde04f521f273c7cba08912921cc5642cfc15ca7b22d5829f0aff4371155f
+SIZE (python/Python-3.5.6.tar.xz) = 15412832
diff --git a/test-ports/lang/python35/files/patch-Lib_distutils_command_install__lib.py b/test-ports/lang/python35/files/patch-Lib_distutils_command_install__lib.py
new file mode 100644
index 00000000..6e925311
--- /dev/null
+++ b/test-ports/lang/python35/files/patch-Lib_distutils_command_install__lib.py
@@ -0,0 +1,41 @@
+From 9934ce31b8447667f71c211e559a8de71e8263db Mon Sep 17 00:00:00 2001
+From: Brendan Molloy <brendan@bbqsrc.net>
+Date: Mon, 4 Jan 2016 23:14:06 +1100
+Subject: [PATCH] Check bytecode file actually exists and tests
+
+Should solve issue 20397, where using the --record argument results
+in files that failed to generate bytecode files are added to the
+record file nonetheless.
+---
+ Lib/distutils/command/install_lib.py | 17 +++++++++++++----
+ Lib/distutils/tests/test_install_lib.py | 8 ++++++--
+ 2 files changed, 19 insertions(+), 6 deletions(-)
+
+--- Lib/distutils/command/install_lib.py.orig 2015-12-07 01:39:07 UTC
++++ Lib/distutils/command/install_lib.py
+@@ -164,12 +164,21 @@ class install_lib(Command):
+ ext = os.path.splitext(os.path.normcase(py_file))[1]
+ if ext != PYTHON_SOURCE_EXTENSION:
+ continue
++
+ if self.compile:
+- bytecode_files.append(importlib.util.cache_from_source(
+- py_file, optimization=''))
++ candidate = importlib.util.cache_from_source(
++ py_file, optimization='')
++
++ if os.path.isfile(candidate):
++ bytecode_files.append(candidate)
++
+ if self.optimize > 0:
+- bytecode_files.append(importlib.util.cache_from_source(
+- py_file, optimization=self.optimize))
++ candidate = importlib.util.cache_from_source(
++ py_file, optimization=self.optimize)
++
++ if os.path.isfile(candidate):
++ bytecode_files.append(candidate)
++
+
+ return bytecode_files
+
diff --git a/test-ports/lang/python35/files/patch-Lib_distutils_tests_test__install__lib.py b/test-ports/lang/python35/files/patch-Lib_distutils_tests_test__install__lib.py
new file mode 100644
index 00000000..c5531b92
--- /dev/null
+++ b/test-ports/lang/python35/files/patch-Lib_distutils_tests_test__install__lib.py
@@ -0,0 +1,33 @@
+From 9934ce31b8447667f71c211e559a8de71e8263db Mon Sep 17 00:00:00 2001
+From: Brendan Molloy <brendan@bbqsrc.net>
+Date: Mon, 4 Jan 2016 23:14:06 +1100
+Subject: [PATCH] Check bytecode file actually exists and tests
+
+Should solve issue 20397, where using the --record argument results
+in files that failed to generate bytecode files are added to the
+record file nonetheless.
+---
+ Lib/distutils/command/install_lib.py | 17 +++++++++++++----
+ Lib/distutils/tests/test_install_lib.py | 8 ++++++--
+ 2 files changed, 19 insertions(+), 6 deletions(-)
+
+--- Lib/distutils/tests/test_install_lib.py.orig 2015-12-07 01:39:07 UTC
++++ Lib/distutils/tests/test_install_lib.py
+@@ -64,11 +64,15 @@ class InstallLibTestCase(support.Tempdir
+ cmd.distribution.ext_modules = [Extension('foo', ['xxx'])]
+ cmd.distribution.packages = ['spam']
+ cmd.distribution.script_name = 'setup.py'
++
++ # Create rubbish, uncompilable file
++ f = os.path.join(project_dir, 'spam', 'rubbish.py')
++ self.write_file(f, 'rubbish()')
+
+ # get_outputs should return 4 elements: spam/__init__.py and .pyc,
+- # foo.import-tag-abiflags.so / foo.pyd
++ # foo.import-tag-abiflags.so / foo.pyd and rubbish.py (no .pyc)
+ outputs = cmd.get_outputs()
+- self.assertEqual(len(outputs), 4, outputs)
++ self.assertEqual(len(outputs), 5, outputs)
+
+ def test_get_inputs(self):
+ project_dir, dist = self.create_dist()
diff --git a/test-ports/lang/python35/files/patch-Makefile.pre.in b/test-ports/lang/python35/files/patch-Makefile.pre.in
new file mode 100644
index 00000000..653f3892
--- /dev/null
+++ b/test-ports/lang/python35/files/patch-Makefile.pre.in
@@ -0,0 +1,63 @@
+# Description: Remove duplicate CFLAGS, CPPFLAGS, LDFLAGS by stripping CONFIGURE_*
+# Submitted by: koobs (r326729)
+# TODO: Upstream
+
+# Description: Create symlinks for non-ABI-suffixed python*-config and ABI-suffixed python-*.pc
+# Submitted by: antoine@ (r358029)
+# TODO: Upstream
+
+--- Makefile.pre.in.orig 2017-01-21 18:48:21.942822000 +0800
++++ Makefile.pre.in 2017-01-21 18:55:44.342228000 +0800
+@@ -76,23 +76,20 @@
+ OPT= @OPT@
+ BASECFLAGS= @BASECFLAGS@
+ BASECPPFLAGS= @BASECPPFLAGS@
+-CONFIGURE_CFLAGS= @CFLAGS@
+ # CFLAGS_NODIST is used for building the interpreter and stdlib C extensions.
+ # Use it when a compiler flag should _not_ be part of the distutils CFLAGS
+ # once Python is installed (Issue #21121).
+ CONFIGURE_CFLAGS_NODIST=@CFLAGS_NODIST@
+-CONFIGURE_CPPFLAGS= @CPPFLAGS@
+-CONFIGURE_LDFLAGS= @LDFLAGS@
+ # Avoid assigning CFLAGS, LDFLAGS, etc. so users can use them on the
+ # command line to append to these values without stomping the pre-set
+ # values.
+-PY_CFLAGS= $(BASECFLAGS) $(OPT) $(CONFIGURE_CFLAGS) $(CFLAGS) $(EXTRA_CFLAGS)
++PY_CFLAGS= $(BASECFLAGS) $(OPT) $(CFLAGS) $(EXTRA_CFLAGS)
+ PY_CFLAGS_NODIST=$(CONFIGURE_CFLAGS_NODIST) $(CFLAGS_NODIST)
+ # Both CPPFLAGS and LDFLAGS need to contain the shell's value for setup.py to
+ # be able to build extension modules using the directories specified in the
+ # environment variables
+-PY_CPPFLAGS= $(BASECPPFLAGS) -I. -I$(srcdir)/Include $(CONFIGURE_CPPFLAGS) $(CPPFLAGS)
+-PY_LDFLAGS= $(CONFIGURE_LDFLAGS) $(LDFLAGS)
++PY_CPPFLAGS= $(BASECPPFLAGS) -I. -I$(srcdir)/Include $(CPPFLAGS)
++PY_LDFLAGS= $(LDFLAGS)
+ NO_AS_NEEDED= @NO_AS_NEEDED@
+ LDLAST= @LDLAST@
+ SGI_ABI= @SGI_ABI@
+@@ -1130,12 +1127,6 @@
+ else true; \
+ fi
+ (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)$(EXE) python3$(EXE))
+- -if test "$(VERSION)" != "$(LDVERSION)"; then \
+- rm -f $(DESTDIR)$(BINDIR)/python$(VERSION)-config; \
+- (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(LDVERSION)-config python$(VERSION)-config); \
+- rm -f $(DESTDIR)$(LIBPC)/python-$(LDVERSION).pc; \
+- (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION).pc python-$(LDVERSION).pc); \
+- fi
+ -rm -f $(DESTDIR)$(BINDIR)/python3-config
+ (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-config python3-config)
+ -rm -f $(DESTDIR)$(LIBPC)/python3.pc
+@@ -1412,6 +1403,12 @@
+ $(INSTALL_SCRIPT) $(srcdir)/install-sh $(DESTDIR)$(LIBPL)/install-sh
+ $(INSTALL_SCRIPT) python-config.py $(DESTDIR)$(LIBPL)/python-config.py
+ $(INSTALL_SCRIPT) python-config $(DESTDIR)$(BINDIR)/python$(LDVERSION)-config
++ -if test "$(VERSION)" != "$(LDVERSION)"; then \
++ rm -f $(DESTDIR)$(BINDIR)/python$(VERSION)-config; \
++ (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(LDVERSION)-config python$(VERSION)-config); \
++ rm -f $(DESTDIR)$(LIBPC)/python-$(LDVERSION).pc; \
++ (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION).pc python-$(LDVERSION).pc); \
++ fi
+ @if [ -s Modules/python.exp -a \
+ "`echo $(MACHDEP) | sed 's/^\(...\).*/\1/'`" = "aix" ]; then \
+ echo; echo "Installing support files for building shared extension modules on AIX:"; \
diff --git a/test-ports/lang/python35/files/patch-Misc__python-config.sh.in b/test-ports/lang/python35/files/patch-Misc__python-config.sh.in
new file mode 100644
index 00000000..ebb0c6a5
--- /dev/null
+++ b/test-ports/lang/python35/files/patch-Misc__python-config.sh.in
@@ -0,0 +1,11 @@
+--- Misc/python-config.sh.in.orig 2018-07-13 21:07:16 UTC
++++ Misc/python-config.sh.in
+@@ -15,7 +15,7 @@ fi
+ # Returns the actual prefix where this script was installed to.
+ installed_prefix ()
+ {
+- RESULT=$(dirname $(cd $(dirname "$1") && pwd -P))
++ RESULT=$(dirname $(cd $(dirname $(realpath "$1")) && pwd -P))
+ if which readlink >/dev/null 2>&1 ; then
+ if readlink -f "$RESULT" >/dev/null 2>&1; then
+ RESULT=$(readlink -f "$RESULT")
diff --git a/test-ports/lang/python35/files/patch-Modules___ctypes__libffi__src__arm__ffi.c b/test-ports/lang/python35/files/patch-Modules___ctypes__libffi__src__arm__ffi.c
new file mode 100644
index 00000000..56e43427
--- /dev/null
+++ b/test-ports/lang/python35/files/patch-Modules___ctypes__libffi__src__arm__ffi.c
@@ -0,0 +1,36 @@
+# Description: Fix _ctypes abort on import for FreeBSD/ARM. This is an issue
+# for anything !apple that is using the libcompiler_rt provided by clang on arm
+# PR: ports/149167 ports/184517
+# Patch by: cognet@ (to be upstreamed @ LLVM)
+
+--- ./Modules/_ctypes/libffi/src/arm/ffi.c.orig 2013-11-17 18:22:57.000000000 +1100
++++ ./Modules/_ctypes/libffi/src/arm/ffi.c 2013-12-03 19:23:24.521993369 +1100
+@@ -33,6 +33,11 @@
+
+ #include <stdlib.h>
+
++#if defined(__FreeBSD__) && defined(__arm__)
++#include <sys/types.h>
++#include <machine/sysarch.h>
++#endif
++
+ /* Forward declares. */
+ static int vfp_type_p (ffi_type *);
+ static void layout_vfp_args (ffi_cif *);
+@@ -582,6 +587,16 @@
+
+ #else
+
++#if defined(__FreeBSD__) && defined(__arm__)
++#define __clear_cache(start, end) do { \
++ struct arm_sync_icache_args ua; \
++ \
++ ua.addr = (uintptr_t)(start); \
++ ua.len = (char *)(end) - (char *)start; \
++ sysarch(ARM_SYNC_ICACHE, &ua); \
++ } while (0);
++#endif
++
+ #define FFI_INIT_TRAMPOLINE(TRAMP,FUN,CTX) \
+ ({ unsigned char *__tramp = (unsigned char*)(TRAMP); \
+ unsigned int __fun = (unsigned int)(FUN); \
diff --git a/test-ports/lang/python35/files/patch-issue20210 b/test-ports/lang/python35/files/patch-issue20210
new file mode 100644
index 00000000..90330d8f
--- /dev/null
+++ b/test-ports/lang/python35/files/patch-issue20210
@@ -0,0 +1,68 @@
+# Backport patch 0001 from Issue #20210
+# Issue: https://bugs.python.org/issue20210
+# By: Thomas Petazzoni
+
+--- ./Makefile.pre.in.orig 2014-03-24 22:45:17.908886504 +1100
++++ ./Makefile.pre.in 2014-03-24 22:47:55.503779805 +1100
+@@ -172,6 +172,8 @@
+ # configure script arguments
+ CONFIG_ARGS= @CONFIG_ARGS@
+
++# disabled extensions
++DISABLED_EXTENSIONS= @DISABLED_EXTENSIONS@
+
+ # Subdirectories with code
+ SRCDIRS= @SRCDIRS@
+@@ -555,6 +557,7 @@
+ esac; \
+ $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
+ _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \
++ DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" \
+ $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
+
+ # Build static library
+@@ -1352,7 +1355,8 @@
+ # Install the dynamically loadable modules
+ # This goes into $(exec_prefix)
+ sharedinstall: sharedmods
+- $(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \
++ $(RUNSHARED) DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" \
++ $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \
+ --prefix=$(prefix) \
+ --install-scripts=$(BINDIR) \
+ --install-platlib=$(DESTSHARED) \
+--- ./configure.ac.orig 2014-03-24 22:48:10.442551831 +1100
++++ ./configure.ac 2014-03-24 22:48:42.059827384 +1100
+@@ -2331,6 +2331,8 @@
+
+ AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
+
++AC_SUBST(DISABLED_EXTENSIONS)
++
+ # Check for use of the system expat library
+ AC_MSG_CHECKING(for --with-system-expat)
+ AC_ARG_WITH(system_expat,
+--- configure.orig 2015-03-01 13:57:08.000000000 +0300
++++ configure 2015-03-01 13:57:30.000000000 +0300
+@@ -650,6 +650,7 @@
+ TCLTK_LIBS
+ TCLTK_INCLUDES
+ LIBFFI_INCLUDEDIR
++DISABLED_EXTENSIONS
+ PKG_CONFIG_LIBDIR
+ PKG_CONFIG_PATH
+ PKG_CONFIG
+--- ./setup.py.orig 2014-03-24 22:48:48.495472513 +1100
++++ ./setup.py 2014-03-24 22:49:20.076122201 +1100
+@@ -33,7 +33,10 @@
+ COMPILED_WITH_PYDEBUG = ('--with-pydebug' in sysconfig.get_config_var("CONFIG_ARGS"))
+
+ # This global variable is used to hold the list of modules to be disabled.
+-disabled_module_list = []
++try:
++ disabled_module_list = sysconfig.get_config_var("DISABLED_EXTENSIONS").split(" ")
++except KeyError:
++ disabled_module_list = list()
+
+ def add_dir_to_list(dirlist, dir):
+ """Add the directory 'dir' to the list 'dirlist' (after any relative
diff --git a/test-ports/lang/python35/files/patch-issue30622 b/test-ports/lang/python35/files/patch-issue30622
new file mode 100644
index 00000000..4a0295a0
--- /dev/null
+++ b/test-ports/lang/python35/files/patch-issue30622
@@ -0,0 +1,145 @@
+From b2d096bd2a5ff86e53c25d00ee5fa097b36bf1d8 Mon Sep 17 00:00:00 2001
+From: Melvyn Sopacua <melvyn-sopacua@users.noreply.github.com>
+Date: Mon, 4 Sep 2017 23:35:15 +0200
+Subject: [PATCH] bpo-30622: Change NPN detection: (#2079)
+
+* Change NPN detection:
+
+Version breakdown, support disabled (pre-patch/post-patch):
+- pre-1.0.1: OPENSSL_NPN_NEGOTIATED will not be defined -> False/False
+- 1.0.1 and 1.0.2: OPENSSL_NPN_NEGOTIATED will not be defined ->
+False/False
+- 1.1.0+: OPENSSL_NPN_NEGOTIATED will be defined and
+OPENSSL_NO_NEXTPROTONEG will be defined -> True/False
+
+Version breakdown support enabled (pre-patch/post-patch):
+- pre-1.0.1: OPENSSL_NPN_NEGOTIATED will not be defined -> False/False
+- 1.0.1 and 1.0.2: OPENSSL_NPN_NEGOTIATED will be defined and
+OPENSSL_NO_NEXTPROTONEG will not be defined -> True/True
+- 1.1.0+: OPENSSL_NPN_NEGOTIATED will be defined and
+OPENSSL_NO_NEXTPROTONEG will not be defined -> True/True
+
+* Refine NPN guard:
+
+- If NPN is disabled, but ALPN is available we need our callback
+- Make clinic's ssl behave the same way
+
+This created a working ssl module for me, with NPN disabled and ALPN
+enabled for OpenSSL 1.1.0f.
+
+Concerns to address:
+The initial commit for NPN support into OpenSSL [1], had the
+OPENSSL_NPN_* variables defined inside the OPENSSL_NO_NEXTPROTONEG
+guard. The question is if that ever made it into a release.
+This would need an ugly hack, something like:
+
+ #if defined(OPENSSL_NO_NEXTPROTONEG) && \
+ !defined(OPENSSL_NPN_NEGOTIATED)
+ # define OPENSSL_NPN_UNSUPPORTED 0
+ # define OPENSSL_NPN_NEGOTIATED 1
+ # define OPENSSL_NPN_NO_OVERLAP 2
+ #endif
+
+[1] https://github.com/openssl/openssl/commit/68b33cc5c7
+
+--- Modules/_ssl.c.orig 2018-02-04 23:40:56 UTC
++++ Modules/_ssl.c
+@@ -260,7 +260,7 @@ static unsigned int _ssl_locks_count = 0
+ typedef struct {
+ PyObject_HEAD
+ SSL_CTX *ctx;
+-#ifdef OPENSSL_NPN_NEGOTIATED
++#if defined(OPENSSL_NPN_NEGOTIATED) && !defined(OPENSSL_NO_NEXTPROTONEG)
+ unsigned char *npn_protocols;
+ int npn_protocols_len;
+ #endif
+@@ -1605,7 +1605,7 @@ _ssl__SSLSocket_version_impl(PySSLSocket
+ return PyUnicode_FromString(version);
+ }
+
+-#ifdef OPENSSL_NPN_NEGOTIATED
++#if defined(OPENSSL_NPN_NEGOTIATED) && !defined(OPENSSL_NO_NEXTPROTONEG)
+ /*[clinic input]
+ _ssl._SSLSocket.selected_npn_protocol
+ [clinic start generated code]*/
+@@ -2375,7 +2375,7 @@ _ssl__SSLContext_impl(PyTypeObject *type
+ return NULL;
+ }
+ self->ctx = ctx;
+-#ifdef OPENSSL_NPN_NEGOTIATED
++#if defined(OPENSSL_NPN_NEGOTIATED) && !defined(OPENSSL_NO_NEXTPROTONEG)
+ self->npn_protocols = NULL;
+ #endif
+ #ifdef HAVE_ALPN
+@@ -2469,7 +2469,7 @@ context_dealloc(PySSLContext *self)
+ PyObject_GC_UnTrack(self);
+ context_clear(self);
+ SSL_CTX_free(self->ctx);
+-#ifdef OPENSSL_NPN_NEGOTIATED
++#if defined(OPENSSL_NPN_NEGOTIATED) && !defined(OPENSSL_NO_NEXTPROTONEG)
+ PyMem_FREE(self->npn_protocols);
+ #endif
+ #ifdef HAVE_ALPN
+@@ -2501,7 +2501,7 @@ _ssl__SSLContext_set_ciphers_impl(PySSLC
+ Py_RETURN_NONE;
+ }
+
+-#ifdef OPENSSL_NPN_NEGOTIATED
++#if defined(OPENSSL_NPN_NEGOTIATED) && !defined(OPENSSL_NO_NEXTPROTONEG) || defined(HAVE_ALPN)
+ static int
+ do_protocol_selection(int alpn, unsigned char **out, unsigned char *outlen,
+ const unsigned char *server_protocols, unsigned int server_protocols_len,
+@@ -2525,7 +2525,9 @@ do_protocol_selection(int alpn, unsigned
+
+ return SSL_TLSEXT_ERR_OK;
+ }
++#endif
+
++#if defined(OPENSSL_NPN_NEGOTIATED) && !defined(OPENSSL_NO_NEXTPROTONEG)
+ /* this callback gets passed to SSL_CTX_set_next_protos_advertise_cb */
+ static int
+ _advertiseNPN_cb(SSL *s,
+@@ -2568,7 +2570,7 @@ _ssl__SSLContext__set_npn_protocols_impl
+ Py_buffer *protos)
+ /*[clinic end generated code: output=72b002c3324390c6 input=319fcb66abf95bd7]*/
+ {
+-#ifdef OPENSSL_NPN_NEGOTIATED
++#if defined(OPENSSL_NPN_NEGOTIATED) && !defined(OPENSSL_NO_NEXTPROTONEG)
+ PyMem_Free(self->npn_protocols);
+ self->npn_protocols = PyMem_Malloc(protos->len);
+ if (self->npn_protocols == NULL)
+@@ -4843,7 +4845,7 @@ PyInit__ssl(void)
+ Py_INCREF(r);
+ PyModule_AddObject(m, "HAS_ECDH", r);
+
+-#ifdef OPENSSL_NPN_NEGOTIATED
++#if defined(OPENSSL_NPN_NEGOTIATED) && !defined(OPENSSL_NO_NEXTPROTONEG)
+ r = Py_True;
+ #else
+ r = Py_False;
+--- Modules/clinic/_ssl.c.h.orig 2018-02-04 23:40:56 UTC
++++ Modules/clinic/_ssl.c.h
+@@ -130,7 +130,7 @@ _ssl__SSLSocket_version(PySSLSocket *sel
+ return _ssl__SSLSocket_version_impl(self);
+ }
+
+-#if defined(OPENSSL_NPN_NEGOTIATED)
++#if (defined(OPENSSL_NPN_NEGOTIATED) && !defined(OPENSSL_NO_NEXTPROTONEG))
+
+ PyDoc_STRVAR(_ssl__SSLSocket_selected_npn_protocol__doc__,
+ "selected_npn_protocol($self, /)\n"
+@@ -149,7 +149,7 @@ _ssl__SSLSocket_selected_npn_protocol(Py
+ return _ssl__SSLSocket_selected_npn_protocol_impl(self);
+ }
+
+-#endif /* defined(OPENSSL_NPN_NEGOTIATED) */
++#endif /* (defined(OPENSSL_NPN_NEGOTIATED) && !defined(OPENSSL_NO_NEXTPROTONEG)) */
+
+ #if defined(HAVE_ALPN)
+
+@@ -1102,4 +1102,4 @@ exit:
+ #ifndef _SSL_ENUM_CRLS_METHODDEF
+ #define _SSL_ENUM_CRLS_METHODDEF
+ #endif /* !defined(_SSL_ENUM_CRLS_METHODDEF) */
+-/*[clinic end generated code: output=6fb10594d8351dc5 input=a9049054013a1b77]*/
++/*[clinic end generated code: output=8f9d480117387554 input=a9049054013a1b77]*/
diff --git a/test-ports/lang/python35/files/patch-issue33127 b/test-ports/lang/python35/files/patch-issue33127
new file mode 100644
index 00000000..0e34cd38
--- /dev/null
+++ b/test-ports/lang/python35/files/patch-issue33127
@@ -0,0 +1,99 @@
+From f5befbb0d1526f18eb2b24eabb48c3b761c624a2 Mon Sep 17 00:00:00 2001
+From: Christian Heimes <christian@python.org>
+Date: Sat, 24 Mar 2018 18:38:14 +0100
+Subject: [PATCH] [3.6] bpo-33127: Compatibility patch for LibreSSL 2.7.0
+ (GH-6210) (GH-6214)
+
+LibreSSL 2.7 introduced OpenSSL 1.1.0 API. The ssl module now detects
+LibreSSL 2.7 and only provides API shims for OpenSSL < 1.1.0 and
+LibreSSL < 2.7.
+
+Documentation updates and fixes for failing tests will be provided in
+another patch set.
+
+Signed-off-by: Christian Heimes <christian@python.org>.
+(cherry picked from commit 4ca0739c9d97ac7cd45499e0d31be68dc659d0e1)
+
+Co-authored-by: Christian Heimes <christian@python.org>
+---
+ Lib/test/test_ssl.py | 1 +
+ .../2018-03-24-15-08-24.bpo-33127.olJmHv.rst | 1 +
+ Modules/_ssl.c | 24 ++++++++++++++--------
+ Tools/ssl/multissltests.py | 3 ++-
+ 4 files changed, 20 insertions(+), 9 deletions(-)
+ create mode 100644 Misc/NEWS.d/next/Library/2018-03-24-15-08-24.bpo-33127.olJmHv.rst
+
+diff --git Lib/test/test_ssl.py Lib/test/test_ssl.py
+index 8dd3b41450..9785a59a7e 100644
+--- Lib/test/test_ssl.py
++++ Lib/test/test_ssl.py
+@@ -1687,6 +1687,7 @@ class SimpleBackgroundTests(unittest.TestCase):
+ self.assertEqual(len(ctx.get_ca_certs()), 1)
+
+ @needs_sni
++ @unittest.skipUnless(hasattr(ssl, "PROTOCOL_TLSv1_2"), "needs TLS 1.2")
+ def test_context_setget(self):
+ # Check that the context of a connected socket can be replaced.
+ ctx1 = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
+diff --git Misc/NEWS.d/next/Library/2018-03-24-15-08-24.bpo-33127.olJmHv.rst Misc/NEWS.d/next/Library/2018-03-24-15-08-24.bpo-33127.
+olJmHv.rst
+new file mode 100644
+index 0000000000..635aabbde0
+--- /dev/null
++++ Misc/NEWS.d/next/Library/2018-03-24-15-08-24.bpo-33127.olJmHv.rst
+@@ -0,0 +1 @@
++The ssl module now compiles with LibreSSL 2.7.1.
+diff --git Modules/_ssl.c Modules/_ssl.c
+index c54e43c2b4..5e007da858 100644
+--- Modules/_ssl.c
++++ Modules/_ssl.c
+@@ -101,8 +101,14 @@
+
+ #if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER)
+ # define OPENSSL_VERSION_1_1 1
++# define PY_OPENSSL_1_1_API 1
+ #endif
+
++/* LibreSSL 2.7.0 provides necessary OpenSSL 1.1.0 APIs */
++#if defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER >= 0x2070000fL
++# define PY_OPENSSL_1_1_API 1
++#endif
++
+ /* Openssl comes with TLSv1.1 and TLSv1.2 between 1.0.0h and 1.0.1
+ http://www.openssl.org/news/changelog.html
+ */
+@@ -129,16 +135,18 @@
+ #define INVALID_SOCKET (-1)
+ #endif
+
+-#ifdef OPENSSL_VERSION_1_1
+-/* OpenSSL 1.1.0+ */
+-#ifndef OPENSSL_NO_SSL2
+-#define OPENSSL_NO_SSL2
+-#endif
+-#else /* OpenSSL < 1.1.0 */
+-#if defined(WITH_THREAD)
++/* OpenSSL 1.0.2 and LibreSSL needs extra code for locking */
++#if !defined(OPENSSL_VERSION_1_1) && defined(WITH_THREAD)
+ #define HAVE_OPENSSL_CRYPTO_LOCK
+ #endif
+
++#if defined(OPENSSL_VERSION_1_1) && !defined(OPENSSL_NO_SSL2)
++#define OPENSSL_NO_SSL2
++#endif
++
++#ifndef PY_OPENSSL_1_1_API
++/* OpenSSL 1.1 API shims for OpenSSL < 1.1.0 and LibreSSL < 2.7.0 */
++
+ #define TLS_method SSLv23_method
+
+ static int X509_NAME_ENTRY_set(const X509_NAME_ENTRY *ne)
+@@ -187,7 +195,7 @@
+ {
+ return store->param;
+ }
+-#endif /* OpenSSL < 1.1.0 or LibreSSL */
++#endif /* OpenSSL < 1.1.0 or or LibreSSL < 2.7.0 */
+
+
+ enum py_ssl_error {
diff --git a/test-ports/lang/python35/files/pkg-message.in b/test-ports/lang/python35/files/pkg-message.in
new file mode 100644
index 00000000..5fb6e462
--- /dev/null
+++ b/test-ports/lang/python35/files/pkg-message.in
@@ -0,0 +1,10 @@
+===========================================================================
+
+Note that some standard Python modules are provided as separate ports
+as they require additional dependencies. They are available as:
+
+py%%PYTHON_SUFFIX%%-gdbm databases/py-gdbm@py%%PYTHON_SUFFIX%%
+py%%PYTHON_SUFFIX%%-sqlite3 databases/py-sqlite3@py%%PYTHON_SUFFIX%%
+py%%PYTHON_SUFFIX%%-tkinter x11-toolkits/py-tkinter@py%%PYTHON_SUFFIX%%
+
+===========================================================================
diff --git a/test-ports/lang/python35/pkg-descr b/test-ports/lang/python35/pkg-descr
new file mode 100644
index 00000000..9c7e5a6d
--- /dev/null
+++ b/test-ports/lang/python35/pkg-descr
@@ -0,0 +1,4 @@
+Python is an interpreted object-oriented programming language, and is
+often compared to Tcl, Perl or Scheme.
+
+WWW: https://www.python.org/
diff --git a/test-ports/lang/python35/pkg-plist b/test-ports/lang/python35/pkg-plist
new file mode 100644
index 00000000..01e56dc8
--- /dev/null
+++ b/test-ports/lang/python35/pkg-plist
@@ -0,0 +1,6559 @@
+bin/2to3-%%XYDOT%%
+bin/idle%%XYDOT%%
+bin/pydoc%%XYDOT%%
+bin/python%%XYDOT%%
+bin/python%%XYDOT%%-config
+bin/pyvenv-%%XYDOT%%
+include/python%%XYDOT%%%%ABI%%/Python-ast.h
+include/python%%XYDOT%%%%ABI%%/Python.h
+include/python%%XYDOT%%%%ABI%%/abstract.h
+include/python%%XYDOT%%%%ABI%%/accu.h
+include/python%%XYDOT%%%%ABI%%/asdl.h
+include/python%%XYDOT%%%%ABI%%/ast.h
+include/python%%XYDOT%%%%ABI%%/bitset.h
+include/python%%XYDOT%%%%ABI%%/bltinmodule.h
+include/python%%XYDOT%%%%ABI%%/boolobject.h
+include/python%%XYDOT%%%%ABI%%/bytearrayobject.h
+include/python%%XYDOT%%%%ABI%%/bytes_methods.h
+include/python%%XYDOT%%%%ABI%%/bytesobject.h
+include/python%%XYDOT%%%%ABI%%/cellobject.h
+include/python%%XYDOT%%%%ABI%%/ceval.h
+include/python%%XYDOT%%%%ABI%%/classobject.h
+include/python%%XYDOT%%%%ABI%%/code.h
+include/python%%XYDOT%%%%ABI%%/codecs.h
+include/python%%XYDOT%%%%ABI%%/compile.h
+include/python%%XYDOT%%%%ABI%%/complexobject.h
+include/python%%XYDOT%%%%ABI%%/datetime.h
+include/python%%XYDOT%%%%ABI%%/descrobject.h
+include/python%%XYDOT%%%%ABI%%/dictobject.h
+include/python%%XYDOT%%%%ABI%%/dtoa.h
+include/python%%XYDOT%%%%ABI%%/dynamic_annotations.h
+include/python%%XYDOT%%%%ABI%%/enumobject.h
+include/python%%XYDOT%%%%ABI%%/errcode.h
+include/python%%XYDOT%%%%ABI%%/eval.h
+include/python%%XYDOT%%%%ABI%%/fileobject.h
+include/python%%XYDOT%%%%ABI%%/fileutils.h
+include/python%%XYDOT%%%%ABI%%/floatobject.h
+include/python%%XYDOT%%%%ABI%%/frameobject.h
+include/python%%XYDOT%%%%ABI%%/funcobject.h
+include/python%%XYDOT%%%%ABI%%/genobject.h
+include/python%%XYDOT%%%%ABI%%/graminit.h
+include/python%%XYDOT%%%%ABI%%/grammar.h
+include/python%%XYDOT%%%%ABI%%/import.h
+include/python%%XYDOT%%%%ABI%%/intrcheck.h
+include/python%%XYDOT%%%%ABI%%/iterobject.h
+include/python%%XYDOT%%%%ABI%%/listobject.h
+include/python%%XYDOT%%%%ABI%%/longintrepr.h
+include/python%%XYDOT%%%%ABI%%/longobject.h
+include/python%%XYDOT%%%%ABI%%/marshal.h
+include/python%%XYDOT%%%%ABI%%/memoryobject.h
+include/python%%XYDOT%%%%ABI%%/metagrammar.h
+include/python%%XYDOT%%%%ABI%%/methodobject.h
+include/python%%XYDOT%%%%ABI%%/modsupport.h
+include/python%%XYDOT%%%%ABI%%/moduleobject.h
+include/python%%XYDOT%%%%ABI%%/namespaceobject.h
+include/python%%XYDOT%%%%ABI%%/node.h
+include/python%%XYDOT%%%%ABI%%/object.h
+include/python%%XYDOT%%%%ABI%%/objimpl.h
+include/python%%XYDOT%%%%ABI%%/odictobject.h
+include/python%%XYDOT%%%%ABI%%/opcode.h
+include/python%%XYDOT%%%%ABI%%/osdefs.h
+include/python%%XYDOT%%%%ABI%%/parsetok.h
+include/python%%XYDOT%%%%ABI%%/patchlevel.h
+include/python%%XYDOT%%%%ABI%%/pgen.h
+include/python%%XYDOT%%%%ABI%%/pgenheaders.h
+include/python%%XYDOT%%%%ABI%%/py_curses.h
+include/python%%XYDOT%%%%ABI%%/pyarena.h
+include/python%%XYDOT%%%%ABI%%/pyatomic.h
+include/python%%XYDOT%%%%ABI%%/pycapsule.h
+include/python%%XYDOT%%%%ABI%%/pyconfig.h
+include/python%%XYDOT%%%%ABI%%/pyctype.h
+include/python%%XYDOT%%%%ABI%%/pydebug.h
+include/python%%XYDOT%%%%ABI%%/pyerrors.h
+include/python%%XYDOT%%%%ABI%%/pyexpat.h
+include/python%%XYDOT%%%%ABI%%/pyfpe.h
+include/python%%XYDOT%%%%ABI%%/pygetopt.h
+include/python%%XYDOT%%%%ABI%%/pyhash.h
+include/python%%XYDOT%%%%ABI%%/pylifecycle.h
+include/python%%XYDOT%%%%ABI%%/pymacconfig.h
+include/python%%XYDOT%%%%ABI%%/pymacro.h
+include/python%%XYDOT%%%%ABI%%/pymath.h
+include/python%%XYDOT%%%%ABI%%/pymem.h
+include/python%%XYDOT%%%%ABI%%/pyport.h
+include/python%%XYDOT%%%%ABI%%/pystate.h
+include/python%%XYDOT%%%%ABI%%/pystrcmp.h
+include/python%%XYDOT%%%%ABI%%/pystrhex.h
+include/python%%XYDOT%%%%ABI%%/pystrtod.h
+include/python%%XYDOT%%%%ABI%%/pythonrun.h
+include/python%%XYDOT%%%%ABI%%/pythread.h
+include/python%%XYDOT%%%%ABI%%/pytime.h
+include/python%%XYDOT%%%%ABI%%/rangeobject.h
+include/python%%XYDOT%%%%ABI%%/setobject.h
+include/python%%XYDOT%%%%ABI%%/sliceobject.h
+include/python%%XYDOT%%%%ABI%%/structmember.h
+include/python%%XYDOT%%%%ABI%%/structseq.h
+include/python%%XYDOT%%%%ABI%%/symtable.h
+include/python%%XYDOT%%%%ABI%%/sysmodule.h
+include/python%%XYDOT%%%%ABI%%/token.h
+include/python%%XYDOT%%%%ABI%%/traceback.h
+include/python%%XYDOT%%%%ABI%%/tupleobject.h
+include/python%%XYDOT%%%%ABI%%/typeslots.h
+include/python%%XYDOT%%%%ABI%%/ucnhash.h
+include/python%%XYDOT%%%%ABI%%/unicodeobject.h
+include/python%%XYDOT%%%%ABI%%/warnings.h
+include/python%%XYDOT%%%%ABI%%/weakrefobject.h
+lib/libpython%%XYDOT%%%%ABI%%.so
+lib/libpython%%XYDOT%%%%ABI%%.so.1.0
+lib/libpython%%XYDOT%%%%ABI%%.so.1.0-gdb.py
+lib/python%%XYDOT%%/LICENSE.txt
+lib/python%%XYDOT%%/__future__.py
+lib/python%%XYDOT%%/__phello__.foo.py
+lib/python%%XYDOT%%/__pycache__/__future__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/__future__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/__future__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/__phello__.foo.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/__phello__.foo.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/__phello__.foo.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_bootlocale.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_bootlocale.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_bootlocale.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_collections_abc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_collections_abc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_collections_abc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_compat_pickle.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_compat_pickle.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_compat_pickle.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_compression.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_compression.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_compression.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_dummy_thread.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_dummy_thread.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_dummy_thread.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_markupbase.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_markupbase.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_markupbase.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_osx_support.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_osx_support.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_osx_support.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_pydecimal.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_pydecimal.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_pydecimal.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_pyio.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_pyio.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_pyio.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_sitebuiltins.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_sitebuiltins.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_sitebuiltins.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_strptime.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_strptime.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_strptime.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_sysconfigdata.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_sysconfigdata.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_sysconfigdata.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_threading_local.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_threading_local.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_threading_local.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_weakrefset.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_weakrefset.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_weakrefset.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/abc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/abc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/abc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/aifc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/aifc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/aifc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/antigravity.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/antigravity.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/antigravity.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/argparse.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/argparse.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/argparse.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/ast.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/ast.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/ast.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/asynchat.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/asynchat.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/asynchat.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/asyncore.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/asyncore.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/asyncore.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/base64.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/base64.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/base64.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/bdb.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/bdb.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/bdb.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/binhex.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/binhex.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/binhex.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/bisect.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/bisect.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/bisect.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/bz2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/bz2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/bz2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/cProfile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/cProfile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/cProfile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/calendar.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/calendar.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/calendar.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/cgi.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/cgi.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/cgi.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/cgitb.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/cgitb.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/cgitb.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/chunk.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/chunk.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/chunk.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/cmd.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/cmd.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/cmd.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/code.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/code.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/code.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/codecs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/codecs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/codecs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/codeop.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/codeop.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/codeop.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/colorsys.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/colorsys.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/colorsys.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/compileall.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/compileall.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/compileall.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/configparser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/configparser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/configparser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/contextlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/contextlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/contextlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/copy.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/copy.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/copy.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/copyreg.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/copyreg.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/copyreg.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/crypt.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/crypt.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/crypt.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/csv.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/csv.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/csv.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/datetime.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/datetime.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/datetime.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/decimal.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/decimal.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/decimal.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/difflib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/difflib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/difflib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/dis.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/dis.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/dis.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/doctest.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/doctest.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/doctest.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/dummy_threading.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/dummy_threading.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/dummy_threading.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/enum.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/enum.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/enum.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/filecmp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/filecmp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/filecmp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/fileinput.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/fileinput.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/fileinput.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/fnmatch.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/fnmatch.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/fnmatch.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/formatter.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/formatter.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/formatter.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/fractions.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/fractions.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/fractions.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/ftplib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/ftplib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/ftplib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/functools.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/functools.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/functools.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/genericpath.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/genericpath.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/genericpath.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/getopt.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/getopt.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/getopt.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/getpass.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/getpass.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/getpass.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/gettext.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/gettext.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/gettext.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/glob.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/glob.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/glob.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/gzip.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/gzip.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/gzip.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/hashlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/hashlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/hashlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/heapq.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/heapq.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/heapq.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/hmac.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/hmac.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/hmac.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/imaplib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/imaplib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/imaplib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/imghdr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/imghdr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/imghdr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/imp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/imp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/imp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/inspect.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/inspect.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/inspect.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/io.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/io.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/io.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/ipaddress.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/ipaddress.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/ipaddress.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/keyword.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/keyword.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/keyword.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/linecache.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/linecache.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/linecache.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/locale.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/locale.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/locale.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/lzma.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/lzma.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/lzma.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/macpath.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/macpath.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/macpath.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/macurl2path.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/macurl2path.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/macurl2path.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/mailbox.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/mailbox.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/mailbox.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/mailcap.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/mailcap.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/mailcap.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/mimetypes.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/mimetypes.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/mimetypes.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/modulefinder.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/modulefinder.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/modulefinder.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/netrc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/netrc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/netrc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/nntplib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/nntplib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/nntplib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/ntpath.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/ntpath.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/ntpath.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/nturl2path.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/nturl2path.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/nturl2path.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/numbers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/numbers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/numbers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/opcode.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/opcode.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/opcode.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/operator.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/operator.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/operator.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/optparse.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/optparse.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/optparse.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/os.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/os.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/os.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/pathlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/pathlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/pathlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/pdb.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/pdb.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/pdb.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/pickle.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/pickle.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/pickle.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/pickletools.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/pickletools.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/pickletools.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/pipes.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/pipes.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/pipes.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/pkgutil.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/pkgutil.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/pkgutil.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/platform.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/platform.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/platform.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/plistlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/plistlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/plistlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/poplib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/poplib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/poplib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/posixpath.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/posixpath.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/posixpath.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/pprint.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/pprint.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/pprint.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/profile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/profile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/profile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/pstats.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/pstats.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/pstats.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/pty.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/pty.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/pty.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/py_compile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/py_compile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/py_compile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/pyclbr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/pyclbr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/pyclbr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/pydoc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/pydoc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/pydoc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/queue.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/queue.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/queue.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/quopri.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/quopri.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/quopri.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/random.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/random.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/random.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/re.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/re.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/re.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/reprlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/reprlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/reprlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/rlcompleter.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/rlcompleter.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/rlcompleter.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/runpy.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/runpy.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/runpy.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/sched.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/sched.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/sched.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/selectors.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/selectors.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/selectors.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/shelve.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/shelve.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/shelve.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/shlex.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/shlex.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/shlex.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/shutil.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/shutil.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/shutil.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/signal.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/signal.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/signal.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/site.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/site.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/site.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/smtpd.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/smtpd.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/smtpd.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/smtplib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/smtplib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/smtplib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/sndhdr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/sndhdr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/sndhdr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/socket.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/socket.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/socket.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/socketserver.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/socketserver.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/socketserver.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/sre_compile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/sre_compile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/sre_compile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/sre_constants.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/sre_constants.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/sre_constants.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/sre_parse.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/sre_parse.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/sre_parse.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/ssl.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/ssl.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/ssl.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/stat.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/stat.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/stat.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/statistics.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/statistics.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/statistics.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/string.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/string.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/string.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/stringprep.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/stringprep.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/stringprep.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/struct.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/struct.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/struct.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/subprocess.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/subprocess.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/subprocess.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/sunau.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/sunau.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/sunau.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/symbol.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/symbol.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/symbol.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/symtable.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/symtable.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/symtable.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/sysconfig.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/sysconfig.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/sysconfig.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/tabnanny.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/tabnanny.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/tabnanny.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/tarfile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/tarfile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/tarfile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/telnetlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/telnetlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/telnetlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/tempfile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/tempfile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/tempfile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/textwrap.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/textwrap.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/textwrap.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/this.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/this.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/this.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/threading.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/threading.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/threading.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/timeit.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/timeit.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/timeit.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/token.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/token.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/token.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/tokenize.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/tokenize.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/tokenize.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/trace.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/trace.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/trace.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/traceback.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/traceback.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/traceback.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/tracemalloc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/tracemalloc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/tracemalloc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/tty.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/tty.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/tty.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/turtle.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/turtle.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/turtle.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/types.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/types.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/types.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/typing.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/typing.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/typing.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/uu.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/uu.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/uu.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/uuid.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/uuid.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/uuid.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/warnings.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/warnings.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/warnings.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/wave.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/wave.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/wave.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/weakref.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/weakref.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/weakref.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/webbrowser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/webbrowser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/webbrowser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/xdrlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/xdrlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/xdrlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/zipapp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/zipapp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/zipapp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/zipfile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/zipfile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/zipfile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/_bootlocale.py
+lib/python%%XYDOT%%/_collections_abc.py
+lib/python%%XYDOT%%/_compat_pickle.py
+lib/python%%XYDOT%%/_compression.py
+lib/python%%XYDOT%%/_dummy_thread.py
+lib/python%%XYDOT%%/_markupbase.py
+lib/python%%XYDOT%%/_osx_support.py
+lib/python%%XYDOT%%/_pydecimal.py
+lib/python%%XYDOT%%/_pyio.py
+lib/python%%XYDOT%%/_sitebuiltins.py
+lib/python%%XYDOT%%/_strptime.py
+lib/python%%XYDOT%%/_sysconfigdata.py
+lib/python%%XYDOT%%/_threading_local.py
+lib/python%%XYDOT%%/_weakrefset.py
+lib/python%%XYDOT%%/abc.py
+lib/python%%XYDOT%%/aifc.py
+lib/python%%XYDOT%%/antigravity.py
+lib/python%%XYDOT%%/argparse.py
+lib/python%%XYDOT%%/ast.py
+lib/python%%XYDOT%%/asynchat.py
+lib/python%%XYDOT%%/asyncio/__init__.py
+lib/python%%XYDOT%%/asyncio/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/base_events.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/base_events.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/base_events.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/base_subprocess.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/base_subprocess.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/base_subprocess.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/compat.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/compat.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/compat.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/constants.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/constants.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/constants.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/coroutines.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/coroutines.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/coroutines.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/events.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/events.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/events.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/futures.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/futures.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/futures.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/locks.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/locks.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/locks.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/log.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/log.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/log.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/proactor_events.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/proactor_events.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/proactor_events.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/protocols.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/protocols.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/protocols.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/queues.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/queues.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/queues.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/selector_events.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/selector_events.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/selector_events.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/sslproto.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/sslproto.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/sslproto.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/streams.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/streams.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/streams.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/subprocess.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/subprocess.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/subprocess.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/tasks.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/tasks.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/tasks.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/test_utils.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/test_utils.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/test_utils.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/transports.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/transports.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/transports.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/unix_events.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/unix_events.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/unix_events.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/windows_events.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/windows_events.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/windows_events.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/windows_utils.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/windows_utils.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/windows_utils.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/base_events.py
+lib/python%%XYDOT%%/asyncio/base_subprocess.py
+lib/python%%XYDOT%%/asyncio/compat.py
+lib/python%%XYDOT%%/asyncio/constants.py
+lib/python%%XYDOT%%/asyncio/coroutines.py
+lib/python%%XYDOT%%/asyncio/events.py
+lib/python%%XYDOT%%/asyncio/futures.py
+lib/python%%XYDOT%%/asyncio/locks.py
+lib/python%%XYDOT%%/asyncio/log.py
+lib/python%%XYDOT%%/asyncio/proactor_events.py
+lib/python%%XYDOT%%/asyncio/protocols.py
+lib/python%%XYDOT%%/asyncio/queues.py
+lib/python%%XYDOT%%/asyncio/selector_events.py
+lib/python%%XYDOT%%/asyncio/sslproto.py
+lib/python%%XYDOT%%/asyncio/streams.py
+lib/python%%XYDOT%%/asyncio/subprocess.py
+lib/python%%XYDOT%%/asyncio/tasks.py
+lib/python%%XYDOT%%/asyncio/test_utils.py
+lib/python%%XYDOT%%/asyncio/transports.py
+lib/python%%XYDOT%%/asyncio/unix_events.py
+lib/python%%XYDOT%%/asyncio/windows_events.py
+lib/python%%XYDOT%%/asyncio/windows_utils.py
+lib/python%%XYDOT%%/asyncore.py
+lib/python%%XYDOT%%/base64.py
+lib/python%%XYDOT%%/bdb.py
+lib/python%%XYDOT%%/binhex.py
+lib/python%%XYDOT%%/bisect.py
+lib/python%%XYDOT%%/bz2.py
+lib/python%%XYDOT%%/cProfile.py
+lib/python%%XYDOT%%/calendar.py
+lib/python%%XYDOT%%/cgi.py
+lib/python%%XYDOT%%/cgitb.py
+lib/python%%XYDOT%%/chunk.py
+lib/python%%XYDOT%%/cmd.py
+lib/python%%XYDOT%%/code.py
+lib/python%%XYDOT%%/codecs.py
+lib/python%%XYDOT%%/codeop.py
+lib/python%%XYDOT%%/collections/__init__.py
+lib/python%%XYDOT%%/collections/__main__.py
+lib/python%%XYDOT%%/collections/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/collections/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/collections/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/collections/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/collections/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/collections/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/collections/__pycache__/abc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/collections/__pycache__/abc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/collections/__pycache__/abc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/collections/abc.py
+lib/python%%XYDOT%%/colorsys.py
+lib/python%%XYDOT%%/compileall.py
+lib/python%%XYDOT%%/concurrent/__init__.py
+lib/python%%XYDOT%%/concurrent/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/concurrent/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/concurrent/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/concurrent/futures/__init__.py
+lib/python%%XYDOT%%/concurrent/futures/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/concurrent/futures/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/concurrent/futures/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/concurrent/futures/__pycache__/_base.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/concurrent/futures/__pycache__/_base.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/concurrent/futures/__pycache__/_base.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/concurrent/futures/__pycache__/process.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/concurrent/futures/__pycache__/process.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/concurrent/futures/__pycache__/process.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/concurrent/futures/__pycache__/thread.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/concurrent/futures/__pycache__/thread.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/concurrent/futures/__pycache__/thread.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/concurrent/futures/_base.py
+lib/python%%XYDOT%%/concurrent/futures/process.py
+lib/python%%XYDOT%%/concurrent/futures/thread.py
+lib/python%%XYDOT%%/config-%%XYDOT%%%%ABI%%/Makefile
+lib/python%%XYDOT%%/config-%%XYDOT%%%%ABI%%/Setup
+lib/python%%XYDOT%%/config-%%XYDOT%%%%ABI%%/Setup.config
+lib/python%%XYDOT%%/config-%%XYDOT%%%%ABI%%/Setup.local
+lib/python%%XYDOT%%/config-%%XYDOT%%%%ABI%%/config.c
+lib/python%%XYDOT%%/config-%%XYDOT%%%%ABI%%/config.c.in
+lib/python%%XYDOT%%/config-%%XYDOT%%%%ABI%%/install-sh
+lib/python%%XYDOT%%/config-%%XYDOT%%%%ABI%%/libpython%%XYDOT%%%%ABI%%.a
+lib/python%%XYDOT%%/config-%%XYDOT%%%%ABI%%/makesetup
+lib/python%%XYDOT%%/config-%%XYDOT%%%%ABI%%/python-config.py
+lib/python%%XYDOT%%/config-%%XYDOT%%%%ABI%%/python.o
+lib/python%%XYDOT%%/configparser.py
+lib/python%%XYDOT%%/contextlib.py
+lib/python%%XYDOT%%/copy.py
+lib/python%%XYDOT%%/copyreg.py
+lib/python%%XYDOT%%/crypt.py
+lib/python%%XYDOT%%/csv.py
+lib/python%%XYDOT%%/ctypes/__init__.py
+lib/python%%XYDOT%%/ctypes/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/__pycache__/_endian.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/__pycache__/_endian.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/__pycache__/_endian.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/__pycache__/util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/__pycache__/util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/__pycache__/util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/__pycache__/wintypes.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/__pycache__/wintypes.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/__pycache__/wintypes.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/_endian.py
+lib/python%%XYDOT%%/ctypes/macholib/README.ctypes
+lib/python%%XYDOT%%/ctypes/macholib/__init__.py
+lib/python%%XYDOT%%/ctypes/macholib/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/macholib/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/macholib/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/macholib/__pycache__/dyld.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/macholib/__pycache__/dyld.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/macholib/__pycache__/dyld.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/macholib/__pycache__/dylib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/macholib/__pycache__/dylib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/macholib/__pycache__/dylib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/macholib/__pycache__/framework.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/macholib/__pycache__/framework.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/macholib/__pycache__/framework.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/macholib/dyld.py
+lib/python%%XYDOT%%/ctypes/macholib/dylib.py
+lib/python%%XYDOT%%/ctypes/macholib/fetch_macholib
+lib/python%%XYDOT%%/ctypes/macholib/fetch_macholib.bat
+lib/python%%XYDOT%%/ctypes/macholib/framework.py
+lib/python%%XYDOT%%/ctypes/test/__init__.py
+lib/python%%XYDOT%%/ctypes/test/__main__.py
+lib/python%%XYDOT%%/ctypes/test/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_anon.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_anon.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_anon.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_array_in_pointer.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_array_in_pointer.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_array_in_pointer.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_arrays.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_arrays.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_arrays.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_as_parameter.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_as_parameter.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_as_parameter.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_bitfields.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_bitfields.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_bitfields.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_buffers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_buffers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_buffers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_bytes.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_bytes.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_bytes.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_byteswap.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_byteswap.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_byteswap.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_callbacks.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_callbacks.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_callbacks.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_cast.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_cast.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_cast.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_cfuncs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_cfuncs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_cfuncs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_checkretval.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_checkretval.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_checkretval.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_delattr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_delattr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_delattr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_errno.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_errno.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_errno.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_find.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_find.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_find.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_frombuffer.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_frombuffer.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_frombuffer.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_funcptr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_funcptr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_funcptr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_functions.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_functions.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_functions.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_incomplete.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_incomplete.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_incomplete.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_init.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_init.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_init.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_internals.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_internals.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_internals.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_keeprefs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_keeprefs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_keeprefs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_libc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_libc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_libc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_loading.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_loading.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_loading.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_macholib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_macholib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_macholib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_memfunctions.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_memfunctions.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_memfunctions.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_numbers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_numbers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_numbers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_objects.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_objects.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_objects.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_parameters.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_parameters.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_parameters.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_pep3118.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_pep3118.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_pep3118.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_pickling.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_pickling.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_pickling.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_pointers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_pointers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_pointers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_prototypes.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_prototypes.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_prototypes.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_python_api.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_python_api.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_python_api.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_random_things.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_random_things.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_random_things.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_refcounts.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_refcounts.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_refcounts.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_repr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_repr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_repr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_returnfuncptrs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_returnfuncptrs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_returnfuncptrs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_simplesubclasses.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_simplesubclasses.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_simplesubclasses.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_sizes.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_sizes.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_sizes.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_slicing.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_slicing.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_slicing.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_stringptr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_stringptr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_stringptr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_strings.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_strings.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_strings.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_struct_fields.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_struct_fields.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_struct_fields.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_structures.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_structures.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_structures.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_unaligned_structures.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_unaligned_structures.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_unaligned_structures.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_unicode.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_unicode.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_unicode.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_values.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_values.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_values.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_varsize_struct.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_varsize_struct.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_varsize_struct.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_win32.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_win32.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_win32.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_wintypes.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_wintypes.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_wintypes.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/test_anon.py
+lib/python%%XYDOT%%/ctypes/test/test_array_in_pointer.py
+lib/python%%XYDOT%%/ctypes/test/test_arrays.py
+lib/python%%XYDOT%%/ctypes/test/test_as_parameter.py
+lib/python%%XYDOT%%/ctypes/test/test_bitfields.py
+lib/python%%XYDOT%%/ctypes/test/test_buffers.py
+lib/python%%XYDOT%%/ctypes/test/test_bytes.py
+lib/python%%XYDOT%%/ctypes/test/test_byteswap.py
+lib/python%%XYDOT%%/ctypes/test/test_callbacks.py
+lib/python%%XYDOT%%/ctypes/test/test_cast.py
+lib/python%%XYDOT%%/ctypes/test/test_cfuncs.py
+lib/python%%XYDOT%%/ctypes/test/test_checkretval.py
+lib/python%%XYDOT%%/ctypes/test/test_delattr.py
+lib/python%%XYDOT%%/ctypes/test/test_errno.py
+lib/python%%XYDOT%%/ctypes/test/test_find.py
+lib/python%%XYDOT%%/ctypes/test/test_frombuffer.py
+lib/python%%XYDOT%%/ctypes/test/test_funcptr.py
+lib/python%%XYDOT%%/ctypes/test/test_functions.py
+lib/python%%XYDOT%%/ctypes/test/test_incomplete.py
+lib/python%%XYDOT%%/ctypes/test/test_init.py
+lib/python%%XYDOT%%/ctypes/test/test_internals.py
+lib/python%%XYDOT%%/ctypes/test/test_keeprefs.py
+lib/python%%XYDOT%%/ctypes/test/test_libc.py
+lib/python%%XYDOT%%/ctypes/test/test_loading.py
+lib/python%%XYDOT%%/ctypes/test/test_macholib.py
+lib/python%%XYDOT%%/ctypes/test/test_memfunctions.py
+lib/python%%XYDOT%%/ctypes/test/test_numbers.py
+lib/python%%XYDOT%%/ctypes/test/test_objects.py
+lib/python%%XYDOT%%/ctypes/test/test_parameters.py
+lib/python%%XYDOT%%/ctypes/test/test_pep3118.py
+lib/python%%XYDOT%%/ctypes/test/test_pickling.py
+lib/python%%XYDOT%%/ctypes/test/test_pointers.py
+lib/python%%XYDOT%%/ctypes/test/test_prototypes.py
+lib/python%%XYDOT%%/ctypes/test/test_python_api.py
+lib/python%%XYDOT%%/ctypes/test/test_random_things.py
+lib/python%%XYDOT%%/ctypes/test/test_refcounts.py
+lib/python%%XYDOT%%/ctypes/test/test_repr.py
+lib/python%%XYDOT%%/ctypes/test/test_returnfuncptrs.py
+lib/python%%XYDOT%%/ctypes/test/test_simplesubclasses.py
+lib/python%%XYDOT%%/ctypes/test/test_sizes.py
+lib/python%%XYDOT%%/ctypes/test/test_slicing.py
+lib/python%%XYDOT%%/ctypes/test/test_stringptr.py
+lib/python%%XYDOT%%/ctypes/test/test_strings.py
+lib/python%%XYDOT%%/ctypes/test/test_struct_fields.py
+lib/python%%XYDOT%%/ctypes/test/test_structures.py
+lib/python%%XYDOT%%/ctypes/test/test_unaligned_structures.py
+lib/python%%XYDOT%%/ctypes/test/test_unicode.py
+lib/python%%XYDOT%%/ctypes/test/test_values.py
+lib/python%%XYDOT%%/ctypes/test/test_varsize_struct.py
+lib/python%%XYDOT%%/ctypes/test/test_win32.py
+lib/python%%XYDOT%%/ctypes/test/test_wintypes.py
+lib/python%%XYDOT%%/ctypes/util.py
+lib/python%%XYDOT%%/ctypes/wintypes.py
+lib/python%%XYDOT%%/curses/__init__.py
+lib/python%%XYDOT%%/curses/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/curses/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/curses/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/curses/__pycache__/ascii.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/curses/__pycache__/ascii.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/curses/__pycache__/ascii.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/curses/__pycache__/has_key.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/curses/__pycache__/has_key.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/curses/__pycache__/has_key.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/curses/__pycache__/panel.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/curses/__pycache__/panel.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/curses/__pycache__/panel.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/curses/__pycache__/textpad.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/curses/__pycache__/textpad.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/curses/__pycache__/textpad.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/curses/ascii.py
+lib/python%%XYDOT%%/curses/has_key.py
+lib/python%%XYDOT%%/curses/panel.py
+lib/python%%XYDOT%%/curses/textpad.py
+lib/python%%XYDOT%%/datetime.py
+lib/python%%XYDOT%%/dbm/__init__.py
+lib/python%%XYDOT%%/dbm/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/dbm/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/dbm/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/dbm/__pycache__/dumb.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/dbm/__pycache__/dumb.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/dbm/__pycache__/dumb.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/dbm/__pycache__/gnu.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/dbm/__pycache__/gnu.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/dbm/__pycache__/gnu.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/dbm/__pycache__/ndbm.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/dbm/__pycache__/ndbm.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/dbm/__pycache__/ndbm.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/dbm/dumb.py
+lib/python%%XYDOT%%/dbm/gnu.py
+lib/python%%XYDOT%%/dbm/ndbm.py
+lib/python%%XYDOT%%/decimal.py
+lib/python%%XYDOT%%/difflib.py
+lib/python%%XYDOT%%/dis.py
+lib/python%%XYDOT%%/distutils/README
+lib/python%%XYDOT%%/distutils/__init__.py
+lib/python%%XYDOT%%/distutils/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/_msvccompiler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/_msvccompiler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/_msvccompiler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/archive_util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/archive_util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/archive_util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/bcppcompiler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/bcppcompiler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/bcppcompiler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/ccompiler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/ccompiler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/ccompiler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/cmd.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/cmd.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/cmd.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/config.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/config.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/config.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/core.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/core.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/core.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/cygwinccompiler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/cygwinccompiler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/cygwinccompiler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/debug.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/debug.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/debug.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/dep_util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/dep_util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/dep_util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/dir_util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/dir_util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/dir_util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/dist.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/dist.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/dist.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/errors.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/errors.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/errors.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/extension.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/extension.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/extension.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/fancy_getopt.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/fancy_getopt.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/fancy_getopt.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/file_util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/file_util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/file_util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/filelist.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/filelist.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/filelist.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/log.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/log.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/log.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/msvc9compiler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/msvc9compiler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/msvc9compiler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/msvccompiler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/msvccompiler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/msvccompiler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/spawn.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/spawn.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/spawn.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/sysconfig.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/sysconfig.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/sysconfig.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/text_file.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/text_file.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/text_file.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/unixccompiler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/unixccompiler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/unixccompiler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/version.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/version.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/version.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/versionpredicate.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/versionpredicate.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/versionpredicate.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/_msvccompiler.py
+lib/python%%XYDOT%%/distutils/archive_util.py
+lib/python%%XYDOT%%/distutils/bcppcompiler.py
+lib/python%%XYDOT%%/distutils/ccompiler.py
+lib/python%%XYDOT%%/distutils/cmd.py
+lib/python%%XYDOT%%/distutils/command/__init__.py
+lib/python%%XYDOT%%/distutils/command/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist_dumb.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist_dumb.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist_dumb.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist_msi.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist_msi.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist_msi.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist_rpm.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist_rpm.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist_rpm.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist_wininst.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist_wininst.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist_wininst.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build_clib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build_clib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build_clib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build_ext.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build_ext.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build_ext.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build_py.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build_py.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build_py.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build_scripts.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build_scripts.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build_scripts.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/check.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/check.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/check.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/clean.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/clean.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/clean.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/config.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/config.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/config.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_data.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_data.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_data.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_egg_info.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_egg_info.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_egg_info.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_headers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_headers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_headers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_lib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_lib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_lib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_scripts.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_scripts.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_scripts.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/register.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/register.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/register.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/sdist.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/sdist.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/sdist.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/upload.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/upload.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/upload.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/bdist.py
+lib/python%%XYDOT%%/distutils/command/bdist_dumb.py
+lib/python%%XYDOT%%/distutils/command/bdist_msi.py
+lib/python%%XYDOT%%/distutils/command/bdist_rpm.py
+lib/python%%XYDOT%%/distutils/command/bdist_wininst.py
+lib/python%%XYDOT%%/distutils/command/build.py
+lib/python%%XYDOT%%/distutils/command/build_clib.py
+lib/python%%XYDOT%%/distutils/command/build_ext.py
+lib/python%%XYDOT%%/distutils/command/build_py.py
+lib/python%%XYDOT%%/distutils/command/build_scripts.py
+lib/python%%XYDOT%%/distutils/command/check.py
+lib/python%%XYDOT%%/distutils/command/clean.py
+lib/python%%XYDOT%%/distutils/command/command_template
+lib/python%%XYDOT%%/distutils/command/config.py
+lib/python%%XYDOT%%/distutils/command/install.py
+lib/python%%XYDOT%%/distutils/command/install_data.py
+lib/python%%XYDOT%%/distutils/command/install_egg_info.py
+lib/python%%XYDOT%%/distutils/command/install_headers.py
+lib/python%%XYDOT%%/distutils/command/install_lib.py
+lib/python%%XYDOT%%/distutils/command/install_scripts.py
+lib/python%%XYDOT%%/distutils/command/register.py
+lib/python%%XYDOT%%/distutils/command/sdist.py
+lib/python%%XYDOT%%/distutils/command/upload.py
+lib/python%%XYDOT%%/distutils/command/wininst-10.0-amd64.exe
+lib/python%%XYDOT%%/distutils/command/wininst-10.0.exe
+lib/python%%XYDOT%%/distutils/command/wininst-14.0-amd64.exe
+lib/python%%XYDOT%%/distutils/command/wininst-14.0.exe
+lib/python%%XYDOT%%/distutils/command/wininst-6.0.exe
+lib/python%%XYDOT%%/distutils/command/wininst-7.1.exe
+lib/python%%XYDOT%%/distutils/command/wininst-8.0.exe
+lib/python%%XYDOT%%/distutils/command/wininst-9.0-amd64.exe
+lib/python%%XYDOT%%/distutils/command/wininst-9.0.exe
+lib/python%%XYDOT%%/distutils/config.py
+lib/python%%XYDOT%%/distutils/core.py
+lib/python%%XYDOT%%/distutils/cygwinccompiler.py
+lib/python%%XYDOT%%/distutils/debug.py
+lib/python%%XYDOT%%/distutils/dep_util.py
+lib/python%%XYDOT%%/distutils/dir_util.py
+lib/python%%XYDOT%%/distutils/dist.py
+lib/python%%XYDOT%%/distutils/errors.py
+lib/python%%XYDOT%%/distutils/extension.py
+lib/python%%XYDOT%%/distutils/fancy_getopt.py
+lib/python%%XYDOT%%/distutils/file_util.py
+lib/python%%XYDOT%%/distutils/filelist.py
+lib/python%%XYDOT%%/distutils/log.py
+lib/python%%XYDOT%%/distutils/msvc9compiler.py
+lib/python%%XYDOT%%/distutils/msvccompiler.py
+lib/python%%XYDOT%%/distutils/spawn.py
+lib/python%%XYDOT%%/distutils/sysconfig.py
+lib/python%%XYDOT%%/distutils/tests/Setup.sample
+lib/python%%XYDOT%%/distutils/tests/__init__.py
+lib/python%%XYDOT%%/distutils/tests/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/support.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/support.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/support.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_archive_util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_archive_util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_archive_util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist_dumb.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist_dumb.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist_dumb.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist_msi.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist_msi.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist_msi.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist_rpm.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist_rpm.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist_rpm.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist_wininst.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist_wininst.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist_wininst.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build_clib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build_clib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build_clib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build_ext.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build_ext.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build_ext.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build_py.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build_py.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build_py.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build_scripts.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build_scripts.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build_scripts.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_check.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_check.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_check.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_clean.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_clean.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_clean.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_cmd.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_cmd.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_cmd.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_config.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_config.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_config.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_config_cmd.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_config_cmd.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_config_cmd.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_core.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_core.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_core.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_cygwinccompiler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_cygwinccompiler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_cygwinccompiler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_dep_util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_dep_util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_dep_util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_dir_util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_dir_util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_dir_util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_dist.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_dist.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_dist.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_extension.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_extension.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_extension.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_file_util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_file_util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_file_util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_filelist.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_filelist.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_filelist.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install_data.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install_data.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install_data.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install_headers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install_headers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install_headers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install_lib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install_lib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install_lib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install_scripts.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install_scripts.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install_scripts.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_log.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_log.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_log.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_msvc9compiler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_msvc9compiler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_msvc9compiler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_msvccompiler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_msvccompiler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_msvccompiler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_register.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_register.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_register.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_sdist.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_sdist.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_sdist.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_spawn.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_spawn.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_spawn.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_sysconfig.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_sysconfig.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_sysconfig.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_text_file.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_text_file.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_text_file.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_unixccompiler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_unixccompiler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_unixccompiler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_upload.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_upload.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_upload.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_version.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_version.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_version.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_versionpredicate.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_versionpredicate.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_versionpredicate.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/support.py
+lib/python%%XYDOT%%/distutils/tests/test_archive_util.py
+lib/python%%XYDOT%%/distutils/tests/test_bdist.py
+lib/python%%XYDOT%%/distutils/tests/test_bdist_dumb.py
+lib/python%%XYDOT%%/distutils/tests/test_bdist_msi.py
+lib/python%%XYDOT%%/distutils/tests/test_bdist_rpm.py
+lib/python%%XYDOT%%/distutils/tests/test_bdist_wininst.py
+lib/python%%XYDOT%%/distutils/tests/test_build.py
+lib/python%%XYDOT%%/distutils/tests/test_build_clib.py
+lib/python%%XYDOT%%/distutils/tests/test_build_ext.py
+lib/python%%XYDOT%%/distutils/tests/test_build_py.py
+lib/python%%XYDOT%%/distutils/tests/test_build_scripts.py
+lib/python%%XYDOT%%/distutils/tests/test_check.py
+lib/python%%XYDOT%%/distutils/tests/test_clean.py
+lib/python%%XYDOT%%/distutils/tests/test_cmd.py
+lib/python%%XYDOT%%/distutils/tests/test_config.py
+lib/python%%XYDOT%%/distutils/tests/test_config_cmd.py
+lib/python%%XYDOT%%/distutils/tests/test_core.py
+lib/python%%XYDOT%%/distutils/tests/test_cygwinccompiler.py
+lib/python%%XYDOT%%/distutils/tests/test_dep_util.py
+lib/python%%XYDOT%%/distutils/tests/test_dir_util.py
+lib/python%%XYDOT%%/distutils/tests/test_dist.py
+lib/python%%XYDOT%%/distutils/tests/test_extension.py
+lib/python%%XYDOT%%/distutils/tests/test_file_util.py
+lib/python%%XYDOT%%/distutils/tests/test_filelist.py
+lib/python%%XYDOT%%/distutils/tests/test_install.py
+lib/python%%XYDOT%%/distutils/tests/test_install_data.py
+lib/python%%XYDOT%%/distutils/tests/test_install_headers.py
+lib/python%%XYDOT%%/distutils/tests/test_install_lib.py
+lib/python%%XYDOT%%/distutils/tests/test_install_scripts.py
+lib/python%%XYDOT%%/distutils/tests/test_log.py
+lib/python%%XYDOT%%/distutils/tests/test_msvc9compiler.py
+lib/python%%XYDOT%%/distutils/tests/test_msvccompiler.py
+lib/python%%XYDOT%%/distutils/tests/test_register.py
+lib/python%%XYDOT%%/distutils/tests/test_sdist.py
+lib/python%%XYDOT%%/distutils/tests/test_spawn.py
+lib/python%%XYDOT%%/distutils/tests/test_sysconfig.py
+lib/python%%XYDOT%%/distutils/tests/test_text_file.py
+lib/python%%XYDOT%%/distutils/tests/test_unixccompiler.py
+lib/python%%XYDOT%%/distutils/tests/test_upload.py
+lib/python%%XYDOT%%/distutils/tests/test_util.py
+lib/python%%XYDOT%%/distutils/tests/test_version.py
+lib/python%%XYDOT%%/distutils/tests/test_versionpredicate.py
+lib/python%%XYDOT%%/distutils/tests/xxmodule.c
+lib/python%%XYDOT%%/distutils/text_file.py
+lib/python%%XYDOT%%/distutils/unixccompiler.py
+lib/python%%XYDOT%%/distutils/util.py
+lib/python%%XYDOT%%/distutils/version.py
+lib/python%%XYDOT%%/distutils/versionpredicate.py
+lib/python%%XYDOT%%/doctest.py
+lib/python%%XYDOT%%/dummy_threading.py
+lib/python%%XYDOT%%/email/__init__.py
+lib/python%%XYDOT%%/email/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/_encoded_words.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/_encoded_words.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/_encoded_words.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/_header_value_parser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/_header_value_parser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/_header_value_parser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/_parseaddr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/_parseaddr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/_parseaddr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/_policybase.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/_policybase.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/_policybase.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/base64mime.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/base64mime.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/base64mime.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/charset.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/charset.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/charset.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/contentmanager.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/contentmanager.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/contentmanager.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/encoders.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/encoders.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/encoders.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/errors.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/errors.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/errors.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/feedparser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/feedparser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/feedparser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/generator.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/generator.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/generator.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/header.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/header.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/header.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/headerregistry.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/headerregistry.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/headerregistry.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/iterators.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/iterators.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/iterators.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/message.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/message.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/message.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/parser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/parser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/parser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/policy.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/policy.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/policy.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/quoprimime.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/quoprimime.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/quoprimime.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/utils.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/utils.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/utils.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/_encoded_words.py
+lib/python%%XYDOT%%/email/_header_value_parser.py
+lib/python%%XYDOT%%/email/_parseaddr.py
+lib/python%%XYDOT%%/email/_policybase.py
+lib/python%%XYDOT%%/email/architecture.rst
+lib/python%%XYDOT%%/email/base64mime.py
+lib/python%%XYDOT%%/email/charset.py
+lib/python%%XYDOT%%/email/contentmanager.py
+lib/python%%XYDOT%%/email/encoders.py
+lib/python%%XYDOT%%/email/errors.py
+lib/python%%XYDOT%%/email/feedparser.py
+lib/python%%XYDOT%%/email/generator.py
+lib/python%%XYDOT%%/email/header.py
+lib/python%%XYDOT%%/email/headerregistry.py
+lib/python%%XYDOT%%/email/iterators.py
+lib/python%%XYDOT%%/email/message.py
+lib/python%%XYDOT%%/email/mime/__init__.py
+lib/python%%XYDOT%%/email/mime/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/application.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/application.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/application.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/audio.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/audio.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/audio.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/base.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/base.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/base.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/image.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/image.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/image.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/message.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/message.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/message.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/multipart.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/multipart.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/multipart.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/nonmultipart.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/nonmultipart.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/nonmultipart.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/text.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/text.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/text.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/mime/application.py
+lib/python%%XYDOT%%/email/mime/audio.py
+lib/python%%XYDOT%%/email/mime/base.py
+lib/python%%XYDOT%%/email/mime/image.py
+lib/python%%XYDOT%%/email/mime/message.py
+lib/python%%XYDOT%%/email/mime/multipart.py
+lib/python%%XYDOT%%/email/mime/nonmultipart.py
+lib/python%%XYDOT%%/email/mime/text.py
+lib/python%%XYDOT%%/email/parser.py
+lib/python%%XYDOT%%/email/policy.py
+lib/python%%XYDOT%%/email/quoprimime.py
+lib/python%%XYDOT%%/email/utils.py
+lib/python%%XYDOT%%/encodings/__init__.py
+lib/python%%XYDOT%%/encodings/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/aliases.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/aliases.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/aliases.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/ascii.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/ascii.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/ascii.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/base64_codec.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/base64_codec.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/base64_codec.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/big5.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/big5.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/big5.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/big5hkscs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/big5hkscs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/big5hkscs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/bz2_codec.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/bz2_codec.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/bz2_codec.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/charmap.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/charmap.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/charmap.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp037.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp037.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp037.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1006.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1006.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1006.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1026.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1026.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1026.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1125.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1125.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1125.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1140.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1140.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1140.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1250.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1250.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1250.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1251.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1251.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1251.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1252.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1252.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1252.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1253.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1253.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1253.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1254.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1254.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1254.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1255.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1255.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1255.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1256.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1256.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1256.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1257.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1257.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1257.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1258.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1258.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1258.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp273.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp273.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp273.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp424.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp424.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp424.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp437.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp437.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp437.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp500.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp500.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp500.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp65001.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp65001.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp65001.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp720.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp720.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp720.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp737.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp737.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp737.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp775.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp775.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp775.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp850.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp850.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp850.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp852.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp852.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp852.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp855.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp855.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp855.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp856.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp856.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp856.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp857.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp857.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp857.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp858.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp858.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp858.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp860.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp860.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp860.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp861.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp861.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp861.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp862.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp862.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp862.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp863.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp863.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp863.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp864.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp864.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp864.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp865.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp865.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp865.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp866.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp866.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp866.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp869.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp869.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp869.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp874.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp874.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp874.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp875.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp875.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp875.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp932.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp932.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp932.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp949.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp949.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp949.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp950.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp950.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp950.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/euc_jis_2004.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/euc_jis_2004.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/euc_jis_2004.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/euc_jisx0213.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/euc_jisx0213.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/euc_jisx0213.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/euc_jp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/euc_jp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/euc_jp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/euc_kr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/euc_kr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/euc_kr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/gb18030.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/gb18030.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/gb18030.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/gb2312.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/gb2312.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/gb2312.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/gbk.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/gbk.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/gbk.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/hex_codec.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/hex_codec.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/hex_codec.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/hp_roman8.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/hp_roman8.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/hp_roman8.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/hz.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/hz.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/hz.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/idna.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/idna.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/idna.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_1.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_1.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_1.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_2004.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_2004.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_2004.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_3.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_3.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_3.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_ext.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_ext.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_ext.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_kr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_kr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_kr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_1.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_1.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_1.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_10.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_10.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_10.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_11.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_11.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_11.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_13.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_13.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_13.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_14.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_14.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_14.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_15.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_15.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_15.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_16.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_16.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_16.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_3.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_3.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_3.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_4.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_4.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_4.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_5.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_5.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_5.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_6.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_6.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_6.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_7.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_7.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_7.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_8.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_8.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_8.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_9.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_9.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_9.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/johab.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/johab.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/johab.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/koi8_r.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/koi8_r.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/koi8_r.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/koi8_t.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/koi8_t.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/koi8_t.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/koi8_u.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/koi8_u.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/koi8_u.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/kz1048.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/kz1048.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/kz1048.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/latin_1.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/latin_1.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/latin_1.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_arabic.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_arabic.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_arabic.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_centeuro.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_centeuro.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_centeuro.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_croatian.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_croatian.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_croatian.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_cyrillic.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_cyrillic.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_cyrillic.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_farsi.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_farsi.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_farsi.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_greek.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_greek.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_greek.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_iceland.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_iceland.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_iceland.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_latin2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_latin2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_latin2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_roman.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_roman.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_roman.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_romanian.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_romanian.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_romanian.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_turkish.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_turkish.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_turkish.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mbcs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mbcs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mbcs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/palmos.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/palmos.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/palmos.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/ptcp154.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/ptcp154.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/ptcp154.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/punycode.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/punycode.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/punycode.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/quopri_codec.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/quopri_codec.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/quopri_codec.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/raw_unicode_escape.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/raw_unicode_escape.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/raw_unicode_escape.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/rot_13.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/rot_13.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/rot_13.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/shift_jis.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/shift_jis.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/shift_jis.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/shift_jis_2004.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/shift_jis_2004.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/shift_jis_2004.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/shift_jisx0213.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/shift_jisx0213.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/shift_jisx0213.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/tis_620.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/tis_620.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/tis_620.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/undefined.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/undefined.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/undefined.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/unicode_escape.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/unicode_escape.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/unicode_escape.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/unicode_internal.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/unicode_internal.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/unicode_internal.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_16.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_16.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_16.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_16_be.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_16_be.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_16_be.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_16_le.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_16_le.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_16_le.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_32.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_32.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_32.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_32_be.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_32_be.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_32_be.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_32_le.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_32_le.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_32_le.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_7.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_7.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_7.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_8.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_8.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_8.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_8_sig.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_8_sig.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_8_sig.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/uu_codec.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/uu_codec.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/uu_codec.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/zlib_codec.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/zlib_codec.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/zlib_codec.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/aliases.py
+lib/python%%XYDOT%%/encodings/ascii.py
+lib/python%%XYDOT%%/encodings/base64_codec.py
+lib/python%%XYDOT%%/encodings/big5.py
+lib/python%%XYDOT%%/encodings/big5hkscs.py
+lib/python%%XYDOT%%/encodings/bz2_codec.py
+lib/python%%XYDOT%%/encodings/charmap.py
+lib/python%%XYDOT%%/encodings/cp037.py
+lib/python%%XYDOT%%/encodings/cp1006.py
+lib/python%%XYDOT%%/encodings/cp1026.py
+lib/python%%XYDOT%%/encodings/cp1125.py
+lib/python%%XYDOT%%/encodings/cp1140.py
+lib/python%%XYDOT%%/encodings/cp1250.py
+lib/python%%XYDOT%%/encodings/cp1251.py
+lib/python%%XYDOT%%/encodings/cp1252.py
+lib/python%%XYDOT%%/encodings/cp1253.py
+lib/python%%XYDOT%%/encodings/cp1254.py
+lib/python%%XYDOT%%/encodings/cp1255.py
+lib/python%%XYDOT%%/encodings/cp1256.py
+lib/python%%XYDOT%%/encodings/cp1257.py
+lib/python%%XYDOT%%/encodings/cp1258.py
+lib/python%%XYDOT%%/encodings/cp273.py
+lib/python%%XYDOT%%/encodings/cp424.py
+lib/python%%XYDOT%%/encodings/cp437.py
+lib/python%%XYDOT%%/encodings/cp500.py
+lib/python%%XYDOT%%/encodings/cp65001.py
+lib/python%%XYDOT%%/encodings/cp720.py
+lib/python%%XYDOT%%/encodings/cp737.py
+lib/python%%XYDOT%%/encodings/cp775.py
+lib/python%%XYDOT%%/encodings/cp850.py
+lib/python%%XYDOT%%/encodings/cp852.py
+lib/python%%XYDOT%%/encodings/cp855.py
+lib/python%%XYDOT%%/encodings/cp856.py
+lib/python%%XYDOT%%/encodings/cp857.py
+lib/python%%XYDOT%%/encodings/cp858.py
+lib/python%%XYDOT%%/encodings/cp860.py
+lib/python%%XYDOT%%/encodings/cp861.py
+lib/python%%XYDOT%%/encodings/cp862.py
+lib/python%%XYDOT%%/encodings/cp863.py
+lib/python%%XYDOT%%/encodings/cp864.py
+lib/python%%XYDOT%%/encodings/cp865.py
+lib/python%%XYDOT%%/encodings/cp866.py
+lib/python%%XYDOT%%/encodings/cp869.py
+lib/python%%XYDOT%%/encodings/cp874.py
+lib/python%%XYDOT%%/encodings/cp875.py
+lib/python%%XYDOT%%/encodings/cp932.py
+lib/python%%XYDOT%%/encodings/cp949.py
+lib/python%%XYDOT%%/encodings/cp950.py
+lib/python%%XYDOT%%/encodings/euc_jis_2004.py
+lib/python%%XYDOT%%/encodings/euc_jisx0213.py
+lib/python%%XYDOT%%/encodings/euc_jp.py
+lib/python%%XYDOT%%/encodings/euc_kr.py
+lib/python%%XYDOT%%/encodings/gb18030.py
+lib/python%%XYDOT%%/encodings/gb2312.py
+lib/python%%XYDOT%%/encodings/gbk.py
+lib/python%%XYDOT%%/encodings/hex_codec.py
+lib/python%%XYDOT%%/encodings/hp_roman8.py
+lib/python%%XYDOT%%/encodings/hz.py
+lib/python%%XYDOT%%/encodings/idna.py
+lib/python%%XYDOT%%/encodings/iso2022_jp.py
+lib/python%%XYDOT%%/encodings/iso2022_jp_1.py
+lib/python%%XYDOT%%/encodings/iso2022_jp_2.py
+lib/python%%XYDOT%%/encodings/iso2022_jp_2004.py
+lib/python%%XYDOT%%/encodings/iso2022_jp_3.py
+lib/python%%XYDOT%%/encodings/iso2022_jp_ext.py
+lib/python%%XYDOT%%/encodings/iso2022_kr.py
+lib/python%%XYDOT%%/encodings/iso8859_1.py
+lib/python%%XYDOT%%/encodings/iso8859_10.py
+lib/python%%XYDOT%%/encodings/iso8859_11.py
+lib/python%%XYDOT%%/encodings/iso8859_13.py
+lib/python%%XYDOT%%/encodings/iso8859_14.py
+lib/python%%XYDOT%%/encodings/iso8859_15.py
+lib/python%%XYDOT%%/encodings/iso8859_16.py
+lib/python%%XYDOT%%/encodings/iso8859_2.py
+lib/python%%XYDOT%%/encodings/iso8859_3.py
+lib/python%%XYDOT%%/encodings/iso8859_4.py
+lib/python%%XYDOT%%/encodings/iso8859_5.py
+lib/python%%XYDOT%%/encodings/iso8859_6.py
+lib/python%%XYDOT%%/encodings/iso8859_7.py
+lib/python%%XYDOT%%/encodings/iso8859_8.py
+lib/python%%XYDOT%%/encodings/iso8859_9.py
+lib/python%%XYDOT%%/encodings/johab.py
+lib/python%%XYDOT%%/encodings/koi8_r.py
+lib/python%%XYDOT%%/encodings/koi8_t.py
+lib/python%%XYDOT%%/encodings/koi8_u.py
+lib/python%%XYDOT%%/encodings/kz1048.py
+lib/python%%XYDOT%%/encodings/latin_1.py
+lib/python%%XYDOT%%/encodings/mac_arabic.py
+lib/python%%XYDOT%%/encodings/mac_centeuro.py
+lib/python%%XYDOT%%/encodings/mac_croatian.py
+lib/python%%XYDOT%%/encodings/mac_cyrillic.py
+lib/python%%XYDOT%%/encodings/mac_farsi.py
+lib/python%%XYDOT%%/encodings/mac_greek.py
+lib/python%%XYDOT%%/encodings/mac_iceland.py
+lib/python%%XYDOT%%/encodings/mac_latin2.py
+lib/python%%XYDOT%%/encodings/mac_roman.py
+lib/python%%XYDOT%%/encodings/mac_romanian.py
+lib/python%%XYDOT%%/encodings/mac_turkish.py
+lib/python%%XYDOT%%/encodings/mbcs.py
+lib/python%%XYDOT%%/encodings/palmos.py
+lib/python%%XYDOT%%/encodings/ptcp154.py
+lib/python%%XYDOT%%/encodings/punycode.py
+lib/python%%XYDOT%%/encodings/quopri_codec.py
+lib/python%%XYDOT%%/encodings/raw_unicode_escape.py
+lib/python%%XYDOT%%/encodings/rot_13.py
+lib/python%%XYDOT%%/encodings/shift_jis.py
+lib/python%%XYDOT%%/encodings/shift_jis_2004.py
+lib/python%%XYDOT%%/encodings/shift_jisx0213.py
+lib/python%%XYDOT%%/encodings/tis_620.py
+lib/python%%XYDOT%%/encodings/undefined.py
+lib/python%%XYDOT%%/encodings/unicode_escape.py
+lib/python%%XYDOT%%/encodings/unicode_internal.py
+lib/python%%XYDOT%%/encodings/utf_16.py
+lib/python%%XYDOT%%/encodings/utf_16_be.py
+lib/python%%XYDOT%%/encodings/utf_16_le.py
+lib/python%%XYDOT%%/encodings/utf_32.py
+lib/python%%XYDOT%%/encodings/utf_32_be.py
+lib/python%%XYDOT%%/encodings/utf_32_le.py
+lib/python%%XYDOT%%/encodings/utf_7.py
+lib/python%%XYDOT%%/encodings/utf_8.py
+lib/python%%XYDOT%%/encodings/utf_8_sig.py
+lib/python%%XYDOT%%/encodings/uu_codec.py
+lib/python%%XYDOT%%/encodings/zlib_codec.py
+lib/python%%XYDOT%%/ensurepip/__init__.py
+lib/python%%XYDOT%%/ensurepip/__main__.py
+lib/python%%XYDOT%%/ensurepip/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ensurepip/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ensurepip/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ensurepip/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ensurepip/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ensurepip/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ensurepip/__pycache__/_uninstall.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ensurepip/__pycache__/_uninstall.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ensurepip/__pycache__/_uninstall.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ensurepip/_bundled/pip-9.0.1-py2.py3-none-any.whl
+lib/python%%XYDOT%%/ensurepip/_bundled/setuptools-28.8.0-py2.py3-none-any.whl
+lib/python%%XYDOT%%/ensurepip/_uninstall.py
+lib/python%%XYDOT%%/enum.py
+lib/python%%XYDOT%%/filecmp.py
+lib/python%%XYDOT%%/fileinput.py
+lib/python%%XYDOT%%/fnmatch.py
+lib/python%%XYDOT%%/formatter.py
+lib/python%%XYDOT%%/fractions.py
+lib/python%%XYDOT%%/ftplib.py
+lib/python%%XYDOT%%/functools.py
+lib/python%%XYDOT%%/genericpath.py
+lib/python%%XYDOT%%/getopt.py
+lib/python%%XYDOT%%/getpass.py
+lib/python%%XYDOT%%/gettext.py
+lib/python%%XYDOT%%/glob.py
+lib/python%%XYDOT%%/gzip.py
+lib/python%%XYDOT%%/hashlib.py
+lib/python%%XYDOT%%/heapq.py
+lib/python%%XYDOT%%/hmac.py
+lib/python%%XYDOT%%/html/__init__.py
+lib/python%%XYDOT%%/html/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/html/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/html/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/html/__pycache__/entities.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/html/__pycache__/entities.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/html/__pycache__/entities.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/html/__pycache__/parser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/html/__pycache__/parser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/html/__pycache__/parser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/html/entities.py
+lib/python%%XYDOT%%/html/parser.py
+lib/python%%XYDOT%%/http/__init__.py
+lib/python%%XYDOT%%/http/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/http/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/http/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/http/__pycache__/client.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/http/__pycache__/client.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/http/__pycache__/client.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/http/__pycache__/cookiejar.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/http/__pycache__/cookiejar.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/http/__pycache__/cookiejar.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/http/__pycache__/cookies.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/http/__pycache__/cookies.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/http/__pycache__/cookies.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/http/__pycache__/server.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/http/__pycache__/server.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/http/__pycache__/server.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/http/client.py
+lib/python%%XYDOT%%/http/cookiejar.py
+lib/python%%XYDOT%%/http/cookies.py
+lib/python%%XYDOT%%/http/server.py
+lib/python%%XYDOT%%/idlelib/AutoComplete.py
+lib/python%%XYDOT%%/idlelib/AutoCompleteWindow.py
+lib/python%%XYDOT%%/idlelib/AutoExpand.py
+lib/python%%XYDOT%%/idlelib/Bindings.py
+lib/python%%XYDOT%%/idlelib/CREDITS.txt
+lib/python%%XYDOT%%/idlelib/CallTipWindow.py
+lib/python%%XYDOT%%/idlelib/CallTips.py
+lib/python%%XYDOT%%/idlelib/ChangeLog
+lib/python%%XYDOT%%/idlelib/ClassBrowser.py
+lib/python%%XYDOT%%/idlelib/CodeContext.py
+lib/python%%XYDOT%%/idlelib/ColorDelegator.py
+lib/python%%XYDOT%%/idlelib/Debugger.py
+lib/python%%XYDOT%%/idlelib/Delegator.py
+lib/python%%XYDOT%%/idlelib/EditorWindow.py
+lib/python%%XYDOT%%/idlelib/FileList.py
+lib/python%%XYDOT%%/idlelib/FormatParagraph.py
+lib/python%%XYDOT%%/idlelib/GrepDialog.py
+lib/python%%XYDOT%%/idlelib/HISTORY.txt
+lib/python%%XYDOT%%/idlelib/HyperParser.py
+lib/python%%XYDOT%%/idlelib/IOBinding.py
+lib/python%%XYDOT%%/idlelib/Icons/folder.gif
+lib/python%%XYDOT%%/idlelib/Icons/idle.icns
+lib/python%%XYDOT%%/idlelib/Icons/idle.ico
+lib/python%%XYDOT%%/idlelib/Icons/idle_16.gif
+lib/python%%XYDOT%%/idlelib/Icons/idle_16.png
+lib/python%%XYDOT%%/idlelib/Icons/idle_32.gif
+lib/python%%XYDOT%%/idlelib/Icons/idle_32.png
+lib/python%%XYDOT%%/idlelib/Icons/idle_48.gif
+lib/python%%XYDOT%%/idlelib/Icons/idle_48.png
+lib/python%%XYDOT%%/idlelib/Icons/minusnode.gif
+lib/python%%XYDOT%%/idlelib/Icons/openfolder.gif
+lib/python%%XYDOT%%/idlelib/Icons/plusnode.gif
+lib/python%%XYDOT%%/idlelib/Icons/python.gif
+lib/python%%XYDOT%%/idlelib/Icons/tk.gif
+lib/python%%XYDOT%%/idlelib/IdleHistory.py
+lib/python%%XYDOT%%/idlelib/MultiCall.py
+lib/python%%XYDOT%%/idlelib/MultiStatusBar.py
+lib/python%%XYDOT%%/idlelib/NEWS.txt
+lib/python%%XYDOT%%/idlelib/NEWS2x.txt
+lib/python%%XYDOT%%/idlelib/ObjectBrowser.py
+lib/python%%XYDOT%%/idlelib/OutputWindow.py
+lib/python%%XYDOT%%/idlelib/ParenMatch.py
+lib/python%%XYDOT%%/idlelib/PathBrowser.py
+lib/python%%XYDOT%%/idlelib/Percolator.py
+lib/python%%XYDOT%%/idlelib/PyParse.py
+lib/python%%XYDOT%%/idlelib/PyShell.py
+lib/python%%XYDOT%%/idlelib/README.txt
+lib/python%%XYDOT%%/idlelib/RemoteDebugger.py
+lib/python%%XYDOT%%/idlelib/RemoteObjectBrowser.py
+lib/python%%XYDOT%%/idlelib/ReplaceDialog.py
+lib/python%%XYDOT%%/idlelib/RstripExtension.py
+lib/python%%XYDOT%%/idlelib/ScriptBinding.py
+lib/python%%XYDOT%%/idlelib/ScrolledList.py
+lib/python%%XYDOT%%/idlelib/SearchDialog.py
+lib/python%%XYDOT%%/idlelib/SearchDialogBase.py
+lib/python%%XYDOT%%/idlelib/SearchEngine.py
+lib/python%%XYDOT%%/idlelib/StackViewer.py
+lib/python%%XYDOT%%/idlelib/TODO.txt
+lib/python%%XYDOT%%/idlelib/ToolTip.py
+lib/python%%XYDOT%%/idlelib/TreeWidget.py
+lib/python%%XYDOT%%/idlelib/UndoDelegator.py
+lib/python%%XYDOT%%/idlelib/WidgetRedirector.py
+lib/python%%XYDOT%%/idlelib/WindowList.py
+lib/python%%XYDOT%%/idlelib/ZoomHeight.py
+lib/python%%XYDOT%%/idlelib/__init__.py
+lib/python%%XYDOT%%/idlelib/__main__.py
+lib/python%%XYDOT%%/idlelib/__pycache__/AutoComplete.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/AutoComplete.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/AutoComplete.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/AutoCompleteWindow.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/AutoCompleteWindow.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/AutoCompleteWindow.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/AutoExpand.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/AutoExpand.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/AutoExpand.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/Bindings.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/Bindings.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/Bindings.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/CallTipWindow.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/CallTipWindow.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/CallTipWindow.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/CallTips.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/CallTips.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/CallTips.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/ClassBrowser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/ClassBrowser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/ClassBrowser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/CodeContext.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/CodeContext.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/CodeContext.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/ColorDelegator.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/ColorDelegator.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/ColorDelegator.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/Debugger.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/Debugger.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/Debugger.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/Delegator.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/Delegator.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/Delegator.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/EditorWindow.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/EditorWindow.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/EditorWindow.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/FileList.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/FileList.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/FileList.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/FormatParagraph.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/FormatParagraph.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/FormatParagraph.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/GrepDialog.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/GrepDialog.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/GrepDialog.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/HyperParser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/HyperParser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/HyperParser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/IOBinding.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/IOBinding.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/IOBinding.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/IdleHistory.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/IdleHistory.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/IdleHistory.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/MultiCall.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/MultiCall.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/MultiCall.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/MultiStatusBar.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/MultiStatusBar.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/MultiStatusBar.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/ObjectBrowser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/ObjectBrowser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/ObjectBrowser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/OutputWindow.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/OutputWindow.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/OutputWindow.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/ParenMatch.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/ParenMatch.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/ParenMatch.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/PathBrowser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/PathBrowser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/PathBrowser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/Percolator.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/Percolator.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/Percolator.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/PyParse.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/PyParse.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/PyParse.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/PyShell.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/PyShell.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/PyShell.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/RemoteDebugger.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/RemoteDebugger.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/RemoteDebugger.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/RemoteObjectBrowser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/RemoteObjectBrowser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/RemoteObjectBrowser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/ReplaceDialog.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/ReplaceDialog.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/ReplaceDialog.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/RstripExtension.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/RstripExtension.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/RstripExtension.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/ScriptBinding.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/ScriptBinding.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/ScriptBinding.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/ScrolledList.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/ScrolledList.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/ScrolledList.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/SearchDialog.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/SearchDialog.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/SearchDialog.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/SearchDialogBase.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/SearchDialogBase.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/SearchDialogBase.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/SearchEngine.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/SearchEngine.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/SearchEngine.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/StackViewer.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/StackViewer.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/StackViewer.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/ToolTip.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/ToolTip.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/ToolTip.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/TreeWidget.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/TreeWidget.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/TreeWidget.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/UndoDelegator.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/UndoDelegator.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/UndoDelegator.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/WidgetRedirector.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/WidgetRedirector.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/WidgetRedirector.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/WindowList.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/WindowList.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/WindowList.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/ZoomHeight.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/ZoomHeight.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/ZoomHeight.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/aboutDialog.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/aboutDialog.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/aboutDialog.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/configDialog.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/configDialog.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/configDialog.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/configHandler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/configHandler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/configHandler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/configHelpSourceEdit.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/configHelpSourceEdit.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/configHelpSourceEdit.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/configSectionNameDialog.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/configSectionNameDialog.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/configSectionNameDialog.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/dynOptionMenuWidget.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/dynOptionMenuWidget.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/dynOptionMenuWidget.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/help.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/help.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/help.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/idle.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/idle.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/idle.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/idlever.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/idlever.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/idlever.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/keybindingDialog.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/keybindingDialog.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/keybindingDialog.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/macosxSupport.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/macosxSupport.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/macosxSupport.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/rpc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/rpc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/rpc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/run.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/run.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/run.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/tabbedpages.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/tabbedpages.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/tabbedpages.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/textView.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/textView.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/textView.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/aboutDialog.py
+lib/python%%XYDOT%%/idlelib/config-extensions.def
+lib/python%%XYDOT%%/idlelib/config-highlight.def
+lib/python%%XYDOT%%/idlelib/config-keys.def
+lib/python%%XYDOT%%/idlelib/config-main.def
+lib/python%%XYDOT%%/idlelib/configDialog.py
+lib/python%%XYDOT%%/idlelib/configHandler.py
+lib/python%%XYDOT%%/idlelib/configHelpSourceEdit.py
+lib/python%%XYDOT%%/idlelib/configSectionNameDialog.py
+lib/python%%XYDOT%%/idlelib/dynOptionMenuWidget.py
+lib/python%%XYDOT%%/idlelib/extend.txt
+lib/python%%XYDOT%%/idlelib/help.html
+lib/python%%XYDOT%%/idlelib/help.py
+lib/python%%XYDOT%%/idlelib/help.txt
+lib/python%%XYDOT%%/idlelib/idle.bat
+lib/python%%XYDOT%%/idlelib/idle.py
+lib/python%%XYDOT%%/idlelib/idle.pyw
+lib/python%%XYDOT%%/idlelib/idle_test/README.txt
+lib/python%%XYDOT%%/idlelib/idle_test/__init__.py
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/htest.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/htest.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/htest.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/mock_idle.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/mock_idle.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/mock_idle.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/mock_tk.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/mock_tk.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/mock_tk.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_autocomplete.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_autocomplete.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_autocomplete.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_autoexpand.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_autoexpand.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_autoexpand.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_calltips.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_calltips.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_calltips.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_config_help.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_config_help.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_config_help.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_config_name.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_config_name.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_config_name.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_configdialog.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_configdialog.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_configdialog.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_delegator.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_delegator.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_delegator.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_editmenu.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_editmenu.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_editmenu.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_editor.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_editor.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_editor.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_formatparagraph.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_formatparagraph.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_formatparagraph.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_grep.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_grep.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_grep.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_help_about.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_help_about.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_help_about.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_hyperparser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_hyperparser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_hyperparser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_idlehistory.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_idlehistory.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_idlehistory.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_io.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_io.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_io.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_parenmatch.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_parenmatch.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_parenmatch.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_pathbrowser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_pathbrowser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_pathbrowser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_percolator.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_percolator.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_percolator.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_replacedialog.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_replacedialog.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_replacedialog.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_rstrip.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_rstrip.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_rstrip.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_searchdialog.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_searchdialog.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_searchdialog.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_searchdialogbase.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_searchdialogbase.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_searchdialogbase.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_searchengine.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_searchengine.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_searchengine.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_text.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_text.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_text.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_textview.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_textview.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_textview.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_undodelegator.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_undodelegator.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_undodelegator.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_warning.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_warning.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_warning.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_widgetredir.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_widgetredir.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_widgetredir.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/htest.py
+lib/python%%XYDOT%%/idlelib/idle_test/mock_idle.py
+lib/python%%XYDOT%%/idlelib/idle_test/mock_tk.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_autocomplete.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_autoexpand.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_calltips.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_config_help.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_config_name.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_configdialog.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_delegator.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_editmenu.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_editor.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_formatparagraph.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_grep.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_help_about.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_hyperparser.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_idlehistory.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_io.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_parenmatch.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_pathbrowser.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_percolator.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_replacedialog.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_rstrip.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_searchdialog.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_searchdialogbase.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_searchengine.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_text.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_textview.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_undodelegator.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_warning.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_widgetredir.py
+lib/python%%XYDOT%%/idlelib/idlever.py
+lib/python%%XYDOT%%/idlelib/keybindingDialog.py
+lib/python%%XYDOT%%/idlelib/macosxSupport.py
+lib/python%%XYDOT%%/idlelib/rpc.py
+lib/python%%XYDOT%%/idlelib/run.py
+lib/python%%XYDOT%%/idlelib/tabbedpages.py
+lib/python%%XYDOT%%/idlelib/textView.py
+lib/python%%XYDOT%%/imaplib.py
+lib/python%%XYDOT%%/imghdr.py
+lib/python%%XYDOT%%/imp.py
+lib/python%%XYDOT%%/importlib/__init__.py
+lib/python%%XYDOT%%/importlib/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/_bootstrap.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/_bootstrap.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/_bootstrap.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/_bootstrap_external.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/_bootstrap_external.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/_bootstrap_external.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/abc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/abc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/abc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/machinery.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/machinery.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/machinery.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/importlib/_bootstrap.py
+lib/python%%XYDOT%%/importlib/_bootstrap_external.py
+lib/python%%XYDOT%%/importlib/abc.py
+lib/python%%XYDOT%%/importlib/machinery.py
+lib/python%%XYDOT%%/importlib/util.py
+lib/python%%XYDOT%%/inspect.py
+lib/python%%XYDOT%%/io.py
+lib/python%%XYDOT%%/ipaddress.py
+lib/python%%XYDOT%%/json/__init__.py
+lib/python%%XYDOT%%/json/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/json/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/json/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/json/__pycache__/decoder.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/json/__pycache__/decoder.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/json/__pycache__/decoder.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/json/__pycache__/encoder.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/json/__pycache__/encoder.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/json/__pycache__/encoder.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/json/__pycache__/scanner.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/json/__pycache__/scanner.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/json/__pycache__/scanner.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/json/__pycache__/tool.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/json/__pycache__/tool.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/json/__pycache__/tool.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/json/decoder.py
+lib/python%%XYDOT%%/json/encoder.py
+lib/python%%XYDOT%%/json/scanner.py
+lib/python%%XYDOT%%/json/tool.py
+lib/python%%XYDOT%%/keyword.py
+lib/python%%XYDOT%%/lib-dynload/_bisect.so
+lib/python%%XYDOT%%/lib-dynload/_bz2.so
+lib/python%%XYDOT%%/lib-dynload/_codecs_cn.so
+lib/python%%XYDOT%%/lib-dynload/_codecs_hk.so
+lib/python%%XYDOT%%/lib-dynload/_codecs_iso2022.so
+lib/python%%XYDOT%%/lib-dynload/_codecs_jp.so
+lib/python%%XYDOT%%/lib-dynload/_codecs_kr.so
+lib/python%%XYDOT%%/lib-dynload/_codecs_tw.so
+lib/python%%XYDOT%%/lib-dynload/_crypt.so
+lib/python%%XYDOT%%/lib-dynload/_csv.so
+lib/python%%XYDOT%%/lib-dynload/_ctypes.so
+lib/python%%XYDOT%%/lib-dynload/_ctypes_test.so
+lib/python%%XYDOT%%/lib-dynload/_curses.so
+lib/python%%XYDOT%%/lib-dynload/_curses_panel.so
+lib/python%%XYDOT%%/lib-dynload/_datetime.so
+lib/python%%XYDOT%%/lib-dynload/_dbm.so
+lib/python%%XYDOT%%/lib-dynload/_decimal.so
+lib/python%%XYDOT%%/lib-dynload/_elementtree.so
+lib/python%%XYDOT%%/lib-dynload/_hashlib.so
+lib/python%%XYDOT%%/lib-dynload/_heapq.so
+lib/python%%XYDOT%%/lib-dynload/_json.so
+lib/python%%XYDOT%%/lib-dynload/_lsprof.so
+lib/python%%XYDOT%%/lib-dynload/_lzma.so
+lib/python%%XYDOT%%/lib-dynload/_md5.so
+lib/python%%XYDOT%%/lib-dynload/_multibytecodec.so
+%%THREADS%%lib/python%%XYDOT%%/lib-dynload/_multiprocessing.so
+lib/python%%XYDOT%%/lib-dynload/_opcode.so
+lib/python%%XYDOT%%/lib-dynload/_pickle.so
+lib/python%%XYDOT%%/lib-dynload/_posixsubprocess.so
+lib/python%%XYDOT%%/lib-dynload/_random.so
+lib/python%%XYDOT%%/lib-dynload/_sha1.so
+lib/python%%XYDOT%%/lib-dynload/_sha256.so
+lib/python%%XYDOT%%/lib-dynload/_sha512.so
+lib/python%%XYDOT%%/lib-dynload/_socket.so
+lib/python%%XYDOT%%/lib-dynload/_ssl.so
+lib/python%%XYDOT%%/lib-dynload/_struct.so
+lib/python%%XYDOT%%/lib-dynload/_testbuffer.so
+lib/python%%XYDOT%%/lib-dynload/_testcapi.so
+lib/python%%XYDOT%%/lib-dynload/_testimportmultiple.so
+lib/python%%XYDOT%%/lib-dynload/_testmultiphase.so
+lib/python%%XYDOT%%/lib-dynload/array.so
+lib/python%%XYDOT%%/lib-dynload/audioop.so
+lib/python%%XYDOT%%/lib-dynload/binascii.so
+lib/python%%XYDOT%%/lib-dynload/cmath.so
+lib/python%%XYDOT%%/lib-dynload/fcntl.so
+lib/python%%XYDOT%%/lib-dynload/grp.so
+lib/python%%XYDOT%%/lib-dynload/math.so
+lib/python%%XYDOT%%/lib-dynload/mmap.so
+%%NO_NIS%%lib/python%%XYDOT%%/lib-dynload/nis.so
+lib/python%%XYDOT%%/lib-dynload/ossaudiodev.so
+lib/python%%XYDOT%%/lib-dynload/parser.so
+lib/python%%XYDOT%%/lib-dynload/pyexpat.so
+lib/python%%XYDOT%%/lib-dynload/readline.so
+lib/python%%XYDOT%%/lib-dynload/resource.so
+lib/python%%XYDOT%%/lib-dynload/select.so
+lib/python%%XYDOT%%/lib-dynload/syslog.so
+lib/python%%XYDOT%%/lib-dynload/termios.so
+lib/python%%XYDOT%%/lib-dynload/unicodedata.so
+%%NO_DEBUG%%lib/python%%XYDOT%%/lib-dynload/xxlimited.so
+lib/python%%XYDOT%%/lib-dynload/zlib.so
+lib/python%%XYDOT%%/lib2to3/Grammar.txt
+lib/python%%XYDOT%%/lib2to3/Grammar%%XYZDOT%%.final.0.pickle
+lib/python%%XYDOT%%/lib2to3/PatternGrammar.txt
+lib/python%%XYDOT%%/lib2to3/PatternGrammar%%XYZDOT%%.final.0.pickle
+lib/python%%XYDOT%%/lib2to3/__init__.py
+lib/python%%XYDOT%%/lib2to3/__main__.py
+lib/python%%XYDOT%%/lib2to3/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/btm_matcher.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/btm_matcher.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/btm_matcher.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/btm_utils.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/btm_utils.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/btm_utils.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/fixer_base.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/fixer_base.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/fixer_base.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/fixer_util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/fixer_util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/fixer_util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/main.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/main.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/main.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/patcomp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/patcomp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/patcomp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/pygram.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/pygram.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/pygram.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/pytree.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/pytree.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/pytree.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/refactor.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/refactor.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/refactor.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/btm_matcher.py
+lib/python%%XYDOT%%/lib2to3/btm_utils.py
+lib/python%%XYDOT%%/lib2to3/fixer_base.py
+lib/python%%XYDOT%%/lib2to3/fixer_util.py
+lib/python%%XYDOT%%/lib2to3/fixes/__init__.py
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_apply.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_apply.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_apply.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_asserts.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_asserts.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_asserts.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_basestring.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_basestring.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_basestring.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_buffer.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_buffer.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_buffer.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_dict.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_dict.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_dict.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_except.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_except.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_except.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_exec.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_exec.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_exec.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_execfile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_execfile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_execfile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_exitfunc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_exitfunc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_exitfunc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_filter.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_filter.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_filter.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_funcattrs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_funcattrs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_funcattrs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_future.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_future.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_future.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_getcwdu.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_getcwdu.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_getcwdu.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_has_key.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_has_key.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_has_key.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_idioms.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_idioms.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_idioms.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_import.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_import.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_import.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_imports.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_imports.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_imports.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_imports2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_imports2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_imports2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_input.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_input.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_input.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_intern.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_intern.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_intern.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_isinstance.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_isinstance.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_isinstance.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_itertools.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_itertools.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_itertools.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_itertools_imports.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_itertools_imports.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_itertools_imports.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_long.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_long.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_long.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_map.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_map.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_map.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_metaclass.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_metaclass.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_metaclass.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_methodattrs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_methodattrs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_methodattrs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_ne.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_ne.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_ne.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_next.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_next.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_next.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_nonzero.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_nonzero.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_nonzero.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_numliterals.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_numliterals.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_numliterals.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_operator.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_operator.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_operator.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_paren.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_paren.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_paren.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_print.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_print.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_print.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_raise.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_raise.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_raise.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_raw_input.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_raw_input.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_raw_input.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_reduce.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_reduce.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_reduce.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_reload.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_reload.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_reload.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_renames.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_renames.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_renames.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_repr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_repr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_repr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_set_literal.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_set_literal.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_set_literal.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_standarderror.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_standarderror.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_standarderror.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_sys_exc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_sys_exc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_sys_exc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_throw.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_throw.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_throw.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_tuple_params.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_tuple_params.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_tuple_params.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_types.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_types.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_types.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_unicode.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_unicode.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_unicode.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_urllib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_urllib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_urllib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_ws_comma.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_ws_comma.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_ws_comma.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_xrange.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_xrange.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_xrange.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_xreadlines.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_xreadlines.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_xreadlines.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_zip.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_zip.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_zip.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/fix_apply.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_asserts.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_basestring.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_buffer.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_dict.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_except.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_exec.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_execfile.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_exitfunc.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_filter.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_funcattrs.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_future.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_getcwdu.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_has_key.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_idioms.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_import.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_imports.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_imports2.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_input.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_intern.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_isinstance.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_itertools.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_itertools_imports.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_long.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_map.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_metaclass.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_methodattrs.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_ne.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_next.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_nonzero.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_numliterals.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_operator.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_paren.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_print.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_raise.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_raw_input.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_reduce.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_reload.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_renames.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_repr.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_set_literal.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_standarderror.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_sys_exc.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_throw.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_tuple_params.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_types.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_unicode.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_urllib.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_ws_comma.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_xrange.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_xreadlines.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_zip.py
+lib/python%%XYDOT%%/lib2to3/main.py
+lib/python%%XYDOT%%/lib2to3/patcomp.py
+lib/python%%XYDOT%%/lib2to3/pgen2/__init__.py
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/conv.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/conv.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/conv.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/driver.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/driver.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/driver.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/grammar.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/grammar.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/grammar.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/literals.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/literals.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/literals.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/parse.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/parse.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/parse.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/pgen.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/pgen.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/pgen.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/token.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/token.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/token.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/tokenize.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/tokenize.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/tokenize.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/conv.py
+lib/python%%XYDOT%%/lib2to3/pgen2/driver.py
+lib/python%%XYDOT%%/lib2to3/pgen2/grammar.py
+lib/python%%XYDOT%%/lib2to3/pgen2/literals.py
+lib/python%%XYDOT%%/lib2to3/pgen2/parse.py
+lib/python%%XYDOT%%/lib2to3/pgen2/pgen.py
+lib/python%%XYDOT%%/lib2to3/pgen2/token.py
+lib/python%%XYDOT%%/lib2to3/pgen2/tokenize.py
+lib/python%%XYDOT%%/lib2to3/pygram.py
+lib/python%%XYDOT%%/lib2to3/pytree.py
+lib/python%%XYDOT%%/lib2to3/refactor.py
+lib/python%%XYDOT%%/lib2to3/tests/__init__.py
+lib/python%%XYDOT%%/lib2to3/tests/__main__.py
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/pytree_idempotency.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/pytree_idempotency.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/pytree_idempotency.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/support.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/support.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/support.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_all_fixers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_all_fixers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_all_fixers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_fixers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_fixers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_fixers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_main.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_main.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_main.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_parser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_parser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_parser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_pytree.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_pytree.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_pytree.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_refactor.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_refactor.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_refactor.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/tests/data/README
+lib/python%%XYDOT%%/lib2to3/tests/data/bom.py
+lib/python%%XYDOT%%/lib2to3/tests/data/crlf.py
+lib/python%%XYDOT%%/lib2to3/tests/data/different_encoding.py
+lib/python%%XYDOT%%/lib2to3/tests/data/false_encoding.py
+lib/python%%XYDOT%%/lib2to3/tests/data/fixers/bad_order.py
+lib/python%%XYDOT%%/lib2to3/tests/data/fixers/myfixes/__init__.py
+lib/python%%XYDOT%%/lib2to3/tests/data/fixers/myfixes/fix_explicit.py
+lib/python%%XYDOT%%/lib2to3/tests/data/fixers/myfixes/fix_first.py
+lib/python%%XYDOT%%/lib2to3/tests/data/fixers/myfixes/fix_last.py
+lib/python%%XYDOT%%/lib2to3/tests/data/fixers/myfixes/fix_parrot.py
+lib/python%%XYDOT%%/lib2to3/tests/data/fixers/myfixes/fix_preorder.py
+lib/python%%XYDOT%%/lib2to3/tests/data/fixers/no_fixer_cls.py
+lib/python%%XYDOT%%/lib2to3/tests/data/fixers/parrot_example.py
+lib/python%%XYDOT%%/lib2to3/tests/data/infinite_recursion.py
+lib/python%%XYDOT%%/lib2to3/tests/data/py2_test_grammar.py
+lib/python%%XYDOT%%/lib2to3/tests/data/py3_test_grammar.py
+lib/python%%XYDOT%%/lib2to3/tests/pytree_idempotency.py
+lib/python%%XYDOT%%/lib2to3/tests/support.py
+lib/python%%XYDOT%%/lib2to3/tests/test_all_fixers.py
+lib/python%%XYDOT%%/lib2to3/tests/test_fixers.py
+lib/python%%XYDOT%%/lib2to3/tests/test_main.py
+lib/python%%XYDOT%%/lib2to3/tests/test_parser.py
+lib/python%%XYDOT%%/lib2to3/tests/test_pytree.py
+lib/python%%XYDOT%%/lib2to3/tests/test_refactor.py
+lib/python%%XYDOT%%/lib2to3/tests/test_util.py
+lib/python%%XYDOT%%/linecache.py
+lib/python%%XYDOT%%/locale.py
+lib/python%%XYDOT%%/logging/__init__.py
+lib/python%%XYDOT%%/logging/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/logging/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/logging/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/logging/__pycache__/config.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/logging/__pycache__/config.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/logging/__pycache__/config.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/logging/__pycache__/handlers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/logging/__pycache__/handlers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/logging/__pycache__/handlers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/logging/config.py
+lib/python%%XYDOT%%/logging/handlers.py
+lib/python%%XYDOT%%/lzma.py
+lib/python%%XYDOT%%/macpath.py
+lib/python%%XYDOT%%/macurl2path.py
+lib/python%%XYDOT%%/mailbox.py
+lib/python%%XYDOT%%/mailcap.py
+lib/python%%XYDOT%%/mimetypes.py
+lib/python%%XYDOT%%/modulefinder.py
+lib/python%%XYDOT%%/multiprocessing/__init__.py
+lib/python%%XYDOT%%/multiprocessing/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/connection.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/connection.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/connection.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/context.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/context.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/context.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/forkserver.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/forkserver.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/forkserver.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/heap.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/heap.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/heap.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/managers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/managers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/managers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/pool.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/pool.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/pool.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/popen_fork.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/popen_fork.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/popen_fork.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/popen_forkserver.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/popen_forkserver.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/popen_forkserver.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/popen_spawn_posix.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/popen_spawn_posix.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/popen_spawn_posix.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/popen_spawn_win32.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/popen_spawn_win32.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/popen_spawn_win32.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/process.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/process.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/process.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/queues.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/queues.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/queues.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/reduction.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/reduction.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/reduction.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/resource_sharer.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/resource_sharer.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/resource_sharer.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/semaphore_tracker.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/semaphore_tracker.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/semaphore_tracker.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/sharedctypes.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/sharedctypes.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/sharedctypes.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/spawn.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/spawn.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/spawn.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/synchronize.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/synchronize.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/synchronize.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/connection.py
+lib/python%%XYDOT%%/multiprocessing/context.py
+lib/python%%XYDOT%%/multiprocessing/dummy/__init__.py
+lib/python%%XYDOT%%/multiprocessing/dummy/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/dummy/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/dummy/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/dummy/__pycache__/connection.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/dummy/__pycache__/connection.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/dummy/__pycache__/connection.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/dummy/connection.py
+lib/python%%XYDOT%%/multiprocessing/forkserver.py
+lib/python%%XYDOT%%/multiprocessing/heap.py
+lib/python%%XYDOT%%/multiprocessing/managers.py
+lib/python%%XYDOT%%/multiprocessing/pool.py
+lib/python%%XYDOT%%/multiprocessing/popen_fork.py
+lib/python%%XYDOT%%/multiprocessing/popen_forkserver.py
+lib/python%%XYDOT%%/multiprocessing/popen_spawn_posix.py
+lib/python%%XYDOT%%/multiprocessing/popen_spawn_win32.py
+lib/python%%XYDOT%%/multiprocessing/process.py
+lib/python%%XYDOT%%/multiprocessing/queues.py
+lib/python%%XYDOT%%/multiprocessing/reduction.py
+lib/python%%XYDOT%%/multiprocessing/resource_sharer.py
+lib/python%%XYDOT%%/multiprocessing/semaphore_tracker.py
+lib/python%%XYDOT%%/multiprocessing/sharedctypes.py
+lib/python%%XYDOT%%/multiprocessing/spawn.py
+lib/python%%XYDOT%%/multiprocessing/synchronize.py
+lib/python%%XYDOT%%/multiprocessing/util.py
+lib/python%%XYDOT%%/netrc.py
+lib/python%%XYDOT%%/nntplib.py
+lib/python%%XYDOT%%/ntpath.py
+lib/python%%XYDOT%%/nturl2path.py
+lib/python%%XYDOT%%/numbers.py
+lib/python%%XYDOT%%/opcode.py
+lib/python%%XYDOT%%/operator.py
+lib/python%%XYDOT%%/optparse.py
+lib/python%%XYDOT%%/os.py
+lib/python%%XYDOT%%/pathlib.py
+lib/python%%XYDOT%%/pdb.py
+lib/python%%XYDOT%%/pickle.py
+lib/python%%XYDOT%%/pickletools.py
+lib/python%%XYDOT%%/pipes.py
+lib/python%%XYDOT%%/pkgutil.py
+lib/python%%XYDOT%%/plat-freebsd%%OSMAJOR%%/IN.py
+lib/python%%XYDOT%%/plat-freebsd%%OSMAJOR%%/__pycache__/IN.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/plat-freebsd%%OSMAJOR%%/__pycache__/IN.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/plat-freebsd%%OSMAJOR%%/__pycache__/IN.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/plat-freebsd%%OSMAJOR%%/regen
+lib/python%%XYDOT%%/platform.py
+lib/python%%XYDOT%%/plistlib.py
+lib/python%%XYDOT%%/poplib.py
+lib/python%%XYDOT%%/posixpath.py
+lib/python%%XYDOT%%/pprint.py
+lib/python%%XYDOT%%/profile.py
+lib/python%%XYDOT%%/pstats.py
+lib/python%%XYDOT%%/pty.py
+lib/python%%XYDOT%%/py_compile.py
+lib/python%%XYDOT%%/pyclbr.py
+lib/python%%XYDOT%%/pydoc.py
+lib/python%%XYDOT%%/pydoc_data/__init__.py
+lib/python%%XYDOT%%/pydoc_data/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/pydoc_data/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/pydoc_data/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/pydoc_data/__pycache__/topics.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/pydoc_data/__pycache__/topics.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/pydoc_data/__pycache__/topics.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/pydoc_data/_pydoc.css
+lib/python%%XYDOT%%/pydoc_data/topics.py
+lib/python%%XYDOT%%/queue.py
+lib/python%%XYDOT%%/quopri.py
+lib/python%%XYDOT%%/random.py
+lib/python%%XYDOT%%/re.py
+lib/python%%XYDOT%%/reprlib.py
+lib/python%%XYDOT%%/rlcompleter.py
+lib/python%%XYDOT%%/runpy.py
+lib/python%%XYDOT%%/sched.py
+lib/python%%XYDOT%%/selectors.py
+lib/python%%XYDOT%%/shelve.py
+lib/python%%XYDOT%%/shlex.py
+lib/python%%XYDOT%%/shutil.py
+lib/python%%XYDOT%%/signal.py
+lib/python%%XYDOT%%/site-packages/README
+lib/python%%XYDOT%%/site.py
+lib/python%%XYDOT%%/smtpd.py
+lib/python%%XYDOT%%/smtplib.py
+lib/python%%XYDOT%%/sndhdr.py
+lib/python%%XYDOT%%/socket.py
+lib/python%%XYDOT%%/socketserver.py
+lib/python%%XYDOT%%/sqlite3/__init__.py
+lib/python%%XYDOT%%/sqlite3/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/sqlite3/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/sqlite3/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/sqlite3/__pycache__/dbapi2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/sqlite3/__pycache__/dbapi2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/sqlite3/__pycache__/dbapi2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/sqlite3/__pycache__/dump.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/sqlite3/__pycache__/dump.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/sqlite3/__pycache__/dump.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/sqlite3/dbapi2.py
+lib/python%%XYDOT%%/sqlite3/dump.py
+lib/python%%XYDOT%%/sqlite3/test/__init__.py
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/dbapi.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/dbapi.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/dbapi.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/dump.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/dump.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/dump.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/factory.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/factory.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/factory.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/hooks.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/hooks.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/hooks.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/regression.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/regression.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/regression.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/transactions.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/transactions.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/transactions.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/types.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/types.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/types.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/userfunctions.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/userfunctions.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/userfunctions.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/sqlite3/test/dbapi.py
+lib/python%%XYDOT%%/sqlite3/test/dump.py
+lib/python%%XYDOT%%/sqlite3/test/factory.py
+lib/python%%XYDOT%%/sqlite3/test/hooks.py
+lib/python%%XYDOT%%/sqlite3/test/regression.py
+lib/python%%XYDOT%%/sqlite3/test/transactions.py
+lib/python%%XYDOT%%/sqlite3/test/types.py
+lib/python%%XYDOT%%/sqlite3/test/userfunctions.py
+lib/python%%XYDOT%%/sre_compile.py
+lib/python%%XYDOT%%/sre_constants.py
+lib/python%%XYDOT%%/sre_parse.py
+lib/python%%XYDOT%%/ssl.py
+lib/python%%XYDOT%%/stat.py
+lib/python%%XYDOT%%/statistics.py
+lib/python%%XYDOT%%/string.py
+lib/python%%XYDOT%%/stringprep.py
+lib/python%%XYDOT%%/struct.py
+lib/python%%XYDOT%%/subprocess.py
+lib/python%%XYDOT%%/sunau.py
+lib/python%%XYDOT%%/symbol.py
+lib/python%%XYDOT%%/symtable.py
+lib/python%%XYDOT%%/sysconfig.py
+lib/python%%XYDOT%%/tabnanny.py
+lib/python%%XYDOT%%/tarfile.py
+lib/python%%XYDOT%%/telnetlib.py
+lib/python%%XYDOT%%/tempfile.py
+lib/python%%XYDOT%%/test/Sine-1000Hz-300ms.aif
+lib/python%%XYDOT%%/test/__init__.py
+lib/python%%XYDOT%%/test/__main__.py
+lib/python%%XYDOT%%/test/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/_test_multiprocessing.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/_test_multiprocessing.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/_test_multiprocessing.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/audiotests.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/audiotests.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/audiotests.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/autotest.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/autotest.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/autotest.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/bisect.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/bisect.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/bisect.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/bytecode_helper.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/bytecode_helper.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/bytecode_helper.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/coding20731.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/coding20731.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/coding20731.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/curses_tests.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/curses_tests.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/curses_tests.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/datetimetester.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/datetimetester.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/datetimetester.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/dis_module.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/dis_module.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/dis_module.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/doctest_aliases.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/doctest_aliases.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/doctest_aliases.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/double_const.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/double_const.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/double_const.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/final_a.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/final_a.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/final_a.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/final_b.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/final_b.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/final_b.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/fork_wait.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/fork_wait.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/fork_wait.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/future_test1.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/future_test1.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/future_test1.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/future_test2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/future_test2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/future_test2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/gdb_sample.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/gdb_sample.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/gdb_sample.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/imp_dummy.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/imp_dummy.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/imp_dummy.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/inspect_fodder.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/inspect_fodder.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/inspect_fodder.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/inspect_fodder2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/inspect_fodder2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/inspect_fodder2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/list_tests.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/list_tests.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/list_tests.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/lock_tests.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/lock_tests.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/lock_tests.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/make_ssl_certs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/make_ssl_certs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/make_ssl_certs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/mapping_tests.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/mapping_tests.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/mapping_tests.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/memory_watchdog.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/memory_watchdog.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/memory_watchdog.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/mock_socket.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/mock_socket.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/mock_socket.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/mod_generics_cache.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/mod_generics_cache.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/mod_generics_cache.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/mp_fork_bomb.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/mp_fork_bomb.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/mp_fork_bomb.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/mp_preload.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/mp_preload.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/mp_preload.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/multibytecodec_support.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/multibytecodec_support.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/multibytecodec_support.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/outstanding_bugs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/outstanding_bugs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/outstanding_bugs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/pickletester.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/pickletester.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/pickletester.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/profilee.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/profilee.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/profilee.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/pyclbr_input.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/pyclbr_input.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/pyclbr_input.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/pydoc_mod.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/pydoc_mod.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/pydoc_mod.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/pydocfodder.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/pydocfodder.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/pydocfodder.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/pystone.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/pystone.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/pystone.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/re_tests.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/re_tests.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/re_tests.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/regrtest.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/regrtest.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/regrtest.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/relimport.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/relimport.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/relimport.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/reperf.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/reperf.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/reperf.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/sample_doctest.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/sample_doctest.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/sample_doctest.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/sample_doctest_no_docstrings.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/sample_doctest_no_docstrings.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/sample_doctest_no_docstrings.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/sample_doctest_no_doctests.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/sample_doctest_no_doctests.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/sample_doctest_no_doctests.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/seq_tests.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/seq_tests.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/seq_tests.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/sortperf.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/sortperf.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/sortperf.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/ssl_servers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/ssl_servers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/ssl_servers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/ssltests.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/ssltests.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/ssltests.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/string_tests.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/string_tests.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/string_tests.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test___all__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test___all__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test___all__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test___future__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test___future__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test___future__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test__locale.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test__locale.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test__locale.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test__opcode.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test__opcode.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test__opcode.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test__osx_support.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test__osx_support.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test__osx_support.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_abc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_abc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_abc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_abstract_numbers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_abstract_numbers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_abstract_numbers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_aifc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_aifc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_aifc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_argparse.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_argparse.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_argparse.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_array.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_array.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_array.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_asdl_parser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_asdl_parser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_asdl_parser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ast.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ast.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ast.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_asynchat.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_asynchat.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_asynchat.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_asyncore.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_asyncore.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_asyncore.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_atexit.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_atexit.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_atexit.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_audioop.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_audioop.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_audioop.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_augassign.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_augassign.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_augassign.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_base64.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_base64.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_base64.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bigaddrspace.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bigaddrspace.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bigaddrspace.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bigmem.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bigmem.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bigmem.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_binascii.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_binascii.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_binascii.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_binhex.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_binhex.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_binhex.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_binop.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_binop.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_binop.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bisect.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bisect.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bisect.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bool.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bool.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bool.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_buffer.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_buffer.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_buffer.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bufio.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bufio.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bufio.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_builtin.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_builtin.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_builtin.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bytes.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bytes.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bytes.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bz2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bz2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bz2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_calendar.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_calendar.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_calendar.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_call.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_call.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_call.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_capi.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_capi.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_capi.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cgi.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cgi.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cgi.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cgitb.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cgitb.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cgitb.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_charmapcodec.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_charmapcodec.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_charmapcodec.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_class.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_class.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_class.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cmath.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cmath.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cmath.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cmd.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cmd.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cmd.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cmd_line.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cmd_line.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cmd_line.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cmd_line_script.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cmd_line_script.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cmd_line_script.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_code.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_code.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_code.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_code_module.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_code_module.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_code_module.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codeccallbacks.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codeccallbacks.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codeccallbacks.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_cn.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_cn.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_cn.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_hk.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_hk.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_hk.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_iso2022.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_iso2022.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_iso2022.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_jp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_jp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_jp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_kr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_kr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_kr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_tw.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_tw.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_tw.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_cn.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_cn.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_cn.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_hk.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_hk.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_hk.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_jp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_jp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_jp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_kr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_kr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_kr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_tw.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_tw.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_tw.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codeop.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codeop.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codeop.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_collections.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_collections.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_collections.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_colorsys.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_colorsys.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_colorsys.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_compare.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_compare.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_compare.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_compile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_compile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_compile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_compileall.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_compileall.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_compileall.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_complex.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_complex.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_complex.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_concurrent_futures.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_concurrent_futures.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_concurrent_futures.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_configparser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_configparser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_configparser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_contains.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_contains.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_contains.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_contextlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_contextlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_contextlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_copy.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_copy.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_copy.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_copyreg.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_copyreg.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_copyreg.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_coroutines.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_coroutines.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_coroutines.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cprofile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cprofile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cprofile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_crashers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_crashers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_crashers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_crypt.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_crypt.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_crypt.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_csv.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_csv.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_csv.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ctypes.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ctypes.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ctypes.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_curses.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_curses.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_curses.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_datetime.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_datetime.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_datetime.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dbm.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dbm.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dbm.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dbm_dumb.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dbm_dumb.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dbm_dumb.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dbm_gnu.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dbm_gnu.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dbm_gnu.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dbm_ndbm.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dbm_ndbm.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dbm_ndbm.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_decimal.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_decimal.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_decimal.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_decorators.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_decorators.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_decorators.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_defaultdict.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_defaultdict.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_defaultdict.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_deque.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_deque.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_deque.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_descr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_descr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_descr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_descrtut.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_descrtut.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_descrtut.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_devpoll.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_devpoll.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_devpoll.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dict.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dict.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dict.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dictcomps.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dictcomps.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dictcomps.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dictviews.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dictviews.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dictviews.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_difflib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_difflib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_difflib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dis.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dis.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dis.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_distutils.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_distutils.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_distutils.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_doctest.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_doctest.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_doctest.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_doctest2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_doctest2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_doctest2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_docxmlrpc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_docxmlrpc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_docxmlrpc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dummy_thread.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dummy_thread.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dummy_thread.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dummy_threading.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dummy_threading.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dummy_threading.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dynamic.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dynamic.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dynamic.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dynamicclassattribute.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dynamicclassattribute.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dynamicclassattribute.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_eintr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_eintr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_eintr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ensurepip.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ensurepip.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ensurepip.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_enum.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_enum.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_enum.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_enumerate.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_enumerate.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_enumerate.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_eof.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_eof.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_eof.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_epoll.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_epoll.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_epoll.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_errno.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_errno.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_errno.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_exception_variations.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_exception_variations.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_exception_variations.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_exceptions.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_exceptions.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_exceptions.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_extcall.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_extcall.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_extcall.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_faulthandler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_faulthandler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_faulthandler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fcntl.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fcntl.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fcntl.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_file.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_file.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_file.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_file_eintr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_file_eintr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_file_eintr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_filecmp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_filecmp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_filecmp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fileinput.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fileinput.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fileinput.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fileio.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fileio.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fileio.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_finalization.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_finalization.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_finalization.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_float.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_float.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_float.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_flufl.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_flufl.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_flufl.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fnmatch.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fnmatch.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fnmatch.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fork1.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fork1.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fork1.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_format.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_format.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_format.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fractions.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fractions.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fractions.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_frame.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_frame.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_frame.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ftplib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ftplib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ftplib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_funcattrs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_funcattrs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_funcattrs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_functools.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_functools.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_functools.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_future.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_future.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_future.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_future3.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_future3.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_future3.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_future4.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_future4.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_future4.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_future5.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_future5.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_future5.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_gc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_gc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_gc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_gdb.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_gdb.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_gdb.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_generators.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_generators.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_generators.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_genericpath.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_genericpath.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_genericpath.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_genexps.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_genexps.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_genexps.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_getargs2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_getargs2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_getargs2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_getopt.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_getopt.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_getopt.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_getpass.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_getpass.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_getpass.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_gettext.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_gettext.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_gettext.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_glob.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_glob.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_glob.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_global.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_global.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_global.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_grammar.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_grammar.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_grammar.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_grp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_grp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_grp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_gzip.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_gzip.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_gzip.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_hash.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_hash.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_hash.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_hashlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_hashlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_hashlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_heapq.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_heapq.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_heapq.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_hmac.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_hmac.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_hmac.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_html.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_html.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_html.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_htmlparser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_htmlparser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_htmlparser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_http_cookiejar.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_http_cookiejar.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_http_cookiejar.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_http_cookies.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_http_cookies.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_http_cookies.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_httplib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_httplib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_httplib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_httpservers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_httpservers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_httpservers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_idle.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_idle.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_idle.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_imaplib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_imaplib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_imaplib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_imghdr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_imghdr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_imghdr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_imp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_imp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_imp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_index.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_index.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_index.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_inspect.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_inspect.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_inspect.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_int.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_int.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_int.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_int_literal.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_int_literal.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_int_literal.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_io.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_io.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_io.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ioctl.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ioctl.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ioctl.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ipaddress.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ipaddress.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ipaddress.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_isinstance.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_isinstance.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_isinstance.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_iter.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_iter.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_iter.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_iterlen.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_iterlen.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_iterlen.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_itertools.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_itertools.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_itertools.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_keyword.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_keyword.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_keyword.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_keywordonlyarg.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_keywordonlyarg.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_keywordonlyarg.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_kqueue.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_kqueue.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_kqueue.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_largefile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_largefile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_largefile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_lib2to3.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_lib2to3.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_lib2to3.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_linecache.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_linecache.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_linecache.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_list.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_list.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_list.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_listcomps.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_listcomps.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_listcomps.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_locale.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_locale.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_locale.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_logging.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_logging.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_logging.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_long.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_long.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_long.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_longexp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_longexp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_longexp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_lzma.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_lzma.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_lzma.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_macpath.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_macpath.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_macpath.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_macurl2path.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_macurl2path.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_macurl2path.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_mailbox.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_mailbox.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_mailbox.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_mailcap.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_mailcap.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_mailcap.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_marshal.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_marshal.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_marshal.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_math.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_math.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_math.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_memoryio.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_memoryio.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_memoryio.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_memoryview.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_memoryview.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_memoryview.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_metaclass.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_metaclass.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_metaclass.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_mimetypes.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_mimetypes.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_mimetypes.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_minidom.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_minidom.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_minidom.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_mmap.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_mmap.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_mmap.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_module.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_module.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_module.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_modulefinder.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_modulefinder.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_modulefinder.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_msilib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_msilib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_msilib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multibytecodec.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multibytecodec.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multibytecodec.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multiprocessing_fork.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multiprocessing_fork.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multiprocessing_fork.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multiprocessing_forkserver.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multiprocessing_forkserver.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multiprocessing_forkserver.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multiprocessing_main_handling.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multiprocessing_main_handling.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multiprocessing_main_handling.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multiprocessing_spawn.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multiprocessing_spawn.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multiprocessing_spawn.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_netrc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_netrc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_netrc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_nis.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_nis.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_nis.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_nntplib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_nntplib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_nntplib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_normalization.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_normalization.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_normalization.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ntpath.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ntpath.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ntpath.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_numeric_tower.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_numeric_tower.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_numeric_tower.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_opcodes.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_opcodes.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_opcodes.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_openpty.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_openpty.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_openpty.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_operator.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_operator.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_operator.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_optparse.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_optparse.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_optparse.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ordered_dict.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ordered_dict.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ordered_dict.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_os.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_os.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_os.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ossaudiodev.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ossaudiodev.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ossaudiodev.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_osx_env.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_osx_env.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_osx_env.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_parser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_parser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_parser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pathlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pathlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pathlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pdb.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pdb.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pdb.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_peepholer.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_peepholer.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_peepholer.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pep247.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pep247.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pep247.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pep277.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pep277.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pep277.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pep3120.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pep3120.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pep3120.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pep3131.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pep3131.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pep3131.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pep3151.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pep3151.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pep3151.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pep352.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pep352.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pep352.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pep380.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pep380.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pep380.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pep479.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pep479.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pep479.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pickle.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pickle.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pickle.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pickletools.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pickletools.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pickletools.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pipes.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pipes.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pipes.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pkg.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pkg.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pkg.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pkgimport.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pkgimport.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pkgimport.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pkgutil.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pkgutil.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pkgutil.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_platform.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_platform.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_platform.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_plistlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_plistlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_plistlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_poll.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_poll.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_poll.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_popen.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_popen.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_popen.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_poplib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_poplib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_poplib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_posix.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_posix.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_posix.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_posixpath.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_posixpath.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_posixpath.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pow.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pow.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pow.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pprint.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pprint.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pprint.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_print.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_print.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_print.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_profile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_profile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_profile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_property.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_property.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_property.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pstats.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pstats.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pstats.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pty.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pty.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pty.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pulldom.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pulldom.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pulldom.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pwd.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pwd.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pwd.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_py_compile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_py_compile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_py_compile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pyclbr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pyclbr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pyclbr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pydoc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pydoc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pydoc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pyexpat.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pyexpat.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pyexpat.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_queue.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_queue.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_queue.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_quopri.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_quopri.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_quopri.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_raise.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_raise.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_raise.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_random.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_random.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_random.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_range.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_range.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_range.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_re.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_re.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_re.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_readline.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_readline.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_readline.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_regrtest.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_regrtest.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_regrtest.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_reprlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_reprlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_reprlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_resource.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_resource.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_resource.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_richcmp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_richcmp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_richcmp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_rlcompleter.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_rlcompleter.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_rlcompleter.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_robotparser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_robotparser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_robotparser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_runpy.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_runpy.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_runpy.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sax.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sax.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sax.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sched.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sched.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sched.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_scope.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_scope.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_scope.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_script_helper.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_script_helper.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_script_helper.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_select.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_select.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_select.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_selectors.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_selectors.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_selectors.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_set.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_set.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_set.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_setcomps.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_setcomps.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_setcomps.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_shelve.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_shelve.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_shelve.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_shlex.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_shlex.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_shlex.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_shutil.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_shutil.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_shutil.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_signal.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_signal.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_signal.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_site.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_site.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_site.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_slice.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_slice.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_slice.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_smtpd.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_smtpd.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_smtpd.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_smtplib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_smtplib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_smtplib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_smtpnet.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_smtpnet.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_smtpnet.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sndhdr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sndhdr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sndhdr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_socket.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_socket.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_socket.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_socketserver.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_socketserver.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_socketserver.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sort.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sort.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sort.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_source_encoding.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_source_encoding.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_source_encoding.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_spwd.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_spwd.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_spwd.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sqlite.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sqlite.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sqlite.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ssl.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ssl.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ssl.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_startfile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_startfile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_startfile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_stat.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_stat.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_stat.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_statistics.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_statistics.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_statistics.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_strftime.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_strftime.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_strftime.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_string.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_string.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_string.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_stringprep.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_stringprep.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_stringprep.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_strlit.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_strlit.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_strlit.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_strptime.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_strptime.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_strptime.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_strtod.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_strtod.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_strtod.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_struct.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_struct.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_struct.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_structmembers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_structmembers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_structmembers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_structseq.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_structseq.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_structseq.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_subprocess.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_subprocess.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_subprocess.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sunau.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sunau.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sunau.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sundry.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sundry.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sundry.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_super.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_super.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_super.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_support.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_support.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_support.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_symtable.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_symtable.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_symtable.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_syntax.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_syntax.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_syntax.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sys.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sys.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sys.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sys_setprofile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sys_setprofile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sys_setprofile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sys_settrace.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sys_settrace.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sys_settrace.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sysconfig.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sysconfig.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sysconfig.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_syslog.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_syslog.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_syslog.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tarfile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tarfile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tarfile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tcl.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tcl.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tcl.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_telnetlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_telnetlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_telnetlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tempfile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tempfile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tempfile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_textwrap.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_textwrap.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_textwrap.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_thread.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_thread.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_thread.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threaded_import.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threaded_import.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threaded_import.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threadedtempfile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threadedtempfile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threadedtempfile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threading.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threading.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threading.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threading_local.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threading_local.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threading_local.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threadsignals.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threadsignals.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threadsignals.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_time.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_time.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_time.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_timeit.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_timeit.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_timeit.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_timeout.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_timeout.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_timeout.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tix.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tix.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tix.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tk.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tk.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tk.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tokenize.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tokenize.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tokenize.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_trace.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_trace.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_trace.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_traceback.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_traceback.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_traceback.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tracemalloc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tracemalloc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tracemalloc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ttk_guionly.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ttk_guionly.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ttk_guionly.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ttk_textonly.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ttk_textonly.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ttk_textonly.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tuple.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tuple.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tuple.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_turtle.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_turtle.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_turtle.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_typechecks.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_typechecks.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_typechecks.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_types.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_types.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_types.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_typing.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_typing.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_typing.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ucn.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ucn.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ucn.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unary.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unary.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unary.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unicode.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unicode.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unicode.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unicode_file.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unicode_file.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unicode_file.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unicodedata.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unicodedata.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unicodedata.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unittest.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unittest.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unittest.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_univnewlines.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_univnewlines.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_univnewlines.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unpack.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unpack.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unpack.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unpack_ex.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unpack_ex.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unpack_ex.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib2_localnet.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib2_localnet.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib2_localnet.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib2net.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib2net.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib2net.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib_response.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib_response.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib_response.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllibnet.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllibnet.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllibnet.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urlparse.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urlparse.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urlparse.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_userdict.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_userdict.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_userdict.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_userlist.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_userlist.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_userlist.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_userstring.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_userstring.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_userstring.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_uu.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_uu.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_uu.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_uuid.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_uuid.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_uuid.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_venv.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_venv.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_venv.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_wait3.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_wait3.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_wait3.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_wait4.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_wait4.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_wait4.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_wave.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_wave.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_wave.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_weakref.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_weakref.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_weakref.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_weakset.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_weakset.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_weakset.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_webbrowser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_webbrowser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_webbrowser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_winreg.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_winreg.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_winreg.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_winsound.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_winsound.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_winsound.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_with.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_with.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_with.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_wsgiref.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_wsgiref.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_wsgiref.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xdrlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xdrlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xdrlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xml_dom_minicompat.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xml_dom_minicompat.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xml_dom_minicompat.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xml_etree.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xml_etree.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xml_etree.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xml_etree_c.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xml_etree_c.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xml_etree_c.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xmlrpc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xmlrpc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xmlrpc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xmlrpc_net.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xmlrpc_net.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xmlrpc_net.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipapp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipapp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipapp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipfile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipfile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipfile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipfile64.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipfile64.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipfile64.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipimport.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipimport.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipimport.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipimport_support.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipimport_support.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipimport_support.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/testcodec.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/testcodec.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/testcodec.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/tf_inherit_check.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/tf_inherit_check.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/tf_inherit_check.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/threaded_import_hangers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/threaded_import_hangers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/threaded_import_hangers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/time_hashlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/time_hashlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/time_hashlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/win_console_handler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/win_console_handler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/win_console_handler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/xmltests.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/xmltests.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/xmltests.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/_test_multiprocessing.py
+lib/python%%XYDOT%%/test/allsans.pem
+lib/python%%XYDOT%%/test/audiodata/pluck-alaw.aifc
+lib/python%%XYDOT%%/test/audiodata/pluck-pcm16.aiff
+lib/python%%XYDOT%%/test/audiodata/pluck-pcm16.au
+lib/python%%XYDOT%%/test/audiodata/pluck-pcm16.wav
+lib/python%%XYDOT%%/test/audiodata/pluck-pcm24.aiff
+lib/python%%XYDOT%%/test/audiodata/pluck-pcm24.au
+lib/python%%XYDOT%%/test/audiodata/pluck-pcm24.wav
+lib/python%%XYDOT%%/test/audiodata/pluck-pcm32.aiff
+lib/python%%XYDOT%%/test/audiodata/pluck-pcm32.au
+lib/python%%XYDOT%%/test/audiodata/pluck-pcm32.wav
+lib/python%%XYDOT%%/test/audiodata/pluck-pcm8.aiff
+lib/python%%XYDOT%%/test/audiodata/pluck-pcm8.au
+lib/python%%XYDOT%%/test/audiodata/pluck-pcm8.wav
+lib/python%%XYDOT%%/test/audiodata/pluck-ulaw.aifc
+lib/python%%XYDOT%%/test/audiodata/pluck-ulaw.au
+lib/python%%XYDOT%%/test/audiotest.au
+lib/python%%XYDOT%%/test/audiotests.py
+lib/python%%XYDOT%%/test/autotest.py
+lib/python%%XYDOT%%/test/bad_coding.py
+lib/python%%XYDOT%%/test/bad_coding2.py
+lib/python%%XYDOT%%/test/badcert.pem
+lib/python%%XYDOT%%/test/badkey.pem
+lib/python%%XYDOT%%/test/badsyntax_3131.py
+lib/python%%XYDOT%%/test/badsyntax_async1.py
+lib/python%%XYDOT%%/test/badsyntax_async2.py
+lib/python%%XYDOT%%/test/badsyntax_async3.py
+lib/python%%XYDOT%%/test/badsyntax_async4.py
+lib/python%%XYDOT%%/test/badsyntax_async5.py
+lib/python%%XYDOT%%/test/badsyntax_async6.py
+lib/python%%XYDOT%%/test/badsyntax_async7.py
+lib/python%%XYDOT%%/test/badsyntax_async8.py
+lib/python%%XYDOT%%/test/badsyntax_future10.py
+lib/python%%XYDOT%%/test/badsyntax_future3.py
+lib/python%%XYDOT%%/test/badsyntax_future4.py
+lib/python%%XYDOT%%/test/badsyntax_future5.py
+lib/python%%XYDOT%%/test/badsyntax_future6.py
+lib/python%%XYDOT%%/test/badsyntax_future7.py
+lib/python%%XYDOT%%/test/badsyntax_future8.py
+lib/python%%XYDOT%%/test/badsyntax_future9.py
+lib/python%%XYDOT%%/test/badsyntax_pep3120.py
+lib/python%%XYDOT%%/test/bisect.py
+lib/python%%XYDOT%%/test/bytecode_helper.py
+lib/python%%XYDOT%%/test/capath/0e4015b9.0
+lib/python%%XYDOT%%/test/capath/4e1295a3.0
+lib/python%%XYDOT%%/test/capath/5ed36f99.0
+lib/python%%XYDOT%%/test/capath/6e88d7b8.0
+lib/python%%XYDOT%%/test/capath/99d0fa06.0
+lib/python%%XYDOT%%/test/capath/ce7b8643.0
+lib/python%%XYDOT%%/test/cfgparser.1
+lib/python%%XYDOT%%/test/cfgparser.2
+lib/python%%XYDOT%%/test/cfgparser.3
+lib/python%%XYDOT%%/test/cjkencodings/big5-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/big5.txt
+lib/python%%XYDOT%%/test/cjkencodings/big5hkscs-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/big5hkscs.txt
+lib/python%%XYDOT%%/test/cjkencodings/cp949-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/cp949.txt
+lib/python%%XYDOT%%/test/cjkencodings/euc_jisx0213-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/euc_jisx0213.txt
+lib/python%%XYDOT%%/test/cjkencodings/euc_jp-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/euc_jp.txt
+lib/python%%XYDOT%%/test/cjkencodings/euc_kr-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/euc_kr.txt
+lib/python%%XYDOT%%/test/cjkencodings/gb18030-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/gb18030.txt
+lib/python%%XYDOT%%/test/cjkencodings/gb2312-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/gb2312.txt
+lib/python%%XYDOT%%/test/cjkencodings/gbk-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/gbk.txt
+lib/python%%XYDOT%%/test/cjkencodings/hz-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/hz.txt
+lib/python%%XYDOT%%/test/cjkencodings/iso2022_jp-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/iso2022_jp.txt
+lib/python%%XYDOT%%/test/cjkencodings/iso2022_kr-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/iso2022_kr.txt
+lib/python%%XYDOT%%/test/cjkencodings/johab-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/johab.txt
+lib/python%%XYDOT%%/test/cjkencodings/shift_jis-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/shift_jis.txt
+lib/python%%XYDOT%%/test/cjkencodings/shift_jisx0213-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/shift_jisx0213.txt
+lib/python%%XYDOT%%/test/cmath_testcases.txt
+lib/python%%XYDOT%%/test/coding20731.py
+lib/python%%XYDOT%%/test/curses_tests.py
+lib/python%%XYDOT%%/test/data/README
+lib/python%%XYDOT%%/test/datetimetester.py
+lib/python%%XYDOT%%/test/decimaltestdata/abs.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/add.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/and.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/base.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/clamp.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/class.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/compare.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/comparetotal.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/comparetotmag.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/copy.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/copyabs.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/copynegate.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/copysign.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddAbs.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddAdd.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddAnd.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddBase.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddCanonical.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddClass.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddCompare.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddCompareSig.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddCompareTotal.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddCompareTotalMag.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddCopy.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddCopyAbs.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddCopyNegate.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddCopySign.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddDivide.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddDivideInt.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddEncode.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddFMA.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddInvert.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddLogB.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddMax.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddMaxMag.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddMin.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddMinMag.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddMinus.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddMultiply.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddNextMinus.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddNextPlus.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddNextToward.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddOr.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddPlus.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddQuantize.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddReduce.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddRemainder.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddRemainderNear.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddRotate.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddSameQuantum.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddScaleB.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddShift.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddSubtract.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddToIntegral.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddXor.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/decDouble.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/decQuad.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/decSingle.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/divide.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/divideint.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqAbs.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqAdd.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqAnd.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqBase.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqCanonical.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqClass.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqCompare.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqCompareSig.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqCompareTotal.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqCompareTotalMag.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqCopy.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqCopyAbs.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqCopyNegate.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqCopySign.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqDivide.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqDivideInt.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqEncode.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqFMA.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqInvert.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqLogB.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqMax.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqMaxMag.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqMin.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqMinMag.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqMinus.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqMultiply.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqNextMinus.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqNextPlus.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqNextToward.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqOr.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqPlus.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqQuantize.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqReduce.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqRemainder.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqRemainderNear.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqRotate.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqSameQuantum.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqScaleB.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqShift.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqSubtract.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqToIntegral.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqXor.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dsBase.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dsEncode.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/exp.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/extra.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/fma.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/inexact.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/invert.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ln.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/log10.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/logb.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/max.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/maxmag.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/min.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/minmag.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/minus.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/multiply.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/nextminus.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/nextplus.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/nexttoward.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/or.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/plus.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/power.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/powersqrt.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/quantize.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/randomBound32.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/randoms.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/reduce.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/remainder.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/remainderNear.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/rescale.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/rotate.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/rounding.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/samequantum.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/scaleb.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/shift.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/squareroot.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/subtract.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/testall.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/tointegral.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/tointegralx.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/xor.decTest
+lib/python%%XYDOT%%/test/dh1024.pem
+lib/python%%XYDOT%%/test/dis_module.py
+lib/python%%XYDOT%%/test/doctest_aliases.py
+lib/python%%XYDOT%%/test/double_const.py
+lib/python%%XYDOT%%/test/eintrdata/__pycache__/eintr_tester.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/eintrdata/__pycache__/eintr_tester.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/eintrdata/__pycache__/eintr_tester.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/eintrdata/eintr_tester.py
+lib/python%%XYDOT%%/test/empty.vbs
+lib/python%%XYDOT%%/test/encoded_modules/__init__.py
+lib/python%%XYDOT%%/test/encoded_modules/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/encoded_modules/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/encoded_modules/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/encoded_modules/__pycache__/module_iso_8859_1.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/encoded_modules/__pycache__/module_iso_8859_1.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/encoded_modules/__pycache__/module_iso_8859_1.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/encoded_modules/__pycache__/module_koi8_r.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/encoded_modules/__pycache__/module_koi8_r.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/encoded_modules/__pycache__/module_koi8_r.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/encoded_modules/module_iso_8859_1.py
+lib/python%%XYDOT%%/test/encoded_modules/module_koi8_r.py
+lib/python%%XYDOT%%/test/exception_hierarchy.txt
+lib/python%%XYDOT%%/test/final_a.py
+lib/python%%XYDOT%%/test/final_b.py
+lib/python%%XYDOT%%/test/floating_points.txt
+lib/python%%XYDOT%%/test/fork_wait.py
+lib/python%%XYDOT%%/test/formatfloat_testcases.txt
+lib/python%%XYDOT%%/test/future_test1.py
+lib/python%%XYDOT%%/test/future_test2.py
+lib/python%%XYDOT%%/test/gdb_sample.py
+lib/python%%XYDOT%%/test/ieee754.txt
+lib/python%%XYDOT%%/test/imghdrdata/python.bmp
+lib/python%%XYDOT%%/test/imghdrdata/python.exr
+lib/python%%XYDOT%%/test/imghdrdata/python.gif
+lib/python%%XYDOT%%/test/imghdrdata/python.jpg
+lib/python%%XYDOT%%/test/imghdrdata/python.pbm
+lib/python%%XYDOT%%/test/imghdrdata/python.pgm
+lib/python%%XYDOT%%/test/imghdrdata/python.png
+lib/python%%XYDOT%%/test/imghdrdata/python.ppm
+lib/python%%XYDOT%%/test/imghdrdata/python.ras
+lib/python%%XYDOT%%/test/imghdrdata/python.sgi
+lib/python%%XYDOT%%/test/imghdrdata/python.tiff
+lib/python%%XYDOT%%/test/imghdrdata/python.webp
+lib/python%%XYDOT%%/test/imghdrdata/python.xbm
+lib/python%%XYDOT%%/test/imp_dummy.py
+lib/python%%XYDOT%%/test/inspect_fodder.py
+lib/python%%XYDOT%%/test/inspect_fodder2.py
+lib/python%%XYDOT%%/test/keycert.passwd.pem
+lib/python%%XYDOT%%/test/keycert.pem
+lib/python%%XYDOT%%/test/keycert2.pem
+lib/python%%XYDOT%%/test/keycert3.pem
+lib/python%%XYDOT%%/test/keycert4.pem
+lib/python%%XYDOT%%/test/list_tests.py
+lib/python%%XYDOT%%/test/lock_tests.py
+lib/python%%XYDOT%%/test/mailcap.txt
+lib/python%%XYDOT%%/test/make_ssl_certs.py
+lib/python%%XYDOT%%/test/mapping_tests.py
+lib/python%%XYDOT%%/test/math_testcases.txt
+lib/python%%XYDOT%%/test/memory_watchdog.py
+lib/python%%XYDOT%%/test/mime.types
+lib/python%%XYDOT%%/test/mock_socket.py
+lib/python%%XYDOT%%/test/mod_generics_cache.py
+lib/python%%XYDOT%%/test/mp_fork_bomb.py
+lib/python%%XYDOT%%/test/mp_preload.py
+lib/python%%XYDOT%%/test/multibytecodec_support.py
+lib/python%%XYDOT%%/test/nokia.pem
+lib/python%%XYDOT%%/test/nullbytecert.pem
+lib/python%%XYDOT%%/test/nullcert.pem
+lib/python%%XYDOT%%/test/outstanding_bugs.py
+lib/python%%XYDOT%%/test/pickletester.py
+lib/python%%XYDOT%%/test/profilee.py
+lib/python%%XYDOT%%/test/pstats.pck
+lib/python%%XYDOT%%/test/pycacert.pem
+lib/python%%XYDOT%%/test/pycakey.pem
+lib/python%%XYDOT%%/test/pyclbr_input.py
+lib/python%%XYDOT%%/test/pydoc_mod.py
+lib/python%%XYDOT%%/test/pydocfodder.py
+lib/python%%XYDOT%%/test/pystone.py
+lib/python%%XYDOT%%/test/randv2_32.pck
+lib/python%%XYDOT%%/test/randv2_64.pck
+lib/python%%XYDOT%%/test/randv3.pck
+lib/python%%XYDOT%%/test/re_tests.py
+lib/python%%XYDOT%%/test/regrtest.py
+lib/python%%XYDOT%%/test/relimport.py
+lib/python%%XYDOT%%/test/reperf.py
+lib/python%%XYDOT%%/test/revocation.crl
+lib/python%%XYDOT%%/test/sample_doctest.py
+lib/python%%XYDOT%%/test/sample_doctest_no_docstrings.py
+lib/python%%XYDOT%%/test/sample_doctest_no_doctests.py
+lib/python%%XYDOT%%/test/selfsigned_pythontestdotnet.pem
+lib/python%%XYDOT%%/test/seq_tests.py
+lib/python%%XYDOT%%/test/sgml_input.html
+lib/python%%XYDOT%%/test/sha256.pem
+lib/python%%XYDOT%%/test/sndhdrdata/README
+lib/python%%XYDOT%%/test/sndhdrdata/sndhdr.8svx
+lib/python%%XYDOT%%/test/sndhdrdata/sndhdr.aifc
+lib/python%%XYDOT%%/test/sndhdrdata/sndhdr.aiff
+lib/python%%XYDOT%%/test/sndhdrdata/sndhdr.au
+lib/python%%XYDOT%%/test/sndhdrdata/sndhdr.hcom
+lib/python%%XYDOT%%/test/sndhdrdata/sndhdr.sndt
+lib/python%%XYDOT%%/test/sndhdrdata/sndhdr.voc
+lib/python%%XYDOT%%/test/sndhdrdata/sndhdr.wav
+lib/python%%XYDOT%%/test/sortperf.py
+lib/python%%XYDOT%%/test/ssl_cert.pem
+lib/python%%XYDOT%%/test/ssl_key.passwd.pem
+lib/python%%XYDOT%%/test/ssl_key.pem
+lib/python%%XYDOT%%/test/ssl_servers.py
+lib/python%%XYDOT%%/test/ssltests.py
+lib/python%%XYDOT%%/test/string_tests.py
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/fd_status.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/fd_status.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/fd_status.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/input_reader.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/input_reader.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/input_reader.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/qcat.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/qcat.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/qcat.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/qgrep.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/qgrep.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/qgrep.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/sigchild_ignore.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/sigchild_ignore.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/sigchild_ignore.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/subprocessdata/fd_status.py
+lib/python%%XYDOT%%/test/subprocessdata/input_reader.py
+lib/python%%XYDOT%%/test/subprocessdata/qcat.py
+lib/python%%XYDOT%%/test/subprocessdata/qgrep.py
+lib/python%%XYDOT%%/test/subprocessdata/sigchild_ignore.py
+lib/python%%XYDOT%%/test/support/__init__.py
+lib/python%%XYDOT%%/test/support/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/support/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/support/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/support/__pycache__/script_helper.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/support/__pycache__/script_helper.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/support/__pycache__/script_helper.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/support/script_helper.py
+lib/python%%XYDOT%%/test/test___all__.py
+lib/python%%XYDOT%%/test/test___future__.py
+lib/python%%XYDOT%%/test/test__locale.py
+lib/python%%XYDOT%%/test/test__opcode.py
+lib/python%%XYDOT%%/test/test__osx_support.py
+lib/python%%XYDOT%%/test/test_abc.py
+lib/python%%XYDOT%%/test/test_abstract_numbers.py
+lib/python%%XYDOT%%/test/test_aifc.py
+lib/python%%XYDOT%%/test/test_argparse.py
+lib/python%%XYDOT%%/test/test_array.py
+lib/python%%XYDOT%%/test/test_asdl_parser.py
+lib/python%%XYDOT%%/test/test_ast.py
+lib/python%%XYDOT%%/test/test_asynchat.py
+lib/python%%XYDOT%%/test/test_asyncio/__init__.py
+lib/python%%XYDOT%%/test/test_asyncio/__main__.py
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/echo.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/echo.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/echo.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/echo2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/echo2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/echo2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/echo3.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/echo3.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/echo3.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_base_events.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_base_events.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_base_events.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_events.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_events.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_events.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_futures.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_futures.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_futures.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_locks.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_locks.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_locks.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_pep492.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_pep492.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_pep492.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_proactor_events.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_proactor_events.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_proactor_events.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_queues.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_queues.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_queues.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_selector_events.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_selector_events.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_selector_events.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_sslproto.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_sslproto.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_sslproto.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_streams.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_streams.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_streams.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_subprocess.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_subprocess.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_subprocess.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_tasks.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_tasks.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_tasks.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_transports.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_transports.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_transports.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_unix_events.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_unix_events.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_unix_events.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_windows_events.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_windows_events.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_windows_events.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_windows_utils.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_windows_utils.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_windows_utils.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/echo.py
+lib/python%%XYDOT%%/test/test_asyncio/echo2.py
+lib/python%%XYDOT%%/test/test_asyncio/echo3.py
+lib/python%%XYDOT%%/test/test_asyncio/keycert3.pem
+lib/python%%XYDOT%%/test/test_asyncio/pycacert.pem
+lib/python%%XYDOT%%/test/test_asyncio/ssl_cert.pem
+lib/python%%XYDOT%%/test/test_asyncio/ssl_key.pem
+lib/python%%XYDOT%%/test/test_asyncio/test_base_events.py
+lib/python%%XYDOT%%/test/test_asyncio/test_events.py
+lib/python%%XYDOT%%/test/test_asyncio/test_futures.py
+lib/python%%XYDOT%%/test/test_asyncio/test_locks.py
+lib/python%%XYDOT%%/test/test_asyncio/test_pep492.py
+lib/python%%XYDOT%%/test/test_asyncio/test_proactor_events.py
+lib/python%%XYDOT%%/test/test_asyncio/test_queues.py
+lib/python%%XYDOT%%/test/test_asyncio/test_selector_events.py
+lib/python%%XYDOT%%/test/test_asyncio/test_sslproto.py
+lib/python%%XYDOT%%/test/test_asyncio/test_streams.py
+lib/python%%XYDOT%%/test/test_asyncio/test_subprocess.py
+lib/python%%XYDOT%%/test/test_asyncio/test_tasks.py
+lib/python%%XYDOT%%/test/test_asyncio/test_transports.py
+lib/python%%XYDOT%%/test/test_asyncio/test_unix_events.py
+lib/python%%XYDOT%%/test/test_asyncio/test_windows_events.py
+lib/python%%XYDOT%%/test/test_asyncio/test_windows_utils.py
+lib/python%%XYDOT%%/test/test_asyncore.py
+lib/python%%XYDOT%%/test/test_atexit.py
+lib/python%%XYDOT%%/test/test_audioop.py
+lib/python%%XYDOT%%/test/test_augassign.py
+lib/python%%XYDOT%%/test/test_base64.py
+lib/python%%XYDOT%%/test/test_bigaddrspace.py
+lib/python%%XYDOT%%/test/test_bigmem.py
+lib/python%%XYDOT%%/test/test_binascii.py
+lib/python%%XYDOT%%/test/test_binhex.py
+lib/python%%XYDOT%%/test/test_binop.py
+lib/python%%XYDOT%%/test/test_bisect.py
+lib/python%%XYDOT%%/test/test_bool.py
+lib/python%%XYDOT%%/test/test_buffer.py
+lib/python%%XYDOT%%/test/test_bufio.py
+lib/python%%XYDOT%%/test/test_builtin.py
+lib/python%%XYDOT%%/test/test_bytes.py
+lib/python%%XYDOT%%/test/test_bz2.py
+lib/python%%XYDOT%%/test/test_calendar.py
+lib/python%%XYDOT%%/test/test_call.py
+lib/python%%XYDOT%%/test/test_capi.py
+lib/python%%XYDOT%%/test/test_cgi.py
+lib/python%%XYDOT%%/test/test_cgitb.py
+lib/python%%XYDOT%%/test/test_charmapcodec.py
+lib/python%%XYDOT%%/test/test_class.py
+lib/python%%XYDOT%%/test/test_cmath.py
+lib/python%%XYDOT%%/test/test_cmd.py
+lib/python%%XYDOT%%/test/test_cmd_line.py
+lib/python%%XYDOT%%/test/test_cmd_line_script.py
+lib/python%%XYDOT%%/test/test_code.py
+lib/python%%XYDOT%%/test/test_code_module.py
+lib/python%%XYDOT%%/test/test_codeccallbacks.py
+lib/python%%XYDOT%%/test/test_codecencodings_cn.py
+lib/python%%XYDOT%%/test/test_codecencodings_hk.py
+lib/python%%XYDOT%%/test/test_codecencodings_iso2022.py
+lib/python%%XYDOT%%/test/test_codecencodings_jp.py
+lib/python%%XYDOT%%/test/test_codecencodings_kr.py
+lib/python%%XYDOT%%/test/test_codecencodings_tw.py
+lib/python%%XYDOT%%/test/test_codecmaps_cn.py
+lib/python%%XYDOT%%/test/test_codecmaps_hk.py
+lib/python%%XYDOT%%/test/test_codecmaps_jp.py
+lib/python%%XYDOT%%/test/test_codecmaps_kr.py
+lib/python%%XYDOT%%/test/test_codecmaps_tw.py
+lib/python%%XYDOT%%/test/test_codecs.py
+lib/python%%XYDOT%%/test/test_codeop.py
+lib/python%%XYDOT%%/test/test_collections.py
+lib/python%%XYDOT%%/test/test_colorsys.py
+lib/python%%XYDOT%%/test/test_compare.py
+lib/python%%XYDOT%%/test/test_compile.py
+lib/python%%XYDOT%%/test/test_compileall.py
+lib/python%%XYDOT%%/test/test_complex.py
+lib/python%%XYDOT%%/test/test_concurrent_futures.py
+lib/python%%XYDOT%%/test/test_configparser.py
+lib/python%%XYDOT%%/test/test_contains.py
+lib/python%%XYDOT%%/test/test_contextlib.py
+lib/python%%XYDOT%%/test/test_copy.py
+lib/python%%XYDOT%%/test/test_copyreg.py
+lib/python%%XYDOT%%/test/test_coroutines.py
+lib/python%%XYDOT%%/test/test_cprofile.py
+lib/python%%XYDOT%%/test/test_crashers.py
+lib/python%%XYDOT%%/test/test_crypt.py
+lib/python%%XYDOT%%/test/test_csv.py
+lib/python%%XYDOT%%/test/test_ctypes.py
+lib/python%%XYDOT%%/test/test_curses.py
+lib/python%%XYDOT%%/test/test_datetime.py
+lib/python%%XYDOT%%/test/test_dbm.py
+lib/python%%XYDOT%%/test/test_dbm_dumb.py
+lib/python%%XYDOT%%/test/test_dbm_gnu.py
+lib/python%%XYDOT%%/test/test_dbm_ndbm.py
+lib/python%%XYDOT%%/test/test_decimal.py
+lib/python%%XYDOT%%/test/test_decorators.py
+lib/python%%XYDOT%%/test/test_defaultdict.py
+lib/python%%XYDOT%%/test/test_deque.py
+lib/python%%XYDOT%%/test/test_descr.py
+lib/python%%XYDOT%%/test/test_descrtut.py
+lib/python%%XYDOT%%/test/test_devpoll.py
+lib/python%%XYDOT%%/test/test_dict.py
+lib/python%%XYDOT%%/test/test_dictcomps.py
+lib/python%%XYDOT%%/test/test_dictviews.py
+lib/python%%XYDOT%%/test/test_difflib.py
+lib/python%%XYDOT%%/test/test_difflib_expect.html
+lib/python%%XYDOT%%/test/test_dis.py
+lib/python%%XYDOT%%/test/test_distutils.py
+lib/python%%XYDOT%%/test/test_doctest.py
+lib/python%%XYDOT%%/test/test_doctest.txt
+lib/python%%XYDOT%%/test/test_doctest2.py
+lib/python%%XYDOT%%/test/test_doctest2.txt
+lib/python%%XYDOT%%/test/test_doctest3.txt
+lib/python%%XYDOT%%/test/test_doctest4.txt
+lib/python%%XYDOT%%/test/test_docxmlrpc.py
+lib/python%%XYDOT%%/test/test_dummy_thread.py
+lib/python%%XYDOT%%/test/test_dummy_threading.py
+lib/python%%XYDOT%%/test/test_dynamic.py
+lib/python%%XYDOT%%/test/test_dynamicclassattribute.py
+lib/python%%XYDOT%%/test/test_eintr.py
+lib/python%%XYDOT%%/test/test_email/__init__.py
+lib/python%%XYDOT%%/test/test_email/__main__.py
+lib/python%%XYDOT%%/test/test_email/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test__encoded_words.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test__encoded_words.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test__encoded_words.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test__header_value_parser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test__header_value_parser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test__header_value_parser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_asian_codecs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_asian_codecs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_asian_codecs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_contentmanager.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_contentmanager.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_contentmanager.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_defect_handling.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_defect_handling.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_defect_handling.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_email.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_email.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_email.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_generator.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_generator.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_generator.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_headerregistry.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_headerregistry.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_headerregistry.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_inversion.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_inversion.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_inversion.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_message.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_message.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_message.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_parser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_parser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_parser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_pickleable.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_pickleable.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_pickleable.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_policy.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_policy.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_policy.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_utils.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_utils.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_utils.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/torture_test.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/torture_test.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/torture_test.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/data/PyBanner048.gif
+lib/python%%XYDOT%%/test/test_email/data/audiotest.au
+lib/python%%XYDOT%%/test/test_email/data/msg_01.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_02.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_03.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_04.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_05.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_06.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_07.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_08.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_09.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_10.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_11.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_12.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_12a.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_13.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_14.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_15.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_16.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_17.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_18.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_19.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_20.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_21.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_22.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_23.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_24.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_25.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_26.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_27.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_28.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_29.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_30.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_31.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_32.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_33.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_34.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_35.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_36.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_37.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_38.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_39.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_40.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_41.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_42.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_43.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_44.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_45.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_46.txt
+lib/python%%XYDOT%%/test/test_email/test__encoded_words.py
+lib/python%%XYDOT%%/test/test_email/test__header_value_parser.py
+lib/python%%XYDOT%%/test/test_email/test_asian_codecs.py
+lib/python%%XYDOT%%/test/test_email/test_contentmanager.py
+lib/python%%XYDOT%%/test/test_email/test_defect_handling.py
+lib/python%%XYDOT%%/test/test_email/test_email.py
+lib/python%%XYDOT%%/test/test_email/test_generator.py
+lib/python%%XYDOT%%/test/test_email/test_headerregistry.py
+lib/python%%XYDOT%%/test/test_email/test_inversion.py
+lib/python%%XYDOT%%/test/test_email/test_message.py
+lib/python%%XYDOT%%/test/test_email/test_parser.py
+lib/python%%XYDOT%%/test/test_email/test_pickleable.py
+lib/python%%XYDOT%%/test/test_email/test_policy.py
+lib/python%%XYDOT%%/test/test_email/test_utils.py
+lib/python%%XYDOT%%/test/test_email/torture_test.py
+lib/python%%XYDOT%%/test/test_ensurepip.py
+lib/python%%XYDOT%%/test/test_enum.py
+lib/python%%XYDOT%%/test/test_enumerate.py
+lib/python%%XYDOT%%/test/test_eof.py
+lib/python%%XYDOT%%/test/test_epoll.py
+lib/python%%XYDOT%%/test/test_errno.py
+lib/python%%XYDOT%%/test/test_exception_variations.py
+lib/python%%XYDOT%%/test/test_exceptions.py
+lib/python%%XYDOT%%/test/test_extcall.py
+lib/python%%XYDOT%%/test/test_faulthandler.py
+lib/python%%XYDOT%%/test/test_fcntl.py
+lib/python%%XYDOT%%/test/test_file.py
+lib/python%%XYDOT%%/test/test_file_eintr.py
+lib/python%%XYDOT%%/test/test_filecmp.py
+lib/python%%XYDOT%%/test/test_fileinput.py
+lib/python%%XYDOT%%/test/test_fileio.py
+lib/python%%XYDOT%%/test/test_finalization.py
+lib/python%%XYDOT%%/test/test_float.py
+lib/python%%XYDOT%%/test/test_flufl.py
+lib/python%%XYDOT%%/test/test_fnmatch.py
+lib/python%%XYDOT%%/test/test_fork1.py
+lib/python%%XYDOT%%/test/test_format.py
+lib/python%%XYDOT%%/test/test_fractions.py
+lib/python%%XYDOT%%/test/test_frame.py
+lib/python%%XYDOT%%/test/test_ftplib.py
+lib/python%%XYDOT%%/test/test_funcattrs.py
+lib/python%%XYDOT%%/test/test_functools.py
+lib/python%%XYDOT%%/test/test_future.py
+lib/python%%XYDOT%%/test/test_future3.py
+lib/python%%XYDOT%%/test/test_future4.py
+lib/python%%XYDOT%%/test/test_future5.py
+lib/python%%XYDOT%%/test/test_gc.py
+lib/python%%XYDOT%%/test/test_gdb.py
+lib/python%%XYDOT%%/test/test_generators.py
+lib/python%%XYDOT%%/test/test_genericpath.py
+lib/python%%XYDOT%%/test/test_genexps.py
+lib/python%%XYDOT%%/test/test_getargs2.py
+lib/python%%XYDOT%%/test/test_getopt.py
+lib/python%%XYDOT%%/test/test_getpass.py
+lib/python%%XYDOT%%/test/test_gettext.py
+lib/python%%XYDOT%%/test/test_glob.py
+lib/python%%XYDOT%%/test/test_global.py
+lib/python%%XYDOT%%/test/test_grammar.py
+lib/python%%XYDOT%%/test/test_grp.py
+lib/python%%XYDOT%%/test/test_gzip.py
+lib/python%%XYDOT%%/test/test_hash.py
+lib/python%%XYDOT%%/test/test_hashlib.py
+lib/python%%XYDOT%%/test/test_heapq.py
+lib/python%%XYDOT%%/test/test_hmac.py
+lib/python%%XYDOT%%/test/test_html.py
+lib/python%%XYDOT%%/test/test_htmlparser.py
+lib/python%%XYDOT%%/test/test_http_cookiejar.py
+lib/python%%XYDOT%%/test/test_http_cookies.py
+lib/python%%XYDOT%%/test/test_httplib.py
+lib/python%%XYDOT%%/test/test_httpservers.py
+lib/python%%XYDOT%%/test/test_idle.py
+lib/python%%XYDOT%%/test/test_imaplib.py
+lib/python%%XYDOT%%/test/test_imghdr.py
+lib/python%%XYDOT%%/test/test_imp.py
+lib/python%%XYDOT%%/test/test_import/__init__.py
+lib/python%%XYDOT%%/test/test_import/__main__.py
+lib/python%%XYDOT%%/test/test_import/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/basic.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/basic.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/basic.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/basic2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/basic2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/basic2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/indirect.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/indirect.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/indirect.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/rebinding.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/rebinding.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/rebinding.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/rebinding2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/rebinding2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/rebinding2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/subpackage.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/subpackage.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/subpackage.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/basic.py
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/basic2.py
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/indirect.py
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/rebinding.py
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/rebinding2.py
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/subpackage.py
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/subpkg/__pycache__/subpackage2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/subpkg/__pycache__/subpackage2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/subpkg/__pycache__/subpackage2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/subpkg/__pycache__/util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/subpkg/__pycache__/util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/subpkg/__pycache__/util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/subpkg/subpackage2.py
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/subpkg/util.py
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/util.py
+lib/python%%XYDOT%%/test/test_import/data/package2/__pycache__/submodule1.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/data/package2/__pycache__/submodule1.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/data/package2/__pycache__/submodule1.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/package2/__pycache__/submodule2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/data/package2/__pycache__/submodule2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/data/package2/__pycache__/submodule2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/package2/submodule1.py
+lib/python%%XYDOT%%/test/test_import/data/package2/submodule2.py
+lib/python%%XYDOT%%/test/test_importlib/__init__.py
+lib/python%%XYDOT%%/test/test_importlib/__main__.py
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/abc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/abc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/abc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/regrtest.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/regrtest.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/regrtest.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_abc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_abc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_abc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_api.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_api.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_api.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_lazy.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_lazy.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_lazy.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_locks.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_locks.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_locks.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_namespace_pkgs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_namespace_pkgs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_namespace_pkgs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_spec.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_spec.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_spec.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_windows.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_windows.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_windows.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/abc.py
+lib/python%%XYDOT%%/test/test_importlib/builtin/__init__.py
+lib/python%%XYDOT%%/test/test_importlib/builtin/__main__.py
+lib/python%%XYDOT%%/test/test_importlib/builtin/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/builtin/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/builtin/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/builtin/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/builtin/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/builtin/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/builtin/__pycache__/test_finder.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/builtin/__pycache__/test_finder.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/builtin/__pycache__/test_finder.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/builtin/__pycache__/test_loader.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/builtin/__pycache__/test_loader.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/builtin/__pycache__/test_loader.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/builtin/test_finder.py
+lib/python%%XYDOT%%/test/test_importlib/builtin/test_loader.py
+lib/python%%XYDOT%%/test/test_importlib/extension/__init__.py
+lib/python%%XYDOT%%/test/test_importlib/extension/__main__.py
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/test_case_sensitivity.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/test_case_sensitivity.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/test_case_sensitivity.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/test_finder.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/test_finder.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/test_finder.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/test_loader.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/test_loader.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/test_loader.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/test_path_hook.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/test_path_hook.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/test_path_hook.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/test_case_sensitivity.py
+lib/python%%XYDOT%%/test/test_importlib/extension/test_finder.py
+lib/python%%XYDOT%%/test/test_importlib/extension/test_loader.py
+lib/python%%XYDOT%%/test/test_importlib/extension/test_path_hook.py
+lib/python%%XYDOT%%/test/test_importlib/frozen/__init__.py
+lib/python%%XYDOT%%/test/test_importlib/frozen/__main__.py
+lib/python%%XYDOT%%/test/test_importlib/frozen/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/frozen/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/frozen/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/frozen/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/frozen/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/frozen/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/frozen/__pycache__/test_finder.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/frozen/__pycache__/test_finder.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/frozen/__pycache__/test_finder.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/frozen/__pycache__/test_loader.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/frozen/__pycache__/test_loader.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/frozen/__pycache__/test_loader.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/frozen/test_finder.py
+lib/python%%XYDOT%%/test/test_importlib/frozen/test_loader.py
+lib/python%%XYDOT%%/test/test_importlib/import_/__init__.py
+lib/python%%XYDOT%%/test/test_importlib/import_/__main__.py
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test___loader__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test___loader__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test___loader__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test___package__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test___package__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test___package__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_api.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_api.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_api.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_caching.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_caching.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_caching.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_fromlist.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_fromlist.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_fromlist.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_meta_path.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_meta_path.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_meta_path.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_packages.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_packages.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_packages.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_path.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_path.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_path.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_relative_imports.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_relative_imports.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_relative_imports.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/test___loader__.py
+lib/python%%XYDOT%%/test/test_importlib/import_/test___package__.py
+lib/python%%XYDOT%%/test/test_importlib/import_/test_api.py
+lib/python%%XYDOT%%/test/test_importlib/import_/test_caching.py
+lib/python%%XYDOT%%/test/test_importlib/import_/test_fromlist.py
+lib/python%%XYDOT%%/test/test_importlib/import_/test_meta_path.py
+lib/python%%XYDOT%%/test/test_importlib/import_/test_packages.py
+lib/python%%XYDOT%%/test/test_importlib/import_/test_path.py
+lib/python%%XYDOT%%/test/test_importlib/import_/test_relative_imports.py
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/both_portions/foo/__pycache__/one.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/both_portions/foo/__pycache__/one.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/both_portions/foo/__pycache__/one.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/both_portions/foo/__pycache__/two.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/both_portions/foo/__pycache__/two.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/both_portions/foo/__pycache__/two.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/both_portions/foo/one.py
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/both_portions/foo/two.py
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/missing_directory.zip
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/module_and_namespace_package/__pycache__/a_test.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/module_and_namespace_package/__pycache__/a_test.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/module_and_namespace_package/__pycache__/a_test.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/module_and_namespace_package/a_test.py
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/module_and_namespace_package/a_test/empty
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/nested_portion1.zip
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/not_a_namespace_pkg/foo/__init__.py
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/not_a_namespace_pkg/foo/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/not_a_namespace_pkg/foo/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/not_a_namespace_pkg/foo/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/not_a_namespace_pkg/foo/__pycache__/one.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/not_a_namespace_pkg/foo/__pycache__/one.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/not_a_namespace_pkg/foo/__pycache__/one.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/not_a_namespace_pkg/foo/one.py
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/portion1/foo/__pycache__/one.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/portion1/foo/__pycache__/one.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/portion1/foo/__pycache__/one.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/portion1/foo/one.py
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/portion2/foo/__pycache__/two.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/portion2/foo/__pycache__/two.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/portion2/foo/__pycache__/two.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/portion2/foo/two.py
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/project1/parent/child/__pycache__/one.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/project1/parent/child/__pycache__/one.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/project1/parent/child/__pycache__/one.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/project1/parent/child/one.py
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/project2/parent/child/__pycache__/two.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/project2/parent/child/__pycache__/two.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/project2/parent/child/__pycache__/two.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/project2/parent/child/two.py
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/project3/parent/child/__pycache__/three.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/project3/parent/child/__pycache__/three.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/project3/parent/child/__pycache__/three.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/project3/parent/child/three.py
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/top_level_portion1.zip
+lib/python%%XYDOT%%/test/test_importlib/regrtest.py
+lib/python%%XYDOT%%/test/test_importlib/source/__init__.py
+lib/python%%XYDOT%%/test/test_importlib/source/__main__.py
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_case_sensitivity.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_case_sensitivity.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_case_sensitivity.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_file_loader.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_file_loader.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_file_loader.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_finder.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_finder.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_finder.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_path_hook.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_path_hook.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_path_hook.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_source_encoding.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_source_encoding.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_source_encoding.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/test_case_sensitivity.py
+lib/python%%XYDOT%%/test/test_importlib/source/test_file_loader.py
+lib/python%%XYDOT%%/test/test_importlib/source/test_finder.py
+lib/python%%XYDOT%%/test/test_importlib/source/test_path_hook.py
+lib/python%%XYDOT%%/test/test_importlib/source/test_source_encoding.py
+lib/python%%XYDOT%%/test/test_importlib/test_abc.py
+lib/python%%XYDOT%%/test/test_importlib/test_api.py
+lib/python%%XYDOT%%/test/test_importlib/test_lazy.py
+lib/python%%XYDOT%%/test/test_importlib/test_locks.py
+lib/python%%XYDOT%%/test/test_importlib/test_namespace_pkgs.py
+lib/python%%XYDOT%%/test/test_importlib/test_spec.py
+lib/python%%XYDOT%%/test/test_importlib/test_util.py
+lib/python%%XYDOT%%/test/test_importlib/test_windows.py
+lib/python%%XYDOT%%/test/test_importlib/util.py
+lib/python%%XYDOT%%/test/test_index.py
+lib/python%%XYDOT%%/test/test_inspect.py
+lib/python%%XYDOT%%/test/test_int.py
+lib/python%%XYDOT%%/test/test_int_literal.py
+lib/python%%XYDOT%%/test/test_io.py
+lib/python%%XYDOT%%/test/test_ioctl.py
+lib/python%%XYDOT%%/test/test_ipaddress.py
+lib/python%%XYDOT%%/test/test_isinstance.py
+lib/python%%XYDOT%%/test/test_iter.py
+lib/python%%XYDOT%%/test/test_iterlen.py
+lib/python%%XYDOT%%/test/test_itertools.py
+lib/python%%XYDOT%%/test/test_json/__init__.py
+lib/python%%XYDOT%%/test/test_json/__main__.py
+lib/python%%XYDOT%%/test/test_json/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_decode.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_decode.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_decode.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_default.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_default.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_default.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_dump.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_dump.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_dump.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_encode_basestring_ascii.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_encode_basestring_ascii.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_encode_basestring_ascii.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_enum.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_enum.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_enum.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_fail.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_fail.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_fail.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_float.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_float.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_float.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_indent.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_indent.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_indent.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_pass1.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_pass1.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_pass1.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_pass2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_pass2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_pass2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_pass3.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_pass3.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_pass3.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_recursion.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_recursion.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_recursion.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_scanstring.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_scanstring.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_scanstring.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_separators.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_separators.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_separators.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_speedups.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_speedups.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_speedups.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_tool.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_tool.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_tool.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_unicode.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_unicode.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_unicode.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/test_decode.py
+lib/python%%XYDOT%%/test/test_json/test_default.py
+lib/python%%XYDOT%%/test/test_json/test_dump.py
+lib/python%%XYDOT%%/test/test_json/test_encode_basestring_ascii.py
+lib/python%%XYDOT%%/test/test_json/test_enum.py
+lib/python%%XYDOT%%/test/test_json/test_fail.py
+lib/python%%XYDOT%%/test/test_json/test_float.py
+lib/python%%XYDOT%%/test/test_json/test_indent.py
+lib/python%%XYDOT%%/test/test_json/test_pass1.py
+lib/python%%XYDOT%%/test/test_json/test_pass2.py
+lib/python%%XYDOT%%/test/test_json/test_pass3.py
+lib/python%%XYDOT%%/test/test_json/test_recursion.py
+lib/python%%XYDOT%%/test/test_json/test_scanstring.py
+lib/python%%XYDOT%%/test/test_json/test_separators.py
+lib/python%%XYDOT%%/test/test_json/test_speedups.py
+lib/python%%XYDOT%%/test/test_json/test_tool.py
+lib/python%%XYDOT%%/test/test_json/test_unicode.py
+lib/python%%XYDOT%%/test/test_keyword.py
+lib/python%%XYDOT%%/test/test_keywordonlyarg.py
+lib/python%%XYDOT%%/test/test_kqueue.py
+lib/python%%XYDOT%%/test/test_largefile.py
+lib/python%%XYDOT%%/test/test_lib2to3.py
+lib/python%%XYDOT%%/test/test_linecache.py
+lib/python%%XYDOT%%/test/test_list.py
+lib/python%%XYDOT%%/test/test_listcomps.py
+lib/python%%XYDOT%%/test/test_locale.py
+lib/python%%XYDOT%%/test/test_logging.py
+lib/python%%XYDOT%%/test/test_long.py
+lib/python%%XYDOT%%/test/test_longexp.py
+lib/python%%XYDOT%%/test/test_lzma.py
+lib/python%%XYDOT%%/test/test_macpath.py
+lib/python%%XYDOT%%/test/test_macurl2path.py
+lib/python%%XYDOT%%/test/test_mailbox.py
+lib/python%%XYDOT%%/test/test_mailcap.py
+lib/python%%XYDOT%%/test/test_marshal.py
+lib/python%%XYDOT%%/test/test_math.py
+lib/python%%XYDOT%%/test/test_memoryio.py
+lib/python%%XYDOT%%/test/test_memoryview.py
+lib/python%%XYDOT%%/test/test_metaclass.py
+lib/python%%XYDOT%%/test/test_mimetypes.py
+lib/python%%XYDOT%%/test/test_minidom.py
+lib/python%%XYDOT%%/test/test_mmap.py
+lib/python%%XYDOT%%/test/test_module.py
+lib/python%%XYDOT%%/test/test_modulefinder.py
+lib/python%%XYDOT%%/test/test_msilib.py
+lib/python%%XYDOT%%/test/test_multibytecodec.py
+lib/python%%XYDOT%%/test/test_multiprocessing_fork.py
+lib/python%%XYDOT%%/test/test_multiprocessing_forkserver.py
+lib/python%%XYDOT%%/test/test_multiprocessing_main_handling.py
+lib/python%%XYDOT%%/test/test_multiprocessing_spawn.py
+lib/python%%XYDOT%%/test/test_netrc.py
+lib/python%%XYDOT%%/test/test_nis.py
+lib/python%%XYDOT%%/test/test_nntplib.py
+lib/python%%XYDOT%%/test/test_normalization.py
+lib/python%%XYDOT%%/test/test_ntpath.py
+lib/python%%XYDOT%%/test/test_numeric_tower.py
+lib/python%%XYDOT%%/test/test_opcodes.py
+lib/python%%XYDOT%%/test/test_openpty.py
+lib/python%%XYDOT%%/test/test_operator.py
+lib/python%%XYDOT%%/test/test_optparse.py
+lib/python%%XYDOT%%/test/test_ordered_dict.py
+lib/python%%XYDOT%%/test/test_os.py
+lib/python%%XYDOT%%/test/test_ossaudiodev.py
+lib/python%%XYDOT%%/test/test_osx_env.py
+lib/python%%XYDOT%%/test/test_parser.py
+lib/python%%XYDOT%%/test/test_pathlib.py
+lib/python%%XYDOT%%/test/test_pdb.py
+lib/python%%XYDOT%%/test/test_peepholer.py
+lib/python%%XYDOT%%/test/test_pep247.py
+lib/python%%XYDOT%%/test/test_pep277.py
+lib/python%%XYDOT%%/test/test_pep3120.py
+lib/python%%XYDOT%%/test/test_pep3131.py
+lib/python%%XYDOT%%/test/test_pep3151.py
+lib/python%%XYDOT%%/test/test_pep352.py
+lib/python%%XYDOT%%/test/test_pep380.py
+lib/python%%XYDOT%%/test/test_pep479.py
+lib/python%%XYDOT%%/test/test_pickle.py
+lib/python%%XYDOT%%/test/test_pickletools.py
+lib/python%%XYDOT%%/test/test_pipes.py
+lib/python%%XYDOT%%/test/test_pkg.py
+lib/python%%XYDOT%%/test/test_pkgimport.py
+lib/python%%XYDOT%%/test/test_pkgutil.py
+lib/python%%XYDOT%%/test/test_platform.py
+lib/python%%XYDOT%%/test/test_plistlib.py
+lib/python%%XYDOT%%/test/test_poll.py
+lib/python%%XYDOT%%/test/test_popen.py
+lib/python%%XYDOT%%/test/test_poplib.py
+lib/python%%XYDOT%%/test/test_posix.py
+lib/python%%XYDOT%%/test/test_posixpath.py
+lib/python%%XYDOT%%/test/test_pow.py
+lib/python%%XYDOT%%/test/test_pprint.py
+lib/python%%XYDOT%%/test/test_print.py
+lib/python%%XYDOT%%/test/test_profile.py
+lib/python%%XYDOT%%/test/test_property.py
+lib/python%%XYDOT%%/test/test_pstats.py
+lib/python%%XYDOT%%/test/test_pty.py
+lib/python%%XYDOT%%/test/test_pulldom.py
+lib/python%%XYDOT%%/test/test_pwd.py
+lib/python%%XYDOT%%/test/test_py_compile.py
+lib/python%%XYDOT%%/test/test_pyclbr.py
+lib/python%%XYDOT%%/test/test_pydoc.py
+lib/python%%XYDOT%%/test/test_pyexpat.py
+lib/python%%XYDOT%%/test/test_queue.py
+lib/python%%XYDOT%%/test/test_quopri.py
+lib/python%%XYDOT%%/test/test_raise.py
+lib/python%%XYDOT%%/test/test_random.py
+lib/python%%XYDOT%%/test/test_range.py
+lib/python%%XYDOT%%/test/test_re.py
+lib/python%%XYDOT%%/test/test_readline.py
+lib/python%%XYDOT%%/test/test_regrtest.py
+lib/python%%XYDOT%%/test/test_reprlib.py
+lib/python%%XYDOT%%/test/test_resource.py
+lib/python%%XYDOT%%/test/test_richcmp.py
+lib/python%%XYDOT%%/test/test_rlcompleter.py
+lib/python%%XYDOT%%/test/test_robotparser.py
+lib/python%%XYDOT%%/test/test_runpy.py
+lib/python%%XYDOT%%/test/test_sax.py
+lib/python%%XYDOT%%/test/test_sched.py
+lib/python%%XYDOT%%/test/test_scope.py
+lib/python%%XYDOT%%/test/test_script_helper.py
+lib/python%%XYDOT%%/test/test_select.py
+lib/python%%XYDOT%%/test/test_selectors.py
+lib/python%%XYDOT%%/test/test_set.py
+lib/python%%XYDOT%%/test/test_setcomps.py
+lib/python%%XYDOT%%/test/test_shelve.py
+lib/python%%XYDOT%%/test/test_shlex.py
+lib/python%%XYDOT%%/test/test_shutil.py
+lib/python%%XYDOT%%/test/test_signal.py
+lib/python%%XYDOT%%/test/test_site.py
+lib/python%%XYDOT%%/test/test_slice.py
+lib/python%%XYDOT%%/test/test_smtpd.py
+lib/python%%XYDOT%%/test/test_smtplib.py
+lib/python%%XYDOT%%/test/test_smtpnet.py
+lib/python%%XYDOT%%/test/test_sndhdr.py
+lib/python%%XYDOT%%/test/test_socket.py
+lib/python%%XYDOT%%/test/test_socketserver.py
+lib/python%%XYDOT%%/test/test_sort.py
+lib/python%%XYDOT%%/test/test_source_encoding.py
+lib/python%%XYDOT%%/test/test_spwd.py
+lib/python%%XYDOT%%/test/test_sqlite.py
+lib/python%%XYDOT%%/test/test_ssl.py
+lib/python%%XYDOT%%/test/test_startfile.py
+lib/python%%XYDOT%%/test/test_stat.py
+lib/python%%XYDOT%%/test/test_statistics.py
+lib/python%%XYDOT%%/test/test_strftime.py
+lib/python%%XYDOT%%/test/test_string.py
+lib/python%%XYDOT%%/test/test_stringprep.py
+lib/python%%XYDOT%%/test/test_strlit.py
+lib/python%%XYDOT%%/test/test_strptime.py
+lib/python%%XYDOT%%/test/test_strtod.py
+lib/python%%XYDOT%%/test/test_struct.py
+lib/python%%XYDOT%%/test/test_structmembers.py
+lib/python%%XYDOT%%/test/test_structseq.py
+lib/python%%XYDOT%%/test/test_subprocess.py
+lib/python%%XYDOT%%/test/test_sunau.py
+lib/python%%XYDOT%%/test/test_sundry.py
+lib/python%%XYDOT%%/test/test_super.py
+lib/python%%XYDOT%%/test/test_support.py
+lib/python%%XYDOT%%/test/test_symtable.py
+lib/python%%XYDOT%%/test/test_syntax.py
+lib/python%%XYDOT%%/test/test_sys.py
+lib/python%%XYDOT%%/test/test_sys_setprofile.py
+lib/python%%XYDOT%%/test/test_sys_settrace.py
+lib/python%%XYDOT%%/test/test_sysconfig.py
+lib/python%%XYDOT%%/test/test_syslog.py
+lib/python%%XYDOT%%/test/test_tarfile.py
+lib/python%%XYDOT%%/test/test_tcl.py
+lib/python%%XYDOT%%/test/test_telnetlib.py
+lib/python%%XYDOT%%/test/test_tempfile.py
+lib/python%%XYDOT%%/test/test_textwrap.py
+lib/python%%XYDOT%%/test/test_thread.py
+lib/python%%XYDOT%%/test/test_threaded_import.py
+lib/python%%XYDOT%%/test/test_threadedtempfile.py
+lib/python%%XYDOT%%/test/test_threading.py
+lib/python%%XYDOT%%/test/test_threading_local.py
+lib/python%%XYDOT%%/test/test_threadsignals.py
+lib/python%%XYDOT%%/test/test_time.py
+lib/python%%XYDOT%%/test/test_timeit.py
+lib/python%%XYDOT%%/test/test_timeout.py
+lib/python%%XYDOT%%/test/test_tix.py
+lib/python%%XYDOT%%/test/test_tk.py
+lib/python%%XYDOT%%/test/test_tokenize.py
+lib/python%%XYDOT%%/test/test_tools/__init__.py
+lib/python%%XYDOT%%/test/test_tools/__main__.py
+lib/python%%XYDOT%%/test/test_tools/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_fixcid.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_fixcid.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_fixcid.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_gprof2html.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_gprof2html.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_gprof2html.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_i18n.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_i18n.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_i18n.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_md5sum.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_md5sum.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_md5sum.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_pdeps.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_pdeps.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_pdeps.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_pindent.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_pindent.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_pindent.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_reindent.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_reindent.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_reindent.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_sundry.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_sundry.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_sundry.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_unparse.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_unparse.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_unparse.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_tools/test_fixcid.py
+lib/python%%XYDOT%%/test/test_tools/test_gprof2html.py
+lib/python%%XYDOT%%/test/test_tools/test_i18n.py
+lib/python%%XYDOT%%/test/test_tools/test_md5sum.py
+lib/python%%XYDOT%%/test/test_tools/test_pdeps.py
+lib/python%%XYDOT%%/test/test_tools/test_pindent.py
+lib/python%%XYDOT%%/test/test_tools/test_reindent.py
+lib/python%%XYDOT%%/test/test_tools/test_sundry.py
+lib/python%%XYDOT%%/test/test_tools/test_unparse.py
+lib/python%%XYDOT%%/test/test_trace.py
+lib/python%%XYDOT%%/test/test_traceback.py
+lib/python%%XYDOT%%/test/test_tracemalloc.py
+lib/python%%XYDOT%%/test/test_ttk_guionly.py
+lib/python%%XYDOT%%/test/test_ttk_textonly.py
+lib/python%%XYDOT%%/test/test_tuple.py
+lib/python%%XYDOT%%/test/test_turtle.py
+lib/python%%XYDOT%%/test/test_typechecks.py
+lib/python%%XYDOT%%/test/test_types.py
+lib/python%%XYDOT%%/test/test_typing.py
+lib/python%%XYDOT%%/test/test_ucn.py
+lib/python%%XYDOT%%/test/test_unary.py
+lib/python%%XYDOT%%/test/test_unicode.py
+lib/python%%XYDOT%%/test/test_unicode_file.py
+lib/python%%XYDOT%%/test/test_unicodedata.py
+lib/python%%XYDOT%%/test/test_unittest.py
+lib/python%%XYDOT%%/test/test_univnewlines.py
+lib/python%%XYDOT%%/test/test_unpack.py
+lib/python%%XYDOT%%/test/test_unpack_ex.py
+lib/python%%XYDOT%%/test/test_urllib.py
+lib/python%%XYDOT%%/test/test_urllib2.py
+lib/python%%XYDOT%%/test/test_urllib2_localnet.py
+lib/python%%XYDOT%%/test/test_urllib2net.py
+lib/python%%XYDOT%%/test/test_urllib_response.py
+lib/python%%XYDOT%%/test/test_urllibnet.py
+lib/python%%XYDOT%%/test/test_urlparse.py
+lib/python%%XYDOT%%/test/test_userdict.py
+lib/python%%XYDOT%%/test/test_userlist.py
+lib/python%%XYDOT%%/test/test_userstring.py
+lib/python%%XYDOT%%/test/test_uu.py
+lib/python%%XYDOT%%/test/test_uuid.py
+lib/python%%XYDOT%%/test/test_venv.py
+lib/python%%XYDOT%%/test/test_wait3.py
+lib/python%%XYDOT%%/test/test_wait4.py
+lib/python%%XYDOT%%/test/test_warnings/__init__.py
+lib/python%%XYDOT%%/test/test_warnings/__main__.py
+lib/python%%XYDOT%%/test/test_warnings/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_warnings/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_warnings/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_warnings/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_warnings/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_warnings/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_warnings/data/__pycache__/import_warning.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_warnings/data/__pycache__/import_warning.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_warnings/data/__pycache__/import_warning.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_warnings/data/__pycache__/stacklevel.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_warnings/data/__pycache__/stacklevel.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_warnings/data/__pycache__/stacklevel.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_warnings/data/import_warning.py
+lib/python%%XYDOT%%/test/test_warnings/data/stacklevel.py
+lib/python%%XYDOT%%/test/test_wave.py
+lib/python%%XYDOT%%/test/test_weakref.py
+lib/python%%XYDOT%%/test/test_weakset.py
+lib/python%%XYDOT%%/test/test_webbrowser.py
+lib/python%%XYDOT%%/test/test_winreg.py
+lib/python%%XYDOT%%/test/test_winsound.py
+lib/python%%XYDOT%%/test/test_with.py
+lib/python%%XYDOT%%/test/test_wsgiref.py
+lib/python%%XYDOT%%/test/test_xdrlib.py
+lib/python%%XYDOT%%/test/test_xml_dom_minicompat.py
+lib/python%%XYDOT%%/test/test_xml_etree.py
+lib/python%%XYDOT%%/test/test_xml_etree_c.py
+lib/python%%XYDOT%%/test/test_xmlrpc.py
+lib/python%%XYDOT%%/test/test_xmlrpc_net.py
+lib/python%%XYDOT%%/test/test_zipapp.py
+lib/python%%XYDOT%%/test/test_zipfile.py
+lib/python%%XYDOT%%/test/test_zipfile64.py
+lib/python%%XYDOT%%/test/test_zipimport.py
+lib/python%%XYDOT%%/test/test_zipimport_support.py
+lib/python%%XYDOT%%/test/test_zlib.py
+lib/python%%XYDOT%%/test/testcodec.py
+lib/python%%XYDOT%%/test/testtar.tar
+lib/python%%XYDOT%%/test/tf_inherit_check.py
+lib/python%%XYDOT%%/test/threaded_import_hangers.py
+lib/python%%XYDOT%%/test/time_hashlib.py
+lib/python%%XYDOT%%/test/tokenize_tests-latin1-coding-cookie-and-utf8-bom-sig.txt
+lib/python%%XYDOT%%/test/tokenize_tests-no-coding-cookie-and-utf8-bom-sig-only.txt
+lib/python%%XYDOT%%/test/tokenize_tests-utf8-coding-cookie-and-no-utf8-bom-sig.txt
+lib/python%%XYDOT%%/test/tokenize_tests-utf8-coding-cookie-and-utf8-bom-sig.txt
+lib/python%%XYDOT%%/test/tokenize_tests.txt
+lib/python%%XYDOT%%/test/tracedmodules/__init__.py
+lib/python%%XYDOT%%/test/tracedmodules/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/tracedmodules/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/tracedmodules/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/tracedmodules/__pycache__/testmod.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/tracedmodules/__pycache__/testmod.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/tracedmodules/__pycache__/testmod.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/tracedmodules/testmod.py
+lib/python%%XYDOT%%/test/win_console_handler.py
+lib/python%%XYDOT%%/test/wrongcert.pem
+lib/python%%XYDOT%%/test/xmltestdata/simple-ns.xml
+lib/python%%XYDOT%%/test/xmltestdata/simple.xml
+lib/python%%XYDOT%%/test/xmltestdata/test.xml
+lib/python%%XYDOT%%/test/xmltestdata/test.xml.out
+lib/python%%XYDOT%%/test/xmltests.py
+lib/python%%XYDOT%%/test/zip_cp437_header.zip
+lib/python%%XYDOT%%/test/zipdir.zip
+lib/python%%XYDOT%%/textwrap.py
+lib/python%%XYDOT%%/this.py
+lib/python%%XYDOT%%/threading.py
+lib/python%%XYDOT%%/timeit.py
+lib/python%%XYDOT%%/tkinter/__init__.py
+lib/python%%XYDOT%%/tkinter/__main__.py
+lib/python%%XYDOT%%/tkinter/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/colorchooser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/colorchooser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/colorchooser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/commondialog.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/commondialog.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/commondialog.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/constants.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/constants.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/constants.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/dialog.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/dialog.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/dialog.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/dnd.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/dnd.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/dnd.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/filedialog.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/filedialog.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/filedialog.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/font.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/font.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/font.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/messagebox.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/messagebox.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/messagebox.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/scrolledtext.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/scrolledtext.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/scrolledtext.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/simpledialog.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/simpledialog.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/simpledialog.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/tix.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/tix.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/tix.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/ttk.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/ttk.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/ttk.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/colorchooser.py
+lib/python%%XYDOT%%/tkinter/commondialog.py
+lib/python%%XYDOT%%/tkinter/constants.py
+lib/python%%XYDOT%%/tkinter/dialog.py
+lib/python%%XYDOT%%/tkinter/dnd.py
+lib/python%%XYDOT%%/tkinter/filedialog.py
+lib/python%%XYDOT%%/tkinter/font.py
+lib/python%%XYDOT%%/tkinter/messagebox.py
+lib/python%%XYDOT%%/tkinter/scrolledtext.py
+lib/python%%XYDOT%%/tkinter/simpledialog.py
+lib/python%%XYDOT%%/tkinter/test/README
+lib/python%%XYDOT%%/tkinter/test/__init__.py
+lib/python%%XYDOT%%/tkinter/test/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/__pycache__/runtktests.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/__pycache__/runtktests.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/__pycache__/runtktests.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/__pycache__/support.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/__pycache__/support.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/__pycache__/support.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/__pycache__/widget_tests.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/__pycache__/widget_tests.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/__pycache__/widget_tests.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/runtktests.py
+lib/python%%XYDOT%%/tkinter/test/support.py
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__init__.py
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_font.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_font.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_font.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_geometry_managers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_geometry_managers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_geometry_managers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_images.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_images.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_images.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_loadtk.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_loadtk.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_loadtk.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_misc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_misc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_misc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_text.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_text.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_text.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_variables.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_variables.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_variables.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_widgets.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_widgets.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_widgets.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/test_font.py
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/test_geometry_managers.py
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/test_images.py
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/test_loadtk.py
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/test_misc.py
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/test_text.py
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/test_variables.py
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/test_widgets.py
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__init__.py
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/test_extensions.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/test_extensions.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/test_extensions.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/test_functions.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/test_functions.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/test_functions.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/test_style.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/test_style.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/test_style.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/test_widgets.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/test_widgets.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/test_widgets.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/test_extensions.py
+lib/python%%XYDOT%%/tkinter/test/test_ttk/test_functions.py
+lib/python%%XYDOT%%/tkinter/test/test_ttk/test_style.py
+lib/python%%XYDOT%%/tkinter/test/test_ttk/test_widgets.py
+lib/python%%XYDOT%%/tkinter/test/widget_tests.py
+lib/python%%XYDOT%%/tkinter/tix.py
+lib/python%%XYDOT%%/tkinter/ttk.py
+lib/python%%XYDOT%%/token.py
+lib/python%%XYDOT%%/tokenize.py
+lib/python%%XYDOT%%/trace.py
+lib/python%%XYDOT%%/traceback.py
+lib/python%%XYDOT%%/tracemalloc.py
+lib/python%%XYDOT%%/tty.py
+lib/python%%XYDOT%%/turtle.py
+lib/python%%XYDOT%%/turtledemo/__init__.py
+lib/python%%XYDOT%%/turtledemo/__main__.py
+lib/python%%XYDOT%%/turtledemo/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/bytedesign.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/bytedesign.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/bytedesign.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/chaos.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/chaos.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/chaos.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/clock.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/clock.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/clock.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/colormixer.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/colormixer.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/colormixer.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/forest.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/forest.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/forest.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/fractalcurves.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/fractalcurves.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/fractalcurves.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/lindenmayer.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/lindenmayer.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/lindenmayer.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/minimal_hanoi.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/minimal_hanoi.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/minimal_hanoi.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/nim.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/nim.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/nim.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/paint.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/paint.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/paint.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/peace.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/peace.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/peace.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/penrose.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/penrose.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/penrose.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/planet_and_moon.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/planet_and_moon.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/planet_and_moon.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/round_dance.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/round_dance.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/round_dance.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/sorting_animate.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/sorting_animate.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/sorting_animate.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/tree.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/tree.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/tree.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/two_canvases.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/two_canvases.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/two_canvases.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/wikipedia.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/wikipedia.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/wikipedia.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/yinyang.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/yinyang.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/yinyang.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/bytedesign.py
+lib/python%%XYDOT%%/turtledemo/chaos.py
+lib/python%%XYDOT%%/turtledemo/clock.py
+lib/python%%XYDOT%%/turtledemo/colormixer.py
+lib/python%%XYDOT%%/turtledemo/forest.py
+lib/python%%XYDOT%%/turtledemo/fractalcurves.py
+lib/python%%XYDOT%%/turtledemo/lindenmayer.py
+lib/python%%XYDOT%%/turtledemo/minimal_hanoi.py
+lib/python%%XYDOT%%/turtledemo/nim.py
+lib/python%%XYDOT%%/turtledemo/paint.py
+lib/python%%XYDOT%%/turtledemo/peace.py
+lib/python%%XYDOT%%/turtledemo/penrose.py
+lib/python%%XYDOT%%/turtledemo/planet_and_moon.py
+lib/python%%XYDOT%%/turtledemo/round_dance.py
+lib/python%%XYDOT%%/turtledemo/sorting_animate.py
+lib/python%%XYDOT%%/turtledemo/tree.py
+lib/python%%XYDOT%%/turtledemo/turtle.cfg
+lib/python%%XYDOT%%/turtledemo/two_canvases.py
+lib/python%%XYDOT%%/turtledemo/wikipedia.py
+lib/python%%XYDOT%%/turtledemo/yinyang.py
+lib/python%%XYDOT%%/types.py
+lib/python%%XYDOT%%/typing.py
+lib/python%%XYDOT%%/unittest/__init__.py
+lib/python%%XYDOT%%/unittest/__main__.py
+lib/python%%XYDOT%%/unittest/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/case.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/case.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/case.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/loader.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/loader.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/loader.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/main.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/main.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/main.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/mock.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/mock.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/mock.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/result.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/result.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/result.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/runner.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/runner.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/runner.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/signals.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/signals.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/signals.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/suite.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/suite.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/suite.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/case.py
+lib/python%%XYDOT%%/unittest/loader.py
+lib/python%%XYDOT%%/unittest/main.py
+lib/python%%XYDOT%%/unittest/mock.py
+lib/python%%XYDOT%%/unittest/result.py
+lib/python%%XYDOT%%/unittest/runner.py
+lib/python%%XYDOT%%/unittest/signals.py
+lib/python%%XYDOT%%/unittest/suite.py
+lib/python%%XYDOT%%/unittest/test/__init__.py
+lib/python%%XYDOT%%/unittest/test/__main__.py
+lib/python%%XYDOT%%/unittest/test/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/_test_warnings.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/_test_warnings.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/_test_warnings.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/dummy.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/dummy.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/dummy.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/support.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/support.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/support.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_assertions.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_assertions.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_assertions.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_break.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_break.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_break.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_case.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_case.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_case.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_discovery.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_discovery.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_discovery.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_functiontestcase.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_functiontestcase.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_functiontestcase.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_loader.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_loader.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_loader.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_program.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_program.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_program.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_result.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_result.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_result.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_runner.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_runner.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_runner.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_setups.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_setups.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_setups.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_skipping.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_skipping.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_skipping.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_suite.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_suite.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_suite.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/_test_warnings.py
+lib/python%%XYDOT%%/unittest/test/dummy.py
+lib/python%%XYDOT%%/unittest/test/support.py
+lib/python%%XYDOT%%/unittest/test/test_assertions.py
+lib/python%%XYDOT%%/unittest/test/test_break.py
+lib/python%%XYDOT%%/unittest/test/test_case.py
+lib/python%%XYDOT%%/unittest/test/test_discovery.py
+lib/python%%XYDOT%%/unittest/test/test_functiontestcase.py
+lib/python%%XYDOT%%/unittest/test/test_loader.py
+lib/python%%XYDOT%%/unittest/test/test_program.py
+lib/python%%XYDOT%%/unittest/test/test_result.py
+lib/python%%XYDOT%%/unittest/test/test_runner.py
+lib/python%%XYDOT%%/unittest/test/test_setups.py
+lib/python%%XYDOT%%/unittest/test/test_skipping.py
+lib/python%%XYDOT%%/unittest/test/test_suite.py
+lib/python%%XYDOT%%/unittest/test/testmock/__init__.py
+lib/python%%XYDOT%%/unittest/test/testmock/__main__.py
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/support.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/support.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/support.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testcallable.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testcallable.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testcallable.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testhelpers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testhelpers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testhelpers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testmagicmethods.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testmagicmethods.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testmagicmethods.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testmock.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testmock.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testmock.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testpatch.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testpatch.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testpatch.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testsentinel.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testsentinel.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testsentinel.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testwith.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testwith.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testwith.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/support.py
+lib/python%%XYDOT%%/unittest/test/testmock/testcallable.py
+lib/python%%XYDOT%%/unittest/test/testmock/testhelpers.py
+lib/python%%XYDOT%%/unittest/test/testmock/testmagicmethods.py
+lib/python%%XYDOT%%/unittest/test/testmock/testmock.py
+lib/python%%XYDOT%%/unittest/test/testmock/testpatch.py
+lib/python%%XYDOT%%/unittest/test/testmock/testsentinel.py
+lib/python%%XYDOT%%/unittest/test/testmock/testwith.py
+lib/python%%XYDOT%%/unittest/util.py
+lib/python%%XYDOT%%/urllib/__init__.py
+lib/python%%XYDOT%%/urllib/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/error.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/error.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/error.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/parse.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/parse.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/parse.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/request.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/request.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/request.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/response.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/response.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/response.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/robotparser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/robotparser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/robotparser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/urllib/error.py
+lib/python%%XYDOT%%/urllib/parse.py
+lib/python%%XYDOT%%/urllib/request.py
+lib/python%%XYDOT%%/urllib/response.py
+lib/python%%XYDOT%%/urllib/robotparser.py
+lib/python%%XYDOT%%/uu.py
+lib/python%%XYDOT%%/uuid.py
+lib/python%%XYDOT%%/venv/__init__.py
+lib/python%%XYDOT%%/venv/__main__.py
+lib/python%%XYDOT%%/venv/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/venv/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/venv/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/venv/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/venv/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/venv/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/venv/scripts/common/activate
+lib/python%%XYDOT%%/venv/scripts/posix/activate.csh
+lib/python%%XYDOT%%/venv/scripts/posix/activate.fish
+lib/python%%XYDOT%%/warnings.py
+lib/python%%XYDOT%%/wave.py
+lib/python%%XYDOT%%/weakref.py
+lib/python%%XYDOT%%/webbrowser.py
+lib/python%%XYDOT%%/wsgiref/__init__.py
+lib/python%%XYDOT%%/wsgiref/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/handlers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/handlers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/handlers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/headers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/headers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/headers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/simple_server.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/simple_server.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/simple_server.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/validate.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/validate.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/validate.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/wsgiref/handlers.py
+lib/python%%XYDOT%%/wsgiref/headers.py
+lib/python%%XYDOT%%/wsgiref/simple_server.py
+lib/python%%XYDOT%%/wsgiref/util.py
+lib/python%%XYDOT%%/wsgiref/validate.py
+lib/python%%XYDOT%%/xdrlib.py
+lib/python%%XYDOT%%/xml/__init__.py
+lib/python%%XYDOT%%/xml/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/dom/NodeFilter.py
+lib/python%%XYDOT%%/xml/dom/__init__.py
+lib/python%%XYDOT%%/xml/dom/__pycache__/NodeFilter.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/NodeFilter.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/NodeFilter.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/domreg.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/domreg.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/domreg.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/expatbuilder.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/expatbuilder.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/expatbuilder.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/minicompat.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/minicompat.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/minicompat.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/minidom.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/minidom.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/minidom.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/pulldom.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/pulldom.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/pulldom.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/xmlbuilder.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/xmlbuilder.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/xmlbuilder.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/dom/domreg.py
+lib/python%%XYDOT%%/xml/dom/expatbuilder.py
+lib/python%%XYDOT%%/xml/dom/minicompat.py
+lib/python%%XYDOT%%/xml/dom/minidom.py
+lib/python%%XYDOT%%/xml/dom/pulldom.py
+lib/python%%XYDOT%%/xml/dom/xmlbuilder.py
+lib/python%%XYDOT%%/xml/etree/ElementInclude.py
+lib/python%%XYDOT%%/xml/etree/ElementPath.py
+lib/python%%XYDOT%%/xml/etree/ElementTree.py
+lib/python%%XYDOT%%/xml/etree/__init__.py
+lib/python%%XYDOT%%/xml/etree/__pycache__/ElementInclude.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/ElementInclude.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/ElementInclude.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/ElementPath.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/ElementPath.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/ElementPath.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/ElementTree.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/ElementTree.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/ElementTree.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/cElementTree.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/cElementTree.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/cElementTree.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/etree/cElementTree.py
+lib/python%%XYDOT%%/xml/parsers/__init__.py
+lib/python%%XYDOT%%/xml/parsers/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/parsers/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/parsers/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/parsers/__pycache__/expat.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/parsers/__pycache__/expat.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/parsers/__pycache__/expat.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/parsers/expat.py
+lib/python%%XYDOT%%/xml/sax/__init__.py
+lib/python%%XYDOT%%/xml/sax/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/_exceptions.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/_exceptions.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/_exceptions.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/expatreader.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/expatreader.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/expatreader.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/handler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/handler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/handler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/saxutils.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/saxutils.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/saxutils.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/xmlreader.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/xmlreader.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/xmlreader.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/sax/_exceptions.py
+lib/python%%XYDOT%%/xml/sax/expatreader.py
+lib/python%%XYDOT%%/xml/sax/handler.py
+lib/python%%XYDOT%%/xml/sax/saxutils.py
+lib/python%%XYDOT%%/xml/sax/xmlreader.py
+lib/python%%XYDOT%%/xmlrpc/__init__.py
+lib/python%%XYDOT%%/xmlrpc/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xmlrpc/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xmlrpc/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xmlrpc/__pycache__/client.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xmlrpc/__pycache__/client.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xmlrpc/__pycache__/client.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xmlrpc/__pycache__/server.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xmlrpc/__pycache__/server.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xmlrpc/__pycache__/server.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xmlrpc/client.py
+lib/python%%XYDOT%%/xmlrpc/server.py
+lib/python%%XYDOT%%/zipapp.py
+lib/python%%XYDOT%%/zipfile.py
+libdata/pkgconfig/python-%%XYDOT%%.pc
+man/man1/python%%XYDOT%%.1.gz
diff --git a/test-ports/lang/python36/Makefile b/test-ports/lang/python36/Makefile
new file mode 100644
index 00000000..931dd499
--- /dev/null
+++ b/test-ports/lang/python36/Makefile
@@ -0,0 +1,140 @@
+# Created by: Kubilay Kocak <koobs@FreeBSD.org>
+# $FreeBSD: head/lang/python36/Makefile 483807 2018-11-02 13:32:34Z rene $
+
+PORTNAME= python
+PORTVERSION= ${PYTHON_PORTVERSION}
+CATEGORIES= lang python ipv6
+MASTER_SITES= PYTHON/ftp/python/${PORTVERSION}
+PKGNAMESUFFIX= ${PYTHON_SUFFIX}
+DISTNAME= Python-${PORTVERSION}
+DIST_SUBDIR= python
+
+MAINTAINER= python@FreeBSD.org
+COMMENT= Interpreted object-oriented programming language
+
+LICENSE= PSFL
+
+USES= cpe ncurses pathfix pkgconfig readline:port shebangfix ssl tar:xz
+PATHFIX_MAKEFILEIN= Makefile.pre.in
+USE_LDCONFIG= yes
+GNU_CONFIGURE= yes
+python_CMD= ${PREFIX}/bin/python${PYTHON_PORTVERSION:R}
+SHEBANG_FILES= Lib/*.py Lib/*/*.py Lib/*/*/*.py Lib/*/*/*/*.py
+
+# Duplicate python.mk variables. TODO: Let lang/python?? ports use python.mk bits.
+PYTHON_VER= ${PYTHON_PORTVERSION:R}
+PYTHON_VERSION= python${PYTHON_VER}
+PYTHON_SUFFIX= ${PYTHON_VER:S/.//g}
+
+DISABLED_EXTENSIONS= _sqlite3 _tkinter _gdbm
+CONFIGURE_ARGS+= --enable-shared --without-ensurepip
+CONFIGURE_ENV+= OPT="" DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS}" # Null out OPT to respect user CFLAGS and remove optimizations
+
+INSTALL_TARGET= altinstall # Don't want cloberring of unprefixed files
+
+TEST_TARGET= buildbottest
+TEST_ARGS= TESTOPTS=-j${MAKE_JOBS_NUMBER}
+
+MAKE_ARGS+= INSTALL_SHARED="${INSTALL_LIB}" # Strip shared library
+
+SUB_FILES= pkg-message
+SUB_LIST= PYTHON_SUFFIX=${PYTHON_SUFFIX}
+
+PLIST_SUB= ABI=${ABIFLAGS} \
+ XY=${PYTHON_SUFFIX} \
+ XYDOT=${PYTHON_VER} \
+ XYZDOT=${PORTVERSION} \
+ OSMAJOR=${OSVERSION:C/([0-9]*)[0-9]{5}/\1/} # For plat-freebsd* in pkg-plist. https://bugs.python.org/issue19554
+
+OPTIONS_DEFINE= DEBUG IPV6 LIBFFI NLS PYMALLOC THREADS
+OPTIONS_DEFAULT= LIBFFI PYMALLOC THREADS
+OPTIONS_RADIO= HASH
+OPTIONS_RADIO_HASH= FNV SIPHASH
+OPTIONS_SUB= yes
+
+LIBFFI_DESC= Use libffi from ports instead of bundled version
+NLS_DESC= Enable gettext support for the locale module
+PYMALLOC_DESC= Enable specialized mallocs
+
+HASH_DESC= Hash Algorithm (PEP-456)
+FNV_DESC= Modified Fowler-Noll-Vo Algorithm
+SIPHASH_DESC= SipHash24 Algorithm
+
+FNV_CONFIGURE_ON= --with-hash-algorithm=fnv
+SIPHASH_CONFIGURE_ON= --with-hash-algorithm=siphash24
+
+DEBUG_CONFIGURE_WITH= pydebug
+IPV6_CONFIGURE_ENABLE= ipv6
+
+LIBFFI_CONFIGURE_ON= --with-system-ffi
+LIBFFI_LIB_DEPENDS= libffi.so:devel/libffi
+
+# Use CPPFLAGS over CFLAGS due to -I ordering, causing elementtree and pyexpat
+# to break in Python 2.7, or preprocessor complaints in Python >= 3.3
+# Upstream Issue: https://bugs.python.org/issue6299
+NLS_USES= gettext
+NLS_CPPFLAGS= -I${LOCALBASE}/include
+NLS_LIBS= -L${LOCALBASE}/lib -lintl
+NLS_CONFIGURE_ENV_OFF= ac_cv_lib_intl_textdomain=no ac_cv_header_libintl_h=no
+
+PYMALLOC_CONFIGURE_WITH= pymalloc
+
+THREADS_CONFIGURE_WITH= threads
+THREADS_LDFLAGS= -lpthread
+
+.include "${.CURDIR}/Makefile.version"
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MPYMALLOC}
+ABIFLAGS:= m${ABIFLAGS}
+.endif
+
+.if ${PORT_OPTIONS:MDEBUG}
+ABIFLAGS:= d${ABIFLAGS}
+.endif
+
+.if !empty(ABIFLAGS)
+PLIST_FILES+= bin/python${PYTHON_VER}${ABIFLAGS} \
+ bin/python${PYTHON_VER}${ABIFLAGS}-config \
+ libdata/pkgconfig/python-${PYTHON_VER}${ABIFLAGS}.pc
+.endif
+
+# https://bugs.python.org/issue22521
+# https://bugs.python.org/issue23042
+.if ${ARCH} == i386 && !${PORT_OPTIONS:MLIBFFI}
+BROKEN= You must use libffi from ports on i386. Enable the LIBFFI option
+.endif
+
+.if ${ARCH} == sparc64
+CFLAGS+= -DPYTHON_DEFAULT_RECURSION_LIMIT=900
+.endif
+
+# See https://bugs.freebsd.org/115940 and https://bugs.freebsd.org/193650
+.if !exists(/usr/bin/ypcat) || defined(WITHOUT_NIS)
+PLIST_SUB+= NO_NIS="@comment "
+DISABLED_EXTENSIONS+= nis
+.else
+PLIST_SUB+= NO_NIS=""
+.endif
+
+post-install:
+.if ! ${PORT_OPTIONS:MDEBUG}
+ ${RM} ${STAGEDIR}${PREFIX}/lib/libpython3.so # Upstream Issue: https://bugs.python.org/issue17975
+.endif
+# This code block exists for the qemu-user enabled cross build environment.
+# When using this environment in poudriere, CC is not set to the default
+# of /usr/bin/cc and a cross-compile toolchain is used. We need to hand
+# edit this so that the run time configuration for python matches what the
+# FreeBSD base system provides. sbruno 02Aug2017
+.if ${CC} == /nxb-bin/usr/bin/cc
+ @${REINPLACE_CMD} -e 's=/nxb-bin==' \
+ ${STAGEDIR}${PREFIX}/lib/python${PYTHON_VER}/_sysconfigdata_m_freebsd${OSREL:R}_.py
+ @${REINPLACE_CMD} -e 's=/nxb-bin==' \
+ ${STAGEDIR}${PREFIX}/lib/python${PYTHON_VER}/config-${PYTHON_VER}m/Makefile
+.endif
+ for i in ${STAGEDIR}${PREFIX}/lib/python${PYTHON_VER}/lib-dynload/*.so; do \
+ ${STRIP_CMD} $$i; done # Strip shared extensions
+ ${INSTALL_DATA} ${WRKSRC}/Tools/gdb/libpython.py \
+ ${STAGEDIR}${PREFIX}/lib/libpython${PYTHON_VER}${ABIFLAGS}.so.1.0-gdb.py
+
+.include <bsd.port.mk>
diff --git a/test-ports/lang/python36/Makefile.version b/test-ports/lang/python36/Makefile.version
new file mode 100644
index 00000000..bad7f670
--- /dev/null
+++ b/test-ports/lang/python36/Makefile.version
@@ -0,0 +1,4 @@
+# Mk/Uses/python.mk includes this file, don't remove it!
+# $FreeBSD: head/lang/python36/Makefile.version 488861 2019-01-01 08:48:18Z wen $
+
+PYTHON_PORTVERSION= 3.6.8
diff --git a/test-ports/lang/python36/distinfo b/test-ports/lang/python36/distinfo
new file mode 100644
index 00000000..94fb89a7
--- /dev/null
+++ b/test-ports/lang/python36/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1545693407
+SHA256 (python/Python-3.6.8.tar.xz) = 35446241e995773b1bed7d196f4b624dadcadc8429f26282e756b2fb8a351193
+SIZE (python/Python-3.6.8.tar.xz) = 17212420
diff --git a/test-ports/lang/python36/files/patch-Lib_distutils_command_install__lib.py b/test-ports/lang/python36/files/patch-Lib_distutils_command_install__lib.py
new file mode 100644
index 00000000..6e925311
--- /dev/null
+++ b/test-ports/lang/python36/files/patch-Lib_distutils_command_install__lib.py
@@ -0,0 +1,41 @@
+From 9934ce31b8447667f71c211e559a8de71e8263db Mon Sep 17 00:00:00 2001
+From: Brendan Molloy <brendan@bbqsrc.net>
+Date: Mon, 4 Jan 2016 23:14:06 +1100
+Subject: [PATCH] Check bytecode file actually exists and tests
+
+Should solve issue 20397, where using the --record argument results
+in files that failed to generate bytecode files are added to the
+record file nonetheless.
+---
+ Lib/distutils/command/install_lib.py | 17 +++++++++++++----
+ Lib/distutils/tests/test_install_lib.py | 8 ++++++--
+ 2 files changed, 19 insertions(+), 6 deletions(-)
+
+--- Lib/distutils/command/install_lib.py.orig 2015-12-07 01:39:07 UTC
++++ Lib/distutils/command/install_lib.py
+@@ -164,12 +164,21 @@ class install_lib(Command):
+ ext = os.path.splitext(os.path.normcase(py_file))[1]
+ if ext != PYTHON_SOURCE_EXTENSION:
+ continue
++
+ if self.compile:
+- bytecode_files.append(importlib.util.cache_from_source(
+- py_file, optimization=''))
++ candidate = importlib.util.cache_from_source(
++ py_file, optimization='')
++
++ if os.path.isfile(candidate):
++ bytecode_files.append(candidate)
++
+ if self.optimize > 0:
+- bytecode_files.append(importlib.util.cache_from_source(
+- py_file, optimization=self.optimize))
++ candidate = importlib.util.cache_from_source(
++ py_file, optimization=self.optimize)
++
++ if os.path.isfile(candidate):
++ bytecode_files.append(candidate)
++
+
+ return bytecode_files
+
diff --git a/test-ports/lang/python36/files/patch-Lib_distutils_tests_test__install__lib.py b/test-ports/lang/python36/files/patch-Lib_distutils_tests_test__install__lib.py
new file mode 100644
index 00000000..c5531b92
--- /dev/null
+++ b/test-ports/lang/python36/files/patch-Lib_distutils_tests_test__install__lib.py
@@ -0,0 +1,33 @@
+From 9934ce31b8447667f71c211e559a8de71e8263db Mon Sep 17 00:00:00 2001
+From: Brendan Molloy <brendan@bbqsrc.net>
+Date: Mon, 4 Jan 2016 23:14:06 +1100
+Subject: [PATCH] Check bytecode file actually exists and tests
+
+Should solve issue 20397, where using the --record argument results
+in files that failed to generate bytecode files are added to the
+record file nonetheless.
+---
+ Lib/distutils/command/install_lib.py | 17 +++++++++++++----
+ Lib/distutils/tests/test_install_lib.py | 8 ++++++--
+ 2 files changed, 19 insertions(+), 6 deletions(-)
+
+--- Lib/distutils/tests/test_install_lib.py.orig 2015-12-07 01:39:07 UTC
++++ Lib/distutils/tests/test_install_lib.py
+@@ -64,11 +64,15 @@ class InstallLibTestCase(support.Tempdir
+ cmd.distribution.ext_modules = [Extension('foo', ['xxx'])]
+ cmd.distribution.packages = ['spam']
+ cmd.distribution.script_name = 'setup.py'
++
++ # Create rubbish, uncompilable file
++ f = os.path.join(project_dir, 'spam', 'rubbish.py')
++ self.write_file(f, 'rubbish()')
+
+ # get_outputs should return 4 elements: spam/__init__.py and .pyc,
+- # foo.import-tag-abiflags.so / foo.pyd
++ # foo.import-tag-abiflags.so / foo.pyd and rubbish.py (no .pyc)
+ outputs = cmd.get_outputs()
+- self.assertEqual(len(outputs), 4, outputs)
++ self.assertEqual(len(outputs), 5, outputs)
+
+ def test_get_inputs(self):
+ project_dir, dist = self.create_dist()
diff --git a/test-ports/lang/python36/files/patch-Makefile.pre.in b/test-ports/lang/python36/files/patch-Makefile.pre.in
new file mode 100644
index 00000000..28d38652
--- /dev/null
+++ b/test-ports/lang/python36/files/patch-Makefile.pre.in
@@ -0,0 +1,53 @@
+# Description: Remove duplicate CFLAGS, CPPFLAGS, LDFLAGS by stripping CONFIGURE_*
+# Submitted by: koobs (r326729)
+# TODO: Upstream
+
+# Description: Create symlinks for non-ABI-suffixed python*-config and ABI-suffixed python-*.pc
+# Submitted by: antoine@ (r358029)
+# TODO: Upstream
+
+--- Makefile.pre.in.orig 2018-12-25 07:28:06 UTC
++++ Makefile.pre.in
+@@ -79,7 +79,6 @@ MAKESETUP= $(srcdir)/Modules/makesetup
+ OPT= @OPT@
+ BASECFLAGS= @BASECFLAGS@
+ BASECPPFLAGS= @BASECPPFLAGS@
+-CONFIGURE_CFLAGS= @CFLAGS@
+ # CFLAGS_NODIST is used for building the interpreter and stdlib C extensions.
+ # Use it when a compiler flag should _not_ be part of the distutils CFLAGS
+ # once Python is installed (Issue #21121).
+@@ -88,18 +87,16 @@ CONFIGURE_CFLAGS_NODIST=@CFLAGS_NODIST@
+ # Use it when a linker flag should _not_ be part of the distutils LDFLAGS
+ # once Python is installed (bpo-35257)
+ CONFIGURE_LDFLAGS_NODIST=@LDFLAGS_NODIST@
+-CONFIGURE_CPPFLAGS= @CPPFLAGS@
+-CONFIGURE_LDFLAGS= @LDFLAGS@
+ # Avoid assigning CFLAGS, LDFLAGS, etc. so users can use them on the
+ # command line to append to these values without stomping the pre-set
+ # values.
+-PY_CFLAGS= $(BASECFLAGS) $(OPT) $(CONFIGURE_CFLAGS) $(CFLAGS) $(EXTRA_CFLAGS)
++PY_CFLAGS= $(BASECFLAGS) $(OPT) $(CFLAGS) $(EXTRA_CFLAGS)
+ PY_CFLAGS_NODIST=$(CONFIGURE_CFLAGS_NODIST) $(CFLAGS_NODIST)
+ # Both CPPFLAGS and LDFLAGS need to contain the shell's value for setup.py to
+ # be able to build extension modules using the directories specified in the
+ # environment variables
+-PY_CPPFLAGS= $(BASECPPFLAGS) -I. -I$(srcdir)/Include $(CONFIGURE_CPPFLAGS) $(CPPFLAGS)
+-PY_LDFLAGS= $(CONFIGURE_LDFLAGS) $(LDFLAGS)
++PY_CPPFLAGS= $(BASECPPFLAGS) -I. -I$(srcdir)/Include $(CPPFLAGS)
++PY_LDFLAGS= $(LDFLAGS)
+ PY_LDFLAGS_NODIST=$(CONFIGURE_LDFLAGS_NODIST) $(LDFLAGS_NODIST)
+ NO_AS_NEEDED= @NO_AS_NEEDED@
+ LDLAST= @LDLAST@
+@@ -1451,6 +1448,12 @@ libainstall: @DEF_MAKE_RULE@ python-config
+ $(INSTALL_SCRIPT) $(srcdir)/install-sh $(DESTDIR)$(LIBPL)/install-sh
+ $(INSTALL_SCRIPT) python-config.py $(DESTDIR)$(LIBPL)/python-config.py
+ $(INSTALL_SCRIPT) python-config $(DESTDIR)$(BINDIR)/python$(LDVERSION)-config
++ -if test "$(VERSION)" != "$(LDVERSION)"; then \
++ rm -f $(DESTDIR)$(BINDIR)/python$(VERSION)-config; \
++ (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(LDVERSION)-config python$(VERSION)-config); \
++ rm -f $(DESTDIR)$(LIBPC)/python-$(LDVERSION).pc; \
++ (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION).pc python-$(LDVERSION).pc); \
++ fi
+ @if [ -s Modules/python.exp -a \
+ "`echo $(MACHDEP) | sed 's/^\(...\).*/\1/'`" = "aix" ]; then \
+ echo; echo "Installing support files for building shared extension modules on AIX:"; \
diff --git a/test-ports/lang/python36/files/patch-Misc__python-config.sh.in b/test-ports/lang/python36/files/patch-Misc__python-config.sh.in
new file mode 100644
index 00000000..ebb0c6a5
--- /dev/null
+++ b/test-ports/lang/python36/files/patch-Misc__python-config.sh.in
@@ -0,0 +1,11 @@
+--- Misc/python-config.sh.in.orig 2018-07-13 21:07:16 UTC
++++ Misc/python-config.sh.in
+@@ -15,7 +15,7 @@ fi
+ # Returns the actual prefix where this script was installed to.
+ installed_prefix ()
+ {
+- RESULT=$(dirname $(cd $(dirname "$1") && pwd -P))
++ RESULT=$(dirname $(cd $(dirname $(realpath "$1")) && pwd -P))
+ if which readlink >/dev/null 2>&1 ; then
+ if readlink -f "$RESULT" >/dev/null 2>&1; then
+ RESULT=$(readlink -f "$RESULT")
diff --git a/test-ports/lang/python36/files/patch-Modules___ctypes__libffi__src__arm__ffi.c b/test-ports/lang/python36/files/patch-Modules___ctypes__libffi__src__arm__ffi.c
new file mode 100644
index 00000000..56e43427
--- /dev/null
+++ b/test-ports/lang/python36/files/patch-Modules___ctypes__libffi__src__arm__ffi.c
@@ -0,0 +1,36 @@
+# Description: Fix _ctypes abort on import for FreeBSD/ARM. This is an issue
+# for anything !apple that is using the libcompiler_rt provided by clang on arm
+# PR: ports/149167 ports/184517
+# Patch by: cognet@ (to be upstreamed @ LLVM)
+
+--- ./Modules/_ctypes/libffi/src/arm/ffi.c.orig 2013-11-17 18:22:57.000000000 +1100
++++ ./Modules/_ctypes/libffi/src/arm/ffi.c 2013-12-03 19:23:24.521993369 +1100
+@@ -33,6 +33,11 @@
+
+ #include <stdlib.h>
+
++#if defined(__FreeBSD__) && defined(__arm__)
++#include <sys/types.h>
++#include <machine/sysarch.h>
++#endif
++
+ /* Forward declares. */
+ static int vfp_type_p (ffi_type *);
+ static void layout_vfp_args (ffi_cif *);
+@@ -582,6 +587,16 @@
+
+ #else
+
++#if defined(__FreeBSD__) && defined(__arm__)
++#define __clear_cache(start, end) do { \
++ struct arm_sync_icache_args ua; \
++ \
++ ua.addr = (uintptr_t)(start); \
++ ua.len = (char *)(end) - (char *)start; \
++ sysarch(ARM_SYNC_ICACHE, &ua); \
++ } while (0);
++#endif
++
+ #define FFI_INIT_TRAMPOLINE(TRAMP,FUN,CTX) \
+ ({ unsigned char *__tramp = (unsigned char*)(TRAMP); \
+ unsigned int __fun = (unsigned int)(FUN); \
diff --git a/test-ports/lang/python36/files/patch-issue20210 b/test-ports/lang/python36/files/patch-issue20210
new file mode 100644
index 00000000..90330d8f
--- /dev/null
+++ b/test-ports/lang/python36/files/patch-issue20210
@@ -0,0 +1,68 @@
+# Backport patch 0001 from Issue #20210
+# Issue: https://bugs.python.org/issue20210
+# By: Thomas Petazzoni
+
+--- ./Makefile.pre.in.orig 2014-03-24 22:45:17.908886504 +1100
++++ ./Makefile.pre.in 2014-03-24 22:47:55.503779805 +1100
+@@ -172,6 +172,8 @@
+ # configure script arguments
+ CONFIG_ARGS= @CONFIG_ARGS@
+
++# disabled extensions
++DISABLED_EXTENSIONS= @DISABLED_EXTENSIONS@
+
+ # Subdirectories with code
+ SRCDIRS= @SRCDIRS@
+@@ -555,6 +557,7 @@
+ esac; \
+ $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
+ _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \
++ DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" \
+ $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
+
+ # Build static library
+@@ -1352,7 +1355,8 @@
+ # Install the dynamically loadable modules
+ # This goes into $(exec_prefix)
+ sharedinstall: sharedmods
+- $(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \
++ $(RUNSHARED) DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" \
++ $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \
+ --prefix=$(prefix) \
+ --install-scripts=$(BINDIR) \
+ --install-platlib=$(DESTSHARED) \
+--- ./configure.ac.orig 2014-03-24 22:48:10.442551831 +1100
++++ ./configure.ac 2014-03-24 22:48:42.059827384 +1100
+@@ -2331,6 +2331,8 @@
+
+ AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
+
++AC_SUBST(DISABLED_EXTENSIONS)
++
+ # Check for use of the system expat library
+ AC_MSG_CHECKING(for --with-system-expat)
+ AC_ARG_WITH(system_expat,
+--- configure.orig 2015-03-01 13:57:08.000000000 +0300
++++ configure 2015-03-01 13:57:30.000000000 +0300
+@@ -650,6 +650,7 @@
+ TCLTK_LIBS
+ TCLTK_INCLUDES
+ LIBFFI_INCLUDEDIR
++DISABLED_EXTENSIONS
+ PKG_CONFIG_LIBDIR
+ PKG_CONFIG_PATH
+ PKG_CONFIG
+--- ./setup.py.orig 2014-03-24 22:48:48.495472513 +1100
++++ ./setup.py 2014-03-24 22:49:20.076122201 +1100
+@@ -33,7 +33,10 @@
+ COMPILED_WITH_PYDEBUG = ('--with-pydebug' in sysconfig.get_config_var("CONFIG_ARGS"))
+
+ # This global variable is used to hold the list of modules to be disabled.
+-disabled_module_list = []
++try:
++ disabled_module_list = sysconfig.get_config_var("DISABLED_EXTENSIONS").split(" ")
++except KeyError:
++ disabled_module_list = list()
+
+ def add_dir_to_list(dirlist, dir):
+ """Add the directory 'dir' to the list 'dirlist' (after any relative
diff --git a/test-ports/lang/python36/files/pkg-message.in b/test-ports/lang/python36/files/pkg-message.in
new file mode 100644
index 00000000..5fb6e462
--- /dev/null
+++ b/test-ports/lang/python36/files/pkg-message.in
@@ -0,0 +1,10 @@
+===========================================================================
+
+Note that some standard Python modules are provided as separate ports
+as they require additional dependencies. They are available as:
+
+py%%PYTHON_SUFFIX%%-gdbm databases/py-gdbm@py%%PYTHON_SUFFIX%%
+py%%PYTHON_SUFFIX%%-sqlite3 databases/py-sqlite3@py%%PYTHON_SUFFIX%%
+py%%PYTHON_SUFFIX%%-tkinter x11-toolkits/py-tkinter@py%%PYTHON_SUFFIX%%
+
+===========================================================================
diff --git a/test-ports/lang/python36/pkg-descr b/test-ports/lang/python36/pkg-descr
new file mode 100644
index 00000000..9c7e5a6d
--- /dev/null
+++ b/test-ports/lang/python36/pkg-descr
@@ -0,0 +1,4 @@
+Python is an interpreted object-oriented programming language, and is
+often compared to Tcl, Perl or Scheme.
+
+WWW: https://www.python.org/
diff --git a/test-ports/lang/python36/pkg-plist b/test-ports/lang/python36/pkg-plist
new file mode 100644
index 00000000..8352405c
--- /dev/null
+++ b/test-ports/lang/python36/pkg-plist
@@ -0,0 +1,6805 @@
+bin/2to3-%%XYDOT%%
+bin/idle%%XYDOT%%
+bin/pydoc%%XYDOT%%
+bin/python%%XYDOT%%
+bin/python%%XYDOT%%-config
+bin/pyvenv-%%XYDOT%%
+include/python%%XYDOT%%%%ABI%%/Python-ast.h
+include/python%%XYDOT%%%%ABI%%/Python.h
+include/python%%XYDOT%%%%ABI%%/abstract.h
+include/python%%XYDOT%%%%ABI%%/accu.h
+include/python%%XYDOT%%%%ABI%%/asdl.h
+include/python%%XYDOT%%%%ABI%%/ast.h
+include/python%%XYDOT%%%%ABI%%/bitset.h
+include/python%%XYDOT%%%%ABI%%/bltinmodule.h
+include/python%%XYDOT%%%%ABI%%/boolobject.h
+include/python%%XYDOT%%%%ABI%%/bytearrayobject.h
+include/python%%XYDOT%%%%ABI%%/bytes_methods.h
+include/python%%XYDOT%%%%ABI%%/bytesobject.h
+include/python%%XYDOT%%%%ABI%%/cellobject.h
+include/python%%XYDOT%%%%ABI%%/ceval.h
+include/python%%XYDOT%%%%ABI%%/classobject.h
+include/python%%XYDOT%%%%ABI%%/code.h
+include/python%%XYDOT%%%%ABI%%/codecs.h
+include/python%%XYDOT%%%%ABI%%/compile.h
+include/python%%XYDOT%%%%ABI%%/complexobject.h
+include/python%%XYDOT%%%%ABI%%/datetime.h
+include/python%%XYDOT%%%%ABI%%/descrobject.h
+include/python%%XYDOT%%%%ABI%%/dictobject.h
+include/python%%XYDOT%%%%ABI%%/dtoa.h
+include/python%%XYDOT%%%%ABI%%/dynamic_annotations.h
+include/python%%XYDOT%%%%ABI%%/enumobject.h
+include/python%%XYDOT%%%%ABI%%/errcode.h
+include/python%%XYDOT%%%%ABI%%/eval.h
+include/python%%XYDOT%%%%ABI%%/fileobject.h
+include/python%%XYDOT%%%%ABI%%/fileutils.h
+include/python%%XYDOT%%%%ABI%%/floatobject.h
+include/python%%XYDOT%%%%ABI%%/frameobject.h
+include/python%%XYDOT%%%%ABI%%/funcobject.h
+include/python%%XYDOT%%%%ABI%%/genobject.h
+include/python%%XYDOT%%%%ABI%%/graminit.h
+include/python%%XYDOT%%%%ABI%%/grammar.h
+include/python%%XYDOT%%%%ABI%%/import.h
+include/python%%XYDOT%%%%ABI%%/intrcheck.h
+include/python%%XYDOT%%%%ABI%%/iterobject.h
+include/python%%XYDOT%%%%ABI%%/listobject.h
+include/python%%XYDOT%%%%ABI%%/longintrepr.h
+include/python%%XYDOT%%%%ABI%%/longobject.h
+include/python%%XYDOT%%%%ABI%%/marshal.h
+include/python%%XYDOT%%%%ABI%%/memoryobject.h
+include/python%%XYDOT%%%%ABI%%/metagrammar.h
+include/python%%XYDOT%%%%ABI%%/methodobject.h
+include/python%%XYDOT%%%%ABI%%/modsupport.h
+include/python%%XYDOT%%%%ABI%%/moduleobject.h
+include/python%%XYDOT%%%%ABI%%/namespaceobject.h
+include/python%%XYDOT%%%%ABI%%/node.h
+include/python%%XYDOT%%%%ABI%%/object.h
+include/python%%XYDOT%%%%ABI%%/objimpl.h
+include/python%%XYDOT%%%%ABI%%/odictobject.h
+include/python%%XYDOT%%%%ABI%%/opcode.h
+include/python%%XYDOT%%%%ABI%%/osdefs.h
+include/python%%XYDOT%%%%ABI%%/osmodule.h
+include/python%%XYDOT%%%%ABI%%/parsetok.h
+include/python%%XYDOT%%%%ABI%%/patchlevel.h
+include/python%%XYDOT%%%%ABI%%/pgen.h
+include/python%%XYDOT%%%%ABI%%/pgenheaders.h
+include/python%%XYDOT%%%%ABI%%/py_curses.h
+include/python%%XYDOT%%%%ABI%%/pyarena.h
+include/python%%XYDOT%%%%ABI%%/pyatomic.h
+include/python%%XYDOT%%%%ABI%%/pycapsule.h
+include/python%%XYDOT%%%%ABI%%/pyconfig.h
+include/python%%XYDOT%%%%ABI%%/pyctype.h
+include/python%%XYDOT%%%%ABI%%/pydebug.h
+include/python%%XYDOT%%%%ABI%%/pydtrace.h
+include/python%%XYDOT%%%%ABI%%/pyerrors.h
+include/python%%XYDOT%%%%ABI%%/pyexpat.h
+include/python%%XYDOT%%%%ABI%%/pyfpe.h
+include/python%%XYDOT%%%%ABI%%/pygetopt.h
+include/python%%XYDOT%%%%ABI%%/pyhash.h
+include/python%%XYDOT%%%%ABI%%/pylifecycle.h
+include/python%%XYDOT%%%%ABI%%/pymacconfig.h
+include/python%%XYDOT%%%%ABI%%/pymacro.h
+include/python%%XYDOT%%%%ABI%%/pymath.h
+include/python%%XYDOT%%%%ABI%%/pymem.h
+include/python%%XYDOT%%%%ABI%%/pyport.h
+include/python%%XYDOT%%%%ABI%%/pystate.h
+include/python%%XYDOT%%%%ABI%%/pystrcmp.h
+include/python%%XYDOT%%%%ABI%%/pystrhex.h
+include/python%%XYDOT%%%%ABI%%/pystrtod.h
+include/python%%XYDOT%%%%ABI%%/pythonrun.h
+include/python%%XYDOT%%%%ABI%%/pythread.h
+include/python%%XYDOT%%%%ABI%%/pytime.h
+include/python%%XYDOT%%%%ABI%%/rangeobject.h
+include/python%%XYDOT%%%%ABI%%/setobject.h
+include/python%%XYDOT%%%%ABI%%/sliceobject.h
+include/python%%XYDOT%%%%ABI%%/structmember.h
+include/python%%XYDOT%%%%ABI%%/structseq.h
+include/python%%XYDOT%%%%ABI%%/symtable.h
+include/python%%XYDOT%%%%ABI%%/sysmodule.h
+include/python%%XYDOT%%%%ABI%%/token.h
+include/python%%XYDOT%%%%ABI%%/traceback.h
+include/python%%XYDOT%%%%ABI%%/tupleobject.h
+include/python%%XYDOT%%%%ABI%%/typeslots.h
+include/python%%XYDOT%%%%ABI%%/ucnhash.h
+include/python%%XYDOT%%%%ABI%%/unicodeobject.h
+include/python%%XYDOT%%%%ABI%%/warnings.h
+include/python%%XYDOT%%%%ABI%%/weakrefobject.h
+lib/libpython%%XYDOT%%%%ABI%%.so
+lib/libpython%%XYDOT%%%%ABI%%.so.1.0
+lib/libpython%%XYDOT%%%%ABI%%.so.1.0-gdb.py
+lib/python%%XYDOT%%/LICENSE.txt
+lib/python%%XYDOT%%/__future__.py
+lib/python%%XYDOT%%/__phello__.foo.py
+lib/python%%XYDOT%%/__pycache__/__future__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/__future__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/__future__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/__phello__.foo.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/__phello__.foo.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/__phello__.foo.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_bootlocale.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_bootlocale.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_bootlocale.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_collections_abc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_collections_abc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_collections_abc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_compat_pickle.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_compat_pickle.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_compat_pickle.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_compression.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_compression.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_compression.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_dummy_thread.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_dummy_thread.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_dummy_thread.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_markupbase.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_markupbase.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_markupbase.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_osx_support.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_osx_support.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_osx_support.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_pydecimal.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_pydecimal.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_pydecimal.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_pyio.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_pyio.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_pyio.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_sitebuiltins.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_sitebuiltins.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_sitebuiltins.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_strptime.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_strptime.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_strptime.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_sysconfigdata_%%ABI%%_freebsd%%OSMAJOR%%_.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_sysconfigdata_%%ABI%%_freebsd%%OSMAJOR%%_.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_sysconfigdata_%%ABI%%_freebsd%%OSMAJOR%%_.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_threading_local.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_threading_local.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_threading_local.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_weakrefset.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_weakrefset.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_weakrefset.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/abc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/abc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/abc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/aifc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/aifc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/aifc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/antigravity.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/antigravity.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/antigravity.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/argparse.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/argparse.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/argparse.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/ast.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/ast.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/ast.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/asynchat.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/asynchat.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/asynchat.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/asyncore.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/asyncore.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/asyncore.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/base64.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/base64.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/base64.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/bdb.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/bdb.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/bdb.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/binhex.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/binhex.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/binhex.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/bisect.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/bisect.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/bisect.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/bz2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/bz2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/bz2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/cProfile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/cProfile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/cProfile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/calendar.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/calendar.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/calendar.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/cgi.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/cgi.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/cgi.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/cgitb.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/cgitb.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/cgitb.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/chunk.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/chunk.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/chunk.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/cmd.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/cmd.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/cmd.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/code.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/code.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/code.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/codecs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/codecs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/codecs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/codeop.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/codeop.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/codeop.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/colorsys.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/colorsys.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/colorsys.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/compileall.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/compileall.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/compileall.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/configparser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/configparser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/configparser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/contextlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/contextlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/contextlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/copy.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/copy.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/copy.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/copyreg.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/copyreg.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/copyreg.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/crypt.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/crypt.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/crypt.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/csv.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/csv.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/csv.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/datetime.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/datetime.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/datetime.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/decimal.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/decimal.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/decimal.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/difflib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/difflib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/difflib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/dis.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/dis.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/dis.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/doctest.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/doctest.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/doctest.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/dummy_threading.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/dummy_threading.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/dummy_threading.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/enum.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/enum.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/enum.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/filecmp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/filecmp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/filecmp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/fileinput.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/fileinput.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/fileinput.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/fnmatch.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/fnmatch.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/fnmatch.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/formatter.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/formatter.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/formatter.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/fractions.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/fractions.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/fractions.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/ftplib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/ftplib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/ftplib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/functools.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/functools.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/functools.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/genericpath.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/genericpath.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/genericpath.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/getopt.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/getopt.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/getopt.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/getpass.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/getpass.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/getpass.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/gettext.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/gettext.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/gettext.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/glob.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/glob.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/glob.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/gzip.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/gzip.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/gzip.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/hashlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/hashlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/hashlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/heapq.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/heapq.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/heapq.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/hmac.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/hmac.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/hmac.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/imaplib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/imaplib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/imaplib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/imghdr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/imghdr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/imghdr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/imp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/imp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/imp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/inspect.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/inspect.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/inspect.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/io.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/io.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/io.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/ipaddress.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/ipaddress.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/ipaddress.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/keyword.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/keyword.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/keyword.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/linecache.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/linecache.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/linecache.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/locale.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/locale.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/locale.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/lzma.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/lzma.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/lzma.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/macpath.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/macpath.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/macpath.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/macurl2path.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/macurl2path.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/macurl2path.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/mailbox.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/mailbox.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/mailbox.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/mailcap.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/mailcap.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/mailcap.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/mimetypes.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/mimetypes.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/mimetypes.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/modulefinder.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/modulefinder.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/modulefinder.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/netrc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/netrc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/netrc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/nntplib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/nntplib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/nntplib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/ntpath.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/ntpath.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/ntpath.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/nturl2path.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/nturl2path.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/nturl2path.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/numbers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/numbers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/numbers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/opcode.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/opcode.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/opcode.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/operator.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/operator.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/operator.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/optparse.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/optparse.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/optparse.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/os.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/os.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/os.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/pathlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/pathlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/pathlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/pdb.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/pdb.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/pdb.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/pickle.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/pickle.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/pickle.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/pickletools.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/pickletools.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/pickletools.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/pipes.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/pipes.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/pipes.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/pkgutil.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/pkgutil.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/pkgutil.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/platform.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/platform.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/platform.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/plistlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/plistlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/plistlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/poplib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/poplib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/poplib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/posixpath.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/posixpath.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/posixpath.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/pprint.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/pprint.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/pprint.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/profile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/profile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/profile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/pstats.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/pstats.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/pstats.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/pty.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/pty.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/pty.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/py_compile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/py_compile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/py_compile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/pyclbr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/pyclbr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/pyclbr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/pydoc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/pydoc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/pydoc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/queue.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/queue.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/queue.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/quopri.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/quopri.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/quopri.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/random.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/random.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/random.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/re.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/re.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/re.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/reprlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/reprlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/reprlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/rlcompleter.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/rlcompleter.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/rlcompleter.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/runpy.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/runpy.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/runpy.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/sched.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/sched.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/sched.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/secrets.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/secrets.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/secrets.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/selectors.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/selectors.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/selectors.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/shelve.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/shelve.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/shelve.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/shlex.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/shlex.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/shlex.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/shutil.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/shutil.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/shutil.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/signal.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/signal.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/signal.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/site.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/site.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/site.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/smtpd.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/smtpd.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/smtpd.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/smtplib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/smtplib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/smtplib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/sndhdr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/sndhdr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/sndhdr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/socket.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/socket.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/socket.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/socketserver.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/socketserver.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/socketserver.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/sre_compile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/sre_compile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/sre_compile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/sre_constants.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/sre_constants.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/sre_constants.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/sre_parse.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/sre_parse.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/sre_parse.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/ssl.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/ssl.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/ssl.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/stat.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/stat.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/stat.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/statistics.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/statistics.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/statistics.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/string.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/string.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/string.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/stringprep.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/stringprep.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/stringprep.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/struct.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/struct.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/struct.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/subprocess.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/subprocess.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/subprocess.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/sunau.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/sunau.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/sunau.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/symbol.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/symbol.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/symbol.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/symtable.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/symtable.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/symtable.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/sysconfig.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/sysconfig.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/sysconfig.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/tabnanny.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/tabnanny.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/tabnanny.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/tarfile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/tarfile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/tarfile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/telnetlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/telnetlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/telnetlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/tempfile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/tempfile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/tempfile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/textwrap.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/textwrap.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/textwrap.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/this.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/this.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/this.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/threading.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/threading.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/threading.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/timeit.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/timeit.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/timeit.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/token.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/token.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/token.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/tokenize.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/tokenize.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/tokenize.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/trace.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/trace.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/trace.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/traceback.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/traceback.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/traceback.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/tracemalloc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/tracemalloc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/tracemalloc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/tty.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/tty.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/tty.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/turtle.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/turtle.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/turtle.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/types.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/types.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/types.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/typing.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/typing.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/typing.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/uu.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/uu.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/uu.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/uuid.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/uuid.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/uuid.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/warnings.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/warnings.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/warnings.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/wave.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/wave.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/wave.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/weakref.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/weakref.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/weakref.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/webbrowser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/webbrowser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/webbrowser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/xdrlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/xdrlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/xdrlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/zipapp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/zipapp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/zipapp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/zipfile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/zipfile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/zipfile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/_bootlocale.py
+lib/python%%XYDOT%%/_collections_abc.py
+lib/python%%XYDOT%%/_compat_pickle.py
+lib/python%%XYDOT%%/_compression.py
+lib/python%%XYDOT%%/_dummy_thread.py
+lib/python%%XYDOT%%/_markupbase.py
+lib/python%%XYDOT%%/_osx_support.py
+lib/python%%XYDOT%%/_pydecimal.py
+lib/python%%XYDOT%%/_pyio.py
+lib/python%%XYDOT%%/_sitebuiltins.py
+lib/python%%XYDOT%%/_strptime.py
+lib/python%%XYDOT%%/_sysconfigdata_%%ABI%%_freebsd%%OSMAJOR%%_.py
+lib/python%%XYDOT%%/_threading_local.py
+lib/python%%XYDOT%%/_weakrefset.py
+lib/python%%XYDOT%%/abc.py
+lib/python%%XYDOT%%/aifc.py
+lib/python%%XYDOT%%/antigravity.py
+lib/python%%XYDOT%%/argparse.py
+lib/python%%XYDOT%%/ast.py
+lib/python%%XYDOT%%/asynchat.py
+lib/python%%XYDOT%%/asyncio/__init__.py
+lib/python%%XYDOT%%/asyncio/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/base_events.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/base_events.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/base_events.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/base_futures.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/base_futures.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/base_futures.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/base_subprocess.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/base_subprocess.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/base_subprocess.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/base_tasks.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/base_tasks.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/base_tasks.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/compat.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/compat.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/compat.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/constants.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/constants.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/constants.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/coroutines.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/coroutines.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/coroutines.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/events.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/events.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/events.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/futures.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/futures.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/futures.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/locks.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/locks.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/locks.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/log.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/log.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/log.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/proactor_events.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/proactor_events.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/proactor_events.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/protocols.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/protocols.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/protocols.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/queues.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/queues.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/queues.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/selector_events.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/selector_events.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/selector_events.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/sslproto.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/sslproto.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/sslproto.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/streams.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/streams.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/streams.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/subprocess.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/subprocess.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/subprocess.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/tasks.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/tasks.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/tasks.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/test_utils.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/test_utils.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/test_utils.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/transports.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/transports.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/transports.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/unix_events.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/unix_events.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/unix_events.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/windows_events.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/windows_events.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/windows_events.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/windows_utils.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/windows_utils.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/windows_utils.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/base_events.py
+lib/python%%XYDOT%%/asyncio/base_futures.py
+lib/python%%XYDOT%%/asyncio/base_subprocess.py
+lib/python%%XYDOT%%/asyncio/base_tasks.py
+lib/python%%XYDOT%%/asyncio/compat.py
+lib/python%%XYDOT%%/asyncio/constants.py
+lib/python%%XYDOT%%/asyncio/coroutines.py
+lib/python%%XYDOT%%/asyncio/events.py
+lib/python%%XYDOT%%/asyncio/futures.py
+lib/python%%XYDOT%%/asyncio/locks.py
+lib/python%%XYDOT%%/asyncio/log.py
+lib/python%%XYDOT%%/asyncio/proactor_events.py
+lib/python%%XYDOT%%/asyncio/protocols.py
+lib/python%%XYDOT%%/asyncio/queues.py
+lib/python%%XYDOT%%/asyncio/selector_events.py
+lib/python%%XYDOT%%/asyncio/sslproto.py
+lib/python%%XYDOT%%/asyncio/streams.py
+lib/python%%XYDOT%%/asyncio/subprocess.py
+lib/python%%XYDOT%%/asyncio/tasks.py
+lib/python%%XYDOT%%/asyncio/test_utils.py
+lib/python%%XYDOT%%/asyncio/transports.py
+lib/python%%XYDOT%%/asyncio/unix_events.py
+lib/python%%XYDOT%%/asyncio/windows_events.py
+lib/python%%XYDOT%%/asyncio/windows_utils.py
+lib/python%%XYDOT%%/asyncore.py
+lib/python%%XYDOT%%/base64.py
+lib/python%%XYDOT%%/bdb.py
+lib/python%%XYDOT%%/binhex.py
+lib/python%%XYDOT%%/bisect.py
+lib/python%%XYDOT%%/bz2.py
+lib/python%%XYDOT%%/cProfile.py
+lib/python%%XYDOT%%/calendar.py
+lib/python%%XYDOT%%/cgi.py
+lib/python%%XYDOT%%/cgitb.py
+lib/python%%XYDOT%%/chunk.py
+lib/python%%XYDOT%%/cmd.py
+lib/python%%XYDOT%%/code.py
+lib/python%%XYDOT%%/codecs.py
+lib/python%%XYDOT%%/codeop.py
+lib/python%%XYDOT%%/collections/__init__.py
+lib/python%%XYDOT%%/collections/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/collections/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/collections/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/collections/__pycache__/abc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/collections/__pycache__/abc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/collections/__pycache__/abc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/collections/abc.py
+lib/python%%XYDOT%%/colorsys.py
+lib/python%%XYDOT%%/compileall.py
+lib/python%%XYDOT%%/concurrent/__init__.py
+lib/python%%XYDOT%%/concurrent/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/concurrent/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/concurrent/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/concurrent/futures/__init__.py
+lib/python%%XYDOT%%/concurrent/futures/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/concurrent/futures/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/concurrent/futures/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/concurrent/futures/__pycache__/_base.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/concurrent/futures/__pycache__/_base.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/concurrent/futures/__pycache__/_base.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/concurrent/futures/__pycache__/process.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/concurrent/futures/__pycache__/process.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/concurrent/futures/__pycache__/process.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/concurrent/futures/__pycache__/thread.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/concurrent/futures/__pycache__/thread.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/concurrent/futures/__pycache__/thread.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/concurrent/futures/_base.py
+lib/python%%XYDOT%%/concurrent/futures/process.py
+lib/python%%XYDOT%%/concurrent/futures/thread.py
+lib/python%%XYDOT%%/config-%%XYDOT%%%%ABI%%/Makefile
+lib/python%%XYDOT%%/config-%%XYDOT%%%%ABI%%/Setup
+lib/python%%XYDOT%%/config-%%XYDOT%%%%ABI%%/Setup.config
+lib/python%%XYDOT%%/config-%%XYDOT%%%%ABI%%/Setup.local
+lib/python%%XYDOT%%/config-%%XYDOT%%%%ABI%%/config.c
+lib/python%%XYDOT%%/config-%%XYDOT%%%%ABI%%/config.c.in
+lib/python%%XYDOT%%/config-%%XYDOT%%%%ABI%%/install-sh
+lib/python%%XYDOT%%/config-%%XYDOT%%%%ABI%%/libpython%%XYDOT%%%%ABI%%.a
+lib/python%%XYDOT%%/config-%%XYDOT%%%%ABI%%/makesetup
+lib/python%%XYDOT%%/config-%%XYDOT%%%%ABI%%/python-config.py
+lib/python%%XYDOT%%/config-%%XYDOT%%%%ABI%%/python.o
+lib/python%%XYDOT%%/configparser.py
+lib/python%%XYDOT%%/contextlib.py
+lib/python%%XYDOT%%/copy.py
+lib/python%%XYDOT%%/copyreg.py
+lib/python%%XYDOT%%/crypt.py
+lib/python%%XYDOT%%/csv.py
+lib/python%%XYDOT%%/ctypes/__init__.py
+lib/python%%XYDOT%%/ctypes/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/__pycache__/_endian.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/__pycache__/_endian.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/__pycache__/_endian.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/__pycache__/util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/__pycache__/util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/__pycache__/util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/__pycache__/wintypes.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/__pycache__/wintypes.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/__pycache__/wintypes.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/_endian.py
+lib/python%%XYDOT%%/ctypes/macholib/README.ctypes
+lib/python%%XYDOT%%/ctypes/macholib/__init__.py
+lib/python%%XYDOT%%/ctypes/macholib/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/macholib/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/macholib/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/macholib/__pycache__/dyld.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/macholib/__pycache__/dyld.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/macholib/__pycache__/dyld.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/macholib/__pycache__/dylib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/macholib/__pycache__/dylib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/macholib/__pycache__/dylib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/macholib/__pycache__/framework.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/macholib/__pycache__/framework.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/macholib/__pycache__/framework.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/macholib/dyld.py
+lib/python%%XYDOT%%/ctypes/macholib/dylib.py
+lib/python%%XYDOT%%/ctypes/macholib/fetch_macholib
+lib/python%%XYDOT%%/ctypes/macholib/fetch_macholib.bat
+lib/python%%XYDOT%%/ctypes/macholib/framework.py
+lib/python%%XYDOT%%/ctypes/test/__init__.py
+lib/python%%XYDOT%%/ctypes/test/__main__.py
+lib/python%%XYDOT%%/ctypes/test/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_anon.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_anon.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_anon.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_array_in_pointer.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_array_in_pointer.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_array_in_pointer.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_arrays.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_arrays.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_arrays.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_as_parameter.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_as_parameter.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_as_parameter.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_bitfields.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_bitfields.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_bitfields.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_buffers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_buffers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_buffers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_bytes.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_bytes.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_bytes.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_byteswap.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_byteswap.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_byteswap.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_callbacks.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_callbacks.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_callbacks.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_cast.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_cast.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_cast.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_cfuncs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_cfuncs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_cfuncs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_checkretval.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_checkretval.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_checkretval.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_delattr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_delattr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_delattr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_errno.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_errno.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_errno.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_find.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_find.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_find.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_frombuffer.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_frombuffer.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_frombuffer.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_funcptr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_funcptr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_funcptr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_functions.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_functions.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_functions.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_incomplete.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_incomplete.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_incomplete.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_init.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_init.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_init.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_internals.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_internals.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_internals.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_keeprefs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_keeprefs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_keeprefs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_libc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_libc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_libc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_loading.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_loading.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_loading.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_macholib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_macholib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_macholib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_memfunctions.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_memfunctions.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_memfunctions.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_numbers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_numbers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_numbers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_objects.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_objects.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_objects.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_parameters.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_parameters.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_parameters.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_pep3118.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_pep3118.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_pep3118.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_pickling.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_pickling.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_pickling.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_pointers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_pointers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_pointers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_prototypes.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_prototypes.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_prototypes.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_python_api.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_python_api.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_python_api.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_random_things.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_random_things.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_random_things.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_refcounts.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_refcounts.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_refcounts.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_repr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_repr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_repr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_returnfuncptrs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_returnfuncptrs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_returnfuncptrs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_simplesubclasses.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_simplesubclasses.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_simplesubclasses.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_sizes.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_sizes.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_sizes.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_slicing.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_slicing.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_slicing.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_stringptr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_stringptr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_stringptr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_strings.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_strings.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_strings.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_struct_fields.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_struct_fields.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_struct_fields.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_structures.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_structures.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_structures.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_unaligned_structures.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_unaligned_structures.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_unaligned_structures.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_unicode.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_unicode.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_unicode.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_values.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_values.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_values.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_varsize_struct.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_varsize_struct.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_varsize_struct.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_win32.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_win32.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_win32.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_wintypes.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_wintypes.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_wintypes.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/test_anon.py
+lib/python%%XYDOT%%/ctypes/test/test_array_in_pointer.py
+lib/python%%XYDOT%%/ctypes/test/test_arrays.py
+lib/python%%XYDOT%%/ctypes/test/test_as_parameter.py
+lib/python%%XYDOT%%/ctypes/test/test_bitfields.py
+lib/python%%XYDOT%%/ctypes/test/test_buffers.py
+lib/python%%XYDOT%%/ctypes/test/test_bytes.py
+lib/python%%XYDOT%%/ctypes/test/test_byteswap.py
+lib/python%%XYDOT%%/ctypes/test/test_callbacks.py
+lib/python%%XYDOT%%/ctypes/test/test_cast.py
+lib/python%%XYDOT%%/ctypes/test/test_cfuncs.py
+lib/python%%XYDOT%%/ctypes/test/test_checkretval.py
+lib/python%%XYDOT%%/ctypes/test/test_delattr.py
+lib/python%%XYDOT%%/ctypes/test/test_errno.py
+lib/python%%XYDOT%%/ctypes/test/test_find.py
+lib/python%%XYDOT%%/ctypes/test/test_frombuffer.py
+lib/python%%XYDOT%%/ctypes/test/test_funcptr.py
+lib/python%%XYDOT%%/ctypes/test/test_functions.py
+lib/python%%XYDOT%%/ctypes/test/test_incomplete.py
+lib/python%%XYDOT%%/ctypes/test/test_init.py
+lib/python%%XYDOT%%/ctypes/test/test_internals.py
+lib/python%%XYDOT%%/ctypes/test/test_keeprefs.py
+lib/python%%XYDOT%%/ctypes/test/test_libc.py
+lib/python%%XYDOT%%/ctypes/test/test_loading.py
+lib/python%%XYDOT%%/ctypes/test/test_macholib.py
+lib/python%%XYDOT%%/ctypes/test/test_memfunctions.py
+lib/python%%XYDOT%%/ctypes/test/test_numbers.py
+lib/python%%XYDOT%%/ctypes/test/test_objects.py
+lib/python%%XYDOT%%/ctypes/test/test_parameters.py
+lib/python%%XYDOT%%/ctypes/test/test_pep3118.py
+lib/python%%XYDOT%%/ctypes/test/test_pickling.py
+lib/python%%XYDOT%%/ctypes/test/test_pointers.py
+lib/python%%XYDOT%%/ctypes/test/test_prototypes.py
+lib/python%%XYDOT%%/ctypes/test/test_python_api.py
+lib/python%%XYDOT%%/ctypes/test/test_random_things.py
+lib/python%%XYDOT%%/ctypes/test/test_refcounts.py
+lib/python%%XYDOT%%/ctypes/test/test_repr.py
+lib/python%%XYDOT%%/ctypes/test/test_returnfuncptrs.py
+lib/python%%XYDOT%%/ctypes/test/test_simplesubclasses.py
+lib/python%%XYDOT%%/ctypes/test/test_sizes.py
+lib/python%%XYDOT%%/ctypes/test/test_slicing.py
+lib/python%%XYDOT%%/ctypes/test/test_stringptr.py
+lib/python%%XYDOT%%/ctypes/test/test_strings.py
+lib/python%%XYDOT%%/ctypes/test/test_struct_fields.py
+lib/python%%XYDOT%%/ctypes/test/test_structures.py
+lib/python%%XYDOT%%/ctypes/test/test_unaligned_structures.py
+lib/python%%XYDOT%%/ctypes/test/test_unicode.py
+lib/python%%XYDOT%%/ctypes/test/test_values.py
+lib/python%%XYDOT%%/ctypes/test/test_varsize_struct.py
+lib/python%%XYDOT%%/ctypes/test/test_win32.py
+lib/python%%XYDOT%%/ctypes/test/test_wintypes.py
+lib/python%%XYDOT%%/ctypes/util.py
+lib/python%%XYDOT%%/ctypes/wintypes.py
+lib/python%%XYDOT%%/curses/__init__.py
+lib/python%%XYDOT%%/curses/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/curses/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/curses/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/curses/__pycache__/ascii.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/curses/__pycache__/ascii.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/curses/__pycache__/ascii.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/curses/__pycache__/has_key.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/curses/__pycache__/has_key.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/curses/__pycache__/has_key.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/curses/__pycache__/panel.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/curses/__pycache__/panel.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/curses/__pycache__/panel.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/curses/__pycache__/textpad.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/curses/__pycache__/textpad.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/curses/__pycache__/textpad.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/curses/ascii.py
+lib/python%%XYDOT%%/curses/has_key.py
+lib/python%%XYDOT%%/curses/panel.py
+lib/python%%XYDOT%%/curses/textpad.py
+lib/python%%XYDOT%%/datetime.py
+lib/python%%XYDOT%%/dbm/__init__.py
+lib/python%%XYDOT%%/dbm/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/dbm/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/dbm/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/dbm/__pycache__/dumb.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/dbm/__pycache__/dumb.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/dbm/__pycache__/dumb.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/dbm/__pycache__/gnu.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/dbm/__pycache__/gnu.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/dbm/__pycache__/gnu.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/dbm/__pycache__/ndbm.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/dbm/__pycache__/ndbm.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/dbm/__pycache__/ndbm.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/dbm/dumb.py
+lib/python%%XYDOT%%/dbm/gnu.py
+lib/python%%XYDOT%%/dbm/ndbm.py
+lib/python%%XYDOT%%/decimal.py
+lib/python%%XYDOT%%/difflib.py
+lib/python%%XYDOT%%/dis.py
+lib/python%%XYDOT%%/distutils/README
+lib/python%%XYDOT%%/distutils/__init__.py
+lib/python%%XYDOT%%/distutils/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/_msvccompiler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/_msvccompiler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/_msvccompiler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/archive_util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/archive_util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/archive_util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/bcppcompiler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/bcppcompiler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/bcppcompiler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/ccompiler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/ccompiler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/ccompiler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/cmd.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/cmd.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/cmd.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/config.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/config.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/config.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/core.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/core.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/core.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/cygwinccompiler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/cygwinccompiler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/cygwinccompiler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/debug.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/debug.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/debug.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/dep_util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/dep_util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/dep_util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/dir_util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/dir_util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/dir_util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/dist.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/dist.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/dist.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/errors.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/errors.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/errors.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/extension.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/extension.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/extension.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/fancy_getopt.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/fancy_getopt.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/fancy_getopt.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/file_util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/file_util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/file_util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/filelist.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/filelist.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/filelist.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/log.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/log.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/log.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/msvc9compiler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/msvc9compiler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/msvc9compiler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/msvccompiler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/msvccompiler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/msvccompiler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/spawn.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/spawn.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/spawn.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/sysconfig.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/sysconfig.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/sysconfig.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/text_file.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/text_file.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/text_file.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/unixccompiler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/unixccompiler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/unixccompiler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/version.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/version.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/version.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/versionpredicate.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/versionpredicate.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/versionpredicate.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/_msvccompiler.py
+lib/python%%XYDOT%%/distutils/archive_util.py
+lib/python%%XYDOT%%/distutils/bcppcompiler.py
+lib/python%%XYDOT%%/distutils/ccompiler.py
+lib/python%%XYDOT%%/distutils/cmd.py
+lib/python%%XYDOT%%/distutils/command/__init__.py
+lib/python%%XYDOT%%/distutils/command/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist_dumb.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist_dumb.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist_dumb.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist_msi.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist_msi.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist_msi.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist_rpm.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist_rpm.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist_rpm.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist_wininst.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist_wininst.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist_wininst.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build_clib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build_clib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build_clib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build_ext.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build_ext.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build_ext.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build_py.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build_py.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build_py.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build_scripts.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build_scripts.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build_scripts.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/check.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/check.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/check.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/clean.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/clean.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/clean.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/config.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/config.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/config.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_data.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_data.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_data.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_egg_info.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_egg_info.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_egg_info.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_headers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_headers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_headers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_lib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_lib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_lib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_scripts.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_scripts.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_scripts.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/register.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/register.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/register.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/sdist.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/sdist.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/sdist.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/upload.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/upload.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/upload.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/bdist.py
+lib/python%%XYDOT%%/distutils/command/bdist_dumb.py
+lib/python%%XYDOT%%/distutils/command/bdist_msi.py
+lib/python%%XYDOT%%/distutils/command/bdist_rpm.py
+lib/python%%XYDOT%%/distutils/command/bdist_wininst.py
+lib/python%%XYDOT%%/distutils/command/build.py
+lib/python%%XYDOT%%/distutils/command/build_clib.py
+lib/python%%XYDOT%%/distutils/command/build_ext.py
+lib/python%%XYDOT%%/distutils/command/build_py.py
+lib/python%%XYDOT%%/distutils/command/build_scripts.py
+lib/python%%XYDOT%%/distutils/command/check.py
+lib/python%%XYDOT%%/distutils/command/clean.py
+lib/python%%XYDOT%%/distutils/command/command_template
+lib/python%%XYDOT%%/distutils/command/config.py
+lib/python%%XYDOT%%/distutils/command/install.py
+lib/python%%XYDOT%%/distutils/command/install_data.py
+lib/python%%XYDOT%%/distutils/command/install_egg_info.py
+lib/python%%XYDOT%%/distutils/command/install_headers.py
+lib/python%%XYDOT%%/distutils/command/install_lib.py
+lib/python%%XYDOT%%/distutils/command/install_scripts.py
+lib/python%%XYDOT%%/distutils/command/register.py
+lib/python%%XYDOT%%/distutils/command/sdist.py
+lib/python%%XYDOT%%/distutils/command/upload.py
+lib/python%%XYDOT%%/distutils/command/wininst-10.0-amd64.exe
+lib/python%%XYDOT%%/distutils/command/wininst-10.0.exe
+lib/python%%XYDOT%%/distutils/command/wininst-14.0-amd64.exe
+lib/python%%XYDOT%%/distutils/command/wininst-14.0.exe
+lib/python%%XYDOT%%/distutils/command/wininst-6.0.exe
+lib/python%%XYDOT%%/distutils/command/wininst-7.1.exe
+lib/python%%XYDOT%%/distutils/command/wininst-8.0.exe
+lib/python%%XYDOT%%/distutils/command/wininst-9.0-amd64.exe
+lib/python%%XYDOT%%/distutils/command/wininst-9.0.exe
+lib/python%%XYDOT%%/distutils/config.py
+lib/python%%XYDOT%%/distutils/core.py
+lib/python%%XYDOT%%/distutils/cygwinccompiler.py
+lib/python%%XYDOT%%/distutils/debug.py
+lib/python%%XYDOT%%/distutils/dep_util.py
+lib/python%%XYDOT%%/distutils/dir_util.py
+lib/python%%XYDOT%%/distutils/dist.py
+lib/python%%XYDOT%%/distutils/errors.py
+lib/python%%XYDOT%%/distutils/extension.py
+lib/python%%XYDOT%%/distutils/fancy_getopt.py
+lib/python%%XYDOT%%/distutils/file_util.py
+lib/python%%XYDOT%%/distutils/filelist.py
+lib/python%%XYDOT%%/distutils/log.py
+lib/python%%XYDOT%%/distutils/msvc9compiler.py
+lib/python%%XYDOT%%/distutils/msvccompiler.py
+lib/python%%XYDOT%%/distutils/spawn.py
+lib/python%%XYDOT%%/distutils/sysconfig.py
+lib/python%%XYDOT%%/distutils/tests/Setup.sample
+lib/python%%XYDOT%%/distutils/tests/__init__.py
+lib/python%%XYDOT%%/distutils/tests/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/support.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/support.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/support.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_archive_util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_archive_util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_archive_util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist_dumb.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist_dumb.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist_dumb.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist_msi.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist_msi.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist_msi.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist_rpm.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist_rpm.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist_rpm.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist_wininst.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist_wininst.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist_wininst.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build_clib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build_clib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build_clib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build_ext.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build_ext.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build_ext.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build_py.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build_py.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build_py.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build_scripts.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build_scripts.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build_scripts.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_check.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_check.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_check.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_clean.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_clean.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_clean.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_cmd.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_cmd.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_cmd.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_config.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_config.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_config.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_config_cmd.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_config_cmd.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_config_cmd.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_core.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_core.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_core.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_cygwinccompiler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_cygwinccompiler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_cygwinccompiler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_dep_util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_dep_util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_dep_util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_dir_util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_dir_util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_dir_util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_dist.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_dist.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_dist.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_extension.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_extension.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_extension.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_file_util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_file_util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_file_util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_filelist.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_filelist.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_filelist.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install_data.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install_data.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install_data.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install_headers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install_headers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install_headers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install_lib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install_lib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install_lib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install_scripts.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install_scripts.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install_scripts.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_log.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_log.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_log.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_msvc9compiler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_msvc9compiler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_msvc9compiler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_msvccompiler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_msvccompiler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_msvccompiler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_register.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_register.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_register.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_sdist.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_sdist.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_sdist.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_spawn.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_spawn.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_spawn.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_sysconfig.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_sysconfig.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_sysconfig.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_text_file.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_text_file.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_text_file.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_unixccompiler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_unixccompiler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_unixccompiler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_upload.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_upload.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_upload.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_version.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_version.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_version.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_versionpredicate.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_versionpredicate.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_versionpredicate.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/support.py
+lib/python%%XYDOT%%/distutils/tests/test_archive_util.py
+lib/python%%XYDOT%%/distutils/tests/test_bdist.py
+lib/python%%XYDOT%%/distutils/tests/test_bdist_dumb.py
+lib/python%%XYDOT%%/distutils/tests/test_bdist_msi.py
+lib/python%%XYDOT%%/distutils/tests/test_bdist_rpm.py
+lib/python%%XYDOT%%/distutils/tests/test_bdist_wininst.py
+lib/python%%XYDOT%%/distutils/tests/test_build.py
+lib/python%%XYDOT%%/distutils/tests/test_build_clib.py
+lib/python%%XYDOT%%/distutils/tests/test_build_ext.py
+lib/python%%XYDOT%%/distutils/tests/test_build_py.py
+lib/python%%XYDOT%%/distutils/tests/test_build_scripts.py
+lib/python%%XYDOT%%/distutils/tests/test_check.py
+lib/python%%XYDOT%%/distutils/tests/test_clean.py
+lib/python%%XYDOT%%/distutils/tests/test_cmd.py
+lib/python%%XYDOT%%/distutils/tests/test_config.py
+lib/python%%XYDOT%%/distutils/tests/test_config_cmd.py
+lib/python%%XYDOT%%/distutils/tests/test_core.py
+lib/python%%XYDOT%%/distutils/tests/test_cygwinccompiler.py
+lib/python%%XYDOT%%/distutils/tests/test_dep_util.py
+lib/python%%XYDOT%%/distutils/tests/test_dir_util.py
+lib/python%%XYDOT%%/distutils/tests/test_dist.py
+lib/python%%XYDOT%%/distutils/tests/test_extension.py
+lib/python%%XYDOT%%/distutils/tests/test_file_util.py
+lib/python%%XYDOT%%/distutils/tests/test_filelist.py
+lib/python%%XYDOT%%/distutils/tests/test_install.py
+lib/python%%XYDOT%%/distutils/tests/test_install_data.py
+lib/python%%XYDOT%%/distutils/tests/test_install_headers.py
+lib/python%%XYDOT%%/distutils/tests/test_install_lib.py
+lib/python%%XYDOT%%/distutils/tests/test_install_scripts.py
+lib/python%%XYDOT%%/distutils/tests/test_log.py
+lib/python%%XYDOT%%/distutils/tests/test_msvc9compiler.py
+lib/python%%XYDOT%%/distutils/tests/test_msvccompiler.py
+lib/python%%XYDOT%%/distutils/tests/test_register.py
+lib/python%%XYDOT%%/distutils/tests/test_sdist.py
+lib/python%%XYDOT%%/distutils/tests/test_spawn.py
+lib/python%%XYDOT%%/distutils/tests/test_sysconfig.py
+lib/python%%XYDOT%%/distutils/tests/test_text_file.py
+lib/python%%XYDOT%%/distutils/tests/test_unixccompiler.py
+lib/python%%XYDOT%%/distutils/tests/test_upload.py
+lib/python%%XYDOT%%/distutils/tests/test_util.py
+lib/python%%XYDOT%%/distutils/tests/test_version.py
+lib/python%%XYDOT%%/distutils/tests/test_versionpredicate.py
+lib/python%%XYDOT%%/distutils/tests/xxmodule.c
+lib/python%%XYDOT%%/distutils/text_file.py
+lib/python%%XYDOT%%/distutils/unixccompiler.py
+lib/python%%XYDOT%%/distutils/util.py
+lib/python%%XYDOT%%/distutils/version.py
+lib/python%%XYDOT%%/distutils/versionpredicate.py
+lib/python%%XYDOT%%/doctest.py
+lib/python%%XYDOT%%/dummy_threading.py
+lib/python%%XYDOT%%/email/__init__.py
+lib/python%%XYDOT%%/email/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/_encoded_words.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/_encoded_words.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/_encoded_words.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/_header_value_parser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/_header_value_parser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/_header_value_parser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/_parseaddr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/_parseaddr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/_parseaddr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/_policybase.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/_policybase.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/_policybase.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/base64mime.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/base64mime.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/base64mime.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/charset.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/charset.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/charset.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/contentmanager.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/contentmanager.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/contentmanager.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/encoders.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/encoders.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/encoders.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/errors.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/errors.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/errors.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/feedparser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/feedparser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/feedparser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/generator.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/generator.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/generator.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/header.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/header.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/header.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/headerregistry.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/headerregistry.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/headerregistry.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/iterators.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/iterators.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/iterators.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/message.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/message.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/message.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/parser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/parser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/parser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/policy.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/policy.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/policy.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/quoprimime.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/quoprimime.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/quoprimime.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/utils.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/utils.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/utils.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/_encoded_words.py
+lib/python%%XYDOT%%/email/_header_value_parser.py
+lib/python%%XYDOT%%/email/_parseaddr.py
+lib/python%%XYDOT%%/email/_policybase.py
+lib/python%%XYDOT%%/email/architecture.rst
+lib/python%%XYDOT%%/email/base64mime.py
+lib/python%%XYDOT%%/email/charset.py
+lib/python%%XYDOT%%/email/contentmanager.py
+lib/python%%XYDOT%%/email/encoders.py
+lib/python%%XYDOT%%/email/errors.py
+lib/python%%XYDOT%%/email/feedparser.py
+lib/python%%XYDOT%%/email/generator.py
+lib/python%%XYDOT%%/email/header.py
+lib/python%%XYDOT%%/email/headerregistry.py
+lib/python%%XYDOT%%/email/iterators.py
+lib/python%%XYDOT%%/email/message.py
+lib/python%%XYDOT%%/email/mime/__init__.py
+lib/python%%XYDOT%%/email/mime/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/application.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/application.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/application.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/audio.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/audio.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/audio.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/base.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/base.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/base.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/image.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/image.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/image.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/message.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/message.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/message.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/multipart.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/multipart.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/multipart.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/nonmultipart.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/nonmultipart.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/nonmultipart.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/text.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/text.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/text.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/mime/application.py
+lib/python%%XYDOT%%/email/mime/audio.py
+lib/python%%XYDOT%%/email/mime/base.py
+lib/python%%XYDOT%%/email/mime/image.py
+lib/python%%XYDOT%%/email/mime/message.py
+lib/python%%XYDOT%%/email/mime/multipart.py
+lib/python%%XYDOT%%/email/mime/nonmultipart.py
+lib/python%%XYDOT%%/email/mime/text.py
+lib/python%%XYDOT%%/email/parser.py
+lib/python%%XYDOT%%/email/policy.py
+lib/python%%XYDOT%%/email/quoprimime.py
+lib/python%%XYDOT%%/email/utils.py
+lib/python%%XYDOT%%/encodings/__init__.py
+lib/python%%XYDOT%%/encodings/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/aliases.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/aliases.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/aliases.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/ascii.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/ascii.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/ascii.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/base64_codec.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/base64_codec.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/base64_codec.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/big5.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/big5.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/big5.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/big5hkscs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/big5hkscs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/big5hkscs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/bz2_codec.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/bz2_codec.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/bz2_codec.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/charmap.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/charmap.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/charmap.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp037.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp037.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp037.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1006.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1006.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1006.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1026.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1026.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1026.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1125.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1125.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1125.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1140.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1140.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1140.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1250.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1250.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1250.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1251.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1251.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1251.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1252.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1252.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1252.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1253.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1253.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1253.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1254.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1254.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1254.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1255.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1255.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1255.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1256.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1256.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1256.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1257.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1257.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1257.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1258.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1258.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1258.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp273.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp273.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp273.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp424.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp424.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp424.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp437.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp437.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp437.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp500.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp500.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp500.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp65001.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp65001.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp65001.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp720.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp720.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp720.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp737.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp737.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp737.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp775.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp775.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp775.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp850.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp850.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp850.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp852.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp852.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp852.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp855.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp855.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp855.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp856.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp856.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp856.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp857.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp857.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp857.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp858.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp858.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp858.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp860.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp860.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp860.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp861.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp861.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp861.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp862.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp862.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp862.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp863.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp863.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp863.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp864.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp864.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp864.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp865.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp865.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp865.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp866.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp866.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp866.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp869.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp869.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp869.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp874.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp874.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp874.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp875.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp875.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp875.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp932.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp932.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp932.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp949.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp949.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp949.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp950.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp950.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp950.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/euc_jis_2004.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/euc_jis_2004.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/euc_jis_2004.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/euc_jisx0213.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/euc_jisx0213.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/euc_jisx0213.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/euc_jp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/euc_jp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/euc_jp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/euc_kr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/euc_kr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/euc_kr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/gb18030.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/gb18030.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/gb18030.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/gb2312.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/gb2312.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/gb2312.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/gbk.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/gbk.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/gbk.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/hex_codec.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/hex_codec.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/hex_codec.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/hp_roman8.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/hp_roman8.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/hp_roman8.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/hz.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/hz.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/hz.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/idna.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/idna.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/idna.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_1.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_1.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_1.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_2004.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_2004.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_2004.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_3.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_3.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_3.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_ext.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_ext.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_ext.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_kr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_kr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_kr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_1.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_1.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_1.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_10.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_10.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_10.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_11.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_11.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_11.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_13.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_13.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_13.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_14.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_14.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_14.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_15.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_15.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_15.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_16.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_16.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_16.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_3.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_3.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_3.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_4.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_4.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_4.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_5.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_5.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_5.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_6.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_6.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_6.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_7.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_7.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_7.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_8.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_8.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_8.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_9.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_9.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_9.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/johab.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/johab.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/johab.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/koi8_r.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/koi8_r.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/koi8_r.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/koi8_t.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/koi8_t.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/koi8_t.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/koi8_u.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/koi8_u.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/koi8_u.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/kz1048.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/kz1048.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/kz1048.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/latin_1.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/latin_1.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/latin_1.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_arabic.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_arabic.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_arabic.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_centeuro.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_centeuro.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_centeuro.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_croatian.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_croatian.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_croatian.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_cyrillic.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_cyrillic.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_cyrillic.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_farsi.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_farsi.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_farsi.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_greek.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_greek.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_greek.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_iceland.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_iceland.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_iceland.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_latin2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_latin2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_latin2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_roman.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_roman.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_roman.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_romanian.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_romanian.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_romanian.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_turkish.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_turkish.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_turkish.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mbcs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mbcs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mbcs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/oem.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/oem.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/oem.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/palmos.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/palmos.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/palmos.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/ptcp154.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/ptcp154.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/ptcp154.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/punycode.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/punycode.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/punycode.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/quopri_codec.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/quopri_codec.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/quopri_codec.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/raw_unicode_escape.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/raw_unicode_escape.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/raw_unicode_escape.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/rot_13.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/rot_13.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/rot_13.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/shift_jis.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/shift_jis.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/shift_jis.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/shift_jis_2004.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/shift_jis_2004.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/shift_jis_2004.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/shift_jisx0213.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/shift_jisx0213.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/shift_jisx0213.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/tis_620.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/tis_620.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/tis_620.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/undefined.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/undefined.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/undefined.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/unicode_escape.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/unicode_escape.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/unicode_escape.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/unicode_internal.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/unicode_internal.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/unicode_internal.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_16.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_16.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_16.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_16_be.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_16_be.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_16_be.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_16_le.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_16_le.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_16_le.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_32.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_32.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_32.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_32_be.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_32_be.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_32_be.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_32_le.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_32_le.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_32_le.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_7.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_7.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_7.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_8.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_8.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_8.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_8_sig.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_8_sig.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_8_sig.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/uu_codec.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/uu_codec.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/uu_codec.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/zlib_codec.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/zlib_codec.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/zlib_codec.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/aliases.py
+lib/python%%XYDOT%%/encodings/ascii.py
+lib/python%%XYDOT%%/encodings/base64_codec.py
+lib/python%%XYDOT%%/encodings/big5.py
+lib/python%%XYDOT%%/encodings/big5hkscs.py
+lib/python%%XYDOT%%/encodings/bz2_codec.py
+lib/python%%XYDOT%%/encodings/charmap.py
+lib/python%%XYDOT%%/encodings/cp037.py
+lib/python%%XYDOT%%/encodings/cp1006.py
+lib/python%%XYDOT%%/encodings/cp1026.py
+lib/python%%XYDOT%%/encodings/cp1125.py
+lib/python%%XYDOT%%/encodings/cp1140.py
+lib/python%%XYDOT%%/encodings/cp1250.py
+lib/python%%XYDOT%%/encodings/cp1251.py
+lib/python%%XYDOT%%/encodings/cp1252.py
+lib/python%%XYDOT%%/encodings/cp1253.py
+lib/python%%XYDOT%%/encodings/cp1254.py
+lib/python%%XYDOT%%/encodings/cp1255.py
+lib/python%%XYDOT%%/encodings/cp1256.py
+lib/python%%XYDOT%%/encodings/cp1257.py
+lib/python%%XYDOT%%/encodings/cp1258.py
+lib/python%%XYDOT%%/encodings/cp273.py
+lib/python%%XYDOT%%/encodings/cp424.py
+lib/python%%XYDOT%%/encodings/cp437.py
+lib/python%%XYDOT%%/encodings/cp500.py
+lib/python%%XYDOT%%/encodings/cp65001.py
+lib/python%%XYDOT%%/encodings/cp720.py
+lib/python%%XYDOT%%/encodings/cp737.py
+lib/python%%XYDOT%%/encodings/cp775.py
+lib/python%%XYDOT%%/encodings/cp850.py
+lib/python%%XYDOT%%/encodings/cp852.py
+lib/python%%XYDOT%%/encodings/cp855.py
+lib/python%%XYDOT%%/encodings/cp856.py
+lib/python%%XYDOT%%/encodings/cp857.py
+lib/python%%XYDOT%%/encodings/cp858.py
+lib/python%%XYDOT%%/encodings/cp860.py
+lib/python%%XYDOT%%/encodings/cp861.py
+lib/python%%XYDOT%%/encodings/cp862.py
+lib/python%%XYDOT%%/encodings/cp863.py
+lib/python%%XYDOT%%/encodings/cp864.py
+lib/python%%XYDOT%%/encodings/cp865.py
+lib/python%%XYDOT%%/encodings/cp866.py
+lib/python%%XYDOT%%/encodings/cp869.py
+lib/python%%XYDOT%%/encodings/cp874.py
+lib/python%%XYDOT%%/encodings/cp875.py
+lib/python%%XYDOT%%/encodings/cp932.py
+lib/python%%XYDOT%%/encodings/cp949.py
+lib/python%%XYDOT%%/encodings/cp950.py
+lib/python%%XYDOT%%/encodings/euc_jis_2004.py
+lib/python%%XYDOT%%/encodings/euc_jisx0213.py
+lib/python%%XYDOT%%/encodings/euc_jp.py
+lib/python%%XYDOT%%/encodings/euc_kr.py
+lib/python%%XYDOT%%/encodings/gb18030.py
+lib/python%%XYDOT%%/encodings/gb2312.py
+lib/python%%XYDOT%%/encodings/gbk.py
+lib/python%%XYDOT%%/encodings/hex_codec.py
+lib/python%%XYDOT%%/encodings/hp_roman8.py
+lib/python%%XYDOT%%/encodings/hz.py
+lib/python%%XYDOT%%/encodings/idna.py
+lib/python%%XYDOT%%/encodings/iso2022_jp.py
+lib/python%%XYDOT%%/encodings/iso2022_jp_1.py
+lib/python%%XYDOT%%/encodings/iso2022_jp_2.py
+lib/python%%XYDOT%%/encodings/iso2022_jp_2004.py
+lib/python%%XYDOT%%/encodings/iso2022_jp_3.py
+lib/python%%XYDOT%%/encodings/iso2022_jp_ext.py
+lib/python%%XYDOT%%/encodings/iso2022_kr.py
+lib/python%%XYDOT%%/encodings/iso8859_1.py
+lib/python%%XYDOT%%/encodings/iso8859_10.py
+lib/python%%XYDOT%%/encodings/iso8859_11.py
+lib/python%%XYDOT%%/encodings/iso8859_13.py
+lib/python%%XYDOT%%/encodings/iso8859_14.py
+lib/python%%XYDOT%%/encodings/iso8859_15.py
+lib/python%%XYDOT%%/encodings/iso8859_16.py
+lib/python%%XYDOT%%/encodings/iso8859_2.py
+lib/python%%XYDOT%%/encodings/iso8859_3.py
+lib/python%%XYDOT%%/encodings/iso8859_4.py
+lib/python%%XYDOT%%/encodings/iso8859_5.py
+lib/python%%XYDOT%%/encodings/iso8859_6.py
+lib/python%%XYDOT%%/encodings/iso8859_7.py
+lib/python%%XYDOT%%/encodings/iso8859_8.py
+lib/python%%XYDOT%%/encodings/iso8859_9.py
+lib/python%%XYDOT%%/encodings/johab.py
+lib/python%%XYDOT%%/encodings/koi8_r.py
+lib/python%%XYDOT%%/encodings/koi8_t.py
+lib/python%%XYDOT%%/encodings/koi8_u.py
+lib/python%%XYDOT%%/encodings/kz1048.py
+lib/python%%XYDOT%%/encodings/latin_1.py
+lib/python%%XYDOT%%/encodings/mac_arabic.py
+lib/python%%XYDOT%%/encodings/mac_centeuro.py
+lib/python%%XYDOT%%/encodings/mac_croatian.py
+lib/python%%XYDOT%%/encodings/mac_cyrillic.py
+lib/python%%XYDOT%%/encodings/mac_farsi.py
+lib/python%%XYDOT%%/encodings/mac_greek.py
+lib/python%%XYDOT%%/encodings/mac_iceland.py
+lib/python%%XYDOT%%/encodings/mac_latin2.py
+lib/python%%XYDOT%%/encodings/mac_roman.py
+lib/python%%XYDOT%%/encodings/mac_romanian.py
+lib/python%%XYDOT%%/encodings/mac_turkish.py
+lib/python%%XYDOT%%/encodings/mbcs.py
+lib/python%%XYDOT%%/encodings/oem.py
+lib/python%%XYDOT%%/encodings/palmos.py
+lib/python%%XYDOT%%/encodings/ptcp154.py
+lib/python%%XYDOT%%/encodings/punycode.py
+lib/python%%XYDOT%%/encodings/quopri_codec.py
+lib/python%%XYDOT%%/encodings/raw_unicode_escape.py
+lib/python%%XYDOT%%/encodings/rot_13.py
+lib/python%%XYDOT%%/encodings/shift_jis.py
+lib/python%%XYDOT%%/encodings/shift_jis_2004.py
+lib/python%%XYDOT%%/encodings/shift_jisx0213.py
+lib/python%%XYDOT%%/encodings/tis_620.py
+lib/python%%XYDOT%%/encodings/undefined.py
+lib/python%%XYDOT%%/encodings/unicode_escape.py
+lib/python%%XYDOT%%/encodings/unicode_internal.py
+lib/python%%XYDOT%%/encodings/utf_16.py
+lib/python%%XYDOT%%/encodings/utf_16_be.py
+lib/python%%XYDOT%%/encodings/utf_16_le.py
+lib/python%%XYDOT%%/encodings/utf_32.py
+lib/python%%XYDOT%%/encodings/utf_32_be.py
+lib/python%%XYDOT%%/encodings/utf_32_le.py
+lib/python%%XYDOT%%/encodings/utf_7.py
+lib/python%%XYDOT%%/encodings/utf_8.py
+lib/python%%XYDOT%%/encodings/utf_8_sig.py
+lib/python%%XYDOT%%/encodings/uu_codec.py
+lib/python%%XYDOT%%/encodings/zlib_codec.py
+lib/python%%XYDOT%%/ensurepip/__init__.py
+lib/python%%XYDOT%%/ensurepip/__main__.py
+lib/python%%XYDOT%%/ensurepip/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ensurepip/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ensurepip/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ensurepip/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ensurepip/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ensurepip/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ensurepip/__pycache__/_uninstall.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ensurepip/__pycache__/_uninstall.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ensurepip/__pycache__/_uninstall.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ensurepip/_bundled/pip-18.1-py2.py3-none-any.whl
+lib/python%%XYDOT%%/ensurepip/_bundled/setuptools-40.6.2-py2.py3-none-any.whl
+lib/python%%XYDOT%%/ensurepip/_uninstall.py
+lib/python%%XYDOT%%/enum.py
+lib/python%%XYDOT%%/filecmp.py
+lib/python%%XYDOT%%/fileinput.py
+lib/python%%XYDOT%%/fnmatch.py
+lib/python%%XYDOT%%/formatter.py
+lib/python%%XYDOT%%/fractions.py
+lib/python%%XYDOT%%/ftplib.py
+lib/python%%XYDOT%%/functools.py
+lib/python%%XYDOT%%/genericpath.py
+lib/python%%XYDOT%%/getopt.py
+lib/python%%XYDOT%%/getpass.py
+lib/python%%XYDOT%%/gettext.py
+lib/python%%XYDOT%%/glob.py
+lib/python%%XYDOT%%/gzip.py
+lib/python%%XYDOT%%/hashlib.py
+lib/python%%XYDOT%%/heapq.py
+lib/python%%XYDOT%%/hmac.py
+lib/python%%XYDOT%%/html/__init__.py
+lib/python%%XYDOT%%/html/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/html/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/html/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/html/__pycache__/entities.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/html/__pycache__/entities.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/html/__pycache__/entities.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/html/__pycache__/parser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/html/__pycache__/parser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/html/__pycache__/parser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/html/entities.py
+lib/python%%XYDOT%%/html/parser.py
+lib/python%%XYDOT%%/http/__init__.py
+lib/python%%XYDOT%%/http/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/http/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/http/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/http/__pycache__/client.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/http/__pycache__/client.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/http/__pycache__/client.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/http/__pycache__/cookiejar.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/http/__pycache__/cookiejar.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/http/__pycache__/cookiejar.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/http/__pycache__/cookies.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/http/__pycache__/cookies.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/http/__pycache__/cookies.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/http/__pycache__/server.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/http/__pycache__/server.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/http/__pycache__/server.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/http/client.py
+lib/python%%XYDOT%%/http/cookiejar.py
+lib/python%%XYDOT%%/http/cookies.py
+lib/python%%XYDOT%%/http/server.py
+lib/python%%XYDOT%%/idlelib/CREDITS.txt
+lib/python%%XYDOT%%/idlelib/ChangeLog
+lib/python%%XYDOT%%/idlelib/HISTORY.txt
+lib/python%%XYDOT%%/idlelib/Icons/folder.gif
+lib/python%%XYDOT%%/idlelib/Icons/idle.icns
+lib/python%%XYDOT%%/idlelib/Icons/idle.ico
+lib/python%%XYDOT%%/idlelib/Icons/idle_16.gif
+lib/python%%XYDOT%%/idlelib/Icons/idle_16.png
+lib/python%%XYDOT%%/idlelib/Icons/idle_32.gif
+lib/python%%XYDOT%%/idlelib/Icons/idle_32.png
+lib/python%%XYDOT%%/idlelib/Icons/idle_48.gif
+lib/python%%XYDOT%%/idlelib/Icons/idle_48.png
+lib/python%%XYDOT%%/idlelib/Icons/minusnode.gif
+lib/python%%XYDOT%%/idlelib/Icons/openfolder.gif
+lib/python%%XYDOT%%/idlelib/Icons/plusnode.gif
+lib/python%%XYDOT%%/idlelib/Icons/python.gif
+lib/python%%XYDOT%%/idlelib/Icons/tk.gif
+lib/python%%XYDOT%%/idlelib/NEWS.txt
+lib/python%%XYDOT%%/idlelib/NEWS2x.txt
+lib/python%%XYDOT%%/idlelib/README.txt
+lib/python%%XYDOT%%/idlelib/TODO.txt
+lib/python%%XYDOT%%/idlelib/__init__.py
+lib/python%%XYDOT%%/idlelib/__main__.py
+lib/python%%XYDOT%%/idlelib/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/_pyclbr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/_pyclbr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/_pyclbr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/autocomplete.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/autocomplete.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/autocomplete.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/autocomplete_w.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/autocomplete_w.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/autocomplete_w.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/autoexpand.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/autoexpand.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/autoexpand.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/browser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/browser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/browser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/calltip_w.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/calltip_w.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/calltip_w.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/calltip.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/calltip.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/calltip.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/codecontext.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/codecontext.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/codecontext.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/colorizer.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/colorizer.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/colorizer.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/config.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/config.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/config.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/config_key.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/config_key.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/config_key.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/configdialog.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/configdialog.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/configdialog.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/debugger.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/debugger.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/debugger.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/debugger_r.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/debugger_r.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/debugger_r.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/debugobj.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/debugobj.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/debugobj.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/debugobj_r.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/debugobj_r.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/debugobj_r.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/delegator.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/delegator.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/delegator.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/dynoption.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/dynoption.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/dynoption.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/editor.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/editor.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/editor.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/filelist.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/filelist.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/filelist.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/grep.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/grep.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/grep.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/help.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/help.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/help.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/help_about.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/help_about.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/help_about.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/history.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/history.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/history.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/hyperparser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/hyperparser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/hyperparser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/idle.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/idle.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/idle.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/iomenu.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/iomenu.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/iomenu.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/macosx.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/macosx.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/macosx.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/mainmenu.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/mainmenu.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/mainmenu.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/multicall.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/multicall.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/multicall.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/outwin.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/outwin.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/outwin.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/paragraph.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/paragraph.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/paragraph.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/parenmatch.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/parenmatch.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/parenmatch.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/pathbrowser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/pathbrowser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/pathbrowser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/percolator.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/percolator.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/percolator.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/pyparse.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/pyparse.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/pyparse.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/pyshell.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/pyshell.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/pyshell.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/query.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/query.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/query.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/redirector.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/redirector.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/redirector.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/replace.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/replace.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/replace.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/rpc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/rpc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/rpc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/rstrip.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/rstrip.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/rstrip.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/run.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/run.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/run.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/runscript.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/runscript.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/runscript.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/scrolledlist.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/scrolledlist.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/scrolledlist.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/search.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/search.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/search.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/searchbase.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/searchbase.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/searchbase.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/searchengine.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/searchengine.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/searchengine.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/squeezer.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/squeezer.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/squeezer.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/stackviewer.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/stackviewer.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/stackviewer.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/statusbar.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/statusbar.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/statusbar.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/textview.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/textview.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/textview.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/tooltip.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/tooltip.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/tooltip.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/tree.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/tree.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/tree.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/undo.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/undo.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/undo.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/window.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/window.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/window.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/zoomheight.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/zoomheight.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/zoomheight.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/zzdummy.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/zzdummy.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/zzdummy.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/_pyclbr.py
+lib/python%%XYDOT%%/idlelib/autocomplete.py
+lib/python%%XYDOT%%/idlelib/autocomplete_w.py
+lib/python%%XYDOT%%/idlelib/autoexpand.py
+lib/python%%XYDOT%%/idlelib/browser.py
+lib/python%%XYDOT%%/idlelib/calltip_w.py
+lib/python%%XYDOT%%/idlelib/calltip.py
+lib/python%%XYDOT%%/idlelib/codecontext.py
+lib/python%%XYDOT%%/idlelib/colorizer.py
+lib/python%%XYDOT%%/idlelib/config-extensions.def
+lib/python%%XYDOT%%/idlelib/config-highlight.def
+lib/python%%XYDOT%%/idlelib/config-keys.def
+lib/python%%XYDOT%%/idlelib/config-main.def
+lib/python%%XYDOT%%/idlelib/config.py
+lib/python%%XYDOT%%/idlelib/config_key.py
+lib/python%%XYDOT%%/idlelib/configdialog.py
+lib/python%%XYDOT%%/idlelib/debugger.py
+lib/python%%XYDOT%%/idlelib/debugger_r.py
+lib/python%%XYDOT%%/idlelib/debugobj.py
+lib/python%%XYDOT%%/idlelib/debugobj_r.py
+lib/python%%XYDOT%%/idlelib/delegator.py
+lib/python%%XYDOT%%/idlelib/dynoption.py
+lib/python%%XYDOT%%/idlelib/editor.py
+lib/python%%XYDOT%%/idlelib/extend.txt
+lib/python%%XYDOT%%/idlelib/filelist.py
+lib/python%%XYDOT%%/idlelib/grep.py
+lib/python%%XYDOT%%/idlelib/help.html
+lib/python%%XYDOT%%/idlelib/help.py
+lib/python%%XYDOT%%/idlelib/help_about.py
+lib/python%%XYDOT%%/idlelib/history.py
+lib/python%%XYDOT%%/idlelib/hyperparser.py
+lib/python%%XYDOT%%/idlelib/idle.bat
+lib/python%%XYDOT%%/idlelib/idle.py
+lib/python%%XYDOT%%/idlelib/idle.pyw
+lib/python%%XYDOT%%/idlelib/idle_test/README.txt
+lib/python%%XYDOT%%/idlelib/idle_test/__init__.py
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/htest.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/htest.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/htest.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/mock_idle.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/mock_idle.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/mock_idle.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/mock_tk.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/mock_tk.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/mock_tk.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/template.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/template.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/template.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_autocomplete.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_autocomplete.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_autocomplete.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_autocomplete_w.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_autocomplete_w.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_autocomplete_w.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_autoexpand.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_autoexpand.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_autoexpand.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_browser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_browser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_browser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_calltip.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_calltip.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_calltip.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_calltip_w.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_calltip_w.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_calltip_w.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_codecontext.cpython-36.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_codecontext.cpython-36.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_codecontext.cpython-36.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_colorizer.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_colorizer.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_colorizer.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_config.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_config.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_config.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_config_key.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_config_key.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_config_key.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_configdialog.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_configdialog.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_configdialog.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_debugger.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_debugger.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_debugger.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_debugger_r.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_debugger_r.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_debugger_r.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_debugobj.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_debugobj.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_debugobj.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_debugobj_r.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_debugobj_r.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_debugobj_r.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_delegator.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_delegator.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_delegator.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_editmenu.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_editmenu.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_editmenu.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_editor.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_editor.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_editor.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_filelist.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_filelist.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_filelist.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_grep.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_grep.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_grep.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_help.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_help.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_help.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_help_about.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_help_about.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_help_about.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_history.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_history.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_history.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_hyperparser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_hyperparser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_hyperparser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_iomenu.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_iomenu.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_iomenu.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_macosx.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_macosx.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_macosx.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_mainmenu.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_mainmenu.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_mainmenu.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_multicall.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_multicall.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_multicall.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_outwin.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_outwin.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_outwin.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_paragraph.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_paragraph.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_paragraph.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_parenmatch.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_parenmatch.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_parenmatch.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_pathbrowser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_pathbrowser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_pathbrowser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_percolator.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_percolator.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_percolator.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_pyparse.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_pyparse.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_pyparse.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_pyshell.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_pyshell.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_pyshell.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_query.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_query.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_query.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_redirector.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_redirector.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_redirector.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_replace.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_replace.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_replace.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_rpc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_rpc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_rpc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_rstrip.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_rstrip.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_rstrip.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_run.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_run.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_run.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_runscript.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_runscript.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_runscript.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_scrolledlist.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_scrolledlist.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_scrolledlist.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_search.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_search.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_search.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_searchbase.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_searchbase.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_searchbase.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_searchengine.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_searchengine.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_searchengine.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_squeezer.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_squeezer.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_squeezer.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_stackviewer.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_stackviewer.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_stackviewer.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_statusbar.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_statusbar.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_statusbar.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_text.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_text.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_text.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_textview.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_textview.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_textview.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_tooltip.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_tooltip.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_tooltip.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_tree.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_tree.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_tree.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_undo.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_undo.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_undo.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_warning.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_warning.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_warning.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_window.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_window.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_window.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_zoomheight.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_zoomheight.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_zoomheight.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/htest.py
+lib/python%%XYDOT%%/idlelib/idle_test/mock_idle.py
+lib/python%%XYDOT%%/idlelib/idle_test/mock_tk.py
+lib/python%%XYDOT%%/idlelib/idle_test/template.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_autocomplete.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_autocomplete_w.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_autoexpand.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_browser.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_calltip.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_calltip_w.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_codecontext.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_colorizer.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_config.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_config_key.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_configdialog.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_debugger.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_debugger_r.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_debugobj.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_debugobj_r.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_delegator.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_editmenu.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_editor.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_filelist.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_grep.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_help.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_help_about.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_history.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_hyperparser.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_iomenu.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_macosx.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_mainmenu.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_multicall.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_outwin.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_paragraph.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_parenmatch.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_pathbrowser.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_percolator.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_pyparse.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_pyshell.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_rpc.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_query.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_redirector.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_replace.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_rstrip.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_run.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_runscript.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_scrolledlist.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_search.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_searchbase.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_searchengine.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_squeezer.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_stackviewer.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_statusbar.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_text.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_textview.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_tooltip.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_tree.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_undo.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_warning.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_window.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_zoomheight.py
+lib/python%%XYDOT%%/idlelib/iomenu.py
+lib/python%%XYDOT%%/idlelib/macosx.py
+lib/python%%XYDOT%%/idlelib/mainmenu.py
+lib/python%%XYDOT%%/idlelib/multicall.py
+lib/python%%XYDOT%%/idlelib/outwin.py
+lib/python%%XYDOT%%/idlelib/paragraph.py
+lib/python%%XYDOT%%/idlelib/parenmatch.py
+lib/python%%XYDOT%%/idlelib/pathbrowser.py
+lib/python%%XYDOT%%/idlelib/percolator.py
+lib/python%%XYDOT%%/idlelib/pyparse.py
+lib/python%%XYDOT%%/idlelib/pyshell.py
+lib/python%%XYDOT%%/idlelib/query.py
+lib/python%%XYDOT%%/idlelib/redirector.py
+lib/python%%XYDOT%%/idlelib/replace.py
+lib/python%%XYDOT%%/idlelib/rpc.py
+lib/python%%XYDOT%%/idlelib/rstrip.py
+lib/python%%XYDOT%%/idlelib/run.py
+lib/python%%XYDOT%%/idlelib/runscript.py
+lib/python%%XYDOT%%/idlelib/scrolledlist.py
+lib/python%%XYDOT%%/idlelib/search.py
+lib/python%%XYDOT%%/idlelib/searchbase.py
+lib/python%%XYDOT%%/idlelib/searchengine.py
+lib/python%%XYDOT%%/idlelib/squeezer.py
+lib/python%%XYDOT%%/idlelib/stackviewer.py
+lib/python%%XYDOT%%/idlelib/statusbar.py
+lib/python%%XYDOT%%/idlelib/textview.py
+lib/python%%XYDOT%%/idlelib/tooltip.py
+lib/python%%XYDOT%%/idlelib/tree.py
+lib/python%%XYDOT%%/idlelib/undo.py
+lib/python%%XYDOT%%/idlelib/window.py
+lib/python%%XYDOT%%/idlelib/zoomheight.py
+lib/python%%XYDOT%%/idlelib/zzdummy.py
+lib/python%%XYDOT%%/imaplib.py
+lib/python%%XYDOT%%/imghdr.py
+lib/python%%XYDOT%%/imp.py
+lib/python%%XYDOT%%/importlib/__init__.py
+lib/python%%XYDOT%%/importlib/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/_bootstrap.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/_bootstrap.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/_bootstrap.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/_bootstrap_external.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/_bootstrap_external.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/_bootstrap_external.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/abc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/abc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/abc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/machinery.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/machinery.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/machinery.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/importlib/_bootstrap.py
+lib/python%%XYDOT%%/importlib/_bootstrap_external.py
+lib/python%%XYDOT%%/importlib/abc.py
+lib/python%%XYDOT%%/importlib/machinery.py
+lib/python%%XYDOT%%/importlib/util.py
+lib/python%%XYDOT%%/inspect.py
+lib/python%%XYDOT%%/io.py
+lib/python%%XYDOT%%/ipaddress.py
+lib/python%%XYDOT%%/json/__init__.py
+lib/python%%XYDOT%%/json/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/json/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/json/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/json/__pycache__/decoder.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/json/__pycache__/decoder.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/json/__pycache__/decoder.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/json/__pycache__/encoder.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/json/__pycache__/encoder.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/json/__pycache__/encoder.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/json/__pycache__/scanner.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/json/__pycache__/scanner.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/json/__pycache__/scanner.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/json/__pycache__/tool.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/json/__pycache__/tool.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/json/__pycache__/tool.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/json/decoder.py
+lib/python%%XYDOT%%/json/encoder.py
+lib/python%%XYDOT%%/json/scanner.py
+lib/python%%XYDOT%%/json/tool.py
+lib/python%%XYDOT%%/keyword.py
+lib/python%%XYDOT%%/lib-dynload/_asyncio.so
+lib/python%%XYDOT%%/lib-dynload/_bisect.so
+lib/python%%XYDOT%%/lib-dynload/_blake2.so
+lib/python%%XYDOT%%/lib-dynload/_bz2.so
+lib/python%%XYDOT%%/lib-dynload/_codecs_cn.so
+lib/python%%XYDOT%%/lib-dynload/_codecs_hk.so
+lib/python%%XYDOT%%/lib-dynload/_codecs_iso2022.so
+lib/python%%XYDOT%%/lib-dynload/_codecs_jp.so
+lib/python%%XYDOT%%/lib-dynload/_codecs_kr.so
+lib/python%%XYDOT%%/lib-dynload/_codecs_tw.so
+lib/python%%XYDOT%%/lib-dynload/_crypt.so
+lib/python%%XYDOT%%/lib-dynload/_csv.so
+lib/python%%XYDOT%%/lib-dynload/_ctypes.so
+lib/python%%XYDOT%%/lib-dynload/_ctypes_test.so
+lib/python%%XYDOT%%/lib-dynload/_curses.so
+lib/python%%XYDOT%%/lib-dynload/_curses_panel.so
+lib/python%%XYDOT%%/lib-dynload/_datetime.so
+lib/python%%XYDOT%%/lib-dynload/_dbm.so
+lib/python%%XYDOT%%/lib-dynload/_decimal.so
+lib/python%%XYDOT%%/lib-dynload/_elementtree.so
+lib/python%%XYDOT%%/lib-dynload/_hashlib.so
+lib/python%%XYDOT%%/lib-dynload/_heapq.so
+lib/python%%XYDOT%%/lib-dynload/_json.so
+lib/python%%XYDOT%%/lib-dynload/_lsprof.so
+lib/python%%XYDOT%%/lib-dynload/_lzma.so
+lib/python%%XYDOT%%/lib-dynload/_md5.so
+lib/python%%XYDOT%%/lib-dynload/_multibytecodec.so
+lib/python%%XYDOT%%/lib-dynload/_multiprocessing.so
+lib/python%%XYDOT%%/lib-dynload/_opcode.so
+lib/python%%XYDOT%%/lib-dynload/_pickle.so
+lib/python%%XYDOT%%/lib-dynload/_posixsubprocess.so
+lib/python%%XYDOT%%/lib-dynload/_random.so
+lib/python%%XYDOT%%/lib-dynload/_sha1.so
+lib/python%%XYDOT%%/lib-dynload/_sha256.so
+lib/python%%XYDOT%%/lib-dynload/_sha3.so
+lib/python%%XYDOT%%/lib-dynload/_sha512.so
+lib/python%%XYDOT%%/lib-dynload/_socket.so
+lib/python%%XYDOT%%/lib-dynload/_ssl.so
+lib/python%%XYDOT%%/lib-dynload/_struct.so
+lib/python%%XYDOT%%/lib-dynload/_testbuffer.so
+lib/python%%XYDOT%%/lib-dynload/_testcapi.so
+lib/python%%XYDOT%%/lib-dynload/_testimportmultiple.so
+lib/python%%XYDOT%%/lib-dynload/_testmultiphase.so
+lib/python%%XYDOT%%/lib-dynload/array.so
+lib/python%%XYDOT%%/lib-dynload/audioop.so
+lib/python%%XYDOT%%/lib-dynload/binascii.so
+lib/python%%XYDOT%%/lib-dynload/cmath.so
+lib/python%%XYDOT%%/lib-dynload/fcntl.so
+lib/python%%XYDOT%%/lib-dynload/grp.so
+lib/python%%XYDOT%%/lib-dynload/math.so
+lib/python%%XYDOT%%/lib-dynload/mmap.so
+%%NO_NIS%%lib/python%%XYDOT%%/lib-dynload/nis.so
+lib/python%%XYDOT%%/lib-dynload/ossaudiodev.so
+lib/python%%XYDOT%%/lib-dynload/parser.so
+lib/python%%XYDOT%%/lib-dynload/pyexpat.so
+lib/python%%XYDOT%%/lib-dynload/readline.so
+lib/python%%XYDOT%%/lib-dynload/resource.so
+lib/python%%XYDOT%%/lib-dynload/select.so
+lib/python%%XYDOT%%/lib-dynload/syslog.so
+lib/python%%XYDOT%%/lib-dynload/termios.so
+lib/python%%XYDOT%%/lib-dynload/unicodedata.so
+%%NO_DEBUG%%lib/python%%XYDOT%%/lib-dynload/xxlimited.so
+lib/python%%XYDOT%%/lib-dynload/zlib.so
+lib/python%%XYDOT%%/lib2to3/Grammar%%XYZDOT%%.final.0.pickle
+lib/python%%XYDOT%%/lib2to3/Grammar.txt
+lib/python%%XYDOT%%/lib2to3/PatternGrammar%%XYZDOT%%.final.0.pickle
+lib/python%%XYDOT%%/lib2to3/PatternGrammar.txt
+lib/python%%XYDOT%%/lib2to3/__init__.py
+lib/python%%XYDOT%%/lib2to3/__main__.py
+lib/python%%XYDOT%%/lib2to3/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/btm_matcher.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/btm_matcher.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/btm_matcher.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/btm_utils.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/btm_utils.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/btm_utils.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/fixer_base.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/fixer_base.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/fixer_base.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/fixer_util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/fixer_util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/fixer_util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/main.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/main.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/main.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/patcomp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/patcomp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/patcomp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/pygram.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/pygram.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/pygram.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/pytree.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/pytree.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/pytree.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/refactor.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/refactor.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/refactor.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/btm_matcher.py
+lib/python%%XYDOT%%/lib2to3/btm_utils.py
+lib/python%%XYDOT%%/lib2to3/fixer_base.py
+lib/python%%XYDOT%%/lib2to3/fixer_util.py
+lib/python%%XYDOT%%/lib2to3/fixes/__init__.py
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_apply.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_apply.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_apply.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_asserts.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_asserts.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_asserts.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_basestring.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_basestring.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_basestring.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_buffer.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_buffer.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_buffer.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_dict.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_dict.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_dict.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_except.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_except.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_except.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_exec.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_exec.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_exec.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_execfile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_execfile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_execfile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_exitfunc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_exitfunc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_exitfunc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_filter.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_filter.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_filter.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_funcattrs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_funcattrs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_funcattrs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_future.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_future.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_future.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_getcwdu.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_getcwdu.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_getcwdu.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_has_key.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_has_key.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_has_key.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_idioms.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_idioms.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_idioms.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_import.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_import.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_import.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_imports.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_imports.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_imports.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_imports2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_imports2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_imports2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_input.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_input.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_input.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_intern.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_intern.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_intern.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_isinstance.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_isinstance.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_isinstance.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_itertools.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_itertools.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_itertools.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_itertools_imports.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_itertools_imports.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_itertools_imports.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_long.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_long.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_long.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_map.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_map.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_map.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_metaclass.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_metaclass.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_metaclass.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_methodattrs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_methodattrs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_methodattrs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_ne.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_ne.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_ne.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_next.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_next.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_next.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_nonzero.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_nonzero.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_nonzero.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_numliterals.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_numliterals.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_numliterals.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_operator.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_operator.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_operator.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_paren.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_paren.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_paren.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_print.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_print.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_print.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_raise.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_raise.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_raise.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_raw_input.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_raw_input.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_raw_input.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_reduce.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_reduce.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_reduce.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_reload.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_reload.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_reload.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_renames.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_renames.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_renames.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_repr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_repr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_repr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_set_literal.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_set_literal.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_set_literal.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_standarderror.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_standarderror.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_standarderror.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_sys_exc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_sys_exc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_sys_exc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_throw.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_throw.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_throw.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_tuple_params.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_tuple_params.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_tuple_params.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_types.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_types.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_types.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_unicode.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_unicode.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_unicode.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_urllib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_urllib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_urllib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_ws_comma.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_ws_comma.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_ws_comma.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_xrange.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_xrange.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_xrange.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_xreadlines.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_xreadlines.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_xreadlines.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_zip.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_zip.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_zip.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/fix_apply.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_asserts.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_basestring.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_buffer.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_dict.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_except.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_exec.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_execfile.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_exitfunc.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_filter.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_funcattrs.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_future.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_getcwdu.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_has_key.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_idioms.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_import.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_imports.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_imports2.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_input.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_intern.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_isinstance.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_itertools.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_itertools_imports.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_long.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_map.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_metaclass.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_methodattrs.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_ne.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_next.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_nonzero.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_numliterals.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_operator.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_paren.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_print.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_raise.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_raw_input.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_reduce.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_reload.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_renames.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_repr.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_set_literal.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_standarderror.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_sys_exc.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_throw.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_tuple_params.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_types.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_unicode.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_urllib.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_ws_comma.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_xrange.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_xreadlines.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_zip.py
+lib/python%%XYDOT%%/lib2to3/main.py
+lib/python%%XYDOT%%/lib2to3/patcomp.py
+lib/python%%XYDOT%%/lib2to3/pgen2/__init__.py
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/conv.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/conv.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/conv.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/driver.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/driver.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/driver.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/grammar.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/grammar.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/grammar.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/literals.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/literals.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/literals.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/parse.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/parse.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/parse.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/pgen.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/pgen.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/pgen.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/token.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/token.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/token.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/tokenize.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/tokenize.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/tokenize.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/conv.py
+lib/python%%XYDOT%%/lib2to3/pgen2/driver.py
+lib/python%%XYDOT%%/lib2to3/pgen2/grammar.py
+lib/python%%XYDOT%%/lib2to3/pgen2/literals.py
+lib/python%%XYDOT%%/lib2to3/pgen2/parse.py
+lib/python%%XYDOT%%/lib2to3/pgen2/pgen.py
+lib/python%%XYDOT%%/lib2to3/pgen2/token.py
+lib/python%%XYDOT%%/lib2to3/pgen2/tokenize.py
+lib/python%%XYDOT%%/lib2to3/pygram.py
+lib/python%%XYDOT%%/lib2to3/pytree.py
+lib/python%%XYDOT%%/lib2to3/refactor.py
+lib/python%%XYDOT%%/lib2to3/tests/__init__.py
+lib/python%%XYDOT%%/lib2to3/tests/__main__.py
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/pytree_idempotency.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/pytree_idempotency.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/pytree_idempotency.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/support.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/support.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/support.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_all_fixers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_all_fixers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_all_fixers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_fixers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_fixers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_fixers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_main.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_main.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_main.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_parser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_parser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_parser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_pytree.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_pytree.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_pytree.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_refactor.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_refactor.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_refactor.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/tests/data/README
+lib/python%%XYDOT%%/lib2to3/tests/data/bom.py
+lib/python%%XYDOT%%/lib2to3/tests/data/crlf.py
+lib/python%%XYDOT%%/lib2to3/tests/data/different_encoding.py
+lib/python%%XYDOT%%/lib2to3/tests/data/false_encoding.py
+lib/python%%XYDOT%%/lib2to3/tests/data/fixers/bad_order.py
+lib/python%%XYDOT%%/lib2to3/tests/data/fixers/myfixes/__init__.py
+lib/python%%XYDOT%%/lib2to3/tests/data/fixers/myfixes/fix_explicit.py
+lib/python%%XYDOT%%/lib2to3/tests/data/fixers/myfixes/fix_first.py
+lib/python%%XYDOT%%/lib2to3/tests/data/fixers/myfixes/fix_last.py
+lib/python%%XYDOT%%/lib2to3/tests/data/fixers/myfixes/fix_parrot.py
+lib/python%%XYDOT%%/lib2to3/tests/data/fixers/myfixes/fix_preorder.py
+lib/python%%XYDOT%%/lib2to3/tests/data/fixers/no_fixer_cls.py
+lib/python%%XYDOT%%/lib2to3/tests/data/fixers/parrot_example.py
+lib/python%%XYDOT%%/lib2to3/tests/data/infinite_recursion.py
+lib/python%%XYDOT%%/lib2to3/tests/data/py2_test_grammar.py
+lib/python%%XYDOT%%/lib2to3/tests/data/py3_test_grammar.py
+lib/python%%XYDOT%%/lib2to3/tests/pytree_idempotency.py
+lib/python%%XYDOT%%/lib2to3/tests/support.py
+lib/python%%XYDOT%%/lib2to3/tests/test_all_fixers.py
+lib/python%%XYDOT%%/lib2to3/tests/test_fixers.py
+lib/python%%XYDOT%%/lib2to3/tests/test_main.py
+lib/python%%XYDOT%%/lib2to3/tests/test_parser.py
+lib/python%%XYDOT%%/lib2to3/tests/test_pytree.py
+lib/python%%XYDOT%%/lib2to3/tests/test_refactor.py
+lib/python%%XYDOT%%/lib2to3/tests/test_util.py
+lib/python%%XYDOT%%/linecache.py
+lib/python%%XYDOT%%/locale.py
+lib/python%%XYDOT%%/logging/__init__.py
+lib/python%%XYDOT%%/logging/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/logging/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/logging/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/logging/__pycache__/config.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/logging/__pycache__/config.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/logging/__pycache__/config.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/logging/__pycache__/handlers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/logging/__pycache__/handlers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/logging/__pycache__/handlers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/logging/config.py
+lib/python%%XYDOT%%/logging/handlers.py
+lib/python%%XYDOT%%/lzma.py
+lib/python%%XYDOT%%/macpath.py
+lib/python%%XYDOT%%/macurl2path.py
+lib/python%%XYDOT%%/mailbox.py
+lib/python%%XYDOT%%/mailcap.py
+lib/python%%XYDOT%%/mimetypes.py
+lib/python%%XYDOT%%/modulefinder.py
+lib/python%%XYDOT%%/multiprocessing/__init__.py
+lib/python%%XYDOT%%/multiprocessing/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/connection.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/connection.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/connection.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/context.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/context.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/context.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/forkserver.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/forkserver.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/forkserver.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/heap.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/heap.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/heap.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/managers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/managers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/managers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/pool.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/pool.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/pool.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/popen_fork.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/popen_fork.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/popen_fork.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/popen_forkserver.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/popen_forkserver.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/popen_forkserver.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/popen_spawn_posix.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/popen_spawn_posix.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/popen_spawn_posix.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/popen_spawn_win32.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/popen_spawn_win32.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/popen_spawn_win32.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/process.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/process.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/process.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/queues.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/queues.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/queues.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/reduction.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/reduction.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/reduction.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/resource_sharer.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/resource_sharer.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/resource_sharer.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/semaphore_tracker.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/semaphore_tracker.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/semaphore_tracker.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/sharedctypes.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/sharedctypes.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/sharedctypes.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/spawn.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/spawn.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/spawn.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/synchronize.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/synchronize.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/synchronize.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/connection.py
+lib/python%%XYDOT%%/multiprocessing/context.py
+lib/python%%XYDOT%%/multiprocessing/dummy/__init__.py
+lib/python%%XYDOT%%/multiprocessing/dummy/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/dummy/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/dummy/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/dummy/__pycache__/connection.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/dummy/__pycache__/connection.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/dummy/__pycache__/connection.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/dummy/connection.py
+lib/python%%XYDOT%%/multiprocessing/forkserver.py
+lib/python%%XYDOT%%/multiprocessing/heap.py
+lib/python%%XYDOT%%/multiprocessing/managers.py
+lib/python%%XYDOT%%/multiprocessing/pool.py
+lib/python%%XYDOT%%/multiprocessing/popen_fork.py
+lib/python%%XYDOT%%/multiprocessing/popen_forkserver.py
+lib/python%%XYDOT%%/multiprocessing/popen_spawn_posix.py
+lib/python%%XYDOT%%/multiprocessing/popen_spawn_win32.py
+lib/python%%XYDOT%%/multiprocessing/process.py
+lib/python%%XYDOT%%/multiprocessing/queues.py
+lib/python%%XYDOT%%/multiprocessing/reduction.py
+lib/python%%XYDOT%%/multiprocessing/resource_sharer.py
+lib/python%%XYDOT%%/multiprocessing/semaphore_tracker.py
+lib/python%%XYDOT%%/multiprocessing/sharedctypes.py
+lib/python%%XYDOT%%/multiprocessing/spawn.py
+lib/python%%XYDOT%%/multiprocessing/synchronize.py
+lib/python%%XYDOT%%/multiprocessing/util.py
+lib/python%%XYDOT%%/netrc.py
+lib/python%%XYDOT%%/nntplib.py
+lib/python%%XYDOT%%/ntpath.py
+lib/python%%XYDOT%%/nturl2path.py
+lib/python%%XYDOT%%/numbers.py
+lib/python%%XYDOT%%/opcode.py
+lib/python%%XYDOT%%/operator.py
+lib/python%%XYDOT%%/optparse.py
+lib/python%%XYDOT%%/os.py
+lib/python%%XYDOT%%/pathlib.py
+lib/python%%XYDOT%%/pdb.py
+lib/python%%XYDOT%%/pickle.py
+lib/python%%XYDOT%%/pickletools.py
+lib/python%%XYDOT%%/pipes.py
+lib/python%%XYDOT%%/pkgutil.py
+lib/python%%XYDOT%%/platform.py
+lib/python%%XYDOT%%/plistlib.py
+lib/python%%XYDOT%%/poplib.py
+lib/python%%XYDOT%%/posixpath.py
+lib/python%%XYDOT%%/pprint.py
+lib/python%%XYDOT%%/profile.py
+lib/python%%XYDOT%%/pstats.py
+lib/python%%XYDOT%%/pty.py
+lib/python%%XYDOT%%/py_compile.py
+lib/python%%XYDOT%%/pyclbr.py
+lib/python%%XYDOT%%/pydoc.py
+lib/python%%XYDOT%%/pydoc_data/__init__.py
+lib/python%%XYDOT%%/pydoc_data/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/pydoc_data/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/pydoc_data/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/pydoc_data/__pycache__/topics.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/pydoc_data/__pycache__/topics.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/pydoc_data/__pycache__/topics.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/pydoc_data/_pydoc.css
+lib/python%%XYDOT%%/pydoc_data/topics.py
+lib/python%%XYDOT%%/queue.py
+lib/python%%XYDOT%%/quopri.py
+lib/python%%XYDOT%%/random.py
+lib/python%%XYDOT%%/re.py
+lib/python%%XYDOT%%/reprlib.py
+lib/python%%XYDOT%%/rlcompleter.py
+lib/python%%XYDOT%%/runpy.py
+lib/python%%XYDOT%%/sched.py
+lib/python%%XYDOT%%/secrets.py
+lib/python%%XYDOT%%/selectors.py
+lib/python%%XYDOT%%/shelve.py
+lib/python%%XYDOT%%/shlex.py
+lib/python%%XYDOT%%/shutil.py
+lib/python%%XYDOT%%/signal.py
+lib/python%%XYDOT%%/site-packages/README.txt
+lib/python%%XYDOT%%/site.py
+lib/python%%XYDOT%%/smtpd.py
+lib/python%%XYDOT%%/smtplib.py
+lib/python%%XYDOT%%/sndhdr.py
+lib/python%%XYDOT%%/socket.py
+lib/python%%XYDOT%%/socketserver.py
+lib/python%%XYDOT%%/sqlite3/__init__.py
+lib/python%%XYDOT%%/sqlite3/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/sqlite3/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/sqlite3/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/sqlite3/__pycache__/dbapi2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/sqlite3/__pycache__/dbapi2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/sqlite3/__pycache__/dbapi2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/sqlite3/__pycache__/dump.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/sqlite3/__pycache__/dump.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/sqlite3/__pycache__/dump.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/sqlite3/dbapi2.py
+lib/python%%XYDOT%%/sqlite3/dump.py
+lib/python%%XYDOT%%/sqlite3/test/__init__.py
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/dbapi.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/dbapi.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/dbapi.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/dump.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/dump.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/dump.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/factory.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/factory.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/factory.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/hooks.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/hooks.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/hooks.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/regression.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/regression.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/regression.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/transactions.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/transactions.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/transactions.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/types.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/types.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/types.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/userfunctions.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/userfunctions.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/userfunctions.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/sqlite3/test/dbapi.py
+lib/python%%XYDOT%%/sqlite3/test/dump.py
+lib/python%%XYDOT%%/sqlite3/test/factory.py
+lib/python%%XYDOT%%/sqlite3/test/hooks.py
+lib/python%%XYDOT%%/sqlite3/test/regression.py
+lib/python%%XYDOT%%/sqlite3/test/transactions.py
+lib/python%%XYDOT%%/sqlite3/test/types.py
+lib/python%%XYDOT%%/sqlite3/test/userfunctions.py
+lib/python%%XYDOT%%/sre_compile.py
+lib/python%%XYDOT%%/sre_constants.py
+lib/python%%XYDOT%%/sre_parse.py
+lib/python%%XYDOT%%/ssl.py
+lib/python%%XYDOT%%/stat.py
+lib/python%%XYDOT%%/statistics.py
+lib/python%%XYDOT%%/string.py
+lib/python%%XYDOT%%/stringprep.py
+lib/python%%XYDOT%%/struct.py
+lib/python%%XYDOT%%/subprocess.py
+lib/python%%XYDOT%%/sunau.py
+lib/python%%XYDOT%%/symbol.py
+lib/python%%XYDOT%%/symtable.py
+lib/python%%XYDOT%%/sysconfig.py
+lib/python%%XYDOT%%/tabnanny.py
+lib/python%%XYDOT%%/tarfile.py
+lib/python%%XYDOT%%/telnetlib.py
+lib/python%%XYDOT%%/tempfile.py
+lib/python%%XYDOT%%/test/Sine-1000Hz-300ms.aif
+lib/python%%XYDOT%%/test/__init__.py
+lib/python%%XYDOT%%/test/__main__.py
+lib/python%%XYDOT%%/test/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/_test_multiprocessing.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/_test_multiprocessing.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/_test_multiprocessing.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/ann_module.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/ann_module.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/ann_module.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/ann_module2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/ann_module2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/ann_module2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/ann_module3.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/ann_module3.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/ann_module3.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/audiotests.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/audiotests.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/audiotests.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/autotest.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/autotest.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/autotest.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/bisect.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/bisect.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/bisect.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/bytecode_helper.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/bytecode_helper.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/bytecode_helper.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/coding20731.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/coding20731.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/coding20731.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/curses_tests.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/curses_tests.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/curses_tests.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/datetimetester.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/datetimetester.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/datetimetester.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/dis_module.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/dis_module.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/dis_module.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/doctest_aliases.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/doctest_aliases.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/doctest_aliases.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/double_const.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/double_const.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/double_const.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/final_a.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/final_a.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/final_a.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/final_b.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/final_b.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/final_b.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/fork_wait.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/fork_wait.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/fork_wait.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/future_test1.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/future_test1.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/future_test1.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/future_test2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/future_test2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/future_test2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/gdb_sample.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/gdb_sample.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/gdb_sample.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/imp_dummy.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/imp_dummy.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/imp_dummy.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/inspect_fodder.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/inspect_fodder.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/inspect_fodder.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/inspect_fodder2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/inspect_fodder2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/inspect_fodder2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/list_tests.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/list_tests.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/list_tests.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/lock_tests.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/lock_tests.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/lock_tests.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/make_ssl_certs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/make_ssl_certs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/make_ssl_certs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/mapping_tests.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/mapping_tests.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/mapping_tests.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/memory_watchdog.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/memory_watchdog.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/memory_watchdog.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/mock_socket.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/mock_socket.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/mock_socket.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/mod_generics_cache.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/mod_generics_cache.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/mod_generics_cache.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/mp_fork_bomb.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/mp_fork_bomb.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/mp_fork_bomb.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/mp_preload.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/mp_preload.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/mp_preload.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/multibytecodec_support.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/multibytecodec_support.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/multibytecodec_support.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/outstanding_bugs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/outstanding_bugs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/outstanding_bugs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/pickletester.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/pickletester.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/pickletester.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/profilee.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/profilee.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/profilee.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/pyclbr_input.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/pyclbr_input.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/pyclbr_input.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/pydoc_mod.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/pydoc_mod.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/pydoc_mod.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/pydocfodder.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/pydocfodder.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/pydocfodder.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/pystone.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/pystone.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/pystone.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/pythoninfo.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/pythoninfo.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/pythoninfo.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/re_tests.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/re_tests.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/re_tests.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/regrtest.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/regrtest.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/regrtest.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/relimport.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/relimport.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/relimport.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/reperf.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/reperf.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/reperf.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/sample_doctest.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/sample_doctest.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/sample_doctest.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/sample_doctest_no_docstrings.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/sample_doctest_no_docstrings.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/sample_doctest_no_docstrings.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/sample_doctest_no_doctests.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/sample_doctest_no_doctests.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/sample_doctest_no_doctests.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/seq_tests.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/seq_tests.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/seq_tests.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/signalinterproctester.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/signalinterproctester.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/signalinterproctester.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/sortperf.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/sortperf.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/sortperf.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/ssl_servers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/ssl_servers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/ssl_servers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/ssltests.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/ssltests.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/ssltests.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/string_tests.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/string_tests.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/string_tests.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test___all__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test___all__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test___all__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test___future__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test___future__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test___future__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test__locale.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test__locale.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test__locale.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test__opcode.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test__opcode.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test__opcode.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test__osx_support.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test__osx_support.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test__osx_support.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_abc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_abc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_abc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_abstract_numbers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_abstract_numbers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_abstract_numbers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_aifc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_aifc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_aifc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_argparse.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_argparse.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_argparse.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_array.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_array.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_array.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_asdl_parser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_asdl_parser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_asdl_parser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ast.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ast.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ast.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_asyncgen.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_asyncgen.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_asyncgen.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_asynchat.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_asynchat.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_asynchat.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_asyncore.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_asyncore.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_asyncore.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_atexit.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_atexit.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_atexit.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_audioop.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_audioop.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_audioop.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_augassign.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_augassign.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_augassign.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_base64.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_base64.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_base64.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_baseexception.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_baseexception.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_baseexception.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bdb.cpython-36.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bdb.cpython-36.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bdb.cpython-36.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bigaddrspace.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bigaddrspace.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bigaddrspace.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bigmem.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bigmem.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bigmem.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_binascii.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_binascii.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_binascii.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_binhex.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_binhex.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_binhex.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_binop.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_binop.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_binop.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bisect.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bisect.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bisect.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bool.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bool.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bool.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_buffer.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_buffer.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_buffer.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bufio.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bufio.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bufio.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_builtin.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_builtin.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_builtin.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bytes.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bytes.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bytes.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bz2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bz2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bz2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_calendar.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_calendar.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_calendar.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_call.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_call.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_call.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_capi.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_capi.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_capi.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cgi.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cgi.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cgi.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cgitb.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cgitb.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cgitb.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_charmapcodec.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_charmapcodec.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_charmapcodec.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_class.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_class.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_class.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cmath.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cmath.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cmath.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cmd.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cmd.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cmd.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cmd_line.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cmd_line.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cmd_line.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cmd_line_script.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cmd_line_script.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cmd_line_script.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_code.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_code.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_code.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_code_module.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_code_module.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_code_module.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codeccallbacks.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codeccallbacks.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codeccallbacks.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_cn.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_cn.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_cn.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_hk.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_hk.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_hk.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_iso2022.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_iso2022.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_iso2022.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_jp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_jp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_jp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_kr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_kr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_kr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_tw.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_tw.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_tw.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_cn.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_cn.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_cn.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_hk.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_hk.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_hk.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_jp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_jp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_jp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_kr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_kr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_kr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_tw.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_tw.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_tw.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codeop.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codeop.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codeop.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_collections.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_collections.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_collections.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_colorsys.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_colorsys.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_colorsys.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_compare.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_compare.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_compare.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_compile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_compile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_compile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_compileall.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_compileall.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_compileall.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_complex.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_complex.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_complex.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_concurrent_futures.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_concurrent_futures.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_concurrent_futures.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_configparser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_configparser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_configparser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_contains.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_contains.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_contains.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_contextlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_contextlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_contextlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_copy.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_copy.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_copy.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_copyreg.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_copyreg.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_copyreg.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_coroutines.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_coroutines.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_coroutines.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cprofile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cprofile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cprofile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_crashers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_crashers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_crashers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_crypt.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_crypt.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_crypt.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_csv.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_csv.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_csv.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ctypes.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ctypes.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ctypes.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_curses.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_curses.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_curses.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_datetime.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_datetime.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_datetime.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dbm.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dbm.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dbm.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dbm_dumb.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dbm_dumb.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dbm_dumb.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dbm_gnu.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dbm_gnu.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dbm_gnu.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dbm_ndbm.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dbm_ndbm.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dbm_ndbm.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_decimal.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_decimal.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_decimal.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_decorators.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_decorators.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_decorators.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_defaultdict.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_defaultdict.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_defaultdict.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_deque.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_deque.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_deque.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_descr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_descr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_descr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_descrtut.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_descrtut.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_descrtut.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_devpoll.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_devpoll.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_devpoll.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dict.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dict.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dict.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dict_version.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dict_version.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dict_version.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dictcomps.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dictcomps.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dictcomps.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dictviews.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dictviews.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dictviews.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_difflib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_difflib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_difflib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dis.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dis.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dis.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_distutils.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_distutils.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_distutils.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_doctest.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_doctest.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_doctest.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_doctest2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_doctest2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_doctest2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_docxmlrpc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_docxmlrpc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_docxmlrpc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dtrace.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dtrace.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dtrace.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dummy_thread.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dummy_thread.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dummy_thread.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dummy_threading.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dummy_threading.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dummy_threading.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dynamic.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dynamic.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dynamic.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dynamicclassattribute.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dynamicclassattribute.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dynamicclassattribute.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_eintr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_eintr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_eintr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ensurepip.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ensurepip.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ensurepip.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_enum.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_enum.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_enum.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_enumerate.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_enumerate.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_enumerate.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_eof.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_eof.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_eof.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_epoll.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_epoll.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_epoll.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_errno.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_errno.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_errno.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_exception_hierarchy.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_exception_hierarchy.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_exception_hierarchy.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_exception_variations.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_exception_variations.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_exception_variations.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_exceptions.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_exceptions.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_exceptions.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_extcall.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_extcall.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_extcall.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_faulthandler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_faulthandler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_faulthandler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fcntl.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fcntl.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fcntl.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_file.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_file.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_file.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_file_eintr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_file_eintr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_file_eintr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_filecmp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_filecmp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_filecmp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fileinput.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fileinput.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fileinput.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fileio.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fileio.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fileio.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_finalization.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_finalization.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_finalization.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_float.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_float.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_float.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_flufl.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_flufl.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_flufl.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fnmatch.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fnmatch.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fnmatch.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fork1.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fork1.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fork1.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_format.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_format.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_format.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fractions.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fractions.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fractions.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_frame.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_frame.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_frame.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fstring.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fstring.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fstring.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ftplib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ftplib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ftplib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_funcattrs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_funcattrs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_funcattrs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_functools.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_functools.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_functools.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_future.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_future.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_future.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_future3.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_future3.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_future3.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_future4.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_future4.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_future4.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_future5.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_future5.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_future5.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_gc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_gc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_gc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_gdb.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_gdb.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_gdb.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_generator_stop.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_generator_stop.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_generator_stop.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_generators.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_generators.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_generators.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_genericpath.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_genericpath.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_genericpath.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_genexps.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_genexps.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_genexps.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_getargs2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_getargs2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_getargs2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_getopt.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_getopt.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_getopt.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_getpass.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_getpass.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_getpass.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_gettext.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_gettext.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_gettext.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_glob.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_glob.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_glob.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_global.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_global.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_global.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_grammar.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_grammar.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_grammar.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_grp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_grp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_grp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_gzip.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_gzip.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_gzip.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_hash.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_hash.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_hash.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_hashlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_hashlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_hashlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_heapq.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_heapq.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_heapq.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_hmac.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_hmac.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_hmac.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_html.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_html.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_html.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_htmlparser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_htmlparser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_htmlparser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_http_cookiejar.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_http_cookiejar.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_http_cookiejar.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_http_cookies.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_http_cookies.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_http_cookies.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_httplib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_httplib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_httplib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_httpservers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_httpservers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_httpservers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_idle.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_idle.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_idle.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_imaplib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_imaplib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_imaplib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_imghdr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_imghdr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_imghdr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_imp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_imp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_imp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_index.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_index.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_index.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_inspect.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_inspect.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_inspect.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_int.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_int.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_int.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_int_literal.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_int_literal.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_int_literal.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_io.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_io.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_io.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ioctl.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ioctl.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ioctl.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ipaddress.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ipaddress.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ipaddress.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_isinstance.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_isinstance.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_isinstance.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_iter.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_iter.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_iter.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_iterlen.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_iterlen.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_iterlen.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_itertools.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_itertools.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_itertools.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_keyword.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_keyword.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_keyword.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_keywordonlyarg.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_keywordonlyarg.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_keywordonlyarg.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_kqueue.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_kqueue.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_kqueue.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_largefile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_largefile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_largefile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_lib2to3.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_lib2to3.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_lib2to3.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_linecache.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_linecache.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_linecache.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_list.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_list.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_list.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_listcomps.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_listcomps.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_listcomps.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_locale.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_locale.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_locale.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_logging.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_logging.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_logging.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_long.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_long.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_long.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_longexp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_longexp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_longexp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_lzma.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_lzma.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_lzma.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_macpath.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_macpath.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_macpath.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_macurl2path.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_macurl2path.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_macurl2path.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_mailbox.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_mailbox.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_mailbox.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_mailcap.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_mailcap.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_mailcap.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_marshal.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_marshal.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_marshal.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_math.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_math.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_math.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_memoryio.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_memoryio.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_memoryio.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_memoryview.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_memoryview.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_memoryview.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_metaclass.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_metaclass.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_metaclass.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_mimetypes.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_mimetypes.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_mimetypes.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_minidom.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_minidom.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_minidom.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_mmap.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_mmap.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_mmap.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_module.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_module.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_module.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_modulefinder.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_modulefinder.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_modulefinder.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_msilib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_msilib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_msilib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multibytecodec.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multibytecodec.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multibytecodec.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multiprocessing_fork.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multiprocessing_fork.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multiprocessing_fork.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multiprocessing_forkserver.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multiprocessing_forkserver.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multiprocessing_forkserver.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multiprocessing_main_handling.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multiprocessing_main_handling.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multiprocessing_main_handling.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multiprocessing_spawn.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multiprocessing_spawn.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multiprocessing_spawn.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_netrc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_netrc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_netrc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_nis.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_nis.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_nis.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_nntplib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_nntplib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_nntplib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_normalization.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_normalization.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_normalization.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ntpath.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ntpath.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ntpath.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_numeric_tower.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_numeric_tower.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_numeric_tower.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_opcodes.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_opcodes.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_opcodes.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_openpty.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_openpty.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_openpty.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_operator.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_operator.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_operator.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_optparse.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_optparse.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_optparse.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ordered_dict.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ordered_dict.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ordered_dict.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_os.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_os.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_os.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ossaudiodev.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ossaudiodev.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ossaudiodev.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_osx_env.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_osx_env.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_osx_env.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_parser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_parser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_parser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pathlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pathlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pathlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pdb.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pdb.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pdb.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_peepholer.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_peepholer.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_peepholer.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pickle.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pickle.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pickle.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pickletools.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pickletools.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pickletools.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pipes.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pipes.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pipes.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pkg.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pkg.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pkg.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pkgimport.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pkgimport.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pkgimport.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pkgutil.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pkgutil.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pkgutil.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_platform.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_platform.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_platform.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_plistlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_plistlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_plistlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_poll.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_poll.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_poll.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_popen.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_popen.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_popen.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_poplib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_poplib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_poplib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_posix.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_posix.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_posix.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_posixpath.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_posixpath.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_posixpath.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pow.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pow.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pow.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pprint.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pprint.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pprint.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_print.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_print.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_print.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_profile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_profile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_profile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_property.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_property.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_property.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pstats.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pstats.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pstats.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pty.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pty.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pty.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pulldom.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pulldom.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pulldom.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pwd.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pwd.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pwd.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_py_compile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_py_compile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_py_compile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pyclbr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pyclbr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pyclbr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pydoc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pydoc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pydoc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pyexpat.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pyexpat.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pyexpat.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_queue.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_queue.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_queue.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_quopri.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_quopri.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_quopri.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_raise.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_raise.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_raise.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_random.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_random.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_random.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_range.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_range.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_range.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_re.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_re.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_re.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_readline.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_readline.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_readline.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_regrtest.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_regrtest.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_regrtest.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_repl.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_repl.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_repl.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_reprlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_reprlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_reprlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_resource.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_resource.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_resource.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_richcmp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_richcmp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_richcmp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_rlcompleter.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_rlcompleter.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_rlcompleter.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_robotparser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_robotparser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_robotparser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_runpy.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_runpy.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_runpy.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sax.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sax.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sax.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sched.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sched.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sched.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_scope.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_scope.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_scope.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_script_helper.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_script_helper.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_script_helper.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_secrets.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_secrets.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_secrets.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_select.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_select.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_select.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_selectors.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_selectors.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_selectors.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_set.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_set.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_set.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_setcomps.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_setcomps.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_setcomps.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_shelve.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_shelve.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_shelve.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_shlex.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_shlex.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_shlex.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_shutil.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_shutil.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_shutil.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_signal.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_signal.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_signal.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_site.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_site.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_site.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_slice.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_slice.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_slice.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_smtpd.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_smtpd.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_smtpd.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_smtplib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_smtplib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_smtplib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_smtpnet.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_smtpnet.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_smtpnet.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sndhdr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sndhdr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sndhdr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_socket.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_socket.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_socket.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_socketserver.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_socketserver.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_socketserver.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sort.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sort.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sort.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_source_encoding.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_source_encoding.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_source_encoding.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_spwd.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_spwd.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_spwd.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sqlite.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sqlite.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sqlite.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ssl.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ssl.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ssl.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_startfile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_startfile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_startfile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_stat.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_stat.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_stat.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_statistics.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_statistics.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_statistics.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_strftime.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_strftime.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_strftime.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_string.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_string.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_string.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_string_literals.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_string_literals.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_string_literals.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_stringprep.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_stringprep.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_stringprep.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_strptime.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_strptime.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_strptime.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_strtod.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_strtod.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_strtod.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_struct.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_struct.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_struct.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_structmembers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_structmembers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_structmembers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_structseq.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_structseq.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_structseq.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_subclassinit.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_subclassinit.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_subclassinit.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_subprocess.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_subprocess.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_subprocess.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sunau.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sunau.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sunau.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sundry.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sundry.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sundry.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_super.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_super.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_super.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_support.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_support.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_support.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_symbol.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_symbol.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_symbol.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_symtable.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_symtable.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_symtable.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_syntax.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_syntax.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_syntax.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sys.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sys.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sys.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sys_setprofile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sys_setprofile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sys_setprofile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sys_settrace.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sys_settrace.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sys_settrace.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sysconfig.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sysconfig.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sysconfig.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_syslog.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_syslog.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_syslog.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tarfile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tarfile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tarfile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tcl.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tcl.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tcl.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_telnetlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_telnetlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_telnetlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tempfile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tempfile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tempfile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_textwrap.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_textwrap.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_textwrap.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_thread.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_thread.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_thread.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threaded_import.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threaded_import.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threaded_import.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threadedtempfile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threadedtempfile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threadedtempfile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threading.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threading.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threading.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threading_local.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threading_local.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threading_local.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threadsignals.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threadsignals.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threadsignals.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_time.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_time.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_time.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_timeit.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_timeit.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_timeit.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_timeout.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_timeout.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_timeout.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tix.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tix.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tix.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tk.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tk.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tk.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tokenize.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tokenize.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tokenize.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_trace.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_trace.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_trace.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_traceback.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_traceback.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_traceback.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tracemalloc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tracemalloc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tracemalloc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ttk_guionly.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ttk_guionly.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ttk_guionly.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ttk_textonly.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ttk_textonly.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ttk_textonly.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tuple.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tuple.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tuple.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_turtle.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_turtle.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_turtle.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_typechecks.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_typechecks.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_typechecks.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_types.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_types.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_types.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_typing.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_typing.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_typing.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ucn.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ucn.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ucn.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unary.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unary.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unary.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unicode.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unicode.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unicode.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unicode_file.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unicode_file.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unicode_file.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unicode_file_functions.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unicode_file_functions.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unicode_file_functions.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unicode_identifiers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unicode_identifiers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unicode_identifiers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unicodedata.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unicodedata.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unicodedata.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unittest.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unittest.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unittest.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_univnewlines.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_univnewlines.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_univnewlines.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unpack.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unpack.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unpack.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unpack_ex.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unpack_ex.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unpack_ex.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib2_localnet.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib2_localnet.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib2_localnet.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib2net.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib2net.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib2net.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib_response.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib_response.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib_response.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllibnet.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllibnet.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllibnet.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urlparse.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urlparse.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urlparse.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_userdict.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_userdict.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_userdict.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_userlist.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_userlist.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_userlist.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_userstring.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_userstring.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_userstring.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_utf8source.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_utf8source.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_utf8source.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_uu.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_uu.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_uu.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_uuid.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_uuid.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_uuid.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_venv.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_venv.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_venv.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_wait3.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_wait3.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_wait3.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_wait4.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_wait4.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_wait4.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_wave.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_wave.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_wave.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_weakref.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_weakref.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_weakref.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_weakset.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_weakset.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_weakset.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_webbrowser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_webbrowser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_webbrowser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_winconsoleio.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_winconsoleio.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_winconsoleio.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_winreg.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_winreg.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_winreg.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_winsound.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_winsound.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_winsound.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_with.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_with.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_with.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_wsgiref.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_wsgiref.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_wsgiref.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xdrlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xdrlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xdrlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xml_dom_minicompat.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xml_dom_minicompat.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xml_dom_minicompat.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xml_etree.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xml_etree.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xml_etree.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xml_etree_c.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xml_etree_c.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xml_etree_c.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xmlrpc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xmlrpc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xmlrpc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xmlrpc_net.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xmlrpc_net.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xmlrpc_net.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_yield_from.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_yield_from.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_yield_from.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipapp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipapp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipapp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipfile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipfile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipfile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipfile64.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipfile64.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipfile64.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipimport.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipimport.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipimport.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipimport_support.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipimport_support.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipimport_support.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/testcodec.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/testcodec.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/testcodec.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/tf_inherit_check.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/tf_inherit_check.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/tf_inherit_check.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/threaded_import_hangers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/threaded_import_hangers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/threaded_import_hangers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/time_hashlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/time_hashlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/time_hashlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/win_console_handler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/win_console_handler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/win_console_handler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/xmltests.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/xmltests.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/xmltests.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/_test_multiprocessing.py
+lib/python%%XYDOT%%/test/allsans.pem
+lib/python%%XYDOT%%/test/ann_module.py
+lib/python%%XYDOT%%/test/ann_module2.py
+lib/python%%XYDOT%%/test/ann_module3.py
+lib/python%%XYDOT%%/test/audiodata/pluck-alaw.aifc
+lib/python%%XYDOT%%/test/audiodata/pluck-pcm16.aiff
+lib/python%%XYDOT%%/test/audiodata/pluck-pcm16.au
+lib/python%%XYDOT%%/test/audiodata/pluck-pcm16.wav
+lib/python%%XYDOT%%/test/audiodata/pluck-pcm24.aiff
+lib/python%%XYDOT%%/test/audiodata/pluck-pcm24.au
+lib/python%%XYDOT%%/test/audiodata/pluck-pcm24.wav
+lib/python%%XYDOT%%/test/audiodata/pluck-pcm32.aiff
+lib/python%%XYDOT%%/test/audiodata/pluck-pcm32.au
+lib/python%%XYDOT%%/test/audiodata/pluck-pcm32.wav
+lib/python%%XYDOT%%/test/audiodata/pluck-pcm8.aiff
+lib/python%%XYDOT%%/test/audiodata/pluck-pcm8.au
+lib/python%%XYDOT%%/test/audiodata/pluck-pcm8.wav
+lib/python%%XYDOT%%/test/audiodata/pluck-ulaw.aifc
+lib/python%%XYDOT%%/test/audiodata/pluck-ulaw.au
+lib/python%%XYDOT%%/test/audiotest.au
+lib/python%%XYDOT%%/test/audiotests.py
+lib/python%%XYDOT%%/test/autotest.py
+lib/python%%XYDOT%%/test/bad_coding.py
+lib/python%%XYDOT%%/test/bad_coding2.py
+lib/python%%XYDOT%%/test/badcert.pem
+lib/python%%XYDOT%%/test/badkey.pem
+lib/python%%XYDOT%%/test/badsyntax_3131.py
+lib/python%%XYDOT%%/test/badsyntax_future10.py
+lib/python%%XYDOT%%/test/badsyntax_future3.py
+lib/python%%XYDOT%%/test/badsyntax_future4.py
+lib/python%%XYDOT%%/test/badsyntax_future5.py
+lib/python%%XYDOT%%/test/badsyntax_future6.py
+lib/python%%XYDOT%%/test/badsyntax_future7.py
+lib/python%%XYDOT%%/test/badsyntax_future8.py
+lib/python%%XYDOT%%/test/badsyntax_future9.py
+lib/python%%XYDOT%%/test/badsyntax_pep3120.py
+lib/python%%XYDOT%%/test/bisect.py
+lib/python%%XYDOT%%/test/bytecode_helper.py
+lib/python%%XYDOT%%/test/capath/4e1295a3.0
+lib/python%%XYDOT%%/test/capath/5ed36f99.0
+lib/python%%XYDOT%%/test/capath/6e88d7b8.0
+lib/python%%XYDOT%%/test/capath/99d0fa06.0
+lib/python%%XYDOT%%/test/capath/b1930218.0
+lib/python%%XYDOT%%/test/capath/ceff1710.0
+lib/python%%XYDOT%%/test/cfgparser.1
+lib/python%%XYDOT%%/test/cfgparser.2
+lib/python%%XYDOT%%/test/cfgparser.3
+lib/python%%XYDOT%%/test/cjkencodings/big5-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/big5.txt
+lib/python%%XYDOT%%/test/cjkencodings/big5hkscs-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/big5hkscs.txt
+lib/python%%XYDOT%%/test/cjkencodings/cp949-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/cp949.txt
+lib/python%%XYDOT%%/test/cjkencodings/euc_jisx0213-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/euc_jisx0213.txt
+lib/python%%XYDOT%%/test/cjkencodings/euc_jp-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/euc_jp.txt
+lib/python%%XYDOT%%/test/cjkencodings/euc_kr-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/euc_kr.txt
+lib/python%%XYDOT%%/test/cjkencodings/gb18030-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/gb18030.txt
+lib/python%%XYDOT%%/test/cjkencodings/gb2312-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/gb2312.txt
+lib/python%%XYDOT%%/test/cjkencodings/gbk-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/gbk.txt
+lib/python%%XYDOT%%/test/cjkencodings/hz-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/hz.txt
+lib/python%%XYDOT%%/test/cjkencodings/iso2022_jp-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/iso2022_jp.txt
+lib/python%%XYDOT%%/test/cjkencodings/iso2022_kr-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/iso2022_kr.txt
+lib/python%%XYDOT%%/test/cjkencodings/johab-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/johab.txt
+lib/python%%XYDOT%%/test/cjkencodings/shift_jis-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/shift_jis.txt
+lib/python%%XYDOT%%/test/cjkencodings/shift_jisx0213-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/shift_jisx0213.txt
+lib/python%%XYDOT%%/test/cmath_testcases.txt
+lib/python%%XYDOT%%/test/coding20731.py
+lib/python%%XYDOT%%/test/curses_tests.py
+lib/python%%XYDOT%%/test/data/README
+lib/python%%XYDOT%%/test/datetimetester.py
+lib/python%%XYDOT%%/test/decimaltestdata/abs.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/add.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/and.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/base.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/clamp.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/class.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/compare.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/comparetotal.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/comparetotmag.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/copy.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/copyabs.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/copynegate.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/copysign.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddAbs.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddAdd.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddAnd.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddBase.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddCanonical.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddClass.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddCompare.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddCompareSig.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddCompareTotal.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddCompareTotalMag.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddCopy.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddCopyAbs.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddCopyNegate.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddCopySign.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddDivide.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddDivideInt.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddEncode.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddFMA.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddInvert.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddLogB.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddMax.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddMaxMag.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddMin.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddMinMag.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddMinus.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddMultiply.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddNextMinus.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddNextPlus.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddNextToward.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddOr.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddPlus.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddQuantize.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddReduce.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddRemainder.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddRemainderNear.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddRotate.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddSameQuantum.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddScaleB.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddShift.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddSubtract.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddToIntegral.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddXor.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/decDouble.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/decQuad.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/decSingle.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/divide.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/divideint.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqAbs.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqAdd.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqAnd.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqBase.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqCanonical.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqClass.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqCompare.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqCompareSig.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqCompareTotal.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqCompareTotalMag.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqCopy.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqCopyAbs.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqCopyNegate.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqCopySign.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqDivide.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqDivideInt.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqEncode.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqFMA.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqInvert.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqLogB.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqMax.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqMaxMag.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqMin.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqMinMag.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqMinus.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqMultiply.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqNextMinus.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqNextPlus.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqNextToward.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqOr.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqPlus.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqQuantize.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqReduce.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqRemainder.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqRemainderNear.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqRotate.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqSameQuantum.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqScaleB.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqShift.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqSubtract.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqToIntegral.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqXor.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dsBase.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dsEncode.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/exp.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/extra.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/fma.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/inexact.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/invert.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ln.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/log10.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/logb.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/max.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/maxmag.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/min.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/minmag.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/minus.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/multiply.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/nextminus.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/nextplus.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/nexttoward.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/or.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/plus.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/power.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/powersqrt.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/quantize.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/randomBound32.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/randoms.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/reduce.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/remainder.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/remainderNear.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/rescale.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/rotate.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/rounding.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/samequantum.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/scaleb.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/shift.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/squareroot.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/subtract.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/testall.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/tointegral.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/tointegralx.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/xor.decTest
+lib/python%%XYDOT%%/test/dis_module.py
+lib/python%%XYDOT%%/test/doctest_aliases.py
+lib/python%%XYDOT%%/test/double_const.py
+lib/python%%XYDOT%%/test/dtracedata/__pycache__/call_stack.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/dtracedata/__pycache__/call_stack.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/dtracedata/__pycache__/call_stack.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/dtracedata/__pycache__/gc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/dtracedata/__pycache__/gc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/dtracedata/__pycache__/gc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/dtracedata/__pycache__/instance.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/dtracedata/__pycache__/instance.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/dtracedata/__pycache__/instance.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/dtracedata/__pycache__/line.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/dtracedata/__pycache__/line.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/dtracedata/__pycache__/line.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/dtracedata/assert_usable.d
+lib/python%%XYDOT%%/test/dtracedata/assert_usable.stp
+lib/python%%XYDOT%%/test/dtracedata/call_stack.d
+lib/python%%XYDOT%%/test/dtracedata/call_stack.d.expected
+lib/python%%XYDOT%%/test/dtracedata/call_stack.py
+lib/python%%XYDOT%%/test/dtracedata/call_stack.stp
+lib/python%%XYDOT%%/test/dtracedata/call_stack.stp.expected
+lib/python%%XYDOT%%/test/dtracedata/gc.d
+lib/python%%XYDOT%%/test/dtracedata/gc.d.expected
+lib/python%%XYDOT%%/test/dtracedata/gc.py
+lib/python%%XYDOT%%/test/dtracedata/gc.stp
+lib/python%%XYDOT%%/test/dtracedata/gc.stp.expected
+lib/python%%XYDOT%%/test/dtracedata/instance.py
+lib/python%%XYDOT%%/test/dtracedata/line.d
+lib/python%%XYDOT%%/test/dtracedata/line.d.expected
+lib/python%%XYDOT%%/test/dtracedata/line.py
+lib/python%%XYDOT%%/test/eintrdata/__pycache__/eintr_tester.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/eintrdata/__pycache__/eintr_tester.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/eintrdata/__pycache__/eintr_tester.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/eintrdata/eintr_tester.py
+lib/python%%XYDOT%%/test/empty.vbs
+lib/python%%XYDOT%%/test/encoded_modules/__init__.py
+lib/python%%XYDOT%%/test/encoded_modules/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/encoded_modules/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/encoded_modules/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/encoded_modules/__pycache__/module_iso_8859_1.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/encoded_modules/__pycache__/module_iso_8859_1.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/encoded_modules/__pycache__/module_iso_8859_1.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/encoded_modules/__pycache__/module_koi8_r.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/encoded_modules/__pycache__/module_koi8_r.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/encoded_modules/__pycache__/module_koi8_r.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/encoded_modules/module_iso_8859_1.py
+lib/python%%XYDOT%%/test/encoded_modules/module_koi8_r.py
+lib/python%%XYDOT%%/test/exception_hierarchy.txt
+lib/python%%XYDOT%%/test/ffdh3072.pem
+lib/python%%XYDOT%%/test/final_a.py
+lib/python%%XYDOT%%/test/final_b.py
+lib/python%%XYDOT%%/test/floating_points.txt
+lib/python%%XYDOT%%/test/fork_wait.py
+lib/python%%XYDOT%%/test/formatfloat_testcases.txt
+lib/python%%XYDOT%%/test/future_test1.py
+lib/python%%XYDOT%%/test/future_test2.py
+lib/python%%XYDOT%%/test/gdb_sample.py
+lib/python%%XYDOT%%/test/ieee754.txt
+lib/python%%XYDOT%%/test/imghdrdata/python.bmp
+lib/python%%XYDOT%%/test/imghdrdata/python.exr
+lib/python%%XYDOT%%/test/imghdrdata/python.gif
+lib/python%%XYDOT%%/test/imghdrdata/python.jpg
+lib/python%%XYDOT%%/test/imghdrdata/python.pbm
+lib/python%%XYDOT%%/test/imghdrdata/python.pgm
+lib/python%%XYDOT%%/test/imghdrdata/python.png
+lib/python%%XYDOT%%/test/imghdrdata/python.ppm
+lib/python%%XYDOT%%/test/imghdrdata/python.ras
+lib/python%%XYDOT%%/test/imghdrdata/python.sgi
+lib/python%%XYDOT%%/test/imghdrdata/python.tiff
+lib/python%%XYDOT%%/test/imghdrdata/python.webp
+lib/python%%XYDOT%%/test/imghdrdata/python.xbm
+lib/python%%XYDOT%%/test/imp_dummy.py
+lib/python%%XYDOT%%/test/inspect_fodder.py
+lib/python%%XYDOT%%/test/inspect_fodder2.py
+lib/python%%XYDOT%%/test/keycert.passwd.pem
+lib/python%%XYDOT%%/test/keycert.pem
+lib/python%%XYDOT%%/test/keycert2.pem
+lib/python%%XYDOT%%/test/keycert3.pem
+lib/python%%XYDOT%%/test/keycert4.pem
+lib/python%%XYDOT%%/test/libregrtest/__init__.py
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/cmdline.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/cmdline.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/cmdline.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/main.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/main.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/main.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/refleak.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/refleak.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/refleak.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/runtest.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/runtest.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/runtest.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/runtest_mp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/runtest_mp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/runtest_mp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/save_env.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/save_env.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/save_env.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/setup.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/setup.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/setup.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/utils.cpython-36.opt-1.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/utils.cpython-36.opt-2.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/utils.cpython-36.pyc
+lib/python%%XYDOT%%/test/libregrtest/cmdline.py
+lib/python%%XYDOT%%/test/libregrtest/main.py
+lib/python%%XYDOT%%/test/libregrtest/refleak.py
+lib/python%%XYDOT%%/test/libregrtest/runtest.py
+lib/python%%XYDOT%%/test/libregrtest/runtest_mp.py
+lib/python%%XYDOT%%/test/libregrtest/save_env.py
+lib/python%%XYDOT%%/test/libregrtest/setup.py
+lib/python%%XYDOT%%/test/libregrtest/utils.py
+lib/python%%XYDOT%%/test/list_tests.py
+lib/python%%XYDOT%%/test/lock_tests.py
+lib/python%%XYDOT%%/test/mailcap.txt
+lib/python%%XYDOT%%/test/make_ssl_certs.py
+lib/python%%XYDOT%%/test/mapping_tests.py
+lib/python%%XYDOT%%/test/math_testcases.txt
+lib/python%%XYDOT%%/test/memory_watchdog.py
+lib/python%%XYDOT%%/test/mime.types
+lib/python%%XYDOT%%/test/mock_socket.py
+lib/python%%XYDOT%%/test/mod_generics_cache.py
+lib/python%%XYDOT%%/test/mp_fork_bomb.py
+lib/python%%XYDOT%%/test/mp_preload.py
+lib/python%%XYDOT%%/test/multibytecodec_support.py
+lib/python%%XYDOT%%/test/nokia.pem
+lib/python%%XYDOT%%/test/nullbytecert.pem
+lib/python%%XYDOT%%/test/nullcert.pem
+lib/python%%XYDOT%%/test/outstanding_bugs.py
+lib/python%%XYDOT%%/test/pickletester.py
+lib/python%%XYDOT%%/test/profilee.py
+lib/python%%XYDOT%%/test/pstats.pck
+lib/python%%XYDOT%%/test/pycacert.pem
+lib/python%%XYDOT%%/test/pycakey.pem
+lib/python%%XYDOT%%/test/pyclbr_input.py
+lib/python%%XYDOT%%/test/pydoc_mod.py
+lib/python%%XYDOT%%/test/pydocfodder.py
+lib/python%%XYDOT%%/test/pystone.py
+lib/python%%XYDOT%%/test/pythoninfo.py
+lib/python%%XYDOT%%/test/randv2_32.pck
+lib/python%%XYDOT%%/test/randv2_64.pck
+lib/python%%XYDOT%%/test/randv3.pck
+lib/python%%XYDOT%%/test/re_tests.py
+lib/python%%XYDOT%%/test/regrtest.py
+lib/python%%XYDOT%%/test/relimport.py
+lib/python%%XYDOT%%/test/reperf.py
+lib/python%%XYDOT%%/test/revocation.crl
+lib/python%%XYDOT%%/test/sample_doctest.py
+lib/python%%XYDOT%%/test/sample_doctest_no_docstrings.py
+lib/python%%XYDOT%%/test/sample_doctest_no_doctests.py
+lib/python%%XYDOT%%/test/selfsigned_pythontestdotnet.pem
+lib/python%%XYDOT%%/test/seq_tests.py
+lib/python%%XYDOT%%/test/sgml_input.html
+lib/python%%XYDOT%%/test/signalinterproctester.py
+lib/python%%XYDOT%%/test/sndhdrdata/README
+lib/python%%XYDOT%%/test/sndhdrdata/sndhdr.8svx
+lib/python%%XYDOT%%/test/sndhdrdata/sndhdr.aifc
+lib/python%%XYDOT%%/test/sndhdrdata/sndhdr.aiff
+lib/python%%XYDOT%%/test/sndhdrdata/sndhdr.au
+lib/python%%XYDOT%%/test/sndhdrdata/sndhdr.hcom
+lib/python%%XYDOT%%/test/sndhdrdata/sndhdr.sndt
+lib/python%%XYDOT%%/test/sndhdrdata/sndhdr.voc
+lib/python%%XYDOT%%/test/sndhdrdata/sndhdr.wav
+lib/python%%XYDOT%%/test/sortperf.py
+lib/python%%XYDOT%%/test/ssl_cert.pem
+lib/python%%XYDOT%%/test/ssl_key.passwd.pem
+lib/python%%XYDOT%%/test/ssl_key.pem
+lib/python%%XYDOT%%/test/ssl_servers.py
+lib/python%%XYDOT%%/test/ssltests.py
+lib/python%%XYDOT%%/test/string_tests.py
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/fd_status.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/fd_status.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/fd_status.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/input_reader.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/input_reader.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/input_reader.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/qcat.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/qcat.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/qcat.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/qgrep.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/qgrep.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/qgrep.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/sigchild_ignore.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/sigchild_ignore.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/sigchild_ignore.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/subprocessdata/fd_status.py
+lib/python%%XYDOT%%/test/subprocessdata/input_reader.py
+lib/python%%XYDOT%%/test/subprocessdata/qcat.py
+lib/python%%XYDOT%%/test/subprocessdata/qgrep.py
+lib/python%%XYDOT%%/test/subprocessdata/sigchild_ignore.py
+lib/python%%XYDOT%%/test/support/__init__.py
+lib/python%%XYDOT%%/test/support/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/support/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/support/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/support/__pycache__/script_helper.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/support/__pycache__/script_helper.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/support/__pycache__/script_helper.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/support/__pycache__/testresult.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/support/__pycache__/testresult.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/support/__pycache__/testresult.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/support/script_helper.py
+lib/python%%XYDOT%%/test/support/testresult.py
+lib/python%%XYDOT%%/test/test___all__.py
+lib/python%%XYDOT%%/test/test___future__.py
+lib/python%%XYDOT%%/test/test__locale.py
+lib/python%%XYDOT%%/test/test__opcode.py
+lib/python%%XYDOT%%/test/test__osx_support.py
+lib/python%%XYDOT%%/test/test_abc.py
+lib/python%%XYDOT%%/test/test_abstract_numbers.py
+lib/python%%XYDOT%%/test/test_aifc.py
+lib/python%%XYDOT%%/test/test_argparse.py
+lib/python%%XYDOT%%/test/test_array.py
+lib/python%%XYDOT%%/test/test_asdl_parser.py
+lib/python%%XYDOT%%/test/test_ast.py
+lib/python%%XYDOT%%/test/test_asyncgen.py
+lib/python%%XYDOT%%/test/test_asynchat.py
+lib/python%%XYDOT%%/test/test_asyncio/__init__.py
+lib/python%%XYDOT%%/test/test_asyncio/__main__.py
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/echo.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/echo.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/echo.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/echo2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/echo2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/echo2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/echo3.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/echo3.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/echo3.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_base_events.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_base_events.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_base_events.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_events.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_events.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_events.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_futures.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_futures.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_futures.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_locks.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_locks.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_locks.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_pep492.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_pep492.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_pep492.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_proactor_events.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_proactor_events.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_proactor_events.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_queues.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_queues.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_queues.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_selector_events.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_selector_events.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_selector_events.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_sslproto.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_sslproto.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_sslproto.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_streams.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_streams.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_streams.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_subprocess.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_subprocess.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_subprocess.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_tasks.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_tasks.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_tasks.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_transports.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_transports.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_transports.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_unix_events.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_unix_events.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_unix_events.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_windows_events.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_windows_events.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_windows_events.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_windows_utils.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_windows_utils.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_windows_utils.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/echo.py
+lib/python%%XYDOT%%/test/test_asyncio/echo2.py
+lib/python%%XYDOT%%/test/test_asyncio/echo3.py
+lib/python%%XYDOT%%/test/test_asyncio/test_base_events.py
+lib/python%%XYDOT%%/test/test_asyncio/test_events.py
+lib/python%%XYDOT%%/test/test_asyncio/test_futures.py
+lib/python%%XYDOT%%/test/test_asyncio/test_locks.py
+lib/python%%XYDOT%%/test/test_asyncio/test_pep492.py
+lib/python%%XYDOT%%/test/test_asyncio/test_proactor_events.py
+lib/python%%XYDOT%%/test/test_asyncio/test_queues.py
+lib/python%%XYDOT%%/test/test_asyncio/test_selector_events.py
+lib/python%%XYDOT%%/test/test_asyncio/test_sslproto.py
+lib/python%%XYDOT%%/test/test_asyncio/test_streams.py
+lib/python%%XYDOT%%/test/test_asyncio/test_subprocess.py
+lib/python%%XYDOT%%/test/test_asyncio/test_tasks.py
+lib/python%%XYDOT%%/test/test_asyncio/test_transports.py
+lib/python%%XYDOT%%/test/test_asyncio/test_unix_events.py
+lib/python%%XYDOT%%/test/test_asyncio/test_windows_events.py
+lib/python%%XYDOT%%/test/test_asyncio/test_windows_utils.py
+lib/python%%XYDOT%%/test/test_asyncore.py
+lib/python%%XYDOT%%/test/test_atexit.py
+lib/python%%XYDOT%%/test/test_audioop.py
+lib/python%%XYDOT%%/test/test_augassign.py
+lib/python%%XYDOT%%/test/test_base64.py
+lib/python%%XYDOT%%/test/test_baseexception.py
+lib/python%%XYDOT%%/test/test_bdb.py
+lib/python%%XYDOT%%/test/test_bigaddrspace.py
+lib/python%%XYDOT%%/test/test_bigmem.py
+lib/python%%XYDOT%%/test/test_binascii.py
+lib/python%%XYDOT%%/test/test_binhex.py
+lib/python%%XYDOT%%/test/test_binop.py
+lib/python%%XYDOT%%/test/test_bisect.py
+lib/python%%XYDOT%%/test/test_bool.py
+lib/python%%XYDOT%%/test/test_buffer.py
+lib/python%%XYDOT%%/test/test_bufio.py
+lib/python%%XYDOT%%/test/test_builtin.py
+lib/python%%XYDOT%%/test/test_bytes.py
+lib/python%%XYDOT%%/test/test_bz2.py
+lib/python%%XYDOT%%/test/test_calendar.py
+lib/python%%XYDOT%%/test/test_call.py
+lib/python%%XYDOT%%/test/test_capi.py
+lib/python%%XYDOT%%/test/test_cgi.py
+lib/python%%XYDOT%%/test/test_cgitb.py
+lib/python%%XYDOT%%/test/test_charmapcodec.py
+lib/python%%XYDOT%%/test/test_class.py
+lib/python%%XYDOT%%/test/test_cmath.py
+lib/python%%XYDOT%%/test/test_cmd.py
+lib/python%%XYDOT%%/test/test_cmd_line.py
+lib/python%%XYDOT%%/test/test_cmd_line_script.py
+lib/python%%XYDOT%%/test/test_code.py
+lib/python%%XYDOT%%/test/test_code_module.py
+lib/python%%XYDOT%%/test/test_codeccallbacks.py
+lib/python%%XYDOT%%/test/test_codecencodings_cn.py
+lib/python%%XYDOT%%/test/test_codecencodings_hk.py
+lib/python%%XYDOT%%/test/test_codecencodings_iso2022.py
+lib/python%%XYDOT%%/test/test_codecencodings_jp.py
+lib/python%%XYDOT%%/test/test_codecencodings_kr.py
+lib/python%%XYDOT%%/test/test_codecencodings_tw.py
+lib/python%%XYDOT%%/test/test_codecmaps_cn.py
+lib/python%%XYDOT%%/test/test_codecmaps_hk.py
+lib/python%%XYDOT%%/test/test_codecmaps_jp.py
+lib/python%%XYDOT%%/test/test_codecmaps_kr.py
+lib/python%%XYDOT%%/test/test_codecmaps_tw.py
+lib/python%%XYDOT%%/test/test_codecs.py
+lib/python%%XYDOT%%/test/test_codeop.py
+lib/python%%XYDOT%%/test/test_collections.py
+lib/python%%XYDOT%%/test/test_colorsys.py
+lib/python%%XYDOT%%/test/test_compare.py
+lib/python%%XYDOT%%/test/test_compile.py
+lib/python%%XYDOT%%/test/test_compileall.py
+lib/python%%XYDOT%%/test/test_complex.py
+lib/python%%XYDOT%%/test/test_concurrent_futures.py
+lib/python%%XYDOT%%/test/test_configparser.py
+lib/python%%XYDOT%%/test/test_contains.py
+lib/python%%XYDOT%%/test/test_contextlib.py
+lib/python%%XYDOT%%/test/test_copy.py
+lib/python%%XYDOT%%/test/test_copyreg.py
+lib/python%%XYDOT%%/test/test_coroutines.py
+lib/python%%XYDOT%%/test/test_cprofile.py
+lib/python%%XYDOT%%/test/test_crashers.py
+lib/python%%XYDOT%%/test/test_crypt.py
+lib/python%%XYDOT%%/test/test_csv.py
+lib/python%%XYDOT%%/test/test_ctypes.py
+lib/python%%XYDOT%%/test/test_curses.py
+lib/python%%XYDOT%%/test/test_datetime.py
+lib/python%%XYDOT%%/test/test_dbm.py
+lib/python%%XYDOT%%/test/test_dbm_dumb.py
+lib/python%%XYDOT%%/test/test_dbm_gnu.py
+lib/python%%XYDOT%%/test/test_dbm_ndbm.py
+lib/python%%XYDOT%%/test/test_decimal.py
+lib/python%%XYDOT%%/test/test_decorators.py
+lib/python%%XYDOT%%/test/test_defaultdict.py
+lib/python%%XYDOT%%/test/test_deque.py
+lib/python%%XYDOT%%/test/test_descr.py
+lib/python%%XYDOT%%/test/test_descrtut.py
+lib/python%%XYDOT%%/test/test_devpoll.py
+lib/python%%XYDOT%%/test/test_dict.py
+lib/python%%XYDOT%%/test/test_dict_version.py
+lib/python%%XYDOT%%/test/test_dictcomps.py
+lib/python%%XYDOT%%/test/test_dictviews.py
+lib/python%%XYDOT%%/test/test_difflib.py
+lib/python%%XYDOT%%/test/test_difflib_expect.html
+lib/python%%XYDOT%%/test/test_dis.py
+lib/python%%XYDOT%%/test/test_distutils.py
+lib/python%%XYDOT%%/test/test_doctest.py
+lib/python%%XYDOT%%/test/test_doctest.txt
+lib/python%%XYDOT%%/test/test_doctest2.py
+lib/python%%XYDOT%%/test/test_doctest2.txt
+lib/python%%XYDOT%%/test/test_doctest3.txt
+lib/python%%XYDOT%%/test/test_doctest4.txt
+lib/python%%XYDOT%%/test/test_docxmlrpc.py
+lib/python%%XYDOT%%/test/test_dtrace.py
+lib/python%%XYDOT%%/test/test_dummy_thread.py
+lib/python%%XYDOT%%/test/test_dummy_threading.py
+lib/python%%XYDOT%%/test/test_dynamic.py
+lib/python%%XYDOT%%/test/test_dynamicclassattribute.py
+lib/python%%XYDOT%%/test/test_eintr.py
+lib/python%%XYDOT%%/test/test_email/__init__.py
+lib/python%%XYDOT%%/test/test_email/__main__.py
+lib/python%%XYDOT%%/test/test_email/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test__encoded_words.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test__encoded_words.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test__encoded_words.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test__header_value_parser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test__header_value_parser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test__header_value_parser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_asian_codecs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_asian_codecs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_asian_codecs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_contentmanager.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_contentmanager.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_contentmanager.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_defect_handling.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_defect_handling.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_defect_handling.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_email.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_email.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_email.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_generator.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_generator.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_generator.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_headerregistry.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_headerregistry.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_headerregistry.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_inversion.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_inversion.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_inversion.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_message.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_message.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_message.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_parser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_parser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_parser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_pickleable.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_pickleable.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_pickleable.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_policy.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_policy.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_policy.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_utils.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_utils.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_utils.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/torture_test.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/torture_test.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/torture_test.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/data/PyBanner048.gif
+lib/python%%XYDOT%%/test/test_email/data/audiotest.au
+lib/python%%XYDOT%%/test/test_email/data/msg_01.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_02.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_03.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_04.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_05.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_06.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_07.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_08.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_09.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_10.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_11.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_12.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_12a.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_13.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_14.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_15.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_16.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_17.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_18.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_19.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_20.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_21.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_22.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_23.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_24.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_25.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_26.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_27.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_28.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_29.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_30.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_31.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_32.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_33.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_34.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_35.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_36.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_37.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_38.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_39.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_40.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_41.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_42.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_43.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_44.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_45.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_46.txt
+lib/python%%XYDOT%%/test/test_email/test__encoded_words.py
+lib/python%%XYDOT%%/test/test_email/test__header_value_parser.py
+lib/python%%XYDOT%%/test/test_email/test_asian_codecs.py
+lib/python%%XYDOT%%/test/test_email/test_contentmanager.py
+lib/python%%XYDOT%%/test/test_email/test_defect_handling.py
+lib/python%%XYDOT%%/test/test_email/test_email.py
+lib/python%%XYDOT%%/test/test_email/test_generator.py
+lib/python%%XYDOT%%/test/test_email/test_headerregistry.py
+lib/python%%XYDOT%%/test/test_email/test_inversion.py
+lib/python%%XYDOT%%/test/test_email/test_message.py
+lib/python%%XYDOT%%/test/test_email/test_parser.py
+lib/python%%XYDOT%%/test/test_email/test_pickleable.py
+lib/python%%XYDOT%%/test/test_email/test_policy.py
+lib/python%%XYDOT%%/test/test_email/test_utils.py
+lib/python%%XYDOT%%/test/test_email/torture_test.py
+lib/python%%XYDOT%%/test/test_ensurepip.py
+lib/python%%XYDOT%%/test/test_enum.py
+lib/python%%XYDOT%%/test/test_enumerate.py
+lib/python%%XYDOT%%/test/test_eof.py
+lib/python%%XYDOT%%/test/test_epoll.py
+lib/python%%XYDOT%%/test/test_errno.py
+lib/python%%XYDOT%%/test/test_exception_hierarchy.py
+lib/python%%XYDOT%%/test/test_exception_variations.py
+lib/python%%XYDOT%%/test/test_exceptions.py
+lib/python%%XYDOT%%/test/test_extcall.py
+lib/python%%XYDOT%%/test/test_faulthandler.py
+lib/python%%XYDOT%%/test/test_fcntl.py
+lib/python%%XYDOT%%/test/test_file.py
+lib/python%%XYDOT%%/test/test_file_eintr.py
+lib/python%%XYDOT%%/test/test_filecmp.py
+lib/python%%XYDOT%%/test/test_fileinput.py
+lib/python%%XYDOT%%/test/test_fileio.py
+lib/python%%XYDOT%%/test/test_finalization.py
+lib/python%%XYDOT%%/test/test_float.py
+lib/python%%XYDOT%%/test/test_flufl.py
+lib/python%%XYDOT%%/test/test_fnmatch.py
+lib/python%%XYDOT%%/test/test_fork1.py
+lib/python%%XYDOT%%/test/test_format.py
+lib/python%%XYDOT%%/test/test_fractions.py
+lib/python%%XYDOT%%/test/test_frame.py
+lib/python%%XYDOT%%/test/test_fstring.py
+lib/python%%XYDOT%%/test/test_ftplib.py
+lib/python%%XYDOT%%/test/test_funcattrs.py
+lib/python%%XYDOT%%/test/test_functools.py
+lib/python%%XYDOT%%/test/test_future.py
+lib/python%%XYDOT%%/test/test_future3.py
+lib/python%%XYDOT%%/test/test_future4.py
+lib/python%%XYDOT%%/test/test_future5.py
+lib/python%%XYDOT%%/test/test_gc.py
+lib/python%%XYDOT%%/test/test_gdb.py
+lib/python%%XYDOT%%/test/test_generator_stop.py
+lib/python%%XYDOT%%/test/test_generators.py
+lib/python%%XYDOT%%/test/test_genericpath.py
+lib/python%%XYDOT%%/test/test_genexps.py
+lib/python%%XYDOT%%/test/test_getargs2.py
+lib/python%%XYDOT%%/test/test_getopt.py
+lib/python%%XYDOT%%/test/test_getpass.py
+lib/python%%XYDOT%%/test/test_gettext.py
+lib/python%%XYDOT%%/test/test_glob.py
+lib/python%%XYDOT%%/test/test_global.py
+lib/python%%XYDOT%%/test/test_grammar.py
+lib/python%%XYDOT%%/test/test_grp.py
+lib/python%%XYDOT%%/test/test_gzip.py
+lib/python%%XYDOT%%/test/test_hash.py
+lib/python%%XYDOT%%/test/test_hashlib.py
+lib/python%%XYDOT%%/test/test_heapq.py
+lib/python%%XYDOT%%/test/test_hmac.py
+lib/python%%XYDOT%%/test/test_html.py
+lib/python%%XYDOT%%/test/test_htmlparser.py
+lib/python%%XYDOT%%/test/test_http_cookiejar.py
+lib/python%%XYDOT%%/test/test_http_cookies.py
+lib/python%%XYDOT%%/test/test_httplib.py
+lib/python%%XYDOT%%/test/test_httpservers.py
+lib/python%%XYDOT%%/test/test_idle.py
+lib/python%%XYDOT%%/test/test_imaplib.py
+lib/python%%XYDOT%%/test/test_imghdr.py
+lib/python%%XYDOT%%/test/test_imp.py
+lib/python%%XYDOT%%/test/test_import/__init__.py
+lib/python%%XYDOT%%/test/test_import/__main__.py
+lib/python%%XYDOT%%/test/test_import/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/basic.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/basic.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/basic.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/basic2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/basic2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/basic2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/indirect.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/indirect.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/indirect.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/rebinding.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/rebinding.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/rebinding.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/rebinding2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/rebinding2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/rebinding2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/subpackage.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/subpackage.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/subpackage.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/basic.py
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/basic2.py
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/indirect.py
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/rebinding.py
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/rebinding2.py
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/subpackage.py
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/subpkg/__pycache__/subpackage2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/subpkg/__pycache__/subpackage2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/subpkg/__pycache__/subpackage2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/subpkg/__pycache__/util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/subpkg/__pycache__/util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/subpkg/__pycache__/util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/subpkg/subpackage2.py
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/subpkg/util.py
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/util.py
+lib/python%%XYDOT%%/test/test_import/data/package/__init__.py
+lib/python%%XYDOT%%/test/test_import/data/package/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/data/package/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/data/package/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/package/__pycache__/submodule.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/data/package/__pycache__/submodule.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/data/package/__pycache__/submodule.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/package/submodule.py
+lib/python%%XYDOT%%/test/test_import/data/package2/__pycache__/submodule1.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/data/package2/__pycache__/submodule1.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/data/package2/__pycache__/submodule1.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/package2/__pycache__/submodule2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/data/package2/__pycache__/submodule2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/data/package2/__pycache__/submodule2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/package2/submodule1.py
+lib/python%%XYDOT%%/test/test_import/data/package2/submodule2.py
+lib/python%%XYDOT%%/test/test_importlib/__init__.py
+lib/python%%XYDOT%%/test/test_importlib/__main__.py
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/abc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/abc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/abc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_abc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_abc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_abc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_api.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_api.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_api.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_lazy.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_lazy.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_lazy.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_locks.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_locks.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_locks.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_namespace_pkgs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_namespace_pkgs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_namespace_pkgs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_spec.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_spec.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_spec.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_windows.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_windows.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_windows.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/abc.py
+lib/python%%XYDOT%%/test/test_importlib/builtin/__init__.py
+lib/python%%XYDOT%%/test/test_importlib/builtin/__main__.py
+lib/python%%XYDOT%%/test/test_importlib/builtin/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/builtin/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/builtin/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/builtin/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/builtin/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/builtin/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/builtin/__pycache__/test_finder.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/builtin/__pycache__/test_finder.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/builtin/__pycache__/test_finder.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/builtin/__pycache__/test_loader.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/builtin/__pycache__/test_loader.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/builtin/__pycache__/test_loader.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/builtin/test_finder.py
+lib/python%%XYDOT%%/test/test_importlib/builtin/test_loader.py
+lib/python%%XYDOT%%/test/test_importlib/extension/__init__.py
+lib/python%%XYDOT%%/test/test_importlib/extension/__main__.py
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/test_case_sensitivity.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/test_case_sensitivity.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/test_case_sensitivity.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/test_finder.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/test_finder.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/test_finder.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/test_loader.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/test_loader.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/test_loader.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/test_path_hook.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/test_path_hook.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/test_path_hook.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/test_case_sensitivity.py
+lib/python%%XYDOT%%/test/test_importlib/extension/test_finder.py
+lib/python%%XYDOT%%/test/test_importlib/extension/test_loader.py
+lib/python%%XYDOT%%/test/test_importlib/extension/test_path_hook.py
+lib/python%%XYDOT%%/test/test_importlib/frozen/__init__.py
+lib/python%%XYDOT%%/test/test_importlib/frozen/__main__.py
+lib/python%%XYDOT%%/test/test_importlib/frozen/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/frozen/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/frozen/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/frozen/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/frozen/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/frozen/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/frozen/__pycache__/test_finder.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/frozen/__pycache__/test_finder.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/frozen/__pycache__/test_finder.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/frozen/__pycache__/test_loader.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/frozen/__pycache__/test_loader.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/frozen/__pycache__/test_loader.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/frozen/test_finder.py
+lib/python%%XYDOT%%/test/test_importlib/frozen/test_loader.py
+lib/python%%XYDOT%%/test/test_importlib/import_/__init__.py
+lib/python%%XYDOT%%/test/test_importlib/import_/__main__.py
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test___loader__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test___loader__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test___loader__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test___package__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test___package__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test___package__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_api.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_api.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_api.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_caching.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_caching.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_caching.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_fromlist.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_fromlist.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_fromlist.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_meta_path.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_meta_path.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_meta_path.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_packages.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_packages.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_packages.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_path.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_path.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_path.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_relative_imports.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_relative_imports.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_relative_imports.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/test___loader__.py
+lib/python%%XYDOT%%/test/test_importlib/import_/test___package__.py
+lib/python%%XYDOT%%/test/test_importlib/import_/test_api.py
+lib/python%%XYDOT%%/test/test_importlib/import_/test_caching.py
+lib/python%%XYDOT%%/test/test_importlib/import_/test_fromlist.py
+lib/python%%XYDOT%%/test/test_importlib/import_/test_meta_path.py
+lib/python%%XYDOT%%/test/test_importlib/import_/test_packages.py
+lib/python%%XYDOT%%/test/test_importlib/import_/test_path.py
+lib/python%%XYDOT%%/test/test_importlib/import_/test_relative_imports.py
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/both_portions/foo/__pycache__/one.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/both_portions/foo/__pycache__/one.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/both_portions/foo/__pycache__/one.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/both_portions/foo/__pycache__/two.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/both_portions/foo/__pycache__/two.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/both_portions/foo/__pycache__/two.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/both_portions/foo/one.py
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/both_portions/foo/two.py
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/missing_directory.zip
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/module_and_namespace_package/__pycache__/a_test.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/module_and_namespace_package/__pycache__/a_test.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/module_and_namespace_package/__pycache__/a_test.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/module_and_namespace_package/a_test.py
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/module_and_namespace_package/a_test/empty
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/nested_portion1.zip
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/not_a_namespace_pkg/foo/__init__.py
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/not_a_namespace_pkg/foo/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/not_a_namespace_pkg/foo/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/not_a_namespace_pkg/foo/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/not_a_namespace_pkg/foo/__pycache__/one.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/not_a_namespace_pkg/foo/__pycache__/one.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/not_a_namespace_pkg/foo/__pycache__/one.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/not_a_namespace_pkg/foo/one.py
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/portion1/foo/__pycache__/one.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/portion1/foo/__pycache__/one.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/portion1/foo/__pycache__/one.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/portion1/foo/one.py
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/portion2/foo/__pycache__/two.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/portion2/foo/__pycache__/two.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/portion2/foo/__pycache__/two.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/portion2/foo/two.py
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/project1/parent/child/__pycache__/one.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/project1/parent/child/__pycache__/one.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/project1/parent/child/__pycache__/one.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/project1/parent/child/one.py
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/project2/parent/child/__pycache__/two.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/project2/parent/child/__pycache__/two.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/project2/parent/child/__pycache__/two.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/project2/parent/child/two.py
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/project3/parent/child/__pycache__/three.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/project3/parent/child/__pycache__/three.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/project3/parent/child/__pycache__/three.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/project3/parent/child/three.py
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/top_level_portion1.zip
+lib/python%%XYDOT%%/test/test_importlib/source/__init__.py
+lib/python%%XYDOT%%/test/test_importlib/source/__main__.py
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_case_sensitivity.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_case_sensitivity.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_case_sensitivity.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_file_loader.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_file_loader.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_file_loader.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_finder.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_finder.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_finder.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_path_hook.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_path_hook.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_path_hook.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_source_encoding.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_source_encoding.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_source_encoding.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/test_case_sensitivity.py
+lib/python%%XYDOT%%/test/test_importlib/source/test_file_loader.py
+lib/python%%XYDOT%%/test/test_importlib/source/test_finder.py
+lib/python%%XYDOT%%/test/test_importlib/source/test_path_hook.py
+lib/python%%XYDOT%%/test/test_importlib/source/test_source_encoding.py
+lib/python%%XYDOT%%/test/test_importlib/test_abc.py
+lib/python%%XYDOT%%/test/test_importlib/test_api.py
+lib/python%%XYDOT%%/test/test_importlib/test_lazy.py
+lib/python%%XYDOT%%/test/test_importlib/test_locks.py
+lib/python%%XYDOT%%/test/test_importlib/test_namespace_pkgs.py
+lib/python%%XYDOT%%/test/test_importlib/test_spec.py
+lib/python%%XYDOT%%/test/test_importlib/test_util.py
+lib/python%%XYDOT%%/test/test_importlib/test_windows.py
+lib/python%%XYDOT%%/test/test_importlib/util.py
+lib/python%%XYDOT%%/test/test_index.py
+lib/python%%XYDOT%%/test/test_inspect.py
+lib/python%%XYDOT%%/test/test_int.py
+lib/python%%XYDOT%%/test/test_int_literal.py
+lib/python%%XYDOT%%/test/test_io.py
+lib/python%%XYDOT%%/test/test_ioctl.py
+lib/python%%XYDOT%%/test/test_ipaddress.py
+lib/python%%XYDOT%%/test/test_isinstance.py
+lib/python%%XYDOT%%/test/test_iter.py
+lib/python%%XYDOT%%/test/test_iterlen.py
+lib/python%%XYDOT%%/test/test_itertools.py
+lib/python%%XYDOT%%/test/test_json/__init__.py
+lib/python%%XYDOT%%/test/test_json/__main__.py
+lib/python%%XYDOT%%/test/test_json/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_decode.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_decode.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_decode.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_default.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_default.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_default.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_dump.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_dump.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_dump.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_encode_basestring_ascii.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_encode_basestring_ascii.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_encode_basestring_ascii.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_enum.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_enum.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_enum.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_fail.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_fail.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_fail.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_float.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_float.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_float.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_indent.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_indent.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_indent.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_pass1.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_pass1.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_pass1.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_pass2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_pass2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_pass2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_pass3.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_pass3.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_pass3.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_recursion.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_recursion.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_recursion.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_scanstring.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_scanstring.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_scanstring.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_separators.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_separators.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_separators.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_speedups.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_speedups.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_speedups.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_tool.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_tool.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_tool.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_unicode.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_unicode.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_unicode.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/test_decode.py
+lib/python%%XYDOT%%/test/test_json/test_default.py
+lib/python%%XYDOT%%/test/test_json/test_dump.py
+lib/python%%XYDOT%%/test/test_json/test_encode_basestring_ascii.py
+lib/python%%XYDOT%%/test/test_json/test_enum.py
+lib/python%%XYDOT%%/test/test_json/test_fail.py
+lib/python%%XYDOT%%/test/test_json/test_float.py
+lib/python%%XYDOT%%/test/test_json/test_indent.py
+lib/python%%XYDOT%%/test/test_json/test_pass1.py
+lib/python%%XYDOT%%/test/test_json/test_pass2.py
+lib/python%%XYDOT%%/test/test_json/test_pass3.py
+lib/python%%XYDOT%%/test/test_json/test_recursion.py
+lib/python%%XYDOT%%/test/test_json/test_scanstring.py
+lib/python%%XYDOT%%/test/test_json/test_separators.py
+lib/python%%XYDOT%%/test/test_json/test_speedups.py
+lib/python%%XYDOT%%/test/test_json/test_tool.py
+lib/python%%XYDOT%%/test/test_json/test_unicode.py
+lib/python%%XYDOT%%/test/test_keyword.py
+lib/python%%XYDOT%%/test/test_keywordonlyarg.py
+lib/python%%XYDOT%%/test/test_kqueue.py
+lib/python%%XYDOT%%/test/test_largefile.py
+lib/python%%XYDOT%%/test/test_lib2to3.py
+lib/python%%XYDOT%%/test/test_linecache.py
+lib/python%%XYDOT%%/test/test_list.py
+lib/python%%XYDOT%%/test/test_listcomps.py
+lib/python%%XYDOT%%/test/test_locale.py
+lib/python%%XYDOT%%/test/test_logging.py
+lib/python%%XYDOT%%/test/test_long.py
+lib/python%%XYDOT%%/test/test_longexp.py
+lib/python%%XYDOT%%/test/test_lzma.py
+lib/python%%XYDOT%%/test/test_macpath.py
+lib/python%%XYDOT%%/test/test_macurl2path.py
+lib/python%%XYDOT%%/test/test_mailbox.py
+lib/python%%XYDOT%%/test/test_mailcap.py
+lib/python%%XYDOT%%/test/test_marshal.py
+lib/python%%XYDOT%%/test/test_math.py
+lib/python%%XYDOT%%/test/test_memoryio.py
+lib/python%%XYDOT%%/test/test_memoryview.py
+lib/python%%XYDOT%%/test/test_metaclass.py
+lib/python%%XYDOT%%/test/test_mimetypes.py
+lib/python%%XYDOT%%/test/test_minidom.py
+lib/python%%XYDOT%%/test/test_mmap.py
+lib/python%%XYDOT%%/test/test_module.py
+lib/python%%XYDOT%%/test/test_modulefinder.py
+lib/python%%XYDOT%%/test/test_msilib.py
+lib/python%%XYDOT%%/test/test_multibytecodec.py
+lib/python%%XYDOT%%/test/test_multiprocessing_fork.py
+lib/python%%XYDOT%%/test/test_multiprocessing_forkserver.py
+lib/python%%XYDOT%%/test/test_multiprocessing_main_handling.py
+lib/python%%XYDOT%%/test/test_multiprocessing_spawn.py
+lib/python%%XYDOT%%/test/test_netrc.py
+lib/python%%XYDOT%%/test/test_nis.py
+lib/python%%XYDOT%%/test/test_nntplib.py
+lib/python%%XYDOT%%/test/test_normalization.py
+lib/python%%XYDOT%%/test/test_ntpath.py
+lib/python%%XYDOT%%/test/test_numeric_tower.py
+lib/python%%XYDOT%%/test/test_opcodes.py
+lib/python%%XYDOT%%/test/test_openpty.py
+lib/python%%XYDOT%%/test/test_operator.py
+lib/python%%XYDOT%%/test/test_optparse.py
+lib/python%%XYDOT%%/test/test_ordered_dict.py
+lib/python%%XYDOT%%/test/test_os.py
+lib/python%%XYDOT%%/test/test_ossaudiodev.py
+lib/python%%XYDOT%%/test/test_osx_env.py
+lib/python%%XYDOT%%/test/test_parser.py
+lib/python%%XYDOT%%/test/test_pathlib.py
+lib/python%%XYDOT%%/test/test_pdb.py
+lib/python%%XYDOT%%/test/test_peepholer.py
+lib/python%%XYDOT%%/test/test_pickle.py
+lib/python%%XYDOT%%/test/test_pickletools.py
+lib/python%%XYDOT%%/test/test_pipes.py
+lib/python%%XYDOT%%/test/test_pkg.py
+lib/python%%XYDOT%%/test/test_pkgimport.py
+lib/python%%XYDOT%%/test/test_pkgutil.py
+lib/python%%XYDOT%%/test/test_platform.py
+lib/python%%XYDOT%%/test/test_plistlib.py
+lib/python%%XYDOT%%/test/test_poll.py
+lib/python%%XYDOT%%/test/test_popen.py
+lib/python%%XYDOT%%/test/test_poplib.py
+lib/python%%XYDOT%%/test/test_posix.py
+lib/python%%XYDOT%%/test/test_posixpath.py
+lib/python%%XYDOT%%/test/test_pow.py
+lib/python%%XYDOT%%/test/test_pprint.py
+lib/python%%XYDOT%%/test/test_print.py
+lib/python%%XYDOT%%/test/test_profile.py
+lib/python%%XYDOT%%/test/test_property.py
+lib/python%%XYDOT%%/test/test_pstats.py
+lib/python%%XYDOT%%/test/test_pty.py
+lib/python%%XYDOT%%/test/test_pulldom.py
+lib/python%%XYDOT%%/test/test_pwd.py
+lib/python%%XYDOT%%/test/test_py_compile.py
+lib/python%%XYDOT%%/test/test_pyclbr.py
+lib/python%%XYDOT%%/test/test_pydoc.py
+lib/python%%XYDOT%%/test/test_pyexpat.py
+lib/python%%XYDOT%%/test/test_queue.py
+lib/python%%XYDOT%%/test/test_quopri.py
+lib/python%%XYDOT%%/test/test_raise.py
+lib/python%%XYDOT%%/test/test_random.py
+lib/python%%XYDOT%%/test/test_range.py
+lib/python%%XYDOT%%/test/test_re.py
+lib/python%%XYDOT%%/test/test_readline.py
+lib/python%%XYDOT%%/test/test_regrtest.py
+lib/python%%XYDOT%%/test/test_repl.py
+lib/python%%XYDOT%%/test/test_reprlib.py
+lib/python%%XYDOT%%/test/test_resource.py
+lib/python%%XYDOT%%/test/test_richcmp.py
+lib/python%%XYDOT%%/test/test_rlcompleter.py
+lib/python%%XYDOT%%/test/test_robotparser.py
+lib/python%%XYDOT%%/test/test_runpy.py
+lib/python%%XYDOT%%/test/test_sax.py
+lib/python%%XYDOT%%/test/test_sched.py
+lib/python%%XYDOT%%/test/test_scope.py
+lib/python%%XYDOT%%/test/test_script_helper.py
+lib/python%%XYDOT%%/test/test_secrets.py
+lib/python%%XYDOT%%/test/test_select.py
+lib/python%%XYDOT%%/test/test_selectors.py
+lib/python%%XYDOT%%/test/test_set.py
+lib/python%%XYDOT%%/test/test_setcomps.py
+lib/python%%XYDOT%%/test/test_shelve.py
+lib/python%%XYDOT%%/test/test_shlex.py
+lib/python%%XYDOT%%/test/test_shutil.py
+lib/python%%XYDOT%%/test/test_signal.py
+lib/python%%XYDOT%%/test/test_site.py
+lib/python%%XYDOT%%/test/test_slice.py
+lib/python%%XYDOT%%/test/test_smtpd.py
+lib/python%%XYDOT%%/test/test_smtplib.py
+lib/python%%XYDOT%%/test/test_smtpnet.py
+lib/python%%XYDOT%%/test/test_sndhdr.py
+lib/python%%XYDOT%%/test/test_socket.py
+lib/python%%XYDOT%%/test/test_socketserver.py
+lib/python%%XYDOT%%/test/test_sort.py
+lib/python%%XYDOT%%/test/test_source_encoding.py
+lib/python%%XYDOT%%/test/test_spwd.py
+lib/python%%XYDOT%%/test/test_sqlite.py
+lib/python%%XYDOT%%/test/test_ssl.py
+lib/python%%XYDOT%%/test/test_startfile.py
+lib/python%%XYDOT%%/test/test_stat.py
+lib/python%%XYDOT%%/test/test_statistics.py
+lib/python%%XYDOT%%/test/test_strftime.py
+lib/python%%XYDOT%%/test/test_string.py
+lib/python%%XYDOT%%/test/test_string_literals.py
+lib/python%%XYDOT%%/test/test_stringprep.py
+lib/python%%XYDOT%%/test/test_strptime.py
+lib/python%%XYDOT%%/test/test_strtod.py
+lib/python%%XYDOT%%/test/test_struct.py
+lib/python%%XYDOT%%/test/test_structmembers.py
+lib/python%%XYDOT%%/test/test_structseq.py
+lib/python%%XYDOT%%/test/test_subclassinit.py
+lib/python%%XYDOT%%/test/test_subprocess.py
+lib/python%%XYDOT%%/test/test_sunau.py
+lib/python%%XYDOT%%/test/test_sundry.py
+lib/python%%XYDOT%%/test/test_super.py
+lib/python%%XYDOT%%/test/test_support.py
+lib/python%%XYDOT%%/test/test_symbol.py
+lib/python%%XYDOT%%/test/test_symtable.py
+lib/python%%XYDOT%%/test/test_syntax.py
+lib/python%%XYDOT%%/test/test_sys.py
+lib/python%%XYDOT%%/test/test_sys_setprofile.py
+lib/python%%XYDOT%%/test/test_sys_settrace.py
+lib/python%%XYDOT%%/test/test_sysconfig.py
+lib/python%%XYDOT%%/test/test_syslog.py
+lib/python%%XYDOT%%/test/test_tarfile.py
+lib/python%%XYDOT%%/test/test_tcl.py
+lib/python%%XYDOT%%/test/test_telnetlib.py
+lib/python%%XYDOT%%/test/test_tempfile.py
+lib/python%%XYDOT%%/test/test_textwrap.py
+lib/python%%XYDOT%%/test/test_thread.py
+lib/python%%XYDOT%%/test/test_threaded_import.py
+lib/python%%XYDOT%%/test/test_threadedtempfile.py
+lib/python%%XYDOT%%/test/test_threading.py
+lib/python%%XYDOT%%/test/test_threading_local.py
+lib/python%%XYDOT%%/test/test_threadsignals.py
+lib/python%%XYDOT%%/test/test_time.py
+lib/python%%XYDOT%%/test/test_timeit.py
+lib/python%%XYDOT%%/test/test_timeout.py
+lib/python%%XYDOT%%/test/test_tix.py
+lib/python%%XYDOT%%/test/test_tk.py
+lib/python%%XYDOT%%/test/test_tokenize.py
+lib/python%%XYDOT%%/test/test_tools/__init__.py
+lib/python%%XYDOT%%/test/test_tools/__main__.py
+lib/python%%XYDOT%%/test/test_tools/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_fixcid.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_fixcid.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_fixcid.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_gprof2html.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_gprof2html.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_gprof2html.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_i18n.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_i18n.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_i18n.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_md5sum.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_md5sum.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_md5sum.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_pdeps.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_pdeps.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_pdeps.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_pindent.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_pindent.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_pindent.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_reindent.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_reindent.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_reindent.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_sundry.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_sundry.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_sundry.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_unparse.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_unparse.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_unparse.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_tools/test_fixcid.py
+lib/python%%XYDOT%%/test/test_tools/test_gprof2html.py
+lib/python%%XYDOT%%/test/test_tools/test_i18n.py
+lib/python%%XYDOT%%/test/test_tools/test_md5sum.py
+lib/python%%XYDOT%%/test/test_tools/test_pdeps.py
+lib/python%%XYDOT%%/test/test_tools/test_pindent.py
+lib/python%%XYDOT%%/test/test_tools/test_reindent.py
+lib/python%%XYDOT%%/test/test_tools/test_sundry.py
+lib/python%%XYDOT%%/test/test_tools/test_unparse.py
+lib/python%%XYDOT%%/test/test_trace.py
+lib/python%%XYDOT%%/test/test_traceback.py
+lib/python%%XYDOT%%/test/test_tracemalloc.py
+lib/python%%XYDOT%%/test/test_ttk_guionly.py
+lib/python%%XYDOT%%/test/test_ttk_textonly.py
+lib/python%%XYDOT%%/test/test_tuple.py
+lib/python%%XYDOT%%/test/test_turtle.py
+lib/python%%XYDOT%%/test/test_typechecks.py
+lib/python%%XYDOT%%/test/test_types.py
+lib/python%%XYDOT%%/test/test_typing.py
+lib/python%%XYDOT%%/test/test_ucn.py
+lib/python%%XYDOT%%/test/test_unary.py
+lib/python%%XYDOT%%/test/test_unicode.py
+lib/python%%XYDOT%%/test/test_unicode_file.py
+lib/python%%XYDOT%%/test/test_unicode_file_functions.py
+lib/python%%XYDOT%%/test/test_unicode_identifiers.py
+lib/python%%XYDOT%%/test/test_unicodedata.py
+lib/python%%XYDOT%%/test/test_unittest.py
+lib/python%%XYDOT%%/test/test_univnewlines.py
+lib/python%%XYDOT%%/test/test_unpack.py
+lib/python%%XYDOT%%/test/test_unpack_ex.py
+lib/python%%XYDOT%%/test/test_urllib.py
+lib/python%%XYDOT%%/test/test_urllib2.py
+lib/python%%XYDOT%%/test/test_urllib2_localnet.py
+lib/python%%XYDOT%%/test/test_urllib2net.py
+lib/python%%XYDOT%%/test/test_urllib_response.py
+lib/python%%XYDOT%%/test/test_urllibnet.py
+lib/python%%XYDOT%%/test/test_urlparse.py
+lib/python%%XYDOT%%/test/test_userdict.py
+lib/python%%XYDOT%%/test/test_userlist.py
+lib/python%%XYDOT%%/test/test_userstring.py
+lib/python%%XYDOT%%/test/test_utf8source.py
+lib/python%%XYDOT%%/test/test_uu.py
+lib/python%%XYDOT%%/test/test_uuid.py
+lib/python%%XYDOT%%/test/test_venv.py
+lib/python%%XYDOT%%/test/test_wait3.py
+lib/python%%XYDOT%%/test/test_wait4.py
+lib/python%%XYDOT%%/test/test_warnings/__init__.py
+lib/python%%XYDOT%%/test/test_warnings/__main__.py
+lib/python%%XYDOT%%/test/test_warnings/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_warnings/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_warnings/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_warnings/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_warnings/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_warnings/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_warnings/data/__pycache__/import_warning.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_warnings/data/__pycache__/import_warning.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_warnings/data/__pycache__/import_warning.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_warnings/data/__pycache__/stacklevel.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_warnings/data/__pycache__/stacklevel.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_warnings/data/__pycache__/stacklevel.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_warnings/data/import_warning.py
+lib/python%%XYDOT%%/test/test_warnings/data/stacklevel.py
+lib/python%%XYDOT%%/test/test_wave.py
+lib/python%%XYDOT%%/test/test_weakref.py
+lib/python%%XYDOT%%/test/test_weakset.py
+lib/python%%XYDOT%%/test/test_webbrowser.py
+lib/python%%XYDOT%%/test/test_winconsoleio.py
+lib/python%%XYDOT%%/test/test_winreg.py
+lib/python%%XYDOT%%/test/test_winsound.py
+lib/python%%XYDOT%%/test/test_with.py
+lib/python%%XYDOT%%/test/test_wsgiref.py
+lib/python%%XYDOT%%/test/test_xdrlib.py
+lib/python%%XYDOT%%/test/test_xml_dom_minicompat.py
+lib/python%%XYDOT%%/test/test_xml_etree.py
+lib/python%%XYDOT%%/test/test_xml_etree_c.py
+lib/python%%XYDOT%%/test/test_xmlrpc.py
+lib/python%%XYDOT%%/test/test_xmlrpc_net.py
+lib/python%%XYDOT%%/test/test_yield_from.py
+lib/python%%XYDOT%%/test/test_zipapp.py
+lib/python%%XYDOT%%/test/test_zipfile.py
+lib/python%%XYDOT%%/test/test_zipfile64.py
+lib/python%%XYDOT%%/test/test_zipimport.py
+lib/python%%XYDOT%%/test/test_zipimport_support.py
+lib/python%%XYDOT%%/test/test_zlib.py
+lib/python%%XYDOT%%/test/testcodec.py
+lib/python%%XYDOT%%/test/testtar.tar
+lib/python%%XYDOT%%/test/tf_inherit_check.py
+lib/python%%XYDOT%%/test/threaded_import_hangers.py
+lib/python%%XYDOT%%/test/time_hashlib.py
+lib/python%%XYDOT%%/test/tokenize_tests-latin1-coding-cookie-and-utf8-bom-sig.txt
+lib/python%%XYDOT%%/test/tokenize_tests-no-coding-cookie-and-utf8-bom-sig-only.txt
+lib/python%%XYDOT%%/test/tokenize_tests-utf8-coding-cookie-and-no-utf8-bom-sig.txt
+lib/python%%XYDOT%%/test/tokenize_tests-utf8-coding-cookie-and-utf8-bom-sig.txt
+lib/python%%XYDOT%%/test/tokenize_tests.txt
+lib/python%%XYDOT%%/test/tracedmodules/__init__.py
+lib/python%%XYDOT%%/test/tracedmodules/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/tracedmodules/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/tracedmodules/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/tracedmodules/__pycache__/testmod.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/tracedmodules/__pycache__/testmod.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/tracedmodules/__pycache__/testmod.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/tracedmodules/testmod.py
+lib/python%%XYDOT%%/test/win_console_handler.py
+lib/python%%XYDOT%%/test/xmltestdata/expat224_utf8_bug.xml
+lib/python%%XYDOT%%/test/xmltestdata/simple-ns.xml
+lib/python%%XYDOT%%/test/xmltestdata/simple.xml
+lib/python%%XYDOT%%/test/xmltestdata/test.xml
+lib/python%%XYDOT%%/test/xmltestdata/test.xml.out
+lib/python%%XYDOT%%/test/xmltests.py
+lib/python%%XYDOT%%/test/zip_cp437_header.zip
+lib/python%%XYDOT%%/test/zipdir.zip
+lib/python%%XYDOT%%/textwrap.py
+lib/python%%XYDOT%%/this.py
+lib/python%%XYDOT%%/threading.py
+lib/python%%XYDOT%%/timeit.py
+lib/python%%XYDOT%%/tkinter/__init__.py
+lib/python%%XYDOT%%/tkinter/__main__.py
+lib/python%%XYDOT%%/tkinter/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/colorchooser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/colorchooser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/colorchooser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/commondialog.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/commondialog.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/commondialog.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/constants.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/constants.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/constants.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/dialog.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/dialog.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/dialog.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/dnd.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/dnd.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/dnd.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/filedialog.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/filedialog.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/filedialog.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/font.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/font.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/font.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/messagebox.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/messagebox.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/messagebox.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/scrolledtext.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/scrolledtext.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/scrolledtext.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/simpledialog.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/simpledialog.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/simpledialog.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/tix.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/tix.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/tix.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/ttk.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/ttk.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/ttk.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/colorchooser.py
+lib/python%%XYDOT%%/tkinter/commondialog.py
+lib/python%%XYDOT%%/tkinter/constants.py
+lib/python%%XYDOT%%/tkinter/dialog.py
+lib/python%%XYDOT%%/tkinter/dnd.py
+lib/python%%XYDOT%%/tkinter/filedialog.py
+lib/python%%XYDOT%%/tkinter/font.py
+lib/python%%XYDOT%%/tkinter/messagebox.py
+lib/python%%XYDOT%%/tkinter/scrolledtext.py
+lib/python%%XYDOT%%/tkinter/simpledialog.py
+lib/python%%XYDOT%%/tkinter/test/README
+lib/python%%XYDOT%%/tkinter/test/__init__.py
+lib/python%%XYDOT%%/tkinter/test/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/__pycache__/runtktests.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/__pycache__/runtktests.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/__pycache__/runtktests.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/__pycache__/support.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/__pycache__/support.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/__pycache__/support.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/__pycache__/widget_tests.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/__pycache__/widget_tests.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/__pycache__/widget_tests.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/runtktests.py
+lib/python%%XYDOT%%/tkinter/test/support.py
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__init__.py
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_font.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_font.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_font.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_geometry_managers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_geometry_managers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_geometry_managers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_images.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_images.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_images.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_loadtk.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_loadtk.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_loadtk.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_misc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_misc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_misc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_text.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_text.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_text.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_variables.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_variables.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_variables.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_widgets.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_widgets.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_widgets.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/test_font.py
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/test_geometry_managers.py
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/test_images.py
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/test_loadtk.py
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/test_misc.py
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/test_text.py
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/test_variables.py
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/test_widgets.py
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__init__.py
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/test_extensions.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/test_extensions.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/test_extensions.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/test_functions.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/test_functions.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/test_functions.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/test_style.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/test_style.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/test_style.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/test_widgets.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/test_widgets.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/test_widgets.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/test_extensions.py
+lib/python%%XYDOT%%/tkinter/test/test_ttk/test_functions.py
+lib/python%%XYDOT%%/tkinter/test/test_ttk/test_style.py
+lib/python%%XYDOT%%/tkinter/test/test_ttk/test_widgets.py
+lib/python%%XYDOT%%/tkinter/test/widget_tests.py
+lib/python%%XYDOT%%/tkinter/tix.py
+lib/python%%XYDOT%%/tkinter/ttk.py
+lib/python%%XYDOT%%/token.py
+lib/python%%XYDOT%%/tokenize.py
+lib/python%%XYDOT%%/trace.py
+lib/python%%XYDOT%%/traceback.py
+lib/python%%XYDOT%%/tracemalloc.py
+lib/python%%XYDOT%%/tty.py
+lib/python%%XYDOT%%/turtle.py
+lib/python%%XYDOT%%/turtledemo/__init__.py
+lib/python%%XYDOT%%/turtledemo/__main__.py
+lib/python%%XYDOT%%/turtledemo/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/bytedesign.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/bytedesign.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/bytedesign.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/chaos.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/chaos.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/chaos.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/clock.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/clock.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/clock.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/colormixer.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/colormixer.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/colormixer.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/forest.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/forest.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/forest.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/fractalcurves.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/fractalcurves.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/fractalcurves.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/lindenmayer.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/lindenmayer.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/lindenmayer.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/minimal_hanoi.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/minimal_hanoi.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/minimal_hanoi.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/nim.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/nim.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/nim.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/paint.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/paint.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/paint.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/peace.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/peace.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/peace.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/penrose.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/penrose.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/penrose.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/planet_and_moon.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/planet_and_moon.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/planet_and_moon.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/rosette.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/rosette.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/rosette.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/round_dance.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/round_dance.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/round_dance.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/sorting_animate.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/sorting_animate.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/sorting_animate.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/tree.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/tree.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/tree.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/two_canvases.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/two_canvases.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/two_canvases.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/yinyang.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/yinyang.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/yinyang.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/bytedesign.py
+lib/python%%XYDOT%%/turtledemo/chaos.py
+lib/python%%XYDOT%%/turtledemo/clock.py
+lib/python%%XYDOT%%/turtledemo/colormixer.py
+lib/python%%XYDOT%%/turtledemo/forest.py
+lib/python%%XYDOT%%/turtledemo/fractalcurves.py
+lib/python%%XYDOT%%/turtledemo/lindenmayer.py
+lib/python%%XYDOT%%/turtledemo/minimal_hanoi.py
+lib/python%%XYDOT%%/turtledemo/nim.py
+lib/python%%XYDOT%%/turtledemo/paint.py
+lib/python%%XYDOT%%/turtledemo/peace.py
+lib/python%%XYDOT%%/turtledemo/penrose.py
+lib/python%%XYDOT%%/turtledemo/planet_and_moon.py
+lib/python%%XYDOT%%/turtledemo/round_dance.py
+lib/python%%XYDOT%%/turtledemo/rosette.py
+lib/python%%XYDOT%%/turtledemo/sorting_animate.py
+lib/python%%XYDOT%%/turtledemo/tree.py
+lib/python%%XYDOT%%/turtledemo/turtle.cfg
+lib/python%%XYDOT%%/turtledemo/two_canvases.py
+lib/python%%XYDOT%%/turtledemo/yinyang.py
+lib/python%%XYDOT%%/types.py
+lib/python%%XYDOT%%/typing.py
+lib/python%%XYDOT%%/unittest/__init__.py
+lib/python%%XYDOT%%/unittest/__main__.py
+lib/python%%XYDOT%%/unittest/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/case.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/case.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/case.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/loader.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/loader.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/loader.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/main.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/main.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/main.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/mock.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/mock.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/mock.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/result.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/result.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/result.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/runner.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/runner.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/runner.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/signals.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/signals.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/signals.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/suite.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/suite.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/suite.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/case.py
+lib/python%%XYDOT%%/unittest/loader.py
+lib/python%%XYDOT%%/unittest/main.py
+lib/python%%XYDOT%%/unittest/mock.py
+lib/python%%XYDOT%%/unittest/result.py
+lib/python%%XYDOT%%/unittest/runner.py
+lib/python%%XYDOT%%/unittest/signals.py
+lib/python%%XYDOT%%/unittest/suite.py
+lib/python%%XYDOT%%/unittest/test/__init__.py
+lib/python%%XYDOT%%/unittest/test/__main__.py
+lib/python%%XYDOT%%/unittest/test/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/_test_warnings.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/_test_warnings.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/_test_warnings.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/dummy.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/dummy.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/dummy.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/support.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/support.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/support.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_assertions.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_assertions.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_assertions.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_break.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_break.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_break.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_case.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_case.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_case.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_discovery.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_discovery.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_discovery.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_functiontestcase.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_functiontestcase.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_functiontestcase.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_loader.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_loader.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_loader.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_program.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_program.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_program.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_result.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_result.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_result.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_runner.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_runner.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_runner.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_setups.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_setups.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_setups.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_skipping.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_skipping.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_skipping.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_suite.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_suite.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_suite.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/_test_warnings.py
+lib/python%%XYDOT%%/unittest/test/dummy.py
+lib/python%%XYDOT%%/unittest/test/support.py
+lib/python%%XYDOT%%/unittest/test/test_assertions.py
+lib/python%%XYDOT%%/unittest/test/test_break.py
+lib/python%%XYDOT%%/unittest/test/test_case.py
+lib/python%%XYDOT%%/unittest/test/test_discovery.py
+lib/python%%XYDOT%%/unittest/test/test_functiontestcase.py
+lib/python%%XYDOT%%/unittest/test/test_loader.py
+lib/python%%XYDOT%%/unittest/test/test_program.py
+lib/python%%XYDOT%%/unittest/test/test_result.py
+lib/python%%XYDOT%%/unittest/test/test_runner.py
+lib/python%%XYDOT%%/unittest/test/test_setups.py
+lib/python%%XYDOT%%/unittest/test/test_skipping.py
+lib/python%%XYDOT%%/unittest/test/test_suite.py
+lib/python%%XYDOT%%/unittest/test/testmock/__init__.py
+lib/python%%XYDOT%%/unittest/test/testmock/__main__.py
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/support.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/support.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/support.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testcallable.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testcallable.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testcallable.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testhelpers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testhelpers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testhelpers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testmagicmethods.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testmagicmethods.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testmagicmethods.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testmock.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testmock.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testmock.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testpatch.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testpatch.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testpatch.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testsentinel.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testsentinel.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testsentinel.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testwith.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testwith.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testwith.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/support.py
+lib/python%%XYDOT%%/unittest/test/testmock/testcallable.py
+lib/python%%XYDOT%%/unittest/test/testmock/testhelpers.py
+lib/python%%XYDOT%%/unittest/test/testmock/testmagicmethods.py
+lib/python%%XYDOT%%/unittest/test/testmock/testmock.py
+lib/python%%XYDOT%%/unittest/test/testmock/testpatch.py
+lib/python%%XYDOT%%/unittest/test/testmock/testsentinel.py
+lib/python%%XYDOT%%/unittest/test/testmock/testwith.py
+lib/python%%XYDOT%%/unittest/util.py
+lib/python%%XYDOT%%/urllib/__init__.py
+lib/python%%XYDOT%%/urllib/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/error.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/error.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/error.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/parse.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/parse.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/parse.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/request.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/request.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/request.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/response.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/response.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/response.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/robotparser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/robotparser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/robotparser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/urllib/error.py
+lib/python%%XYDOT%%/urllib/parse.py
+lib/python%%XYDOT%%/urllib/request.py
+lib/python%%XYDOT%%/urllib/response.py
+lib/python%%XYDOT%%/urllib/robotparser.py
+lib/python%%XYDOT%%/uu.py
+lib/python%%XYDOT%%/uuid.py
+lib/python%%XYDOT%%/venv/__init__.py
+lib/python%%XYDOT%%/venv/__main__.py
+lib/python%%XYDOT%%/venv/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/venv/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/venv/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/venv/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/venv/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/venv/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/venv/scripts/common/activate
+lib/python%%XYDOT%%/venv/scripts/posix/activate.csh
+lib/python%%XYDOT%%/venv/scripts/posix/activate.fish
+lib/python%%XYDOT%%/warnings.py
+lib/python%%XYDOT%%/wave.py
+lib/python%%XYDOT%%/weakref.py
+lib/python%%XYDOT%%/webbrowser.py
+lib/python%%XYDOT%%/wsgiref/__init__.py
+lib/python%%XYDOT%%/wsgiref/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/handlers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/handlers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/handlers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/headers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/headers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/headers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/simple_server.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/simple_server.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/simple_server.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/validate.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/validate.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/validate.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/wsgiref/handlers.py
+lib/python%%XYDOT%%/wsgiref/headers.py
+lib/python%%XYDOT%%/wsgiref/simple_server.py
+lib/python%%XYDOT%%/wsgiref/util.py
+lib/python%%XYDOT%%/wsgiref/validate.py
+lib/python%%XYDOT%%/xdrlib.py
+lib/python%%XYDOT%%/xml/__init__.py
+lib/python%%XYDOT%%/xml/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/dom/NodeFilter.py
+lib/python%%XYDOT%%/xml/dom/__init__.py
+lib/python%%XYDOT%%/xml/dom/__pycache__/NodeFilter.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/NodeFilter.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/NodeFilter.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/domreg.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/domreg.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/domreg.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/expatbuilder.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/expatbuilder.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/expatbuilder.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/minicompat.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/minicompat.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/minicompat.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/minidom.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/minidom.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/minidom.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/pulldom.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/pulldom.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/pulldom.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/xmlbuilder.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/xmlbuilder.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/xmlbuilder.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/dom/domreg.py
+lib/python%%XYDOT%%/xml/dom/expatbuilder.py
+lib/python%%XYDOT%%/xml/dom/minicompat.py
+lib/python%%XYDOT%%/xml/dom/minidom.py
+lib/python%%XYDOT%%/xml/dom/pulldom.py
+lib/python%%XYDOT%%/xml/dom/xmlbuilder.py
+lib/python%%XYDOT%%/xml/etree/ElementInclude.py
+lib/python%%XYDOT%%/xml/etree/ElementPath.py
+lib/python%%XYDOT%%/xml/etree/ElementTree.py
+lib/python%%XYDOT%%/xml/etree/__init__.py
+lib/python%%XYDOT%%/xml/etree/__pycache__/ElementInclude.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/ElementInclude.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/ElementInclude.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/ElementPath.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/ElementPath.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/ElementPath.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/ElementTree.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/ElementTree.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/ElementTree.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/cElementTree.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/cElementTree.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/cElementTree.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/etree/cElementTree.py
+lib/python%%XYDOT%%/xml/parsers/__init__.py
+lib/python%%XYDOT%%/xml/parsers/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/parsers/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/parsers/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/parsers/__pycache__/expat.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/parsers/__pycache__/expat.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/parsers/__pycache__/expat.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/parsers/expat.py
+lib/python%%XYDOT%%/xml/sax/__init__.py
+lib/python%%XYDOT%%/xml/sax/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/_exceptions.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/_exceptions.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/_exceptions.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/expatreader.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/expatreader.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/expatreader.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/handler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/handler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/handler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/saxutils.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/saxutils.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/saxutils.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/xmlreader.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/xmlreader.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/xmlreader.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/sax/_exceptions.py
+lib/python%%XYDOT%%/xml/sax/expatreader.py
+lib/python%%XYDOT%%/xml/sax/handler.py
+lib/python%%XYDOT%%/xml/sax/saxutils.py
+lib/python%%XYDOT%%/xml/sax/xmlreader.py
+lib/python%%XYDOT%%/xmlrpc/__init__.py
+lib/python%%XYDOT%%/xmlrpc/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xmlrpc/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xmlrpc/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xmlrpc/__pycache__/client.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xmlrpc/__pycache__/client.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xmlrpc/__pycache__/client.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xmlrpc/__pycache__/server.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xmlrpc/__pycache__/server.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xmlrpc/__pycache__/server.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xmlrpc/client.py
+lib/python%%XYDOT%%/xmlrpc/server.py
+lib/python%%XYDOT%%/zipapp.py
+lib/python%%XYDOT%%/zipfile.py
+libdata/pkgconfig/python-%%XYDOT%%.pc
+man/man1/python%%XYDOT%%.1.gz
diff --git a/test-ports/lang/python37/Makefile b/test-ports/lang/python37/Makefile
new file mode 100644
index 00000000..749a05d5
--- /dev/null
+++ b/test-ports/lang/python37/Makefile
@@ -0,0 +1,143 @@
+# Created by: Kubilay Kocak <koobs@FreeBSD.org>
+# $FreeBSD: head/lang/python37/Makefile 488798 2018-12-31 16:03:41Z amdmi3 $
+
+PORTNAME= python
+PORTVERSION= ${PYTHON_PORTVERSION}
+CATEGORIES= lang python ipv6
+MASTER_SITES= PYTHON/ftp/python/${PORTVERSION}
+PKGNAMESUFFIX= ${PYTHON_SUFFIX}
+DISTNAME= Python-${PORTVERSION}
+DIST_SUBDIR= python
+
+MAINTAINER= python@FreeBSD.org
+COMMENT= Interpreted object-oriented programming language
+
+LICENSE= PSFL
+
+USES= cpe ncurses pathfix pkgconfig readline:port shebangfix ssl tar:xz
+PATHFIX_MAKEFILEIN= Makefile.pre.in
+USE_LDCONFIG= yes
+GNU_CONFIGURE= yes
+python_CMD= ${PREFIX}/bin/python${PYTHON_PORTVERSION:R}
+SHEBANG_FILES= Lib/*.py Lib/*/*.py Lib/*/*/*.py Lib/*/*/*/*.py
+
+# Duplicate python.mk variables. TODO: Let lang/python?? ports use python.mk bits.
+PYTHON_VER= ${PYTHON_PORTVERSION:R}
+PYTHON_VERSION= python${PYTHON_VER}
+PYTHON_SUFFIX= ${PYTHON_VER:S/.//g}
+
+DISABLED_EXTENSIONS= _sqlite3 _tkinter _gdbm
+CONFIGURE_ARGS+= --enable-shared --without-ensurepip
+CONFIGURE_ENV+= OPT="" DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS}" # Null out OPT to respect user CFLAGS and remove optimizations
+
+INSTALL_TARGET= altinstall # Don't want cloberring of unprefixed files
+
+TEST_TARGET= buildbottest
+TEST_ARGS= TESTOPTS=-j${MAKE_JOBS_NUMBER}
+
+MAKE_ARGS+= INSTALL_SHARED="${INSTALL_LIB}" # Strip shared library
+
+SUB_FILES= pkg-message
+SUB_LIST= PYTHON_SUFFIX=${PYTHON_SUFFIX}
+
+PLIST_SUB= ABI=${ABIFLAGS} \
+ XY=${PYTHON_SUFFIX} \
+ XYDOT=${PYTHON_VER} \
+ XYZDOT=${PORTVERSION} \
+ OSMAJOR=${OSVERSION:C/([0-9]*)[0-9]{5}/\1/} # For plat-freebsd* in pkg-plist. https://bugs.python.org/issue19554
+
+OPTIONS_DEFINE= DEBUG IPV6 LIBFFI NLS PYMALLOC
+OPTIONS_DEFAULT= LIBFFI PYMALLOC
+OPTIONS_RADIO= HASH
+OPTIONS_RADIO_HASH= FNV SIPHASH
+OPTIONS_SUB= yes
+
+LIBFFI_DESC= Use libffi from ports instead of bundled version
+NLS_DESC= Enable gettext support for the locale module
+PYMALLOC_DESC= Enable specialized mallocs
+
+HASH_DESC= Hash Algorithm (PEP-456)
+FNV_DESC= Modified Fowler-Noll-Vo Algorithm
+SIPHASH_DESC= SipHash24 Algorithm
+
+FNV_CONFIGURE_ON= --with-hash-algorithm=fnv
+SIPHASH_CONFIGURE_ON= --with-hash-algorithm=siphash24
+
+DEBUG_CONFIGURE_WITH= pydebug
+IPV6_CONFIGURE_ENABLE= ipv6
+
+LIBFFI_CONFIGURE_ON= --with-system-ffi
+LIBFFI_LIB_DEPENDS= libffi.so:devel/libffi
+
+# Use CPPFLAGS over CFLAGS due to -I ordering, causing elementtree and pyexpat
+# to break in Python 2.7, or preprocessor complaints in Python >= 3.3
+# Upstream Issue: https://bugs.python.org/issue6299
+NLS_USES= gettext
+NLS_CPPFLAGS= -I${LOCALBASE}/include
+NLS_LIBS= -L${LOCALBASE}/lib -lintl
+NLS_CONFIGURE_ENV_OFF= ac_cv_lib_intl_textdomain=no ac_cv_header_libintl_h=no
+
+PYMALLOC_CONFIGURE_WITH= pymalloc
+
+.include "${.CURDIR}/Makefile.version"
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MPYMALLOC}
+ABIFLAGS:= m${ABIFLAGS}
+.endif
+
+.if ${PORT_OPTIONS:MDEBUG}
+ABIFLAGS:= d${ABIFLAGS}
+.endif
+
+.if !empty(ABIFLAGS)
+PLIST_FILES+= bin/python${PYTHON_VER}${ABIFLAGS} \
+ bin/python${PYTHON_VER}${ABIFLAGS}-config \
+ libdata/pkgconfig/python-${PYTHON_VER}${ABIFLAGS}.pc
+.endif
+
+# https://bugs.python.org/issue22521
+# https://bugs.python.org/issue23042
+.if ${ARCH} == i386 && !${PORT_OPTIONS:MLIBFFI}
+BROKEN= You must use libffi from ports on i386. Enable the LIBFFI option
+.endif
+
+.if ${ARCH} == sparc64
+CFLAGS+= -DPYTHON_DEFAULT_RECURSION_LIMIT=900
+.endif
+
+# See https://bugs.freebsd.org/115940 and https://bugs.freebsd.org/193650
+.if !exists(/usr/bin/ypcat) || defined(WITHOUT_NIS)
+PLIST_SUB+= NO_NIS="@comment "
+DISABLED_EXTENSIONS+= nis
+.else
+PLIST_SUB+= NO_NIS=""
+.endif
+
+post-patch:
+# disable the detection of includes and library from e2fsprogs-libuuid,
+# which introduces hidden dependency and breaks build
+ @${REINPLACE_CMD} -e 's|uuid/uuid.h|ignore_&|' ${WRKSRC}/configure
+ @${REINPLACE_CMD} -e '/find_library_file/ s|uuid|ignore_&|' ${WRKSRC}/setup.py
+
+post-install:
+.if ! ${PORT_OPTIONS:MDEBUG}
+ ${RM} ${STAGEDIR}${PREFIX}/lib/libpython3.so # Upstream Issue: https://bugs.python.org/issue17975
+.endif
+# This code block exists for the qemu-user enabled cross build environment.
+# When using this environment in poudriere, CC is not set to the default
+# of /usr/bin/cc and a cross-compile toolchain is used. We need to hand
+# edit this so that the run time configuration for python matches what the
+# FreeBSD base system provides. sbruno 02Aug2017
+.if ${CC} == /nxb-bin/usr/bin/cc
+ @${REINPLACE_CMD} -e 's=/nxb-bin==' \
+ ${STAGEDIR}${PREFIX}/lib/python${PYTHON_VER}/_sysconfigdata_m_freebsd${OSREL:R}_.py
+ @${REINPLACE_CMD} -e 's=/nxb-bin==' \
+ ${STAGEDIR}${PREFIX}/lib/python${PYTHON_VER}/config-${PYTHON_VER}m/Makefile
+.endif
+ for i in ${STAGEDIR}${PREFIX}/lib/python${PYTHON_VER}/lib-dynload/*.so; do \
+ ${STRIP_CMD} $$i; done # Strip shared extensions
+ ${INSTALL_DATA} ${WRKSRC}/Tools/gdb/libpython.py \
+ ${STAGEDIR}${PREFIX}/lib/libpython${PYTHON_VER}${ABIFLAGS}.so.1.0-gdb.py
+
+.include <bsd.port.mk>
diff --git a/test-ports/lang/python37/Makefile.version b/test-ports/lang/python37/Makefile.version
new file mode 100644
index 00000000..91e9e4c3
--- /dev/null
+++ b/test-ports/lang/python37/Makefile.version
@@ -0,0 +1,4 @@
+# Mk/Uses/python.mk includes this file, don't remove it!
+# $FreeBSD: head/lang/python37/Makefile.version 488355 2018-12-26 02:24:32Z wen $
+
+PYTHON_PORTVERSION= 3.7.2
diff --git a/test-ports/lang/python37/distinfo b/test-ports/lang/python37/distinfo
new file mode 100644
index 00000000..49094cc6
--- /dev/null
+++ b/test-ports/lang/python37/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1545742410
+SHA256 (python/Python-3.7.2.tar.xz) = d83fe8ce51b1bb48bbcf0550fd265b9a75cdfdfa93f916f9e700aef8444bf1bb
+SIZE (python/Python-3.7.2.tar.xz) = 17042320
diff --git a/test-ports/lang/python37/files/patch-Lib_distutils_command_install__lib.py b/test-ports/lang/python37/files/patch-Lib_distutils_command_install__lib.py
new file mode 100644
index 00000000..6e925311
--- /dev/null
+++ b/test-ports/lang/python37/files/patch-Lib_distutils_command_install__lib.py
@@ -0,0 +1,41 @@
+From 9934ce31b8447667f71c211e559a8de71e8263db Mon Sep 17 00:00:00 2001
+From: Brendan Molloy <brendan@bbqsrc.net>
+Date: Mon, 4 Jan 2016 23:14:06 +1100
+Subject: [PATCH] Check bytecode file actually exists and tests
+
+Should solve issue 20397, where using the --record argument results
+in files that failed to generate bytecode files are added to the
+record file nonetheless.
+---
+ Lib/distutils/command/install_lib.py | 17 +++++++++++++----
+ Lib/distutils/tests/test_install_lib.py | 8 ++++++--
+ 2 files changed, 19 insertions(+), 6 deletions(-)
+
+--- Lib/distutils/command/install_lib.py.orig 2015-12-07 01:39:07 UTC
++++ Lib/distutils/command/install_lib.py
+@@ -164,12 +164,21 @@ class install_lib(Command):
+ ext = os.path.splitext(os.path.normcase(py_file))[1]
+ if ext != PYTHON_SOURCE_EXTENSION:
+ continue
++
+ if self.compile:
+- bytecode_files.append(importlib.util.cache_from_source(
+- py_file, optimization=''))
++ candidate = importlib.util.cache_from_source(
++ py_file, optimization='')
++
++ if os.path.isfile(candidate):
++ bytecode_files.append(candidate)
++
+ if self.optimize > 0:
+- bytecode_files.append(importlib.util.cache_from_source(
+- py_file, optimization=self.optimize))
++ candidate = importlib.util.cache_from_source(
++ py_file, optimization=self.optimize)
++
++ if os.path.isfile(candidate):
++ bytecode_files.append(candidate)
++
+
+ return bytecode_files
+
diff --git a/test-ports/lang/python37/files/patch-Lib_distutils_tests_test__install__lib.py b/test-ports/lang/python37/files/patch-Lib_distutils_tests_test__install__lib.py
new file mode 100644
index 00000000..c5531b92
--- /dev/null
+++ b/test-ports/lang/python37/files/patch-Lib_distutils_tests_test__install__lib.py
@@ -0,0 +1,33 @@
+From 9934ce31b8447667f71c211e559a8de71e8263db Mon Sep 17 00:00:00 2001
+From: Brendan Molloy <brendan@bbqsrc.net>
+Date: Mon, 4 Jan 2016 23:14:06 +1100
+Subject: [PATCH] Check bytecode file actually exists and tests
+
+Should solve issue 20397, where using the --record argument results
+in files that failed to generate bytecode files are added to the
+record file nonetheless.
+---
+ Lib/distutils/command/install_lib.py | 17 +++++++++++++----
+ Lib/distutils/tests/test_install_lib.py | 8 ++++++--
+ 2 files changed, 19 insertions(+), 6 deletions(-)
+
+--- Lib/distutils/tests/test_install_lib.py.orig 2015-12-07 01:39:07 UTC
++++ Lib/distutils/tests/test_install_lib.py
+@@ -64,11 +64,15 @@ class InstallLibTestCase(support.Tempdir
+ cmd.distribution.ext_modules = [Extension('foo', ['xxx'])]
+ cmd.distribution.packages = ['spam']
+ cmd.distribution.script_name = 'setup.py'
++
++ # Create rubbish, uncompilable file
++ f = os.path.join(project_dir, 'spam', 'rubbish.py')
++ self.write_file(f, 'rubbish()')
+
+ # get_outputs should return 4 elements: spam/__init__.py and .pyc,
+- # foo.import-tag-abiflags.so / foo.pyd
++ # foo.import-tag-abiflags.so / foo.pyd and rubbish.py (no .pyc)
+ outputs = cmd.get_outputs()
+- self.assertEqual(len(outputs), 4, outputs)
++ self.assertEqual(len(outputs), 5, outputs)
+
+ def test_get_inputs(self):
+ project_dir, dist = self.create_dist()
diff --git a/test-ports/lang/python37/files/patch-Makefile.pre.in b/test-ports/lang/python37/files/patch-Makefile.pre.in
new file mode 100644
index 00000000..6db68756
--- /dev/null
+++ b/test-ports/lang/python37/files/patch-Makefile.pre.in
@@ -0,0 +1,65 @@
+# Description: Remove duplicate CFLAGS, CPPFLAGS, LDFLAGS by stripping CONFIGURE_*
+# Submitted by: koobs (r326729)
+# TODO: Upstream
+
+# Description: Create symlinks for non-ABI-suffixed python*-config and ABI-suffixed python-*.pc
+# Submitted by: antoine@ (r358029)
+# TODO: Upstream
+--- Makefile.pre.in.orig 2018-12-25 13:00:52 UTC
++++ Makefile.pre.in
+@@ -80,7 +80,6 @@ MAKESETUP= $(srcdir)/Modules/makesetup
+ OPT= @OPT@
+ BASECFLAGS= @BASECFLAGS@
+ BASECPPFLAGS= @BASECPPFLAGS@
+-CONFIGURE_CFLAGS= @CFLAGS@
+ # CFLAGS_NODIST is used for building the interpreter and stdlib C extensions.
+ # Use it when a compiler flag should _not_ be part of the distutils CFLAGS
+ # once Python is installed (Issue #21121).
+@@ -89,18 +88,16 @@ CONFIGURE_CFLAGS_NODIST=@CFLAGS_NODIST@
+ # Use it when a linker flag should _not_ be part of the distutils LDFLAGS
+ # once Python is installed (bpo-35257)
+ CONFIGURE_LDFLAGS_NODIST=@LDFLAGS_NODIST@
+-CONFIGURE_CPPFLAGS= @CPPFLAGS@
+-CONFIGURE_LDFLAGS= @LDFLAGS@
+ # Avoid assigning CFLAGS, LDFLAGS, etc. so users can use them on the
+ # command line to append to these values without stomping the pre-set
+ # values.
+-PY_CFLAGS= $(BASECFLAGS) $(OPT) $(CONFIGURE_CFLAGS) $(CFLAGS) $(EXTRA_CFLAGS)
++PY_CFLAGS= $(BASECFLAGS) $(OPT) $(CFLAGS) $(EXTRA_CFLAGS)
+ PY_CFLAGS_NODIST=$(CONFIGURE_CFLAGS_NODIST) $(CFLAGS_NODIST)
+ # Both CPPFLAGS and LDFLAGS need to contain the shell's value for setup.py to
+ # be able to build extension modules using the directories specified in the
+ # environment variables
+-PY_CPPFLAGS= $(BASECPPFLAGS) -I. -I$(srcdir)/Include $(CONFIGURE_CPPFLAGS) $(CPPFLAGS)
+-PY_LDFLAGS= $(CONFIGURE_LDFLAGS) $(LDFLAGS)
++PY_CPPFLAGS= $(BASECPPFLAGS) -I. -I$(srcdir)/Include $(CPPFLAGS)
++PY_LDFLAGS= $(LDFLAGS)
+ PY_LDFLAGS_NODIST=$(CONFIGURE_LDFLAGS_NODIST) $(LDFLAGS_NODIST)
+ NO_AS_NEEDED= @NO_AS_NEEDED@
+ LDLAST= @LDLAST@
+@@ -1213,12 +1210,6 @@ bininstall: altbininstall
+ else true; \
+ fi
+ (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)$(EXE) python3$(EXE))
+- -if test "$(VERSION)" != "$(LDVERSION)"; then \
+- rm -f $(DESTDIR)$(BINDIR)/python$(VERSION)-config; \
+- (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(LDVERSION)-config python$(VERSION)-config); \
+- rm -f $(DESTDIR)$(LIBPC)/python-$(LDVERSION).pc; \
+- (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION).pc python-$(LDVERSION).pc); \
+- fi
+ -rm -f $(DESTDIR)$(BINDIR)/python3-config
+ (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-config python3-config)
+ -rm -f $(DESTDIR)$(LIBPC)/python3.pc
+@@ -1505,6 +1496,12 @@ libainstall: @DEF_MAKE_RULE@ python-config
+ $(INSTALL_SCRIPT) $(srcdir)/install-sh $(DESTDIR)$(LIBPL)/install-sh
+ $(INSTALL_SCRIPT) python-config.py $(DESTDIR)$(LIBPL)/python-config.py
+ $(INSTALL_SCRIPT) python-config $(DESTDIR)$(BINDIR)/python$(LDVERSION)-config
++ -if test "$(VERSION)" != "$(LDVERSION)"; then \
++ rm -f $(DESTDIR)$(BINDIR)/python$(VERSION)-config; \
++ (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(LDVERSION)-config python$(VERSION)-config); \
++ rm -f $(DESTDIR)$(LIBPC)/python-$(LDVERSION).pc; \
++ (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION).pc python-$(LDVERSION).pc); \
++ fi
+ @if [ -s Modules/python.exp -a \
+ "`echo $(MACHDEP) | sed 's/^\(...\).*/\1/'`" = "aix" ]; then \
+ echo; echo "Installing support files for building shared extension modules on AIX:"; \
diff --git a/test-ports/lang/python37/files/patch-Misc__python-config.sh.in b/test-ports/lang/python37/files/patch-Misc__python-config.sh.in
new file mode 100644
index 00000000..ebb0c6a5
--- /dev/null
+++ b/test-ports/lang/python37/files/patch-Misc__python-config.sh.in
@@ -0,0 +1,11 @@
+--- Misc/python-config.sh.in.orig 2018-07-13 21:07:16 UTC
++++ Misc/python-config.sh.in
+@@ -15,7 +15,7 @@ fi
+ # Returns the actual prefix where this script was installed to.
+ installed_prefix ()
+ {
+- RESULT=$(dirname $(cd $(dirname "$1") && pwd -P))
++ RESULT=$(dirname $(cd $(dirname $(realpath "$1")) && pwd -P))
+ if which readlink >/dev/null 2>&1 ; then
+ if readlink -f "$RESULT" >/dev/null 2>&1; then
+ RESULT=$(readlink -f "$RESULT")
diff --git a/test-ports/lang/python37/files/patch-issue20210 b/test-ports/lang/python37/files/patch-issue20210
new file mode 100644
index 00000000..90330d8f
--- /dev/null
+++ b/test-ports/lang/python37/files/patch-issue20210
@@ -0,0 +1,68 @@
+# Backport patch 0001 from Issue #20210
+# Issue: https://bugs.python.org/issue20210
+# By: Thomas Petazzoni
+
+--- ./Makefile.pre.in.orig 2014-03-24 22:45:17.908886504 +1100
++++ ./Makefile.pre.in 2014-03-24 22:47:55.503779805 +1100
+@@ -172,6 +172,8 @@
+ # configure script arguments
+ CONFIG_ARGS= @CONFIG_ARGS@
+
++# disabled extensions
++DISABLED_EXTENSIONS= @DISABLED_EXTENSIONS@
+
+ # Subdirectories with code
+ SRCDIRS= @SRCDIRS@
+@@ -555,6 +557,7 @@
+ esac; \
+ $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
+ _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \
++ DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" \
+ $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
+
+ # Build static library
+@@ -1352,7 +1355,8 @@
+ # Install the dynamically loadable modules
+ # This goes into $(exec_prefix)
+ sharedinstall: sharedmods
+- $(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \
++ $(RUNSHARED) DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" \
++ $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \
+ --prefix=$(prefix) \
+ --install-scripts=$(BINDIR) \
+ --install-platlib=$(DESTSHARED) \
+--- ./configure.ac.orig 2014-03-24 22:48:10.442551831 +1100
++++ ./configure.ac 2014-03-24 22:48:42.059827384 +1100
+@@ -2331,6 +2331,8 @@
+
+ AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
+
++AC_SUBST(DISABLED_EXTENSIONS)
++
+ # Check for use of the system expat library
+ AC_MSG_CHECKING(for --with-system-expat)
+ AC_ARG_WITH(system_expat,
+--- configure.orig 2015-03-01 13:57:08.000000000 +0300
++++ configure 2015-03-01 13:57:30.000000000 +0300
+@@ -650,6 +650,7 @@
+ TCLTK_LIBS
+ TCLTK_INCLUDES
+ LIBFFI_INCLUDEDIR
++DISABLED_EXTENSIONS
+ PKG_CONFIG_LIBDIR
+ PKG_CONFIG_PATH
+ PKG_CONFIG
+--- ./setup.py.orig 2014-03-24 22:48:48.495472513 +1100
++++ ./setup.py 2014-03-24 22:49:20.076122201 +1100
+@@ -33,7 +33,10 @@
+ COMPILED_WITH_PYDEBUG = ('--with-pydebug' in sysconfig.get_config_var("CONFIG_ARGS"))
+
+ # This global variable is used to hold the list of modules to be disabled.
+-disabled_module_list = []
++try:
++ disabled_module_list = sysconfig.get_config_var("DISABLED_EXTENSIONS").split(" ")
++except KeyError:
++ disabled_module_list = list()
+
+ def add_dir_to_list(dirlist, dir):
+ """Add the directory 'dir' to the list 'dirlist' (after any relative
diff --git a/test-ports/lang/python37/files/pkg-message.in b/test-ports/lang/python37/files/pkg-message.in
new file mode 100644
index 00000000..5fb6e462
--- /dev/null
+++ b/test-ports/lang/python37/files/pkg-message.in
@@ -0,0 +1,10 @@
+===========================================================================
+
+Note that some standard Python modules are provided as separate ports
+as they require additional dependencies. They are available as:
+
+py%%PYTHON_SUFFIX%%-gdbm databases/py-gdbm@py%%PYTHON_SUFFIX%%
+py%%PYTHON_SUFFIX%%-sqlite3 databases/py-sqlite3@py%%PYTHON_SUFFIX%%
+py%%PYTHON_SUFFIX%%-tkinter x11-toolkits/py-tkinter@py%%PYTHON_SUFFIX%%
+
+===========================================================================
diff --git a/test-ports/lang/python37/pkg-descr b/test-ports/lang/python37/pkg-descr
new file mode 100644
index 00000000..9c7e5a6d
--- /dev/null
+++ b/test-ports/lang/python37/pkg-descr
@@ -0,0 +1,4 @@
+Python is an interpreted object-oriented programming language, and is
+often compared to Tcl, Perl or Scheme.
+
+WWW: https://www.python.org/
diff --git a/test-ports/lang/python37/pkg-plist b/test-ports/lang/python37/pkg-plist
new file mode 100644
index 00000000..ef52de03
--- /dev/null
+++ b/test-ports/lang/python37/pkg-plist
@@ -0,0 +1,7003 @@
+bin/2to3-%%XYDOT%%
+bin/idle%%XYDOT%%
+bin/pydoc%%XYDOT%%
+bin/python%%XYDOT%%
+bin/python%%XYDOT%%-config
+bin/pyvenv-%%XYDOT%%
+include/python%%XYDOT%%%%ABI%%/Python-ast.h
+include/python%%XYDOT%%%%ABI%%/Python.h
+include/python%%XYDOT%%%%ABI%%/abstract.h
+include/python%%XYDOT%%%%ABI%%/accu.h
+include/python%%XYDOT%%%%ABI%%/asdl.h
+include/python%%XYDOT%%%%ABI%%/ast.h
+include/python%%XYDOT%%%%ABI%%/bitset.h
+include/python%%XYDOT%%%%ABI%%/bltinmodule.h
+include/python%%XYDOT%%%%ABI%%/boolobject.h
+include/python%%XYDOT%%%%ABI%%/bytearrayobject.h
+include/python%%XYDOT%%%%ABI%%/bytes_methods.h
+include/python%%XYDOT%%%%ABI%%/bytesobject.h
+include/python%%XYDOT%%%%ABI%%/cellobject.h
+include/python%%XYDOT%%%%ABI%%/ceval.h
+include/python%%XYDOT%%%%ABI%%/classobject.h
+include/python%%XYDOT%%%%ABI%%/code.h
+include/python%%XYDOT%%%%ABI%%/codecs.h
+include/python%%XYDOT%%%%ABI%%/compile.h
+include/python%%XYDOT%%%%ABI%%/complexobject.h
+include/python%%XYDOT%%%%ABI%%/context.h
+include/python%%XYDOT%%%%ABI%%/datetime.h
+include/python%%XYDOT%%%%ABI%%/descrobject.h
+include/python%%XYDOT%%%%ABI%%/dictobject.h
+include/python%%XYDOT%%%%ABI%%/dtoa.h
+include/python%%XYDOT%%%%ABI%%/dynamic_annotations.h
+include/python%%XYDOT%%%%ABI%%/enumobject.h
+include/python%%XYDOT%%%%ABI%%/errcode.h
+include/python%%XYDOT%%%%ABI%%/eval.h
+include/python%%XYDOT%%%%ABI%%/fileobject.h
+include/python%%XYDOT%%%%ABI%%/fileutils.h
+include/python%%XYDOT%%%%ABI%%/floatobject.h
+include/python%%XYDOT%%%%ABI%%/frameobject.h
+include/python%%XYDOT%%%%ABI%%/funcobject.h
+include/python%%XYDOT%%%%ABI%%/genobject.h
+include/python%%XYDOT%%%%ABI%%/graminit.h
+include/python%%XYDOT%%%%ABI%%/grammar.h
+include/python%%XYDOT%%%%ABI%%/import.h
+include/python%%XYDOT%%%%ABI%%/internal/ceval.h
+include/python%%XYDOT%%%%ABI%%/internal/condvar.h
+include/python%%XYDOT%%%%ABI%%/internal/context.h
+include/python%%XYDOT%%%%ABI%%/internal/gil.h
+include/python%%XYDOT%%%%ABI%%/internal/hamt.h
+include/python%%XYDOT%%%%ABI%%/internal/hash.h
+include/python%%XYDOT%%%%ABI%%/internal/import.h
+include/python%%XYDOT%%%%ABI%%/internal/mem.h
+include/python%%XYDOT%%%%ABI%%/internal/pygetopt.h
+include/python%%XYDOT%%%%ABI%%/internal/pystate.h
+include/python%%XYDOT%%%%ABI%%/internal/warnings.h
+include/python%%XYDOT%%%%ABI%%/intrcheck.h
+include/python%%XYDOT%%%%ABI%%/iterobject.h
+include/python%%XYDOT%%%%ABI%%/listobject.h
+include/python%%XYDOT%%%%ABI%%/longintrepr.h
+include/python%%XYDOT%%%%ABI%%/longobject.h
+include/python%%XYDOT%%%%ABI%%/marshal.h
+include/python%%XYDOT%%%%ABI%%/memoryobject.h
+include/python%%XYDOT%%%%ABI%%/metagrammar.h
+include/python%%XYDOT%%%%ABI%%/methodobject.h
+include/python%%XYDOT%%%%ABI%%/modsupport.h
+include/python%%XYDOT%%%%ABI%%/moduleobject.h
+include/python%%XYDOT%%%%ABI%%/namespaceobject.h
+include/python%%XYDOT%%%%ABI%%/node.h
+include/python%%XYDOT%%%%ABI%%/object.h
+include/python%%XYDOT%%%%ABI%%/objimpl.h
+include/python%%XYDOT%%%%ABI%%/odictobject.h
+include/python%%XYDOT%%%%ABI%%/opcode.h
+include/python%%XYDOT%%%%ABI%%/osdefs.h
+include/python%%XYDOT%%%%ABI%%/osmodule.h
+include/python%%XYDOT%%%%ABI%%/parsetok.h
+include/python%%XYDOT%%%%ABI%%/patchlevel.h
+include/python%%XYDOT%%%%ABI%%/pgen.h
+include/python%%XYDOT%%%%ABI%%/pgenheaders.h
+include/python%%XYDOT%%%%ABI%%/py_curses.h
+include/python%%XYDOT%%%%ABI%%/pyarena.h
+include/python%%XYDOT%%%%ABI%%/pyatomic.h
+include/python%%XYDOT%%%%ABI%%/pycapsule.h
+include/python%%XYDOT%%%%ABI%%/pyconfig.h
+include/python%%XYDOT%%%%ABI%%/pyctype.h
+include/python%%XYDOT%%%%ABI%%/pydebug.h
+include/python%%XYDOT%%%%ABI%%/pydtrace.h
+include/python%%XYDOT%%%%ABI%%/pyerrors.h
+include/python%%XYDOT%%%%ABI%%/pyexpat.h
+include/python%%XYDOT%%%%ABI%%/pyfpe.h
+include/python%%XYDOT%%%%ABI%%/pyhash.h
+include/python%%XYDOT%%%%ABI%%/pylifecycle.h
+include/python%%XYDOT%%%%ABI%%/pymacconfig.h
+include/python%%XYDOT%%%%ABI%%/pymacro.h
+include/python%%XYDOT%%%%ABI%%/pymath.h
+include/python%%XYDOT%%%%ABI%%/pymem.h
+include/python%%XYDOT%%%%ABI%%/pyport.h
+include/python%%XYDOT%%%%ABI%%/pystate.h
+include/python%%XYDOT%%%%ABI%%/pystrcmp.h
+include/python%%XYDOT%%%%ABI%%/pystrhex.h
+include/python%%XYDOT%%%%ABI%%/pystrtod.h
+include/python%%XYDOT%%%%ABI%%/pythonrun.h
+include/python%%XYDOT%%%%ABI%%/pythread.h
+include/python%%XYDOT%%%%ABI%%/pytime.h
+include/python%%XYDOT%%%%ABI%%/rangeobject.h
+include/python%%XYDOT%%%%ABI%%/setobject.h
+include/python%%XYDOT%%%%ABI%%/sliceobject.h
+include/python%%XYDOT%%%%ABI%%/structmember.h
+include/python%%XYDOT%%%%ABI%%/structseq.h
+include/python%%XYDOT%%%%ABI%%/symtable.h
+include/python%%XYDOT%%%%ABI%%/sysmodule.h
+include/python%%XYDOT%%%%ABI%%/token.h
+include/python%%XYDOT%%%%ABI%%/traceback.h
+include/python%%XYDOT%%%%ABI%%/tupleobject.h
+include/python%%XYDOT%%%%ABI%%/typeslots.h
+include/python%%XYDOT%%%%ABI%%/ucnhash.h
+include/python%%XYDOT%%%%ABI%%/unicodeobject.h
+include/python%%XYDOT%%%%ABI%%/warnings.h
+include/python%%XYDOT%%%%ABI%%/weakrefobject.h
+lib/libpython%%XYDOT%%%%ABI%%.so
+lib/libpython%%XYDOT%%%%ABI%%.so.1.0
+lib/libpython%%XYDOT%%%%ABI%%.so.1.0-gdb.py
+lib/python%%XYDOT%%/LICENSE.txt
+lib/python%%XYDOT%%/__future__.py
+lib/python%%XYDOT%%/__phello__.foo.py
+lib/python%%XYDOT%%/__pycache__/__future__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/__future__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/__future__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/__phello__.foo.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/__phello__.foo.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/__phello__.foo.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_bootlocale.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_bootlocale.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_bootlocale.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_collections_abc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_collections_abc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_collections_abc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_compat_pickle.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_compat_pickle.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_compat_pickle.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_compression.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_compression.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_compression.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_dummy_thread.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_dummy_thread.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_dummy_thread.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_markupbase.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_markupbase.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_markupbase.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_osx_support.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_osx_support.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_osx_support.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_py_abc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_py_abc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_py_abc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_pydecimal.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_pydecimal.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_pydecimal.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_pyio.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_pyio.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_pyio.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_sitebuiltins.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_sitebuiltins.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_sitebuiltins.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_strptime.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_strptime.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_strptime.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_sysconfigdata_%%ABI%%_freebsd%%OSMAJOR%%_.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_sysconfigdata_%%ABI%%_freebsd%%OSMAJOR%%_.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_sysconfigdata_%%ABI%%_freebsd%%OSMAJOR%%_.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_threading_local.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_threading_local.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_threading_local.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/_weakrefset.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/_weakrefset.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/_weakrefset.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/abc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/abc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/abc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/aifc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/aifc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/aifc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/antigravity.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/antigravity.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/antigravity.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/argparse.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/argparse.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/argparse.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/ast.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/ast.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/ast.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/asynchat.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/asynchat.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/asynchat.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/asyncore.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/asyncore.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/asyncore.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/base64.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/base64.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/base64.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/bdb.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/bdb.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/bdb.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/binhex.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/binhex.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/binhex.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/bisect.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/bisect.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/bisect.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/bz2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/bz2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/bz2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/cProfile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/cProfile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/cProfile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/calendar.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/calendar.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/calendar.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/cgi.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/cgi.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/cgi.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/cgitb.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/cgitb.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/cgitb.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/chunk.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/chunk.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/chunk.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/cmd.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/cmd.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/cmd.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/code.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/code.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/code.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/codecs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/codecs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/codecs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/codeop.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/codeop.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/codeop.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/colorsys.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/colorsys.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/colorsys.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/compileall.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/compileall.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/compileall.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/configparser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/configparser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/configparser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/contextlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/contextlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/contextlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/contextvars.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/contextvars.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/contextvars.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/copy.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/copy.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/copy.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/copyreg.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/copyreg.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/copyreg.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/crypt.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/crypt.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/crypt.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/csv.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/csv.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/csv.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/dataclasses.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/dataclasses.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/dataclasses.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/datetime.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/datetime.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/datetime.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/decimal.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/decimal.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/decimal.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/difflib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/difflib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/difflib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/dis.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/dis.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/dis.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/doctest.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/doctest.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/doctest.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/dummy_threading.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/dummy_threading.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/dummy_threading.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/enum.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/enum.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/enum.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/filecmp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/filecmp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/filecmp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/fileinput.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/fileinput.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/fileinput.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/fnmatch.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/fnmatch.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/fnmatch.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/formatter.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/formatter.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/formatter.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/fractions.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/fractions.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/fractions.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/ftplib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/ftplib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/ftplib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/functools.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/functools.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/functools.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/genericpath.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/genericpath.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/genericpath.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/getopt.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/getopt.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/getopt.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/getpass.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/getpass.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/getpass.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/gettext.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/gettext.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/gettext.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/glob.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/glob.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/glob.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/gzip.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/gzip.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/gzip.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/hashlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/hashlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/hashlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/heapq.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/heapq.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/heapq.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/hmac.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/hmac.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/hmac.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/imaplib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/imaplib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/imaplib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/imghdr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/imghdr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/imghdr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/imp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/imp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/imp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/inspect.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/inspect.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/inspect.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/io.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/io.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/io.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/ipaddress.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/ipaddress.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/ipaddress.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/keyword.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/keyword.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/keyword.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/linecache.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/linecache.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/linecache.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/locale.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/locale.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/locale.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/lzma.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/lzma.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/lzma.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/macpath.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/macpath.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/macpath.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/mailbox.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/mailbox.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/mailbox.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/mailcap.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/mailcap.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/mailcap.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/mimetypes.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/mimetypes.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/mimetypes.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/modulefinder.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/modulefinder.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/modulefinder.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/netrc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/netrc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/netrc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/nntplib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/nntplib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/nntplib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/ntpath.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/ntpath.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/ntpath.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/nturl2path.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/nturl2path.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/nturl2path.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/numbers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/numbers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/numbers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/opcode.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/opcode.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/opcode.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/operator.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/operator.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/operator.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/optparse.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/optparse.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/optparse.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/os.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/os.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/os.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/pathlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/pathlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/pathlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/pdb.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/pdb.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/pdb.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/pickle.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/pickle.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/pickle.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/pickletools.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/pickletools.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/pickletools.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/pipes.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/pipes.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/pipes.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/pkgutil.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/pkgutil.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/pkgutil.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/platform.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/platform.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/platform.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/plistlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/plistlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/plistlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/poplib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/poplib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/poplib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/posixpath.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/posixpath.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/posixpath.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/pprint.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/pprint.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/pprint.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/profile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/profile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/profile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/pstats.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/pstats.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/pstats.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/pty.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/pty.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/pty.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/py_compile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/py_compile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/py_compile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/pyclbr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/pyclbr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/pyclbr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/pydoc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/pydoc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/pydoc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/queue.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/queue.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/queue.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/quopri.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/quopri.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/quopri.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/random.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/random.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/random.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/re.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/re.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/re.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/reprlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/reprlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/reprlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/rlcompleter.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/rlcompleter.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/rlcompleter.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/runpy.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/runpy.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/runpy.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/sched.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/sched.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/sched.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/secrets.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/secrets.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/secrets.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/selectors.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/selectors.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/selectors.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/shelve.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/shelve.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/shelve.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/shlex.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/shlex.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/shlex.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/shutil.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/shutil.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/shutil.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/signal.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/signal.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/signal.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/site.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/site.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/site.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/smtpd.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/smtpd.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/smtpd.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/smtplib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/smtplib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/smtplib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/sndhdr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/sndhdr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/sndhdr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/socket.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/socket.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/socket.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/socketserver.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/socketserver.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/socketserver.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/sre_compile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/sre_compile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/sre_compile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/sre_constants.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/sre_constants.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/sre_constants.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/sre_parse.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/sre_parse.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/sre_parse.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/ssl.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/ssl.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/ssl.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/stat.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/stat.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/stat.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/statistics.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/statistics.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/statistics.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/string.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/string.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/string.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/stringprep.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/stringprep.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/stringprep.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/struct.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/struct.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/struct.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/subprocess.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/subprocess.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/subprocess.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/sunau.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/sunau.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/sunau.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/symbol.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/symbol.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/symbol.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/symtable.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/symtable.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/symtable.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/sysconfig.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/sysconfig.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/sysconfig.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/tabnanny.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/tabnanny.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/tabnanny.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/tarfile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/tarfile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/tarfile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/telnetlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/telnetlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/telnetlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/tempfile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/tempfile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/tempfile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/textwrap.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/textwrap.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/textwrap.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/this.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/this.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/this.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/threading.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/threading.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/threading.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/timeit.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/timeit.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/timeit.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/token.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/token.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/token.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/tokenize.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/tokenize.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/tokenize.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/trace.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/trace.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/trace.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/traceback.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/traceback.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/traceback.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/tracemalloc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/tracemalloc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/tracemalloc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/tty.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/tty.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/tty.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/turtle.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/turtle.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/turtle.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/types.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/types.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/types.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/typing.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/typing.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/typing.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/uu.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/uu.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/uu.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/uuid.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/uuid.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/uuid.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/warnings.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/warnings.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/warnings.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/wave.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/wave.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/wave.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/weakref.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/weakref.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/weakref.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/webbrowser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/webbrowser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/webbrowser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/xdrlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/xdrlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/xdrlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/zipapp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/zipapp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/zipapp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/__pycache__/zipfile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/__pycache__/zipfile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/__pycache__/zipfile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/_bootlocale.py
+lib/python%%XYDOT%%/_collections_abc.py
+lib/python%%XYDOT%%/_compat_pickle.py
+lib/python%%XYDOT%%/_compression.py
+lib/python%%XYDOT%%/_dummy_thread.py
+lib/python%%XYDOT%%/_markupbase.py
+lib/python%%XYDOT%%/_osx_support.py
+lib/python%%XYDOT%%/_py_abc.py
+lib/python%%XYDOT%%/_pydecimal.py
+lib/python%%XYDOT%%/_pyio.py
+lib/python%%XYDOT%%/_sitebuiltins.py
+lib/python%%XYDOT%%/_strptime.py
+lib/python%%XYDOT%%/_sysconfigdata_%%ABI%%_freebsd%%OSMAJOR%%_.py
+lib/python%%XYDOT%%/_threading_local.py
+lib/python%%XYDOT%%/_weakrefset.py
+lib/python%%XYDOT%%/abc.py
+lib/python%%XYDOT%%/aifc.py
+lib/python%%XYDOT%%/antigravity.py
+lib/python%%XYDOT%%/argparse.py
+lib/python%%XYDOT%%/ast.py
+lib/python%%XYDOT%%/asynchat.py
+lib/python%%XYDOT%%/asyncio/__init__.py
+lib/python%%XYDOT%%/asyncio/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/base_events.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/base_events.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/base_events.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/base_futures.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/base_futures.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/base_futures.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/base_subprocess.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/base_subprocess.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/base_subprocess.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/base_tasks.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/base_tasks.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/base_tasks.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/constants.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/constants.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/constants.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/coroutines.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/coroutines.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/coroutines.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/events.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/events.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/events.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/format_helpers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/format_helpers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/format_helpers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/futures.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/futures.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/futures.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/locks.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/locks.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/locks.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/log.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/log.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/log.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/proactor_events.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/proactor_events.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/proactor_events.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/protocols.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/protocols.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/protocols.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/queues.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/queues.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/queues.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/runners.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/runners.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/runners.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/selector_events.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/selector_events.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/selector_events.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/sslproto.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/sslproto.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/sslproto.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/streams.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/streams.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/streams.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/subprocess.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/subprocess.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/subprocess.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/tasks.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/tasks.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/tasks.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/transports.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/transports.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/transports.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/unix_events.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/unix_events.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/unix_events.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/windows_events.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/windows_events.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/windows_events.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/windows_utils.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/windows_utils.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/asyncio/__pycache__/windows_utils.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/asyncio/base_events.py
+lib/python%%XYDOT%%/asyncio/base_futures.py
+lib/python%%XYDOT%%/asyncio/base_subprocess.py
+lib/python%%XYDOT%%/asyncio/base_tasks.py
+lib/python%%XYDOT%%/asyncio/constants.py
+lib/python%%XYDOT%%/asyncio/coroutines.py
+lib/python%%XYDOT%%/asyncio/events.py
+lib/python%%XYDOT%%/asyncio/format_helpers.py
+lib/python%%XYDOT%%/asyncio/futures.py
+lib/python%%XYDOT%%/asyncio/locks.py
+lib/python%%XYDOT%%/asyncio/log.py
+lib/python%%XYDOT%%/asyncio/proactor_events.py
+lib/python%%XYDOT%%/asyncio/protocols.py
+lib/python%%XYDOT%%/asyncio/queues.py
+lib/python%%XYDOT%%/asyncio/runners.py
+lib/python%%XYDOT%%/asyncio/selector_events.py
+lib/python%%XYDOT%%/asyncio/sslproto.py
+lib/python%%XYDOT%%/asyncio/streams.py
+lib/python%%XYDOT%%/asyncio/subprocess.py
+lib/python%%XYDOT%%/asyncio/tasks.py
+lib/python%%XYDOT%%/asyncio/transports.py
+lib/python%%XYDOT%%/asyncio/unix_events.py
+lib/python%%XYDOT%%/asyncio/windows_events.py
+lib/python%%XYDOT%%/asyncio/windows_utils.py
+lib/python%%XYDOT%%/asyncore.py
+lib/python%%XYDOT%%/base64.py
+lib/python%%XYDOT%%/bdb.py
+lib/python%%XYDOT%%/binhex.py
+lib/python%%XYDOT%%/bisect.py
+lib/python%%XYDOT%%/bz2.py
+lib/python%%XYDOT%%/cProfile.py
+lib/python%%XYDOT%%/calendar.py
+lib/python%%XYDOT%%/cgi.py
+lib/python%%XYDOT%%/cgitb.py
+lib/python%%XYDOT%%/chunk.py
+lib/python%%XYDOT%%/cmd.py
+lib/python%%XYDOT%%/code.py
+lib/python%%XYDOT%%/codecs.py
+lib/python%%XYDOT%%/codeop.py
+lib/python%%XYDOT%%/collections/__init__.py
+lib/python%%XYDOT%%/collections/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/collections/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/collections/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/collections/__pycache__/abc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/collections/__pycache__/abc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/collections/__pycache__/abc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/collections/abc.py
+lib/python%%XYDOT%%/colorsys.py
+lib/python%%XYDOT%%/compileall.py
+lib/python%%XYDOT%%/concurrent/__init__.py
+lib/python%%XYDOT%%/concurrent/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/concurrent/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/concurrent/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/concurrent/futures/__init__.py
+lib/python%%XYDOT%%/concurrent/futures/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/concurrent/futures/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/concurrent/futures/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/concurrent/futures/__pycache__/_base.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/concurrent/futures/__pycache__/_base.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/concurrent/futures/__pycache__/_base.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/concurrent/futures/__pycache__/process.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/concurrent/futures/__pycache__/process.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/concurrent/futures/__pycache__/process.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/concurrent/futures/__pycache__/thread.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/concurrent/futures/__pycache__/thread.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/concurrent/futures/__pycache__/thread.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/concurrent/futures/_base.py
+lib/python%%XYDOT%%/concurrent/futures/process.py
+lib/python%%XYDOT%%/concurrent/futures/thread.py
+lib/python%%XYDOT%%/config-%%XYDOT%%%%ABI%%/Makefile
+lib/python%%XYDOT%%/config-%%XYDOT%%%%ABI%%/Setup
+lib/python%%XYDOT%%/config-%%XYDOT%%%%ABI%%/Setup.local
+lib/python%%XYDOT%%/config-%%XYDOT%%%%ABI%%/config.c
+lib/python%%XYDOT%%/config-%%XYDOT%%%%ABI%%/config.c.in
+lib/python%%XYDOT%%/config-%%XYDOT%%%%ABI%%/install-sh
+lib/python%%XYDOT%%/config-%%XYDOT%%%%ABI%%/libpython%%XYDOT%%%%ABI%%.a
+lib/python%%XYDOT%%/config-%%XYDOT%%%%ABI%%/makesetup
+lib/python%%XYDOT%%/config-%%XYDOT%%%%ABI%%/python-config.py
+lib/python%%XYDOT%%/config-%%XYDOT%%%%ABI%%/python.o
+lib/python%%XYDOT%%/configparser.py
+lib/python%%XYDOT%%/contextlib.py
+lib/python%%XYDOT%%/contextvars.py
+lib/python%%XYDOT%%/copy.py
+lib/python%%XYDOT%%/copyreg.py
+lib/python%%XYDOT%%/crypt.py
+lib/python%%XYDOT%%/csv.py
+lib/python%%XYDOT%%/ctypes/__init__.py
+lib/python%%XYDOT%%/ctypes/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/__pycache__/_aix.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/__pycache__/_aix.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/__pycache__/_aix.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/__pycache__/_endian.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/__pycache__/_endian.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/__pycache__/_endian.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/__pycache__/util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/__pycache__/util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/__pycache__/util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/__pycache__/wintypes.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/__pycache__/wintypes.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/__pycache__/wintypes.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/_aix.py
+lib/python%%XYDOT%%/ctypes/_endian.py
+lib/python%%XYDOT%%/ctypes/macholib/README.ctypes
+lib/python%%XYDOT%%/ctypes/macholib/__init__.py
+lib/python%%XYDOT%%/ctypes/macholib/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/macholib/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/macholib/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/macholib/__pycache__/dyld.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/macholib/__pycache__/dyld.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/macholib/__pycache__/dyld.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/macholib/__pycache__/dylib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/macholib/__pycache__/dylib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/macholib/__pycache__/dylib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/macholib/__pycache__/framework.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/macholib/__pycache__/framework.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/macholib/__pycache__/framework.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/macholib/dyld.py
+lib/python%%XYDOT%%/ctypes/macholib/dylib.py
+lib/python%%XYDOT%%/ctypes/macholib/fetch_macholib
+lib/python%%XYDOT%%/ctypes/macholib/fetch_macholib.bat
+lib/python%%XYDOT%%/ctypes/macholib/framework.py
+lib/python%%XYDOT%%/ctypes/test/__init__.py
+lib/python%%XYDOT%%/ctypes/test/__main__.py
+lib/python%%XYDOT%%/ctypes/test/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_anon.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_anon.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_anon.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_array_in_pointer.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_array_in_pointer.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_array_in_pointer.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_arrays.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_arrays.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_arrays.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_as_parameter.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_as_parameter.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_as_parameter.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_bitfields.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_bitfields.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_bitfields.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_buffers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_buffers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_buffers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_bytes.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_bytes.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_bytes.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_byteswap.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_byteswap.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_byteswap.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_callbacks.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_callbacks.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_callbacks.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_cast.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_cast.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_cast.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_cfuncs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_cfuncs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_cfuncs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_checkretval.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_checkretval.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_checkretval.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_delattr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_delattr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_delattr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_errno.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_errno.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_errno.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_find.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_find.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_find.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_frombuffer.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_frombuffer.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_frombuffer.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_funcptr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_funcptr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_funcptr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_functions.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_functions.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_functions.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_incomplete.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_incomplete.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_incomplete.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_init.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_init.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_init.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_internals.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_internals.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_internals.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_keeprefs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_keeprefs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_keeprefs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_libc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_libc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_libc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_loading.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_loading.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_loading.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_macholib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_macholib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_macholib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_memfunctions.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_memfunctions.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_memfunctions.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_numbers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_numbers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_numbers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_objects.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_objects.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_objects.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_parameters.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_parameters.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_parameters.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_pep3118.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_pep3118.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_pep3118.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_pickling.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_pickling.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_pickling.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_pointers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_pointers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_pointers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_prototypes.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_prototypes.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_prototypes.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_python_api.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_python_api.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_python_api.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_random_things.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_random_things.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_random_things.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_refcounts.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_refcounts.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_refcounts.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_repr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_repr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_repr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_returnfuncptrs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_returnfuncptrs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_returnfuncptrs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_simplesubclasses.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_simplesubclasses.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_simplesubclasses.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_sizes.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_sizes.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_sizes.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_slicing.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_slicing.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_slicing.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_stringptr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_stringptr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_stringptr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_strings.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_strings.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_strings.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_struct_fields.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_struct_fields.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_struct_fields.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_structures.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_structures.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_structures.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_unaligned_structures.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_unaligned_structures.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_unaligned_structures.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_unicode.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_unicode.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_unicode.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_values.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_values.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_values.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_varsize_struct.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_varsize_struct.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_varsize_struct.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_win32.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_win32.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_win32.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_wintypes.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_wintypes.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ctypes/test/__pycache__/test_wintypes.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ctypes/test/test_anon.py
+lib/python%%XYDOT%%/ctypes/test/test_array_in_pointer.py
+lib/python%%XYDOT%%/ctypes/test/test_arrays.py
+lib/python%%XYDOT%%/ctypes/test/test_as_parameter.py
+lib/python%%XYDOT%%/ctypes/test/test_bitfields.py
+lib/python%%XYDOT%%/ctypes/test/test_buffers.py
+lib/python%%XYDOT%%/ctypes/test/test_bytes.py
+lib/python%%XYDOT%%/ctypes/test/test_byteswap.py
+lib/python%%XYDOT%%/ctypes/test/test_callbacks.py
+lib/python%%XYDOT%%/ctypes/test/test_cast.py
+lib/python%%XYDOT%%/ctypes/test/test_cfuncs.py
+lib/python%%XYDOT%%/ctypes/test/test_checkretval.py
+lib/python%%XYDOT%%/ctypes/test/test_delattr.py
+lib/python%%XYDOT%%/ctypes/test/test_errno.py
+lib/python%%XYDOT%%/ctypes/test/test_find.py
+lib/python%%XYDOT%%/ctypes/test/test_frombuffer.py
+lib/python%%XYDOT%%/ctypes/test/test_funcptr.py
+lib/python%%XYDOT%%/ctypes/test/test_functions.py
+lib/python%%XYDOT%%/ctypes/test/test_incomplete.py
+lib/python%%XYDOT%%/ctypes/test/test_init.py
+lib/python%%XYDOT%%/ctypes/test/test_internals.py
+lib/python%%XYDOT%%/ctypes/test/test_keeprefs.py
+lib/python%%XYDOT%%/ctypes/test/test_libc.py
+lib/python%%XYDOT%%/ctypes/test/test_loading.py
+lib/python%%XYDOT%%/ctypes/test/test_macholib.py
+lib/python%%XYDOT%%/ctypes/test/test_memfunctions.py
+lib/python%%XYDOT%%/ctypes/test/test_numbers.py
+lib/python%%XYDOT%%/ctypes/test/test_objects.py
+lib/python%%XYDOT%%/ctypes/test/test_parameters.py
+lib/python%%XYDOT%%/ctypes/test/test_pep3118.py
+lib/python%%XYDOT%%/ctypes/test/test_pickling.py
+lib/python%%XYDOT%%/ctypes/test/test_pointers.py
+lib/python%%XYDOT%%/ctypes/test/test_prototypes.py
+lib/python%%XYDOT%%/ctypes/test/test_python_api.py
+lib/python%%XYDOT%%/ctypes/test/test_random_things.py
+lib/python%%XYDOT%%/ctypes/test/test_refcounts.py
+lib/python%%XYDOT%%/ctypes/test/test_repr.py
+lib/python%%XYDOT%%/ctypes/test/test_returnfuncptrs.py
+lib/python%%XYDOT%%/ctypes/test/test_simplesubclasses.py
+lib/python%%XYDOT%%/ctypes/test/test_sizes.py
+lib/python%%XYDOT%%/ctypes/test/test_slicing.py
+lib/python%%XYDOT%%/ctypes/test/test_stringptr.py
+lib/python%%XYDOT%%/ctypes/test/test_strings.py
+lib/python%%XYDOT%%/ctypes/test/test_struct_fields.py
+lib/python%%XYDOT%%/ctypes/test/test_structures.py
+lib/python%%XYDOT%%/ctypes/test/test_unaligned_structures.py
+lib/python%%XYDOT%%/ctypes/test/test_unicode.py
+lib/python%%XYDOT%%/ctypes/test/test_values.py
+lib/python%%XYDOT%%/ctypes/test/test_varsize_struct.py
+lib/python%%XYDOT%%/ctypes/test/test_win32.py
+lib/python%%XYDOT%%/ctypes/test/test_wintypes.py
+lib/python%%XYDOT%%/ctypes/util.py
+lib/python%%XYDOT%%/ctypes/wintypes.py
+lib/python%%XYDOT%%/curses/__init__.py
+lib/python%%XYDOT%%/curses/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/curses/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/curses/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/curses/__pycache__/ascii.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/curses/__pycache__/ascii.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/curses/__pycache__/ascii.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/curses/__pycache__/has_key.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/curses/__pycache__/has_key.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/curses/__pycache__/has_key.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/curses/__pycache__/panel.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/curses/__pycache__/panel.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/curses/__pycache__/panel.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/curses/__pycache__/textpad.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/curses/__pycache__/textpad.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/curses/__pycache__/textpad.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/curses/ascii.py
+lib/python%%XYDOT%%/curses/has_key.py
+lib/python%%XYDOT%%/curses/panel.py
+lib/python%%XYDOT%%/curses/textpad.py
+lib/python%%XYDOT%%/dataclasses.py
+lib/python%%XYDOT%%/datetime.py
+lib/python%%XYDOT%%/dbm/__init__.py
+lib/python%%XYDOT%%/dbm/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/dbm/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/dbm/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/dbm/__pycache__/dumb.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/dbm/__pycache__/dumb.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/dbm/__pycache__/dumb.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/dbm/__pycache__/gnu.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/dbm/__pycache__/gnu.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/dbm/__pycache__/gnu.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/dbm/__pycache__/ndbm.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/dbm/__pycache__/ndbm.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/dbm/__pycache__/ndbm.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/dbm/dumb.py
+lib/python%%XYDOT%%/dbm/gnu.py
+lib/python%%XYDOT%%/dbm/ndbm.py
+lib/python%%XYDOT%%/decimal.py
+lib/python%%XYDOT%%/difflib.py
+lib/python%%XYDOT%%/dis.py
+lib/python%%XYDOT%%/distutils/README
+lib/python%%XYDOT%%/distutils/__init__.py
+lib/python%%XYDOT%%/distutils/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/_msvccompiler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/_msvccompiler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/_msvccompiler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/archive_util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/archive_util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/archive_util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/bcppcompiler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/bcppcompiler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/bcppcompiler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/ccompiler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/ccompiler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/ccompiler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/cmd.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/cmd.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/cmd.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/config.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/config.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/config.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/core.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/core.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/core.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/cygwinccompiler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/cygwinccompiler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/cygwinccompiler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/debug.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/debug.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/debug.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/dep_util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/dep_util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/dep_util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/dir_util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/dir_util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/dir_util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/dist.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/dist.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/dist.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/errors.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/errors.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/errors.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/extension.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/extension.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/extension.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/fancy_getopt.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/fancy_getopt.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/fancy_getopt.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/file_util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/file_util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/file_util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/filelist.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/filelist.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/filelist.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/log.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/log.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/log.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/msvc9compiler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/msvc9compiler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/msvc9compiler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/msvccompiler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/msvccompiler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/msvccompiler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/spawn.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/spawn.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/spawn.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/sysconfig.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/sysconfig.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/sysconfig.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/text_file.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/text_file.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/text_file.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/unixccompiler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/unixccompiler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/unixccompiler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/version.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/version.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/version.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/versionpredicate.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/versionpredicate.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/__pycache__/versionpredicate.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/_msvccompiler.py
+lib/python%%XYDOT%%/distutils/archive_util.py
+lib/python%%XYDOT%%/distutils/bcppcompiler.py
+lib/python%%XYDOT%%/distutils/ccompiler.py
+lib/python%%XYDOT%%/distutils/cmd.py
+lib/python%%XYDOT%%/distutils/command/__init__.py
+lib/python%%XYDOT%%/distutils/command/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist_dumb.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist_dumb.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist_dumb.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist_msi.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist_msi.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist_msi.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist_rpm.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist_rpm.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist_rpm.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist_wininst.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist_wininst.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/bdist_wininst.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build_clib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build_clib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build_clib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build_ext.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build_ext.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build_ext.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build_py.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build_py.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build_py.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build_scripts.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build_scripts.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/build_scripts.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/check.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/check.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/check.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/clean.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/clean.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/clean.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/config.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/config.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/config.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_data.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_data.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_data.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_egg_info.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_egg_info.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_egg_info.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_headers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_headers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_headers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_lib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_lib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_lib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_scripts.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_scripts.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/install_scripts.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/register.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/register.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/register.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/sdist.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/sdist.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/sdist.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/upload.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/upload.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/command/__pycache__/upload.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/command/bdist.py
+lib/python%%XYDOT%%/distutils/command/bdist_dumb.py
+lib/python%%XYDOT%%/distutils/command/bdist_msi.py
+lib/python%%XYDOT%%/distutils/command/bdist_rpm.py
+lib/python%%XYDOT%%/distutils/command/bdist_wininst.py
+lib/python%%XYDOT%%/distutils/command/build.py
+lib/python%%XYDOT%%/distutils/command/build_clib.py
+lib/python%%XYDOT%%/distutils/command/build_ext.py
+lib/python%%XYDOT%%/distutils/command/build_py.py
+lib/python%%XYDOT%%/distutils/command/build_scripts.py
+lib/python%%XYDOT%%/distutils/command/check.py
+lib/python%%XYDOT%%/distutils/command/clean.py
+lib/python%%XYDOT%%/distutils/command/command_template
+lib/python%%XYDOT%%/distutils/command/config.py
+lib/python%%XYDOT%%/distutils/command/install.py
+lib/python%%XYDOT%%/distutils/command/install_data.py
+lib/python%%XYDOT%%/distutils/command/install_egg_info.py
+lib/python%%XYDOT%%/distutils/command/install_headers.py
+lib/python%%XYDOT%%/distutils/command/install_lib.py
+lib/python%%XYDOT%%/distutils/command/install_scripts.py
+lib/python%%XYDOT%%/distutils/command/register.py
+lib/python%%XYDOT%%/distutils/command/sdist.py
+lib/python%%XYDOT%%/distutils/command/upload.py
+lib/python%%XYDOT%%/distutils/command/wininst-10.0-amd64.exe
+lib/python%%XYDOT%%/distutils/command/wininst-10.0.exe
+lib/python%%XYDOT%%/distutils/command/wininst-14.0-amd64.exe
+lib/python%%XYDOT%%/distutils/command/wininst-14.0.exe
+lib/python%%XYDOT%%/distutils/command/wininst-6.0.exe
+lib/python%%XYDOT%%/distutils/command/wininst-7.1.exe
+lib/python%%XYDOT%%/distutils/command/wininst-8.0.exe
+lib/python%%XYDOT%%/distutils/command/wininst-9.0-amd64.exe
+lib/python%%XYDOT%%/distutils/command/wininst-9.0.exe
+lib/python%%XYDOT%%/distutils/config.py
+lib/python%%XYDOT%%/distutils/core.py
+lib/python%%XYDOT%%/distutils/cygwinccompiler.py
+lib/python%%XYDOT%%/distutils/debug.py
+lib/python%%XYDOT%%/distutils/dep_util.py
+lib/python%%XYDOT%%/distutils/dir_util.py
+lib/python%%XYDOT%%/distutils/dist.py
+lib/python%%XYDOT%%/distutils/errors.py
+lib/python%%XYDOT%%/distutils/extension.py
+lib/python%%XYDOT%%/distutils/fancy_getopt.py
+lib/python%%XYDOT%%/distutils/file_util.py
+lib/python%%XYDOT%%/distutils/filelist.py
+lib/python%%XYDOT%%/distutils/log.py
+lib/python%%XYDOT%%/distutils/msvc9compiler.py
+lib/python%%XYDOT%%/distutils/msvccompiler.py
+lib/python%%XYDOT%%/distutils/spawn.py
+lib/python%%XYDOT%%/distutils/sysconfig.py
+lib/python%%XYDOT%%/distutils/tests/Setup.sample
+lib/python%%XYDOT%%/distutils/tests/__init__.py
+lib/python%%XYDOT%%/distutils/tests/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/support.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/support.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/support.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_archive_util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_archive_util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_archive_util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist_dumb.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist_dumb.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist_dumb.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist_msi.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist_msi.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist_msi.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist_rpm.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist_rpm.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist_rpm.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist_wininst.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist_wininst.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_bdist_wininst.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build_clib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build_clib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build_clib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build_ext.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build_ext.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build_ext.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build_py.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build_py.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build_py.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build_scripts.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build_scripts.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_build_scripts.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_check.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_check.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_check.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_clean.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_clean.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_clean.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_cmd.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_cmd.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_cmd.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_config.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_config.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_config.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_config_cmd.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_config_cmd.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_config_cmd.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_core.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_core.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_core.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_cygwinccompiler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_cygwinccompiler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_cygwinccompiler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_dep_util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_dep_util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_dep_util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_dir_util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_dir_util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_dir_util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_dist.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_dist.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_dist.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_extension.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_extension.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_extension.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_file_util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_file_util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_file_util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_filelist.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_filelist.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_filelist.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install_data.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install_data.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install_data.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install_headers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install_headers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install_headers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install_lib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install_lib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install_lib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install_scripts.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install_scripts.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_install_scripts.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_log.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_log.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_log.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_msvc9compiler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_msvc9compiler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_msvc9compiler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_msvccompiler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_msvccompiler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_msvccompiler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_register.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_register.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_register.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_sdist.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_sdist.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_sdist.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_spawn.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_spawn.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_spawn.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_sysconfig.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_sysconfig.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_sysconfig.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_text_file.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_text_file.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_text_file.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_unixccompiler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_unixccompiler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_unixccompiler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_upload.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_upload.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_upload.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_version.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_version.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_version.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_versionpredicate.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_versionpredicate.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/distutils/tests/__pycache__/test_versionpredicate.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/distutils/tests/support.py
+lib/python%%XYDOT%%/distutils/tests/test_archive_util.py
+lib/python%%XYDOT%%/distutils/tests/test_bdist.py
+lib/python%%XYDOT%%/distutils/tests/test_bdist_dumb.py
+lib/python%%XYDOT%%/distutils/tests/test_bdist_msi.py
+lib/python%%XYDOT%%/distutils/tests/test_bdist_rpm.py
+lib/python%%XYDOT%%/distutils/tests/test_bdist_wininst.py
+lib/python%%XYDOT%%/distutils/tests/test_build.py
+lib/python%%XYDOT%%/distutils/tests/test_build_clib.py
+lib/python%%XYDOT%%/distutils/tests/test_build_ext.py
+lib/python%%XYDOT%%/distutils/tests/test_build_py.py
+lib/python%%XYDOT%%/distutils/tests/test_build_scripts.py
+lib/python%%XYDOT%%/distutils/tests/test_check.py
+lib/python%%XYDOT%%/distutils/tests/test_clean.py
+lib/python%%XYDOT%%/distutils/tests/test_cmd.py
+lib/python%%XYDOT%%/distutils/tests/test_config.py
+lib/python%%XYDOT%%/distutils/tests/test_config_cmd.py
+lib/python%%XYDOT%%/distutils/tests/test_core.py
+lib/python%%XYDOT%%/distutils/tests/test_cygwinccompiler.py
+lib/python%%XYDOT%%/distutils/tests/test_dep_util.py
+lib/python%%XYDOT%%/distutils/tests/test_dir_util.py
+lib/python%%XYDOT%%/distutils/tests/test_dist.py
+lib/python%%XYDOT%%/distutils/tests/test_extension.py
+lib/python%%XYDOT%%/distutils/tests/test_file_util.py
+lib/python%%XYDOT%%/distutils/tests/test_filelist.py
+lib/python%%XYDOT%%/distutils/tests/test_install.py
+lib/python%%XYDOT%%/distutils/tests/test_install_data.py
+lib/python%%XYDOT%%/distutils/tests/test_install_headers.py
+lib/python%%XYDOT%%/distutils/tests/test_install_lib.py
+lib/python%%XYDOT%%/distutils/tests/test_install_scripts.py
+lib/python%%XYDOT%%/distutils/tests/test_log.py
+lib/python%%XYDOT%%/distutils/tests/test_msvc9compiler.py
+lib/python%%XYDOT%%/distutils/tests/test_msvccompiler.py
+lib/python%%XYDOT%%/distutils/tests/test_register.py
+lib/python%%XYDOT%%/distutils/tests/test_sdist.py
+lib/python%%XYDOT%%/distutils/tests/test_spawn.py
+lib/python%%XYDOT%%/distutils/tests/test_sysconfig.py
+lib/python%%XYDOT%%/distutils/tests/test_text_file.py
+lib/python%%XYDOT%%/distutils/tests/test_unixccompiler.py
+lib/python%%XYDOT%%/distutils/tests/test_upload.py
+lib/python%%XYDOT%%/distutils/tests/test_util.py
+lib/python%%XYDOT%%/distutils/tests/test_version.py
+lib/python%%XYDOT%%/distutils/tests/test_versionpredicate.py
+lib/python%%XYDOT%%/distutils/tests/xxmodule.c
+lib/python%%XYDOT%%/distutils/text_file.py
+lib/python%%XYDOT%%/distutils/unixccompiler.py
+lib/python%%XYDOT%%/distutils/util.py
+lib/python%%XYDOT%%/distutils/version.py
+lib/python%%XYDOT%%/distutils/versionpredicate.py
+lib/python%%XYDOT%%/doctest.py
+lib/python%%XYDOT%%/dummy_threading.py
+lib/python%%XYDOT%%/email/__init__.py
+lib/python%%XYDOT%%/email/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/_encoded_words.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/_encoded_words.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/_encoded_words.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/_header_value_parser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/_header_value_parser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/_header_value_parser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/_parseaddr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/_parseaddr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/_parseaddr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/_policybase.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/_policybase.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/_policybase.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/base64mime.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/base64mime.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/base64mime.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/charset.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/charset.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/charset.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/contentmanager.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/contentmanager.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/contentmanager.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/encoders.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/encoders.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/encoders.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/errors.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/errors.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/errors.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/feedparser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/feedparser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/feedparser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/generator.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/generator.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/generator.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/header.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/header.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/header.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/headerregistry.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/headerregistry.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/headerregistry.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/iterators.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/iterators.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/iterators.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/message.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/message.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/message.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/parser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/parser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/parser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/policy.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/policy.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/policy.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/quoprimime.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/quoprimime.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/quoprimime.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/__pycache__/utils.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/__pycache__/utils.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/__pycache__/utils.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/_encoded_words.py
+lib/python%%XYDOT%%/email/_header_value_parser.py
+lib/python%%XYDOT%%/email/_parseaddr.py
+lib/python%%XYDOT%%/email/_policybase.py
+lib/python%%XYDOT%%/email/architecture.rst
+lib/python%%XYDOT%%/email/base64mime.py
+lib/python%%XYDOT%%/email/charset.py
+lib/python%%XYDOT%%/email/contentmanager.py
+lib/python%%XYDOT%%/email/encoders.py
+lib/python%%XYDOT%%/email/errors.py
+lib/python%%XYDOT%%/email/feedparser.py
+lib/python%%XYDOT%%/email/generator.py
+lib/python%%XYDOT%%/email/header.py
+lib/python%%XYDOT%%/email/headerregistry.py
+lib/python%%XYDOT%%/email/iterators.py
+lib/python%%XYDOT%%/email/message.py
+lib/python%%XYDOT%%/email/mime/__init__.py
+lib/python%%XYDOT%%/email/mime/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/application.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/application.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/application.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/audio.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/audio.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/audio.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/base.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/base.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/base.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/image.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/image.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/image.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/message.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/message.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/message.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/multipart.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/multipart.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/multipart.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/nonmultipart.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/nonmultipart.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/nonmultipart.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/text.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/text.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/email/mime/__pycache__/text.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/email/mime/application.py
+lib/python%%XYDOT%%/email/mime/audio.py
+lib/python%%XYDOT%%/email/mime/base.py
+lib/python%%XYDOT%%/email/mime/image.py
+lib/python%%XYDOT%%/email/mime/message.py
+lib/python%%XYDOT%%/email/mime/multipart.py
+lib/python%%XYDOT%%/email/mime/nonmultipart.py
+lib/python%%XYDOT%%/email/mime/text.py
+lib/python%%XYDOT%%/email/parser.py
+lib/python%%XYDOT%%/email/policy.py
+lib/python%%XYDOT%%/email/quoprimime.py
+lib/python%%XYDOT%%/email/utils.py
+lib/python%%XYDOT%%/encodings/__init__.py
+lib/python%%XYDOT%%/encodings/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/aliases.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/aliases.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/aliases.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/ascii.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/ascii.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/ascii.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/base64_codec.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/base64_codec.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/base64_codec.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/big5.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/big5.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/big5.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/big5hkscs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/big5hkscs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/big5hkscs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/bz2_codec.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/bz2_codec.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/bz2_codec.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/charmap.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/charmap.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/charmap.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp037.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp037.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp037.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1006.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1006.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1006.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1026.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1026.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1026.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1125.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1125.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1125.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1140.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1140.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1140.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1250.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1250.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1250.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1251.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1251.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1251.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1252.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1252.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1252.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1253.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1253.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1253.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1254.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1254.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1254.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1255.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1255.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1255.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1256.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1256.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1256.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1257.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1257.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1257.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1258.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1258.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp1258.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp273.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp273.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp273.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp424.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp424.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp424.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp437.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp437.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp437.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp500.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp500.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp500.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp65001.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp65001.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp65001.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp720.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp720.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp720.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp737.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp737.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp737.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp775.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp775.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp775.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp850.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp850.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp850.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp852.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp852.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp852.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp855.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp855.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp855.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp856.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp856.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp856.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp857.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp857.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp857.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp858.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp858.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp858.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp860.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp860.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp860.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp861.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp861.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp861.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp862.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp862.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp862.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp863.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp863.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp863.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp864.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp864.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp864.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp865.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp865.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp865.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp866.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp866.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp866.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp869.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp869.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp869.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp874.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp874.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp874.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp875.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp875.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp875.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp932.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp932.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp932.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp949.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp949.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp949.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp950.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp950.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/cp950.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/euc_jis_2004.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/euc_jis_2004.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/euc_jis_2004.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/euc_jisx0213.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/euc_jisx0213.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/euc_jisx0213.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/euc_jp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/euc_jp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/euc_jp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/euc_kr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/euc_kr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/euc_kr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/gb18030.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/gb18030.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/gb18030.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/gb2312.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/gb2312.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/gb2312.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/gbk.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/gbk.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/gbk.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/hex_codec.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/hex_codec.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/hex_codec.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/hp_roman8.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/hp_roman8.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/hp_roman8.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/hz.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/hz.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/hz.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/idna.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/idna.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/idna.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_1.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_1.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_1.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_2004.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_2004.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_2004.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_3.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_3.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_3.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_ext.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_ext.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_jp_ext.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_kr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_kr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso2022_kr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_1.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_1.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_1.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_10.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_10.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_10.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_11.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_11.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_11.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_13.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_13.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_13.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_14.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_14.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_14.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_15.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_15.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_15.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_16.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_16.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_16.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_3.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_3.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_3.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_4.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_4.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_4.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_5.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_5.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_5.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_6.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_6.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_6.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_7.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_7.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_7.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_8.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_8.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_8.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_9.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_9.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/iso8859_9.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/johab.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/johab.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/johab.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/koi8_r.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/koi8_r.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/koi8_r.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/koi8_t.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/koi8_t.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/koi8_t.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/koi8_u.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/koi8_u.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/koi8_u.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/kz1048.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/kz1048.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/kz1048.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/latin_1.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/latin_1.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/latin_1.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_arabic.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_arabic.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_arabic.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_centeuro.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_centeuro.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_centeuro.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_croatian.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_croatian.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_croatian.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_cyrillic.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_cyrillic.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_cyrillic.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_farsi.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_farsi.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_farsi.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_greek.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_greek.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_greek.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_iceland.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_iceland.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_iceland.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_latin2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_latin2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_latin2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_roman.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_roman.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_roman.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_romanian.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_romanian.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_romanian.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_turkish.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_turkish.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mac_turkish.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mbcs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mbcs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/mbcs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/oem.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/oem.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/oem.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/palmos.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/palmos.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/palmos.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/ptcp154.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/ptcp154.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/ptcp154.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/punycode.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/punycode.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/punycode.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/quopri_codec.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/quopri_codec.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/quopri_codec.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/raw_unicode_escape.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/raw_unicode_escape.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/raw_unicode_escape.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/rot_13.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/rot_13.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/rot_13.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/shift_jis.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/shift_jis.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/shift_jis.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/shift_jis_2004.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/shift_jis_2004.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/shift_jis_2004.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/shift_jisx0213.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/shift_jisx0213.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/shift_jisx0213.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/tis_620.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/tis_620.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/tis_620.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/undefined.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/undefined.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/undefined.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/unicode_escape.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/unicode_escape.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/unicode_escape.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/unicode_internal.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/unicode_internal.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/unicode_internal.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_16.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_16.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_16.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_16_be.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_16_be.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_16_be.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_16_le.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_16_le.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_16_le.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_32.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_32.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_32.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_32_be.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_32_be.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_32_be.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_32_le.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_32_le.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_32_le.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_7.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_7.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_7.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_8.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_8.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_8.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_8_sig.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_8_sig.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/utf_8_sig.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/uu_codec.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/uu_codec.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/uu_codec.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/zlib_codec.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/zlib_codec.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/encodings/__pycache__/zlib_codec.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/encodings/aliases.py
+lib/python%%XYDOT%%/encodings/ascii.py
+lib/python%%XYDOT%%/encodings/base64_codec.py
+lib/python%%XYDOT%%/encodings/big5.py
+lib/python%%XYDOT%%/encodings/big5hkscs.py
+lib/python%%XYDOT%%/encodings/bz2_codec.py
+lib/python%%XYDOT%%/encodings/charmap.py
+lib/python%%XYDOT%%/encodings/cp037.py
+lib/python%%XYDOT%%/encodings/cp1006.py
+lib/python%%XYDOT%%/encodings/cp1026.py
+lib/python%%XYDOT%%/encodings/cp1125.py
+lib/python%%XYDOT%%/encodings/cp1140.py
+lib/python%%XYDOT%%/encodings/cp1250.py
+lib/python%%XYDOT%%/encodings/cp1251.py
+lib/python%%XYDOT%%/encodings/cp1252.py
+lib/python%%XYDOT%%/encodings/cp1253.py
+lib/python%%XYDOT%%/encodings/cp1254.py
+lib/python%%XYDOT%%/encodings/cp1255.py
+lib/python%%XYDOT%%/encodings/cp1256.py
+lib/python%%XYDOT%%/encodings/cp1257.py
+lib/python%%XYDOT%%/encodings/cp1258.py
+lib/python%%XYDOT%%/encodings/cp273.py
+lib/python%%XYDOT%%/encodings/cp424.py
+lib/python%%XYDOT%%/encodings/cp437.py
+lib/python%%XYDOT%%/encodings/cp500.py
+lib/python%%XYDOT%%/encodings/cp65001.py
+lib/python%%XYDOT%%/encodings/cp720.py
+lib/python%%XYDOT%%/encodings/cp737.py
+lib/python%%XYDOT%%/encodings/cp775.py
+lib/python%%XYDOT%%/encodings/cp850.py
+lib/python%%XYDOT%%/encodings/cp852.py
+lib/python%%XYDOT%%/encodings/cp855.py
+lib/python%%XYDOT%%/encodings/cp856.py
+lib/python%%XYDOT%%/encodings/cp857.py
+lib/python%%XYDOT%%/encodings/cp858.py
+lib/python%%XYDOT%%/encodings/cp860.py
+lib/python%%XYDOT%%/encodings/cp861.py
+lib/python%%XYDOT%%/encodings/cp862.py
+lib/python%%XYDOT%%/encodings/cp863.py
+lib/python%%XYDOT%%/encodings/cp864.py
+lib/python%%XYDOT%%/encodings/cp865.py
+lib/python%%XYDOT%%/encodings/cp866.py
+lib/python%%XYDOT%%/encodings/cp869.py
+lib/python%%XYDOT%%/encodings/cp874.py
+lib/python%%XYDOT%%/encodings/cp875.py
+lib/python%%XYDOT%%/encodings/cp932.py
+lib/python%%XYDOT%%/encodings/cp949.py
+lib/python%%XYDOT%%/encodings/cp950.py
+lib/python%%XYDOT%%/encodings/euc_jis_2004.py
+lib/python%%XYDOT%%/encodings/euc_jisx0213.py
+lib/python%%XYDOT%%/encodings/euc_jp.py
+lib/python%%XYDOT%%/encodings/euc_kr.py
+lib/python%%XYDOT%%/encodings/gb18030.py
+lib/python%%XYDOT%%/encodings/gb2312.py
+lib/python%%XYDOT%%/encodings/gbk.py
+lib/python%%XYDOT%%/encodings/hex_codec.py
+lib/python%%XYDOT%%/encodings/hp_roman8.py
+lib/python%%XYDOT%%/encodings/hz.py
+lib/python%%XYDOT%%/encodings/idna.py
+lib/python%%XYDOT%%/encodings/iso2022_jp.py
+lib/python%%XYDOT%%/encodings/iso2022_jp_1.py
+lib/python%%XYDOT%%/encodings/iso2022_jp_2.py
+lib/python%%XYDOT%%/encodings/iso2022_jp_2004.py
+lib/python%%XYDOT%%/encodings/iso2022_jp_3.py
+lib/python%%XYDOT%%/encodings/iso2022_jp_ext.py
+lib/python%%XYDOT%%/encodings/iso2022_kr.py
+lib/python%%XYDOT%%/encodings/iso8859_1.py
+lib/python%%XYDOT%%/encodings/iso8859_10.py
+lib/python%%XYDOT%%/encodings/iso8859_11.py
+lib/python%%XYDOT%%/encodings/iso8859_13.py
+lib/python%%XYDOT%%/encodings/iso8859_14.py
+lib/python%%XYDOT%%/encodings/iso8859_15.py
+lib/python%%XYDOT%%/encodings/iso8859_16.py
+lib/python%%XYDOT%%/encodings/iso8859_2.py
+lib/python%%XYDOT%%/encodings/iso8859_3.py
+lib/python%%XYDOT%%/encodings/iso8859_4.py
+lib/python%%XYDOT%%/encodings/iso8859_5.py
+lib/python%%XYDOT%%/encodings/iso8859_6.py
+lib/python%%XYDOT%%/encodings/iso8859_7.py
+lib/python%%XYDOT%%/encodings/iso8859_8.py
+lib/python%%XYDOT%%/encodings/iso8859_9.py
+lib/python%%XYDOT%%/encodings/johab.py
+lib/python%%XYDOT%%/encodings/koi8_r.py
+lib/python%%XYDOT%%/encodings/koi8_t.py
+lib/python%%XYDOT%%/encodings/koi8_u.py
+lib/python%%XYDOT%%/encodings/kz1048.py
+lib/python%%XYDOT%%/encodings/latin_1.py
+lib/python%%XYDOT%%/encodings/mac_arabic.py
+lib/python%%XYDOT%%/encodings/mac_centeuro.py
+lib/python%%XYDOT%%/encodings/mac_croatian.py
+lib/python%%XYDOT%%/encodings/mac_cyrillic.py
+lib/python%%XYDOT%%/encodings/mac_farsi.py
+lib/python%%XYDOT%%/encodings/mac_greek.py
+lib/python%%XYDOT%%/encodings/mac_iceland.py
+lib/python%%XYDOT%%/encodings/mac_latin2.py
+lib/python%%XYDOT%%/encodings/mac_roman.py
+lib/python%%XYDOT%%/encodings/mac_romanian.py
+lib/python%%XYDOT%%/encodings/mac_turkish.py
+lib/python%%XYDOT%%/encodings/mbcs.py
+lib/python%%XYDOT%%/encodings/oem.py
+lib/python%%XYDOT%%/encodings/palmos.py
+lib/python%%XYDOT%%/encodings/ptcp154.py
+lib/python%%XYDOT%%/encodings/punycode.py
+lib/python%%XYDOT%%/encodings/quopri_codec.py
+lib/python%%XYDOT%%/encodings/raw_unicode_escape.py
+lib/python%%XYDOT%%/encodings/rot_13.py
+lib/python%%XYDOT%%/encodings/shift_jis.py
+lib/python%%XYDOT%%/encodings/shift_jis_2004.py
+lib/python%%XYDOT%%/encodings/shift_jisx0213.py
+lib/python%%XYDOT%%/encodings/tis_620.py
+lib/python%%XYDOT%%/encodings/undefined.py
+lib/python%%XYDOT%%/encodings/unicode_escape.py
+lib/python%%XYDOT%%/encodings/unicode_internal.py
+lib/python%%XYDOT%%/encodings/utf_16.py
+lib/python%%XYDOT%%/encodings/utf_16_be.py
+lib/python%%XYDOT%%/encodings/utf_16_le.py
+lib/python%%XYDOT%%/encodings/utf_32.py
+lib/python%%XYDOT%%/encodings/utf_32_be.py
+lib/python%%XYDOT%%/encodings/utf_32_le.py
+lib/python%%XYDOT%%/encodings/utf_7.py
+lib/python%%XYDOT%%/encodings/utf_8.py
+lib/python%%XYDOT%%/encodings/utf_8_sig.py
+lib/python%%XYDOT%%/encodings/uu_codec.py
+lib/python%%XYDOT%%/encodings/zlib_codec.py
+lib/python%%XYDOT%%/ensurepip/__init__.py
+lib/python%%XYDOT%%/ensurepip/__main__.py
+lib/python%%XYDOT%%/ensurepip/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ensurepip/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ensurepip/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ensurepip/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ensurepip/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ensurepip/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ensurepip/__pycache__/_uninstall.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/ensurepip/__pycache__/_uninstall.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/ensurepip/__pycache__/_uninstall.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/ensurepip/_bundled/pip-18.1-py2.py3-none-any.whl
+lib/python%%XYDOT%%/ensurepip/_bundled/setuptools-40.6.2-py2.py3-none-any.whl
+lib/python%%XYDOT%%/ensurepip/_uninstall.py
+lib/python%%XYDOT%%/enum.py
+lib/python%%XYDOT%%/filecmp.py
+lib/python%%XYDOT%%/fileinput.py
+lib/python%%XYDOT%%/fnmatch.py
+lib/python%%XYDOT%%/formatter.py
+lib/python%%XYDOT%%/fractions.py
+lib/python%%XYDOT%%/ftplib.py
+lib/python%%XYDOT%%/functools.py
+lib/python%%XYDOT%%/genericpath.py
+lib/python%%XYDOT%%/getopt.py
+lib/python%%XYDOT%%/getpass.py
+lib/python%%XYDOT%%/gettext.py
+lib/python%%XYDOT%%/glob.py
+lib/python%%XYDOT%%/gzip.py
+lib/python%%XYDOT%%/hashlib.py
+lib/python%%XYDOT%%/heapq.py
+lib/python%%XYDOT%%/hmac.py
+lib/python%%XYDOT%%/html/__init__.py
+lib/python%%XYDOT%%/html/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/html/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/html/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/html/__pycache__/entities.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/html/__pycache__/entities.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/html/__pycache__/entities.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/html/__pycache__/parser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/html/__pycache__/parser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/html/__pycache__/parser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/html/entities.py
+lib/python%%XYDOT%%/html/parser.py
+lib/python%%XYDOT%%/http/__init__.py
+lib/python%%XYDOT%%/http/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/http/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/http/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/http/__pycache__/client.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/http/__pycache__/client.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/http/__pycache__/client.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/http/__pycache__/cookiejar.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/http/__pycache__/cookiejar.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/http/__pycache__/cookiejar.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/http/__pycache__/cookies.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/http/__pycache__/cookies.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/http/__pycache__/cookies.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/http/__pycache__/server.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/http/__pycache__/server.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/http/__pycache__/server.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/http/client.py
+lib/python%%XYDOT%%/http/cookiejar.py
+lib/python%%XYDOT%%/http/cookies.py
+lib/python%%XYDOT%%/http/server.py
+lib/python%%XYDOT%%/idlelib/CREDITS.txt
+lib/python%%XYDOT%%/idlelib/ChangeLog
+lib/python%%XYDOT%%/idlelib/HISTORY.txt
+lib/python%%XYDOT%%/idlelib/Icons/folder.gif
+lib/python%%XYDOT%%/idlelib/Icons/idle.icns
+lib/python%%XYDOT%%/idlelib/Icons/idle.ico
+lib/python%%XYDOT%%/idlelib/Icons/idle_16.gif
+lib/python%%XYDOT%%/idlelib/Icons/idle_16.png
+lib/python%%XYDOT%%/idlelib/Icons/idle_32.gif
+lib/python%%XYDOT%%/idlelib/Icons/idle_32.png
+lib/python%%XYDOT%%/idlelib/Icons/idle_48.gif
+lib/python%%XYDOT%%/idlelib/Icons/idle_48.png
+lib/python%%XYDOT%%/idlelib/Icons/minusnode.gif
+lib/python%%XYDOT%%/idlelib/Icons/openfolder.gif
+lib/python%%XYDOT%%/idlelib/Icons/plusnode.gif
+lib/python%%XYDOT%%/idlelib/Icons/python.gif
+lib/python%%XYDOT%%/idlelib/Icons/tk.gif
+lib/python%%XYDOT%%/idlelib/NEWS.txt
+lib/python%%XYDOT%%/idlelib/NEWS2x.txt
+lib/python%%XYDOT%%/idlelib/README.txt
+lib/python%%XYDOT%%/idlelib/TODO.txt
+lib/python%%XYDOT%%/idlelib/__init__.py
+lib/python%%XYDOT%%/idlelib/__main__.py
+lib/python%%XYDOT%%/idlelib/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/autocomplete.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/autocomplete.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/autocomplete.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/autocomplete_w.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/autocomplete_w.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/autocomplete_w.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/autoexpand.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/autoexpand.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/autoexpand.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/browser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/browser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/browser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/calltip_w.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/calltip_w.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/calltip_w.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/calltip.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/calltip.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/calltip.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/codecontext.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/codecontext.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/codecontext.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/colorizer.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/colorizer.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/colorizer.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/config.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/config.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/config.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/config_key.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/config_key.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/config_key.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/configdialog.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/configdialog.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/configdialog.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/debugger.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/debugger.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/debugger.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/debugger_r.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/debugger_r.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/debugger_r.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/debugobj.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/debugobj.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/debugobj.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/debugobj_r.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/debugobj_r.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/debugobj_r.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/delegator.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/delegator.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/delegator.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/dynoption.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/dynoption.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/dynoption.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/editor.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/editor.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/editor.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/filelist.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/filelist.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/filelist.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/grep.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/grep.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/grep.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/help.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/help.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/help.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/help_about.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/help_about.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/help_about.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/history.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/history.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/history.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/hyperparser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/hyperparser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/hyperparser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/idle.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/idle.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/idle.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/iomenu.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/iomenu.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/iomenu.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/macosx.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/macosx.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/macosx.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/mainmenu.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/mainmenu.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/mainmenu.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/multicall.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/multicall.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/multicall.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/outwin.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/outwin.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/outwin.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/paragraph.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/paragraph.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/paragraph.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/parenmatch.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/parenmatch.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/parenmatch.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/pathbrowser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/pathbrowser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/pathbrowser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/percolator.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/percolator.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/percolator.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/pyparse.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/pyparse.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/pyparse.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/pyshell.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/pyshell.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/pyshell.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/query.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/query.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/query.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/redirector.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/redirector.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/redirector.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/replace.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/replace.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/replace.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/rpc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/rpc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/rpc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/rstrip.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/rstrip.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/rstrip.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/run.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/run.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/run.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/runscript.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/runscript.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/runscript.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/scrolledlist.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/scrolledlist.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/scrolledlist.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/search.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/search.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/search.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/searchbase.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/searchbase.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/searchbase.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/searchengine.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/searchengine.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/searchengine.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/squeezer.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/squeezer.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/squeezer.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/stackviewer.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/stackviewer.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/stackviewer.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/statusbar.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/statusbar.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/statusbar.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/textview.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/textview.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/textview.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/tooltip.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/tooltip.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/tooltip.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/tree.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/tree.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/tree.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/undo.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/undo.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/undo.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/window.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/window.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/window.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/zoomheight.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/zoomheight.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/zoomheight.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/zzdummy.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/zzdummy.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/__pycache__/zzdummy.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/autocomplete.py
+lib/python%%XYDOT%%/idlelib/autocomplete_w.py
+lib/python%%XYDOT%%/idlelib/autoexpand.py
+lib/python%%XYDOT%%/idlelib/browser.py
+lib/python%%XYDOT%%/idlelib/calltip_w.py
+lib/python%%XYDOT%%/idlelib/calltip.py
+lib/python%%XYDOT%%/idlelib/codecontext.py
+lib/python%%XYDOT%%/idlelib/colorizer.py
+lib/python%%XYDOT%%/idlelib/config-extensions.def
+lib/python%%XYDOT%%/idlelib/config-highlight.def
+lib/python%%XYDOT%%/idlelib/config-keys.def
+lib/python%%XYDOT%%/idlelib/config-main.def
+lib/python%%XYDOT%%/idlelib/config.py
+lib/python%%XYDOT%%/idlelib/config_key.py
+lib/python%%XYDOT%%/idlelib/configdialog.py
+lib/python%%XYDOT%%/idlelib/debugger.py
+lib/python%%XYDOT%%/idlelib/debugger_r.py
+lib/python%%XYDOT%%/idlelib/debugobj.py
+lib/python%%XYDOT%%/idlelib/debugobj_r.py
+lib/python%%XYDOT%%/idlelib/delegator.py
+lib/python%%XYDOT%%/idlelib/dynoption.py
+lib/python%%XYDOT%%/idlelib/editor.py
+lib/python%%XYDOT%%/idlelib/extend.txt
+lib/python%%XYDOT%%/idlelib/filelist.py
+lib/python%%XYDOT%%/idlelib/grep.py
+lib/python%%XYDOT%%/idlelib/help.html
+lib/python%%XYDOT%%/idlelib/help.py
+lib/python%%XYDOT%%/idlelib/help_about.py
+lib/python%%XYDOT%%/idlelib/history.py
+lib/python%%XYDOT%%/idlelib/hyperparser.py
+lib/python%%XYDOT%%/idlelib/idle.bat
+lib/python%%XYDOT%%/idlelib/idle.py
+lib/python%%XYDOT%%/idlelib/idle.pyw
+lib/python%%XYDOT%%/idlelib/idle_test/README.txt
+lib/python%%XYDOT%%/idlelib/idle_test/__init__.py
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/htest.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/htest.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/htest.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/mock_idle.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/mock_idle.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/mock_idle.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/mock_tk.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/mock_tk.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/mock_tk.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/template.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/template.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/template.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_autocomplete.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_autocomplete.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_autocomplete.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_autocomplete_w.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_autocomplete_w.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_autocomplete_w.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_autoexpand.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_autoexpand.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_autoexpand.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_browser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_browser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_browser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_calltip.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_calltip.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_calltip.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_calltip_w.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_calltip_w.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_calltip_w.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_codecontext.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_codecontext.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_codecontext.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_colorizer.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_colorizer.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_colorizer.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_config.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_config.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_config.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_config_key.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_config_key.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_config_key.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_configdialog.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_configdialog.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_configdialog.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_debugger.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_debugger.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_debugger.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_debugger_r.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_debugger_r.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_debugger_r.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_debugobj.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_debugobj.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_debugobj.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_debugobj_r.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_debugobj_r.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_debugobj_r.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_delegator.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_delegator.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_delegator.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_editmenu.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_editmenu.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_editmenu.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_editor.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_editor.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_editor.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_filelist.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_filelist.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_filelist.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_grep.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_grep.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_grep.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_help.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_help.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_help.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_help_about.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_help_about.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_help_about.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_history.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_history.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_history.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_hyperparser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_hyperparser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_hyperparser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_iomenu.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_iomenu.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_iomenu.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_macosx.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_macosx.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_macosx.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_mainmenu.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_mainmenu.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_mainmenu.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_multicall.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_multicall.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_multicall.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_outwin.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_outwin.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_outwin.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_paragraph.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_paragraph.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_paragraph.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_parenmatch.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_parenmatch.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_parenmatch.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_pathbrowser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_pathbrowser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_pathbrowser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_percolator.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_percolator.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_percolator.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_pyparse.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_pyparse.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_pyparse.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_pyshell.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_pyshell.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_pyshell.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_query.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_query.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_query.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_redirector.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_redirector.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_redirector.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_replace.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_replace.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_replace.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_rpc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_rpc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_rpc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_rstrip.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_rstrip.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_rstrip.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_run.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_run.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_run.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_runscript.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_runscript.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_runscript.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_scrolledlist.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_scrolledlist.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_scrolledlist.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_search.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_search.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_search.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_searchbase.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_searchbase.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_searchbase.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_searchengine.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_searchengine.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_searchengine.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_squeezer.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_squeezer.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_squeezer.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_stackviewer.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_stackviewer.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_stackviewer.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_statusbar.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_statusbar.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_statusbar.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_text.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_text.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_text.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_textview.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_textview.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_textview.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_tooltip.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_tooltip.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_tooltip.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_tree.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_tree.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_tree.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_undo.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_undo.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_undo.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_warning.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_warning.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_warning.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_window.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_window.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_window.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_zoomheight.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_zoomheight.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_zoomheight.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/idlelib/idle_test/htest.py
+lib/python%%XYDOT%%/idlelib/idle_test/mock_idle.py
+lib/python%%XYDOT%%/idlelib/idle_test/mock_tk.py
+lib/python%%XYDOT%%/idlelib/idle_test/template.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_autocomplete.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_autocomplete_w.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_autoexpand.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_browser.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_calltip.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_calltip_w.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_codecontext.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_colorizer.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_config.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_config_key.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_configdialog.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_debugger.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_debugger_r.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_debugobj.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_debugobj_r.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_delegator.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_editmenu.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_editor.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_filelist.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_grep.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_help.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_help_about.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_history.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_hyperparser.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_iomenu.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_macosx.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_mainmenu.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_multicall.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_outwin.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_paragraph.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_parenmatch.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_pathbrowser.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_percolator.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_pyparse.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_pyshell.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_rpc.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_query.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_redirector.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_replace.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_rstrip.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_run.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_runscript.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_scrolledlist.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_search.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_searchbase.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_searchengine.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_squeezer.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_stackviewer.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_statusbar.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_text.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_textview.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_tooltip.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_tree.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_undo.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_warning.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_window.py
+lib/python%%XYDOT%%/idlelib/idle_test/test_zoomheight.py
+lib/python%%XYDOT%%/idlelib/iomenu.py
+lib/python%%XYDOT%%/idlelib/macosx.py
+lib/python%%XYDOT%%/idlelib/mainmenu.py
+lib/python%%XYDOT%%/idlelib/multicall.py
+lib/python%%XYDOT%%/idlelib/outwin.py
+lib/python%%XYDOT%%/idlelib/paragraph.py
+lib/python%%XYDOT%%/idlelib/parenmatch.py
+lib/python%%XYDOT%%/idlelib/pathbrowser.py
+lib/python%%XYDOT%%/idlelib/percolator.py
+lib/python%%XYDOT%%/idlelib/pyparse.py
+lib/python%%XYDOT%%/idlelib/pyshell.py
+lib/python%%XYDOT%%/idlelib/query.py
+lib/python%%XYDOT%%/idlelib/redirector.py
+lib/python%%XYDOT%%/idlelib/replace.py
+lib/python%%XYDOT%%/idlelib/rpc.py
+lib/python%%XYDOT%%/idlelib/rstrip.py
+lib/python%%XYDOT%%/idlelib/run.py
+lib/python%%XYDOT%%/idlelib/runscript.py
+lib/python%%XYDOT%%/idlelib/scrolledlist.py
+lib/python%%XYDOT%%/idlelib/search.py
+lib/python%%XYDOT%%/idlelib/searchbase.py
+lib/python%%XYDOT%%/idlelib/searchengine.py
+lib/python%%XYDOT%%/idlelib/squeezer.py
+lib/python%%XYDOT%%/idlelib/stackviewer.py
+lib/python%%XYDOT%%/idlelib/statusbar.py
+lib/python%%XYDOT%%/idlelib/textview.py
+lib/python%%XYDOT%%/idlelib/tooltip.py
+lib/python%%XYDOT%%/idlelib/tree.py
+lib/python%%XYDOT%%/idlelib/undo.py
+lib/python%%XYDOT%%/idlelib/window.py
+lib/python%%XYDOT%%/idlelib/zoomheight.py
+lib/python%%XYDOT%%/idlelib/zzdummy.py
+lib/python%%XYDOT%%/imaplib.py
+lib/python%%XYDOT%%/imghdr.py
+lib/python%%XYDOT%%/imp.py
+lib/python%%XYDOT%%/importlib/__init__.py
+lib/python%%XYDOT%%/importlib/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/_bootstrap.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/_bootstrap.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/_bootstrap.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/_bootstrap_external.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/_bootstrap_external.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/_bootstrap_external.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/abc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/abc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/abc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/machinery.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/machinery.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/machinery.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/resources.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/resources.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/resources.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/importlib/__pycache__/util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/importlib/_bootstrap.py
+lib/python%%XYDOT%%/importlib/_bootstrap_external.py
+lib/python%%XYDOT%%/importlib/abc.py
+lib/python%%XYDOT%%/importlib/machinery.py
+lib/python%%XYDOT%%/importlib/resources.py
+lib/python%%XYDOT%%/importlib/util.py
+lib/python%%XYDOT%%/inspect.py
+lib/python%%XYDOT%%/io.py
+lib/python%%XYDOT%%/ipaddress.py
+lib/python%%XYDOT%%/json/__init__.py
+lib/python%%XYDOT%%/json/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/json/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/json/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/json/__pycache__/decoder.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/json/__pycache__/decoder.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/json/__pycache__/decoder.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/json/__pycache__/encoder.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/json/__pycache__/encoder.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/json/__pycache__/encoder.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/json/__pycache__/scanner.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/json/__pycache__/scanner.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/json/__pycache__/scanner.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/json/__pycache__/tool.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/json/__pycache__/tool.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/json/__pycache__/tool.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/json/decoder.py
+lib/python%%XYDOT%%/json/encoder.py
+lib/python%%XYDOT%%/json/scanner.py
+lib/python%%XYDOT%%/json/tool.py
+lib/python%%XYDOT%%/keyword.py
+lib/python%%XYDOT%%/lib-dynload/_asyncio.so
+lib/python%%XYDOT%%/lib-dynload/_bisect.so
+lib/python%%XYDOT%%/lib-dynload/_blake2.so
+lib/python%%XYDOT%%/lib-dynload/_bz2.so
+lib/python%%XYDOT%%/lib-dynload/_codecs_cn.so
+lib/python%%XYDOT%%/lib-dynload/_codecs_hk.so
+lib/python%%XYDOT%%/lib-dynload/_codecs_iso2022.so
+lib/python%%XYDOT%%/lib-dynload/_codecs_jp.so
+lib/python%%XYDOT%%/lib-dynload/_codecs_kr.so
+lib/python%%XYDOT%%/lib-dynload/_codecs_tw.so
+lib/python%%XYDOT%%/lib-dynload/_contextvars.so
+lib/python%%XYDOT%%/lib-dynload/_crypt.so
+lib/python%%XYDOT%%/lib-dynload/_csv.so
+lib/python%%XYDOT%%/lib-dynload/_ctypes.so
+lib/python%%XYDOT%%/lib-dynload/_ctypes_test.so
+lib/python%%XYDOT%%/lib-dynload/_curses.so
+lib/python%%XYDOT%%/lib-dynload/_curses_panel.so
+lib/python%%XYDOT%%/lib-dynload/_datetime.so
+lib/python%%XYDOT%%/lib-dynload/_dbm.so
+lib/python%%XYDOT%%/lib-dynload/_decimal.so
+lib/python%%XYDOT%%/lib-dynload/_elementtree.so
+lib/python%%XYDOT%%/lib-dynload/_hashlib.so
+lib/python%%XYDOT%%/lib-dynload/_heapq.so
+lib/python%%XYDOT%%/lib-dynload/_json.so
+lib/python%%XYDOT%%/lib-dynload/_lsprof.so
+lib/python%%XYDOT%%/lib-dynload/_lzma.so
+lib/python%%XYDOT%%/lib-dynload/_md5.so
+lib/python%%XYDOT%%/lib-dynload/_multibytecodec.so
+lib/python%%XYDOT%%/lib-dynload/_multiprocessing.so
+lib/python%%XYDOT%%/lib-dynload/_opcode.so
+lib/python%%XYDOT%%/lib-dynload/_pickle.so
+lib/python%%XYDOT%%/lib-dynload/_posixsubprocess.so
+lib/python%%XYDOT%%/lib-dynload/_queue.so
+lib/python%%XYDOT%%/lib-dynload/_random.so
+lib/python%%XYDOT%%/lib-dynload/_sha1.so
+lib/python%%XYDOT%%/lib-dynload/_sha256.so
+lib/python%%XYDOT%%/lib-dynload/_sha3.so
+lib/python%%XYDOT%%/lib-dynload/_sha512.so
+lib/python%%XYDOT%%/lib-dynload/_socket.so
+lib/python%%XYDOT%%/lib-dynload/_ssl.so
+lib/python%%XYDOT%%/lib-dynload/_struct.so
+lib/python%%XYDOT%%/lib-dynload/_testbuffer.so
+lib/python%%XYDOT%%/lib-dynload/_testcapi.so
+lib/python%%XYDOT%%/lib-dynload/_testimportmultiple.so
+lib/python%%XYDOT%%/lib-dynload/_testmultiphase.so
+lib/python%%XYDOT%%/lib-dynload/_uuid.so
+lib/python%%XYDOT%%/lib-dynload/_xxtestfuzz.so
+lib/python%%XYDOT%%/lib-dynload/array.so
+lib/python%%XYDOT%%/lib-dynload/audioop.so
+lib/python%%XYDOT%%/lib-dynload/binascii.so
+lib/python%%XYDOT%%/lib-dynload/cmath.so
+lib/python%%XYDOT%%/lib-dynload/fcntl.so
+lib/python%%XYDOT%%/lib-dynload/grp.so
+lib/python%%XYDOT%%/lib-dynload/math.so
+lib/python%%XYDOT%%/lib-dynload/mmap.so
+%%NO_NIS%%lib/python%%XYDOT%%/lib-dynload/nis.so
+lib/python%%XYDOT%%/lib-dynload/ossaudiodev.so
+lib/python%%XYDOT%%/lib-dynload/parser.so
+lib/python%%XYDOT%%/lib-dynload/pyexpat.so
+lib/python%%XYDOT%%/lib-dynload/readline.so
+lib/python%%XYDOT%%/lib-dynload/resource.so
+lib/python%%XYDOT%%/lib-dynload/select.so
+lib/python%%XYDOT%%/lib-dynload/syslog.so
+lib/python%%XYDOT%%/lib-dynload/termios.so
+lib/python%%XYDOT%%/lib-dynload/unicodedata.so
+%%NO_DEBUG%%lib/python%%XYDOT%%/lib-dynload/xxlimited.so
+lib/python%%XYDOT%%/lib-dynload/zlib.so
+lib/python%%XYDOT%%/lib2to3/Grammar.txt
+lib/python%%XYDOT%%/lib2to3/Grammar%%XYZDOT%%.final.0.pickle
+lib/python%%XYDOT%%/lib2to3/PatternGrammar.txt
+lib/python%%XYDOT%%/lib2to3/PatternGrammar%%XYZDOT%%.final.0.pickle
+lib/python%%XYDOT%%/lib2to3/__init__.py
+lib/python%%XYDOT%%/lib2to3/__main__.py
+lib/python%%XYDOT%%/lib2to3/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/btm_matcher.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/btm_matcher.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/btm_matcher.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/btm_utils.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/btm_utils.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/btm_utils.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/fixer_base.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/fixer_base.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/fixer_base.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/fixer_util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/fixer_util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/fixer_util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/main.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/main.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/main.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/patcomp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/patcomp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/patcomp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/pygram.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/pygram.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/pygram.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/pytree.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/pytree.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/pytree.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/refactor.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/refactor.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/__pycache__/refactor.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/btm_matcher.py
+lib/python%%XYDOT%%/lib2to3/btm_utils.py
+lib/python%%XYDOT%%/lib2to3/fixer_base.py
+lib/python%%XYDOT%%/lib2to3/fixer_util.py
+lib/python%%XYDOT%%/lib2to3/fixes/__init__.py
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_apply.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_apply.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_apply.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_asserts.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_asserts.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_asserts.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_basestring.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_basestring.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_basestring.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_buffer.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_buffer.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_buffer.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_dict.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_dict.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_dict.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_except.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_except.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_except.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_exec.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_exec.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_exec.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_execfile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_execfile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_execfile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_exitfunc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_exitfunc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_exitfunc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_filter.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_filter.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_filter.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_funcattrs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_funcattrs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_funcattrs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_future.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_future.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_future.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_getcwdu.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_getcwdu.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_getcwdu.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_has_key.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_has_key.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_has_key.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_idioms.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_idioms.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_idioms.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_import.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_import.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_import.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_imports.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_imports.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_imports.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_imports2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_imports2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_imports2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_input.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_input.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_input.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_intern.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_intern.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_intern.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_isinstance.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_isinstance.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_isinstance.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_itertools.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_itertools.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_itertools.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_itertools_imports.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_itertools_imports.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_itertools_imports.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_long.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_long.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_long.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_map.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_map.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_map.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_metaclass.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_metaclass.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_metaclass.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_methodattrs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_methodattrs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_methodattrs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_ne.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_ne.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_ne.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_next.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_next.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_next.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_nonzero.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_nonzero.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_nonzero.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_numliterals.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_numliterals.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_numliterals.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_operator.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_operator.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_operator.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_paren.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_paren.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_paren.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_print.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_print.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_print.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_raise.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_raise.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_raise.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_raw_input.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_raw_input.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_raw_input.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_reduce.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_reduce.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_reduce.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_reload.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_reload.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_reload.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_renames.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_renames.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_renames.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_repr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_repr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_repr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_set_literal.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_set_literal.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_set_literal.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_standarderror.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_standarderror.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_standarderror.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_sys_exc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_sys_exc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_sys_exc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_throw.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_throw.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_throw.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_tuple_params.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_tuple_params.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_tuple_params.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_types.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_types.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_types.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_unicode.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_unicode.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_unicode.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_urllib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_urllib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_urllib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_ws_comma.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_ws_comma.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_ws_comma.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_xrange.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_xrange.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_xrange.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_xreadlines.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_xreadlines.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_xreadlines.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_zip.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_zip.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/__pycache__/fix_zip.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/fixes/fix_apply.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_asserts.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_basestring.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_buffer.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_dict.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_except.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_exec.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_execfile.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_exitfunc.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_filter.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_funcattrs.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_future.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_getcwdu.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_has_key.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_idioms.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_import.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_imports.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_imports2.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_input.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_intern.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_isinstance.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_itertools.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_itertools_imports.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_long.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_map.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_metaclass.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_methodattrs.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_ne.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_next.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_nonzero.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_numliterals.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_operator.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_paren.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_print.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_raise.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_raw_input.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_reduce.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_reload.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_renames.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_repr.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_set_literal.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_standarderror.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_sys_exc.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_throw.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_tuple_params.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_types.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_unicode.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_urllib.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_ws_comma.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_xrange.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_xreadlines.py
+lib/python%%XYDOT%%/lib2to3/fixes/fix_zip.py
+lib/python%%XYDOT%%/lib2to3/main.py
+lib/python%%XYDOT%%/lib2to3/patcomp.py
+lib/python%%XYDOT%%/lib2to3/pgen2/__init__.py
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/conv.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/conv.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/conv.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/driver.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/driver.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/driver.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/grammar.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/grammar.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/grammar.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/literals.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/literals.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/literals.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/parse.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/parse.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/parse.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/pgen.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/pgen.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/pgen.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/token.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/token.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/token.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/tokenize.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/tokenize.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/__pycache__/tokenize.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/pgen2/conv.py
+lib/python%%XYDOT%%/lib2to3/pgen2/driver.py
+lib/python%%XYDOT%%/lib2to3/pgen2/grammar.py
+lib/python%%XYDOT%%/lib2to3/pgen2/literals.py
+lib/python%%XYDOT%%/lib2to3/pgen2/parse.py
+lib/python%%XYDOT%%/lib2to3/pgen2/pgen.py
+lib/python%%XYDOT%%/lib2to3/pgen2/token.py
+lib/python%%XYDOT%%/lib2to3/pgen2/tokenize.py
+lib/python%%XYDOT%%/lib2to3/pygram.py
+lib/python%%XYDOT%%/lib2to3/pytree.py
+lib/python%%XYDOT%%/lib2to3/refactor.py
+lib/python%%XYDOT%%/lib2to3/tests/__init__.py
+lib/python%%XYDOT%%/lib2to3/tests/__main__.py
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/pytree_idempotency.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/pytree_idempotency.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/pytree_idempotency.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/support.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/support.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/support.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_all_fixers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_all_fixers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_all_fixers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_fixers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_fixers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_fixers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_main.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_main.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_main.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_parser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_parser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_parser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_pytree.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_pytree.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_pytree.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_refactor.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_refactor.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_refactor.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/lib2to3/tests/__pycache__/test_util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/lib2to3/tests/data/README
+lib/python%%XYDOT%%/lib2to3/tests/data/bom.py
+lib/python%%XYDOT%%/lib2to3/tests/data/crlf.py
+lib/python%%XYDOT%%/lib2to3/tests/data/different_encoding.py
+lib/python%%XYDOT%%/lib2to3/tests/data/false_encoding.py
+lib/python%%XYDOT%%/lib2to3/tests/data/fixers/bad_order.py
+lib/python%%XYDOT%%/lib2to3/tests/data/fixers/myfixes/__init__.py
+lib/python%%XYDOT%%/lib2to3/tests/data/fixers/myfixes/fix_explicit.py
+lib/python%%XYDOT%%/lib2to3/tests/data/fixers/myfixes/fix_first.py
+lib/python%%XYDOT%%/lib2to3/tests/data/fixers/myfixes/fix_last.py
+lib/python%%XYDOT%%/lib2to3/tests/data/fixers/myfixes/fix_parrot.py
+lib/python%%XYDOT%%/lib2to3/tests/data/fixers/myfixes/fix_preorder.py
+lib/python%%XYDOT%%/lib2to3/tests/data/fixers/no_fixer_cls.py
+lib/python%%XYDOT%%/lib2to3/tests/data/fixers/parrot_example.py
+lib/python%%XYDOT%%/lib2to3/tests/data/infinite_recursion.py
+lib/python%%XYDOT%%/lib2to3/tests/data/py2_test_grammar.py
+lib/python%%XYDOT%%/lib2to3/tests/data/py3_test_grammar.py
+lib/python%%XYDOT%%/lib2to3/tests/pytree_idempotency.py
+lib/python%%XYDOT%%/lib2to3/tests/support.py
+lib/python%%XYDOT%%/lib2to3/tests/test_all_fixers.py
+lib/python%%XYDOT%%/lib2to3/tests/test_fixers.py
+lib/python%%XYDOT%%/lib2to3/tests/test_main.py
+lib/python%%XYDOT%%/lib2to3/tests/test_parser.py
+lib/python%%XYDOT%%/lib2to3/tests/test_pytree.py
+lib/python%%XYDOT%%/lib2to3/tests/test_refactor.py
+lib/python%%XYDOT%%/lib2to3/tests/test_util.py
+lib/python%%XYDOT%%/linecache.py
+lib/python%%XYDOT%%/locale.py
+lib/python%%XYDOT%%/logging/__init__.py
+lib/python%%XYDOT%%/logging/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/logging/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/logging/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/logging/__pycache__/config.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/logging/__pycache__/config.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/logging/__pycache__/config.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/logging/__pycache__/handlers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/logging/__pycache__/handlers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/logging/__pycache__/handlers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/logging/config.py
+lib/python%%XYDOT%%/logging/handlers.py
+lib/python%%XYDOT%%/lzma.py
+lib/python%%XYDOT%%/macpath.py
+lib/python%%XYDOT%%/mailbox.py
+lib/python%%XYDOT%%/mailcap.py
+lib/python%%XYDOT%%/mimetypes.py
+lib/python%%XYDOT%%/modulefinder.py
+lib/python%%XYDOT%%/multiprocessing/__init__.py
+lib/python%%XYDOT%%/multiprocessing/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/connection.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/connection.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/connection.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/context.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/context.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/context.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/forkserver.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/forkserver.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/forkserver.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/heap.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/heap.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/heap.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/managers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/managers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/managers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/pool.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/pool.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/pool.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/popen_fork.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/popen_fork.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/popen_fork.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/popen_forkserver.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/popen_forkserver.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/popen_forkserver.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/popen_spawn_posix.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/popen_spawn_posix.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/popen_spawn_posix.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/popen_spawn_win32.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/popen_spawn_win32.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/popen_spawn_win32.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/process.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/process.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/process.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/queues.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/queues.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/queues.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/reduction.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/reduction.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/reduction.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/resource_sharer.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/resource_sharer.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/resource_sharer.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/semaphore_tracker.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/semaphore_tracker.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/semaphore_tracker.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/sharedctypes.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/sharedctypes.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/sharedctypes.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/spawn.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/spawn.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/spawn.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/synchronize.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/synchronize.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/synchronize.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/__pycache__/util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/connection.py
+lib/python%%XYDOT%%/multiprocessing/context.py
+lib/python%%XYDOT%%/multiprocessing/dummy/__init__.py
+lib/python%%XYDOT%%/multiprocessing/dummy/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/dummy/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/dummy/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/dummy/__pycache__/connection.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/multiprocessing/dummy/__pycache__/connection.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/multiprocessing/dummy/__pycache__/connection.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/multiprocessing/dummy/connection.py
+lib/python%%XYDOT%%/multiprocessing/forkserver.py
+lib/python%%XYDOT%%/multiprocessing/heap.py
+lib/python%%XYDOT%%/multiprocessing/managers.py
+lib/python%%XYDOT%%/multiprocessing/pool.py
+lib/python%%XYDOT%%/multiprocessing/popen_fork.py
+lib/python%%XYDOT%%/multiprocessing/popen_forkserver.py
+lib/python%%XYDOT%%/multiprocessing/popen_spawn_posix.py
+lib/python%%XYDOT%%/multiprocessing/popen_spawn_win32.py
+lib/python%%XYDOT%%/multiprocessing/process.py
+lib/python%%XYDOT%%/multiprocessing/queues.py
+lib/python%%XYDOT%%/multiprocessing/reduction.py
+lib/python%%XYDOT%%/multiprocessing/resource_sharer.py
+lib/python%%XYDOT%%/multiprocessing/semaphore_tracker.py
+lib/python%%XYDOT%%/multiprocessing/sharedctypes.py
+lib/python%%XYDOT%%/multiprocessing/spawn.py
+lib/python%%XYDOT%%/multiprocessing/synchronize.py
+lib/python%%XYDOT%%/multiprocessing/util.py
+lib/python%%XYDOT%%/netrc.py
+lib/python%%XYDOT%%/nntplib.py
+lib/python%%XYDOT%%/ntpath.py
+lib/python%%XYDOT%%/nturl2path.py
+lib/python%%XYDOT%%/numbers.py
+lib/python%%XYDOT%%/opcode.py
+lib/python%%XYDOT%%/operator.py
+lib/python%%XYDOT%%/optparse.py
+lib/python%%XYDOT%%/os.py
+lib/python%%XYDOT%%/pathlib.py
+lib/python%%XYDOT%%/pdb.py
+lib/python%%XYDOT%%/pickle.py
+lib/python%%XYDOT%%/pickletools.py
+lib/python%%XYDOT%%/pipes.py
+lib/python%%XYDOT%%/pkgutil.py
+lib/python%%XYDOT%%/platform.py
+lib/python%%XYDOT%%/plistlib.py
+lib/python%%XYDOT%%/poplib.py
+lib/python%%XYDOT%%/posixpath.py
+lib/python%%XYDOT%%/pprint.py
+lib/python%%XYDOT%%/profile.py
+lib/python%%XYDOT%%/pstats.py
+lib/python%%XYDOT%%/pty.py
+lib/python%%XYDOT%%/py_compile.py
+lib/python%%XYDOT%%/pyclbr.py
+lib/python%%XYDOT%%/pydoc.py
+lib/python%%XYDOT%%/pydoc_data/__init__.py
+lib/python%%XYDOT%%/pydoc_data/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/pydoc_data/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/pydoc_data/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/pydoc_data/__pycache__/topics.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/pydoc_data/__pycache__/topics.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/pydoc_data/__pycache__/topics.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/pydoc_data/_pydoc.css
+lib/python%%XYDOT%%/pydoc_data/topics.py
+lib/python%%XYDOT%%/queue.py
+lib/python%%XYDOT%%/quopri.py
+lib/python%%XYDOT%%/random.py
+lib/python%%XYDOT%%/re.py
+lib/python%%XYDOT%%/reprlib.py
+lib/python%%XYDOT%%/rlcompleter.py
+lib/python%%XYDOT%%/runpy.py
+lib/python%%XYDOT%%/sched.py
+lib/python%%XYDOT%%/secrets.py
+lib/python%%XYDOT%%/selectors.py
+lib/python%%XYDOT%%/shelve.py
+lib/python%%XYDOT%%/shlex.py
+lib/python%%XYDOT%%/shutil.py
+lib/python%%XYDOT%%/signal.py
+lib/python%%XYDOT%%/site-packages/README.txt
+lib/python%%XYDOT%%/site.py
+lib/python%%XYDOT%%/smtpd.py
+lib/python%%XYDOT%%/smtplib.py
+lib/python%%XYDOT%%/sndhdr.py
+lib/python%%XYDOT%%/socket.py
+lib/python%%XYDOT%%/socketserver.py
+lib/python%%XYDOT%%/sqlite3/__init__.py
+lib/python%%XYDOT%%/sqlite3/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/sqlite3/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/sqlite3/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/sqlite3/__pycache__/dbapi2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/sqlite3/__pycache__/dbapi2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/sqlite3/__pycache__/dbapi2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/sqlite3/__pycache__/dump.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/sqlite3/__pycache__/dump.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/sqlite3/__pycache__/dump.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/sqlite3/dbapi2.py
+lib/python%%XYDOT%%/sqlite3/dump.py
+lib/python%%XYDOT%%/sqlite3/test/__init__.py
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/backup.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/backup.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/backup.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/dbapi.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/dbapi.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/dbapi.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/dump.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/dump.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/dump.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/factory.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/factory.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/factory.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/hooks.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/hooks.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/hooks.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/regression.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/regression.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/regression.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/transactions.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/transactions.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/transactions.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/types.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/types.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/types.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/userfunctions.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/userfunctions.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/sqlite3/test/__pycache__/userfunctions.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/sqlite3/test/backup.py
+lib/python%%XYDOT%%/sqlite3/test/dbapi.py
+lib/python%%XYDOT%%/sqlite3/test/dump.py
+lib/python%%XYDOT%%/sqlite3/test/factory.py
+lib/python%%XYDOT%%/sqlite3/test/hooks.py
+lib/python%%XYDOT%%/sqlite3/test/regression.py
+lib/python%%XYDOT%%/sqlite3/test/transactions.py
+lib/python%%XYDOT%%/sqlite3/test/types.py
+lib/python%%XYDOT%%/sqlite3/test/userfunctions.py
+lib/python%%XYDOT%%/sre_compile.py
+lib/python%%XYDOT%%/sre_constants.py
+lib/python%%XYDOT%%/sre_parse.py
+lib/python%%XYDOT%%/ssl.py
+lib/python%%XYDOT%%/stat.py
+lib/python%%XYDOT%%/statistics.py
+lib/python%%XYDOT%%/string.py
+lib/python%%XYDOT%%/stringprep.py
+lib/python%%XYDOT%%/struct.py
+lib/python%%XYDOT%%/subprocess.py
+lib/python%%XYDOT%%/sunau.py
+lib/python%%XYDOT%%/symbol.py
+lib/python%%XYDOT%%/symtable.py
+lib/python%%XYDOT%%/sysconfig.py
+lib/python%%XYDOT%%/tabnanny.py
+lib/python%%XYDOT%%/tarfile.py
+lib/python%%XYDOT%%/telnetlib.py
+lib/python%%XYDOT%%/tempfile.py
+lib/python%%XYDOT%%/test/Sine-1000Hz-300ms.aif
+lib/python%%XYDOT%%/test/__init__.py
+lib/python%%XYDOT%%/test/__main__.py
+lib/python%%XYDOT%%/test/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/_test_multiprocessing.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/_test_multiprocessing.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/_test_multiprocessing.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/ann_module.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/ann_module.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/ann_module.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/ann_module2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/ann_module2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/ann_module2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/ann_module3.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/ann_module3.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/ann_module3.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/audiotests.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/audiotests.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/audiotests.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/autotest.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/autotest.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/autotest.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/bad_getattr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/bad_getattr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/bad_getattr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/bad_getattr2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/bad_getattr2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/bad_getattr2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/bad_getattr3.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/bad_getattr3.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/bad_getattr3.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/bisect.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/bisect.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/bisect.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/bytecode_helper.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/bytecode_helper.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/bytecode_helper.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_clinic.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_clinic.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_clinic.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/coding20731.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/coding20731.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/coding20731.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/curses_tests.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/curses_tests.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/curses_tests.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/dataclass_module_1.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/dataclass_module_1.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/dataclass_module_1.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/dataclass_module_1_str.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/dataclass_module_1_str.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/dataclass_module_1_str.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/dataclass_module_2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/dataclass_module_2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/dataclass_module_2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/dataclass_module_2_str.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/dataclass_module_2_str.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/dataclass_module_2_str.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/datetimetester.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/datetimetester.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/datetimetester.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/dis_module.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/dis_module.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/dis_module.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/doctest_aliases.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/doctest_aliases.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/doctest_aliases.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/double_const.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/double_const.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/double_const.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/final_a.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/final_a.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/final_a.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/final_b.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/final_b.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/final_b.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/fork_wait.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/fork_wait.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/fork_wait.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/future_test1.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/future_test1.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/future_test1.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/future_test2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/future_test2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/future_test2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/gdb_sample.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/gdb_sample.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/gdb_sample.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/good_getattr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/good_getattr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/good_getattr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/imp_dummy.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/imp_dummy.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/imp_dummy.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/inspect_fodder.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/inspect_fodder.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/inspect_fodder.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/inspect_fodder2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/inspect_fodder2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/inspect_fodder2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/list_tests.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/list_tests.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/list_tests.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/lock_tests.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/lock_tests.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/lock_tests.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/make_ssl_certs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/make_ssl_certs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/make_ssl_certs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/mapping_tests.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/mapping_tests.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/mapping_tests.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/memory_watchdog.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/memory_watchdog.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/memory_watchdog.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/mock_socket.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/mock_socket.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/mock_socket.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/mod_generics_cache.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/mod_generics_cache.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/mod_generics_cache.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/mp_fork_bomb.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/mp_fork_bomb.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/mp_fork_bomb.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/mp_preload.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/mp_preload.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/mp_preload.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/multibytecodec_support.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/multibytecodec_support.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/multibytecodec_support.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/outstanding_bugs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/outstanding_bugs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/outstanding_bugs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/pickletester.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/pickletester.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/pickletester.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/profilee.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/profilee.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/profilee.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/pyclbr_input.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/pyclbr_input.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/pyclbr_input.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/pydoc_mod.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/pydoc_mod.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/pydoc_mod.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/pydocfodder.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/pydocfodder.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/pydocfodder.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/pythoninfo.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/pythoninfo.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/pythoninfo.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/re_tests.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/re_tests.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/re_tests.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/regrtest.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/regrtest.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/regrtest.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/relimport.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/relimport.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/relimport.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/reperf.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/reperf.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/reperf.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/sample_doctest.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/sample_doctest.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/sample_doctest.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/sample_doctest_no_docstrings.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/sample_doctest_no_docstrings.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/sample_doctest_no_docstrings.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/sample_doctest_no_doctests.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/sample_doctest_no_doctests.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/sample_doctest_no_doctests.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/seq_tests.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/seq_tests.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/seq_tests.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/signalinterproctester.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/signalinterproctester.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/signalinterproctester.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/sortperf.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/sortperf.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/sortperf.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/ssl_servers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/ssl_servers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/ssl_servers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/ssltests.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/ssltests.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/ssltests.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/string_tests.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/string_tests.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/string_tests.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test___all__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test___all__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test___all__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test___future__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test___future__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test___future__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test__locale.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test__locale.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test__locale.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test__opcode.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test__opcode.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test__opcode.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test__osx_support.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test__osx_support.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test__osx_support.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_abc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_abc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_abc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_abstract_numbers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_abstract_numbers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_abstract_numbers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_aifc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_aifc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_aifc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_argparse.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_argparse.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_argparse.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_array.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_array.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_array.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_asdl_parser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_asdl_parser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_asdl_parser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ast.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ast.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ast.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_asyncgen.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_asyncgen.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_asyncgen.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_asynchat.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_asynchat.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_asynchat.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_asyncore.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_asyncore.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_asyncore.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_atexit.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_atexit.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_atexit.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_audioop.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_audioop.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_audioop.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_augassign.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_augassign.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_augassign.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_base64.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_base64.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_base64.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_baseexception.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_baseexception.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_baseexception.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bdb.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bdb.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bdb.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bigaddrspace.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bigaddrspace.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bigaddrspace.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bigmem.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bigmem.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bigmem.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_binascii.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_binascii.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_binascii.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_binhex.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_binhex.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_binhex.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_binop.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_binop.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_binop.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bisect.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bisect.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bisect.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bool.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bool.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bool.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_buffer.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_buffer.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_buffer.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bufio.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bufio.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bufio.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_builtin.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_builtin.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_builtin.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bytes.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bytes.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bytes.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bz2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bz2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_bz2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_c_locale_coercion.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_c_locale_coercion.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_c_locale_coercion.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_calendar.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_calendar.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_calendar.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_call.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_call.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_call.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_capi.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_capi.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_capi.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cgi.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cgi.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cgi.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cgitb.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cgitb.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cgitb.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_charmapcodec.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_charmapcodec.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_charmapcodec.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_class.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_class.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_class.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cmath.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cmath.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cmath.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cmd.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cmd.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cmd.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cmd_line.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cmd_line.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cmd_line.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cmd_line_script.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cmd_line_script.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cmd_line_script.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_code.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_code.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_code.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_code_module.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_code_module.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_code_module.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codeccallbacks.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codeccallbacks.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codeccallbacks.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_cn.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_cn.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_cn.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_hk.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_hk.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_hk.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_iso2022.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_iso2022.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_iso2022.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_jp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_jp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_jp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_kr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_kr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_kr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_tw.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_tw.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecencodings_tw.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_cn.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_cn.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_cn.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_hk.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_hk.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_hk.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_jp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_jp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_jp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_kr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_kr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_kr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_tw.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_tw.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecmaps_tw.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codecs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codeop.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codeop.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_codeop.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_collections.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_collections.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_collections.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_colorsys.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_colorsys.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_colorsys.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_compare.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_compare.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_compare.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_compile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_compile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_compile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_compileall.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_compileall.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_compileall.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_complex.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_complex.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_complex.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_concurrent_futures.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_concurrent_futures.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_concurrent_futures.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_configparser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_configparser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_configparser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_contains.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_contains.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_contains.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_context.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_context.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_context.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_contextlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_contextlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_contextlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_contextlib_async.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_contextlib_async.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_contextlib_async.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_copy.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_copy.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_copy.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_copyreg.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_copyreg.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_copyreg.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_coroutines.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_coroutines.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_coroutines.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cprofile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cprofile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_cprofile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_crashers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_crashers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_crashers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_crypt.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_crypt.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_crypt.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_csv.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_csv.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_csv.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ctypes.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ctypes.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ctypes.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_curses.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_curses.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_curses.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dataclasses.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dataclasses.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dataclasses.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_datetime.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_datetime.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_datetime.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dbm.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dbm.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dbm.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dbm_dumb.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dbm_dumb.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dbm_dumb.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dbm_gnu.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dbm_gnu.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dbm_gnu.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dbm_ndbm.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dbm_ndbm.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dbm_ndbm.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_decimal.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_decimal.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_decimal.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_decorators.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_decorators.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_decorators.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_defaultdict.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_defaultdict.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_defaultdict.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_deque.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_deque.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_deque.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_descr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_descr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_descr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_descrtut.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_descrtut.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_descrtut.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_devpoll.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_devpoll.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_devpoll.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dict.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dict.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dict.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dict_version.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dict_version.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dict_version.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dictcomps.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dictcomps.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dictcomps.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dictviews.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dictviews.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dictviews.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_difflib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_difflib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_difflib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dis.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dis.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dis.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_distutils.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_distutils.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_distutils.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_doctest.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_doctest.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_doctest.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_doctest2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_doctest2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_doctest2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_docxmlrpc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_docxmlrpc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_docxmlrpc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dtrace.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dtrace.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dtrace.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dummy_thread.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dummy_thread.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dummy_thread.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dummy_threading.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dummy_threading.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dummy_threading.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dynamic.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dynamic.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dynamic.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dynamicclassattribute.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dynamicclassattribute.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_dynamicclassattribute.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_eintr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_eintr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_eintr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_embed.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_embed.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_embed.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ensurepip.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ensurepip.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ensurepip.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_enum.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_enum.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_enum.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_enumerate.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_enumerate.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_enumerate.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_eof.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_eof.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_eof.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_epoll.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_epoll.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_epoll.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_errno.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_errno.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_errno.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_exception_hierarchy.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_exception_hierarchy.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_exception_hierarchy.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_exception_variations.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_exception_variations.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_exception_variations.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_exceptions.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_exceptions.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_exceptions.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_extcall.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_extcall.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_extcall.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_faulthandler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_faulthandler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_faulthandler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fcntl.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fcntl.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fcntl.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_file.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_file.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_file.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_file_eintr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_file_eintr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_file_eintr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_filecmp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_filecmp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_filecmp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fileinput.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fileinput.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fileinput.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fileio.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fileio.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fileio.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_finalization.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_finalization.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_finalization.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_float.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_float.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_float.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_flufl.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_flufl.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_flufl.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fnmatch.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fnmatch.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fnmatch.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fork1.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fork1.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fork1.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_format.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_format.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_format.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fractions.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fractions.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fractions.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_frame.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_frame.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_frame.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_frozen.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_frozen.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_frozen.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fstring.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fstring.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_fstring.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ftplib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ftplib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ftplib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_funcattrs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_funcattrs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_funcattrs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_functools.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_functools.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_functools.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_future.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_future.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_future.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_future3.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_future3.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_future3.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_future4.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_future4.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_future4.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_future5.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_future5.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_future5.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_gc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_gc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_gc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_gdb.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_gdb.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_gdb.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_generator_stop.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_generator_stop.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_generator_stop.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_generators.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_generators.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_generators.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_genericclass.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_genericclass.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_genericclass.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_genericpath.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_genericpath.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_genericpath.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_genexps.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_genexps.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_genexps.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_getargs2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_getargs2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_getargs2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_getopt.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_getopt.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_getopt.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_getpass.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_getpass.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_getpass.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_gettext.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_gettext.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_gettext.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_glob.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_glob.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_glob.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_global.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_global.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_global.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_grammar.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_grammar.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_grammar.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_grp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_grp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_grp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_gzip.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_gzip.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_gzip.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_hash.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_hash.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_hash.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_hashlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_hashlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_hashlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_heapq.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_heapq.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_heapq.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_hmac.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_hmac.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_hmac.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_html.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_html.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_html.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_htmlparser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_htmlparser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_htmlparser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_http_cookiejar.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_http_cookiejar.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_http_cookiejar.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_http_cookies.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_http_cookies.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_http_cookies.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_httplib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_httplib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_httplib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_httpservers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_httpservers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_httpservers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_idle.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_idle.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_idle.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_imaplib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_imaplib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_imaplib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_imghdr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_imghdr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_imghdr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_imp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_imp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_imp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_index.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_index.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_index.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_inspect.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_inspect.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_inspect.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_int.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_int.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_int.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_int_literal.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_int_literal.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_int_literal.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_io.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_io.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_io.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ioctl.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ioctl.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ioctl.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ipaddress.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ipaddress.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ipaddress.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_isinstance.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_isinstance.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_isinstance.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_iter.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_iter.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_iter.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_iterlen.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_iterlen.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_iterlen.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_itertools.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_itertools.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_itertools.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_keyword.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_keyword.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_keyword.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_keywordonlyarg.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_keywordonlyarg.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_keywordonlyarg.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_kqueue.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_kqueue.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_kqueue.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_largefile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_largefile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_largefile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_lib2to3.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_lib2to3.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_lib2to3.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_linecache.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_linecache.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_linecache.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_list.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_list.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_list.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_listcomps.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_listcomps.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_listcomps.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_locale.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_locale.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_locale.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_logging.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_logging.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_logging.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_long.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_long.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_long.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_longexp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_longexp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_longexp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_lzma.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_lzma.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_lzma.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_macpath.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_macpath.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_macpath.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_mailbox.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_mailbox.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_mailbox.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_mailcap.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_mailcap.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_mailcap.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_marshal.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_marshal.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_marshal.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_math.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_math.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_math.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_memoryio.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_memoryio.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_memoryio.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_memoryview.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_memoryview.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_memoryview.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_metaclass.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_metaclass.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_metaclass.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_mimetypes.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_mimetypes.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_mimetypes.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_minidom.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_minidom.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_minidom.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_mmap.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_mmap.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_mmap.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_module.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_module.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_module.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_modulefinder.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_modulefinder.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_modulefinder.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_msilib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_msilib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_msilib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multibytecodec.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multibytecodec.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multibytecodec.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multiprocessing_fork.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multiprocessing_fork.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multiprocessing_fork.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multiprocessing_forkserver.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multiprocessing_forkserver.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multiprocessing_forkserver.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multiprocessing_main_handling.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multiprocessing_main_handling.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multiprocessing_main_handling.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multiprocessing_spawn.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multiprocessing_spawn.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_multiprocessing_spawn.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_netrc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_netrc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_netrc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_nis.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_nis.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_nis.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_nntplib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_nntplib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_nntplib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_normalization.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_normalization.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_normalization.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ntpath.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ntpath.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ntpath.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_numeric_tower.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_numeric_tower.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_numeric_tower.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_opcodes.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_opcodes.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_opcodes.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_openpty.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_openpty.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_openpty.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_operator.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_operator.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_operator.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_optparse.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_optparse.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_optparse.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ordered_dict.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ordered_dict.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ordered_dict.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_os.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_os.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_os.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ossaudiodev.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ossaudiodev.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ossaudiodev.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_osx_env.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_osx_env.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_osx_env.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_parser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_parser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_parser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pathlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pathlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pathlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pdb.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pdb.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pdb.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_peepholer.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_peepholer.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_peepholer.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pickle.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pickle.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pickle.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pickletools.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pickletools.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pickletools.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pipes.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pipes.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pipes.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pkg.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pkg.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pkg.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pkgimport.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pkgimport.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pkgimport.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pkgutil.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pkgutil.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pkgutil.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_platform.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_platform.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_platform.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_plistlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_plistlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_plistlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_poll.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_poll.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_poll.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_popen.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_popen.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_popen.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_poplib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_poplib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_poplib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_posix.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_posix.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_posix.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_posixpath.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_posixpath.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_posixpath.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pow.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pow.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pow.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pprint.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pprint.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pprint.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_print.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_print.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_print.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_profile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_profile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_profile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_property.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_property.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_property.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pstats.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pstats.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pstats.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pty.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pty.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pty.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pulldom.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pulldom.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pulldom.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pwd.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pwd.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pwd.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_py_compile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_py_compile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_py_compile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pyclbr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pyclbr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pyclbr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pydoc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pydoc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pydoc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pyexpat.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pyexpat.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_pyexpat.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_queue.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_queue.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_queue.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_quopri.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_quopri.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_quopri.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_raise.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_raise.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_raise.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_random.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_random.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_random.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_range.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_range.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_range.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_re.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_re.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_re.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_readline.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_readline.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_readline.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_regrtest.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_regrtest.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_regrtest.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_repl.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_repl.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_repl.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_reprlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_reprlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_reprlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_resource.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_resource.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_resource.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_richcmp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_richcmp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_richcmp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_rlcompleter.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_rlcompleter.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_rlcompleter.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_robotparser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_robotparser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_robotparser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_runpy.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_runpy.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_runpy.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sax.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sax.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sax.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sched.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sched.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sched.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_scope.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_scope.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_scope.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_script_helper.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_script_helper.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_script_helper.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_secrets.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_secrets.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_secrets.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_select.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_select.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_select.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_selectors.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_selectors.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_selectors.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_set.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_set.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_set.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_setcomps.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_setcomps.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_setcomps.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_shelve.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_shelve.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_shelve.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_shlex.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_shlex.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_shlex.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_shutil.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_shutil.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_shutil.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_signal.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_signal.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_signal.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_site.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_site.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_site.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_slice.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_slice.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_slice.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_smtpd.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_smtpd.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_smtpd.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_smtplib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_smtplib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_smtplib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_smtpnet.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_smtpnet.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_smtpnet.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sndhdr.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sndhdr.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sndhdr.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_socket.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_socket.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_socket.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_socketserver.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_socketserver.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_socketserver.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sort.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sort.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sort.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_source_encoding.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_source_encoding.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_source_encoding.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_spwd.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_spwd.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_spwd.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sqlite.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sqlite.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sqlite.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ssl.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ssl.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ssl.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_startfile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_startfile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_startfile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_stat.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_stat.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_stat.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_statistics.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_statistics.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_statistics.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_strftime.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_strftime.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_strftime.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_string.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_string.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_string.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_string_literals.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_string_literals.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_string_literals.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_stringprep.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_stringprep.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_stringprep.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_strptime.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_strptime.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_strptime.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_strtod.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_strtod.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_strtod.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_struct.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_struct.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_struct.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_structmembers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_structmembers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_structmembers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_structseq.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_structseq.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_structseq.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_subclassinit.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_subclassinit.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_subclassinit.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_subprocess.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_subprocess.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_subprocess.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sunau.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sunau.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sunau.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sundry.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sundry.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sundry.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_super.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_super.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_super.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_support.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_support.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_support.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_symbol.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_symbol.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_symbol.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_symtable.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_symtable.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_symtable.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_syntax.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_syntax.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_syntax.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sys.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sys.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sys.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sys_setprofile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sys_setprofile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sys_setprofile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sys_settrace.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sys_settrace.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sys_settrace.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sysconfig.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sysconfig.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_sysconfig.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_syslog.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_syslog.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_syslog.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tarfile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tarfile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tarfile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tcl.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tcl.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tcl.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_telnetlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_telnetlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_telnetlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tempfile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tempfile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tempfile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_textwrap.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_textwrap.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_textwrap.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_thread.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_thread.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_thread.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threaded_import.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threaded_import.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threaded_import.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threadedtempfile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threadedtempfile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threadedtempfile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threading.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threading.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threading.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threading_local.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threading_local.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threading_local.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threadsignals.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threadsignals.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_threadsignals.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_time.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_time.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_time.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_timeit.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_timeit.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_timeit.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_timeout.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_timeout.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_timeout.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tix.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tix.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tix.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tk.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tk.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tk.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tokenize.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tokenize.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tokenize.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_trace.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_trace.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_trace.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_traceback.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_traceback.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_traceback.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tracemalloc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tracemalloc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tracemalloc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ttk_guionly.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ttk_guionly.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ttk_guionly.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ttk_textonly.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ttk_textonly.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ttk_textonly.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tuple.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tuple.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_tuple.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_turtle.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_turtle.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_turtle.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_typechecks.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_typechecks.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_typechecks.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_types.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_types.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_types.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_typing.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_typing.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_typing.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ucn.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ucn.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_ucn.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unary.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unary.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unary.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unicode.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unicode.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unicode.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unicode_file.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unicode_file.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unicode_file.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unicode_file_functions.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unicode_file_functions.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unicode_file_functions.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unicode_identifiers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unicode_identifiers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unicode_identifiers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unicodedata.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unicodedata.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unicodedata.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unittest.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unittest.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unittest.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_univnewlines.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_univnewlines.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_univnewlines.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unpack.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unpack.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unpack.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unpack_ex.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unpack_ex.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_unpack_ex.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib2_localnet.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib2_localnet.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib2_localnet.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib2net.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib2net.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib2net.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib_response.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib_response.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllib_response.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllibnet.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllibnet.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urllibnet.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urlparse.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urlparse.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_urlparse.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_userdict.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_userdict.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_userdict.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_userlist.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_userlist.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_userlist.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_userstring.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_userstring.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_userstring.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_utf8_mode.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_utf8_mode.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_utf8_mode.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_utf8source.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_utf8source.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_utf8source.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_uu.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_uu.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_uu.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_uuid.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_uuid.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_uuid.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_venv.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_venv.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_venv.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_wait3.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_wait3.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_wait3.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_wait4.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_wait4.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_wait4.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_wave.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_wave.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_wave.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_weakref.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_weakref.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_weakref.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_weakset.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_weakset.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_weakset.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_webbrowser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_webbrowser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_webbrowser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_winconsoleio.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_winconsoleio.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_winconsoleio.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_winreg.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_winreg.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_winreg.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_winsound.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_winsound.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_winsound.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_with.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_with.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_with.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_wsgiref.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_wsgiref.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_wsgiref.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xdrlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xdrlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xdrlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xml_dom_minicompat.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xml_dom_minicompat.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xml_dom_minicompat.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xml_etree.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xml_etree.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xml_etree.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xml_etree_c.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xml_etree_c.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xml_etree_c.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xmlrpc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xmlrpc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xmlrpc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xmlrpc_net.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xmlrpc_net.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xmlrpc_net.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xxtestfuzz.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xxtestfuzz.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_xxtestfuzz.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_yield_from.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_yield_from.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_yield_from.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipapp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipapp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipapp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipfile.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipfile.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipfile.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipfile64.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipfile64.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipfile64.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipimport.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipimport.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipimport.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipimport_support.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipimport_support.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zipimport_support.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/test_zlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/testcodec.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/testcodec.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/testcodec.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/tf_inherit_check.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/tf_inherit_check.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/tf_inherit_check.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/threaded_import_hangers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/threaded_import_hangers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/threaded_import_hangers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/time_hashlib.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/time_hashlib.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/time_hashlib.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/win_console_handler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/win_console_handler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/win_console_handler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/__pycache__/xmltests.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/__pycache__/xmltests.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/__pycache__/xmltests.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/_test_multiprocessing.py
+lib/python%%XYDOT%%/test/allsans.pem
+lib/python%%XYDOT%%/test/ann_module.py
+lib/python%%XYDOT%%/test/ann_module2.py
+lib/python%%XYDOT%%/test/ann_module3.py
+lib/python%%XYDOT%%/test/audiodata/pluck-alaw.aifc
+lib/python%%XYDOT%%/test/audiodata/pluck-pcm16.aiff
+lib/python%%XYDOT%%/test/audiodata/pluck-pcm16.au
+lib/python%%XYDOT%%/test/audiodata/pluck-pcm16.wav
+lib/python%%XYDOT%%/test/audiodata/pluck-pcm24.aiff
+lib/python%%XYDOT%%/test/audiodata/pluck-pcm24.au
+lib/python%%XYDOT%%/test/audiodata/pluck-pcm24.wav
+lib/python%%XYDOT%%/test/audiodata/pluck-pcm32.aiff
+lib/python%%XYDOT%%/test/audiodata/pluck-pcm32.au
+lib/python%%XYDOT%%/test/audiodata/pluck-pcm32.wav
+lib/python%%XYDOT%%/test/audiodata/pluck-pcm8.aiff
+lib/python%%XYDOT%%/test/audiodata/pluck-pcm8.au
+lib/python%%XYDOT%%/test/audiodata/pluck-pcm8.wav
+lib/python%%XYDOT%%/test/audiodata/pluck-ulaw.aifc
+lib/python%%XYDOT%%/test/audiodata/pluck-ulaw.au
+lib/python%%XYDOT%%/test/audiotest.au
+lib/python%%XYDOT%%/test/audiotests.py
+lib/python%%XYDOT%%/test/autotest.py
+lib/python%%XYDOT%%/test/bad_coding.py
+lib/python%%XYDOT%%/test/bad_coding2.py
+lib/python%%XYDOT%%/test/bad_getattr.py
+lib/python%%XYDOT%%/test/bad_getattr2.py
+lib/python%%XYDOT%%/test/bad_getattr3.py
+lib/python%%XYDOT%%/test/badcert.pem
+lib/python%%XYDOT%%/test/badkey.pem
+lib/python%%XYDOT%%/test/badsyntax_3131.py
+lib/python%%XYDOT%%/test/badsyntax_future10.py
+lib/python%%XYDOT%%/test/badsyntax_future3.py
+lib/python%%XYDOT%%/test/badsyntax_future4.py
+lib/python%%XYDOT%%/test/badsyntax_future5.py
+lib/python%%XYDOT%%/test/badsyntax_future6.py
+lib/python%%XYDOT%%/test/badsyntax_future7.py
+lib/python%%XYDOT%%/test/badsyntax_future8.py
+lib/python%%XYDOT%%/test/badsyntax_future9.py
+lib/python%%XYDOT%%/test/badsyntax_pep3120.py
+lib/python%%XYDOT%%/test/bisect.py
+lib/python%%XYDOT%%/test/bytecode_helper.py
+lib/python%%XYDOT%%/test/capath/4e1295a3.0
+lib/python%%XYDOT%%/test/capath/5ed36f99.0
+lib/python%%XYDOT%%/test/capath/6e88d7b8.0
+lib/python%%XYDOT%%/test/capath/99d0fa06.0
+lib/python%%XYDOT%%/test/capath/b1930218.0
+lib/python%%XYDOT%%/test/capath/ceff1710.0
+lib/python%%XYDOT%%/test/cfgparser.1
+lib/python%%XYDOT%%/test/cfgparser.2
+lib/python%%XYDOT%%/test/cfgparser.3
+lib/python%%XYDOT%%/test/cjkencodings/big5-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/big5.txt
+lib/python%%XYDOT%%/test/cjkencodings/big5hkscs-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/big5hkscs.txt
+lib/python%%XYDOT%%/test/cjkencodings/cp949-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/cp949.txt
+lib/python%%XYDOT%%/test/cjkencodings/euc_jisx0213-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/euc_jisx0213.txt
+lib/python%%XYDOT%%/test/cjkencodings/euc_jp-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/euc_jp.txt
+lib/python%%XYDOT%%/test/cjkencodings/euc_kr-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/euc_kr.txt
+lib/python%%XYDOT%%/test/cjkencodings/gb18030-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/gb18030.txt
+lib/python%%XYDOT%%/test/cjkencodings/gb2312-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/gb2312.txt
+lib/python%%XYDOT%%/test/cjkencodings/gbk-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/gbk.txt
+lib/python%%XYDOT%%/test/cjkencodings/hz-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/hz.txt
+lib/python%%XYDOT%%/test/cjkencodings/iso2022_jp-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/iso2022_jp.txt
+lib/python%%XYDOT%%/test/cjkencodings/iso2022_kr-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/iso2022_kr.txt
+lib/python%%XYDOT%%/test/cjkencodings/johab-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/johab.txt
+lib/python%%XYDOT%%/test/cjkencodings/shift_jis-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/shift_jis.txt
+lib/python%%XYDOT%%/test/cjkencodings/shift_jisx0213-utf8.txt
+lib/python%%XYDOT%%/test/cjkencodings/shift_jisx0213.txt
+lib/python%%XYDOT%%/test/cmath_testcases.txt
+lib/python%%XYDOT%%/test/coding20731.py
+lib/python%%XYDOT%%/test/curses_tests.py
+lib/python%%XYDOT%%/test/data/README
+lib/python%%XYDOT%%/test/dataclass_module_1.py
+lib/python%%XYDOT%%/test/dataclass_module_1_str.py
+lib/python%%XYDOT%%/test/dataclass_module_2.py
+lib/python%%XYDOT%%/test/dataclass_module_2_str.py
+lib/python%%XYDOT%%/test/datetimetester.py
+lib/python%%XYDOT%%/test/decimaltestdata/abs.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/add.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/and.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/base.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/clamp.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/class.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/compare.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/comparetotal.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/comparetotmag.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/copy.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/copyabs.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/copynegate.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/copysign.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddAbs.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddAdd.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddAnd.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddBase.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddCanonical.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddClass.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddCompare.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddCompareSig.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddCompareTotal.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddCompareTotalMag.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddCopy.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddCopyAbs.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddCopyNegate.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddCopySign.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddDivide.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddDivideInt.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddEncode.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddFMA.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddInvert.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddLogB.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddMax.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddMaxMag.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddMin.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddMinMag.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddMinus.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddMultiply.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddNextMinus.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddNextPlus.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddNextToward.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddOr.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddPlus.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddQuantize.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddReduce.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddRemainder.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddRemainderNear.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddRotate.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddSameQuantum.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddScaleB.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddShift.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddSubtract.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddToIntegral.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ddXor.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/decDouble.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/decQuad.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/decSingle.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/divide.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/divideint.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqAbs.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqAdd.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqAnd.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqBase.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqCanonical.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqClass.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqCompare.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqCompareSig.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqCompareTotal.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqCompareTotalMag.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqCopy.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqCopyAbs.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqCopyNegate.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqCopySign.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqDivide.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqDivideInt.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqEncode.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqFMA.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqInvert.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqLogB.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqMax.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqMaxMag.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqMin.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqMinMag.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqMinus.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqMultiply.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqNextMinus.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqNextPlus.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqNextToward.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqOr.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqPlus.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqQuantize.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqReduce.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqRemainder.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqRemainderNear.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqRotate.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqSameQuantum.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqScaleB.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqShift.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqSubtract.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqToIntegral.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dqXor.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dsBase.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/dsEncode.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/exp.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/extra.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/fma.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/inexact.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/invert.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/ln.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/log10.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/logb.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/max.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/maxmag.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/min.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/minmag.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/minus.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/multiply.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/nextminus.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/nextplus.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/nexttoward.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/or.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/plus.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/power.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/powersqrt.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/quantize.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/randomBound32.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/randoms.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/reduce.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/remainder.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/remainderNear.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/rescale.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/rotate.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/rounding.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/samequantum.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/scaleb.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/shift.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/squareroot.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/subtract.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/testall.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/tointegral.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/tointegralx.decTest
+lib/python%%XYDOT%%/test/decimaltestdata/xor.decTest
+lib/python%%XYDOT%%/test/dis_module.py
+lib/python%%XYDOT%%/test/doctest_aliases.py
+lib/python%%XYDOT%%/test/double_const.py
+lib/python%%XYDOT%%/test/dtracedata/__pycache__/call_stack.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/dtracedata/__pycache__/call_stack.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/dtracedata/__pycache__/call_stack.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/dtracedata/__pycache__/gc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/dtracedata/__pycache__/gc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/dtracedata/__pycache__/gc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/dtracedata/__pycache__/instance.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/dtracedata/__pycache__/instance.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/dtracedata/__pycache__/instance.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/dtracedata/__pycache__/line.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/dtracedata/__pycache__/line.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/dtracedata/__pycache__/line.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/dtracedata/assert_usable.d
+lib/python%%XYDOT%%/test/dtracedata/assert_usable.stp
+lib/python%%XYDOT%%/test/dtracedata/call_stack.d
+lib/python%%XYDOT%%/test/dtracedata/call_stack.d.expected
+lib/python%%XYDOT%%/test/dtracedata/call_stack.py
+lib/python%%XYDOT%%/test/dtracedata/call_stack.stp
+lib/python%%XYDOT%%/test/dtracedata/call_stack.stp.expected
+lib/python%%XYDOT%%/test/dtracedata/gc.d
+lib/python%%XYDOT%%/test/dtracedata/gc.d.expected
+lib/python%%XYDOT%%/test/dtracedata/gc.py
+lib/python%%XYDOT%%/test/dtracedata/gc.stp
+lib/python%%XYDOT%%/test/dtracedata/gc.stp.expected
+lib/python%%XYDOT%%/test/dtracedata/instance.py
+lib/python%%XYDOT%%/test/dtracedata/line.d
+lib/python%%XYDOT%%/test/dtracedata/line.d.expected
+lib/python%%XYDOT%%/test/dtracedata/line.py
+lib/python%%XYDOT%%/test/eintrdata/__pycache__/eintr_tester.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/eintrdata/__pycache__/eintr_tester.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/eintrdata/__pycache__/eintr_tester.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/eintrdata/eintr_tester.py
+lib/python%%XYDOT%%/test/empty.vbs
+lib/python%%XYDOT%%/test/encoded_modules/__init__.py
+lib/python%%XYDOT%%/test/encoded_modules/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/encoded_modules/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/encoded_modules/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/encoded_modules/__pycache__/module_iso_8859_1.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/encoded_modules/__pycache__/module_iso_8859_1.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/encoded_modules/__pycache__/module_iso_8859_1.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/encoded_modules/__pycache__/module_koi8_r.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/encoded_modules/__pycache__/module_koi8_r.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/encoded_modules/__pycache__/module_koi8_r.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/encoded_modules/module_iso_8859_1.py
+lib/python%%XYDOT%%/test/encoded_modules/module_koi8_r.py
+lib/python%%XYDOT%%/test/exception_hierarchy.txt
+lib/python%%XYDOT%%/test/ffdh3072.pem
+lib/python%%XYDOT%%/test/final_a.py
+lib/python%%XYDOT%%/test/final_b.py
+lib/python%%XYDOT%%/test/floating_points.txt
+lib/python%%XYDOT%%/test/fork_wait.py
+lib/python%%XYDOT%%/test/formatfloat_testcases.txt
+lib/python%%XYDOT%%/test/future_test1.py
+lib/python%%XYDOT%%/test/future_test2.py
+lib/python%%XYDOT%%/test/gdb_sample.py
+lib/python%%XYDOT%%/test/good_getattr.py
+lib/python%%XYDOT%%/test/idnsans.pem
+lib/python%%XYDOT%%/test/ieee754.txt
+lib/python%%XYDOT%%/test/imghdrdata/python.bmp
+lib/python%%XYDOT%%/test/imghdrdata/python.exr
+lib/python%%XYDOT%%/test/imghdrdata/python.gif
+lib/python%%XYDOT%%/test/imghdrdata/python.jpg
+lib/python%%XYDOT%%/test/imghdrdata/python.pbm
+lib/python%%XYDOT%%/test/imghdrdata/python.pgm
+lib/python%%XYDOT%%/test/imghdrdata/python.png
+lib/python%%XYDOT%%/test/imghdrdata/python.ppm
+lib/python%%XYDOT%%/test/imghdrdata/python.ras
+lib/python%%XYDOT%%/test/imghdrdata/python.sgi
+lib/python%%XYDOT%%/test/imghdrdata/python.tiff
+lib/python%%XYDOT%%/test/imghdrdata/python.webp
+lib/python%%XYDOT%%/test/imghdrdata/python.xbm
+lib/python%%XYDOT%%/test/imp_dummy.py
+lib/python%%XYDOT%%/test/inspect_fodder.py
+lib/python%%XYDOT%%/test/inspect_fodder2.py
+lib/python%%XYDOT%%/test/keycert.passwd.pem
+lib/python%%XYDOT%%/test/keycert.pem
+lib/python%%XYDOT%%/test/keycert2.pem
+lib/python%%XYDOT%%/test/keycert3.pem
+lib/python%%XYDOT%%/test/keycert4.pem
+lib/python%%XYDOT%%/test/keycertecc.pem
+lib/python%%XYDOT%%/test/libregrtest/__init__.py
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/cmdline.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/cmdline.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/cmdline.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/main.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/main.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/main.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/refleak.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/refleak.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/refleak.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/runtest.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/runtest.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/runtest.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/runtest_mp.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/runtest_mp.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/runtest_mp.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/save_env.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/save_env.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/save_env.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/setup.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/setup.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/setup.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/utils.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/utils.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/libregrtest/__pycache__/utils.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/libregrtest/cmdline.py
+lib/python%%XYDOT%%/test/libregrtest/main.py
+lib/python%%XYDOT%%/test/libregrtest/refleak.py
+lib/python%%XYDOT%%/test/libregrtest/runtest.py
+lib/python%%XYDOT%%/test/libregrtest/runtest_mp.py
+lib/python%%XYDOT%%/test/libregrtest/save_env.py
+lib/python%%XYDOT%%/test/libregrtest/setup.py
+lib/python%%XYDOT%%/test/libregrtest/utils.py
+lib/python%%XYDOT%%/test/list_tests.py
+lib/python%%XYDOT%%/test/lock_tests.py
+lib/python%%XYDOT%%/test/mailcap.txt
+lib/python%%XYDOT%%/test/make_ssl_certs.py
+lib/python%%XYDOT%%/test/mapping_tests.py
+lib/python%%XYDOT%%/test/math_testcases.txt
+lib/python%%XYDOT%%/test/memory_watchdog.py
+lib/python%%XYDOT%%/test/mime.types
+lib/python%%XYDOT%%/test/mock_socket.py
+lib/python%%XYDOT%%/test/mod_generics_cache.py
+lib/python%%XYDOT%%/test/mp_fork_bomb.py
+lib/python%%XYDOT%%/test/mp_preload.py
+lib/python%%XYDOT%%/test/multibytecodec_support.py
+lib/python%%XYDOT%%/test/nokia.pem
+lib/python%%XYDOT%%/test/nullbytecert.pem
+lib/python%%XYDOT%%/test/nullcert.pem
+lib/python%%XYDOT%%/test/outstanding_bugs.py
+lib/python%%XYDOT%%/test/pickletester.py
+lib/python%%XYDOT%%/test/profilee.py
+lib/python%%XYDOT%%/test/pstats.pck
+lib/python%%XYDOT%%/test/pycacert.pem
+lib/python%%XYDOT%%/test/pycakey.pem
+lib/python%%XYDOT%%/test/pyclbr_input.py
+lib/python%%XYDOT%%/test/pydoc_mod.py
+lib/python%%XYDOT%%/test/pydocfodder.py
+lib/python%%XYDOT%%/test/pythoninfo.py
+lib/python%%XYDOT%%/test/randv2_32.pck
+lib/python%%XYDOT%%/test/randv2_64.pck
+lib/python%%XYDOT%%/test/randv3.pck
+lib/python%%XYDOT%%/test/re_tests.py
+lib/python%%XYDOT%%/test/regrtest.py
+lib/python%%XYDOT%%/test/relimport.py
+lib/python%%XYDOT%%/test/reperf.py
+lib/python%%XYDOT%%/test/revocation.crl
+lib/python%%XYDOT%%/test/sample_doctest.py
+lib/python%%XYDOT%%/test/sample_doctest_no_docstrings.py
+lib/python%%XYDOT%%/test/sample_doctest_no_doctests.py
+lib/python%%XYDOT%%/test/secp384r1.pem
+lib/python%%XYDOT%%/test/selfsigned_pythontestdotnet.pem
+lib/python%%XYDOT%%/test/seq_tests.py
+lib/python%%XYDOT%%/test/sgml_input.html
+lib/python%%XYDOT%%/test/signalinterproctester.py
+lib/python%%XYDOT%%/test/sndhdrdata/README
+lib/python%%XYDOT%%/test/sndhdrdata/sndhdr.8svx
+lib/python%%XYDOT%%/test/sndhdrdata/sndhdr.aifc
+lib/python%%XYDOT%%/test/sndhdrdata/sndhdr.aiff
+lib/python%%XYDOT%%/test/sndhdrdata/sndhdr.au
+lib/python%%XYDOT%%/test/sndhdrdata/sndhdr.hcom
+lib/python%%XYDOT%%/test/sndhdrdata/sndhdr.sndt
+lib/python%%XYDOT%%/test/sndhdrdata/sndhdr.voc
+lib/python%%XYDOT%%/test/sndhdrdata/sndhdr.wav
+lib/python%%XYDOT%%/test/sortperf.py
+lib/python%%XYDOT%%/test/ssl_cert.pem
+lib/python%%XYDOT%%/test/ssl_key.passwd.pem
+lib/python%%XYDOT%%/test/ssl_key.pem
+lib/python%%XYDOT%%/test/ssl_servers.py
+lib/python%%XYDOT%%/test/ssltests.py
+lib/python%%XYDOT%%/test/string_tests.py
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/fd_status.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/fd_status.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/fd_status.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/input_reader.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/input_reader.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/input_reader.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/qcat.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/qcat.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/qcat.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/qgrep.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/qgrep.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/qgrep.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/sigchild_ignore.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/sigchild_ignore.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/subprocessdata/__pycache__/sigchild_ignore.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/subprocessdata/fd_status.py
+lib/python%%XYDOT%%/test/subprocessdata/input_reader.py
+lib/python%%XYDOT%%/test/subprocessdata/qcat.py
+lib/python%%XYDOT%%/test/subprocessdata/qgrep.py
+lib/python%%XYDOT%%/test/subprocessdata/sigchild_ignore.py
+lib/python%%XYDOT%%/test/support/__init__.py
+lib/python%%XYDOT%%/test/support/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/support/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/support/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/support/__pycache__/script_helper.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/support/__pycache__/script_helper.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/support/__pycache__/script_helper.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/support/__pycache__/testresult.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/support/__pycache__/testresult.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/support/__pycache__/testresult.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/support/script_helper.py
+lib/python%%XYDOT%%/test/support/testresult.py
+lib/python%%XYDOT%%/test/test___all__.py
+lib/python%%XYDOT%%/test/test___future__.py
+lib/python%%XYDOT%%/test/test__locale.py
+lib/python%%XYDOT%%/test/test__opcode.py
+lib/python%%XYDOT%%/test/test__osx_support.py
+lib/python%%XYDOT%%/test/test_abc.py
+lib/python%%XYDOT%%/test/test_abstract_numbers.py
+lib/python%%XYDOT%%/test/test_aifc.py
+lib/python%%XYDOT%%/test/test_argparse.py
+lib/python%%XYDOT%%/test/test_array.py
+lib/python%%XYDOT%%/test/test_asdl_parser.py
+lib/python%%XYDOT%%/test/test_ast.py
+lib/python%%XYDOT%%/test/test_asyncgen.py
+lib/python%%XYDOT%%/test/test_asynchat.py
+lib/python%%XYDOT%%/test/test_asyncio/__init__.py
+lib/python%%XYDOT%%/test/test_asyncio/__main__.py
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/echo.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/echo.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/echo.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/echo2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/echo2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/echo2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/echo3.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/echo3.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/echo3.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/functional.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/functional.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/functional.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_base_events.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_base_events.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_base_events.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_buffered_proto.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_buffered_proto.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_buffered_proto.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_context.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_context.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_context.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_events.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_events.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_events.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_futures.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_futures.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_futures.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_locks.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_locks.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_locks.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_pep492.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_pep492.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_pep492.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_proactor_events.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_proactor_events.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_proactor_events.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_queues.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_queues.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_queues.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_runners.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_runners.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_runners.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_selector_events.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_selector_events.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_selector_events.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_server.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_server.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_server.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_sslproto.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_sslproto.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_sslproto.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_streams.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_streams.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_streams.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_subprocess.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_subprocess.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_subprocess.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_tasks.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_tasks.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_tasks.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_transports.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_transports.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_transports.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_unix_events.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_unix_events.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_unix_events.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_windows_events.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_windows_events.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_windows_events.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_windows_utils.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_windows_utils.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_windows_utils.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/utils.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/utils.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_asyncio/__pycache__/utils.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_asyncio/echo.py
+lib/python%%XYDOT%%/test/test_asyncio/echo2.py
+lib/python%%XYDOT%%/test/test_asyncio/echo3.py
+lib/python%%XYDOT%%/test/test_asyncio/functional.py
+lib/python%%XYDOT%%/test/test_asyncio/test_base_events.py
+lib/python%%XYDOT%%/test/test_asyncio/test_buffered_proto.py
+lib/python%%XYDOT%%/test/test_asyncio/test_context.py
+lib/python%%XYDOT%%/test/test_asyncio/test_events.py
+lib/python%%XYDOT%%/test/test_asyncio/test_futures.py
+lib/python%%XYDOT%%/test/test_asyncio/test_locks.py
+lib/python%%XYDOT%%/test/test_asyncio/test_pep492.py
+lib/python%%XYDOT%%/test/test_asyncio/test_proactor_events.py
+lib/python%%XYDOT%%/test/test_asyncio/test_queues.py
+lib/python%%XYDOT%%/test/test_asyncio/test_runners.py
+lib/python%%XYDOT%%/test/test_asyncio/test_selector_events.py
+lib/python%%XYDOT%%/test/test_asyncio/test_server.py
+lib/python%%XYDOT%%/test/test_asyncio/test_sslproto.py
+lib/python%%XYDOT%%/test/test_asyncio/test_streams.py
+lib/python%%XYDOT%%/test/test_asyncio/test_subprocess.py
+lib/python%%XYDOT%%/test/test_asyncio/test_tasks.py
+lib/python%%XYDOT%%/test/test_asyncio/test_transports.py
+lib/python%%XYDOT%%/test/test_asyncio/test_unix_events.py
+lib/python%%XYDOT%%/test/test_asyncio/test_windows_events.py
+lib/python%%XYDOT%%/test/test_asyncio/test_windows_utils.py
+lib/python%%XYDOT%%/test/test_asyncio/utils.py
+lib/python%%XYDOT%%/test/test_asyncore.py
+lib/python%%XYDOT%%/test/test_atexit.py
+lib/python%%XYDOT%%/test/test_audioop.py
+lib/python%%XYDOT%%/test/test_augassign.py
+lib/python%%XYDOT%%/test/test_base64.py
+lib/python%%XYDOT%%/test/test_baseexception.py
+lib/python%%XYDOT%%/test/test_bdb.py
+lib/python%%XYDOT%%/test/test_bigaddrspace.py
+lib/python%%XYDOT%%/test/test_bigmem.py
+lib/python%%XYDOT%%/test/test_binascii.py
+lib/python%%XYDOT%%/test/test_binhex.py
+lib/python%%XYDOT%%/test/test_binop.py
+lib/python%%XYDOT%%/test/test_bisect.py
+lib/python%%XYDOT%%/test/test_bool.py
+lib/python%%XYDOT%%/test/test_buffer.py
+lib/python%%XYDOT%%/test/test_bufio.py
+lib/python%%XYDOT%%/test/test_builtin.py
+lib/python%%XYDOT%%/test/test_bytes.py
+lib/python%%XYDOT%%/test/test_bz2.py
+lib/python%%XYDOT%%/test/test_c_locale_coercion.py
+lib/python%%XYDOT%%/test/test_calendar.py
+lib/python%%XYDOT%%/test/test_call.py
+lib/python%%XYDOT%%/test/test_capi.py
+lib/python%%XYDOT%%/test/test_cgi.py
+lib/python%%XYDOT%%/test/test_cgitb.py
+lib/python%%XYDOT%%/test/test_charmapcodec.py
+lib/python%%XYDOT%%/test/test_class.py
+lib/python%%XYDOT%%/test/test_clinic.py
+lib/python%%XYDOT%%/test/test_cmath.py
+lib/python%%XYDOT%%/test/test_cmd.py
+lib/python%%XYDOT%%/test/test_cmd_line.py
+lib/python%%XYDOT%%/test/test_cmd_line_script.py
+lib/python%%XYDOT%%/test/test_code.py
+lib/python%%XYDOT%%/test/test_code_module.py
+lib/python%%XYDOT%%/test/test_codeccallbacks.py
+lib/python%%XYDOT%%/test/test_codecencodings_cn.py
+lib/python%%XYDOT%%/test/test_codecencodings_hk.py
+lib/python%%XYDOT%%/test/test_codecencodings_iso2022.py
+lib/python%%XYDOT%%/test/test_codecencodings_jp.py
+lib/python%%XYDOT%%/test/test_codecencodings_kr.py
+lib/python%%XYDOT%%/test/test_codecencodings_tw.py
+lib/python%%XYDOT%%/test/test_codecmaps_cn.py
+lib/python%%XYDOT%%/test/test_codecmaps_hk.py
+lib/python%%XYDOT%%/test/test_codecmaps_jp.py
+lib/python%%XYDOT%%/test/test_codecmaps_kr.py
+lib/python%%XYDOT%%/test/test_codecmaps_tw.py
+lib/python%%XYDOT%%/test/test_codecs.py
+lib/python%%XYDOT%%/test/test_codeop.py
+lib/python%%XYDOT%%/test/test_collections.py
+lib/python%%XYDOT%%/test/test_colorsys.py
+lib/python%%XYDOT%%/test/test_compare.py
+lib/python%%XYDOT%%/test/test_compile.py
+lib/python%%XYDOT%%/test/test_compileall.py
+lib/python%%XYDOT%%/test/test_complex.py
+lib/python%%XYDOT%%/test/test_concurrent_futures.py
+lib/python%%XYDOT%%/test/test_configparser.py
+lib/python%%XYDOT%%/test/test_contains.py
+lib/python%%XYDOT%%/test/test_context.py
+lib/python%%XYDOT%%/test/test_contextlib.py
+lib/python%%XYDOT%%/test/test_contextlib_async.py
+lib/python%%XYDOT%%/test/test_copy.py
+lib/python%%XYDOT%%/test/test_copyreg.py
+lib/python%%XYDOT%%/test/test_coroutines.py
+lib/python%%XYDOT%%/test/test_cprofile.py
+lib/python%%XYDOT%%/test/test_crashers.py
+lib/python%%XYDOT%%/test/test_crypt.py
+lib/python%%XYDOT%%/test/test_csv.py
+lib/python%%XYDOT%%/test/test_ctypes.py
+lib/python%%XYDOT%%/test/test_curses.py
+lib/python%%XYDOT%%/test/test_dataclasses.py
+lib/python%%XYDOT%%/test/test_datetime.py
+lib/python%%XYDOT%%/test/test_dbm.py
+lib/python%%XYDOT%%/test/test_dbm_dumb.py
+lib/python%%XYDOT%%/test/test_dbm_gnu.py
+lib/python%%XYDOT%%/test/test_dbm_ndbm.py
+lib/python%%XYDOT%%/test/test_decimal.py
+lib/python%%XYDOT%%/test/test_decorators.py
+lib/python%%XYDOT%%/test/test_defaultdict.py
+lib/python%%XYDOT%%/test/test_deque.py
+lib/python%%XYDOT%%/test/test_descr.py
+lib/python%%XYDOT%%/test/test_descrtut.py
+lib/python%%XYDOT%%/test/test_devpoll.py
+lib/python%%XYDOT%%/test/test_dict.py
+lib/python%%XYDOT%%/test/test_dict_version.py
+lib/python%%XYDOT%%/test/test_dictcomps.py
+lib/python%%XYDOT%%/test/test_dictviews.py
+lib/python%%XYDOT%%/test/test_difflib.py
+lib/python%%XYDOT%%/test/test_difflib_expect.html
+lib/python%%XYDOT%%/test/test_dis.py
+lib/python%%XYDOT%%/test/test_distutils.py
+lib/python%%XYDOT%%/test/test_doctest.py
+lib/python%%XYDOT%%/test/test_doctest.txt
+lib/python%%XYDOT%%/test/test_doctest2.py
+lib/python%%XYDOT%%/test/test_doctest2.txt
+lib/python%%XYDOT%%/test/test_doctest3.txt
+lib/python%%XYDOT%%/test/test_doctest4.txt
+lib/python%%XYDOT%%/test/test_docxmlrpc.py
+lib/python%%XYDOT%%/test/test_dtrace.py
+lib/python%%XYDOT%%/test/test_dummy_thread.py
+lib/python%%XYDOT%%/test/test_dummy_threading.py
+lib/python%%XYDOT%%/test/test_dynamic.py
+lib/python%%XYDOT%%/test/test_dynamicclassattribute.py
+lib/python%%XYDOT%%/test/test_eintr.py
+lib/python%%XYDOT%%/test/test_email/__init__.py
+lib/python%%XYDOT%%/test/test_email/__main__.py
+lib/python%%XYDOT%%/test/test_email/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test__encoded_words.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test__encoded_words.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test__encoded_words.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test__header_value_parser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test__header_value_parser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test__header_value_parser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_asian_codecs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_asian_codecs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_asian_codecs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_contentmanager.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_contentmanager.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_contentmanager.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_defect_handling.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_defect_handling.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_defect_handling.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_email.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_email.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_email.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_generator.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_generator.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_generator.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_headerregistry.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_headerregistry.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_headerregistry.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_inversion.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_inversion.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_inversion.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_message.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_message.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_message.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_parser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_parser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_parser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_pickleable.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_pickleable.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_pickleable.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_policy.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_policy.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_policy.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_utils.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_utils.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/test_utils.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/torture_test.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/torture_test.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_email/__pycache__/torture_test.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_email/data/PyBanner048.gif
+lib/python%%XYDOT%%/test/test_email/data/audiotest.au
+lib/python%%XYDOT%%/test/test_email/data/msg_01.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_02.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_03.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_04.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_05.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_06.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_07.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_08.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_09.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_10.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_11.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_12.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_12a.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_13.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_14.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_15.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_16.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_17.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_18.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_19.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_20.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_21.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_22.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_23.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_24.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_25.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_26.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_27.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_28.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_29.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_30.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_31.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_32.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_33.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_34.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_35.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_36.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_37.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_38.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_39.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_40.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_41.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_42.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_43.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_44.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_45.txt
+lib/python%%XYDOT%%/test/test_email/data/msg_46.txt
+lib/python%%XYDOT%%/test/test_email/test__encoded_words.py
+lib/python%%XYDOT%%/test/test_email/test__header_value_parser.py
+lib/python%%XYDOT%%/test/test_email/test_asian_codecs.py
+lib/python%%XYDOT%%/test/test_email/test_contentmanager.py
+lib/python%%XYDOT%%/test/test_email/test_defect_handling.py
+lib/python%%XYDOT%%/test/test_email/test_email.py
+lib/python%%XYDOT%%/test/test_email/test_generator.py
+lib/python%%XYDOT%%/test/test_email/test_headerregistry.py
+lib/python%%XYDOT%%/test/test_email/test_inversion.py
+lib/python%%XYDOT%%/test/test_email/test_message.py
+lib/python%%XYDOT%%/test/test_email/test_parser.py
+lib/python%%XYDOT%%/test/test_email/test_pickleable.py
+lib/python%%XYDOT%%/test/test_email/test_policy.py
+lib/python%%XYDOT%%/test/test_email/test_utils.py
+lib/python%%XYDOT%%/test/test_email/torture_test.py
+lib/python%%XYDOT%%/test/test_embed.py
+lib/python%%XYDOT%%/test/test_ensurepip.py
+lib/python%%XYDOT%%/test/test_enum.py
+lib/python%%XYDOT%%/test/test_enumerate.py
+lib/python%%XYDOT%%/test/test_eof.py
+lib/python%%XYDOT%%/test/test_epoll.py
+lib/python%%XYDOT%%/test/test_errno.py
+lib/python%%XYDOT%%/test/test_exception_hierarchy.py
+lib/python%%XYDOT%%/test/test_exception_variations.py
+lib/python%%XYDOT%%/test/test_exceptions.py
+lib/python%%XYDOT%%/test/test_extcall.py
+lib/python%%XYDOT%%/test/test_faulthandler.py
+lib/python%%XYDOT%%/test/test_fcntl.py
+lib/python%%XYDOT%%/test/test_file.py
+lib/python%%XYDOT%%/test/test_file_eintr.py
+lib/python%%XYDOT%%/test/test_filecmp.py
+lib/python%%XYDOT%%/test/test_fileinput.py
+lib/python%%XYDOT%%/test/test_fileio.py
+lib/python%%XYDOT%%/test/test_finalization.py
+lib/python%%XYDOT%%/test/test_float.py
+lib/python%%XYDOT%%/test/test_flufl.py
+lib/python%%XYDOT%%/test/test_fnmatch.py
+lib/python%%XYDOT%%/test/test_fork1.py
+lib/python%%XYDOT%%/test/test_format.py
+lib/python%%XYDOT%%/test/test_fractions.py
+lib/python%%XYDOT%%/test/test_frame.py
+lib/python%%XYDOT%%/test/test_frozen.py
+lib/python%%XYDOT%%/test/test_fstring.py
+lib/python%%XYDOT%%/test/test_ftplib.py
+lib/python%%XYDOT%%/test/test_funcattrs.py
+lib/python%%XYDOT%%/test/test_functools.py
+lib/python%%XYDOT%%/test/test_future.py
+lib/python%%XYDOT%%/test/test_future3.py
+lib/python%%XYDOT%%/test/test_future4.py
+lib/python%%XYDOT%%/test/test_future5.py
+lib/python%%XYDOT%%/test/test_gc.py
+lib/python%%XYDOT%%/test/test_gdb.py
+lib/python%%XYDOT%%/test/test_generator_stop.py
+lib/python%%XYDOT%%/test/test_generators.py
+lib/python%%XYDOT%%/test/test_genericclass.py
+lib/python%%XYDOT%%/test/test_genericpath.py
+lib/python%%XYDOT%%/test/test_genexps.py
+lib/python%%XYDOT%%/test/test_getargs2.py
+lib/python%%XYDOT%%/test/test_getopt.py
+lib/python%%XYDOT%%/test/test_getpass.py
+lib/python%%XYDOT%%/test/test_gettext.py
+lib/python%%XYDOT%%/test/test_glob.py
+lib/python%%XYDOT%%/test/test_global.py
+lib/python%%XYDOT%%/test/test_grammar.py
+lib/python%%XYDOT%%/test/test_grp.py
+lib/python%%XYDOT%%/test/test_gzip.py
+lib/python%%XYDOT%%/test/test_hash.py
+lib/python%%XYDOT%%/test/test_hashlib.py
+lib/python%%XYDOT%%/test/test_heapq.py
+lib/python%%XYDOT%%/test/test_hmac.py
+lib/python%%XYDOT%%/test/test_html.py
+lib/python%%XYDOT%%/test/test_htmlparser.py
+lib/python%%XYDOT%%/test/test_http_cookiejar.py
+lib/python%%XYDOT%%/test/test_http_cookies.py
+lib/python%%XYDOT%%/test/test_httplib.py
+lib/python%%XYDOT%%/test/test_httpservers.py
+lib/python%%XYDOT%%/test/test_idle.py
+lib/python%%XYDOT%%/test/test_imaplib.py
+lib/python%%XYDOT%%/test/test_imghdr.py
+lib/python%%XYDOT%%/test/test_imp.py
+lib/python%%XYDOT%%/test/test_import/__init__.py
+lib/python%%XYDOT%%/test/test_import/__main__.py
+lib/python%%XYDOT%%/test/test_import/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/basic.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/basic.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/basic.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/basic2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/basic2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/basic2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/binding.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/binding.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/binding.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/binding2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/binding2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/binding2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/indirect.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/indirect.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/indirect.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/rebinding.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/rebinding.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/rebinding.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/rebinding2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/rebinding2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/rebinding2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/subpackage.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/subpackage.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/subpackage.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/__pycache__/util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/basic.py
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/basic2.py
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/binding.py
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/binding2.py
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/indirect.py
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/rebinding.py
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/rebinding2.py
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/subpackage.py
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/subpkg/__pycache__/subpackage2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/subpkg/__pycache__/subpackage2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/subpkg/__pycache__/subpackage2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/subpkg/__pycache__/util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/subpkg/__pycache__/util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/subpkg/__pycache__/util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/subpkg/subpackage2.py
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/subpkg/util.py
+lib/python%%XYDOT%%/test/test_import/data/circular_imports/util.py
+lib/python%%XYDOT%%/test/test_import/data/package/__init__.py
+lib/python%%XYDOT%%/test/test_import/data/package/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/data/package/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/data/package/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/package/__pycache__/submodule.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/data/package/__pycache__/submodule.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/data/package/__pycache__/submodule.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/package/submodule.py
+lib/python%%XYDOT%%/test/test_import/data/package2/__pycache__/submodule1.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/data/package2/__pycache__/submodule1.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/data/package2/__pycache__/submodule1.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/package2/__pycache__/submodule2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_import/data/package2/__pycache__/submodule2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_import/data/package2/__pycache__/submodule2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_import/data/package2/submodule1.py
+lib/python%%XYDOT%%/test/test_import/data/package2/submodule2.py
+lib/python%%XYDOT%%/test/test_importlib/__init__.py
+lib/python%%XYDOT%%/test/test_importlib/__main__.py
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/abc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/abc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/abc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_abc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_abc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_abc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_api.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_api.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_api.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_lazy.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_lazy.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_lazy.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_locks.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_locks.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_locks.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_namespace_pkgs.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_namespace_pkgs.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_namespace_pkgs.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_open.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_open.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_open.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_path.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_path.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_path.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_read.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_read.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_read.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_resource.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_resource.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_resource.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_spec.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_spec.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_spec.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_windows.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_windows.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/test_windows.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/__pycache__/util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/abc.py
+lib/python%%XYDOT%%/test/test_importlib/builtin/__init__.py
+lib/python%%XYDOT%%/test/test_importlib/builtin/__main__.py
+lib/python%%XYDOT%%/test/test_importlib/builtin/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/builtin/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/builtin/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/builtin/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/builtin/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/builtin/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/builtin/__pycache__/test_finder.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/builtin/__pycache__/test_finder.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/builtin/__pycache__/test_finder.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/builtin/__pycache__/test_loader.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/builtin/__pycache__/test_loader.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/builtin/__pycache__/test_loader.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/builtin/test_finder.py
+lib/python%%XYDOT%%/test/test_importlib/builtin/test_loader.py
+lib/python%%XYDOT%%/test/test_importlib/data01/__init__.py
+lib/python%%XYDOT%%/test/test_importlib/data01/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/data01/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/data01/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/data01/binary.file
+lib/python%%XYDOT%%/test/test_importlib/data01/subdirectory/__init__.py
+lib/python%%XYDOT%%/test/test_importlib/data01/subdirectory/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/data01/subdirectory/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/data01/subdirectory/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/data01/subdirectory/binary.file
+lib/python%%XYDOT%%/test/test_importlib/data01/utf-16.file
+lib/python%%XYDOT%%/test/test_importlib/data01/utf-8.file
+lib/python%%XYDOT%%/test/test_importlib/data02/__init__.py
+lib/python%%XYDOT%%/test/test_importlib/data02/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/data02/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/data02/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/data02/one/__init__.py
+lib/python%%XYDOT%%/test/test_importlib/data02/one/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/data02/one/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/data02/one/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/data02/one/resource1.txt
+lib/python%%XYDOT%%/test/test_importlib/data02/two/__init__.py
+lib/python%%XYDOT%%/test/test_importlib/data02/two/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/data02/two/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/data02/two/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/data02/two/resource2.txt
+lib/python%%XYDOT%%/test/test_importlib/data03/__init__.py
+lib/python%%XYDOT%%/test/test_importlib/data03/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/data03/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/data03/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/data03/namespace/portion1/__init__.py
+lib/python%%XYDOT%%/test/test_importlib/data03/namespace/portion1/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/data03/namespace/portion1/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/data03/namespace/portion1/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/data03/namespace/portion2/__init__.py
+lib/python%%XYDOT%%/test/test_importlib/data03/namespace/portion2/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/data03/namespace/portion2/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/data03/namespace/portion2/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/data03/namespace/resource1.txt
+lib/python%%XYDOT%%/test/test_importlib/extension/__init__.py
+lib/python%%XYDOT%%/test/test_importlib/extension/__main__.py
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/test_case_sensitivity.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/test_case_sensitivity.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/test_case_sensitivity.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/test_finder.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/test_finder.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/test_finder.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/test_loader.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/test_loader.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/test_loader.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/test_path_hook.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/test_path_hook.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/__pycache__/test_path_hook.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/extension/test_case_sensitivity.py
+lib/python%%XYDOT%%/test/test_importlib/extension/test_finder.py
+lib/python%%XYDOT%%/test/test_importlib/extension/test_loader.py
+lib/python%%XYDOT%%/test/test_importlib/extension/test_path_hook.py
+lib/python%%XYDOT%%/test/test_importlib/frozen/__init__.py
+lib/python%%XYDOT%%/test/test_importlib/frozen/__main__.py
+lib/python%%XYDOT%%/test/test_importlib/frozen/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/frozen/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/frozen/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/frozen/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/frozen/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/frozen/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/frozen/__pycache__/test_finder.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/frozen/__pycache__/test_finder.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/frozen/__pycache__/test_finder.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/frozen/__pycache__/test_loader.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/frozen/__pycache__/test_loader.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/frozen/__pycache__/test_loader.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/frozen/test_finder.py
+lib/python%%XYDOT%%/test/test_importlib/frozen/test_loader.py
+lib/python%%XYDOT%%/test/test_importlib/import_/__init__.py
+lib/python%%XYDOT%%/test/test_importlib/import_/__main__.py
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test___loader__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test___loader__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test___loader__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test___package__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test___package__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test___package__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_api.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_api.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_api.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_caching.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_caching.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_caching.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_fromlist.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_fromlist.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_fromlist.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_meta_path.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_meta_path.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_meta_path.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_packages.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_packages.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_packages.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_path.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_path.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_path.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_relative_imports.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_relative_imports.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/__pycache__/test_relative_imports.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/import_/test___loader__.py
+lib/python%%XYDOT%%/test/test_importlib/import_/test___package__.py
+lib/python%%XYDOT%%/test/test_importlib/import_/test_api.py
+lib/python%%XYDOT%%/test/test_importlib/import_/test_caching.py
+lib/python%%XYDOT%%/test/test_importlib/import_/test_fromlist.py
+lib/python%%XYDOT%%/test/test_importlib/import_/test_meta_path.py
+lib/python%%XYDOT%%/test/test_importlib/import_/test_packages.py
+lib/python%%XYDOT%%/test/test_importlib/import_/test_path.py
+lib/python%%XYDOT%%/test/test_importlib/import_/test_relative_imports.py
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/both_portions/foo/__pycache__/one.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/both_portions/foo/__pycache__/one.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/both_portions/foo/__pycache__/one.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/both_portions/foo/__pycache__/two.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/both_portions/foo/__pycache__/two.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/both_portions/foo/__pycache__/two.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/both_portions/foo/one.py
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/both_portions/foo/two.py
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/missing_directory.zip
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/module_and_namespace_package/__pycache__/a_test.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/module_and_namespace_package/__pycache__/a_test.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/module_and_namespace_package/__pycache__/a_test.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/module_and_namespace_package/a_test.py
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/module_and_namespace_package/a_test/empty
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/nested_portion1.zip
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/not_a_namespace_pkg/foo/__init__.py
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/not_a_namespace_pkg/foo/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/not_a_namespace_pkg/foo/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/not_a_namespace_pkg/foo/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/not_a_namespace_pkg/foo/__pycache__/one.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/not_a_namespace_pkg/foo/__pycache__/one.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/not_a_namespace_pkg/foo/__pycache__/one.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/not_a_namespace_pkg/foo/one.py
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/portion1/foo/__pycache__/one.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/portion1/foo/__pycache__/one.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/portion1/foo/__pycache__/one.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/portion1/foo/one.py
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/portion2/foo/__pycache__/two.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/portion2/foo/__pycache__/two.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/portion2/foo/__pycache__/two.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/portion2/foo/two.py
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/project1/parent/child/__pycache__/one.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/project1/parent/child/__pycache__/one.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/project1/parent/child/__pycache__/one.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/project1/parent/child/one.py
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/project2/parent/child/__pycache__/two.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/project2/parent/child/__pycache__/two.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/project2/parent/child/__pycache__/two.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/project2/parent/child/two.py
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/project3/parent/child/__pycache__/three.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/project3/parent/child/__pycache__/three.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/project3/parent/child/__pycache__/three.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/project3/parent/child/three.py
+lib/python%%XYDOT%%/test/test_importlib/namespace_pkgs/top_level_portion1.zip
+lib/python%%XYDOT%%/test/test_importlib/source/__init__.py
+lib/python%%XYDOT%%/test/test_importlib/source/__main__.py
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_case_sensitivity.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_case_sensitivity.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_case_sensitivity.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_file_loader.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_file_loader.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_file_loader.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_finder.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_finder.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_finder.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_path_hook.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_path_hook.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_path_hook.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_source_encoding.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_source_encoding.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/__pycache__/test_source_encoding.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/source/test_case_sensitivity.py
+lib/python%%XYDOT%%/test/test_importlib/source/test_file_loader.py
+lib/python%%XYDOT%%/test/test_importlib/source/test_finder.py
+lib/python%%XYDOT%%/test/test_importlib/source/test_path_hook.py
+lib/python%%XYDOT%%/test/test_importlib/source/test_source_encoding.py
+lib/python%%XYDOT%%/test/test_importlib/test_abc.py
+lib/python%%XYDOT%%/test/test_importlib/test_api.py
+lib/python%%XYDOT%%/test/test_importlib/test_lazy.py
+lib/python%%XYDOT%%/test/test_importlib/test_locks.py
+lib/python%%XYDOT%%/test/test_importlib/test_namespace_pkgs.py
+lib/python%%XYDOT%%/test/test_importlib/test_open.py
+lib/python%%XYDOT%%/test/test_importlib/test_path.py
+lib/python%%XYDOT%%/test/test_importlib/test_read.py
+lib/python%%XYDOT%%/test/test_importlib/test_resource.py
+lib/python%%XYDOT%%/test/test_importlib/test_spec.py
+lib/python%%XYDOT%%/test/test_importlib/test_util.py
+lib/python%%XYDOT%%/test/test_importlib/test_windows.py
+lib/python%%XYDOT%%/test/test_importlib/util.py
+lib/python%%XYDOT%%/test/test_importlib/zipdata01/__init__.py
+lib/python%%XYDOT%%/test/test_importlib/zipdata01/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/zipdata01/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/zipdata01/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/zipdata01/ziptestdata.zip
+lib/python%%XYDOT%%/test/test_importlib/zipdata02/__init__.py
+lib/python%%XYDOT%%/test/test_importlib/zipdata02/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_importlib/zipdata02/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_importlib/zipdata02/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_importlib/zipdata02/ziptestdata.zip
+lib/python%%XYDOT%%/test/test_index.py
+lib/python%%XYDOT%%/test/test_inspect.py
+lib/python%%XYDOT%%/test/test_int.py
+lib/python%%XYDOT%%/test/test_int_literal.py
+lib/python%%XYDOT%%/test/test_io.py
+lib/python%%XYDOT%%/test/test_ioctl.py
+lib/python%%XYDOT%%/test/test_ipaddress.py
+lib/python%%XYDOT%%/test/test_isinstance.py
+lib/python%%XYDOT%%/test/test_iter.py
+lib/python%%XYDOT%%/test/test_iterlen.py
+lib/python%%XYDOT%%/test/test_itertools.py
+lib/python%%XYDOT%%/test/test_json/__init__.py
+lib/python%%XYDOT%%/test/test_json/__main__.py
+lib/python%%XYDOT%%/test/test_json/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_decode.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_decode.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_decode.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_default.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_default.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_default.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_dump.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_dump.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_dump.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_encode_basestring_ascii.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_encode_basestring_ascii.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_encode_basestring_ascii.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_enum.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_enum.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_enum.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_fail.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_fail.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_fail.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_float.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_float.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_float.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_indent.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_indent.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_indent.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_pass1.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_pass1.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_pass1.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_pass2.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_pass2.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_pass2.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_pass3.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_pass3.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_pass3.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_recursion.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_recursion.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_recursion.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_scanstring.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_scanstring.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_scanstring.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_separators.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_separators.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_separators.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_speedups.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_speedups.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_speedups.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_tool.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_tool.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_tool.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_unicode.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_unicode.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_json/__pycache__/test_unicode.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_json/test_decode.py
+lib/python%%XYDOT%%/test/test_json/test_default.py
+lib/python%%XYDOT%%/test/test_json/test_dump.py
+lib/python%%XYDOT%%/test/test_json/test_encode_basestring_ascii.py
+lib/python%%XYDOT%%/test/test_json/test_enum.py
+lib/python%%XYDOT%%/test/test_json/test_fail.py
+lib/python%%XYDOT%%/test/test_json/test_float.py
+lib/python%%XYDOT%%/test/test_json/test_indent.py
+lib/python%%XYDOT%%/test/test_json/test_pass1.py
+lib/python%%XYDOT%%/test/test_json/test_pass2.py
+lib/python%%XYDOT%%/test/test_json/test_pass3.py
+lib/python%%XYDOT%%/test/test_json/test_recursion.py
+lib/python%%XYDOT%%/test/test_json/test_scanstring.py
+lib/python%%XYDOT%%/test/test_json/test_separators.py
+lib/python%%XYDOT%%/test/test_json/test_speedups.py
+lib/python%%XYDOT%%/test/test_json/test_tool.py
+lib/python%%XYDOT%%/test/test_json/test_unicode.py
+lib/python%%XYDOT%%/test/test_keyword.py
+lib/python%%XYDOT%%/test/test_keywordonlyarg.py
+lib/python%%XYDOT%%/test/test_kqueue.py
+lib/python%%XYDOT%%/test/test_largefile.py
+lib/python%%XYDOT%%/test/test_lib2to3.py
+lib/python%%XYDOT%%/test/test_linecache.py
+lib/python%%XYDOT%%/test/test_list.py
+lib/python%%XYDOT%%/test/test_listcomps.py
+lib/python%%XYDOT%%/test/test_locale.py
+lib/python%%XYDOT%%/test/test_logging.py
+lib/python%%XYDOT%%/test/test_long.py
+lib/python%%XYDOT%%/test/test_longexp.py
+lib/python%%XYDOT%%/test/test_lzma.py
+lib/python%%XYDOT%%/test/test_macpath.py
+lib/python%%XYDOT%%/test/test_mailbox.py
+lib/python%%XYDOT%%/test/test_mailcap.py
+lib/python%%XYDOT%%/test/test_marshal.py
+lib/python%%XYDOT%%/test/test_math.py
+lib/python%%XYDOT%%/test/test_memoryio.py
+lib/python%%XYDOT%%/test/test_memoryview.py
+lib/python%%XYDOT%%/test/test_metaclass.py
+lib/python%%XYDOT%%/test/test_mimetypes.py
+lib/python%%XYDOT%%/test/test_minidom.py
+lib/python%%XYDOT%%/test/test_mmap.py
+lib/python%%XYDOT%%/test/test_module.py
+lib/python%%XYDOT%%/test/test_modulefinder.py
+lib/python%%XYDOT%%/test/test_msilib.py
+lib/python%%XYDOT%%/test/test_multibytecodec.py
+lib/python%%XYDOT%%/test/test_multiprocessing_fork.py
+lib/python%%XYDOT%%/test/test_multiprocessing_forkserver.py
+lib/python%%XYDOT%%/test/test_multiprocessing_main_handling.py
+lib/python%%XYDOT%%/test/test_multiprocessing_spawn.py
+lib/python%%XYDOT%%/test/test_netrc.py
+lib/python%%XYDOT%%/test/test_nis.py
+lib/python%%XYDOT%%/test/test_nntplib.py
+lib/python%%XYDOT%%/test/test_normalization.py
+lib/python%%XYDOT%%/test/test_ntpath.py
+lib/python%%XYDOT%%/test/test_numeric_tower.py
+lib/python%%XYDOT%%/test/test_opcodes.py
+lib/python%%XYDOT%%/test/test_openpty.py
+lib/python%%XYDOT%%/test/test_operator.py
+lib/python%%XYDOT%%/test/test_optparse.py
+lib/python%%XYDOT%%/test/test_ordered_dict.py
+lib/python%%XYDOT%%/test/test_os.py
+lib/python%%XYDOT%%/test/test_ossaudiodev.py
+lib/python%%XYDOT%%/test/test_osx_env.py
+lib/python%%XYDOT%%/test/test_parser.py
+lib/python%%XYDOT%%/test/test_pathlib.py
+lib/python%%XYDOT%%/test/test_pdb.py
+lib/python%%XYDOT%%/test/test_peepholer.py
+lib/python%%XYDOT%%/test/test_pickle.py
+lib/python%%XYDOT%%/test/test_pickletools.py
+lib/python%%XYDOT%%/test/test_pipes.py
+lib/python%%XYDOT%%/test/test_pkg.py
+lib/python%%XYDOT%%/test/test_pkgimport.py
+lib/python%%XYDOT%%/test/test_pkgutil.py
+lib/python%%XYDOT%%/test/test_platform.py
+lib/python%%XYDOT%%/test/test_plistlib.py
+lib/python%%XYDOT%%/test/test_poll.py
+lib/python%%XYDOT%%/test/test_popen.py
+lib/python%%XYDOT%%/test/test_poplib.py
+lib/python%%XYDOT%%/test/test_posix.py
+lib/python%%XYDOT%%/test/test_posixpath.py
+lib/python%%XYDOT%%/test/test_pow.py
+lib/python%%XYDOT%%/test/test_pprint.py
+lib/python%%XYDOT%%/test/test_print.py
+lib/python%%XYDOT%%/test/test_profile.py
+lib/python%%XYDOT%%/test/test_property.py
+lib/python%%XYDOT%%/test/test_pstats.py
+lib/python%%XYDOT%%/test/test_pty.py
+lib/python%%XYDOT%%/test/test_pulldom.py
+lib/python%%XYDOT%%/test/test_pwd.py
+lib/python%%XYDOT%%/test/test_py_compile.py
+lib/python%%XYDOT%%/test/test_pyclbr.py
+lib/python%%XYDOT%%/test/test_pydoc.py
+lib/python%%XYDOT%%/test/test_pyexpat.py
+lib/python%%XYDOT%%/test/test_queue.py
+lib/python%%XYDOT%%/test/test_quopri.py
+lib/python%%XYDOT%%/test/test_raise.py
+lib/python%%XYDOT%%/test/test_random.py
+lib/python%%XYDOT%%/test/test_range.py
+lib/python%%XYDOT%%/test/test_re.py
+lib/python%%XYDOT%%/test/test_readline.py
+lib/python%%XYDOT%%/test/test_regrtest.py
+lib/python%%XYDOT%%/test/test_repl.py
+lib/python%%XYDOT%%/test/test_reprlib.py
+lib/python%%XYDOT%%/test/test_resource.py
+lib/python%%XYDOT%%/test/test_richcmp.py
+lib/python%%XYDOT%%/test/test_rlcompleter.py
+lib/python%%XYDOT%%/test/test_robotparser.py
+lib/python%%XYDOT%%/test/test_runpy.py
+lib/python%%XYDOT%%/test/test_sax.py
+lib/python%%XYDOT%%/test/test_sched.py
+lib/python%%XYDOT%%/test/test_scope.py
+lib/python%%XYDOT%%/test/test_script_helper.py
+lib/python%%XYDOT%%/test/test_secrets.py
+lib/python%%XYDOT%%/test/test_select.py
+lib/python%%XYDOT%%/test/test_selectors.py
+lib/python%%XYDOT%%/test/test_set.py
+lib/python%%XYDOT%%/test/test_setcomps.py
+lib/python%%XYDOT%%/test/test_shelve.py
+lib/python%%XYDOT%%/test/test_shlex.py
+lib/python%%XYDOT%%/test/test_shutil.py
+lib/python%%XYDOT%%/test/test_signal.py
+lib/python%%XYDOT%%/test/test_site.py
+lib/python%%XYDOT%%/test/test_slice.py
+lib/python%%XYDOT%%/test/test_smtpd.py
+lib/python%%XYDOT%%/test/test_smtplib.py
+lib/python%%XYDOT%%/test/test_smtpnet.py
+lib/python%%XYDOT%%/test/test_sndhdr.py
+lib/python%%XYDOT%%/test/test_socket.py
+lib/python%%XYDOT%%/test/test_socketserver.py
+lib/python%%XYDOT%%/test/test_sort.py
+lib/python%%XYDOT%%/test/test_source_encoding.py
+lib/python%%XYDOT%%/test/test_spwd.py
+lib/python%%XYDOT%%/test/test_sqlite.py
+lib/python%%XYDOT%%/test/test_ssl.py
+lib/python%%XYDOT%%/test/test_startfile.py
+lib/python%%XYDOT%%/test/test_stat.py
+lib/python%%XYDOT%%/test/test_statistics.py
+lib/python%%XYDOT%%/test/test_strftime.py
+lib/python%%XYDOT%%/test/test_string.py
+lib/python%%XYDOT%%/test/test_string_literals.py
+lib/python%%XYDOT%%/test/test_stringprep.py
+lib/python%%XYDOT%%/test/test_strptime.py
+lib/python%%XYDOT%%/test/test_strtod.py
+lib/python%%XYDOT%%/test/test_struct.py
+lib/python%%XYDOT%%/test/test_structmembers.py
+lib/python%%XYDOT%%/test/test_structseq.py
+lib/python%%XYDOT%%/test/test_subclassinit.py
+lib/python%%XYDOT%%/test/test_subprocess.py
+lib/python%%XYDOT%%/test/test_sunau.py
+lib/python%%XYDOT%%/test/test_sundry.py
+lib/python%%XYDOT%%/test/test_super.py
+lib/python%%XYDOT%%/test/test_support.py
+lib/python%%XYDOT%%/test/test_symbol.py
+lib/python%%XYDOT%%/test/test_symtable.py
+lib/python%%XYDOT%%/test/test_syntax.py
+lib/python%%XYDOT%%/test/test_sys.py
+lib/python%%XYDOT%%/test/test_sys_setprofile.py
+lib/python%%XYDOT%%/test/test_sys_settrace.py
+lib/python%%XYDOT%%/test/test_sysconfig.py
+lib/python%%XYDOT%%/test/test_syslog.py
+lib/python%%XYDOT%%/test/test_tarfile.py
+lib/python%%XYDOT%%/test/test_tcl.py
+lib/python%%XYDOT%%/test/test_telnetlib.py
+lib/python%%XYDOT%%/test/test_tempfile.py
+lib/python%%XYDOT%%/test/test_textwrap.py
+lib/python%%XYDOT%%/test/test_thread.py
+lib/python%%XYDOT%%/test/test_threaded_import.py
+lib/python%%XYDOT%%/test/test_threadedtempfile.py
+lib/python%%XYDOT%%/test/test_threading.py
+lib/python%%XYDOT%%/test/test_threading_local.py
+lib/python%%XYDOT%%/test/test_threadsignals.py
+lib/python%%XYDOT%%/test/test_time.py
+lib/python%%XYDOT%%/test/test_timeit.py
+lib/python%%XYDOT%%/test/test_timeout.py
+lib/python%%XYDOT%%/test/test_tix.py
+lib/python%%XYDOT%%/test/test_tk.py
+lib/python%%XYDOT%%/test/test_tokenize.py
+lib/python%%XYDOT%%/test/test_tools/__init__.py
+lib/python%%XYDOT%%/test/test_tools/__main__.py
+lib/python%%XYDOT%%/test/test_tools/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_fixcid.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_fixcid.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_fixcid.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_gprof2html.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_gprof2html.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_gprof2html.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_i18n.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_i18n.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_i18n.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_md5sum.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_md5sum.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_md5sum.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_pdeps.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_pdeps.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_pdeps.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_pindent.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_pindent.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_pindent.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_reindent.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_reindent.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_reindent.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_sundry.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_sundry.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_sundry.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_unparse.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_unparse.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_tools/__pycache__/test_unparse.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_tools/test_fixcid.py
+lib/python%%XYDOT%%/test/test_tools/test_gprof2html.py
+lib/python%%XYDOT%%/test/test_tools/test_i18n.py
+lib/python%%XYDOT%%/test/test_tools/test_md5sum.py
+lib/python%%XYDOT%%/test/test_tools/test_pdeps.py
+lib/python%%XYDOT%%/test/test_tools/test_pindent.py
+lib/python%%XYDOT%%/test/test_tools/test_reindent.py
+lib/python%%XYDOT%%/test/test_tools/test_sundry.py
+lib/python%%XYDOT%%/test/test_tools/test_unparse.py
+lib/python%%XYDOT%%/test/test_trace.py
+lib/python%%XYDOT%%/test/test_traceback.py
+lib/python%%XYDOT%%/test/test_tracemalloc.py
+lib/python%%XYDOT%%/test/test_ttk_guionly.py
+lib/python%%XYDOT%%/test/test_ttk_textonly.py
+lib/python%%XYDOT%%/test/test_tuple.py
+lib/python%%XYDOT%%/test/test_turtle.py
+lib/python%%XYDOT%%/test/test_typechecks.py
+lib/python%%XYDOT%%/test/test_types.py
+lib/python%%XYDOT%%/test/test_typing.py
+lib/python%%XYDOT%%/test/test_ucn.py
+lib/python%%XYDOT%%/test/test_unary.py
+lib/python%%XYDOT%%/test/test_unicode.py
+lib/python%%XYDOT%%/test/test_unicode_file.py
+lib/python%%XYDOT%%/test/test_unicode_file_functions.py
+lib/python%%XYDOT%%/test/test_unicode_identifiers.py
+lib/python%%XYDOT%%/test/test_unicodedata.py
+lib/python%%XYDOT%%/test/test_unittest.py
+lib/python%%XYDOT%%/test/test_univnewlines.py
+lib/python%%XYDOT%%/test/test_unpack.py
+lib/python%%XYDOT%%/test/test_unpack_ex.py
+lib/python%%XYDOT%%/test/test_urllib.py
+lib/python%%XYDOT%%/test/test_urllib2.py
+lib/python%%XYDOT%%/test/test_urllib2_localnet.py
+lib/python%%XYDOT%%/test/test_urllib2net.py
+lib/python%%XYDOT%%/test/test_urllib_response.py
+lib/python%%XYDOT%%/test/test_urllibnet.py
+lib/python%%XYDOT%%/test/test_urlparse.py
+lib/python%%XYDOT%%/test/test_userdict.py
+lib/python%%XYDOT%%/test/test_userlist.py
+lib/python%%XYDOT%%/test/test_userstring.py
+lib/python%%XYDOT%%/test/test_utf8_mode.py
+lib/python%%XYDOT%%/test/test_utf8source.py
+lib/python%%XYDOT%%/test/test_uu.py
+lib/python%%XYDOT%%/test/test_uuid.py
+lib/python%%XYDOT%%/test/test_venv.py
+lib/python%%XYDOT%%/test/test_wait3.py
+lib/python%%XYDOT%%/test/test_wait4.py
+lib/python%%XYDOT%%/test/test_warnings/__init__.py
+lib/python%%XYDOT%%/test/test_warnings/__main__.py
+lib/python%%XYDOT%%/test/test_warnings/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_warnings/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_warnings/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_warnings/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_warnings/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_warnings/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_warnings/data/__pycache__/import_warning.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_warnings/data/__pycache__/import_warning.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_warnings/data/__pycache__/import_warning.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_warnings/data/__pycache__/stacklevel.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/test_warnings/data/__pycache__/stacklevel.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/test_warnings/data/__pycache__/stacklevel.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/test_warnings/data/import_warning.py
+lib/python%%XYDOT%%/test/test_warnings/data/stacklevel.py
+lib/python%%XYDOT%%/test/test_wave.py
+lib/python%%XYDOT%%/test/test_weakref.py
+lib/python%%XYDOT%%/test/test_weakset.py
+lib/python%%XYDOT%%/test/test_webbrowser.py
+lib/python%%XYDOT%%/test/test_winconsoleio.py
+lib/python%%XYDOT%%/test/test_winreg.py
+lib/python%%XYDOT%%/test/test_winsound.py
+lib/python%%XYDOT%%/test/test_with.py
+lib/python%%XYDOT%%/test/test_wsgiref.py
+lib/python%%XYDOT%%/test/test_xdrlib.py
+lib/python%%XYDOT%%/test/test_xml_dom_minicompat.py
+lib/python%%XYDOT%%/test/test_xml_etree.py
+lib/python%%XYDOT%%/test/test_xml_etree_c.py
+lib/python%%XYDOT%%/test/test_xmlrpc.py
+lib/python%%XYDOT%%/test/test_xmlrpc_net.py
+lib/python%%XYDOT%%/test/test_xxtestfuzz.py
+lib/python%%XYDOT%%/test/test_yield_from.py
+lib/python%%XYDOT%%/test/test_zipapp.py
+lib/python%%XYDOT%%/test/test_zipfile.py
+lib/python%%XYDOT%%/test/test_zipfile64.py
+lib/python%%XYDOT%%/test/test_zipimport.py
+lib/python%%XYDOT%%/test/test_zipimport_support.py
+lib/python%%XYDOT%%/test/test_zlib.py
+lib/python%%XYDOT%%/test/testcodec.py
+lib/python%%XYDOT%%/test/testtar.tar
+lib/python%%XYDOT%%/test/tf_inherit_check.py
+lib/python%%XYDOT%%/test/threaded_import_hangers.py
+lib/python%%XYDOT%%/test/time_hashlib.py
+lib/python%%XYDOT%%/test/tokenize_tests-latin1-coding-cookie-and-utf8-bom-sig.txt
+lib/python%%XYDOT%%/test/tokenize_tests-no-coding-cookie-and-utf8-bom-sig-only.txt
+lib/python%%XYDOT%%/test/tokenize_tests-utf8-coding-cookie-and-no-utf8-bom-sig.txt
+lib/python%%XYDOT%%/test/tokenize_tests-utf8-coding-cookie-and-utf8-bom-sig.txt
+lib/python%%XYDOT%%/test/tokenize_tests.txt
+lib/python%%XYDOT%%/test/tracedmodules/__init__.py
+lib/python%%XYDOT%%/test/tracedmodules/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/tracedmodules/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/tracedmodules/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/tracedmodules/__pycache__/testmod.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/test/tracedmodules/__pycache__/testmod.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/test/tracedmodules/__pycache__/testmod.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/test/tracedmodules/testmod.py
+lib/python%%XYDOT%%/test/win_console_handler.py
+lib/python%%XYDOT%%/test/xmltestdata/expat224_utf8_bug.xml
+lib/python%%XYDOT%%/test/xmltestdata/simple-ns.xml
+lib/python%%XYDOT%%/test/xmltestdata/simple.xml
+lib/python%%XYDOT%%/test/xmltestdata/test.xml
+lib/python%%XYDOT%%/test/xmltestdata/test.xml.out
+lib/python%%XYDOT%%/test/xmltests.py
+lib/python%%XYDOT%%/test/zip_cp437_header.zip
+lib/python%%XYDOT%%/test/zipdir.zip
+lib/python%%XYDOT%%/textwrap.py
+lib/python%%XYDOT%%/this.py
+lib/python%%XYDOT%%/threading.py
+lib/python%%XYDOT%%/timeit.py
+lib/python%%XYDOT%%/tkinter/__init__.py
+lib/python%%XYDOT%%/tkinter/__main__.py
+lib/python%%XYDOT%%/tkinter/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/colorchooser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/colorchooser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/colorchooser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/commondialog.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/commondialog.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/commondialog.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/constants.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/constants.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/constants.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/dialog.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/dialog.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/dialog.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/dnd.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/dnd.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/dnd.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/filedialog.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/filedialog.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/filedialog.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/font.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/font.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/font.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/messagebox.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/messagebox.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/messagebox.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/scrolledtext.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/scrolledtext.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/scrolledtext.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/simpledialog.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/simpledialog.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/simpledialog.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/tix.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/tix.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/tix.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/ttk.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/ttk.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/__pycache__/ttk.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/colorchooser.py
+lib/python%%XYDOT%%/tkinter/commondialog.py
+lib/python%%XYDOT%%/tkinter/constants.py
+lib/python%%XYDOT%%/tkinter/dialog.py
+lib/python%%XYDOT%%/tkinter/dnd.py
+lib/python%%XYDOT%%/tkinter/filedialog.py
+lib/python%%XYDOT%%/tkinter/font.py
+lib/python%%XYDOT%%/tkinter/messagebox.py
+lib/python%%XYDOT%%/tkinter/scrolledtext.py
+lib/python%%XYDOT%%/tkinter/simpledialog.py
+lib/python%%XYDOT%%/tkinter/test/README
+lib/python%%XYDOT%%/tkinter/test/__init__.py
+lib/python%%XYDOT%%/tkinter/test/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/__pycache__/runtktests.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/__pycache__/runtktests.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/__pycache__/runtktests.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/__pycache__/support.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/__pycache__/support.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/__pycache__/support.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/__pycache__/widget_tests.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/__pycache__/widget_tests.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/__pycache__/widget_tests.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/runtktests.py
+lib/python%%XYDOT%%/tkinter/test/support.py
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__init__.py
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_font.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_font.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_font.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_geometry_managers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_geometry_managers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_geometry_managers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_images.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_images.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_images.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_loadtk.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_loadtk.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_loadtk.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_misc.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_misc.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_misc.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_text.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_text.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_text.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_variables.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_variables.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_variables.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_widgets.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_widgets.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/__pycache__/test_widgets.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/test_font.py
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/test_geometry_managers.py
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/test_images.py
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/test_loadtk.py
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/test_misc.py
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/test_text.py
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/test_variables.py
+lib/python%%XYDOT%%/tkinter/test/test_tkinter/test_widgets.py
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__init__.py
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/test_extensions.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/test_extensions.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/test_extensions.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/test_functions.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/test_functions.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/test_functions.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/test_style.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/test_style.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/test_style.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/test_widgets.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/test_widgets.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/__pycache__/test_widgets.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/tkinter/test/test_ttk/test_extensions.py
+lib/python%%XYDOT%%/tkinter/test/test_ttk/test_functions.py
+lib/python%%XYDOT%%/tkinter/test/test_ttk/test_style.py
+lib/python%%XYDOT%%/tkinter/test/test_ttk/test_widgets.py
+lib/python%%XYDOT%%/tkinter/test/widget_tests.py
+lib/python%%XYDOT%%/tkinter/tix.py
+lib/python%%XYDOT%%/tkinter/ttk.py
+lib/python%%XYDOT%%/token.py
+lib/python%%XYDOT%%/tokenize.py
+lib/python%%XYDOT%%/trace.py
+lib/python%%XYDOT%%/traceback.py
+lib/python%%XYDOT%%/tracemalloc.py
+lib/python%%XYDOT%%/tty.py
+lib/python%%XYDOT%%/turtle.py
+lib/python%%XYDOT%%/turtledemo/__init__.py
+lib/python%%XYDOT%%/turtledemo/__main__.py
+lib/python%%XYDOT%%/turtledemo/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/bytedesign.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/bytedesign.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/bytedesign.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/chaos.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/chaos.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/chaos.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/clock.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/clock.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/clock.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/colormixer.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/colormixer.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/colormixer.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/forest.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/forest.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/forest.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/fractalcurves.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/fractalcurves.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/fractalcurves.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/lindenmayer.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/lindenmayer.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/lindenmayer.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/minimal_hanoi.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/minimal_hanoi.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/minimal_hanoi.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/nim.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/nim.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/nim.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/paint.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/paint.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/paint.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/peace.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/peace.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/peace.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/penrose.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/penrose.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/penrose.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/planet_and_moon.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/planet_and_moon.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/planet_and_moon.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/rosette.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/rosette.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/rosette.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/round_dance.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/round_dance.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/round_dance.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/sorting_animate.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/sorting_animate.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/sorting_animate.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/tree.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/tree.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/tree.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/two_canvases.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/two_canvases.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/two_canvases.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/yinyang.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/yinyang.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/turtledemo/__pycache__/yinyang.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/turtledemo/bytedesign.py
+lib/python%%XYDOT%%/turtledemo/chaos.py
+lib/python%%XYDOT%%/turtledemo/clock.py
+lib/python%%XYDOT%%/turtledemo/colormixer.py
+lib/python%%XYDOT%%/turtledemo/forest.py
+lib/python%%XYDOT%%/turtledemo/fractalcurves.py
+lib/python%%XYDOT%%/turtledemo/lindenmayer.py
+lib/python%%XYDOT%%/turtledemo/minimal_hanoi.py
+lib/python%%XYDOT%%/turtledemo/nim.py
+lib/python%%XYDOT%%/turtledemo/paint.py
+lib/python%%XYDOT%%/turtledemo/peace.py
+lib/python%%XYDOT%%/turtledemo/penrose.py
+lib/python%%XYDOT%%/turtledemo/planet_and_moon.py
+lib/python%%XYDOT%%/turtledemo/round_dance.py
+lib/python%%XYDOT%%/turtledemo/rosette.py
+lib/python%%XYDOT%%/turtledemo/sorting_animate.py
+lib/python%%XYDOT%%/turtledemo/tree.py
+lib/python%%XYDOT%%/turtledemo/turtle.cfg
+lib/python%%XYDOT%%/turtledemo/two_canvases.py
+lib/python%%XYDOT%%/turtledemo/yinyang.py
+lib/python%%XYDOT%%/types.py
+lib/python%%XYDOT%%/typing.py
+lib/python%%XYDOT%%/unittest/__init__.py
+lib/python%%XYDOT%%/unittest/__main__.py
+lib/python%%XYDOT%%/unittest/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/case.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/case.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/case.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/loader.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/loader.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/loader.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/main.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/main.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/main.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/mock.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/mock.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/mock.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/result.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/result.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/result.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/runner.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/runner.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/runner.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/signals.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/signals.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/signals.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/suite.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/suite.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/suite.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/__pycache__/util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/case.py
+lib/python%%XYDOT%%/unittest/loader.py
+lib/python%%XYDOT%%/unittest/main.py
+lib/python%%XYDOT%%/unittest/mock.py
+lib/python%%XYDOT%%/unittest/result.py
+lib/python%%XYDOT%%/unittest/runner.py
+lib/python%%XYDOT%%/unittest/signals.py
+lib/python%%XYDOT%%/unittest/suite.py
+lib/python%%XYDOT%%/unittest/test/__init__.py
+lib/python%%XYDOT%%/unittest/test/__main__.py
+lib/python%%XYDOT%%/unittest/test/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/_test_warnings.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/_test_warnings.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/_test_warnings.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/dummy.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/dummy.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/dummy.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/support.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/support.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/support.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_assertions.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_assertions.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_assertions.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_break.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_break.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_break.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_case.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_case.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_case.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_discovery.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_discovery.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_discovery.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_functiontestcase.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_functiontestcase.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_functiontestcase.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_loader.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_loader.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_loader.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_program.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_program.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_program.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_result.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_result.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_result.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_runner.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_runner.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_runner.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_setups.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_setups.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_setups.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_skipping.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_skipping.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_skipping.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_suite.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_suite.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/__pycache__/test_suite.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/_test_warnings.py
+lib/python%%XYDOT%%/unittest/test/dummy.py
+lib/python%%XYDOT%%/unittest/test/support.py
+lib/python%%XYDOT%%/unittest/test/test_assertions.py
+lib/python%%XYDOT%%/unittest/test/test_break.py
+lib/python%%XYDOT%%/unittest/test/test_case.py
+lib/python%%XYDOT%%/unittest/test/test_discovery.py
+lib/python%%XYDOT%%/unittest/test/test_functiontestcase.py
+lib/python%%XYDOT%%/unittest/test/test_loader.py
+lib/python%%XYDOT%%/unittest/test/test_program.py
+lib/python%%XYDOT%%/unittest/test/test_result.py
+lib/python%%XYDOT%%/unittest/test/test_runner.py
+lib/python%%XYDOT%%/unittest/test/test_setups.py
+lib/python%%XYDOT%%/unittest/test/test_skipping.py
+lib/python%%XYDOT%%/unittest/test/test_suite.py
+lib/python%%XYDOT%%/unittest/test/testmock/__init__.py
+lib/python%%XYDOT%%/unittest/test/testmock/__main__.py
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/support.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/support.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/support.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testcallable.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testcallable.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testcallable.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testhelpers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testhelpers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testhelpers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testmagicmethods.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testmagicmethods.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testmagicmethods.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testmock.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testmock.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testmock.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testpatch.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testpatch.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testpatch.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testsealable.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testsealable.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testsealable.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testsentinel.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testsentinel.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testsentinel.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testwith.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testwith.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/__pycache__/testwith.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/unittest/test/testmock/support.py
+lib/python%%XYDOT%%/unittest/test/testmock/testcallable.py
+lib/python%%XYDOT%%/unittest/test/testmock/testhelpers.py
+lib/python%%XYDOT%%/unittest/test/testmock/testmagicmethods.py
+lib/python%%XYDOT%%/unittest/test/testmock/testmock.py
+lib/python%%XYDOT%%/unittest/test/testmock/testpatch.py
+lib/python%%XYDOT%%/unittest/test/testmock/testsealable.py
+lib/python%%XYDOT%%/unittest/test/testmock/testsentinel.py
+lib/python%%XYDOT%%/unittest/test/testmock/testwith.py
+lib/python%%XYDOT%%/unittest/util.py
+lib/python%%XYDOT%%/urllib/__init__.py
+lib/python%%XYDOT%%/urllib/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/error.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/error.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/error.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/parse.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/parse.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/parse.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/request.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/request.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/request.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/response.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/response.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/response.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/robotparser.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/robotparser.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/urllib/__pycache__/robotparser.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/urllib/error.py
+lib/python%%XYDOT%%/urllib/parse.py
+lib/python%%XYDOT%%/urllib/request.py
+lib/python%%XYDOT%%/urllib/response.py
+lib/python%%XYDOT%%/urllib/robotparser.py
+lib/python%%XYDOT%%/uu.py
+lib/python%%XYDOT%%/uuid.py
+lib/python%%XYDOT%%/venv/__init__.py
+lib/python%%XYDOT%%/venv/__main__.py
+lib/python%%XYDOT%%/venv/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/venv/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/venv/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/venv/__pycache__/__main__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/venv/__pycache__/__main__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/venv/__pycache__/__main__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/venv/scripts/common/activate
+lib/python%%XYDOT%%/venv/scripts/posix/activate.csh
+lib/python%%XYDOT%%/venv/scripts/posix/activate.fish
+lib/python%%XYDOT%%/warnings.py
+lib/python%%XYDOT%%/wave.py
+lib/python%%XYDOT%%/weakref.py
+lib/python%%XYDOT%%/webbrowser.py
+lib/python%%XYDOT%%/wsgiref/__init__.py
+lib/python%%XYDOT%%/wsgiref/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/handlers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/handlers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/handlers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/headers.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/headers.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/headers.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/simple_server.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/simple_server.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/simple_server.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/util.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/util.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/util.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/validate.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/validate.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/wsgiref/__pycache__/validate.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/wsgiref/handlers.py
+lib/python%%XYDOT%%/wsgiref/headers.py
+lib/python%%XYDOT%%/wsgiref/simple_server.py
+lib/python%%XYDOT%%/wsgiref/util.py
+lib/python%%XYDOT%%/wsgiref/validate.py
+lib/python%%XYDOT%%/xdrlib.py
+lib/python%%XYDOT%%/xml/__init__.py
+lib/python%%XYDOT%%/xml/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/dom/NodeFilter.py
+lib/python%%XYDOT%%/xml/dom/__init__.py
+lib/python%%XYDOT%%/xml/dom/__pycache__/NodeFilter.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/NodeFilter.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/NodeFilter.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/domreg.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/domreg.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/domreg.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/expatbuilder.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/expatbuilder.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/expatbuilder.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/minicompat.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/minicompat.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/minicompat.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/minidom.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/minidom.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/minidom.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/pulldom.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/pulldom.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/pulldom.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/xmlbuilder.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/xmlbuilder.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/dom/__pycache__/xmlbuilder.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/dom/domreg.py
+lib/python%%XYDOT%%/xml/dom/expatbuilder.py
+lib/python%%XYDOT%%/xml/dom/minicompat.py
+lib/python%%XYDOT%%/xml/dom/minidom.py
+lib/python%%XYDOT%%/xml/dom/pulldom.py
+lib/python%%XYDOT%%/xml/dom/xmlbuilder.py
+lib/python%%XYDOT%%/xml/etree/ElementInclude.py
+lib/python%%XYDOT%%/xml/etree/ElementPath.py
+lib/python%%XYDOT%%/xml/etree/ElementTree.py
+lib/python%%XYDOT%%/xml/etree/__init__.py
+lib/python%%XYDOT%%/xml/etree/__pycache__/ElementInclude.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/ElementInclude.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/ElementInclude.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/ElementPath.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/ElementPath.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/ElementPath.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/ElementTree.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/ElementTree.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/ElementTree.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/cElementTree.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/cElementTree.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/etree/__pycache__/cElementTree.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/etree/cElementTree.py
+lib/python%%XYDOT%%/xml/parsers/__init__.py
+lib/python%%XYDOT%%/xml/parsers/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/parsers/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/parsers/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/parsers/__pycache__/expat.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/parsers/__pycache__/expat.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/parsers/__pycache__/expat.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/parsers/expat.py
+lib/python%%XYDOT%%/xml/sax/__init__.py
+lib/python%%XYDOT%%/xml/sax/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/_exceptions.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/_exceptions.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/_exceptions.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/expatreader.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/expatreader.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/expatreader.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/handler.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/handler.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/handler.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/saxutils.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/saxutils.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/saxutils.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/xmlreader.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/xmlreader.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xml/sax/__pycache__/xmlreader.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xml/sax/_exceptions.py
+lib/python%%XYDOT%%/xml/sax/expatreader.py
+lib/python%%XYDOT%%/xml/sax/handler.py
+lib/python%%XYDOT%%/xml/sax/saxutils.py
+lib/python%%XYDOT%%/xml/sax/xmlreader.py
+lib/python%%XYDOT%%/xmlrpc/__init__.py
+lib/python%%XYDOT%%/xmlrpc/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xmlrpc/__pycache__/__init__.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xmlrpc/__pycache__/__init__.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xmlrpc/__pycache__/client.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xmlrpc/__pycache__/client.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xmlrpc/__pycache__/client.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xmlrpc/__pycache__/server.cpython-%%XY%%.opt-1.pyc
+lib/python%%XYDOT%%/xmlrpc/__pycache__/server.cpython-%%XY%%.opt-2.pyc
+lib/python%%XYDOT%%/xmlrpc/__pycache__/server.cpython-%%XY%%.pyc
+lib/python%%XYDOT%%/xmlrpc/client.py
+lib/python%%XYDOT%%/xmlrpc/server.py
+lib/python%%XYDOT%%/zipapp.py
+lib/python%%XYDOT%%/zipfile.py
+libdata/pkgconfig/python-%%XYDOT%%.pc
+man/man1/python%%XYDOT%%.1.gz
diff --git a/test-ports/misc/Makefile b/test-ports/misc/Makefile
new file mode 100644
index 00000000..446d6f8a
--- /dev/null
+++ b/test-ports/misc/Makefile
@@ -0,0 +1,3 @@
+SUBDIR += foo
+SUBDIR += freebsd-release-manifests
+SUBDIR += help2man
diff --git a/test-ports/misc/foo/Makefile b/test-ports/misc/foo/Makefile
new file mode 100644
index 00000000..9a5c3bf7
--- /dev/null
+++ b/test-ports/misc/foo/Makefile
@@ -0,0 +1,33 @@
+# $FreeBSD: head/misc/freebsd-release-manifests/Makefile 429892 2016-12-29 12:41:04Z mat $
+
+PORTNAME= foo
+DISTVERSION= 20161010
+PORTREVISION= 0
+FLAVORS= DEFAULT FLAV IGNORED
+FLAVOR?= DEFAULT
+.if ${FLAVOR} != DEFAULT && !empty(FLAVORS:M${FLAVOR})
+PKGNAMESUFFIX= -${FLAVOR}
+.endif
+.if ${FLAVOR} == IGNORED
+IGNORE= ignored
+.endif
+CATEGORIES= misc
+MASTER_SITES= #
+DISTFILES= #
+
+MAINTAINER= bdrewery@FreeBSD.org
+COMMENT= FreeBSD release manifests
+
+LICENSE= BSD2CLAUSE
+
+NO_BUILD= yes
+NO_ARCH= yes
+
+DATADIR= ${PREFIX}/share/freebsd
+
+do-install:
+ @${MKDIR} ${STAGEDIR}${DATADIR}/MANIFESTS
+ ${INSTALL_DATA} ${FILESDIR}/MANIFESTS/* \
+ ${STAGEDIR}${DATADIR}/MANIFESTS/
+
+.include <bsd.port.mk>
diff --git a/test-ports/misc/foo/pkg-descr b/test-ports/misc/foo/pkg-descr
new file mode 100644
index 00000000..c5d831eb
--- /dev/null
+++ b/test-ports/misc/foo/pkg-descr
@@ -0,0 +1,3 @@
+MANIFEST files from the FreeBSD release images.
+
+WWW: https://www.FreeBSD.org
diff --git a/test-ports/misc/foo/pkg-plist b/test-ports/misc/foo/pkg-plist
new file mode 100644
index 00000000..cb59bff2
--- /dev/null
+++ b/test-ports/misc/foo/pkg-plist
@@ -0,0 +1,52 @@
+%%DATADIR%%/MANIFESTS/amd64-amd64-10.0-RELEASE
+%%DATADIR%%/MANIFESTS/amd64-amd64-10.1-RELEASE
+%%DATADIR%%/MANIFESTS/amd64-amd64-10.2-RELEASE
+%%DATADIR%%/MANIFESTS/amd64-amd64-10.3-RELEASE
+%%DATADIR%%/MANIFESTS/amd64-amd64-9.0-RELEASE
+%%DATADIR%%/MANIFESTS/amd64-amd64-9.1-RELEASE
+%%DATADIR%%/MANIFESTS/amd64-amd64-9.2-RELEASE
+%%DATADIR%%/MANIFESTS/amd64-amd64-9.3-RELEASE
+%%DATADIR%%/MANIFESTS/i386-i386-10.0-RELEASE
+%%DATADIR%%/MANIFESTS/i386-i386-10.1-RELEASE
+%%DATADIR%%/MANIFESTS/i386-i386-10.2-RELEASE
+%%DATADIR%%/MANIFESTS/i386-i386-10.3-RELEASE
+%%DATADIR%%/MANIFESTS/i386-i386-9.0-RELEASE
+%%DATADIR%%/MANIFESTS/i386-i386-9.1-RELEASE
+%%DATADIR%%/MANIFESTS/i386-i386-9.2-RELEASE
+%%DATADIR%%/MANIFESTS/i386-i386-9.3-RELEASE
+%%DATADIR%%/MANIFESTS/ia64-ia64-10.0-RELEASE
+%%DATADIR%%/MANIFESTS/ia64-ia64-10.1-RELEASE
+%%DATADIR%%/MANIFESTS/ia64-ia64-10.2-RELEASE
+%%DATADIR%%/MANIFESTS/ia64-ia64-10.3-RELEASE
+%%DATADIR%%/MANIFESTS/ia64-ia64-9.0-RELEASE
+%%DATADIR%%/MANIFESTS/ia64-ia64-9.2-RELEASE
+%%DATADIR%%/MANIFESTS/ia64-ia64-9.3-RELEASE
+%%DATADIR%%/MANIFESTS/powerpc-powerpc-10.0-RELEASE
+%%DATADIR%%/MANIFESTS/powerpc-powerpc-10.1-RELEASE
+%%DATADIR%%/MANIFESTS/powerpc-powerpc-10.2-RELEASE
+%%DATADIR%%/MANIFESTS/powerpc-powerpc-10.3-RELEASE
+%%DATADIR%%/MANIFESTS/powerpc-powerpc-9.0-RELEASE
+%%DATADIR%%/MANIFESTS/powerpc-powerpc-9.2-RELEASE
+%%DATADIR%%/MANIFESTS/powerpc-powerpc-9.3-RELEASE
+%%DATADIR%%/MANIFESTS/powerpc-powerpc64-10.0-RELEASE
+%%DATADIR%%/MANIFESTS/powerpc-powerpc64-10.1-RELEASE
+%%DATADIR%%/MANIFESTS/powerpc-powerpc64-10.2-RELEASE
+%%DATADIR%%/MANIFESTS/powerpc-powerpc64-10.3-RELEASE
+%%DATADIR%%/MANIFESTS/powerpc-powerpc64-9.0-RELEASE
+%%DATADIR%%/MANIFESTS/powerpc-powerpc64-9.1-RELEASE
+%%DATADIR%%/MANIFESTS/powerpc-powerpc64-9.2-RELEASE
+%%DATADIR%%/MANIFESTS/powerpc-powerpc64-9.3-RELEASE
+%%DATADIR%%/MANIFESTS/sparc64-sparc64-10.0-RELEASE
+%%DATADIR%%/MANIFESTS/sparc64-sparc64-10.1-RELEASE
+%%DATADIR%%/MANIFESTS/sparc64-sparc64-10.2-RELEASE
+%%DATADIR%%/MANIFESTS/sparc64-sparc64-10.3-RELEASE
+%%DATADIR%%/MANIFESTS/sparc64-sparc64-9.0-RELEASE
+%%DATADIR%%/MANIFESTS/sparc64-sparc64-9.1-RELEASE
+%%DATADIR%%/MANIFESTS/sparc64-sparc64-9.2-RELEASE
+%%DATADIR%%/MANIFESTS/sparc64-sparc64-9.3-RELEASE
+%%DATADIR%%/MANIFESTS/amd64-amd64-11.0-RELEASE
+%%DATADIR%%/MANIFESTS/arm64-aarch64-11.0-RELEASE
+%%DATADIR%%/MANIFESTS/i386-i386-11.0-RELEASE
+%%DATADIR%%/MANIFESTS/powerpc-powerpc-11.0-RELEASE
+%%DATADIR%%/MANIFESTS/powerpc-powerpc64-11.0-RELEASE
+%%DATADIR%%/MANIFESTS/sparc64-sparc64-11.0-RELEASE
diff --git a/test-ports/misc/freebsd-release-manifests/Makefile b/test-ports/misc/freebsd-release-manifests/Makefile
new file mode 100644
index 00000000..aaffa7f3
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/Makefile
@@ -0,0 +1,34 @@
+# $FreeBSD: head/misc/freebsd-release-manifests/Makefile 429892 2016-12-29 12:41:04Z mat $
+
+PORTNAME= freebsd-release-manifests
+DISTVERSION= 20161010
+PORTREVISION= 0
+FLAVORS= DEFAULT FOO BAR
+FLAVOR?= DEFAULT
+.if ${FLAVOR} != DEFAULT && !empty(FLAVORS:M${FLAVOR})
+PKGNAMESUFFIX= -${FLAVOR}
+.endif
+CATEGORIES= misc
+MASTER_SITES= #
+DISTFILES= #
+
+MAINTAINER= bdrewery@FreeBSD.org
+COMMENT= FreeBSD release manifests
+
+LICENSE= BSD2CLAUSE
+
+.if ${FLAVOR} == FOO
+RUN_DEPENDS+= foo:misc/foo
+.endif
+
+NO_BUILD= yes
+NO_ARCH= yes
+
+DATADIR= ${PREFIX}/share/freebsd
+
+do-install:
+ @${MKDIR} ${STAGEDIR}${DATADIR}/MANIFESTS
+ ${INSTALL_DATA} ${FILESDIR}/MANIFESTS/* \
+ ${STAGEDIR}${DATADIR}/MANIFESTS/
+
+.include <bsd.port.mk>
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/amd64-amd64-10.0-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/amd64-amd64-10.0-RELEASE
new file mode 100644
index 00000000..531600a1
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/amd64-amd64-10.0-RELEASE
@@ -0,0 +1,7 @@
+base.txz f394b79749e79cd7d4b1c29c61effd2a4d6caa70c7e794ffb617f439e11be53c 18870 base "Base system (MANDATORY)" on
+doc.txz b2c7ecd1fbb892869016020a99ec0dfa6d8ea4d9c89155fc1c114828ccd92877 121 doc "Additional documentation" off
+games.txz 997fefcd4469d60c21e891d0cccf50cc302fcdceab24e82e1f57d5a35bdfdde8 53 games "Games (fortune, etc.)" on
+kernel.txz 44df7b515655a57043ebdce95d3aa273b541edad464b96f1d0fa0326b9951d0e 1510 kernel "Kernel (MANDATORY)" on
+lib32.txz df86af1cb69e133b55d3b5fd7e672b8d261caf0804c656bbfa9f73f6880c2d43 676 lib32 "32-bit compatibility libraries" on
+ports.txz 1efe37d4b1d74220542567f1fa2b7be34a376c67fd2cb175e8fc0374a18bba15 154347 ports "Ports tree" on
+src.txz b85bdebf7efdabf9b89f7881b550ce89949c646decf49a3a3fcf8941bde67fe8 63564 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/amd64-amd64-10.1-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/amd64-amd64-10.1-RELEASE
new file mode 100644
index 00000000..260e91a2
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/amd64-amd64-10.1-RELEASE
@@ -0,0 +1,7 @@
+base.txz 2b028a894d25711ad496762622a52d74b1e32ee04693ad1cf056e3ddcdc23975 19458 base "Base system (MANDATORY)" on
+doc.txz 32292e8813655a939d695548a0beb2e5a86bdac05632ce9116e88198ce484865 121 doc "Additional documentation" off
+games.txz 16e111a2b7f7258d1217c3ea8cd22460f67ad01f6096dd3b63d9bfa311d5fd20 53 games "Games (fortune, etc.)" on
+kernel.txz 2cb6b319467369ac2fe40f34d41e45ee5db6e146a2b651a7633a75e36511c3ba 1534 kernel "Kernel (MANDATORY)" on
+lib32.txz 9fa2b3e79460af9a93dfdb1033957abc1c770ad332ab0c1315a31c02b068a59c 673 lib32 "32-bit compatibility libraries" on
+ports.txz d53912299c5d504f83eaa6cf98a576bfb6de98548fc4a7d1b21e629b53937a05 149186 ports "Ports tree" on
+src.txz f919287a5ef51d4f133f27c99c54f2e8054f408d3dd53bc60f4e233cc75ec03d 65300 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/amd64-amd64-10.2-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/amd64-amd64-10.2-RELEASE
new file mode 100644
index 00000000..3f48282c
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/amd64-amd64-10.2-RELEASE
@@ -0,0 +1,7 @@
+base.txz 75b0d1872b39c35b0d423c352c96d41cc2d7e7d536b78ecdb506c2fbf8072a0b 19765 base "Base system (MANDATORY)" on
+doc.txz a16da30b017933fe3735d2b0638fc9063335dd6330bdd4925899e49cd0a76d65 121 doc "Additional documentation" off
+games.txz 11ad9eee86b21f54b7f397a95ad3902e73526ef5cae84de3200b2acc050bc9e2 53 games "Games (fortune, etc.)" on
+kernel.txz 2a866267c9aee471558f54fc8a3862c18e729e2adf348686e0b51c62f6c2291e 1550 kernel "Kernel (MANDATORY)" on
+lib32.txz fc9bdb7213977e94bc9d66cdc9d55ee0396df5fa4ae900d2ac68d3b47845e92d 685 lib32 "32-bit compatibility libraries" on
+ports.txz 7cd3a302c1ba0296a56b83ef08a7cf0fe318b247a084f6b31d51f2b8e560b476 154229 ports "Ports tree" on
+src.txz 6a59ea716bae96135983ad70cd7123e3b35ec91b191a82fe282ade88a61560b1 70299 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/amd64-amd64-10.3-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/amd64-amd64-10.3-RELEASE
new file mode 100644
index 00000000..638202cf
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/amd64-amd64-10.3-RELEASE
@@ -0,0 +1,7 @@
+base.txz e7c4c961694e34b2b60598d9668a185b5de1c6241bedfc4891cd9ea8fbff2dc4 19949 base "Base system (MANDATORY)" on
+doc.txz 9c12797809cbef2f99a392432ad3f0407fed537856e10157f96afb47e7c1307c 121 doc "Additional documentation" off
+games.txz e9210573ad5aef0a4c1a08cdda1cafdda99f4b9fc92ed6c5dfa61a30daf63fb7 53 games "Games (fortune, etc.)" on
+kernel.txz dfb652cfe67adb705c4ac0b2a2bd8671d786137132adc4e6a55c2b18fe05a704 1550 kernel "Kernel (MANDATORY)" on
+lib32.txz e9faa712618ee88f0306f5d31abe3069fad0f15028ae9900b68e01c369eeff4a 687 lib32 "32-bit compatibility libraries" on
+ports.txz 2e4b1a328885ede0e8b279ca4dffcdf7f81ee51abef5acc44549ccb8512bb196 157722 ports "Ports tree" on
+src.txz f50763dcac88e9b7ec616b77d537bf338f470350e2c85e0cc7decfcc8372b54d 70682 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/amd64-amd64-11.0-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/amd64-amd64-11.0-RELEASE
new file mode 100644
index 00000000..3b677a0c
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/amd64-amd64-11.0-RELEASE
@@ -0,0 +1,10 @@
+base-dbg.txz 015aa9c5dc913f4310622358dcdfda1f1a96ce9a24e22ee66bc99aca8c09b5af 1406 base_dbg "Base system (Debugging)" off
+base.txz bb80ededf207c48122434833b83110225b798fb31273051fcb64316ff782c1ef 22029 base "Base system (MANDATORY)" on
+doc.txz 9093c8697a3357e0d374d57f49d9c5396ae70664fe35795348321d5ccd6ecd29 120 doc "Additional Documentation" off
+kernel-dbg.txz 8c8f38cfbcc5061005897b186de746f868279f40b90059d951d0258e66ba5207 817 kernel_dbg "Kernel (Debugging)" off
+kernel.txz da3701cd487945803ce83c6b7e4a953da14e77dab3f0516895b99dd8f4e54477 826 kernel "Kernel (MANDATORY)" on
+lib32-dbg.txz e97fc0ca9ba8100529bd39f8f2ba3c53cf17040bd0958df9cfffb3af0bffe536 207 lib32_dbg "32-bit compatibility libraries (Debugging)" off
+lib32.txz aaa945c7a486c80ade85ba1e2f4c6681178adb73f74543325dd1c327fc787661 725 lib32 "32-bit compatibility libraries" on
+ports.txz 1d272667eb39b0eb6ea5b891bf931af129a8150a69ee920a976e0fd79f775b31 161250 ports "Ports tree" on
+src.txz 0725a7f1d3e8985f4b2e31a2ad714334463a5016b203073a8fc196649f3d5a27 76924 src "System source tree" off
+tests.txz acf6e5dd5611c824a947baa481eb6898725a099a5b65f9dc95e2f660a027b861 3480 tests "Test suite" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/amd64-amd64-9.0-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/amd64-amd64-9.0-RELEASE
new file mode 100644
index 00000000..f5d1589f
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/amd64-amd64-9.0-RELEASE
@@ -0,0 +1,7 @@
+base.txz 7a1de94906f98539c70b71f2a9277ff9514fd8134b71f30e3c22f59b7c49ece0 17066 base "Base system (MANDATORY)" on
+doc.txz 1fcee5df106054b187fc6af20d75bd7af0d4e2a5805540e6e51e9eef42d21df9 123 doc "Additional documentation" off
+games.txz 53c7b0acaa02a39dd1e72935c94bf7574d7961c6ef97126977b28c8a677dcbce 55 games "Games (fortune, etc.)" on
+kernel.txz 3b63c1b24ed830492bf80cc0154854759c4a4bfe5c5ab7f3756cc3a562e5eacf 1270 kernel "Kernel (MANDATORY)" on
+lib32.txz 0082b372f3fe2c5f2d44066f6c51c9d1377d8fab3bbff2085322b7911b40469d 630 lib32 "32-bit compatibility libraries" on
+ports.txz 5ad301a4bd0d822ee2346a1dd4e46c25491b024f5f2455c17fbbf1fabf5189fd 304781 ports "Ports tree" on
+src.txz 24c05ec1f5f02ea39f2dc4eb8a15adcf67ec31de7ecba49905965f3e29e2d8ab 54464 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/amd64-amd64-9.1-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/amd64-amd64-9.1-RELEASE
new file mode 100644
index 00000000..fa9bd1d9
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/amd64-amd64-9.1-RELEASE
@@ -0,0 +1,7 @@
+base.txz 13fa1fe38c2b213fb05a40a910b55b4a63db69ed9d61c59974d8dcb08f2bdc54 17254 base "Base system (MANDATORY)" on
+doc.txz 3b7ac8c04d3327e402e94af873c6cb428208cb49b02fd613b7b339764465ad99 123 doc "Additional documentation" off
+games.txz 5810ee1070c89ce4f1710bd2e262d7826173ac968a6f723a2a592f31135ec8d9 55 games "Games (fortune, etc.)" on
+kernel.txz d71fe52102105f9828e006a9b0964d14d3a200cae717f8f59f171f42c0333bcd 1292 kernel "Kernel (MANDATORY)" on
+lib32.txz 98f721658d6603adf841a0f1e3e9a909b5efcb534b5fe977054b95ed8a35600c 636 lib32 "32-bit compatibility libraries" on
+ports.txz 958f66e31abd27179da2e482f9d52ec80f44e89c9ec2c8e962b1d658010f5beb 268145 ports "Ports tree" on
+src.txz 6a9239bea016b0ccbd5da57d5bf5287a27bf701ae73529531a1211207d9ca5e0 55579 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/amd64-amd64-9.2-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/amd64-amd64-9.2-RELEASE
new file mode 100644
index 00000000..a9afb6a9
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/amd64-amd64-9.2-RELEASE
@@ -0,0 +1,7 @@
+base.txz 1873c313da4945fd555809afac4075ef458ac176d5129c3f163ad0f58ec9bb3e 17579 base "Base system (MANDATORY)" on
+doc.txz 734cc39d19cba290b638ae2cc4271b347435ae6f969397b3d9af89079801607a 123 doc "Additional documentation" off
+games.txz 0fd9a3a6ccda5fbf305f469703a3a6da174c7341bd30304e5395bb65fa1d3c64 53 games "Games (fortune, etc.)" on
+kernel.txz 595955ccb779a6092455171e4fac0b59a58f118525f04bc09414e5d1e55ed17d 1328 kernel "Kernel (MANDATORY)" on
+lib32.txz 86acc4555fddb3649ae078f9d9c6e16a0b9936ea2cbfcbf69bc71d6b6497860b 582 lib32 "32-bit compatibility libraries" on
+ports.txz f75ea73aa780a5eb0ce7ee7d9976f422f2d82f23739dbc55b1af8d4a04f9b1fe 153177 ports "Ports tree" on
+src.txz 2f494744d5dadf946bb0b8c81864f094158373c587e6f2f0b2ae5dac07f3af00 58011 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/amd64-amd64-9.3-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/amd64-amd64-9.3-RELEASE
new file mode 100644
index 00000000..03edc86e
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/amd64-amd64-9.3-RELEASE
@@ -0,0 +1,7 @@
+base.txz eda58db8f30e502f3e1dfb3266048e73c6be65fd820e132e2cba6cf5aee50c08 18082 base "Base system (MANDATORY)" on
+doc.txz 33f0e82149d1965b52ace7c3f7507a14f680ea810976c2b76c927fddfac30e5e 123 doc "Additional documentation" off
+games.txz 7c0584cfd93da3657cf953d019da8aaff3dfb5a268815f44756c477b4af370e6 53 games "Games (fortune, etc.)" on
+kernel.txz b1f9dab9fd1ea4718b3ac08e22bd9f852f01bafafbe956b85e5ec8842be94daa 1504 kernel "Kernel (MANDATORY)" on
+lib32.txz 535c82f49ad04a0deb1b1b8ef951c43545e5ebf54f029f6e558edf8703546bec 587 lib32 "32-bit compatibility libraries" on
+ports.txz 435a19ae37d0b1d4b10aa7c91ed61a0e54776b6b267ee48589fcfd3fcf1ffeb5 153284 ports "Ports tree" on
+src.txz 295a768fc26015fcf48d9fb5be40c3de247dd66927a84ebe7a19fb7bf0f6a284 59491 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/arm64-aarch64-11.0-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/arm64-aarch64-11.0-RELEASE
new file mode 100644
index 00000000..d8181485
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/arm64-aarch64-11.0-RELEASE
@@ -0,0 +1,8 @@
+base-dbg.txz e109b4f51be14c6900f43c3d906e0e4a74c16539a2ff16992d03f4535755b0bb 1374 base_dbg "Base system (Debugging)" off
+base.txz 16e9d744c39ef8ead3584815071a9086db10e71ef93e0108d5f490fe103b4bba 21688 base "Base system (MANDATORY)" on
+doc.txz 091a04b552956309394980a1e9d83e1af6e57ff34c5f9f27818aae782ee630d8 120 doc "Additional Documentation" off
+kernel-dbg.txz 183ef3b8dca1ebe1f99a9963601eb57f3b3079599d13a20642ef1836cebd61ee 552 kernel_dbg "Kernel (Debugging)" off
+kernel.txz b0fbdb9f39b255ab814d2da06a334320d0842ad6bacf34bec0fc4807f4a54167 560 kernel "Kernel (MANDATORY)" on
+ports.txz f674faa4aa2193cdb2c2f203d9a0d0937566ccd3c896d1542d46481fa03f339d 161250 ports "Ports tree" on
+src.txz 0725a7f1d3e8985f4b2e31a2ad714334463a5016b203073a8fc196649f3d5a27 76924 src "System source tree" off
+tests.txz 124540bffeec76ffb6a87545685b0270921eaaa3a486694f3bb719b9f1500319 3476 tests "Test suite" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/i386-i386-10.0-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/i386-i386-10.0-RELEASE
new file mode 100644
index 00000000..9ec47e86
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/i386-i386-10.0-RELEASE
@@ -0,0 +1,6 @@
+base.txz 98e35da4ee5b203051818222904060aa6e628d30814346d67c16b8ffcf8594b3 18908 base "Base system (MANDATORY)" on
+doc.txz d669c9b30601ec9b82b933680e47dd99d2e6d452b6d0c24dac6e4bde765eeec3 121 doc "Additional documentation" off
+games.txz 31bc0212ccedf916dcbc33e924908691a86352e4109a94857f321e104a7da17b 53 games "Games (fortune, etc.)" on
+kernel.txz 965106c58bebaee594adc864d493567160034e7318d87b5d801bf900717d2ed0 1568 kernel "Kernel (MANDATORY)" on
+ports.txz a61d18cd55ead652b94f824aabd5d3108342d77c7d7816280908c1768ab5e01c 154347 ports "Ports tree" on
+src.txz b794e68693f0e0f512b19676a50a9f67d8e259b6376217aae73fe1d1d4bdcb5b 63564 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/i386-i386-10.1-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/i386-i386-10.1-RELEASE
new file mode 100644
index 00000000..21d8f728
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/i386-i386-10.1-RELEASE
@@ -0,0 +1,6 @@
+base.txz 8cbe70ff3022b63f19ec254b989cc61daaa56c47938a38951818e8f3d68f5a2c 19491 base "Base system (MANDATORY)" on
+doc.txz b3c7fcbbc74fd9861164873ffe8011ba86bd9d25d83ebf7f401f32de02a4f4f1 121 doc "Additional documentation" off
+games.txz 4bb792e2411782c1359fa7bf0676400f97fcb888a523c1e5bd1005b2643a89d8 53 games "Games (fortune, etc.)" on
+kernel.txz 84c35f34e1fdf16a5c2d9b3400e0358157d14b5e4a56deb11ece54a8623b3cb9 1588 kernel "Kernel (MANDATORY)" on
+ports.txz 6bd4fb4da570f7ae38894320ef33fda88aa628106ea9ab1ffbaa9088b6eead7d 149186 ports "Ports tree" on
+src.txz f919287a5ef51d4f133f27c99c54f2e8054f408d3dd53bc60f4e233cc75ec03d 65300 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/i386-i386-10.2-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/i386-i386-10.2-RELEASE
new file mode 100644
index 00000000..ecae386f
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/i386-i386-10.2-RELEASE
@@ -0,0 +1,6 @@
+base.txz 36e491ba6719443dec354b74ba5761103be464b93f00372e5f01e6452a8ceaa9 19797 base "Base system (MANDATORY)" on
+doc.txz 73f3efbe7b32f27972fb14da11fe9a6d4aef7c6dbcb4f7e4d0e92872c2ef9de0 121 doc "Additional documentation" off
+games.txz 025716eb77c4fcba25bb7664a7f9dfde941b49aefbd69a9209bd918993e9c448 53 games "Games (fortune, etc.)" on
+kernel.txz d519d0244458c588cc5e85d29169b48ede57bc6ed57e7925ba8bef3b9e3c21b4 1602 kernel "Kernel (MANDATORY)" on
+ports.txz 163ad4ee5e9edc2059e7853e3e27a9197cfa2b31037ca7f46112ad1ee2cf105a 154229 ports "Ports tree" on
+src.txz 6a59ea716bae96135983ad70cd7123e3b35ec91b191a82fe282ade88a61560b1 70299 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/i386-i386-10.3-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/i386-i386-10.3-RELEASE
new file mode 100644
index 00000000..20e84835
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/i386-i386-10.3-RELEASE
@@ -0,0 +1,6 @@
+base.txz 311faed2f5484184d4942399edc49e7add0fdccf30bdb22ee404f0c5d5cd768a 19967 base "Base system (MANDATORY)" on
+doc.txz 339fe9925c20164ddb7373aca445f14ec4c4d3c8cd96415d1fb52a83b1299aa5 121 doc "Additional documentation" off
+games.txz 222554b668bcd8283b241647875433f58a40f9fc87b01bd8cdf719ceb2e1681b 53 games "Games (fortune, etc.)" on
+kernel.txz 52fbd9cc70a36022a66af0bc81929d444d02ced29e59c0aa42b51124a0df42ab 1596 kernel "Kernel (MANDATORY)" on
+ports.txz 28b00e9e571f95a2e8a81b6894a863fa3ae61693e809190e9e6be86e1a46db79 157722 ports "Ports tree" on
+src.txz f50763dcac88e9b7ec616b77d537bf338f470350e2c85e0cc7decfcc8372b54d 70682 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/i386-i386-11.0-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/i386-i386-11.0-RELEASE
new file mode 100644
index 00000000..7e04a6de
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/i386-i386-11.0-RELEASE
@@ -0,0 +1,8 @@
+base-dbg.txz db4e99cf312e006375c45ae302805041934fe4da11724af7f36cc7bf9cca79f5 1406 base_dbg "Base system (Debugging)" off
+base.txz 51e0b064c2742f1d4ddbf3b37f6ada73f8cf019bf488c3539cacc2a7ddb48717 22047 base "Base system (MANDATORY)" on
+doc.txz 97618786994655d98dfbd52fdeed42509f39a65495828ba12dbe2200573bcc0a 120 doc "Additional Documentation" off
+kernel-dbg.txz 72c575804ca091eeed686e3cb9e9f6b8f35cc6361e83e74521cf4f871a73c5e8 834 kernel_dbg "Kernel (Debugging)" off
+kernel.txz 1eeb6e4cca740e50e5b46b571e8a9f47979bf1afbe71ffc4cc6adfeb13fb9a63 843 kernel "Kernel (MANDATORY)" on
+ports.txz 0ae959ea8971886e31a978673093c26f505065c833a7b9b5243906501d9396c1 161250 ports "Ports tree" on
+src.txz 0725a7f1d3e8985f4b2e31a2ad714334463a5016b203073a8fc196649f3d5a27 76924 src "System source tree" off
+tests.txz 4ffb843d1a651a965a65f6349d7fee40dbfd2ef09f27d13e175868d9b139250f 3480 tests "Test suite" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/i386-i386-9.0-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/i386-i386-9.0-RELEASE
new file mode 100644
index 00000000..8d9d22da
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/i386-i386-9.0-RELEASE
@@ -0,0 +1,6 @@
+base.txz 43c348973d8e0e9462755b2d06e66449f5ec2b49165df970d877933d9ab462cd 17130 base "Base system (MANDATORY)" on
+doc.txz 5aa51e7d8284b9ea5b289aee0b875a329781250d9b458b855dfa38dd2b1abddf 123 doc "Additional documentation" off
+games.txz 2acb53c35b1a89008d36e7a8d10ee9cc39c540483bc750cba67f3475b8dc465b 55 games "Games (fortune, etc.)" on
+kernel.txz d2c6c4eba4abb82fb2d18d4bf58d21cb65e353b68d5421304ac5c73895f92087 1348 kernel "Kernel (MANDATORY)" on
+ports.txz f060e1de853a00d87b5588d9182f5518532b91aaaf2b7f54144d56c62e16b69c 304781 ports "Ports tree" on
+src.txz 6a2d7fb0f4827b25584de5def9e7d8b437c8fa609f29338d997e906e9d3c4d2b 54464 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/i386-i386-9.1-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/i386-i386-9.1-RELEASE
new file mode 100644
index 00000000..d02bb341
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/i386-i386-9.1-RELEASE
@@ -0,0 +1,6 @@
+base.txz e8b8e2c29bb1dd32207dd2e6a78abee51101c1b018381f9f75103c8bd769fcee 17316 base "Base system (MANDATORY)" on
+doc.txz 9c5ca16246c5519159c09133d7339f36f22c3598816e084e9b7f872c149c0239 123 doc "Additional documentation" off
+games.txz 797e7c83e0d6acb4ecee6aa8fcf78f79dfbfc72d98c99ef79feb1096fe6630d0 55 games "Games (fortune, etc.)" on
+kernel.txz 4313470e5ea5c5cff8bd8a9875e051e0c01bf063d355ea64669a22adeddb96b4 1370 kernel "Kernel (MANDATORY)" on
+ports.txz 0eca8189daabdf18fe0b3d17282b1d913b37d37caa2e2e64ab199e9698758e4d 268145 ports "Ports tree" on
+src.txz cbbe6d2c5e422c8f38f8b71c89b19c38c3fc2266fe478d6b050170c1584843a5 55579 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/i386-i386-9.2-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/i386-i386-9.2-RELEASE
new file mode 100644
index 00000000..3b87c438
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/i386-i386-9.2-RELEASE
@@ -0,0 +1,6 @@
+base.txz 87c9038ff9ba03b26d3b64611d9b8db4ef8a3915a6a27424759fdf9f15413a02 17641 base "Base system (MANDATORY)" on
+doc.txz d4e33fdf30abed3f4a80be4b65049f6aab073e432a7b0191b9353ece9ba5c2af 123 doc "Additional documentation" off
+games.txz 47822f50b5d08358137b9574034f3468a08c08fd96459c1d383cf2bf3d95ae27 53 games "Games (fortune, etc.)" on
+kernel.txz 2cf173b2d106e658ab29a1c8958c87daea74092f3ed407271ca8f3cff2f22430 1408 kernel "Kernel (MANDATORY)" on
+ports.txz 15c28eb3ad7089fef046082cf4f2e35fbbe2af286f958342ba2eb33a8a6af5a1 153177 ports "Ports tree" on
+src.txz 2effe0e5a93893130db2a0275cb38fb94c74ac24e86cb78b94577b627d93b28c 58011 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/i386-i386-9.3-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/i386-i386-9.3-RELEASE
new file mode 100644
index 00000000..b1105079
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/i386-i386-9.3-RELEASE
@@ -0,0 +1,6 @@
+base.txz 8ea9a5148f8fefc51881cbd96d9bfc8288cfa3bcea2e63c5c5c4c1c879527d93 18137 base "Base system (MANDATORY)" on
+doc.txz 58bc4532c2fdf04cc64ff479b84aeec595ec55afa364e0e2150cf3fa272eeee4 123 doc "Additional documentation" off
+games.txz 189aa8464155c138279366ff2c96f479e33af219984ccf3ef00023af480d5081 53 games "Games (fortune, etc.)" on
+kernel.txz 24cb5844c2ce3d18312ff8c59c3b0bc444823a20dce62c6094ab6af902a12f25 1580 kernel "Kernel (MANDATORY)" on
+ports.txz 6c50b171968c6ff49df1d07d67db57331574b41027d8ce83e752a20d19d27b31 153284 ports "Ports tree" on
+src.txz 295a768fc26015fcf48d9fb5be40c3de247dd66927a84ebe7a19fb7bf0f6a284 59491 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/ia64-ia64-10.0-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/ia64-ia64-10.0-RELEASE
new file mode 100644
index 00000000..e0766022
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/ia64-ia64-10.0-RELEASE
@@ -0,0 +1,6 @@
+base.txz 0ab38a511c92fc0852ac94f91c5b263a1ce0510e55f42e66e04278a01e54321f 18942 base "Base system (MANDATORY)" on
+doc.txz 008b554c461668d1f9b18a6df6629c5b319972e268da9f115e0931b7a3954092 121 doc "Additional documentation" off
+games.txz 71308c7e9c9d1cf29c7e5fad56d53864e8c147ad737cb39f24161b003b8a3776 53 games "Games (fortune, etc.)" on
+kernel.txz 37f445b612cbe6f8ce3be0ca4d697281b2d9b5384b4826511d9390ad763538a4 1059 kernel "Kernel (MANDATORY)" on
+ports.txz 13901857c278f353e7691b142170387fdd3c5384f3a38c4dcc5dade4c6861925 154347 ports "Ports tree" on
+src.txz 6caad01e5da3ffbddc16c4261ff4d5287a6676242361d15fed1f4daf9297a6a7 63564 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/ia64-ia64-10.1-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/ia64-ia64-10.1-RELEASE
new file mode 100644
index 00000000..a6d2d477
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/ia64-ia64-10.1-RELEASE
@@ -0,0 +1,6 @@
+base.txz 1e3e5a50c1bc6b26001099044f05895c46aa69530700045f995f56e7ecb2484e 19508 base "Base system (MANDATORY)" on
+doc.txz fac7f05b33f8e2d158804c846973d9401f9179a68c536588d2d05ffa21dd1b02 121 doc "Additional documentation" off
+games.txz 1c9a71ed93bb77462512d9f80ee5a5afba3ac076fac4d8120f75be28ea7550a3 53 games "Games (fortune, etc.)" on
+kernel.txz e448e73ea24b1ec1ffa1ce099dff620c62a2e31c19bf62018ff225a642ab9fca 1077 kernel "Kernel (MANDATORY)" on
+ports.txz a96b9ad7c642715e0c7242750a08fc1f4a64a181be629fd7f4f548cb9f89bc28 149186 ports "Ports tree" on
+src.txz f919287a5ef51d4f133f27c99c54f2e8054f408d3dd53bc60f4e233cc75ec03d 65300 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/ia64-ia64-10.2-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/ia64-ia64-10.2-RELEASE
new file mode 100644
index 00000000..2576ba77
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/ia64-ia64-10.2-RELEASE
@@ -0,0 +1,6 @@
+base.txz 8f7564d73cb6d5e9fbfcbab9b30887ae3a8eaab18d374b9d3f0da9a1dc18445a 19797 base "Base system (MANDATORY)" on
+doc.txz b78b7ff7e5f8db1deba308886b6fd7fbc0f6c938dc5d0c5dd595192e524c330e 121 doc "Additional documentation" off
+games.txz ac46c8e9905575eb60f401a52e3f9978538fe37c3107ec470415d73c97da4c4a 53 games "Games (fortune, etc.)" on
+kernel.txz e908a035a6e6f0cce149071e7684df1f505989698fe949150eadbc1b1a915c65 1085 kernel "Kernel (MANDATORY)" on
+ports.txz 21b06bb824f46567adf34048df159b1194d2b6a73609245e635ba1eb99618362 154229 ports "Ports tree" on
+src.txz 6a59ea716bae96135983ad70cd7123e3b35ec91b191a82fe282ade88a61560b1 70299 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/ia64-ia64-10.3-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/ia64-ia64-10.3-RELEASE
new file mode 100644
index 00000000..634745d9
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/ia64-ia64-10.3-RELEASE
@@ -0,0 +1,6 @@
+base.txz 5e90cffc329ac8a374a9baa66b52cb4a8636073150639cf2aafb7df68b14919a 19966 base "Base system (MANDATORY)" on
+doc.txz 6768ade83719c2ba85516e21feefdc455d48ededd87456c27a9e1058a5ca3ab1 121 doc "Additional documentation" off
+games.txz adff87520d6199eddcd5c744b43f09dbd8a399946139894d9a2f372e4860d847 53 games "Games (fortune, etc.)" on
+kernel.txz f52672fb0d8e93f5d1f5bb65909087a74f450718ee265cdc5dd59caf6647f62a 1073 kernel "Kernel (MANDATORY)" on
+ports.txz 0e5bad98ffbd237d1aa378f025a27745e13146d91fd5c5aa8158f793b2d36d7e 157722 ports "Ports tree" on
+src.txz f50763dcac88e9b7ec616b77d537bf338f470350e2c85e0cc7decfcc8372b54d 70682 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/ia64-ia64-9.0-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/ia64-ia64-9.0-RELEASE
new file mode 100644
index 00000000..303145a3
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/ia64-ia64-9.0-RELEASE
@@ -0,0 +1,6 @@
+base.txz 8dc5f57ae79b582f63ee959bfe204c08a56236bc3f8dea0c871b9184c63d3204 16828 base "Base system (MANDATORY)" on
+doc.txz 74b39bc96bc101cc9ed5981dbe05c28b31954162d2611229ea07670270c7bf5a 123 doc "Additional documentation" off
+games.txz dc2af394307b84d939683d9a7befab6fbd0e0fb6da4c0dde7a7ddbc9c47ed96e 55 games "Games (fortune, etc.)" on
+kernel.txz ab31ced703306457b1810d5594236e196d0e71db6af9a96d65bf6ef041524475 1044 kernel "Kernel (MANDATORY)" on
+ports.txz c7e60ffdc24041528758e1404ce648b29cda7bad1fc357c69c1a0231d88f4ed5 304781 ports "Ports tree" on
+src.txz da0366ee608f861a90dc3a492a755b13e743e9f25365c21f119867a7ddf4150e 54464 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/ia64-ia64-9.2-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/ia64-ia64-9.2-RELEASE
new file mode 100644
index 00000000..e2a2ea3e
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/ia64-ia64-9.2-RELEASE
@@ -0,0 +1,6 @@
+base.txz d050a87dce4c2c3a55e03a51e9bf361973abdaf3879e6cd9dc6aaa988f699d88 17291 base "Base system (MANDATORY)" on
+doc.txz c9b136075d51350713b5db6dcd90e07d107a92017386d84645aa99201581cad4 123 doc "Additional documentation" off
+games.txz 9bda331a2ec49ad79d2544c8306c406acf914b41f74886b99c5186fb2b042122 53 games "Games (fortune, etc.)" on
+kernel.txz 07806e3b3011085d28c44b10abaff6e67d3c596ff84b15928ea910d6fb744119 1066 kernel "Kernel (MANDATORY)" on
+ports.txz a61716b9e54841c3f66079f679ea07b48abe09dc7d14cff57a39d1165c6aed7d 153177 ports "Ports tree" on
+src.txz 10e1a447fd76685c38a29a46a706c9bdb0d0a56b396075cfbab212194a99a545 58011 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/ia64-ia64-9.3-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/ia64-ia64-9.3-RELEASE
new file mode 100644
index 00000000..3da29e58
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/ia64-ia64-9.3-RELEASE
@@ -0,0 +1,6 @@
+base.txz 601bfb33a369bfc5a24ffc703b6fb7e42a871840c6cf2b43974c81c6819e0e65 17780 base "Base system (MANDATORY)" on
+doc.txz d419cefda20cfbbe5ea6e9880886af623d3ab40a8d26981e87c491b0b5abd810 123 doc "Additional documentation" off
+games.txz c8125ff99852108b419923a8b457d2f26a7a135760e2a6fdcdd99464efa251b1 53 games "Games (fortune, etc.)" on
+kernel.txz 86932ec14818a35334e2114d3eaf61847f18a1e0fcf914e167e627310534d938 1075 kernel "Kernel (MANDATORY)" on
+ports.txz 42123e3dab59925eebaec881830ff5f06db7ce0551003c8e23af1e03c03b0af3 153284 ports "Ports tree" on
+src.txz 295a768fc26015fcf48d9fb5be40c3de247dd66927a84ebe7a19fb7bf0f6a284 59491 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc-10.0-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc-10.0-RELEASE
new file mode 100644
index 00000000..a35ed49e
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc-10.0-RELEASE
@@ -0,0 +1,6 @@
+base.txz 66103936a1d243c0e256570e3ac33e3379bf24bcbee39ca75581626445ff7838 19031 base "Base system (MANDATORY)" on
+doc.txz da282c259d25b30c28ac51cc582ae503b9ebade933c6bfaf23d2c90a6b0097b7 121 doc "Additional documentation" off
+games.txz 2bf7aadec6478c780a05562eb74fd96781d5fc8e58fe1120977d064101088796 53 games "Games (fortune, etc.)" on
+kernel.txz 0646b7903e0657382d3a85541c2959d2f97eb26b0c1a8c1e5fca975bf87ba53a 1033 kernel "Kernel (MANDATORY)" on
+ports.txz f8e039a079d6631f3c6f1bbedb773be1dcf2816e9570dbc2058565fbf9e854f2 154347 ports "Ports tree" on
+src.txz c0ed60c2c603eda3ec7f3fdf72fc10b57a53dce7aee55dbb6b716ad17afb90f2 63564 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc-10.1-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc-10.1-RELEASE
new file mode 100644
index 00000000..149fbae5
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc-10.1-RELEASE
@@ -0,0 +1,6 @@
+base.txz 290a932f6cc8a05b2f7d344089f2628b717053cb55d347e8de285120a62128f3 19598 base "Base system (MANDATORY)" on
+doc.txz dee7face55416e0092701daf7e6b70325ccdaf39f4c4343f4e9d23fe871727a2 121 doc "Additional documentation" off
+games.txz c062547eca552804c4601658d3a5c06151c5be127ab9d94e57c2c33ec32511da 53 games "Games (fortune, etc.)" on
+kernel.txz 9a2fa39029ec61a74bc2c12b3a50aa4b6ee3185d6816da02c97701486ec0974d 1051 kernel "Kernel (MANDATORY)" on
+ports.txz d3fe136b50804852d340d10f77b3bb3a7784431d8386c66911f0835280bb5150 149186 ports "Ports tree" on
+src.txz f919287a5ef51d4f133f27c99c54f2e8054f408d3dd53bc60f4e233cc75ec03d 65300 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc-10.2-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc-10.2-RELEASE
new file mode 100644
index 00000000..64d3db1e
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc-10.2-RELEASE
@@ -0,0 +1,6 @@
+base.txz 4be870e313cbdd4ca0c3e44bdd4b5fb5de8363b6a6192cb684c1ff42364f99f7 19893 base "Base system (MANDATORY)" on
+doc.txz c4ed9b215310e3f408291e01cfea68ac1c1b9a8372c7cf672ebfe1f62cd07ac7 121 doc "Additional documentation" off
+games.txz eca1ee025c355891d083b2a2a4047c2c12480455401f2051b48d9f4602b8bd34 53 games "Games (fortune, etc.)" on
+kernel.txz c24716316442748ccb9ff39ce1bbe1b32cd943cd1ec3bfb462113bdb094efe74 1049 kernel "Kernel (MANDATORY)" on
+ports.txz 92452c90342d3ca0c59215015b2cb487b8af18640de1eef078765862727c415a 154229 ports "Ports tree" on
+src.txz 6a59ea716bae96135983ad70cd7123e3b35ec91b191a82fe282ade88a61560b1 70299 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc-10.3-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc-10.3-RELEASE
new file mode 100644
index 00000000..fff28eb8
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc-10.3-RELEASE
@@ -0,0 +1,6 @@
+base.txz b5de05397e7fddd2d1b1d76aee43cdb5dca1f35188936dca59ac107f38f0dcf2 20062 base "Base system (MANDATORY)" on
+doc.txz c3e90c97c32e7e96fbdd4c092a5cd7c4ba17453ba96b8a31427dcda2f164ce4b 121 doc "Additional documentation" off
+games.txz fb358460adfbc00db176d0bbdd3b1c9769d45003f80eaf5fab484e9402ddcdbc 53 games "Games (fortune, etc.)" on
+kernel.txz 0694d63e0544b6dc6ff39fe4ab0d5745620788868f63b2d5e636a226796a8760 1035 kernel "Kernel (MANDATORY)" on
+ports.txz c96d9fd5e1e67b6c01127750f4cc51907865d25de4cb01e84cfd3d4ec5c1aaaa 157722 ports "Ports tree" on
+src.txz f50763dcac88e9b7ec616b77d537bf338f470350e2c85e0cc7decfcc8372b54d 70682 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc-11.0-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc-11.0-RELEASE
new file mode 100644
index 00000000..6cf0c046
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc-11.0-RELEASE
@@ -0,0 +1,8 @@
+base-dbg.txz e7bad77ddfa0140c57d9fad4e1983065d0bbd63f56861f277938f09f038f9284 1386 base_dbg "Base system (Debugging)" off
+base.txz d4105fc9c209414375a56a4c735fcc78f0ab156f9bb645c799b63d44f0f8b7bd 22021 base "Base system (MANDATORY)" on
+doc.txz cb98e0b582312b6a4a9b601d4334af2a8799bdc85c02d3a02455e37f3d1e311c 120 doc "Additional Documentation" off
+kernel-dbg.txz 9356bab6e4926c72d8b64f9c638a0e010ee5300f9090f3082e6585758f91ab23 567 kernel_dbg "Kernel (Debugging)" off
+kernel.txz 88620dbd9a4dc520100b53187cbcaf3d114b59f298f8f2875bae68df724996d1 575 kernel "Kernel (MANDATORY)" on
+ports.txz f30b5fa5aeb717be004f1ad58da02884fba91b502ccefbff486622d5c1eece65 161250 ports "Ports tree" on
+src.txz 0725a7f1d3e8985f4b2e31a2ad714334463a5016b203073a8fc196649f3d5a27 76924 src "System source tree" off
+tests.txz 6992a410feffb0dbf06c86087bcf2abea89e7d4370547f39a11a86e539103fb8 3477 tests "Test suite" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc-9.0-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc-9.0-RELEASE
new file mode 100644
index 00000000..c331908a
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc-9.0-RELEASE
@@ -0,0 +1,6 @@
+base.txz b3e9bbe32684544f822169e88e3329f012f81cd76233e90c8e0932805e386d43 16867 base "Base system (MANDATORY)" on
+doc.txz 64849d60658bc878ad5c2617b301e331165d662d2430c098b285ecf237329ce1 123 doc "Additional documentation" off
+games.txz af691cca6cca4d2020eca75f495adbaf81cd9f81e80eddf7491deae27e19b925 55 games "Games (fortune, etc.)" on
+kernel.txz 7de3c7a34ae8e8d4b3bfe576518cc007a6b0d2afa73a23f625cf94728f8c9eb4 960 kernel "Kernel (MANDATORY)" on
+ports.txz 5f1a5ad630d18bdd6fd4a9621e05557de1f488f13fcc529acce2eeac7a6f6103 304781 ports "Ports tree" on
+src.txz 3af1a4bf76a39c8a217998f6ed14aa8bf70c412c236fcf7c1b9b22506d77f4b3 54464 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc-9.2-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc-9.2-RELEASE
new file mode 100644
index 00000000..32bca502
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc-9.2-RELEASE
@@ -0,0 +1,6 @@
+base.txz f880b8ddf5e38d53733fe2913ad68d634eb471be8e6af3da0298a9f8a6531314 17349 base "Base system (MANDATORY)" on
+doc.txz c14f66b04c0e21fb4c180da9ab73f8a3764ba5ed51a1213065a0eab70d0a0742 123 doc "Additional documentation" off
+games.txz a5732197cccb8de7c93c23b16025a4227bded86aa56c241968becab3e4869a22 53 games "Games (fortune, etc.)" on
+kernel.txz 13445b8814ab9834eb95b494cdd0eba8e11b85de619e7fa8a927fb4d0f7d6570 977 kernel "Kernel (MANDATORY)" on
+ports.txz b0f2f8937098d83302b7113186bb5683ee048725945618682df598e36c5cd392 153177 ports "Ports tree" on
+src.txz b067747638c59a9967c94ce74f3f50a6cc7b95b5c970c42910a82df2a194c83e 58011 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc-9.3-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc-9.3-RELEASE
new file mode 100644
index 00000000..436960bd
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc-9.3-RELEASE
@@ -0,0 +1,6 @@
+base.txz 3c919af0bf8d8635532aea067c9aa72587a9c600b27e04d8a7aaef38666efcb4 17841 base "Base system (MANDATORY)" on
+doc.txz 6136edb97b82a213ddc23a016a89882d8d259494513bd228c17792cf7bb1fae1 123 doc "Additional documentation" off
+games.txz 3a988d020b5f0640689cff2e7450a833dc3802ae03f18f2db5a50bcb68c48db6 53 games "Games (fortune, etc.)" on
+kernel.txz 3bda1bc8e504b9a9f085a2d701d62289e7e1bfe99fb5827f1714c39373bfdeaf 987 kernel "Kernel (MANDATORY)" on
+ports.txz 3082d04dfcc4ae689874ffcca74650cd44b8efcb762a1426629954b6c708e217 153284 ports "Ports tree" on
+src.txz 295a768fc26015fcf48d9fb5be40c3de247dd66927a84ebe7a19fb7bf0f6a284 59491 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc64-10.0-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc64-10.0-RELEASE
new file mode 100644
index 00000000..85bc3fc9
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc64-10.0-RELEASE
@@ -0,0 +1,7 @@
+base.txz 393e9a2c023bf6a34ce7b5592b6039cf44691f79b58b2901f801bf1ff9b81cf1 19033 base "Base system (MANDATORY)" on
+doc.txz b48c77b336eb8b0a4def15be5a03e47249e7e4481964bbec4a9239bed3f2753a 121 doc "Additional documentation" off
+games.txz 781ecaaad17765228a29abeb868ddd449d2d7ccf0d5f7541bf89f98b8a4a369f 53 games "Games (fortune, etc.)" on
+kernel.txz f2bb8ce98d01ee24ad9dc27fe2b992e4f0fb7d45bada6f4de68e450abf574f32 1037 kernel "Kernel (MANDATORY)" on
+lib32.txz 340f197ad6f3755832e4908a48ca8d5fb26a355c298d61752b1d4e5931debf38 673 lib32 "32-bit compatibility libraries" on
+ports.txz e42a9d0e9b39509fda4829cdf7fe8ce3e100b76b00e6453997395e8b20ea888e 154347 ports "Ports tree" on
+src.txz 3d8daf34df10df326125f20d8b7937db08e2336b74c3ba16733400f349499957 63564 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc64-10.1-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc64-10.1-RELEASE
new file mode 100644
index 00000000..a9fe8473
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc64-10.1-RELEASE
@@ -0,0 +1,7 @@
+base.txz 2791664e956c078e345e56214a87109a86a9ad7c0b576138be7c8b29d96a1e17 19601 base "Base system (MANDATORY)" on
+doc.txz 5dba9caaf5b5da02128b6472e2da3dbfadce95674d1f1ed2a3e8a705ac78efab 121 doc "Additional documentation" off
+games.txz bf3fd11e48388b736302248f40614e9516db4358f9351d54abf350f8336d6853 53 games "Games (fortune, etc.)" on
+kernel.txz f2875d8dedfec15c42ff30a3d2d46a52f112b483e3b54c4374f3b68fe7c7e0c4 1055 kernel "Kernel (MANDATORY)" on
+lib32.txz f9387691cb4d74dbe7d832a184ac1da6ae6f5f7c15ac77b43d124eec25643bf1 670 lib32 "32-bit compatibility libraries" on
+ports.txz 71c78d105bbba2cac123032f486ba72c278d0865445cd91200de43f558b5bf09 149186 ports "Ports tree" on
+src.txz f919287a5ef51d4f133f27c99c54f2e8054f408d3dd53bc60f4e233cc75ec03d 65300 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc64-10.2-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc64-10.2-RELEASE
new file mode 100644
index 00000000..20f12bfc
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc64-10.2-RELEASE
@@ -0,0 +1,7 @@
+base.txz 329108ec4d1ccf90a1c82728bebd15f901cac24fcbb54d0f5c0370f320e71fc1 19896 base "Base system (MANDATORY)" on
+doc.txz e48f06c3cfef9688eebc743e09f65faf9a2e6ddf494afb077b357b4f8b93fdf2 121 doc "Additional documentation" off
+games.txz 25501ed8ed9b2224a0e42db6abf2b95662a34bf7e7cdd03994718efee194e8de 53 games "Games (fortune, etc.)" on
+kernel.txz 96af91536582acac2575b35c5e7777a3e520f21862f61d17c940de5ff5a20a84 1257 kernel "Kernel (MANDATORY)" on
+lib32.txz cecd268c1ec16550980cf0dbae034a0c5afcb837b41489ffda2895cd4313417b 682 lib32 "32-bit compatibility libraries" on
+ports.txz 7211e87239fc28ecc01f838915c5a24b143afdd9e453746e308404fa9ecc1ee1 154229 ports "Ports tree" on
+src.txz 6a59ea716bae96135983ad70cd7123e3b35ec91b191a82fe282ade88a61560b1 70299 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc64-10.3-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc64-10.3-RELEASE
new file mode 100644
index 00000000..5b1fc8e4
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc64-10.3-RELEASE
@@ -0,0 +1,7 @@
+base.txz a52a9041bfbbecb903b5f522c317c88e28264873ed8a4c5dd2141be0c1488c75 20078 base "Base system (MANDATORY)" on
+doc.txz 041eee1be9a8b644681f8c0a8a45ddc3121b62053a4812a810d26c81e3bcba49 121 doc "Additional documentation" off
+games.txz b2078841e7a6b997db609ac03525af4920e33ee02c61820a5eac075c7e99b935 53 games "Games (fortune, etc.)" on
+kernel.txz 0d42baa2424f981ba7dfb9f3ed889ed08ddd5eeab8275ed0ebd1ee7821a05466 1245 kernel "Kernel (MANDATORY)" on
+lib32.txz 8a96406efc46d8f7cf6a4f899285e31a42c5f5941f518cafeb865298efc624b5 684 lib32 "32-bit compatibility libraries" on
+ports.txz 870dcebd3ee267110cd98cdb62668f5f68d079aa30cb5b2c88bc8f5a87175291 157722 ports "Ports tree" on
+src.txz f50763dcac88e9b7ec616b77d537bf338f470350e2c85e0cc7decfcc8372b54d 70682 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc64-11.0-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc64-11.0-RELEASE
new file mode 100644
index 00000000..7404f29c
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc64-11.0-RELEASE
@@ -0,0 +1,10 @@
+base-dbg.txz ebc63d3976556be08c17190805106a1227d51ea75081eebbf669a5752ca8c92c 1386 base_dbg "Base system (Debugging)" off
+base.txz 16eec8206cfb9fc12f928ae7d1478eda5ad68e8560bc51c59caf1a86556b4272 22034 base "Base system (MANDATORY)" on
+doc.txz 4dd46b091fa41d58f5040770c33fd1877ae9e8fefc93e2fde07a0b4c1369df7a 120 doc "Additional Documentation" off
+kernel-dbg.txz b6e523afa6eff00a44ccd444bc2a62784d11a186e15265d795984c1699888ed1 655 kernel_dbg "Kernel (Debugging)" off
+kernel.txz 539681fc46f0a19b554d69386998187d7b0c54004fe3c55113dd19062232e4ad 663 kernel "Kernel (MANDATORY)" on
+lib32-dbg.txz 3c4627038594773a3c1c370f2bab53f320db5987d7fce754789ab8bbb2531832 206 lib32_dbg "32-bit compatibility libraries (Debugging)" off
+lib32.txz f556bf29565a1eaff7d5052acabec6994f80527cebd4220620fa1b33917a61ae 722 lib32 "32-bit compatibility libraries" on
+ports.txz f2863da0aa3591fe5a0f09e544743677675a36da717902b190e6a7ce13770c70 161250 ports "Ports tree" on
+src.txz 0725a7f1d3e8985f4b2e31a2ad714334463a5016b203073a8fc196649f3d5a27 76924 src "System source tree" off
+tests.txz 0c65563e1c8af918e2198039bc750ff5ba31e5c00453f856a778dd8f270614c5 3477 tests "Test suite" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc64-9.0-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc64-9.0-RELEASE
new file mode 100644
index 00000000..f7382db4
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc64-9.0-RELEASE
@@ -0,0 +1,7 @@
+base.txz 0fa870aad1e938cdcabd92f69a2d234f3353ceabce9cac2a10054df46a196b73 16840 base "Base system (MANDATORY)" on
+doc.txz 8a2b973dd269309c5c50c3d7699a3a4e5502a83650d5cf255a9afbc17c1af820 123 doc "Additional documentation" off
+games.txz 7a4b316a88f37bad90e81d91fdae81ae0207f53e456232b1f311f079b4d01b68 55 games "Games (fortune, etc.)" on
+kernel.txz a3d88a6c67aa0f26ac7e56146741156665ed8b25528d3333a93cf8d71b3a7bd7 964 kernel "Kernel (MANDATORY)" on
+lib32.txz ed322476b17da636fc93bc3a27e9e1908a0ab84ee15d846424ee5d6deae5be72 602 lib32 "32-bit compatibility libraries" on
+ports.txz 40b970bdf19287e4366f9e675701788e48c414f5a1c6ec27bd3f4274b527334d 146181 ports "Ports tree" on
+src.txz a1c93bbf20ee1b7eb40fdeeb5a4515ac252d56432b3e2222c773de76ad0c36cc 54464 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc64-9.1-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc64-9.1-RELEASE
new file mode 100644
index 00000000..0df90e90
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc64-9.1-RELEASE
@@ -0,0 +1,7 @@
+base.txz 17ebbe03d04bd0a8dce3f0a2066ba8187656a353291cd2f278b8c1153faad775 17046 base "Base system (MANDATORY)" on
+doc.txz 60ec632f47b5d85cebf0793e60aa1e711a35b019c5d90e6625bb0252f447f689 123 doc "Additional documentation" off
+games.txz 524b1b750a7a02fa8cc064e255fa2992c6de804306f04e990f6739165a2554c4 55 games "Games (fortune, etc.)" on
+kernel.txz b443ecff377f78ecd569b85a61dade8386f4507f59a8e2151d7e7089115e136a 972 kernel "Kernel (MANDATORY)" on
+lib32.txz 88b90897fab8ce6fc96601663ff55e4a47483131e45979b7cbfe1fc3a4b60078 608 lib32 "32-bit compatibility libraries" on
+ports.txz c8bd328346e06b15d3ae34ed0202bde9ba909f149e47a7079776944938038c02 267487 ports "Ports tree" on
+src.txz b0d8cb33223ddd6e1266b2afd74619911d5b1dc0faee67f8a3b76080fcaadd93 55579 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc64-9.2-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc64-9.2-RELEASE
new file mode 100644
index 00000000..ed757c21
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc64-9.2-RELEASE
@@ -0,0 +1,7 @@
+base.txz d0a644069e6646218369899a1c68bb8944995112453527f0251ac292cd6111fe 17349 base "Base system (MANDATORY)" on
+doc.txz 5e000f4a71e52c9af406f4f9b6c6e77ef7e3f8f8124347d5eb45ec885b730335 123 doc "Additional documentation" off
+games.txz 0709c093b1c6b4061b14fc23e0b18f07b243d1710cefbb1cf0316f63c3a14c74 53 games "Games (fortune, etc.)" on
+kernel.txz d83c7cbb76cbb6929fe3604e6d55efd1377d9ef20fe653c0c5387a001109596e 981 kernel "Kernel (MANDATORY)" on
+lib32.txz e20e6d06b02a2e6a89d47580135400e8f62efb038eab35799d1b4b3fdbbe1162 561 lib32 "32-bit compatibility libraries" on
+ports.txz 4e27139a9ceef8c82a5532b3c1ec82853aaa0bc9637b017e164b36c481c2727f 153177 ports "Ports tree" on
+src.txz 43755cdd64ac1e356c3fb16fa6aeefbe06d265bb4f197ee5b77be59979d5b8ff 58011 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc64-9.3-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc64-9.3-RELEASE
new file mode 100644
index 00000000..4b9f5bdb
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/powerpc-powerpc64-9.3-RELEASE
@@ -0,0 +1,7 @@
+base.txz 73170d8ddc70d9d1795b3ba38a47379582fe5b71f30b5924f926de5f3bae94fa 17844 base "Base system (MANDATORY)" on
+doc.txz 93f660e77f9d03d109929aa47149f15b84bce88c714fd2774bcfe65ce3d36340 123 doc "Additional documentation" off
+games.txz f4d5bd640f2a300b472cc1d84458c2aad915f5255a43f7a3f5362c928bd518c7 53 games "Games (fortune, etc.)" on
+kernel.txz b5d66af717116cb2af2ad0521e75d641203b1c4cb0262b4848cf186f9437c229 991 kernel "Kernel (MANDATORY)" on
+lib32.txz 3c1d68dda2dc886d5e3ea87e5da969cccb52a4a14d229509d938411356a7f774 566 lib32 "32-bit compatibility libraries" on
+ports.txz f0d72630ceba7a5ab04d042a09bad587fad6307c086ecd54f2e7ea447726ab80 153284 ports "Ports tree" on
+src.txz 295a768fc26015fcf48d9fb5be40c3de247dd66927a84ebe7a19fb7bf0f6a284 59491 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/sparc64-sparc64-10.0-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/sparc64-sparc64-10.0-RELEASE
new file mode 100644
index 00000000..6d93beaa
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/sparc64-sparc64-10.0-RELEASE
@@ -0,0 +1,6 @@
+base.txz f841ec59273131e8f886d1f1f93d3461bb4120be9d195f680c534778280dd3b0 18973 base "Base system (MANDATORY)" on
+doc.txz 45a960f2a82f2159d39a9392cdaf600d08e075c6a92a671d70ff12cd16bf0527 121 doc "Additional documentation" off
+games.txz 34e903bc47051eebe2519a5b1679eb84675c1f923df0b74af624b8af5a9a3e0b 53 games "Games (fortune, etc.)" on
+kernel.txz 07977de97099d5da2e8166b3ed1f139d5f538aae00539290b056ef6f3bb9ef3d 1013 kernel "Kernel (MANDATORY)" on
+ports.txz 1cbc3bafdd3f8dc1e18f5d435f5e75cc97fb5e304d98f044645253c63b18984e 154347 ports "Ports tree" on
+src.txz 5e117bd1f3a2f0ab2868c5386b56cd3be1f2bcd7d22b8cbdacdac3988c986318 63564 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/sparc64-sparc64-10.1-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/sparc64-sparc64-10.1-RELEASE
new file mode 100644
index 00000000..ab1d2c42
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/sparc64-sparc64-10.1-RELEASE
@@ -0,0 +1,6 @@
+base.txz 32889d2e8163e0f0d7cb2723b307acf624f6170a81a25cef36b3b6ada84256c0 19540 base "Base system (MANDATORY)" on
+doc.txz e76eca6322e6e9c1d25fbb80af497c28778c2a20bfde775649d272c2714663fe 121 doc "Additional documentation" off
+games.txz d78707a093d0237942dd0aff5f00bd6263ac67201b83e3ea8952b2ae2058862c 53 games "Games (fortune, etc.)" on
+kernel.txz d053876c6c845dd4a8746e51d1ba75c6723b44fa36c6b48ddd68169cbedc06ca 1031 kernel "Kernel (MANDATORY)" on
+ports.txz 9856e3295605dede102d001f97a277fd082e4290ead3c904ddd062ce4a6938fc 149186 ports "Ports tree" on
+src.txz f919287a5ef51d4f133f27c99c54f2e8054f408d3dd53bc60f4e233cc75ec03d 65300 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/sparc64-sparc64-10.2-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/sparc64-sparc64-10.2-RELEASE
new file mode 100644
index 00000000..dde47622
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/sparc64-sparc64-10.2-RELEASE
@@ -0,0 +1,6 @@
+base.txz a11d4dfc6ed23b23993d5b8616e0b489c034233fb247e5da76c57942aa387a36 19835 base "Base system (MANDATORY)" on
+doc.txz a783e82383c1b7bf82f83987e0e909e7dae34a4fa3df3a14901ae4847b3ad8a7 121 doc "Additional documentation" off
+games.txz 7c26f44bb2c3dd5251acf586f9fe74282137c26ee249a6519e227f89d327ecd9 53 games "Games (fortune, etc.)" on
+kernel.txz dc846d5c4d3d4535a273778740e6fa6e45d5b7d34768c51890cf7fca16d9aaca 1039 kernel "Kernel (MANDATORY)" on
+ports.txz 7b323f5d3b38ba9cc1642141a76a28c424fe077c9e224609580fe7fd065d8174 154229 ports "Ports tree" on
+src.txz 6a59ea716bae96135983ad70cd7123e3b35ec91b191a82fe282ade88a61560b1 70299 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/sparc64-sparc64-10.3-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/sparc64-sparc64-10.3-RELEASE
new file mode 100644
index 00000000..7cfff614
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/sparc64-sparc64-10.3-RELEASE
@@ -0,0 +1,6 @@
+base.txz 036748e329a6eec71a184ad78ede721c1c1500ae724c8f30484a3f5b1069bf15 20030 base "Base system (MANDATORY)" on
+doc.txz 571e2394973db97c82e0e257377bdc18789bcb4e67801df0c33b1112d839146a 121 doc "Additional documentation" off
+games.txz e658aa497d998c2f0386a5c47faadb31ea127eaadfcecfa892176e1357279121 53 games "Games (fortune, etc.)" on
+kernel.txz e0ee4d1a05d330e7cf4a9b13a14962b79d44114c98e29453edb59c390d7f3af1 1027 kernel "Kernel (MANDATORY)" on
+ports.txz 0880102bb35aafe9304fcd572bb5bf88570e576b88dc77fbeca898e150fba96d 157722 ports "Ports tree" on
+src.txz f50763dcac88e9b7ec616b77d537bf338f470350e2c85e0cc7decfcc8372b54d 70682 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/sparc64-sparc64-11.0-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/sparc64-sparc64-11.0-RELEASE
new file mode 100644
index 00000000..e29ea53e
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/sparc64-sparc64-11.0-RELEASE
@@ -0,0 +1,8 @@
+base-dbg.txz 1af7e60ba80f2f2dc94997f05e63a1a94f282d9eb063cc6d30ddb7897f4d7b9d 1382 base_dbg "Base system (Debugging)" off
+base.txz 06d0b711cc5ea98e18e06c7f109f25464f027ebb435631437ea52540bb86cbd6 22034 base "Base system (MANDATORY)" on
+doc.txz 2e5018dbff24da5d260986ad098751f2cc84c785b71b49bed7873e172cfb994b 120 doc "Additional Documentation" off
+kernel-dbg.txz 15c051f5d15b579cdb6b6a3dd46930798844113dcabb5194a396060e39d44a30 547 kernel_dbg "Kernel (Debugging)" off
+kernel.txz 34f81c2c4126d6d86ee5f2961b653dc5116f79e635a0f7c58af3dfe9b54629a1 555 kernel "Kernel (MANDATORY)" on
+ports.txz 100b66d95e92971a69d24c878378b45a101e1bc593ea5cf281f84cc9016be14c 161250 ports "Ports tree" on
+src.txz 0725a7f1d3e8985f4b2e31a2ad714334463a5016b203073a8fc196649f3d5a27 76924 src "System source tree" off
+tests.txz aeddd51cad213c4402537f0278d19927cd15a2a95cffe0195f4f247fc697259f 3473 tests "Test suite" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/sparc64-sparc64-9.0-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/sparc64-sparc64-9.0-RELEASE
new file mode 100644
index 00000000..fd2888c5
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/sparc64-sparc64-9.0-RELEASE
@@ -0,0 +1,6 @@
+base.txz 6fd3b6ba2d6bf4aa06f66406e1a8e1a3c79e72662836ff5bf9ed520e4c41ba08 16858 base "Base system (MANDATORY)" on
+doc.txz b8c20c2fea776a384b4a1bdc77e0694b809fdff5e5e412a5cbe8dc5b92e81bd1 123 doc "Additional documentation" off
+games.txz 00d5d04858e27dd8af115c5978d3a446f3a0f5189d995b36030556ba08fc79c5 55 games "Games (fortune, etc.)" on
+kernel.txz da038a99ecc004208817d03cb032fcc39d58925cadb2e33c4998b27dcbdf7b09 1002 kernel "Kernel (MANDATORY)" on
+ports.txz 70db08da1d2b4258d39c69eafa21baae0c5fcb90a2bd2553b59131157d5fd5c3 304781 ports "Ports tree" on
+src.txz 27125256108f09290b38454eecb6d5a0a3316f561f0172b63e091ea96dad71aa 54464 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/sparc64-sparc64-9.1-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/sparc64-sparc64-9.1-RELEASE
new file mode 100644
index 00000000..639d128d
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/sparc64-sparc64-9.1-RELEASE
@@ -0,0 +1,6 @@
+base.txz 719754ab3ad3fb929654d9aa20c78501cc150a0c89a9fb685110b0a687308471 17028 base "Base system (MANDATORY)" on
+doc.txz e6acebf7e7c3a67a9a3786c91fddfd39db20b0ed38bf93bc057a64adc2481b40 123 doc "Additional documentation" off
+games.txz 0e2ed205e8bd361f9dcc08dda3d7ee65648c8cdc5218e237e5a2c34c31715242 55 games "Games (fortune, etc.)" on
+kernel.txz bfb41c937f8eebdcfe5bfd6b348794548629e438cc12a226c748ca1dfa92605a 1010 kernel "Kernel (MANDATORY)" on
+ports.txz edb8a55a5142ecbffc5a5c1aff71320e72c0e05e630421194ed135dc6386d3df 268145 ports "Ports tree" on
+src.txz a2597d2da8fdb8cc62bbe9c54b528ef5488ebfc80817ea71220a681364c0e068 55579 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/sparc64-sparc64-9.2-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/sparc64-sparc64-9.2-RELEASE
new file mode 100644
index 00000000..8b1f96dd
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/sparc64-sparc64-9.2-RELEASE
@@ -0,0 +1,6 @@
+base.txz badd372b6ddfce7800dd4f618948210af6eb6e8351beebbad2349a71d6acf032 17323 base "Base system (MANDATORY)" on
+doc.txz 44453378b71cd2d06362f26c8306b94005bb4de38aef9b04fdea14dd0db803fd 123 doc "Additional documentation" off
+games.txz af557a6cf8dc43f1f112d103556a0ad34e29b179e27873c8e2ebb568db9ebaa7 53 games "Games (fortune, etc.)" on
+kernel.txz 1e2e8aac4fe810532f49f2167eba10a8a87110e41153f72103793d695bb882ba 1019 kernel "Kernel (MANDATORY)" on
+ports.txz 99f339681e6f2ce4a769a0c9ce80ee1764f0f375c7796406bd7c5d144cacbf66 153177 ports "Ports tree" on
+src.txz a4ec17f40d255038b6ac4e86ae22cd6bbdd7624050e094487a2ac1ab01d4559f 58011 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/sparc64-sparc64-9.3-RELEASE b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/sparc64-sparc64-9.3-RELEASE
new file mode 100644
index 00000000..fbab0af5
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/files/MANIFESTS/sparc64-sparc64-9.3-RELEASE
@@ -0,0 +1,6 @@
+base.txz 131c8db5bc1aff2e5803797cd3ae6023b713fa44e3faf4f9148611849987a699 17812 base "Base system (MANDATORY)" on
+doc.txz ffc68d8dbc7320669f7b517f39d81fc104cdb38bd5755b89bf1de4ff4a4b36a4 123 doc "Additional documentation" off
+games.txz 0a590a6671d3911930882ba8442f49c19e594fb1dc59df15524a72733df93901 53 games "Games (fortune, etc.)" on
+kernel.txz 5ed0532b984a382351d280642b46e92fbb89813f8185c85534798b124694dce8 1029 kernel "Kernel (MANDATORY)" on
+ports.txz 929b1adc737c887c6eff6796b4901f3b0ae8f6c511deca14af0337d21d409279 153284 ports "Ports tree" on
+src.txz 295a768fc26015fcf48d9fb5be40c3de247dd66927a84ebe7a19fb7bf0f6a284 59491 src "System source code" off
diff --git a/test-ports/misc/freebsd-release-manifests/pkg-descr b/test-ports/misc/freebsd-release-manifests/pkg-descr
new file mode 100644
index 00000000..c5d831eb
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/pkg-descr
@@ -0,0 +1,3 @@
+MANIFEST files from the FreeBSD release images.
+
+WWW: https://www.FreeBSD.org
diff --git a/test-ports/misc/freebsd-release-manifests/pkg-plist b/test-ports/misc/freebsd-release-manifests/pkg-plist
new file mode 100644
index 00000000..cb59bff2
--- /dev/null
+++ b/test-ports/misc/freebsd-release-manifests/pkg-plist
@@ -0,0 +1,52 @@
+%%DATADIR%%/MANIFESTS/amd64-amd64-10.0-RELEASE
+%%DATADIR%%/MANIFESTS/amd64-amd64-10.1-RELEASE
+%%DATADIR%%/MANIFESTS/amd64-amd64-10.2-RELEASE
+%%DATADIR%%/MANIFESTS/amd64-amd64-10.3-RELEASE
+%%DATADIR%%/MANIFESTS/amd64-amd64-9.0-RELEASE
+%%DATADIR%%/MANIFESTS/amd64-amd64-9.1-RELEASE
+%%DATADIR%%/MANIFESTS/amd64-amd64-9.2-RELEASE
+%%DATADIR%%/MANIFESTS/amd64-amd64-9.3-RELEASE
+%%DATADIR%%/MANIFESTS/i386-i386-10.0-RELEASE
+%%DATADIR%%/MANIFESTS/i386-i386-10.1-RELEASE
+%%DATADIR%%/MANIFESTS/i386-i386-10.2-RELEASE
+%%DATADIR%%/MANIFESTS/i386-i386-10.3-RELEASE
+%%DATADIR%%/MANIFESTS/i386-i386-9.0-RELEASE
+%%DATADIR%%/MANIFESTS/i386-i386-9.1-RELEASE
+%%DATADIR%%/MANIFESTS/i386-i386-9.2-RELEASE
+%%DATADIR%%/MANIFESTS/i386-i386-9.3-RELEASE
+%%DATADIR%%/MANIFESTS/ia64-ia64-10.0-RELEASE
+%%DATADIR%%/MANIFESTS/ia64-ia64-10.1-RELEASE
+%%DATADIR%%/MANIFESTS/ia64-ia64-10.2-RELEASE
+%%DATADIR%%/MANIFESTS/ia64-ia64-10.3-RELEASE
+%%DATADIR%%/MANIFESTS/ia64-ia64-9.0-RELEASE
+%%DATADIR%%/MANIFESTS/ia64-ia64-9.2-RELEASE
+%%DATADIR%%/MANIFESTS/ia64-ia64-9.3-RELEASE
+%%DATADIR%%/MANIFESTS/powerpc-powerpc-10.0-RELEASE
+%%DATADIR%%/MANIFESTS/powerpc-powerpc-10.1-RELEASE
+%%DATADIR%%/MANIFESTS/powerpc-powerpc-10.2-RELEASE
+%%DATADIR%%/MANIFESTS/powerpc-powerpc-10.3-RELEASE
+%%DATADIR%%/MANIFESTS/powerpc-powerpc-9.0-RELEASE
+%%DATADIR%%/MANIFESTS/powerpc-powerpc-9.2-RELEASE
+%%DATADIR%%/MANIFESTS/powerpc-powerpc-9.3-RELEASE
+%%DATADIR%%/MANIFESTS/powerpc-powerpc64-10.0-RELEASE
+%%DATADIR%%/MANIFESTS/powerpc-powerpc64-10.1-RELEASE
+%%DATADIR%%/MANIFESTS/powerpc-powerpc64-10.2-RELEASE
+%%DATADIR%%/MANIFESTS/powerpc-powerpc64-10.3-RELEASE
+%%DATADIR%%/MANIFESTS/powerpc-powerpc64-9.0-RELEASE
+%%DATADIR%%/MANIFESTS/powerpc-powerpc64-9.1-RELEASE
+%%DATADIR%%/MANIFESTS/powerpc-powerpc64-9.2-RELEASE
+%%DATADIR%%/MANIFESTS/powerpc-powerpc64-9.3-RELEASE
+%%DATADIR%%/MANIFESTS/sparc64-sparc64-10.0-RELEASE
+%%DATADIR%%/MANIFESTS/sparc64-sparc64-10.1-RELEASE
+%%DATADIR%%/MANIFESTS/sparc64-sparc64-10.2-RELEASE
+%%DATADIR%%/MANIFESTS/sparc64-sparc64-10.3-RELEASE
+%%DATADIR%%/MANIFESTS/sparc64-sparc64-9.0-RELEASE
+%%DATADIR%%/MANIFESTS/sparc64-sparc64-9.1-RELEASE
+%%DATADIR%%/MANIFESTS/sparc64-sparc64-9.2-RELEASE
+%%DATADIR%%/MANIFESTS/sparc64-sparc64-9.3-RELEASE
+%%DATADIR%%/MANIFESTS/amd64-amd64-11.0-RELEASE
+%%DATADIR%%/MANIFESTS/arm64-aarch64-11.0-RELEASE
+%%DATADIR%%/MANIFESTS/i386-i386-11.0-RELEASE
+%%DATADIR%%/MANIFESTS/powerpc-powerpc-11.0-RELEASE
+%%DATADIR%%/MANIFESTS/powerpc-powerpc64-11.0-RELEASE
+%%DATADIR%%/MANIFESTS/sparc64-sparc64-11.0-RELEASE
diff --git a/test-ports/misc/help2man/Makefile b/test-ports/misc/help2man/Makefile
new file mode 100644
index 00000000..49c0024f
--- /dev/null
+++ b/test-ports/misc/help2man/Makefile
@@ -0,0 +1,42 @@
+# Created by: ijliao
+# $FreeBSD: head/misc/help2man/Makefile 428170 2016-12-09 07:51:54Z sunpoet $
+
+PORTNAME= help2man
+PORTVERSION= 1.47.4
+CATEGORIES= misc
+MASTER_SITES= GNU/${PORTNAME}
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= Automatically generating simple manual pages from program output
+
+LICENSE= GPLv3
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+OPTIONS_DEFINE= NLS
+
+GNU_CONFIGURE= yes
+USES= gmake localbase perl5 tar:xz
+
+INFO= ${PORTNAME}
+PLIST_FILES= bin/${PORTNAME} \
+ man/man1/${PORTNAME}.1.gz
+
+NLS_BUILD_DEPENDS= p5-Locale-gettext>=0:devel/p5-Locale-gettext
+NLS_CONFIGURE_ENABLE= nls
+NLS_PLIST_FILES= lib/bindtextdomain.so
+NLS_RUN_DEPENDS= p5-Locale-gettext>=0:devel/p5-Locale-gettext
+NLS_USES= gettext
+
+.for lang in de es fr pl uk zh_CN
+NLS_INFO+= ${PORTNAME}-${lang}
+.endfor
+
+.for lang in da de el eo es fi fr hr hu it ja nb pl pt_BR ru sr sv uk vi zh_CN
+NLS_PLIST_FILES+= man/${lang}/man1/${PORTNAME}.1.gz \
+ share/locale/${lang}/LC_MESSAGES/${PORTNAME}.mo
+.endfor
+
+post-patch:
+ @${REINPLACE_CMD} -e '/^pkglibdir/ s|/${PORTNAME}$$||' ${WRKSRC}/Makefile.in
+
+.include <bsd.port.mk>
diff --git a/test-ports/misc/help2man/blah b/test-ports/misc/help2man/blah
new file mode 100644
index 00000000..0d4e99d6
--- /dev/null
+++ b/test-ports/misc/help2man/blah
@@ -0,0 +1,213 @@
+bigreqsproto_1_1_2 -> ccache_3_2_1_1
+bigreqsproto_1_1_2 -> pkg_1_4_12
+bigreqsproto_1_1_2 -> pkgconf_0_9_8
+bigreqsproto_1_1_2 -> xorg_macros_1_19_0
+ccache_3_2_1_1 -> pkg_1_4_12
+expat_2_1_0_2 -> ccache_3_2_1_1
+expat_2_1_0_2 -> pkg_1_4_12
+gettext_runtime_0_19_4 -> ccache_3_2_1_1
+gettext_runtime_0_19_4 -> indexinfo_0_2_3
+gettext_runtime_0_19_4 -> pkg_1_4_12
+gettext_tools_0_19_4 -> ccache_3_2_1_1
+gettext_tools_0_19_4 -> expat_2_1_0_2
+gettext_tools_0_19_4 -> gettext_runtime_0_19_4
+gettext_tools_0_19_4 -> indexinfo_0_2_3
+gettext_tools_0_19_4 -> pkg_1_4_12
+gmake_4_1_1 -> ccache_3_2_1_1
+gmake_4_1_1 -> gettext_runtime_0_19_4
+gmake_4_1_1 -> gettext_tools_0_19_4
+gmake_4_1_1 -> indexinfo_0_2_3
+gmake_4_1_1 -> pkg_1_4_12
+indexinfo_0_2_3 -> ccache_3_2_1_1
+indexinfo_0_2_3 -> pkg_1_4_12
+inputproto_2_3_1 -> ccache_3_2_1_1
+inputproto_2_3_1 -> pkg_1_4_12
+inputproto_2_3_1 -> pkgconf_0_9_8
+inputproto_2_3_1 -> xorg_macros_1_19_0
+kbproto_1_0_6 -> ccache_3_2_1_1
+kbproto_1_0_6 -> pkg_1_4_12
+kbproto_1_0_6 -> pkgconf_0_9_8
+kbproto_1_0_6 -> xorg_macros_1_19_0
+libICE_1_0_9_1 -> ccache_3_2_1_1
+libICE_1_0_9_1 -> pkg_1_4_12
+libICE_1_0_9_1 -> pkgconf_0_9_8
+libICE_1_0_9_1 -> xorg_macros_1_19_0
+libICE_1_0_9_1 -> xproto_7_0_26
+libICE_1_0_9_1 -> xtrans_1_3_5
+libSM_1_2_2_2_1 -> ccache_3_2_1_1
+libSM_1_2_2_2_1 -> libICE_1_0_9_1
+libSM_1_2_2_2_1 -> pkg_1_4_12
+libSM_1_2_2_2_1 -> pkgconf_0_9_8
+libSM_1_2_2_2_1 -> xorg_macros_1_19_0
+libSM_1_2_2_2_1 -> xproto_7_0_26
+libSM_1_2_2_2_1 -> xtrans_1_3_5
+libX11_1_6_2_2_1 -> bigreqsproto_1_1_2
+libX11_1_6_2_2_1 -> ccache_3_2_1_1
+libX11_1_6_2_2_1 -> inputproto_2_3_1
+libX11_1_6_2_2_1 -> kbproto_1_0_6
+libX11_1_6_2_2_1 -> libXau_1_0_8_2
+libX11_1_6_2_2_1 -> libXdmcp_1_1_1_2
+libX11_1_6_2_2_1 -> libxcb_1_11
+libX11_1_6_2_2_1 -> perl5_5_18_4_11
+libX11_1_6_2_2_1 -> pkg_1_4_12
+libX11_1_6_2_2_1 -> pkgconf_0_9_8
+libX11_1_6_2_2_1 -> xcmiscproto_1_2_2
+libX11_1_6_2_2_1 -> xextproto_7_3_0
+libX11_1_6_2_2_1 -> xf86bigfontproto_1_2_0
+libX11_1_6_2_2_1 -> xorg_macros_1_19_0
+libX11_1_6_2_2_1 -> xproto_7_0_26
+libX11_1_6_2_2_1 -> xtrans_1_3_5
+libXau_1_0_8_2 -> ccache_3_2_1_1
+libXau_1_0_8_2 -> pkg_1_4_12
+libXau_1_0_8_2 -> pkgconf_0_9_8
+libXau_1_0_8_2 -> xorg_macros_1_19_0
+libXau_1_0_8_2 -> xproto_7_0_26
+libXaw_1_0_12_2_2 -> ccache_3_2_1_1
+libXaw_1_0_12_2_2 -> gmake_4_1_1
+libXaw_1_0_12_2_2 -> libX11_1_6_2_2_1
+libXaw_1_0_12_2_2 -> libXau_1_0_8_2
+libXaw_1_0_12_2_2 -> libXext_1_3_3_1
+libXaw_1_0_12_2_2 -> libXmu_1_1_2_2_1
+libXaw_1_0_12_2_2 -> libXp_1_0_2_2_1
+libXaw_1_0_12_2_2 -> libXpm_3_5_11_2
+libXaw_1_0_12_2_2 -> libXt_1_1_4_2_1
+libXaw_1_0_12_2_2 -> pkg_1_4_12
+libXaw_1_0_12_2_2 -> pkgconf_0_9_8
+libXaw_1_0_12_2_2 -> printproto_1_0_5
+libXaw_1_0_12_2_2 -> xextproto_7_3_0
+libXaw_1_0_12_2_2 -> xorg_macros_1_19_0
+libXaw_1_0_12_2_2 -> xproto_7_0_26
+libXdmcp_1_1_1_2 -> ccache_3_2_1_1
+libXdmcp_1_1_1_2 -> pkg_1_4_12
+libXdmcp_1_1_1_2 -> pkgconf_0_9_8
+libXdmcp_1_1_1_2 -> xorg_macros_1_19_0
+libXdmcp_1_1_1_2 -> xproto_7_0_26
+libXext_1_3_3_1 -> ccache_3_2_1_1
+libXext_1_3_3_1 -> libX11_1_6_2_2_1
+libXext_1_3_3_1 -> libXau_1_0_8_2
+libXext_1_3_3_1 -> pkg_1_4_12
+libXext_1_3_3_1 -> pkgconf_0_9_8
+libXext_1_3_3_1 -> xextproto_7_3_0
+libXext_1_3_3_1 -> xorg_macros_1_19_0
+libXext_1_3_3_1 -> xproto_7_0_26
+libXmu_1_1_2_2_1 -> ccache_3_2_1_1
+libXmu_1_1_2_2_1 -> libX11_1_6_2_2_1
+libXmu_1_1_2_2_1 -> libXext_1_3_3_1
+libXmu_1_1_2_2_1 -> libXt_1_1_4_2_1
+libXmu_1_1_2_2_1 -> pkg_1_4_12
+libXmu_1_1_2_2_1 -> pkgconf_0_9_8
+libXmu_1_1_2_2_1 -> xorg_macros_1_19_0
+libXmu_1_1_2_2_1 -> xproto_7_0_26
+libXp_1_0_2_2_1 -> ccache_3_2_1_1
+libXp_1_0_2_2_1 -> libX11_1_6_2_2_1
+libXp_1_0_2_2_1 -> libXau_1_0_8_2
+libXp_1_0_2_2_1 -> libXext_1_3_3_1
+libXp_1_0_2_2_1 -> pkg_1_4_12
+libXp_1_0_2_2_1 -> pkgconf_0_9_8
+libXp_1_0_2_2_1 -> printproto_1_0_5
+libXp_1_0_2_2_1 -> xextproto_7_3_0
+libXp_1_0_2_2_1 -> xorg_macros_1_19_0
+libXpm_3_5_11_2 -> ccache_3_2_1_1
+libXpm_3_5_11_2 -> libX11_1_6_2_2_1
+libXpm_3_5_11_2 -> libXext_1_3_3_1
+libXpm_3_5_11_2 -> libXt_1_1_4_2_1
+libXpm_3_5_11_2 -> pkg_1_4_12
+libXpm_3_5_11_2 -> pkgconf_0_9_8
+libXpm_3_5_11_2 -> xextproto_7_3_0
+libXpm_3_5_11_2 -> xorg_macros_1_19_0
+libXpm_3_5_11_2 -> xproto_7_0_26
+libXt_1_1_4_2_1 -> ccache_3_2_1_1
+libXt_1_1_4_2_1 -> kbproto_1_0_6
+libXt_1_1_4_2_1 -> libSM_1_2_2_2_1
+libXt_1_1_4_2_1 -> libX11_1_6_2_2_1
+libXt_1_1_4_2_1 -> pkg_1_4_12
+libXt_1_1_4_2_1 -> pkgconf_0_9_8
+libXt_1_1_4_2_1 -> xorg_macros_1_19_0
+libXt_1_1_4_2_1 -> xproto_7_0_26
+libcheck_0_9_14 -> ccache_3_2_1_1
+libcheck_0_9_14 -> gmake_4_1_1
+libcheck_0_9_14 -> indexinfo_0_2_3
+libcheck_0_9_14 -> pkg_1_4_12
+libffi_3_2_1 -> ccache_3_2_1_1
+libffi_3_2_1 -> indexinfo_0_2_3
+libffi_3_2_1 -> pkg_1_4_12
+libgcrypt_1_6_3 -> ccache_3_2_1_1
+libgcrypt_1_6_3 -> indexinfo_0_2_3
+libgcrypt_1_6_3 -> libgpg_error_1_17
+libgcrypt_1_6_3 -> pkg_1_4_12
+libgpg_error_1_17 -> ccache_3_2_1_1
+libgpg_error_1_17 -> gettext_runtime_0_19_4
+libgpg_error_1_17 -> gettext_tools_0_19_4
+libgpg_error_1_17 -> gmake_4_1_1
+libgpg_error_1_17 -> pkg_1_4_12
+libpthread_stubs_0_3_6 -> ccache_3_2_1_1
+libpthread_stubs_0_3_6 -> pkg_1_4_12
+libxcb_1_11 -> ccache_3_2_1_1
+libxcb_1_11 -> gmake_4_1_1
+libxcb_1_11 -> libXau_1_0_8_2
+libxcb_1_11 -> libXdmcp_1_1_1_2
+libxcb_1_11 -> libcheck_0_9_14
+libxcb_1_11 -> libpthread_stubs_0_3_6
+libxcb_1_11 -> libxml2_2_9_2_2
+libxcb_1_11 -> libxslt_1_1_28_6
+libxcb_1_11 -> pkg_1_4_12
+libxcb_1_11 -> pkgconf_0_9_8
+libxcb_1_11 -> python2_2_3
+libxcb_1_11 -> python27_2_7_9
+libxcb_1_11 -> xcb_proto_1_11
+libxcb_1_11 -> xorg_macros_1_19_0
+libxml2_2_9_2_2 -> ccache_3_2_1_1
+libxml2_2_9_2_2 -> gmake_4_1_1
+libxml2_2_9_2_2 -> pkg_1_4_12
+libxml2_2_9_2_2 -> pkgconf_0_9_8
+libxslt_1_1_28_6 -> ccache_3_2_1_1
+libxslt_1_1_28_6 -> gmake_4_1_1
+libxslt_1_1_28_6 -> libgcrypt_1_6_3
+libxslt_1_1_28_6 -> libxml2_2_9_2_2
+libxslt_1_1_28_6 -> pkg_1_4_12
+perl5_5_18_4_11 -> ccache_3_2_1_1
+perl5_5_18_4_11 -> pkg_1_4_12
+pkgconf_0_9_8 -> ccache_3_2_1_1
+pkgconf_0_9_8 -> pkg_1_4_12
+printproto_1_0_5 -> ccache_3_2_1_1
+printproto_1_0_5 -> pkg_1_4_12
+printproto_1_0_5 -> pkgconf_0_9_8
+printproto_1_0_5 -> xorg_macros_1_19_0
+python2_2_3 -> pkg_1_4_12
+python2_2_3 -> python27_2_7_9
+python27_2_7_9 -> ccache_3_2_1_1
+python27_2_7_9 -> gettext_runtime_0_19_4
+python27_2_7_9 -> gettext_tools_0_19_4
+python27_2_7_9 -> libffi_3_2_1
+python27_2_7_9 -> pkg_1_4_12
+python27_2_7_9 -> pkgconf_0_9_8
+xcb_proto_1_11 -> ccache_3_2_1_1
+xcb_proto_1_11 -> libxml2_2_9_2_2
+xcb_proto_1_11 -> pkg_1_4_12
+xcb_proto_1_11 -> pkgconf_0_9_8
+xcb_proto_1_11 -> python2_2_3
+xcb_proto_1_11 -> python27_2_7_9
+xcb_proto_1_11 -> xorg_macros_1_19_0
+xcmiscproto_1_2_2 -> ccache_3_2_1_1
+xcmiscproto_1_2_2 -> pkg_1_4_12
+xcmiscproto_1_2_2 -> pkgconf_0_9_8
+xcmiscproto_1_2_2 -> xorg_macros_1_19_0
+xextproto_7_3_0 -> ccache_3_2_1_1
+xextproto_7_3_0 -> pkg_1_4_12
+xextproto_7_3_0 -> pkgconf_0_9_8
+xextproto_7_3_0 -> xorg_macros_1_19_0
+xf86bigfontproto_1_2_0 -> ccache_3_2_1_1
+xf86bigfontproto_1_2_0 -> pkg_1_4_12
+xf86bigfontproto_1_2_0 -> pkgconf_0_9_8
+xf86bigfontproto_1_2_0 -> xorg_macros_1_19_0
+xorg_macros_1_19_0 -> ccache_3_2_1_1
+xorg_macros_1_19_0 -> pkg_1_4_12
+xorg_macros_1_19_0 -> pkgconf_0_9_8
+xproto_7_0_26 -> ccache_3_2_1_1
+xproto_7_0_26 -> pkg_1_4_12
+xproto_7_0_26 -> pkgconf_0_9_8
+xproto_7_0_26 -> xorg_macros_1_19_0
+xtrans_1_3_5 -> ccache_3_2_1_1
+xtrans_1_3_5 -> pkg_1_4_12
+xtrans_1_3_5 -> pkgconf_0_9_8
+xtrans_1_3_5 -> xorg_macros_1_19_0
diff --git a/test-ports/misc/help2man/distinfo b/test-ports/misc/help2man/distinfo
new file mode 100644
index 00000000..5ff4a243
--- /dev/null
+++ b/test-ports/misc/help2man/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1479577891
+SHA256 (help2man-1.47.4.tar.xz) = d4ecf697d13f14dd1a78c5995f06459bff706fd1ce593d1c02d81667c0207753
+SIZE (help2man-1.47.4.tar.xz) = 189456
diff --git a/test-ports/misc/help2man/pkg-descr b/test-ports/misc/help2man/pkg-descr
new file mode 100644
index 00000000..93303ddb
--- /dev/null
+++ b/test-ports/misc/help2man/pkg-descr
@@ -0,0 +1,11 @@
+help2man is a tool for automatically generating simple manual pages from
+program output.
+
+It is intended to provide an easy way for software authors to include a
+manual page in their distribution without having to maintain that document.
+
+Given a program which produces resonably standard --help and --version
+outputs, help2man will attempt to re-arrange that output into something
+which resembles a manual page.
+
+WWW: https://www.gnu.org/software/help2man/
diff --git a/test-ports/ports-mgmt/Makefile b/test-ports/ports-mgmt/Makefile
new file mode 100644
index 00000000..da3e49d4
--- /dev/null
+++ b/test-ports/ports-mgmt/Makefile
@@ -0,0 +1,14 @@
+SUBDIR += pkg
+SUBDIR += poudriere-devel
+SUBDIR += poudriere-devel-dep-IGNORED
+SUBDIR += poudriere-devel-dep2-IGNORED
+SUBDIR += poudriere-devel-IGNORED-and-skipped
+SUBDIR += poudriere-devel-IGNORED
+# Would break bulk -a test
+#SUBDIR += poudriere-devel-bad-dep_args
+SUBDIR += poudriere-devel-dep-DEFAULT
+SUBDIR += poudriere-devel-dep-FOO
+# Would break bulk -a test
+#SUBDIR += poudriere-devel-dep-INVALID
+SUBDIR += yyyy
+SUBDIR += zzzz
diff --git a/test-ports/ports-mgmt/pkg/Makefile b/test-ports/ports-mgmt/pkg/Makefile
new file mode 100644
index 00000000..25b137d3
--- /dev/null
+++ b/test-ports/ports-mgmt/pkg/Makefile
@@ -0,0 +1,81 @@
+# $FreeBSD: head/ports-mgmt/pkg/Makefile 437007 2017-03-26 21:25:47Z bapt $
+
+PORTNAME= pkg
+DISTVERSION= 1.10.1
+_PKG_VERSION= ${DISTVERSION}
+CATEGORIES= ports-mgmt
+MASTER_SITES= \
+ http://files.etoilebsd.net/${PORTNAME}/ \
+ LOCAL/portmgr \
+ http://mirror.shatow.net/freebsd/${PORTNAME}/ \
+
+MAINTAINER= pkg@FreeBSD.org
+COMMENT= Package manager
+
+LICENSE= BSD2CLAUSE
+
+USE_LDCONFIG= yes
+USES= libtool tar:xz
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS= --disable-maintainer-mode
+INSTALL_TARGET= install-strip
+PORTDOCS= NEWS
+PORTSCOUT= ignore:1
+
+# Use a submake as 'deinstall install' needs to reevaluate PKG_CMD
+# so that pkg-static is used from the wrkdir
+USE_SUBMAKE= yes
+CFLAGS+= -Wno-error
+
+.if !exists(/usr/include/jail.h)
+EXTRA_PATCHES= ${FILESDIR}/extra-patch-docs_pkg.8
+.endif
+
+.include <bsd.port.pre.mk>
+
+.if defined(WITH_DEBUG) && !defined(WITHOUT_DEBUG)
+MAKE_ARGS+= DEBUG_FLAGS="${DEBUG_FLAGS}"
+.endif
+
+.if defined(WITH_PKG)
+.if ${WITH_PKG} == devel
+IGNORE= WITH_PKG is defined to 'devel', this version is the stable one
+.endif
+.if exists(${LOCALBASE}/sbin/pkg_info) || exists(/usr/sbin/pkg_info)
+NB_OLDPKGS!= pkg_info 2>/dev/null | wc -l
+.if exists(${PKG_BIN})
+NB_NEWPKGS!= ${PKG_INFO} -aq | wc -l
+.else
+NB_NEWPKGS= 0
+.endif
+# Only show the pre-everything notice if they have not already
+# converted any packages
+.if ${NB_OLDPKGS} > 0 && ${NB_NEWPKGS} == 0 && !defined(UPGRADEPKG)
+
+pre-everything::
+ @${ECHO_CMD} "You are about to convert your system to pkg while you have ports/packages"; \
+ ${ECHO_CMD} "installed with the old pkg_install tools."; \
+ ${ECHO_CMD} ""; \
+ ${ECHO_CMD} "To switch to pkg:"; \
+ ${ECHO_CMD} " 1) Install ports-mgmt/pkg"; \
+ ${ECHO_CMD} " cd ports-mgmt/pkg && make UPGRADEPKG=1 install clean"; \
+ ${ECHO_CMD} " 2) Convert your package database by running pkg2ng"; \
+ ${ECHO_CMD} ""; \
+ exit 1
+
+.endif
+.endif
+.endif
+
+#define PKG_DEPENDS to nothing to avoid infinite loop looking for pkg :)
+PKG_DEPENDS=
+.undef INSTALLS_DEPENDS
+PKG_BIN= ${WRKSRC}/src/pkg-static
+
+post-install:
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/NEWS ${STAGEDIR}${DOCSDIR}/NEWS
+ @${MV} ${STAGEDIR}${PREFIX}/lib/libpkg_static.a \
+ ${STAGEDIR}${PREFIX}/lib/libpkg.a
+
+.include <bsd.port.post.mk>
diff --git a/test-ports/ports-mgmt/pkg/distinfo b/test-ports/ports-mgmt/pkg/distinfo
new file mode 100644
index 00000000..f87080ed
--- /dev/null
+++ b/test-ports/ports-mgmt/pkg/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1490563192
+SHA256 (pkg-1.10.1.tar.xz) = 6cf178ce356588cddcba60a2c53ef18f5aac2c87628e3d3924a54743573aee4d
+SIZE (pkg-1.10.1.tar.xz) = 2169816
diff --git a/test-ports/ports-mgmt/pkg/files/extra-patch-docs_pkg.8 b/test-ports/ports-mgmt/pkg/files/extra-patch-docs_pkg.8
new file mode 100644
index 00000000..afd5e9d4
--- /dev/null
+++ b/test-ports/ports-mgmt/pkg/files/extra-patch-docs_pkg.8
@@ -0,0 +1,34 @@
+--- docs/pkg.8.orig 2015-04-14 18:00:21 UTC
++++ docs/pkg.8
+@@ -29,7 +29,7 @@
+ .Op Fl d
+ .Op Fl l
+ .Op Fl N
+-.Op Fl j Ao jail name or id Ac | Fl c Ao chroot path Ac | Fl r Ao root directory Ac
++.Op Fl j Ao chroot path Ac | Fl r Ao root directory Ac
+ .Op Fl C Ao configuration file Ac
+ .Op Fl R Ao repository configuration directory Ac
+ .Op Fl 4 | Fl 6
+@@ -144,22 +144,6 @@ is installed and activated:
+ # pkg_install-specifics
+ fi
+ .Ed
+-.It Fl j Ao jail name or id Ac , Cm --jail Ao jail name or id Ac
+-.Nm
+-will execute in the given
+-.Ao jail name or id Ac ,
+-where
+-.Em name
+-matches
+-.Dq Cm jls Ar name
+-and
+-.Em id
+-matches
+-.Dq Cm jls Ar jid .
+-See
+-.Xr jail 8
+-and
+-.Xr jls 8 .
+ .It Fl c Ao chroot path Ac , Cm --chroot Ao chroot path Ac
+ .Nm
+ will chroot in the
diff --git a/test-ports/ports-mgmt/pkg/files/patch-javavmwrapper b/test-ports/ports-mgmt/pkg/files/patch-javavmwrapper
new file mode 100644
index 00000000..1d3c37c0
--- /dev/null
+++ b/test-ports/ports-mgmt/pkg/files/patch-javavmwrapper
@@ -0,0 +1,34 @@
+diff --git libpkg/pkg_add.c libpkg/pkg_add.c
+index 87fb248..778336c 100644
+--- libpkg/pkg_add.c
++++ libpkg/pkg_add.c
+@@ -859,14 +859,21 @@ pkg_add_cleanup_old(struct pkgdb *db, struct pkg *old, struct pkg *new, int flag
+ * Execute pre deinstall scripts
+ */
+ if ((flags & PKG_ADD_NOSCRIPT) == 0) {
+- if ((flags & PKG_ADD_USE_UPGRADE_SCRIPTS) == PKG_ADD_USE_UPGRADE_SCRIPTS)
+- ret = pkg_script_run(old, PKG_SCRIPT_PRE_UPGRADE);
+- else
+- ret = pkg_script_run(old, PKG_SCRIPT_PRE_DEINSTALL);
+- if (ret != EPKG_OK && pkg_object_bool(pkg_config_get("DEVELOPER_MODE")))
+- return (ret);
+- else
+- ret = EPKG_OK;
++ bool buggydeinstall = false;
++ if (strcmp(old->name, "javavmwrapper") == 0 &&
++ (strcmp(old->version, "2.5") == 0 ||
++ strcmp(old->version, "2.5_1") == 0))
++ buggydeinstall = true;
++ if (!buggydeinstall) {
++ if ((flags & PKG_ADD_USE_UPGRADE_SCRIPTS) == PKG_ADD_USE_UPGRADE_SCRIPTS)
++ ret = pkg_script_run(old, PKG_SCRIPT_PRE_UPGRADE);
++ else
++ ret = pkg_script_run(old, PKG_SCRIPT_PRE_DEINSTALL);
++ if (ret != EPKG_OK && pkg_object_bool(pkg_config_get("DEVELOPER_MODE")))
++ return (ret);
++ else
++ ret = EPKG_OK;
++ }
+ }
+
+ /* Now remove files that no longer exist in the new package */
diff --git a/test-ports/ports-mgmt/pkg/pkg-descr b/test-ports/ports-mgmt/pkg/pkg-descr
new file mode 100644
index 00000000..532c3086
--- /dev/null
+++ b/test-ports/ports-mgmt/pkg/pkg-descr
@@ -0,0 +1,3 @@
+Package management tool
+
+WWW: http://wiki.freebsd.org/pkgng
diff --git a/test-ports/ports-mgmt/pkg/pkg-plist b/test-ports/ports-mgmt/pkg/pkg-plist
new file mode 100644
index 00000000..34e25664
--- /dev/null
+++ b/test-ports/ports-mgmt/pkg/pkg-plist
@@ -0,0 +1,56 @@
+etc/bash_completion.d/_pkg.bash
+etc/periodic/daily/411.pkg-backup
+etc/periodic/daily/490.status-pkg-changes
+etc/periodic/security/410.pkg-audit
+etc/periodic/security/460.pkg-checksum
+etc/periodic/weekly/400.status-pkg
+@sample etc/pkg.conf.sample
+include/pkg.h
+lib/libpkg.a
+lib/libpkg.so
+lib/libpkg.so.4
+lib/libpkg.so.4.0.0
+libdata/pkgconfig/pkg.pc
+man/man3/pkg_printf.3.gz
+man/man3/pkg_repos.3.gz
+man/man5/pkg-repository.5.gz
+man/man5/pkg.conf.5.gz
+man/man8/pkg-add.8.gz
+man/man8/pkg-alias.8.gz
+man/man8/pkg-annotate.8.gz
+man/man8/pkg-audit.8.gz
+man/man8/pkg-autoremove.8.gz
+man/man8/pkg-backup.8.gz
+man/man8/pkg-check.8.gz
+man/man8/pkg-clean.8.gz
+man/man8/pkg-config.8.gz
+man/man8/pkg-convert.8.gz
+man/man8/pkg-create.8.gz
+man/man8/pkg-delete.8.gz
+man/man8/pkg-fetch.8.gz
+man/man8/pkg-info.8.gz
+man/man8/pkg-install.8.gz
+man/man8/pkg-lock.8.gz
+man/man8/pkg-query.8.gz
+man/man8/pkg-register.8.gz
+man/man8/pkg-remove.8.gz
+man/man8/pkg-repo.8.gz
+man/man8/pkg-rquery.8.gz
+man/man8/pkg-search.8.gz
+man/man8/pkg-set.8.gz
+man/man8/pkg-shell.8.gz
+man/man8/pkg-shlib.8.gz
+man/man8/pkg-ssh.8.gz
+man/man8/pkg-static.8.gz
+man/man8/pkg-stats.8.gz
+man/man8/pkg-unlock.8.gz
+man/man8/pkg-update.8.gz
+man/man8/pkg-updating.8.gz
+man/man8/pkg-upgrade.8.gz
+man/man8/pkg-version.8.gz
+man/man8/pkg-which.8.gz
+man/man8/pkg.8.gz
+sbin/pkg
+sbin/pkg-static
+sbin/pkg2ng
+share/zsh/site-functions/_pkg
diff --git a/test-ports/ports-mgmt/poudriere-devel-IGNORED-and-skipped/Makefile b/test-ports/ports-mgmt/poudriere-devel-IGNORED-and-skipped/Makefile
new file mode 100644
index 00000000..4bb55e0a
--- /dev/null
+++ b/test-ports/ports-mgmt/poudriere-devel-IGNORED-and-skipped/Makefile
@@ -0,0 +1,61 @@
+# $FreeBSD: head/ports-mgmt/poudriere-devel/Makefile 442301 2017-06-01 17:21:46Z bdrewery $
+
+PORTNAME= poudriere
+DISTVERSION= 3.1.99.20170601
+PORTREVISION= 1
+CATEGORIES= ports-mgmt
+MASTER_SITES= LOCAL/bdrewery/${PORTNAME}/ \
+ http://mirror.shatow.net/freebsd/${PORTNAME}/ \
+ GH
+PKGNAMESUFFIX= -devel-IGNORED-and-skipped
+
+IGNORE= ignored and skipped
+
+MAINTAINER= bdrewery@FreeBSD.org
+COMMENT= Port build and test system
+
+LICENSE= BSD2CLAUSE
+
+CONFLICTS_INSTALL= poudriere-[0-9]*
+
+USE_GITHUB= yes
+GH_ACCOUNT= freebsd
+GH_TAGNAME= 3.0-2145-gdc462a9d
+#DISTNAME= ${GH_ACCOUNT}-${GH_PROJECT}-${GH_TAGNAME}
+
+GNU_CONFIGURE= yes
+ETCDIR= ${PREFIX}/etc/poudriere.d
+
+OPTIONS_DEFINE= ZSH EXAMPLES
+OPTIONS_DEFAULT=ZSH
+OPTIONS_SUB= yes
+
+RUN_DEPENDS+= freebsd-release-manifests>0:misc/freebsd-release-manifests
+RUN_DEPENDS+= poudriere-devel-IGNORED>0:ports-mgmt/poudriere-devel-IGNORED
+
+.include <bsd.port.options.mk>
+
+# rm -x support came in 10.0. A bundled rm is used if not supported in base.
+# While <10 is technically not supported in the Ports Tree, Poudriere
+# detects this and it being a package build tool it should still be
+# supported as a user may be installing this to build packages for upgrading
+# their system to a supported release.
+.if ${OSVERSION} < 1000000
+PLIST_SUB+= RM=""
+.else
+PLIST_SUB+= RM="@comment "
+.endif
+
+pre-install:
+ ${REINPLACE_CMD} \
+ -e "s,^\(POUDRIERE_VERSION\)=.*,\1='${PKGVERSION}'," \
+ ${WRKSRC}/src/bin/poudriere
+
+post-install:
+ @${MKDIR} ${STAGEDIR}${PREFIX}/share/zsh/site-functions/
+ ${INSTALL_DATA} ${WRKSRC}/completions/zsh/_poudriere \
+ ${STAGEDIR}${PREFIX}/share/zsh/site-functions/
+ ${LN} -fs ${LOCALBASE}/share/freebsd/MANIFESTS \
+ ${STAGEDIR}${DATADIR}/MANIFESTS
+
+.include <bsd.port.mk>
diff --git a/test-ports/ports-mgmt/poudriere-devel-IGNORED-and-skipped/distinfo b/test-ports/ports-mgmt/poudriere-devel-IGNORED-and-skipped/distinfo
new file mode 100644
index 00000000..ae627c4a
--- /dev/null
+++ b/test-ports/ports-mgmt/poudriere-devel-IGNORED-and-skipped/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1496337650
+SHA256 (freebsd-poudriere-3.1.99.20170601-3.0-2145-gdc462a9d_GH0.tar.gz) = 294e3379661aa8b6879794e4e01c4eb8c962a2060bae412bea4c61ea4127f8c6
+SIZE (freebsd-poudriere-3.1.99.20170601-3.0-2145-gdc462a9d_GH0.tar.gz) = 2986209
diff --git a/test-ports/ports-mgmt/poudriere-devel-IGNORED-and-skipped/pkg-descr b/test-ports/ports-mgmt/poudriere-devel-IGNORED-and-skipped/pkg-descr
new file mode 100644
index 00000000..3e950072
--- /dev/null
+++ b/test-ports/ports-mgmt/poudriere-devel-IGNORED-and-skipped/pkg-descr
@@ -0,0 +1,5 @@
+poudriere is a tool primarily designed to test package production on
+FreeBSD. However, most people will find it useful to bulk build ports
+for FreeBSD.
+
+WWW: https://github.com/freebsd/poudriere/wiki
diff --git a/test-ports/ports-mgmt/poudriere-devel-IGNORED-and-skipped/pkg-plist b/test-ports/ports-mgmt/poudriere-devel-IGNORED-and-skipped/pkg-plist
new file mode 100644
index 00000000..b271ff6a
--- /dev/null
+++ b/test-ports/ports-mgmt/poudriere-devel-IGNORED-and-skipped/pkg-plist
@@ -0,0 +1,98 @@
+bin/poudriere
+@sample etc/poudriere.conf.sample
+%%ETCDIR%%/hooks/bulk.sh.sample
+%%ETCDIR%%/hooks/pkgbuild.sh.sample
+@sample etc/poudriered.conf.sample
+etc/rc.d/poudriered
+libexec/poudriere/cachec
+libexec/poudriere/cached
+libexec/poudriere/clock
+libexec/poudriere/cpdup
+libexec/poudriere/dirempty
+libexec/poudriere/dirwatch
+libexec/poudriere/jexecd
+libexec/poudriere/locked_mkdir
+libexec/poudriere/nc
+libexec/poudriere/poudriered
+libexec/poudriere/ptsort
+libexec/poudriere/pwait
+libexec/poudriere/rename
+libexec/poudriere/rexec
+%%RM%%libexec/poudriere/rm
+libexec/poudriere/sh
+libexec/poudriere/timeout
+libexec/poudriere/timestamp
+libexec/poudriere/tsort
+man/man8/poudriere.8.gz
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/httpd.conf.sample
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nginx.conf.sample
+%%DATADIR%%/MANIFESTS
+%%DATADIR%%/awk/dependency_loop.awk
+%%DATADIR%%/awk/humanize.awk
+%%DATADIR%%/awk/json.awk
+%%DATADIR%%/awk/json_jail.awk
+%%DATADIR%%/awk/json_top.awk
+%%DATADIR%%/awk/processonelog2.awk
+%%DATADIR%%/awk/siginfo_buildtime.awk
+%%DATADIR%%/api.sh
+%%DATADIR%%/bulk.sh
+%%DATADIR%%/clean.sh
+%%DATADIR%%/common.sh
+%%DATADIR%%/daemon.sh
+%%DATADIR%%/distclean.sh
+%%DATADIR%%/html/assets/DataTables-1.10.0/css/jquery.dataTables.min.css
+%%DATADIR%%/html/assets/DataTables-1.10.0/css/jquery.dataTables_themeroller.min.css
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/back_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/back_enabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/back_enabled_hover.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/forward_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/forward_enabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/forward_enabled_hover.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_asc.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_asc_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_both.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_desc.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_desc_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/js/jquery.dataTables.min.js
+%%DATADIR%%/html/assets/bootstrap-3.1.1/css/bootstrap-theme.min.css
+%%DATADIR%%/html/assets/bootstrap-3.1.1/css/bootstrap.min.css
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.eot
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.svg
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.ttf
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.woff
+%%DATADIR%%/html/assets/bootstrap-3.1.1/js/bootstrap.min.js
+%%DATADIR%%/html/assets/favicon.ico
+%%DATADIR%%/html/assets/jquery-1.11.1.js
+%%DATADIR%%/html/assets/jquery-1.11.1.min.js
+%%DATADIR%%/html/assets/jquery-1.11.1.min.map
+%%DATADIR%%/html/assets/jquery.dataTables.rowGrouping-1.2.9.js
+%%DATADIR%%/html/assets/logo.svg
+%%DATADIR%%/html/assets/poudriere.css
+%%DATADIR%%/html/assets/poudriere.js
+%%DATADIR%%/html/build.html
+%%DATADIR%%/html/index.html
+%%DATADIR%%/html/jail.html
+%%DATADIR%%/html/robots.txt
+%%DATADIR%%/image.sh
+%%DATADIR%%/include/cache.sh
+%%DATADIR%%/include/colors.pre.sh
+%%DATADIR%%/include/colors.sh
+%%DATADIR%%/include/common.sh.dragonfly
+%%DATADIR%%/include/common.sh.freebsd
+%%DATADIR%%/include/display.sh
+%%DATADIR%%/include/fs.sh
+%%DATADIR%%/include/hash.sh
+%%DATADIR%%/include/html.sh
+%%DATADIR%%/include/parallel.sh
+%%DATADIR%%/include/shared_hash.sh
+%%DATADIR%%/include/util.sh
+%%DATADIR%%/jail.sh
+%%DATADIR%%/logclean.sh
+%%DATADIR%%/options.sh
+%%DATADIR%%/pkgclean.sh
+%%DATADIR%%/ports.sh
+%%DATADIR%%/processonelog.sh
+%%DATADIR%%/queue.sh
+%%DATADIR%%/status.sh
+%%DATADIR%%/testport.sh
+%%ZSH%%share/zsh/site-functions/_poudriere
diff --git a/test-ports/ports-mgmt/poudriere-devel-IGNORED/Makefile b/test-ports/ports-mgmt/poudriere-devel-IGNORED/Makefile
new file mode 100644
index 00000000..9b35f44c
--- /dev/null
+++ b/test-ports/ports-mgmt/poudriere-devel-IGNORED/Makefile
@@ -0,0 +1,60 @@
+# $FreeBSD: head/ports-mgmt/poudriere-devel/Makefile 442301 2017-06-01 17:21:46Z bdrewery $
+
+PORTNAME= poudriere
+DISTVERSION= 3.1.99.20170601
+PORTREVISION= 1
+CATEGORIES= ports-mgmt
+MASTER_SITES= LOCAL/bdrewery/${PORTNAME}/ \
+ http://mirror.shatow.net/freebsd/${PORTNAME}/ \
+ GH
+PKGNAMESUFFIX= -devel-IGNORED
+IGNORE= ignored
+
+MAINTAINER= bdrewery@FreeBSD.org
+COMMENT= Port build and test system
+
+LICENSE= BSD2CLAUSE
+
+CONFLICTS_INSTALL= poudriere-[0-9]*
+
+USE_GITHUB= yes
+GH_ACCOUNT= freebsd
+GH_TAGNAME= 3.0-2145-gdc462a9d
+#DISTNAME= ${GH_ACCOUNT}-${GH_PROJECT}-${GH_TAGNAME}
+
+GNU_CONFIGURE= yes
+ETCDIR= ${PREFIX}/etc/poudriere.d
+
+OPTIONS_DEFINE= ZSH EXAMPLES
+OPTIONS_DEFAULT=ZSH
+OPTIONS_SUB= yes
+
+RUN_DEPENDS+= freebsd-release-manifests>0:misc/freebsd-release-manifests
+RUN_DEPENDS+= foo>0:misc/foo
+
+.include <bsd.port.options.mk>
+
+# rm -x support came in 10.0. A bundled rm is used if not supported in base.
+# While <10 is technically not supported in the Ports Tree, Poudriere
+# detects this and it being a package build tool it should still be
+# supported as a user may be installing this to build packages for upgrading
+# their system to a supported release.
+.if ${OSVERSION} < 1000000
+PLIST_SUB+= RM=""
+.else
+PLIST_SUB+= RM="@comment "
+.endif
+
+pre-install:
+ ${REINPLACE_CMD} \
+ -e "s,^\(POUDRIERE_VERSION\)=.*,\1='${PKGVERSION}'," \
+ ${WRKSRC}/src/bin/poudriere
+
+post-install:
+ @${MKDIR} ${STAGEDIR}${PREFIX}/share/zsh/site-functions/
+ ${INSTALL_DATA} ${WRKSRC}/completions/zsh/_poudriere \
+ ${STAGEDIR}${PREFIX}/share/zsh/site-functions/
+ ${LN} -fs ${LOCALBASE}/share/freebsd/MANIFESTS \
+ ${STAGEDIR}${DATADIR}/MANIFESTS
+
+.include <bsd.port.mk>
diff --git a/test-ports/ports-mgmt/poudriere-devel-IGNORED/distinfo b/test-ports/ports-mgmt/poudriere-devel-IGNORED/distinfo
new file mode 100644
index 00000000..ae627c4a
--- /dev/null
+++ b/test-ports/ports-mgmt/poudriere-devel-IGNORED/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1496337650
+SHA256 (freebsd-poudriere-3.1.99.20170601-3.0-2145-gdc462a9d_GH0.tar.gz) = 294e3379661aa8b6879794e4e01c4eb8c962a2060bae412bea4c61ea4127f8c6
+SIZE (freebsd-poudriere-3.1.99.20170601-3.0-2145-gdc462a9d_GH0.tar.gz) = 2986209
diff --git a/test-ports/ports-mgmt/poudriere-devel-IGNORED/pkg-descr b/test-ports/ports-mgmt/poudriere-devel-IGNORED/pkg-descr
new file mode 100644
index 00000000..3e950072
--- /dev/null
+++ b/test-ports/ports-mgmt/poudriere-devel-IGNORED/pkg-descr
@@ -0,0 +1,5 @@
+poudriere is a tool primarily designed to test package production on
+FreeBSD. However, most people will find it useful to bulk build ports
+for FreeBSD.
+
+WWW: https://github.com/freebsd/poudriere/wiki
diff --git a/test-ports/ports-mgmt/poudriere-devel-IGNORED/pkg-plist b/test-ports/ports-mgmt/poudriere-devel-IGNORED/pkg-plist
new file mode 100644
index 00000000..b271ff6a
--- /dev/null
+++ b/test-ports/ports-mgmt/poudriere-devel-IGNORED/pkg-plist
@@ -0,0 +1,98 @@
+bin/poudriere
+@sample etc/poudriere.conf.sample
+%%ETCDIR%%/hooks/bulk.sh.sample
+%%ETCDIR%%/hooks/pkgbuild.sh.sample
+@sample etc/poudriered.conf.sample
+etc/rc.d/poudriered
+libexec/poudriere/cachec
+libexec/poudriere/cached
+libexec/poudriere/clock
+libexec/poudriere/cpdup
+libexec/poudriere/dirempty
+libexec/poudriere/dirwatch
+libexec/poudriere/jexecd
+libexec/poudriere/locked_mkdir
+libexec/poudriere/nc
+libexec/poudriere/poudriered
+libexec/poudriere/ptsort
+libexec/poudriere/pwait
+libexec/poudriere/rename
+libexec/poudriere/rexec
+%%RM%%libexec/poudriere/rm
+libexec/poudriere/sh
+libexec/poudriere/timeout
+libexec/poudriere/timestamp
+libexec/poudriere/tsort
+man/man8/poudriere.8.gz
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/httpd.conf.sample
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nginx.conf.sample
+%%DATADIR%%/MANIFESTS
+%%DATADIR%%/awk/dependency_loop.awk
+%%DATADIR%%/awk/humanize.awk
+%%DATADIR%%/awk/json.awk
+%%DATADIR%%/awk/json_jail.awk
+%%DATADIR%%/awk/json_top.awk
+%%DATADIR%%/awk/processonelog2.awk
+%%DATADIR%%/awk/siginfo_buildtime.awk
+%%DATADIR%%/api.sh
+%%DATADIR%%/bulk.sh
+%%DATADIR%%/clean.sh
+%%DATADIR%%/common.sh
+%%DATADIR%%/daemon.sh
+%%DATADIR%%/distclean.sh
+%%DATADIR%%/html/assets/DataTables-1.10.0/css/jquery.dataTables.min.css
+%%DATADIR%%/html/assets/DataTables-1.10.0/css/jquery.dataTables_themeroller.min.css
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/back_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/back_enabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/back_enabled_hover.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/forward_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/forward_enabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/forward_enabled_hover.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_asc.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_asc_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_both.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_desc.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_desc_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/js/jquery.dataTables.min.js
+%%DATADIR%%/html/assets/bootstrap-3.1.1/css/bootstrap-theme.min.css
+%%DATADIR%%/html/assets/bootstrap-3.1.1/css/bootstrap.min.css
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.eot
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.svg
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.ttf
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.woff
+%%DATADIR%%/html/assets/bootstrap-3.1.1/js/bootstrap.min.js
+%%DATADIR%%/html/assets/favicon.ico
+%%DATADIR%%/html/assets/jquery-1.11.1.js
+%%DATADIR%%/html/assets/jquery-1.11.1.min.js
+%%DATADIR%%/html/assets/jquery-1.11.1.min.map
+%%DATADIR%%/html/assets/jquery.dataTables.rowGrouping-1.2.9.js
+%%DATADIR%%/html/assets/logo.svg
+%%DATADIR%%/html/assets/poudriere.css
+%%DATADIR%%/html/assets/poudriere.js
+%%DATADIR%%/html/build.html
+%%DATADIR%%/html/index.html
+%%DATADIR%%/html/jail.html
+%%DATADIR%%/html/robots.txt
+%%DATADIR%%/image.sh
+%%DATADIR%%/include/cache.sh
+%%DATADIR%%/include/colors.pre.sh
+%%DATADIR%%/include/colors.sh
+%%DATADIR%%/include/common.sh.dragonfly
+%%DATADIR%%/include/common.sh.freebsd
+%%DATADIR%%/include/display.sh
+%%DATADIR%%/include/fs.sh
+%%DATADIR%%/include/hash.sh
+%%DATADIR%%/include/html.sh
+%%DATADIR%%/include/parallel.sh
+%%DATADIR%%/include/shared_hash.sh
+%%DATADIR%%/include/util.sh
+%%DATADIR%%/jail.sh
+%%DATADIR%%/logclean.sh
+%%DATADIR%%/options.sh
+%%DATADIR%%/pkgclean.sh
+%%DATADIR%%/ports.sh
+%%DATADIR%%/processonelog.sh
+%%DATADIR%%/queue.sh
+%%DATADIR%%/status.sh
+%%DATADIR%%/testport.sh
+%%ZSH%%share/zsh/site-functions/_poudriere
diff --git a/test-ports/ports-mgmt/poudriere-devel-bad-dep_args/Makefile b/test-ports/ports-mgmt/poudriere-devel-bad-dep_args/Makefile
new file mode 100644
index 00000000..95d17c05
--- /dev/null
+++ b/test-ports/ports-mgmt/poudriere-devel-bad-dep_args/Makefile
@@ -0,0 +1,61 @@
+# $FreeBSD: head/ports-mgmt/poudriere-devel/Makefile 442301 2017-06-01 17:21:46Z bdrewery $
+
+PORTNAME= poudriere
+PKGNAMESUFFIX= bad-dep_args
+DISTVERSION= 3.1.99.20170601
+PORTREVISION= 1
+CATEGORIES= ports-mgmt
+MASTER_SITES= LOCAL/bdrewery/${PORTNAME}/ \
+ http://mirror.shatow.net/freebsd/${PORTNAME}/ \
+ GH
+PKGNAMESUFFIX= -devel
+
+MAINTAINER= bdrewery@FreeBSD.org
+COMMENT= Port build and test system
+
+LICENSE= BSD2CLAUSE
+
+CONFLICTS_INSTALL= poudriere-[0-9]*
+
+USE_GITHUB= yes
+GH_ACCOUNT= freebsd
+GH_TAGNAME= 3.0-2145-gdc462a9d
+#DISTNAME= ${GH_ACCOUNT}-${GH_PROJECT}-${GH_TAGNAME}
+
+GNU_CONFIGURE= yes
+ETCDIR= ${PREFIX}/etc/poudriere.d
+
+OPTIONS_DEFINE= ZSH EXAMPLES
+OPTIONS_DEFAULT=ZSH
+OPTIONS_SUB= yes
+
+RUN_DEPENDS+= freebsd-release-manifests-FOO>0:misc/freebsd-release-manifests
+
+DEPENDS_ARGS+= BAD=1
+
+.include <bsd.port.options.mk>
+
+# rm -x support came in 10.0. A bundled rm is used if not supported in base.
+# While <10 is technically not supported in the Ports Tree, Poudriere
+# detects this and it being a package build tool it should still be
+# supported as a user may be installing this to build packages for upgrading
+# their system to a supported release.
+.if ${OSVERSION} < 1000000
+PLIST_SUB+= RM=""
+.else
+PLIST_SUB+= RM="@comment "
+.endif
+
+pre-install:
+ ${REINPLACE_CMD} \
+ -e "s,^\(POUDRIERE_VERSION\)=.*,\1='${PKGVERSION}'," \
+ ${WRKSRC}/src/bin/poudriere
+
+post-install:
+ @${MKDIR} ${STAGEDIR}${PREFIX}/share/zsh/site-functions/
+ ${INSTALL_DATA} ${WRKSRC}/completions/zsh/_poudriere \
+ ${STAGEDIR}${PREFIX}/share/zsh/site-functions/
+ ${LN} -fs ${LOCALBASE}/share/freebsd/MANIFESTS \
+ ${STAGEDIR}${DATADIR}/MANIFESTS
+
+.include <bsd.port.mk>
diff --git a/test-ports/ports-mgmt/poudriere-devel-bad-dep_args/distinfo b/test-ports/ports-mgmt/poudriere-devel-bad-dep_args/distinfo
new file mode 100644
index 00000000..ae627c4a
--- /dev/null
+++ b/test-ports/ports-mgmt/poudriere-devel-bad-dep_args/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1496337650
+SHA256 (freebsd-poudriere-3.1.99.20170601-3.0-2145-gdc462a9d_GH0.tar.gz) = 294e3379661aa8b6879794e4e01c4eb8c962a2060bae412bea4c61ea4127f8c6
+SIZE (freebsd-poudriere-3.1.99.20170601-3.0-2145-gdc462a9d_GH0.tar.gz) = 2986209
diff --git a/test-ports/ports-mgmt/poudriere-devel-bad-dep_args/pkg-descr b/test-ports/ports-mgmt/poudriere-devel-bad-dep_args/pkg-descr
new file mode 100644
index 00000000..3e950072
--- /dev/null
+++ b/test-ports/ports-mgmt/poudriere-devel-bad-dep_args/pkg-descr
@@ -0,0 +1,5 @@
+poudriere is a tool primarily designed to test package production on
+FreeBSD. However, most people will find it useful to bulk build ports
+for FreeBSD.
+
+WWW: https://github.com/freebsd/poudriere/wiki
diff --git a/test-ports/ports-mgmt/poudriere-devel-bad-dep_args/pkg-plist b/test-ports/ports-mgmt/poudriere-devel-bad-dep_args/pkg-plist
new file mode 100644
index 00000000..b271ff6a
--- /dev/null
+++ b/test-ports/ports-mgmt/poudriere-devel-bad-dep_args/pkg-plist
@@ -0,0 +1,98 @@
+bin/poudriere
+@sample etc/poudriere.conf.sample
+%%ETCDIR%%/hooks/bulk.sh.sample
+%%ETCDIR%%/hooks/pkgbuild.sh.sample
+@sample etc/poudriered.conf.sample
+etc/rc.d/poudriered
+libexec/poudriere/cachec
+libexec/poudriere/cached
+libexec/poudriere/clock
+libexec/poudriere/cpdup
+libexec/poudriere/dirempty
+libexec/poudriere/dirwatch
+libexec/poudriere/jexecd
+libexec/poudriere/locked_mkdir
+libexec/poudriere/nc
+libexec/poudriere/poudriered
+libexec/poudriere/ptsort
+libexec/poudriere/pwait
+libexec/poudriere/rename
+libexec/poudriere/rexec
+%%RM%%libexec/poudriere/rm
+libexec/poudriere/sh
+libexec/poudriere/timeout
+libexec/poudriere/timestamp
+libexec/poudriere/tsort
+man/man8/poudriere.8.gz
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/httpd.conf.sample
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nginx.conf.sample
+%%DATADIR%%/MANIFESTS
+%%DATADIR%%/awk/dependency_loop.awk
+%%DATADIR%%/awk/humanize.awk
+%%DATADIR%%/awk/json.awk
+%%DATADIR%%/awk/json_jail.awk
+%%DATADIR%%/awk/json_top.awk
+%%DATADIR%%/awk/processonelog2.awk
+%%DATADIR%%/awk/siginfo_buildtime.awk
+%%DATADIR%%/api.sh
+%%DATADIR%%/bulk.sh
+%%DATADIR%%/clean.sh
+%%DATADIR%%/common.sh
+%%DATADIR%%/daemon.sh
+%%DATADIR%%/distclean.sh
+%%DATADIR%%/html/assets/DataTables-1.10.0/css/jquery.dataTables.min.css
+%%DATADIR%%/html/assets/DataTables-1.10.0/css/jquery.dataTables_themeroller.min.css
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/back_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/back_enabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/back_enabled_hover.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/forward_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/forward_enabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/forward_enabled_hover.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_asc.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_asc_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_both.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_desc.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_desc_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/js/jquery.dataTables.min.js
+%%DATADIR%%/html/assets/bootstrap-3.1.1/css/bootstrap-theme.min.css
+%%DATADIR%%/html/assets/bootstrap-3.1.1/css/bootstrap.min.css
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.eot
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.svg
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.ttf
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.woff
+%%DATADIR%%/html/assets/bootstrap-3.1.1/js/bootstrap.min.js
+%%DATADIR%%/html/assets/favicon.ico
+%%DATADIR%%/html/assets/jquery-1.11.1.js
+%%DATADIR%%/html/assets/jquery-1.11.1.min.js
+%%DATADIR%%/html/assets/jquery-1.11.1.min.map
+%%DATADIR%%/html/assets/jquery.dataTables.rowGrouping-1.2.9.js
+%%DATADIR%%/html/assets/logo.svg
+%%DATADIR%%/html/assets/poudriere.css
+%%DATADIR%%/html/assets/poudriere.js
+%%DATADIR%%/html/build.html
+%%DATADIR%%/html/index.html
+%%DATADIR%%/html/jail.html
+%%DATADIR%%/html/robots.txt
+%%DATADIR%%/image.sh
+%%DATADIR%%/include/cache.sh
+%%DATADIR%%/include/colors.pre.sh
+%%DATADIR%%/include/colors.sh
+%%DATADIR%%/include/common.sh.dragonfly
+%%DATADIR%%/include/common.sh.freebsd
+%%DATADIR%%/include/display.sh
+%%DATADIR%%/include/fs.sh
+%%DATADIR%%/include/hash.sh
+%%DATADIR%%/include/html.sh
+%%DATADIR%%/include/parallel.sh
+%%DATADIR%%/include/shared_hash.sh
+%%DATADIR%%/include/util.sh
+%%DATADIR%%/jail.sh
+%%DATADIR%%/logclean.sh
+%%DATADIR%%/options.sh
+%%DATADIR%%/pkgclean.sh
+%%DATADIR%%/ports.sh
+%%DATADIR%%/processonelog.sh
+%%DATADIR%%/queue.sh
+%%DATADIR%%/status.sh
+%%DATADIR%%/testport.sh
+%%ZSH%%share/zsh/site-functions/_poudriere
diff --git a/test-ports/ports-mgmt/poudriere-devel-dep-DEFAULT/Makefile b/test-ports/ports-mgmt/poudriere-devel-dep-DEFAULT/Makefile
new file mode 100644
index 00000000..eef44f46
--- /dev/null
+++ b/test-ports/ports-mgmt/poudriere-devel-dep-DEFAULT/Makefile
@@ -0,0 +1,59 @@
+# $FreeBSD: head/ports-mgmt/poudriere-devel/Makefile 442301 2017-06-01 17:21:46Z bdrewery $
+
+PORTNAME= poudriere
+DISTVERSION= 3.1.99.20170601
+PORTREVISION= 1
+CATEGORIES= ports-mgmt
+MASTER_SITES= LOCAL/bdrewery/${PORTNAME}/ \
+ http://mirror.shatow.net/freebsd/${PORTNAME}/ \
+ GH
+PKGNAMESUFFIX= -devel
+PKGNAMESUFFIX:= ${PKGNAMESUFFIX}-dep-DEFAULT
+
+MAINTAINER= bdrewery@FreeBSD.org
+COMMENT= Port build and test system
+
+LICENSE= BSD2CLAUSE
+
+CONFLICTS_INSTALL= poudriere-[0-9]*
+
+USE_GITHUB= yes
+GH_ACCOUNT= freebsd
+GH_TAGNAME= 3.0-2145-gdc462a9d
+#DISTNAME= ${GH_ACCOUNT}-${GH_PROJECT}-${GH_TAGNAME}
+
+GNU_CONFIGURE= yes
+ETCDIR= ${PREFIX}/etc/poudriere.d
+
+OPTIONS_DEFINE= ZSH EXAMPLES
+OPTIONS_DEFAULT=ZSH
+OPTIONS_SUB= yes
+
+RUN_DEPENDS+= freebsd-release-manifests>0:misc/freebsd-release-manifests@DEFAULT
+
+.include <bsd.port.options.mk>
+
+# rm -x support came in 10.0. A bundled rm is used if not supported in base.
+# While <10 is technically not supported in the Ports Tree, Poudriere
+# detects this and it being a package build tool it should still be
+# supported as a user may be installing this to build packages for upgrading
+# their system to a supported release.
+.if ${OSVERSION} < 1000000
+PLIST_SUB+= RM=""
+.else
+PLIST_SUB+= RM="@comment "
+.endif
+
+pre-install:
+ ${REINPLACE_CMD} \
+ -e "s,^\(POUDRIERE_VERSION\)=.*,\1='${PKGVERSION}'," \
+ ${WRKSRC}/src/bin/poudriere
+
+post-install:
+ @${MKDIR} ${STAGEDIR}${PREFIX}/share/zsh/site-functions/
+ ${INSTALL_DATA} ${WRKSRC}/completions/zsh/_poudriere \
+ ${STAGEDIR}${PREFIX}/share/zsh/site-functions/
+ ${LN} -fs ${LOCALBASE}/share/freebsd/MANIFESTS \
+ ${STAGEDIR}${DATADIR}/MANIFESTS
+
+.include <bsd.port.mk>
diff --git a/test-ports/ports-mgmt/poudriere-devel-dep-DEFAULT/distinfo b/test-ports/ports-mgmt/poudriere-devel-dep-DEFAULT/distinfo
new file mode 100644
index 00000000..ae627c4a
--- /dev/null
+++ b/test-ports/ports-mgmt/poudriere-devel-dep-DEFAULT/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1496337650
+SHA256 (freebsd-poudriere-3.1.99.20170601-3.0-2145-gdc462a9d_GH0.tar.gz) = 294e3379661aa8b6879794e4e01c4eb8c962a2060bae412bea4c61ea4127f8c6
+SIZE (freebsd-poudriere-3.1.99.20170601-3.0-2145-gdc462a9d_GH0.tar.gz) = 2986209
diff --git a/test-ports/ports-mgmt/poudriere-devel-dep-DEFAULT/pkg-descr b/test-ports/ports-mgmt/poudriere-devel-dep-DEFAULT/pkg-descr
new file mode 100644
index 00000000..3e950072
--- /dev/null
+++ b/test-ports/ports-mgmt/poudriere-devel-dep-DEFAULT/pkg-descr
@@ -0,0 +1,5 @@
+poudriere is a tool primarily designed to test package production on
+FreeBSD. However, most people will find it useful to bulk build ports
+for FreeBSD.
+
+WWW: https://github.com/freebsd/poudriere/wiki
diff --git a/test-ports/ports-mgmt/poudriere-devel-dep-DEFAULT/pkg-plist b/test-ports/ports-mgmt/poudriere-devel-dep-DEFAULT/pkg-plist
new file mode 100644
index 00000000..b271ff6a
--- /dev/null
+++ b/test-ports/ports-mgmt/poudriere-devel-dep-DEFAULT/pkg-plist
@@ -0,0 +1,98 @@
+bin/poudriere
+@sample etc/poudriere.conf.sample
+%%ETCDIR%%/hooks/bulk.sh.sample
+%%ETCDIR%%/hooks/pkgbuild.sh.sample
+@sample etc/poudriered.conf.sample
+etc/rc.d/poudriered
+libexec/poudriere/cachec
+libexec/poudriere/cached
+libexec/poudriere/clock
+libexec/poudriere/cpdup
+libexec/poudriere/dirempty
+libexec/poudriere/dirwatch
+libexec/poudriere/jexecd
+libexec/poudriere/locked_mkdir
+libexec/poudriere/nc
+libexec/poudriere/poudriered
+libexec/poudriere/ptsort
+libexec/poudriere/pwait
+libexec/poudriere/rename
+libexec/poudriere/rexec
+%%RM%%libexec/poudriere/rm
+libexec/poudriere/sh
+libexec/poudriere/timeout
+libexec/poudriere/timestamp
+libexec/poudriere/tsort
+man/man8/poudriere.8.gz
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/httpd.conf.sample
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nginx.conf.sample
+%%DATADIR%%/MANIFESTS
+%%DATADIR%%/awk/dependency_loop.awk
+%%DATADIR%%/awk/humanize.awk
+%%DATADIR%%/awk/json.awk
+%%DATADIR%%/awk/json_jail.awk
+%%DATADIR%%/awk/json_top.awk
+%%DATADIR%%/awk/processonelog2.awk
+%%DATADIR%%/awk/siginfo_buildtime.awk
+%%DATADIR%%/api.sh
+%%DATADIR%%/bulk.sh
+%%DATADIR%%/clean.sh
+%%DATADIR%%/common.sh
+%%DATADIR%%/daemon.sh
+%%DATADIR%%/distclean.sh
+%%DATADIR%%/html/assets/DataTables-1.10.0/css/jquery.dataTables.min.css
+%%DATADIR%%/html/assets/DataTables-1.10.0/css/jquery.dataTables_themeroller.min.css
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/back_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/back_enabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/back_enabled_hover.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/forward_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/forward_enabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/forward_enabled_hover.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_asc.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_asc_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_both.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_desc.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_desc_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/js/jquery.dataTables.min.js
+%%DATADIR%%/html/assets/bootstrap-3.1.1/css/bootstrap-theme.min.css
+%%DATADIR%%/html/assets/bootstrap-3.1.1/css/bootstrap.min.css
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.eot
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.svg
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.ttf
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.woff
+%%DATADIR%%/html/assets/bootstrap-3.1.1/js/bootstrap.min.js
+%%DATADIR%%/html/assets/favicon.ico
+%%DATADIR%%/html/assets/jquery-1.11.1.js
+%%DATADIR%%/html/assets/jquery-1.11.1.min.js
+%%DATADIR%%/html/assets/jquery-1.11.1.min.map
+%%DATADIR%%/html/assets/jquery.dataTables.rowGrouping-1.2.9.js
+%%DATADIR%%/html/assets/logo.svg
+%%DATADIR%%/html/assets/poudriere.css
+%%DATADIR%%/html/assets/poudriere.js
+%%DATADIR%%/html/build.html
+%%DATADIR%%/html/index.html
+%%DATADIR%%/html/jail.html
+%%DATADIR%%/html/robots.txt
+%%DATADIR%%/image.sh
+%%DATADIR%%/include/cache.sh
+%%DATADIR%%/include/colors.pre.sh
+%%DATADIR%%/include/colors.sh
+%%DATADIR%%/include/common.sh.dragonfly
+%%DATADIR%%/include/common.sh.freebsd
+%%DATADIR%%/include/display.sh
+%%DATADIR%%/include/fs.sh
+%%DATADIR%%/include/hash.sh
+%%DATADIR%%/include/html.sh
+%%DATADIR%%/include/parallel.sh
+%%DATADIR%%/include/shared_hash.sh
+%%DATADIR%%/include/util.sh
+%%DATADIR%%/jail.sh
+%%DATADIR%%/logclean.sh
+%%DATADIR%%/options.sh
+%%DATADIR%%/pkgclean.sh
+%%DATADIR%%/ports.sh
+%%DATADIR%%/processonelog.sh
+%%DATADIR%%/queue.sh
+%%DATADIR%%/status.sh
+%%DATADIR%%/testport.sh
+%%ZSH%%share/zsh/site-functions/_poudriere
diff --git a/test-ports/ports-mgmt/poudriere-devel-dep-FOO/Makefile b/test-ports/ports-mgmt/poudriere-devel-dep-FOO/Makefile
new file mode 100644
index 00000000..95289416
--- /dev/null
+++ b/test-ports/ports-mgmt/poudriere-devel-dep-FOO/Makefile
@@ -0,0 +1,59 @@
+# $FreeBSD: head/ports-mgmt/poudriere-devel/Makefile 442301 2017-06-01 17:21:46Z bdrewery $
+
+PORTNAME= poudriere
+DISTVERSION= 3.1.99.20170601
+PORTREVISION= 1
+CATEGORIES= ports-mgmt
+MASTER_SITES= LOCAL/bdrewery/${PORTNAME}/ \
+ http://mirror.shatow.net/freebsd/${PORTNAME}/ \
+ GH
+PKGNAMESUFFIX= -devel
+PKGNAMESUFFIX:= ${PKGNAMESUFFIX}-dep-FOO
+
+MAINTAINER= bdrewery@FreeBSD.org
+COMMENT= Port build and test system
+
+LICENSE= BSD2CLAUSE
+
+CONFLICTS_INSTALL= poudriere-[0-9]*
+
+USE_GITHUB= yes
+GH_ACCOUNT= freebsd
+GH_TAGNAME= 3.0-2145-gdc462a9d
+#DISTNAME= ${GH_ACCOUNT}-${GH_PROJECT}-${GH_TAGNAME}
+
+GNU_CONFIGURE= yes
+ETCDIR= ${PREFIX}/etc/poudriere.d
+
+OPTIONS_DEFINE= ZSH EXAMPLES
+OPTIONS_DEFAULT=ZSH
+OPTIONS_SUB= yes
+
+RUN_DEPENDS+= freebsd-release-manifests-FOO>0:misc/freebsd-release-manifests@FOO
+
+.include <bsd.port.options.mk>
+
+# rm -x support came in 10.0. A bundled rm is used if not supported in base.
+# While <10 is technically not supported in the Ports Tree, Poudriere
+# detects this and it being a package build tool it should still be
+# supported as a user may be installing this to build packages for upgrading
+# their system to a supported release.
+.if ${OSVERSION} < 1000000
+PLIST_SUB+= RM=""
+.else
+PLIST_SUB+= RM="@comment "
+.endif
+
+pre-install:
+ ${REINPLACE_CMD} \
+ -e "s,^\(POUDRIERE_VERSION\)=.*,\1='${PKGVERSION}'," \
+ ${WRKSRC}/src/bin/poudriere
+
+post-install:
+ @${MKDIR} ${STAGEDIR}${PREFIX}/share/zsh/site-functions/
+ ${INSTALL_DATA} ${WRKSRC}/completions/zsh/_poudriere \
+ ${STAGEDIR}${PREFIX}/share/zsh/site-functions/
+ ${LN} -fs ${LOCALBASE}/share/freebsd/MANIFESTS \
+ ${STAGEDIR}${DATADIR}/MANIFESTS
+
+.include <bsd.port.mk>
diff --git a/test-ports/ports-mgmt/poudriere-devel-dep-FOO/distinfo b/test-ports/ports-mgmt/poudriere-devel-dep-FOO/distinfo
new file mode 100644
index 00000000..ae627c4a
--- /dev/null
+++ b/test-ports/ports-mgmt/poudriere-devel-dep-FOO/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1496337650
+SHA256 (freebsd-poudriere-3.1.99.20170601-3.0-2145-gdc462a9d_GH0.tar.gz) = 294e3379661aa8b6879794e4e01c4eb8c962a2060bae412bea4c61ea4127f8c6
+SIZE (freebsd-poudriere-3.1.99.20170601-3.0-2145-gdc462a9d_GH0.tar.gz) = 2986209
diff --git a/test-ports/ports-mgmt/poudriere-devel-dep-FOO/pkg-descr b/test-ports/ports-mgmt/poudriere-devel-dep-FOO/pkg-descr
new file mode 100644
index 00000000..3e950072
--- /dev/null
+++ b/test-ports/ports-mgmt/poudriere-devel-dep-FOO/pkg-descr
@@ -0,0 +1,5 @@
+poudriere is a tool primarily designed to test package production on
+FreeBSD. However, most people will find it useful to bulk build ports
+for FreeBSD.
+
+WWW: https://github.com/freebsd/poudriere/wiki
diff --git a/test-ports/ports-mgmt/poudriere-devel-dep-FOO/pkg-plist b/test-ports/ports-mgmt/poudriere-devel-dep-FOO/pkg-plist
new file mode 100644
index 00000000..b271ff6a
--- /dev/null
+++ b/test-ports/ports-mgmt/poudriere-devel-dep-FOO/pkg-plist
@@ -0,0 +1,98 @@
+bin/poudriere
+@sample etc/poudriere.conf.sample
+%%ETCDIR%%/hooks/bulk.sh.sample
+%%ETCDIR%%/hooks/pkgbuild.sh.sample
+@sample etc/poudriered.conf.sample
+etc/rc.d/poudriered
+libexec/poudriere/cachec
+libexec/poudriere/cached
+libexec/poudriere/clock
+libexec/poudriere/cpdup
+libexec/poudriere/dirempty
+libexec/poudriere/dirwatch
+libexec/poudriere/jexecd
+libexec/poudriere/locked_mkdir
+libexec/poudriere/nc
+libexec/poudriere/poudriered
+libexec/poudriere/ptsort
+libexec/poudriere/pwait
+libexec/poudriere/rename
+libexec/poudriere/rexec
+%%RM%%libexec/poudriere/rm
+libexec/poudriere/sh
+libexec/poudriere/timeout
+libexec/poudriere/timestamp
+libexec/poudriere/tsort
+man/man8/poudriere.8.gz
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/httpd.conf.sample
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nginx.conf.sample
+%%DATADIR%%/MANIFESTS
+%%DATADIR%%/awk/dependency_loop.awk
+%%DATADIR%%/awk/humanize.awk
+%%DATADIR%%/awk/json.awk
+%%DATADIR%%/awk/json_jail.awk
+%%DATADIR%%/awk/json_top.awk
+%%DATADIR%%/awk/processonelog2.awk
+%%DATADIR%%/awk/siginfo_buildtime.awk
+%%DATADIR%%/api.sh
+%%DATADIR%%/bulk.sh
+%%DATADIR%%/clean.sh
+%%DATADIR%%/common.sh
+%%DATADIR%%/daemon.sh
+%%DATADIR%%/distclean.sh
+%%DATADIR%%/html/assets/DataTables-1.10.0/css/jquery.dataTables.min.css
+%%DATADIR%%/html/assets/DataTables-1.10.0/css/jquery.dataTables_themeroller.min.css
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/back_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/back_enabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/back_enabled_hover.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/forward_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/forward_enabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/forward_enabled_hover.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_asc.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_asc_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_both.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_desc.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_desc_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/js/jquery.dataTables.min.js
+%%DATADIR%%/html/assets/bootstrap-3.1.1/css/bootstrap-theme.min.css
+%%DATADIR%%/html/assets/bootstrap-3.1.1/css/bootstrap.min.css
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.eot
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.svg
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.ttf
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.woff
+%%DATADIR%%/html/assets/bootstrap-3.1.1/js/bootstrap.min.js
+%%DATADIR%%/html/assets/favicon.ico
+%%DATADIR%%/html/assets/jquery-1.11.1.js
+%%DATADIR%%/html/assets/jquery-1.11.1.min.js
+%%DATADIR%%/html/assets/jquery-1.11.1.min.map
+%%DATADIR%%/html/assets/jquery.dataTables.rowGrouping-1.2.9.js
+%%DATADIR%%/html/assets/logo.svg
+%%DATADIR%%/html/assets/poudriere.css
+%%DATADIR%%/html/assets/poudriere.js
+%%DATADIR%%/html/build.html
+%%DATADIR%%/html/index.html
+%%DATADIR%%/html/jail.html
+%%DATADIR%%/html/robots.txt
+%%DATADIR%%/image.sh
+%%DATADIR%%/include/cache.sh
+%%DATADIR%%/include/colors.pre.sh
+%%DATADIR%%/include/colors.sh
+%%DATADIR%%/include/common.sh.dragonfly
+%%DATADIR%%/include/common.sh.freebsd
+%%DATADIR%%/include/display.sh
+%%DATADIR%%/include/fs.sh
+%%DATADIR%%/include/hash.sh
+%%DATADIR%%/include/html.sh
+%%DATADIR%%/include/parallel.sh
+%%DATADIR%%/include/shared_hash.sh
+%%DATADIR%%/include/util.sh
+%%DATADIR%%/jail.sh
+%%DATADIR%%/logclean.sh
+%%DATADIR%%/options.sh
+%%DATADIR%%/pkgclean.sh
+%%DATADIR%%/ports.sh
+%%DATADIR%%/processonelog.sh
+%%DATADIR%%/queue.sh
+%%DATADIR%%/status.sh
+%%DATADIR%%/testport.sh
+%%ZSH%%share/zsh/site-functions/_poudriere
diff --git a/test-ports/ports-mgmt/poudriere-devel-dep-IGNORED/Makefile b/test-ports/ports-mgmt/poudriere-devel-dep-IGNORED/Makefile
new file mode 100644
index 00000000..1199ba3a
--- /dev/null
+++ b/test-ports/ports-mgmt/poudriere-devel-dep-IGNORED/Makefile
@@ -0,0 +1,59 @@
+# $FreeBSD: head/ports-mgmt/poudriere-devel/Makefile 442301 2017-06-01 17:21:46Z bdrewery $
+
+PORTNAME= poudriere
+DISTVERSION= 3.1.99.20170601
+PORTREVISION= 1
+CATEGORIES= ports-mgmt
+MASTER_SITES= LOCAL/bdrewery/${PORTNAME}/ \
+ http://mirror.shatow.net/freebsd/${PORTNAME}/ \
+ GH
+PKGNAMESUFFIX= -devel-dep-IGNORED
+
+MAINTAINER= bdrewery@FreeBSD.org
+COMMENT= Port build and test system
+
+LICENSE= BSD2CLAUSE
+
+CONFLICTS_INSTALL= poudriere-[0-9]*
+
+USE_GITHUB= yes
+GH_ACCOUNT= freebsd
+GH_TAGNAME= 3.0-2145-gdc462a9d
+#DISTNAME= ${GH_ACCOUNT}-${GH_PROJECT}-${GH_TAGNAME}
+
+GNU_CONFIGURE= yes
+ETCDIR= ${PREFIX}/etc/poudriere.d
+
+OPTIONS_DEFINE= ZSH EXAMPLES
+OPTIONS_DEFAULT=ZSH
+OPTIONS_SUB= yes
+
+RUN_DEPENDS+= freebsd-release-manifests>0:misc/freebsd-release-manifests
+RUN_DEPENDS+= poudriere-devel-IGNORED>0:ports-mgmt/poudriere-devel-IGNORED
+
+.include <bsd.port.options.mk>
+
+# rm -x support came in 10.0. A bundled rm is used if not supported in base.
+# While <10 is technically not supported in the Ports Tree, Poudriere
+# detects this and it being a package build tool it should still be
+# supported as a user may be installing this to build packages for upgrading
+# their system to a supported release.
+.if ${OSVERSION} < 1000000
+PLIST_SUB+= RM=""
+.else
+PLIST_SUB+= RM="@comment "
+.endif
+
+pre-install:
+ ${REINPLACE_CMD} \
+ -e "s,^\(POUDRIERE_VERSION\)=.*,\1='${PKGVERSION}'," \
+ ${WRKSRC}/src/bin/poudriere
+
+post-install:
+ @${MKDIR} ${STAGEDIR}${PREFIX}/share/zsh/site-functions/
+ ${INSTALL_DATA} ${WRKSRC}/completions/zsh/_poudriere \
+ ${STAGEDIR}${PREFIX}/share/zsh/site-functions/
+ ${LN} -fs ${LOCALBASE}/share/freebsd/MANIFESTS \
+ ${STAGEDIR}${DATADIR}/MANIFESTS
+
+.include <bsd.port.mk>
diff --git a/test-ports/ports-mgmt/poudriere-devel-dep-IGNORED/distinfo b/test-ports/ports-mgmt/poudriere-devel-dep-IGNORED/distinfo
new file mode 100644
index 00000000..ae627c4a
--- /dev/null
+++ b/test-ports/ports-mgmt/poudriere-devel-dep-IGNORED/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1496337650
+SHA256 (freebsd-poudriere-3.1.99.20170601-3.0-2145-gdc462a9d_GH0.tar.gz) = 294e3379661aa8b6879794e4e01c4eb8c962a2060bae412bea4c61ea4127f8c6
+SIZE (freebsd-poudriere-3.1.99.20170601-3.0-2145-gdc462a9d_GH0.tar.gz) = 2986209
diff --git a/test-ports/ports-mgmt/poudriere-devel-dep-IGNORED/pkg-descr b/test-ports/ports-mgmt/poudriere-devel-dep-IGNORED/pkg-descr
new file mode 100644
index 00000000..3e950072
--- /dev/null
+++ b/test-ports/ports-mgmt/poudriere-devel-dep-IGNORED/pkg-descr
@@ -0,0 +1,5 @@
+poudriere is a tool primarily designed to test package production on
+FreeBSD. However, most people will find it useful to bulk build ports
+for FreeBSD.
+
+WWW: https://github.com/freebsd/poudriere/wiki
diff --git a/test-ports/ports-mgmt/poudriere-devel-dep-IGNORED/pkg-plist b/test-ports/ports-mgmt/poudriere-devel-dep-IGNORED/pkg-plist
new file mode 100644
index 00000000..b271ff6a
--- /dev/null
+++ b/test-ports/ports-mgmt/poudriere-devel-dep-IGNORED/pkg-plist
@@ -0,0 +1,98 @@
+bin/poudriere
+@sample etc/poudriere.conf.sample
+%%ETCDIR%%/hooks/bulk.sh.sample
+%%ETCDIR%%/hooks/pkgbuild.sh.sample
+@sample etc/poudriered.conf.sample
+etc/rc.d/poudriered
+libexec/poudriere/cachec
+libexec/poudriere/cached
+libexec/poudriere/clock
+libexec/poudriere/cpdup
+libexec/poudriere/dirempty
+libexec/poudriere/dirwatch
+libexec/poudriere/jexecd
+libexec/poudriere/locked_mkdir
+libexec/poudriere/nc
+libexec/poudriere/poudriered
+libexec/poudriere/ptsort
+libexec/poudriere/pwait
+libexec/poudriere/rename
+libexec/poudriere/rexec
+%%RM%%libexec/poudriere/rm
+libexec/poudriere/sh
+libexec/poudriere/timeout
+libexec/poudriere/timestamp
+libexec/poudriere/tsort
+man/man8/poudriere.8.gz
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/httpd.conf.sample
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nginx.conf.sample
+%%DATADIR%%/MANIFESTS
+%%DATADIR%%/awk/dependency_loop.awk
+%%DATADIR%%/awk/humanize.awk
+%%DATADIR%%/awk/json.awk
+%%DATADIR%%/awk/json_jail.awk
+%%DATADIR%%/awk/json_top.awk
+%%DATADIR%%/awk/processonelog2.awk
+%%DATADIR%%/awk/siginfo_buildtime.awk
+%%DATADIR%%/api.sh
+%%DATADIR%%/bulk.sh
+%%DATADIR%%/clean.sh
+%%DATADIR%%/common.sh
+%%DATADIR%%/daemon.sh
+%%DATADIR%%/distclean.sh
+%%DATADIR%%/html/assets/DataTables-1.10.0/css/jquery.dataTables.min.css
+%%DATADIR%%/html/assets/DataTables-1.10.0/css/jquery.dataTables_themeroller.min.css
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/back_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/back_enabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/back_enabled_hover.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/forward_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/forward_enabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/forward_enabled_hover.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_asc.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_asc_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_both.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_desc.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_desc_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/js/jquery.dataTables.min.js
+%%DATADIR%%/html/assets/bootstrap-3.1.1/css/bootstrap-theme.min.css
+%%DATADIR%%/html/assets/bootstrap-3.1.1/css/bootstrap.min.css
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.eot
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.svg
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.ttf
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.woff
+%%DATADIR%%/html/assets/bootstrap-3.1.1/js/bootstrap.min.js
+%%DATADIR%%/html/assets/favicon.ico
+%%DATADIR%%/html/assets/jquery-1.11.1.js
+%%DATADIR%%/html/assets/jquery-1.11.1.min.js
+%%DATADIR%%/html/assets/jquery-1.11.1.min.map
+%%DATADIR%%/html/assets/jquery.dataTables.rowGrouping-1.2.9.js
+%%DATADIR%%/html/assets/logo.svg
+%%DATADIR%%/html/assets/poudriere.css
+%%DATADIR%%/html/assets/poudriere.js
+%%DATADIR%%/html/build.html
+%%DATADIR%%/html/index.html
+%%DATADIR%%/html/jail.html
+%%DATADIR%%/html/robots.txt
+%%DATADIR%%/image.sh
+%%DATADIR%%/include/cache.sh
+%%DATADIR%%/include/colors.pre.sh
+%%DATADIR%%/include/colors.sh
+%%DATADIR%%/include/common.sh.dragonfly
+%%DATADIR%%/include/common.sh.freebsd
+%%DATADIR%%/include/display.sh
+%%DATADIR%%/include/fs.sh
+%%DATADIR%%/include/hash.sh
+%%DATADIR%%/include/html.sh
+%%DATADIR%%/include/parallel.sh
+%%DATADIR%%/include/shared_hash.sh
+%%DATADIR%%/include/util.sh
+%%DATADIR%%/jail.sh
+%%DATADIR%%/logclean.sh
+%%DATADIR%%/options.sh
+%%DATADIR%%/pkgclean.sh
+%%DATADIR%%/ports.sh
+%%DATADIR%%/processonelog.sh
+%%DATADIR%%/queue.sh
+%%DATADIR%%/status.sh
+%%DATADIR%%/testport.sh
+%%ZSH%%share/zsh/site-functions/_poudriere
diff --git a/test-ports/ports-mgmt/poudriere-devel-dep-INVALID/Makefile b/test-ports/ports-mgmt/poudriere-devel-dep-INVALID/Makefile
new file mode 100644
index 00000000..21e58c6f
--- /dev/null
+++ b/test-ports/ports-mgmt/poudriere-devel-dep-INVALID/Makefile
@@ -0,0 +1,59 @@
+# $FreeBSD: head/ports-mgmt/poudriere-devel/Makefile 442301 2017-06-01 17:21:46Z bdrewery $
+
+PORTNAME= poudriere
+DISTVERSION= 3.1.99.20170601
+PORTREVISION= 1
+CATEGORIES= ports-mgmt
+MASTER_SITES= LOCAL/bdrewery/${PORTNAME}/ \
+ http://mirror.shatow.net/freebsd/${PORTNAME}/ \
+ GH
+PKGNAMESUFFIX= -devel
+PKGNAMESUFFIX:= ${PKGNAMESUFFIX}-dep-INVALID
+
+MAINTAINER= bdrewery@FreeBSD.org
+COMMENT= Port build and test system
+
+LICENSE= BSD2CLAUSE
+
+CONFLICTS_INSTALL= poudriere-[0-9]*
+
+USE_GITHUB= yes
+GH_ACCOUNT= freebsd
+GH_TAGNAME= 3.0-2145-gdc462a9d
+#DISTNAME= ${GH_ACCOUNT}-${GH_PROJECT}-${GH_TAGNAME}
+
+GNU_CONFIGURE= yes
+ETCDIR= ${PREFIX}/etc/poudriere.d
+
+OPTIONS_DEFINE= ZSH EXAMPLES
+OPTIONS_DEFAULT=ZSH
+OPTIONS_SUB= yes
+
+RUN_DEPENDS+= freebsd-release-manifests-INVALID>0:misc/freebsd-release-manifests@INVALID
+
+.include <bsd.port.options.mk>
+
+# rm -x support came in 10.0. A bundled rm is used if not supported in base.
+# While <10 is technically not supported in the Ports Tree, Poudriere
+# detects this and it being a package build tool it should still be
+# supported as a user may be installing this to build packages for upgrading
+# their system to a supported release.
+.if ${OSVERSION} < 1000000
+PLIST_SUB+= RM=""
+.else
+PLIST_SUB+= RM="@comment "
+.endif
+
+pre-install:
+ ${REINPLACE_CMD} \
+ -e "s,^\(POUDRIERE_VERSION\)=.*,\1='${PKGVERSION}'," \
+ ${WRKSRC}/src/bin/poudriere
+
+post-install:
+ @${MKDIR} ${STAGEDIR}${PREFIX}/share/zsh/site-functions/
+ ${INSTALL_DATA} ${WRKSRC}/completions/zsh/_poudriere \
+ ${STAGEDIR}${PREFIX}/share/zsh/site-functions/
+ ${LN} -fs ${LOCALBASE}/share/freebsd/MANIFESTS \
+ ${STAGEDIR}${DATADIR}/MANIFESTS
+
+.include <bsd.port.mk>
diff --git a/test-ports/ports-mgmt/poudriere-devel-dep-INVALID/distinfo b/test-ports/ports-mgmt/poudriere-devel-dep-INVALID/distinfo
new file mode 100644
index 00000000..ae627c4a
--- /dev/null
+++ b/test-ports/ports-mgmt/poudriere-devel-dep-INVALID/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1496337650
+SHA256 (freebsd-poudriere-3.1.99.20170601-3.0-2145-gdc462a9d_GH0.tar.gz) = 294e3379661aa8b6879794e4e01c4eb8c962a2060bae412bea4c61ea4127f8c6
+SIZE (freebsd-poudriere-3.1.99.20170601-3.0-2145-gdc462a9d_GH0.tar.gz) = 2986209
diff --git a/test-ports/ports-mgmt/poudriere-devel-dep-INVALID/pkg-descr b/test-ports/ports-mgmt/poudriere-devel-dep-INVALID/pkg-descr
new file mode 100644
index 00000000..3e950072
--- /dev/null
+++ b/test-ports/ports-mgmt/poudriere-devel-dep-INVALID/pkg-descr
@@ -0,0 +1,5 @@
+poudriere is a tool primarily designed to test package production on
+FreeBSD. However, most people will find it useful to bulk build ports
+for FreeBSD.
+
+WWW: https://github.com/freebsd/poudriere/wiki
diff --git a/test-ports/ports-mgmt/poudriere-devel-dep-INVALID/pkg-plist b/test-ports/ports-mgmt/poudriere-devel-dep-INVALID/pkg-plist
new file mode 100644
index 00000000..b271ff6a
--- /dev/null
+++ b/test-ports/ports-mgmt/poudriere-devel-dep-INVALID/pkg-plist
@@ -0,0 +1,98 @@
+bin/poudriere
+@sample etc/poudriere.conf.sample
+%%ETCDIR%%/hooks/bulk.sh.sample
+%%ETCDIR%%/hooks/pkgbuild.sh.sample
+@sample etc/poudriered.conf.sample
+etc/rc.d/poudriered
+libexec/poudriere/cachec
+libexec/poudriere/cached
+libexec/poudriere/clock
+libexec/poudriere/cpdup
+libexec/poudriere/dirempty
+libexec/poudriere/dirwatch
+libexec/poudriere/jexecd
+libexec/poudriere/locked_mkdir
+libexec/poudriere/nc
+libexec/poudriere/poudriered
+libexec/poudriere/ptsort
+libexec/poudriere/pwait
+libexec/poudriere/rename
+libexec/poudriere/rexec
+%%RM%%libexec/poudriere/rm
+libexec/poudriere/sh
+libexec/poudriere/timeout
+libexec/poudriere/timestamp
+libexec/poudriere/tsort
+man/man8/poudriere.8.gz
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/httpd.conf.sample
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nginx.conf.sample
+%%DATADIR%%/MANIFESTS
+%%DATADIR%%/awk/dependency_loop.awk
+%%DATADIR%%/awk/humanize.awk
+%%DATADIR%%/awk/json.awk
+%%DATADIR%%/awk/json_jail.awk
+%%DATADIR%%/awk/json_top.awk
+%%DATADIR%%/awk/processonelog2.awk
+%%DATADIR%%/awk/siginfo_buildtime.awk
+%%DATADIR%%/api.sh
+%%DATADIR%%/bulk.sh
+%%DATADIR%%/clean.sh
+%%DATADIR%%/common.sh
+%%DATADIR%%/daemon.sh
+%%DATADIR%%/distclean.sh
+%%DATADIR%%/html/assets/DataTables-1.10.0/css/jquery.dataTables.min.css
+%%DATADIR%%/html/assets/DataTables-1.10.0/css/jquery.dataTables_themeroller.min.css
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/back_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/back_enabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/back_enabled_hover.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/forward_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/forward_enabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/forward_enabled_hover.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_asc.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_asc_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_both.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_desc.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_desc_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/js/jquery.dataTables.min.js
+%%DATADIR%%/html/assets/bootstrap-3.1.1/css/bootstrap-theme.min.css
+%%DATADIR%%/html/assets/bootstrap-3.1.1/css/bootstrap.min.css
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.eot
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.svg
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.ttf
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.woff
+%%DATADIR%%/html/assets/bootstrap-3.1.1/js/bootstrap.min.js
+%%DATADIR%%/html/assets/favicon.ico
+%%DATADIR%%/html/assets/jquery-1.11.1.js
+%%DATADIR%%/html/assets/jquery-1.11.1.min.js
+%%DATADIR%%/html/assets/jquery-1.11.1.min.map
+%%DATADIR%%/html/assets/jquery.dataTables.rowGrouping-1.2.9.js
+%%DATADIR%%/html/assets/logo.svg
+%%DATADIR%%/html/assets/poudriere.css
+%%DATADIR%%/html/assets/poudriere.js
+%%DATADIR%%/html/build.html
+%%DATADIR%%/html/index.html
+%%DATADIR%%/html/jail.html
+%%DATADIR%%/html/robots.txt
+%%DATADIR%%/image.sh
+%%DATADIR%%/include/cache.sh
+%%DATADIR%%/include/colors.pre.sh
+%%DATADIR%%/include/colors.sh
+%%DATADIR%%/include/common.sh.dragonfly
+%%DATADIR%%/include/common.sh.freebsd
+%%DATADIR%%/include/display.sh
+%%DATADIR%%/include/fs.sh
+%%DATADIR%%/include/hash.sh
+%%DATADIR%%/include/html.sh
+%%DATADIR%%/include/parallel.sh
+%%DATADIR%%/include/shared_hash.sh
+%%DATADIR%%/include/util.sh
+%%DATADIR%%/jail.sh
+%%DATADIR%%/logclean.sh
+%%DATADIR%%/options.sh
+%%DATADIR%%/pkgclean.sh
+%%DATADIR%%/ports.sh
+%%DATADIR%%/processonelog.sh
+%%DATADIR%%/queue.sh
+%%DATADIR%%/status.sh
+%%DATADIR%%/testport.sh
+%%ZSH%%share/zsh/site-functions/_poudriere
diff --git a/test-ports/ports-mgmt/poudriere-devel-dep2-IGNORED/Makefile b/test-ports/ports-mgmt/poudriere-devel-dep2-IGNORED/Makefile
new file mode 100644
index 00000000..57181c5c
--- /dev/null
+++ b/test-ports/ports-mgmt/poudriere-devel-dep2-IGNORED/Makefile
@@ -0,0 +1,59 @@
+# $FreeBSD: head/ports-mgmt/poudriere-devel/Makefile 442301 2017-06-01 17:21:46Z bdrewery $
+
+PORTNAME= poudriere
+DISTVERSION= 3.1.99.20170601
+PORTREVISION= 1
+CATEGORIES= ports-mgmt
+MASTER_SITES= LOCAL/bdrewery/${PORTNAME}/ \
+ http://mirror.shatow.net/freebsd/${PORTNAME}/ \
+ GH
+PKGNAMESUFFIX= -devel-dep2-IGNORED
+
+MAINTAINER= bdrewery@FreeBSD.org
+COMMENT= Port build and test system
+
+LICENSE= BSD2CLAUSE
+
+CONFLICTS_INSTALL= poudriere-[0-9]*
+
+USE_GITHUB= yes
+GH_ACCOUNT= freebsd
+GH_TAGNAME= 3.0-2145-gdc462a9d
+#DISTNAME= ${GH_ACCOUNT}-${GH_PROJECT}-${GH_TAGNAME}
+
+GNU_CONFIGURE= yes
+ETCDIR= ${PREFIX}/etc/poudriere.d
+
+OPTIONS_DEFINE= ZSH EXAMPLES
+OPTIONS_DEFAULT=ZSH
+OPTIONS_SUB= yes
+
+RUN_DEPENDS+= freebsd-release-manifests>0:misc/freebsd-release-manifests
+RUN_DEPENDS+= poudriere-devel-IGNORED>0:ports-mgmt/poudriere-devel-IGNORED
+
+.include <bsd.port.options.mk>
+
+# rm -x support came in 10.0. A bundled rm is used if not supported in base.
+# While <10 is technically not supported in the Ports Tree, Poudriere
+# detects this and it being a package build tool it should still be
+# supported as a user may be installing this to build packages for upgrading
+# their system to a supported release.
+.if ${OSVERSION} < 1000000
+PLIST_SUB+= RM=""
+.else
+PLIST_SUB+= RM="@comment "
+.endif
+
+pre-install:
+ ${REINPLACE_CMD} \
+ -e "s,^\(POUDRIERE_VERSION\)=.*,\1='${PKGVERSION}'," \
+ ${WRKSRC}/src/bin/poudriere
+
+post-install:
+ @${MKDIR} ${STAGEDIR}${PREFIX}/share/zsh/site-functions/
+ ${INSTALL_DATA} ${WRKSRC}/completions/zsh/_poudriere \
+ ${STAGEDIR}${PREFIX}/share/zsh/site-functions/
+ ${LN} -fs ${LOCALBASE}/share/freebsd/MANIFESTS \
+ ${STAGEDIR}${DATADIR}/MANIFESTS
+
+.include <bsd.port.mk>
diff --git a/test-ports/ports-mgmt/poudriere-devel-dep2-IGNORED/distinfo b/test-ports/ports-mgmt/poudriere-devel-dep2-IGNORED/distinfo
new file mode 100644
index 00000000..ae627c4a
--- /dev/null
+++ b/test-ports/ports-mgmt/poudriere-devel-dep2-IGNORED/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1496337650
+SHA256 (freebsd-poudriere-3.1.99.20170601-3.0-2145-gdc462a9d_GH0.tar.gz) = 294e3379661aa8b6879794e4e01c4eb8c962a2060bae412bea4c61ea4127f8c6
+SIZE (freebsd-poudriere-3.1.99.20170601-3.0-2145-gdc462a9d_GH0.tar.gz) = 2986209
diff --git a/test-ports/ports-mgmt/poudriere-devel-dep2-IGNORED/pkg-descr b/test-ports/ports-mgmt/poudriere-devel-dep2-IGNORED/pkg-descr
new file mode 100644
index 00000000..3e950072
--- /dev/null
+++ b/test-ports/ports-mgmt/poudriere-devel-dep2-IGNORED/pkg-descr
@@ -0,0 +1,5 @@
+poudriere is a tool primarily designed to test package production on
+FreeBSD. However, most people will find it useful to bulk build ports
+for FreeBSD.
+
+WWW: https://github.com/freebsd/poudriere/wiki
diff --git a/test-ports/ports-mgmt/poudriere-devel-dep2-IGNORED/pkg-plist b/test-ports/ports-mgmt/poudriere-devel-dep2-IGNORED/pkg-plist
new file mode 100644
index 00000000..b271ff6a
--- /dev/null
+++ b/test-ports/ports-mgmt/poudriere-devel-dep2-IGNORED/pkg-plist
@@ -0,0 +1,98 @@
+bin/poudriere
+@sample etc/poudriere.conf.sample
+%%ETCDIR%%/hooks/bulk.sh.sample
+%%ETCDIR%%/hooks/pkgbuild.sh.sample
+@sample etc/poudriered.conf.sample
+etc/rc.d/poudriered
+libexec/poudriere/cachec
+libexec/poudriere/cached
+libexec/poudriere/clock
+libexec/poudriere/cpdup
+libexec/poudriere/dirempty
+libexec/poudriere/dirwatch
+libexec/poudriere/jexecd
+libexec/poudriere/locked_mkdir
+libexec/poudriere/nc
+libexec/poudriere/poudriered
+libexec/poudriere/ptsort
+libexec/poudriere/pwait
+libexec/poudriere/rename
+libexec/poudriere/rexec
+%%RM%%libexec/poudriere/rm
+libexec/poudriere/sh
+libexec/poudriere/timeout
+libexec/poudriere/timestamp
+libexec/poudriere/tsort
+man/man8/poudriere.8.gz
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/httpd.conf.sample
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nginx.conf.sample
+%%DATADIR%%/MANIFESTS
+%%DATADIR%%/awk/dependency_loop.awk
+%%DATADIR%%/awk/humanize.awk
+%%DATADIR%%/awk/json.awk
+%%DATADIR%%/awk/json_jail.awk
+%%DATADIR%%/awk/json_top.awk
+%%DATADIR%%/awk/processonelog2.awk
+%%DATADIR%%/awk/siginfo_buildtime.awk
+%%DATADIR%%/api.sh
+%%DATADIR%%/bulk.sh
+%%DATADIR%%/clean.sh
+%%DATADIR%%/common.sh
+%%DATADIR%%/daemon.sh
+%%DATADIR%%/distclean.sh
+%%DATADIR%%/html/assets/DataTables-1.10.0/css/jquery.dataTables.min.css
+%%DATADIR%%/html/assets/DataTables-1.10.0/css/jquery.dataTables_themeroller.min.css
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/back_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/back_enabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/back_enabled_hover.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/forward_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/forward_enabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/forward_enabled_hover.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_asc.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_asc_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_both.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_desc.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_desc_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/js/jquery.dataTables.min.js
+%%DATADIR%%/html/assets/bootstrap-3.1.1/css/bootstrap-theme.min.css
+%%DATADIR%%/html/assets/bootstrap-3.1.1/css/bootstrap.min.css
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.eot
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.svg
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.ttf
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.woff
+%%DATADIR%%/html/assets/bootstrap-3.1.1/js/bootstrap.min.js
+%%DATADIR%%/html/assets/favicon.ico
+%%DATADIR%%/html/assets/jquery-1.11.1.js
+%%DATADIR%%/html/assets/jquery-1.11.1.min.js
+%%DATADIR%%/html/assets/jquery-1.11.1.min.map
+%%DATADIR%%/html/assets/jquery.dataTables.rowGrouping-1.2.9.js
+%%DATADIR%%/html/assets/logo.svg
+%%DATADIR%%/html/assets/poudriere.css
+%%DATADIR%%/html/assets/poudriere.js
+%%DATADIR%%/html/build.html
+%%DATADIR%%/html/index.html
+%%DATADIR%%/html/jail.html
+%%DATADIR%%/html/robots.txt
+%%DATADIR%%/image.sh
+%%DATADIR%%/include/cache.sh
+%%DATADIR%%/include/colors.pre.sh
+%%DATADIR%%/include/colors.sh
+%%DATADIR%%/include/common.sh.dragonfly
+%%DATADIR%%/include/common.sh.freebsd
+%%DATADIR%%/include/display.sh
+%%DATADIR%%/include/fs.sh
+%%DATADIR%%/include/hash.sh
+%%DATADIR%%/include/html.sh
+%%DATADIR%%/include/parallel.sh
+%%DATADIR%%/include/shared_hash.sh
+%%DATADIR%%/include/util.sh
+%%DATADIR%%/jail.sh
+%%DATADIR%%/logclean.sh
+%%DATADIR%%/options.sh
+%%DATADIR%%/pkgclean.sh
+%%DATADIR%%/ports.sh
+%%DATADIR%%/processonelog.sh
+%%DATADIR%%/queue.sh
+%%DATADIR%%/status.sh
+%%DATADIR%%/testport.sh
+%%ZSH%%share/zsh/site-functions/_poudriere
diff --git a/test-ports/ports-mgmt/poudriere-devel/Makefile b/test-ports/ports-mgmt/poudriere-devel/Makefile
new file mode 100644
index 00000000..af0e0618
--- /dev/null
+++ b/test-ports/ports-mgmt/poudriere-devel/Makefile
@@ -0,0 +1,58 @@
+# $FreeBSD: head/ports-mgmt/poudriere-devel/Makefile 442301 2017-06-01 17:21:46Z bdrewery $
+
+PORTNAME= poudriere
+DISTVERSION= 3.1.99.20170601
+PORTREVISION= 1
+CATEGORIES= ports-mgmt
+MASTER_SITES= LOCAL/bdrewery/${PORTNAME}/ \
+ http://mirror.shatow.net/freebsd/${PORTNAME}/ \
+ GH
+PKGNAMESUFFIX= -devel
+
+MAINTAINER= bdrewery@FreeBSD.org
+COMMENT= Port build and test system
+
+LICENSE= BSD2CLAUSE
+
+CONFLICTS_INSTALL= poudriere-[0-9]*
+
+USE_GITHUB= yes
+GH_ACCOUNT= freebsd
+GH_TAGNAME= 3.0-2145-gdc462a9d
+#DISTNAME= ${GH_ACCOUNT}-${GH_PROJECT}-${GH_TAGNAME}
+
+GNU_CONFIGURE= yes
+ETCDIR= ${PREFIX}/etc/poudriere.d
+
+OPTIONS_DEFINE= ZSH EXAMPLES
+OPTIONS_DEFAULT=ZSH
+OPTIONS_SUB= yes
+
+RUN_DEPENDS+= freebsd-release-manifests>0:misc/freebsd-release-manifests
+
+.include <bsd.port.options.mk>
+
+# rm -x support came in 10.0. A bundled rm is used if not supported in base.
+# While <10 is technically not supported in the Ports Tree, Poudriere
+# detects this and it being a package build tool it should still be
+# supported as a user may be installing this to build packages for upgrading
+# their system to a supported release.
+.if ${OSVERSION} < 1000000
+PLIST_SUB+= RM=""
+.else
+PLIST_SUB+= RM="@comment "
+.endif
+
+pre-install:
+ ${REINPLACE_CMD} \
+ -e "s,^\(POUDRIERE_VERSION\)=.*,\1='${PKGVERSION}'," \
+ ${WRKSRC}/src/bin/poudriere
+
+post-install:
+ @${MKDIR} ${STAGEDIR}${PREFIX}/share/zsh/site-functions/
+ ${INSTALL_DATA} ${WRKSRC}/completions/zsh/_poudriere \
+ ${STAGEDIR}${PREFIX}/share/zsh/site-functions/
+ ${LN} -fs ${LOCALBASE}/share/freebsd/MANIFESTS \
+ ${STAGEDIR}${DATADIR}/MANIFESTS
+
+.include <bsd.port.mk>
diff --git a/test-ports/ports-mgmt/poudriere-devel/distinfo b/test-ports/ports-mgmt/poudriere-devel/distinfo
new file mode 100644
index 00000000..ae627c4a
--- /dev/null
+++ b/test-ports/ports-mgmt/poudriere-devel/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1496337650
+SHA256 (freebsd-poudriere-3.1.99.20170601-3.0-2145-gdc462a9d_GH0.tar.gz) = 294e3379661aa8b6879794e4e01c4eb8c962a2060bae412bea4c61ea4127f8c6
+SIZE (freebsd-poudriere-3.1.99.20170601-3.0-2145-gdc462a9d_GH0.tar.gz) = 2986209
diff --git a/test-ports/ports-mgmt/poudriere-devel/pkg-descr b/test-ports/ports-mgmt/poudriere-devel/pkg-descr
new file mode 100644
index 00000000..3e950072
--- /dev/null
+++ b/test-ports/ports-mgmt/poudriere-devel/pkg-descr
@@ -0,0 +1,5 @@
+poudriere is a tool primarily designed to test package production on
+FreeBSD. However, most people will find it useful to bulk build ports
+for FreeBSD.
+
+WWW: https://github.com/freebsd/poudriere/wiki
diff --git a/test-ports/ports-mgmt/poudriere-devel/pkg-plist b/test-ports/ports-mgmt/poudriere-devel/pkg-plist
new file mode 100644
index 00000000..b271ff6a
--- /dev/null
+++ b/test-ports/ports-mgmt/poudriere-devel/pkg-plist
@@ -0,0 +1,98 @@
+bin/poudriere
+@sample etc/poudriere.conf.sample
+%%ETCDIR%%/hooks/bulk.sh.sample
+%%ETCDIR%%/hooks/pkgbuild.sh.sample
+@sample etc/poudriered.conf.sample
+etc/rc.d/poudriered
+libexec/poudriere/cachec
+libexec/poudriere/cached
+libexec/poudriere/clock
+libexec/poudriere/cpdup
+libexec/poudriere/dirempty
+libexec/poudriere/dirwatch
+libexec/poudriere/jexecd
+libexec/poudriere/locked_mkdir
+libexec/poudriere/nc
+libexec/poudriere/poudriered
+libexec/poudriere/ptsort
+libexec/poudriere/pwait
+libexec/poudriere/rename
+libexec/poudriere/rexec
+%%RM%%libexec/poudriere/rm
+libexec/poudriere/sh
+libexec/poudriere/timeout
+libexec/poudriere/timestamp
+libexec/poudriere/tsort
+man/man8/poudriere.8.gz
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/httpd.conf.sample
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nginx.conf.sample
+%%DATADIR%%/MANIFESTS
+%%DATADIR%%/awk/dependency_loop.awk
+%%DATADIR%%/awk/humanize.awk
+%%DATADIR%%/awk/json.awk
+%%DATADIR%%/awk/json_jail.awk
+%%DATADIR%%/awk/json_top.awk
+%%DATADIR%%/awk/processonelog2.awk
+%%DATADIR%%/awk/siginfo_buildtime.awk
+%%DATADIR%%/api.sh
+%%DATADIR%%/bulk.sh
+%%DATADIR%%/clean.sh
+%%DATADIR%%/common.sh
+%%DATADIR%%/daemon.sh
+%%DATADIR%%/distclean.sh
+%%DATADIR%%/html/assets/DataTables-1.10.0/css/jquery.dataTables.min.css
+%%DATADIR%%/html/assets/DataTables-1.10.0/css/jquery.dataTables_themeroller.min.css
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/back_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/back_enabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/back_enabled_hover.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/forward_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/forward_enabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/forward_enabled_hover.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_asc.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_asc_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_both.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_desc.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_desc_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/js/jquery.dataTables.min.js
+%%DATADIR%%/html/assets/bootstrap-3.1.1/css/bootstrap-theme.min.css
+%%DATADIR%%/html/assets/bootstrap-3.1.1/css/bootstrap.min.css
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.eot
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.svg
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.ttf
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.woff
+%%DATADIR%%/html/assets/bootstrap-3.1.1/js/bootstrap.min.js
+%%DATADIR%%/html/assets/favicon.ico
+%%DATADIR%%/html/assets/jquery-1.11.1.js
+%%DATADIR%%/html/assets/jquery-1.11.1.min.js
+%%DATADIR%%/html/assets/jquery-1.11.1.min.map
+%%DATADIR%%/html/assets/jquery.dataTables.rowGrouping-1.2.9.js
+%%DATADIR%%/html/assets/logo.svg
+%%DATADIR%%/html/assets/poudriere.css
+%%DATADIR%%/html/assets/poudriere.js
+%%DATADIR%%/html/build.html
+%%DATADIR%%/html/index.html
+%%DATADIR%%/html/jail.html
+%%DATADIR%%/html/robots.txt
+%%DATADIR%%/image.sh
+%%DATADIR%%/include/cache.sh
+%%DATADIR%%/include/colors.pre.sh
+%%DATADIR%%/include/colors.sh
+%%DATADIR%%/include/common.sh.dragonfly
+%%DATADIR%%/include/common.sh.freebsd
+%%DATADIR%%/include/display.sh
+%%DATADIR%%/include/fs.sh
+%%DATADIR%%/include/hash.sh
+%%DATADIR%%/include/html.sh
+%%DATADIR%%/include/parallel.sh
+%%DATADIR%%/include/shared_hash.sh
+%%DATADIR%%/include/util.sh
+%%DATADIR%%/jail.sh
+%%DATADIR%%/logclean.sh
+%%DATADIR%%/options.sh
+%%DATADIR%%/pkgclean.sh
+%%DATADIR%%/ports.sh
+%%DATADIR%%/processonelog.sh
+%%DATADIR%%/queue.sh
+%%DATADIR%%/status.sh
+%%DATADIR%%/testport.sh
+%%ZSH%%share/zsh/site-functions/_poudriere
diff --git a/test-ports/ports-mgmt/yyyy/Makefile b/test-ports/ports-mgmt/yyyy/Makefile
new file mode 100644
index 00000000..74b0cdf8
--- /dev/null
+++ b/test-ports/ports-mgmt/yyyy/Makefile
@@ -0,0 +1,58 @@
+# $FreeBSD: head/ports-mgmt/poudriere-devel/Makefile 442301 2017-06-01 17:21:46Z bdrewery $
+
+PORTNAME= yyyy
+DISTVERSION= 3.1.99.20170601
+PORTREVISION= 1
+CATEGORIES= ports-mgmt
+MASTER_SITES= LOCAL/bdrewery/${PORTNAME}/ \
+ http://mirror.shatow.net/freebsd/${PORTNAME}/ \
+ GH
+PKGNAMESUFFIX= -devel
+
+MAINTAINER= bdrewery@FreeBSD.org
+COMMENT= Port build and test system
+
+LICENSE= BSD2CLAUSE
+
+CONFLICTS_INSTALL= poudriere-[0-9]*
+
+USE_GITHUB= yes
+GH_ACCOUNT= freebsd
+GH_TAGNAME= 3.0-2145-gdc462a9d
+#DISTNAME= ${GH_ACCOUNT}-${GH_PROJECT}-${GH_TAGNAME}
+
+GNU_CONFIGURE= yes
+ETCDIR= ${PREFIX}/etc/poudriere.d
+
+OPTIONS_DEFINE= ZSH EXAMPLES
+OPTIONS_DEFAULT=ZSH
+OPTIONS_SUB= yes
+
+RUN_DEPENDS+= foo-FLAV>0:misc/foo@FLAV
+
+.include <bsd.port.options.mk>
+
+# rm -x support came in 10.0. A bundled rm is used if not supported in base.
+# While <10 is technically not supported in the Ports Tree, Poudriere
+# detects this and it being a package build tool it should still be
+# supported as a user may be installing this to build packages for upgrading
+# their system to a supported release.
+.if ${OSVERSION} < 1000000
+PLIST_SUB+= RM=""
+.else
+PLIST_SUB+= RM="@comment "
+.endif
+
+pre-install:
+ ${REINPLACE_CMD} \
+ -e "s,^\(POUDRIERE_VERSION\)=.*,\1='${PKGVERSION}'," \
+ ${WRKSRC}/src/bin/poudriere
+
+post-install:
+ @${MKDIR} ${STAGEDIR}${PREFIX}/share/zsh/site-functions/
+ ${INSTALL_DATA} ${WRKSRC}/completions/zsh/_poudriere \
+ ${STAGEDIR}${PREFIX}/share/zsh/site-functions/
+ ${LN} -fs ${LOCALBASE}/share/freebsd/MANIFESTS \
+ ${STAGEDIR}${DATADIR}/MANIFESTS
+
+.include <bsd.port.mk>
diff --git a/test-ports/ports-mgmt/yyyy/distinfo b/test-ports/ports-mgmt/yyyy/distinfo
new file mode 100644
index 00000000..ae627c4a
--- /dev/null
+++ b/test-ports/ports-mgmt/yyyy/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1496337650
+SHA256 (freebsd-poudriere-3.1.99.20170601-3.0-2145-gdc462a9d_GH0.tar.gz) = 294e3379661aa8b6879794e4e01c4eb8c962a2060bae412bea4c61ea4127f8c6
+SIZE (freebsd-poudriere-3.1.99.20170601-3.0-2145-gdc462a9d_GH0.tar.gz) = 2986209
diff --git a/test-ports/ports-mgmt/yyyy/pkg-descr b/test-ports/ports-mgmt/yyyy/pkg-descr
new file mode 100644
index 00000000..3e950072
--- /dev/null
+++ b/test-ports/ports-mgmt/yyyy/pkg-descr
@@ -0,0 +1,5 @@
+poudriere is a tool primarily designed to test package production on
+FreeBSD. However, most people will find it useful to bulk build ports
+for FreeBSD.
+
+WWW: https://github.com/freebsd/poudriere/wiki
diff --git a/test-ports/ports-mgmt/yyyy/pkg-plist b/test-ports/ports-mgmt/yyyy/pkg-plist
new file mode 100644
index 00000000..b271ff6a
--- /dev/null
+++ b/test-ports/ports-mgmt/yyyy/pkg-plist
@@ -0,0 +1,98 @@
+bin/poudriere
+@sample etc/poudriere.conf.sample
+%%ETCDIR%%/hooks/bulk.sh.sample
+%%ETCDIR%%/hooks/pkgbuild.sh.sample
+@sample etc/poudriered.conf.sample
+etc/rc.d/poudriered
+libexec/poudriere/cachec
+libexec/poudriere/cached
+libexec/poudriere/clock
+libexec/poudriere/cpdup
+libexec/poudriere/dirempty
+libexec/poudriere/dirwatch
+libexec/poudriere/jexecd
+libexec/poudriere/locked_mkdir
+libexec/poudriere/nc
+libexec/poudriere/poudriered
+libexec/poudriere/ptsort
+libexec/poudriere/pwait
+libexec/poudriere/rename
+libexec/poudriere/rexec
+%%RM%%libexec/poudriere/rm
+libexec/poudriere/sh
+libexec/poudriere/timeout
+libexec/poudriere/timestamp
+libexec/poudriere/tsort
+man/man8/poudriere.8.gz
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/httpd.conf.sample
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nginx.conf.sample
+%%DATADIR%%/MANIFESTS
+%%DATADIR%%/awk/dependency_loop.awk
+%%DATADIR%%/awk/humanize.awk
+%%DATADIR%%/awk/json.awk
+%%DATADIR%%/awk/json_jail.awk
+%%DATADIR%%/awk/json_top.awk
+%%DATADIR%%/awk/processonelog2.awk
+%%DATADIR%%/awk/siginfo_buildtime.awk
+%%DATADIR%%/api.sh
+%%DATADIR%%/bulk.sh
+%%DATADIR%%/clean.sh
+%%DATADIR%%/common.sh
+%%DATADIR%%/daemon.sh
+%%DATADIR%%/distclean.sh
+%%DATADIR%%/html/assets/DataTables-1.10.0/css/jquery.dataTables.min.css
+%%DATADIR%%/html/assets/DataTables-1.10.0/css/jquery.dataTables_themeroller.min.css
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/back_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/back_enabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/back_enabled_hover.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/forward_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/forward_enabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/forward_enabled_hover.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_asc.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_asc_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_both.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_desc.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_desc_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/js/jquery.dataTables.min.js
+%%DATADIR%%/html/assets/bootstrap-3.1.1/css/bootstrap-theme.min.css
+%%DATADIR%%/html/assets/bootstrap-3.1.1/css/bootstrap.min.css
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.eot
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.svg
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.ttf
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.woff
+%%DATADIR%%/html/assets/bootstrap-3.1.1/js/bootstrap.min.js
+%%DATADIR%%/html/assets/favicon.ico
+%%DATADIR%%/html/assets/jquery-1.11.1.js
+%%DATADIR%%/html/assets/jquery-1.11.1.min.js
+%%DATADIR%%/html/assets/jquery-1.11.1.min.map
+%%DATADIR%%/html/assets/jquery.dataTables.rowGrouping-1.2.9.js
+%%DATADIR%%/html/assets/logo.svg
+%%DATADIR%%/html/assets/poudriere.css
+%%DATADIR%%/html/assets/poudriere.js
+%%DATADIR%%/html/build.html
+%%DATADIR%%/html/index.html
+%%DATADIR%%/html/jail.html
+%%DATADIR%%/html/robots.txt
+%%DATADIR%%/image.sh
+%%DATADIR%%/include/cache.sh
+%%DATADIR%%/include/colors.pre.sh
+%%DATADIR%%/include/colors.sh
+%%DATADIR%%/include/common.sh.dragonfly
+%%DATADIR%%/include/common.sh.freebsd
+%%DATADIR%%/include/display.sh
+%%DATADIR%%/include/fs.sh
+%%DATADIR%%/include/hash.sh
+%%DATADIR%%/include/html.sh
+%%DATADIR%%/include/parallel.sh
+%%DATADIR%%/include/shared_hash.sh
+%%DATADIR%%/include/util.sh
+%%DATADIR%%/jail.sh
+%%DATADIR%%/logclean.sh
+%%DATADIR%%/options.sh
+%%DATADIR%%/pkgclean.sh
+%%DATADIR%%/ports.sh
+%%DATADIR%%/processonelog.sh
+%%DATADIR%%/queue.sh
+%%DATADIR%%/status.sh
+%%DATADIR%%/testport.sh
+%%ZSH%%share/zsh/site-functions/_poudriere
diff --git a/test-ports/ports-mgmt/zzzz/Makefile b/test-ports/ports-mgmt/zzzz/Makefile
new file mode 100644
index 00000000..9fdcca13
--- /dev/null
+++ b/test-ports/ports-mgmt/zzzz/Makefile
@@ -0,0 +1,58 @@
+# $FreeBSD: head/ports-mgmt/poudriere-devel/Makefile 442301 2017-06-01 17:21:46Z bdrewery $
+
+PORTNAME= zzzz
+DISTVERSION= 3.1.99.20170601
+PORTREVISION= 1
+CATEGORIES= ports-mgmt
+MASTER_SITES= LOCAL/bdrewery/${PORTNAME}/ \
+ http://mirror.shatow.net/freebsd/${PORTNAME}/ \
+ GH
+PKGNAMESUFFIX= -devel
+
+MAINTAINER= bdrewery@FreeBSD.org
+COMMENT= Port build and test system
+
+LICENSE= BSD2CLAUSE
+
+CONFLICTS_INSTALL= poudriere-[0-9]*
+
+USE_GITHUB= yes
+GH_ACCOUNT= freebsd
+GH_TAGNAME= 3.0-2145-gdc462a9d
+#DISTNAME= ${GH_ACCOUNT}-${GH_PROJECT}-${GH_TAGNAME}
+
+GNU_CONFIGURE= yes
+ETCDIR= ${PREFIX}/etc/poudriere.d
+
+OPTIONS_DEFINE= ZSH EXAMPLES
+OPTIONS_DEFAULT=ZSH
+OPTIONS_SUB= yes
+
+RUN_DEPENDS+= freebsd-release-manifests>0:misc/freebsd-release-manifests
+
+.include <bsd.port.options.mk>
+
+# rm -x support came in 10.0. A bundled rm is used if not supported in base.
+# While <10 is technically not supported in the Ports Tree, Poudriere
+# detects this and it being a package build tool it should still be
+# supported as a user may be installing this to build packages for upgrading
+# their system to a supported release.
+.if ${OSVERSION} < 1000000
+PLIST_SUB+= RM=""
+.else
+PLIST_SUB+= RM="@comment "
+.endif
+
+pre-install:
+ ${REINPLACE_CMD} \
+ -e "s,^\(POUDRIERE_VERSION\)=.*,\1='${PKGVERSION}'," \
+ ${WRKSRC}/src/bin/poudriere
+
+post-install:
+ @${MKDIR} ${STAGEDIR}${PREFIX}/share/zsh/site-functions/
+ ${INSTALL_DATA} ${WRKSRC}/completions/zsh/_poudriere \
+ ${STAGEDIR}${PREFIX}/share/zsh/site-functions/
+ ${LN} -fs ${LOCALBASE}/share/freebsd/MANIFESTS \
+ ${STAGEDIR}${DATADIR}/MANIFESTS
+
+.include <bsd.port.mk>
diff --git a/test-ports/ports-mgmt/zzzz/distinfo b/test-ports/ports-mgmt/zzzz/distinfo
new file mode 100644
index 00000000..ae627c4a
--- /dev/null
+++ b/test-ports/ports-mgmt/zzzz/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1496337650
+SHA256 (freebsd-poudriere-3.1.99.20170601-3.0-2145-gdc462a9d_GH0.tar.gz) = 294e3379661aa8b6879794e4e01c4eb8c962a2060bae412bea4c61ea4127f8c6
+SIZE (freebsd-poudriere-3.1.99.20170601-3.0-2145-gdc462a9d_GH0.tar.gz) = 2986209
diff --git a/test-ports/ports-mgmt/zzzz/pkg-descr b/test-ports/ports-mgmt/zzzz/pkg-descr
new file mode 100644
index 00000000..3e950072
--- /dev/null
+++ b/test-ports/ports-mgmt/zzzz/pkg-descr
@@ -0,0 +1,5 @@
+poudriere is a tool primarily designed to test package production on
+FreeBSD. However, most people will find it useful to bulk build ports
+for FreeBSD.
+
+WWW: https://github.com/freebsd/poudriere/wiki
diff --git a/test-ports/ports-mgmt/zzzz/pkg-plist b/test-ports/ports-mgmt/zzzz/pkg-plist
new file mode 100644
index 00000000..b271ff6a
--- /dev/null
+++ b/test-ports/ports-mgmt/zzzz/pkg-plist
@@ -0,0 +1,98 @@
+bin/poudriere
+@sample etc/poudriere.conf.sample
+%%ETCDIR%%/hooks/bulk.sh.sample
+%%ETCDIR%%/hooks/pkgbuild.sh.sample
+@sample etc/poudriered.conf.sample
+etc/rc.d/poudriered
+libexec/poudriere/cachec
+libexec/poudriere/cached
+libexec/poudriere/clock
+libexec/poudriere/cpdup
+libexec/poudriere/dirempty
+libexec/poudriere/dirwatch
+libexec/poudriere/jexecd
+libexec/poudriere/locked_mkdir
+libexec/poudriere/nc
+libexec/poudriere/poudriered
+libexec/poudriere/ptsort
+libexec/poudriere/pwait
+libexec/poudriere/rename
+libexec/poudriere/rexec
+%%RM%%libexec/poudriere/rm
+libexec/poudriere/sh
+libexec/poudriere/timeout
+libexec/poudriere/timestamp
+libexec/poudriere/tsort
+man/man8/poudriere.8.gz
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/httpd.conf.sample
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nginx.conf.sample
+%%DATADIR%%/MANIFESTS
+%%DATADIR%%/awk/dependency_loop.awk
+%%DATADIR%%/awk/humanize.awk
+%%DATADIR%%/awk/json.awk
+%%DATADIR%%/awk/json_jail.awk
+%%DATADIR%%/awk/json_top.awk
+%%DATADIR%%/awk/processonelog2.awk
+%%DATADIR%%/awk/siginfo_buildtime.awk
+%%DATADIR%%/api.sh
+%%DATADIR%%/bulk.sh
+%%DATADIR%%/clean.sh
+%%DATADIR%%/common.sh
+%%DATADIR%%/daemon.sh
+%%DATADIR%%/distclean.sh
+%%DATADIR%%/html/assets/DataTables-1.10.0/css/jquery.dataTables.min.css
+%%DATADIR%%/html/assets/DataTables-1.10.0/css/jquery.dataTables_themeroller.min.css
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/back_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/back_enabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/back_enabled_hover.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/forward_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/forward_enabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/forward_enabled_hover.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_asc.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_asc_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_both.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_desc.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/images/sort_desc_disabled.png
+%%DATADIR%%/html/assets/DataTables-1.10.0/js/jquery.dataTables.min.js
+%%DATADIR%%/html/assets/bootstrap-3.1.1/css/bootstrap-theme.min.css
+%%DATADIR%%/html/assets/bootstrap-3.1.1/css/bootstrap.min.css
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.eot
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.svg
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.ttf
+%%DATADIR%%/html/assets/bootstrap-3.1.1/fonts/glyphicons-halflings-regular.woff
+%%DATADIR%%/html/assets/bootstrap-3.1.1/js/bootstrap.min.js
+%%DATADIR%%/html/assets/favicon.ico
+%%DATADIR%%/html/assets/jquery-1.11.1.js
+%%DATADIR%%/html/assets/jquery-1.11.1.min.js
+%%DATADIR%%/html/assets/jquery-1.11.1.min.map
+%%DATADIR%%/html/assets/jquery.dataTables.rowGrouping-1.2.9.js
+%%DATADIR%%/html/assets/logo.svg
+%%DATADIR%%/html/assets/poudriere.css
+%%DATADIR%%/html/assets/poudriere.js
+%%DATADIR%%/html/build.html
+%%DATADIR%%/html/index.html
+%%DATADIR%%/html/jail.html
+%%DATADIR%%/html/robots.txt
+%%DATADIR%%/image.sh
+%%DATADIR%%/include/cache.sh
+%%DATADIR%%/include/colors.pre.sh
+%%DATADIR%%/include/colors.sh
+%%DATADIR%%/include/common.sh.dragonfly
+%%DATADIR%%/include/common.sh.freebsd
+%%DATADIR%%/include/display.sh
+%%DATADIR%%/include/fs.sh
+%%DATADIR%%/include/hash.sh
+%%DATADIR%%/include/html.sh
+%%DATADIR%%/include/parallel.sh
+%%DATADIR%%/include/shared_hash.sh
+%%DATADIR%%/include/util.sh
+%%DATADIR%%/jail.sh
+%%DATADIR%%/logclean.sh
+%%DATADIR%%/options.sh
+%%DATADIR%%/pkgclean.sh
+%%DATADIR%%/ports.sh
+%%DATADIR%%/processonelog.sh
+%%DATADIR%%/queue.sh
+%%DATADIR%%/status.sh
+%%DATADIR%%/testport.sh
+%%ZSH%%share/zsh/site-functions/_poudriere
diff --git a/test-ports/print/Makefile b/test-ports/print/Makefile
new file mode 100644
index 00000000..cf12a856
--- /dev/null
+++ b/test-ports/print/Makefile
@@ -0,0 +1,2 @@
+SUBDIR += indexinfo
+SUBDIR += texinfo
diff --git a/test-ports/print/indexinfo/Makefile b/test-ports/print/indexinfo/Makefile
new file mode 100644
index 00000000..a4c586ae
--- /dev/null
+++ b/test-ports/print/indexinfo/Makefile
@@ -0,0 +1,22 @@
+# $FreeBSD: head/print/indexinfo/Makefile 424688 2016-10-26 11:06:02Z bapt $
+
+PORTNAME= indexinfo
+PORTVERSION= 0.2.6
+CATEGORIES= print ports-mgmt
+
+MAINTAINER= bapt@FreeBSD.org
+COMMENT= Utility to regenerate the GNU info page index
+
+LICENSE= BSD2CLAUSE
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+USE_GITHUB= yes
+GH_ACCOUNT= bapt
+INSTALL_TARGET= install-strip
+PLIST_FILES= bin/indexinfo
+
+.if exists(/usr/include/sys/capsicum.h)
+CFLAGS+= -DHAVE_CAPSICUM
+.endif
+
+.include <bsd.port.mk>
diff --git a/test-ports/print/indexinfo/distinfo b/test-ports/print/indexinfo/distinfo
new file mode 100644
index 00000000..2a98d961
--- /dev/null
+++ b/test-ports/print/indexinfo/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1477479913
+SHA256 (bapt-indexinfo-0.2.6_GH0.tar.gz) = 99cf07545d4bad86be7a78e4cbf3c63dd6d6d25db849f52abe6e821f91ebe2ae
+SIZE (bapt-indexinfo-0.2.6_GH0.tar.gz) = 3399
diff --git a/test-ports/print/indexinfo/pkg-descr b/test-ports/print/indexinfo/pkg-descr
new file mode 100644
index 00000000..2536f1c3
--- /dev/null
+++ b/test-ports/print/indexinfo/pkg-descr
@@ -0,0 +1,3 @@
+Small utility designed to regenerate the GNU info page indexes
+
+WWW: https://github.com/bapt/indexinfo
diff --git a/test-ports/print/texinfo/Makefile b/test-ports/print/texinfo/Makefile
new file mode 100644
index 00000000..ba96ecee
--- /dev/null
+++ b/test-ports/print/texinfo/Makefile
@@ -0,0 +1,51 @@
+# Created by: Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>
+# $FreeBSD: head/print/texinfo/Makefile 441739 2017-05-25 21:05:08Z sunpoet $
+
+PORTNAME= texinfo
+PORTVERSION= 6.3
+PORTREVISION= 2
+PORTEPOCH= 1
+CATEGORIES= print
+MASTER_SITES= GNU \
+ LOCAL/sunpoet/${DIST_SUBDIR}:DEFAULT,local
+DISTFILES= ${DISTNAME}${EXTRACT_SUFX} htmlxref.cnf texinfo.tex:local texi2dvi
+DIST_SUBDIR= ${PORTNAME}/${PORTVERSION}
+EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= Typeset documentation system with multiple format output
+
+LICENSE= GPLv3+
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+BUILD_DEPENDS= help2man:misc/help2man
+
+OPTIONS_DEFINE= NLS
+OPTIONS_SUB= yes
+
+GNU_CONFIGURE= yes
+INSTALL_TARGET= install install-tex
+MAKE_ARGS= PERL=${PERL} TEXMF=${LOCALBASE}/${TEXMFDIR}
+PKGDEINSTALL= ${PKGINSTALL}
+USE_TEX= yes
+USES= charsetfix cpe gmake iconv ncurses perl5 tar:xz
+
+INFO= info-stnd texinfo
+
+CPE_VENDOR= gnu
+CPE_VERSION= ${PORTVERSION:R}
+
+NLS_CONFIGURE_ENABLE= nls
+NLS_USES= gettext
+
+post-patch:
+ @${CP} ${DISTDIR}/${DIST_SUBDIR}/texinfo.tex ${WRKSRC}/doc/
+ @${INSTALL_SCRIPT} ${DISTDIR}/${DIST_SUBDIR}/texi2dvi ${WRKSRC}/util/
+ @${REINPLACE_CMD} '/rm -f ..DESTDIR/s:$$: $$(DESTDIR)$$(xsdir)/XSParagraph.*:' \
+ ${WRKSRC}/tp/Texinfo/Convert/XSParagraph/Makefile.in
+
+post-install:
+ ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/htmlxref.cnf ${STAGEDIR}${DATADIR}
+ ${RMDIR} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}
+
+.include <bsd.port.mk>
diff --git a/test-ports/print/texinfo/distinfo b/test-ports/print/texinfo/distinfo
new file mode 100644
index 00000000..dd883d97
--- /dev/null
+++ b/test-ports/print/texinfo/distinfo
@@ -0,0 +1,9 @@
+TIMESTAMP = 1495657537
+SHA256 (texinfo/6.3/texinfo-6.3.tar.xz) = 246cf3ffa54985118ec2eea2b8d0c71b92114efe6282c2ae90d65029db4cf93a
+SIZE (texinfo/6.3/texinfo-6.3.tar.xz) = 4468048
+SHA256 (texinfo/6.3/htmlxref.cnf) = d77343dfec47d38a3f029bd42df6ca08e2701f8925be9dffdb07c53a9a0b292d
+SIZE (texinfo/6.3/htmlxref.cnf) = 20137
+SHA256 (texinfo/6.3/texinfo.tex) = 370e9b54159b6dfada33ffc522f41ab0ee0ac887fe779aba5911616f1b31ac84
+SIZE (texinfo/6.3/texinfo.tex) = 380853
+SHA256 (texinfo/6.3/texi2dvi) = ee5da7408c4f0d52b710639f4188ed99ff2f0e0716dde452eab771ba5ec4103b
+SIZE (texinfo/6.3/texi2dvi) = 61181
diff --git a/test-ports/print/texinfo/pkg-descr b/test-ports/print/texinfo/pkg-descr
new file mode 100644
index 00000000..b3f80cab
--- /dev/null
+++ b/test-ports/print/texinfo/pkg-descr
@@ -0,0 +1,13 @@
+Texinfo is the official documentation format of the GNU project. It was invented
+by Richard Stallman and Bob Chassell many years ago, loosely based on Brian
+Reid's Scribe and other formatting languages of the time. It is used by many
+non-GNU projects as well.
+
+Texinfo uses a single source file to produce output in a number of formats, both
+online and printed (dvi, html, info, pdf, xml, etc.). This means that instead of
+writing different documents for online information and another for a printed
+manual, you need write only one document. And when the work is revised, you need
+revise only that one document. The Texinfo system is well-integrated with GNU
+Emacs.
+
+WWW: https://www.gnu.org/software/texinfo/
diff --git a/test-ports/print/texinfo/pkg-install b/test-ports/print/texinfo/pkg-install
new file mode 100644
index 00000000..651e85bd
--- /dev/null
+++ b/test-ports/print/texinfo/pkg-install
@@ -0,0 +1,28 @@
+#!/bin/sh
+# $FreeBSD: head/print/texinfo/pkg-install 340719 2014-01-22 15:52:06Z mat $
+
+[ $# != 2 ] && exit 1
+PKGNAME=$1
+ACTION=$2
+
+PATH="${PKG_PREFIX}/bin:${LOCALBASE}/bin:/usr/bin:${PATH}"
+
+SETENV=env
+TEXHASH=texhash
+TRUE=true
+
+case "$ACTION" in
+
+POST-INSTALL|DEINSTALL)
+ ${SETENV} PATH="${PATH}" ${TEXHASH} 2>/dev/null || ${TRUE}
+ ;;
+
+PRE-INSTALL|POST-DEINSTALL)
+ ;;
+
+*)
+ exit 1
+ ;;
+esac
+
+exit
diff --git a/test-ports/print/texinfo/pkg-plist b/test-ports/print/texinfo/pkg-plist
new file mode 100644
index 00000000..767619ea
--- /dev/null
+++ b/test-ports/print/texinfo/pkg-plist
@@ -0,0 +1,455 @@
+bin/info
+bin/install-info
+bin/makeinfo
+bin/pdftexi2dvi
+bin/pod2texi
+bin/texi2any
+bin/texi2dvi
+bin/texi2pdf
+bin/texindex
+man/man1/info.1.gz
+man/man1/install-info.1.gz
+man/man1/makeinfo.1.gz
+man/man1/pdftexi2dvi.1.gz
+man/man1/pod2texi.1.gz
+man/man1/texi2any.1.gz
+man/man1/texi2dvi.1.gz
+man/man1/texi2pdf.1.gz
+man/man1/texindex.1.gz
+man/man5/info.5.gz
+man/man5/texinfo.5.gz
+%%NLS%%share/locale/ca.us-ascii/LC_MESSAGES/texinfo_document.mo
+%%NLS%%share/locale/ca/LC_MESSAGES/texinfo.mo
+%%NLS%%share/locale/ca/LC_MESSAGES/texinfo_document.mo
+%%NLS%%share/locale/cs/LC_MESSAGES/texinfo.mo
+%%NLS%%share/locale/da/LC_MESSAGES/texinfo.mo
+%%NLS%%share/locale/de.us-ascii/LC_MESSAGES/texinfo_document.mo
+%%NLS%%share/locale/de/LC_MESSAGES/texinfo.mo
+%%NLS%%share/locale/de/LC_MESSAGES/texinfo_document.mo
+%%NLS%%share/locale/de_AT/LC_MESSAGES/texinfo.mo
+%%NLS%%share/locale/el/LC_MESSAGES/texinfo.mo
+%%NLS%%share/locale/el/LC_MESSAGES/texinfo_document.mo
+%%NLS%%share/locale/eo/LC_MESSAGES/texinfo.mo
+%%NLS%%share/locale/eo/LC_MESSAGES/texinfo_document.mo
+%%NLS%%share/locale/es/LC_MESSAGES/texinfo.mo
+%%NLS%%share/locale/es/LC_MESSAGES/texinfo_document.mo
+%%NLS%%share/locale/fr/LC_MESSAGES/texinfo.mo
+%%NLS%%share/locale/fr/LC_MESSAGES/texinfo_document.mo
+%%NLS%%share/locale/he/LC_MESSAGES/texinfo.mo
+%%NLS%%share/locale/hr/LC_MESSAGES/texinfo.mo
+%%NLS%%share/locale/hr/LC_MESSAGES/texinfo_document.mo
+%%NLS%%share/locale/hu/LC_MESSAGES/texinfo.mo
+%%NLS%%share/locale/hu/LC_MESSAGES/texinfo_document.mo
+%%NLS%%share/locale/id/LC_MESSAGES/texinfo.mo
+%%NLS%%share/locale/it/LC_MESSAGES/texinfo.mo
+%%NLS%%share/locale/it/LC_MESSAGES/texinfo_document.mo
+%%NLS%%share/locale/ja/LC_MESSAGES/texinfo.mo
+%%NLS%%share/locale/nb/LC_MESSAGES/texinfo.mo
+%%NLS%%share/locale/nl/LC_MESSAGES/texinfo.mo
+%%NLS%%share/locale/nl/LC_MESSAGES/texinfo_document.mo
+%%NLS%%share/locale/no.us-ascii/LC_MESSAGES/texinfo_document.mo
+%%NLS%%share/locale/pl/LC_MESSAGES/texinfo.mo
+%%NLS%%share/locale/pl/LC_MESSAGES/texinfo_document.mo
+%%NLS%%share/locale/pt.us-ascii/LC_MESSAGES/texinfo_document.mo
+%%NLS%%share/locale/pt/LC_MESSAGES/texinfo_document.mo
+%%NLS%%share/locale/pt_BR.us-ascii/LC_MESSAGES/texinfo_document.mo
+%%NLS%%share/locale/pt_BR/LC_MESSAGES/texinfo.mo
+%%NLS%%share/locale/pt_BR/LC_MESSAGES/texinfo_document.mo
+%%NLS%%share/locale/ro/LC_MESSAGES/texinfo.mo
+%%NLS%%share/locale/ru/LC_MESSAGES/texinfo.mo
+%%NLS%%share/locale/rw/LC_MESSAGES/texinfo.mo
+%%NLS%%share/locale/sl/LC_MESSAGES/texinfo.mo
+%%NLS%%share/locale/sv/LC_MESSAGES/texinfo.mo
+%%NLS%%share/locale/tr/LC_MESSAGES/texinfo.mo
+%%NLS%%share/locale/uk/LC_MESSAGES/texinfo.mo
+%%NLS%%share/locale/uk/LC_MESSAGES/texinfo_document.mo
+%%NLS%%share/locale/vi/LC_MESSAGES/texinfo.mo
+%%NLS%%share/locale/zh_CN/LC_MESSAGES/texinfo.mo
+%%NLS%%share/locale/zh_TW/LC_MESSAGES/texinfo.mo
+%%DATADIR%%/DebugTexinfo/DebugCount.pm
+%%DATADIR%%/DebugTexinfo/DebugTree.pm
+%%DATADIR%%/Pod-Simple-Texinfo/Pod/Simple/Texinfo.pm
+%%DATADIR%%/Texinfo/Common.pm
+%%DATADIR%%/Texinfo/Convert/Converter.pm
+%%DATADIR%%/Texinfo/Convert/DocBook.pm
+%%DATADIR%%/Texinfo/Convert/HTML.pm
+%%DATADIR%%/Texinfo/Convert/IXIN.pm
+%%DATADIR%%/Texinfo/Convert/IXINSXML.pm
+%%DATADIR%%/Texinfo/Convert/Info.pm
+%%DATADIR%%/Texinfo/Convert/Line.pm
+%%DATADIR%%/Texinfo/Convert/NodeNameNormalization.pm
+%%DATADIR%%/Texinfo/Convert/Paragraph.pm
+%%DATADIR%%/Texinfo/Convert/ParagraphNonXS.pm
+%%DATADIR%%/Texinfo/Convert/PlainTexinfo.pm
+%%DATADIR%%/Texinfo/Convert/Plaintext.pm
+%%DATADIR%%/Texinfo/Convert/Texinfo.pm
+%%DATADIR%%/Texinfo/Convert/TexinfoSXML.pm
+%%DATADIR%%/Texinfo/Convert/TexinfoXML.pm
+%%DATADIR%%/Texinfo/Convert/Text.pm
+%%DATADIR%%/Texinfo/Convert/TextContent.pm
+%%DATADIR%%/Texinfo/Convert/UnFilled.pm
+%%DATADIR%%/Texinfo/Convert/Unicode.pm
+%%DATADIR%%/Texinfo/Convert/XSParagraph/TestXS.pm
+%%DATADIR%%/Texinfo/Documentlanguages.pm
+%%DATADIR%%/Texinfo/Encoding.pm
+%%DATADIR%%/Texinfo/ModulePath.pm
+%%DATADIR%%/Texinfo/Parser.pm
+%%DATADIR%%/Texinfo/Report.pm
+%%DATADIR%%/Texinfo/Structuring.pm
+%%DATADIR%%/htmlxref.cnf
+%%DATADIR%%/init/book.pm
+%%DATADIR%%/init/chm.pm
+%%DATADIR%%/init/html32.pm
+%%DATADIR%%/init/latex2html.pm
+%%DATADIR%%/init/tex4ht.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x00.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x01.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x02.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x03.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x04.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x05.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x06.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x07.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x09.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x0a.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x0b.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x0c.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x0d.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x0e.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x0f.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x10.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x11.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x12.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x13.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x14.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x15.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x16.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x17.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x18.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x1e.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x1f.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x20.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x21.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x22.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x23.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x24.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x25.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x26.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x27.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x28.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x2e.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x2f.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x30.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x31.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x32.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x33.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x4d.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x4e.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x4f.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x50.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x51.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x52.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x53.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x54.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x55.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x56.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x57.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x58.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x59.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x5a.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x5b.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x5c.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x5d.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x5e.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x5f.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x60.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x61.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x62.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x63.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x64.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x65.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x66.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x67.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x68.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x69.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x6a.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x6b.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x6c.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x6d.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x6e.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x6f.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x70.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x71.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x72.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x73.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x74.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x75.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x76.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x77.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x78.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x79.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x7a.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x7b.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x7c.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x7d.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x7e.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x7f.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x80.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x81.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x82.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x83.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x84.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x85.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x86.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x87.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x88.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x89.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x8a.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x8b.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x8c.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x8d.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x8e.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x8f.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x90.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x91.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x92.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x93.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x94.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x95.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x96.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x97.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x98.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x99.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x9a.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x9b.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x9c.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x9d.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x9e.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/x9f.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xa0.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xa1.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xa2.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xa3.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xa4.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xac.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xad.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xae.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xaf.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xb0.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xb1.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xb2.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xb3.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xb4.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xb5.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xb6.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xb7.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xb8.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xb9.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xba.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xbb.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xbc.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xbd.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xbe.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xbf.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xc0.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xc1.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xc2.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xc3.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xc4.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xc5.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xc6.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xc7.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xc8.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xc9.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xca.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xcb.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xcc.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xcd.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xce.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xcf.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xd0.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xd1.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xd2.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xd3.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xd4.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xd5.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xd6.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xd7.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xf9.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xfa.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xfb.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xfc.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xfd.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xfe.pm
+%%DATADIR%%/lib/Text-Unidecode/lib/Text/Unidecode/xff.pm
+%%DATADIR%%/lib/Unicode-EastAsianWidth/lib/Unicode/EastAsianWidth.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/Messages.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/Recode.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/Recode/_Aliases.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/Recode/_Conversions.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/ASMO_449.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/ATARI_ST.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/ATARI_ST_EURO.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/CP10007.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/CP1250.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/CP1251.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/CP1252.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/CP1253.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/CP1254.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/CP1256.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/CP1257.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/CSN_369103.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/CWI.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/DEC_MCS.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_AT_DE.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_AT_DE_A.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_CA_FR.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_DK_NO.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_DK_NO_A.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_ES.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_ES_A.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_ES_S.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_FI_SE.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_FI_SE_A.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_FR.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_IS_FRISS.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_IT.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_PT.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_UK.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_US.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/ECMA_CYRILLIC.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/GEORGIAN_ACADEMY.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/GEORGIAN_PS.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/GOST_19768_74.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/GREEK7.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/GREEK7_OLD.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/GREEK_CCITT.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/HP_ROMAN8.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM037.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM038.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM1004.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM1026.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM1047.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM256.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM273.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM274.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM275.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM277.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM278.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM280.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM281.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM284.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM285.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM290.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM297.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM420.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM423.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM424.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM437.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM500.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM850.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM851.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM852.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM855.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM857.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM860.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM861.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM862.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM863.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM864.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM865.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM866.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM868.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM869.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM870.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM871.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM874.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM875.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM880.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM891.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM903.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM904.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM905.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IBM918.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/IEC_P27_1.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/INIS.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/INIS_8.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/INIS_CYRILLIC.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/ISO_10367_BOX.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/ISO_2033_1983.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/ISO_5427.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/ISO_5427_EXT.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/ISO_5428.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_1.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_10.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_11.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_13.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_14.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_15.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_16.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_2.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_3.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_4.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_5.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_6.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_7.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_8.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_9.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/KOI8_R.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/KOI8_RU.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/KOI8_T.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/KOI8_U.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/KOI_8.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/LATIN_GREEK.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/LATIN_GREEK_1.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/MACARABIC.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/MACCROATIAN.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/MACCYRILLIC.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/MACGREEK.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/MACHEBREW.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/MACICELAND.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/MACINTOSH.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/MACROMANIA.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/MACTHAI.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/MACTURKISH.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/MACUKRAINE.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/MAC_IS.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/MAC_SAMI.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/MAC_UK.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/NATS_DANO.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/NATS_SEFI.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/NEXTSTEP.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/SAMI_WS2.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/TIS_620.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/US_ASCII.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/UTF_8.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/VISCII.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/RecodeData/_Encode.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/TextDomain.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/Util.pm
+%%DATADIR%%/lib/libintl-perl/lib/Locale/gettext_pp.pm
+%%DATADIR%%/texindex.awk
+%%DATADIR%%/texinfo.dtd
+%%TEXMFDIR%%/tex/generic/epsf/epsf.tex
+%%TEXMFDIR%%/tex/texinfo/texinfo.tex
+%%TEXMFDIR%%/tex/texinfo/txi-ca.tex
+%%TEXMFDIR%%/tex/texinfo/txi-cs.tex
+%%TEXMFDIR%%/tex/texinfo/txi-de.tex
+%%TEXMFDIR%%/tex/texinfo/txi-en.tex
+%%TEXMFDIR%%/tex/texinfo/txi-es.tex
+%%TEXMFDIR%%/tex/texinfo/txi-fr.tex
+%%TEXMFDIR%%/tex/texinfo/txi-hu.tex
+%%TEXMFDIR%%/tex/texinfo/txi-is.tex
+%%TEXMFDIR%%/tex/texinfo/txi-it.tex
+%%TEXMFDIR%%/tex/texinfo/txi-ja.tex
+%%TEXMFDIR%%/tex/texinfo/txi-nb.tex
+%%TEXMFDIR%%/tex/texinfo/txi-nl.tex
+%%TEXMFDIR%%/tex/texinfo/txi-nn.tex
+%%TEXMFDIR%%/tex/texinfo/txi-pl.tex
+%%TEXMFDIR%%/tex/texinfo/txi-pt.tex
+%%TEXMFDIR%%/tex/texinfo/txi-ru.tex
+%%TEXMFDIR%%/tex/texinfo/txi-sr.tex
+%%TEXMFDIR%%/tex/texinfo/txi-tr.tex
+%%TEXMFDIR%%/tex/texinfo/txi-uk.tex
diff --git a/test-ports/security/Makefile b/test-ports/security/Makefile
new file mode 100644
index 00000000..377c974e
--- /dev/null
+++ b/test-ports/security/Makefile
@@ -0,0 +1 @@
+SUBDIR += openssl
diff --git a/test-ports/security/openssl/Makefile b/test-ports/security/openssl/Makefile
new file mode 100644
index 00000000..462d1d09
--- /dev/null
+++ b/test-ports/security/openssl/Makefile
@@ -0,0 +1,177 @@
+# Created by: Dirk Froemberg <dirk@FreeBSD.org>
+# $FreeBSD: head/security/openssl/Makefile 441709 2017-05-25 18:53:09Z brnrd $
+
+PORTNAME= openssl
+PORTVERSION= 1.0.2l
+PORTEPOCH= 1
+CATEGORIES= security devel
+MASTER_SITES= http://www.openssl.org/source/ \
+ ftp://ftp.cert.dfn.de/pub/tools/net/openssl/source/
+DIST_SUBDIR= ${DISTNAME:C/[a-z]$//}
+
+MAINTAINER= brnrd@FreeBSD.org
+COMMENT= SSL and crypto library
+
+LICENSE= OpenSSL
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+CONFLICTS_INSTALL= libressl-[0-9]* \
+ libressl-devel-[0-9]* \
+ openssl-devel-[0-9]*
+
+OPTIONS_DEFINE= DOCS MAN3 PADLOCK RFC3779 SHARED THREADS ZLIB
+OPTIONS_DEFAULT= ASM MD2 MAN3 SCTP SHARED SSE2 SSL2 SSL3 THREADS
+OPTIONS_DEFINE_amd64= EC
+OPTIONS_DEFAULT_amd64= EC
+OPTIONS_DEFINE_ia64= EC
+OPTIONS_DEFAULT_ia64= EC
+TARGET_ARCH?= ${MACHINE_ARCH}
+.if ${TARGET_ARCH} == "mips64el"
+OPTIONS_DEFINE_mips= EC
+OPTIONS_DEFAULT_mips= EC
+.endif
+OPTIONS_GROUP= CIPHERS HASHES OPTIMIZE PROTOCOLS
+OPTIONS_GROUP_CIPHERS= EXPCIPHERS RC5
+OPTIONS_GROUP_HASHES= MD2
+OPTIONS_GROUP_OPTIMIZE= ASM SSE2
+OPTIONS_GROUP_PROTOCOLS= SCTP SSL2 SSL3
+.if ${TARGET_ARCH} == "i386"
+OPTIONS_GROUP_OPTIMIZE+= I386
+.endif
+OPTIONS_SUB= yes
+ASM_DESC= Optimized Assembler code
+CIPHERS_DESC= Cipher Suite support
+EC_DESC= Optimize NIST elliptic curves
+EXPCIPHERS_DESC= Include experimental ciphers
+HASHES_DESC= Hash Function Support
+I386_DESC= Optimize for i386 (instead of i486+)
+MAN3_DESC= Install API manpages (section 3)
+MD2_DESC= MD2 hash (obsolete)
+OPTIMIZE_DESC= Optimizations
+PADLOCK_DESC= VIA Padlock support
+PROTOCOLS_DESC= Protocol Support
+RC5_DESC= RC5 cipher (patented)
+RFC3779_DESC= RFC3779 support (BGP)
+SCTP_DESC= SCTP protocol support
+SHARED_DESC= Build shared libs
+SSE2_DESC= Runtime SSE2 detection
+SSL2_DESC= SSLv2 protocol support
+SSL3_DESC= SSLv3 protocol support
+ZLIB_DESC= zlib compression support
+
+USES= cpe perl5
+USE_PERL5= build
+MAKE_ARGS+= WHOLE_ARCHIVE_FLAG=--whole-archive
+MAKE_ENV+= LIBRPATH="${PREFIX}/lib" GREP_OPTIONS=
+SUB_FILES= pkg-message
+
+MAKE_JOBS_UNSAFE= yes
+
+ASM_CONFIGURE_OFF= no-asm
+EC_CONFIGURE_ON= enable-ec_nistp_64_gcc_128
+EC_CONFIGURE_OFF= no-ec_nistp_64_gcc_128
+I386_CONFIGURE_ON= 386
+MD2_CONFIGURE_ON= enable-md2
+MD2_CONFIGURE_OFF= no-md2
+PADLOCK_CFLAGS= -Wno-unused-function
+PADLOCK_CONFIGURE_OFF= no-padlock
+PADLOCK_PATCH_SITES= http://git.alpinelinux.org/cgit/aports/plain/main/openssl/:padlock
+PADLOCK_PATCHFILES= 1001-crypto-hmac-support-EVP_MD_CTX_FLAG_ONESHOT-and-set-.patch:padlock \
+ 1002-backport-changes-from-upstream-padlock-module.patch:padlock \
+ 1003-engines-e_padlock-implement-sha1-sha224-sha256-accel.patch:padlock \
+ 1004-crypto-engine-autoload-padlock-dynamic-engine.patch:padlock
+PADLOCK_VARS= PATCH_DIST_STRIP=-p1
+RC5_CONFIGURE_ON= enable-rc5
+RC5_CONFIGURE_OFF= no-rc5
+RFC3779_CONFIGURE_ON= enable-rfc3779
+RFC3779_CONFIGURE_OFF= no-rfc3779
+SCTP_CONFIGURE_ON= sctp
+SCTP_CONFIGURE_OFF= no-sctp
+SHARED_CONFIGURE_ON= shared
+SHARED_MAKE_ENV= SHLIBVER=${OPENSSL_SHLIBVER}
+SHARED_PLIST_SUB= SHLIBVER=${OPENSSL_SHLIBVER}
+SHARED_USE= ldconfig=yes
+SSE2_CONFIGURE_OFF= no-sse2
+SSL2_CONFIGURE_ON= enable-ssl2
+SSL2_CONFIGURE_OFF= no-ssl2
+SSL3_CONFIGURE_ON= enable-ssl3
+SSL3_CONFIGURE_OFF= no-ssl3 no-ssl3-method
+SSL3_EXTRA_PATCHES_OFF= ${PATCHDIR}/extra-patch-test_testssl
+THREADS_CONFIGURE_ON= threads
+THREADS_CONFIGURE_OFF= no-threads
+ZLIB_CONFIGURE_ON= zlib zlib-dynamic
+ZLIB_CONFIGURE_OFF= no-zlib no-zlib-dynamic
+
+CFLAGS+= -Werror -Qunused-arguments
+
+.include <bsd.port.pre.mk>
+
+.if ${PREFIX} == /usr
+IGNORE= the OpenSSL port can not be installed over the base version
+.endif
+
+OPENSSLDIR?= ${PREFIX}/openssl
+PLIST_SUB+= OPENSSLDIR=${OPENSSLDIR:S=^${PREFIX}/==}
+
+.include "version.mk"
+
+.if ${PORT_OPTIONS:MASM}
+BROKEN_sparc64= option ASM generates illegal instructions
+.endif
+
+CONFIGURE_ARGS+= no-gmp
+
+post-patch:
+ ${REINPLACE_CMD} -e 's|m4 -B 8192|m4|g' \
+ ${WRKSRC}/crypto/des/Makefile
+ ${REINPLACE_CMD} -e 's|SHLIB_VERSION_NUMBER "1.0.0"|SHLIB_VERSION_NUMBER "${OPENSSL_SHLIBVER}"|' \
+ ${WRKSRC}/crypto/opensslv.h
+ ${REINPLACE_CMD} -e 's|ERR_R_MALLOC_ERROR|ERR_R_MALLOC_FAILURE|' \
+ ${WRKSRC}/crypto/bio/bss_dgram.c
+.if ${PORT_OPTIONS:MEXPCIPHERS}
+ ${REINPLACE_CMD} -e 's|TLS1_ALLOW_EXPERIMENTAL_CIPHERSUITES 0|TLS1_ALLOW_EXPERIMENTAL_CIPHERSUITES 1|' \
+ ${WRKSRC}/ssl/tls1.h
+.endif
+
+post-patch-MAN3-off:
+ ${GREP} -L openssl_manual_section ${WRKSRC}/doc/crypto/*.pod | ${XARGS} ${RM}
+ ${RM} -r ${WRKSRC}/doc/ssl/*.pod
+ ${REINPLACE_CMD} -e 's|pod doc/ssl/\*\.pod|pod|' ${WRKSRC}/Makefile.org
+
+do-configure:
+ ${REINPLACE_CMD} -e "s|options 386|options|" \
+ ${WRKSRC}/config
+ cd ${WRKSRC} \
+ && ${SETENV} CC="${CC}" FREEBSDCC="${CC}" CFLAGS="${CFLAGS}" PERL="${PERL}" \
+ ./config --prefix=${PREFIX} --openssldir=${OPENSSLDIR} \
+ --install_prefix=${STAGEDIR} \
+ -L${PREFIX}/lib ${CONFIGURE_ARGS}
+
+post-configure:
+ ${REINPLACE_CMD} \
+ -e 's|^MANDIR=.*$$|MANDIR=$$(PREFIX)/man|' \
+ -e 's|$$(LIBDIR)/pkgconfig|libdata/pkgconfig|g' \
+ -e 's|LIBVERSION=[^ ]* |LIBVERSION=${OPENSSL_SHLIBVER} |' \
+ ${WRKSRC}/Makefile
+
+post-install-SHARED-on:
+.for i in libcrypto libssl
+ ${INSTALL_DATA} ${WRKSRC}/$i.so.${OPENSSL_SHLIBVER} ${STAGEDIR}${PREFIX}/lib
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/$i.so.${OPENSSL_SHLIBVER}
+ ${LN} -sf $i.so.${OPENSSL_SHLIBVER} ${STAGEDIR}${PREFIX}/lib/$i.so
+.endfor
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/openssl
+.for i in 4758cca aep atalla capi chil cswift gmp gost nuron padlock sureware ubsec
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/engines/lib${i}.so
+.endfor
+
+post-install-DOCS-on:
+ ${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/doc/openssl.txt ${STAGEDIR}${DOCSDIR}/
+
+test: build
+ cd ${WRKSRC} && ${MAKE} test
+
+regression-test: test
+
+.include <bsd.port.post.mk>
diff --git a/test-ports/security/openssl/distinfo b/test-ports/security/openssl/distinfo
new file mode 100644
index 00000000..84004464
--- /dev/null
+++ b/test-ports/security/openssl/distinfo
@@ -0,0 +1,11 @@
+TIMESTAMP = 1495727915
+SHA256 (openssl-1.0.2/openssl-1.0.2l.tar.gz) = ce07195b659e75f4e1db43552860070061f156a98bb37b672b101ba6e3ddf30c
+SIZE (openssl-1.0.2/openssl-1.0.2l.tar.gz) = 5365054
+SHA256 (openssl-1.0.2/1001-crypto-hmac-support-EVP_MD_CTX_FLAG_ONESHOT-and-set-.patch) = 2eddcb7ab342285cb637ce6b6be143cca835f449f35dd9bb8c7b9167ba2117a7
+SIZE (openssl-1.0.2/1001-crypto-hmac-support-EVP_MD_CTX_FLAG_ONESHOT-and-set-.patch) = 3717
+SHA256 (openssl-1.0.2/1002-backport-changes-from-upstream-padlock-module.patch) = aee88a24622ce9d71e38deeb874e58435dcf8ff5690f56194f0e4a00fb09b260
+SIZE (openssl-1.0.2/1002-backport-changes-from-upstream-padlock-module.patch) = 5770
+SHA256 (openssl-1.0.2/1003-engines-e_padlock-implement-sha1-sha224-sha256-accel.patch) = c10b8aaf56a4f4f79ca195fc587e0bb533f643e777d7a3e6fb0350399a6060ea
+SIZE (openssl-1.0.2/1003-engines-e_padlock-implement-sha1-sha224-sha256-accel.patch) = 20935
+SHA256 (openssl-1.0.2/1004-crypto-engine-autoload-padlock-dynamic-engine.patch) = 97eb4411d0fc0890e94bc7c2d682f68b71135da782af769ca73914b37da2b1fd
+SIZE (openssl-1.0.2/1004-crypto-engine-autoload-padlock-dynamic-engine.patch) = 832
diff --git a/test-ports/security/openssl/files/extra-patch-test_testssl b/test-ports/security/openssl/files/extra-patch-test_testssl
new file mode 100644
index 00000000..3fc5d794
--- /dev/null
+++ b/test-ports/security/openssl/files/extra-patch-test_testssl
@@ -0,0 +1,15 @@
+Disable SSLv3 test when built without SSL3 option disabled
+
+ - Test for weak DH fails when enabled
+
+--- test/testssl.orig 2017-04-27 12:23:44 UTC
++++ test/testssl
+@@ -160,7 +160,7 @@ test_cipher() {
+ }
+ set -x
+ echo "Testing ciphersuites"
+-for protocol in TLSv1.2 SSLv3; do
++for protocol in TLSv1.2; do
+ echo "Testing ciphersuites for $protocol"
+ for cipher in `../util/shlib_wrap.sh ../apps/openssl ciphers "RSA+$protocol" | tr ':' ' '`; do
+ test_cipher $cipher $protocol
diff --git a/test-ports/security/openssl/files/patch-Configure b/test-ports/security/openssl/files/patch-Configure
new file mode 100644
index 00000000..bea63f06
--- /dev/null
+++ b/test-ports/security/openssl/files/patch-Configure
@@ -0,0 +1,45 @@
+--- Configure.orig 2015-06-11 15:50:11.000000000 +0200
++++ Configure 2015-06-12 16:20:39.000000000 +0200
+@@ -467,19 +467,20 @@
+ "android-mips","gcc:-mandroid -I\$(ANDROID_DEV)/include -B\$(ANDROID_DEV)/lib -O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${mips32_asm}:o32:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+
+ #### *BSD [do see comment about ${BSDthreads} above!]
+-"BSD-generic32","gcc:-O3 -fomit-frame-pointer -Wall::${BSDthreads}:::BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+-"BSD-x86", "gcc:-DL_ENDIAN -O3 -fomit-frame-pointer -Wall::${BSDthreads}:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_asm}:a.out:dlfcn:bsd-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+-"BSD-x86-elf", "gcc:-DL_ENDIAN -O3 -fomit-frame-pointer -Wall::${BSDthreads}:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+-"debug-BSD-x86-elf", "gcc:-DL_ENDIAN -O3 -Wall -g::${BSDthreads}:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+-"BSD-sparcv8", "gcc:-DB_ENDIAN -O3 -mcpu=v8 -Wall::${BSDthreads}:::BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL:${sparcv8_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"BSD-generic32","$ENV{'FREEBSDCC'}:-O3 -fomit-frame-pointer -Wall $ENV{'CFLAGS'}::${BSDthreads}:::BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIBVER)",
++"BSD-x86", "$ENV{'FREEBSDCC'}:-DL_ENDIAN -O3 -fomit-frame-pointer -Wall $ENV{'CFLAGS'}::${BSDthreads}:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_asm}:a.out:dlfcn:bsd-shared:-fPIC::.so.\$(SHLIBVER)",
++"BSD-x86-elf", "$ENV{'FREEBSDCC'}:-DL_ENDIAN -O3 -fomit-frame-pointer -Wall $ENV{'CFLAGS'}::${BSDthreads}:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-shared:-fPIC::.so.\$(SHLIBVER)",
++"debug-BSD-x86-elf", "$ENV{'FREEBSDCC'}:-DL_ENDIAN -O3 -Wall -g $ENV{'CFLAGS'}::${BSDthreads}:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-shared:-fPIC::.so.\$(SHLIBVER)",
++"BSD-sparcv8", "$ENV{'FREEBSDCC'}:-DB_ENDIAN -O3 -mcpu=v8 -Wall $ENV{'CFLAGS'}::${BSDthreads}:::BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL:${sparcv8_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIBVER)",
+
+-"BSD-generic64","gcc:-O3 -Wall::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"BSD-generic64","$ENV{'FREEBSDCC'}:-O3 -Wall $ENV{'CFLAGS'}::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIBVER)",
+ # -DMD32_REG_T=int doesn't actually belong in sparc64 target, it
+ # simply *happens* to work around a compiler bug in gcc 3.3.3,
+ # triggered by RIPEMD160 code.
+-"BSD-sparc64", "gcc:-DB_ENDIAN -O3 -DMD32_REG_T=int -Wall::${BSDthreads}:::BN_LLONG RC2_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC2 BF_PTR:${sparcv9_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+-"BSD-ia64", "gcc:-DL_ENDIAN -O3 -Wall::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL DES_INT:${ia64_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+-"BSD-x86_64", "cc:-DL_ENDIAN -O3 -Wall::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"BSD-sparc64", "$ENV{'FREEBSDCC'}:-DB_ENDIAN -O3 -DMD32_REG_T=int -Wall $ENV{'CFLAGS'}::${BSDthreads}:::BN_LLONG RC2_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC2 BF_PTR:${sparcv9_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIBVER)",
++"BSD-ia64", "$ENV{'FREEBSDCC'}:-DL_ENDIAN -O3 -Wall $ENV{'CFLAGS'}::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL DES_INT:${ia64_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIBVER)",
++"BSD-x86_64", "$ENV{'FREEBSDCC'}:-DL_ENDIAN -O3 -Wall $ENV{'CFLAGS'}::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIBVER)",
++"BSD-alpha", "$ENV{'FREEBSDCC'}:-DL_ENDIAN -O -Wall $ENV{'CFLAGS'}::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL DES_RISC1:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIBVER)",
+
+ "bsdi-elf-gcc", "gcc:-DPERL5 -DL_ENDIAN -fomit-frame-pointer -O3 -march=i486 -Wall::(unknown)::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+
+@@ -2019,10 +2020,12 @@
+ if ( $perl =~ m@^/@) {
+ &dofile("tools/c_rehash",$perl,'^#!/', '#!%s','^my \$dir;$', 'my $dir = "' . $openssldir . '";', '^my \$prefix;$', 'my $prefix = "' . $prefix . '";');
+ &dofile("apps/CA.pl",$perl,'^#!/', '#!%s');
++ &dofile("apps/tsget",$perl,'^#!/', '#!%s');
+ } else {
+ # No path for Perl known ...
+ &dofile("tools/c_rehash",'/usr/local/bin/perl','^#!/', '#!%s','^my \$dir;$', 'my $dir = "' . $openssldir . '";', '^my \$prefix;$', 'my $prefix = "' . $prefix . '";');
+ &dofile("apps/CA.pl",'/usr/local/bin/perl','^#!/', '#!%s');
++ &dofile("apps/tsget",'/usr/local/bin/perl',,'^#!/', '#!%s');
+ }
+ if ($depflags ne $default_depflags && !$make_depend) {
+ print <<EOF;
diff --git a/test-ports/security/openssl/files/patch-Makefile b/test-ports/security/openssl/files/patch-Makefile
new file mode 100644
index 00000000..77e810e4
--- /dev/null
+++ b/test-ports/security/openssl/files/patch-Makefile
@@ -0,0 +1,11 @@
+--- apps/Makefile.orig Tue Aug 10 11:09:07 2004
++++ apps/Makefile Tue Oct 26 07:00:51 2004
+@@ -112,7 +112,7 @@
+ done
+ @cp openssl.cnf $(INSTALL_PREFIX)$(OPENSSLDIR)/openssl.cnf.new; \
+ chmod 644 $(INSTALL_PREFIX)$(OPENSSLDIR)/openssl.cnf.new; \
+- mv -f $(INSTALL_PREFIX)$(OPENSSLDIR)/openssl.cnf.new $(INSTALL_PREFIX)$(OPENSSLDIR)/openssl.cnf
++ mv -f $(INSTALL_PREFIX)$(OPENSSLDIR)/openssl.cnf.new $(INSTALL_PREFIX)$(OPENSSLDIR)/openssl.cnf.sample
+
+ tags:
+ ctags $(SRC)
diff --git a/test-ports/security/openssl/files/patch-RFC-5705 b/test-ports/security/openssl/files/patch-RFC-5705
new file mode 100644
index 00000000..7138cdf2
--- /dev/null
+++ b/test-ports/security/openssl/files/patch-RFC-5705
@@ -0,0 +1,38 @@
+--- ssl/ssl.h 6 Jan 2010 17:37:38 -0000 1.221.2.24
++++ ssl/ssl.h 17 Jun 2010 12:25:35 -0000
+@@ -1806,6 +1806,10 @@
+ /* Pre-shared secret session resumption functions */
+ int SSL_set_session_secret_cb(SSL *s, tls_session_secret_cb_fn tls_session_secret_cb, void *arg);
+
++void SSL_tls1_key_exporter(SSL *s, unsigned char *label, int label_len,
++ unsigned char *context, int context_len,
++ unsigned char *out, int olen);
++
+ /* BEGIN ERROR CODES */
+ /* The following lines are auto generated by the script mkerr.pl. Any changes
+ * made after this point may be overwritten when the script is next run.
+
+--- ssl/t1_enc.c.orig 2015-01-22 15:58:32.000000000 +0100
++++ ssl/t1_enc.c 2015-03-10 07:21:12.000000000 +0100
+@@ -1261,6 +1261,21 @@
+ return (rv);
+ }
+
++void SSL_tls1_key_exporter(SSL *s, unsigned char *label, int label_len,
++ unsigned char *context, int context_len,
++ unsigned char *out, int olen)
++ {
++ unsigned char tmp[olen];
++
++ tls1_PRF(s->s3->tmp.new_cipher->algorithm2,
++ label, label_len,
++ s->s3->client_random,SSL3_RANDOM_SIZE,
++ s->s3->server_random,SSL3_RANDOM_SIZE,
++ context, context_len, NULL, 0,
++ s->session->master_key, s->session->master_key_length,
++ out, tmp, olen);
++ }
++
+ int tls1_alert_code(int code)
+ {
+ switch (code) {
diff --git a/test-ports/security/openssl/files/patch-apps_s__client.c b/test-ports/security/openssl/files/patch-apps_s__client.c
new file mode 100644
index 00000000..05ba211a
--- /dev/null
+++ b/test-ports/security/openssl/files/patch-apps_s__client.c
@@ -0,0 +1,22 @@
+From 4e48c77572a9a96a301e362a3646cd3cc7eca0f9 Mon Sep 17 00:00:00 2001
+From: Carlos Alberto Lopez Perez <clopez@igalia.com>
+Date: Mon, 6 Aug 2012 01:45:51 +0200
+Subject: [PATCH] Fix XMPP code detection on s_client starttls xmpp
+
+ * Some XMPP Servers (OpenFire) use double quotes.
+ * This makes s_client starttls work with this servers.
+ * Tested with OpenFire servers from http://xmpp.net/ ::
+
+ openssl s_client -connect coderollers.com:5222 -starttls xmpp
+--- apps/s_client.c.orig 2017-05-25 12:54:38 UTC
++++ apps/s_client.c
+@@ -1663,7 +1663,8 @@ int MAIN(int argc, char **argv)
+ seen = BIO_read(sbio, mbuf, BUFSIZZ);
+ mbuf[seen] = 0;
+ while (!strstr
+- (mbuf, "<starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'")) {
++ (mbuf, "<starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'") &&
++ !strstr(mbuf, "<starttls xmlns=\"urn:ietf:params:xml:ns:xmpp-tls\"")) {
+ if (strstr(mbuf, "/stream:features>"))
+ goto shut;
+ seen = BIO_read(sbio, mbuf, BUFSIZZ);
diff --git a/test-ports/security/openssl/files/patch-config b/test-ports/security/openssl/files/patch-config
new file mode 100644
index 00000000..c9d4fa7d
--- /dev/null
+++ b/test-ports/security/openssl/files/patch-config
@@ -0,0 +1,19 @@
+--- config.orig 2013-06-16 07:01:13.038797248 -0500
++++ config 2013-06-16 07:01:18.138794838 -0500
+@@ -734,14 +734,8 @@
+ sparc64-*-*bsd*) OUT="BSD-sparc64" ;;
+ ia64-*-*bsd*) OUT="BSD-ia64" ;;
+ amd64-*-*bsd*) OUT="BSD-x86_64" ;;
+- *86*-*-*bsd*) # mimic ld behaviour when it's looking for libc...
+- if [ -L /usr/lib/libc.so ]; then # [Free|Net]BSD
+- libc=/usr/lib/libc.so
+- else # OpenBSD
+- # ld searches for highest libc.so.* and so do we
+- libc=`(ls /usr/lib/libc.so.* /lib/libc.so.* | tail -1) 2>/dev/null`
+- fi
+- case "`(file -L $libc) 2>/dev/null`" in
++ *86*-*-*bsd*)
++ case "`(file -L /bin/sh) 2>/dev/null`" in
+ *ELF*) OUT="BSD-x86-elf" ;;
+ *) OUT="BSD-x86"; options="$options no-sse2" ;;
+ esac ;;
diff --git a/test-ports/security/openssl/files/pkg-message.in b/test-ports/security/openssl/files/pkg-message.in
new file mode 100644
index 00000000..967964da
--- /dev/null
+++ b/test-ports/security/openssl/files/pkg-message.in
@@ -0,0 +1 @@
+Edit %%PREFIX%%/openssl/openssl.cnf to fit your needs.
diff --git a/test-ports/security/openssl/pkg-descr b/test-ports/security/openssl/pkg-descr
new file mode 100644
index 00000000..3d682d8d
--- /dev/null
+++ b/test-ports/security/openssl/pkg-descr
@@ -0,0 +1,16 @@
+The OpenSSL Project is a collaborative effort to develop a robust,
+commercial-grade, full-featured, and Open Source toolkit implementing
+the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security
+(TLS v1) protocols with full-strength cryptography world-wide. The
+project is managed by a worldwide community of volunteers that use
+the Internet to communicate, plan, and develop the OpenSSL tookit
+and its related documentation.
+
+OpenSSL is based on the excellent SSLeay library developed by Eric
+A. Young and Tim J. Hudson. The OpenSSL toolkit is licensed under
+an Apache-style licence, which basically means that you are free
+to get and use it for commercial and non-commercial purposes subject
+to some simple license conditions.
+
+WWW: http://www.openssl.org/
+WWW: http://sctp.fh-muenster.de/dtls-patches.html
diff --git a/test-ports/security/openssl/pkg-plist b/test-ports/security/openssl/pkg-plist
new file mode 100644
index 00000000..d72e3875
--- /dev/null
+++ b/test-ports/security/openssl/pkg-plist
@@ -0,0 +1,1716 @@
+bin/c_rehash
+bin/openssl
+include/openssl/aes.h
+include/openssl/asn1.h
+include/openssl/asn1_mac.h
+include/openssl/asn1t.h
+include/openssl/bio.h
+include/openssl/blowfish.h
+include/openssl/bn.h
+include/openssl/buffer.h
+include/openssl/camellia.h
+include/openssl/cast.h
+include/openssl/cmac.h
+include/openssl/cms.h
+include/openssl/comp.h
+include/openssl/conf.h
+include/openssl/conf_api.h
+include/openssl/crypto.h
+include/openssl/des.h
+include/openssl/des_old.h
+include/openssl/dh.h
+include/openssl/dsa.h
+include/openssl/dso.h
+include/openssl/dtls1.h
+include/openssl/e_os2.h
+include/openssl/ebcdic.h
+include/openssl/ec.h
+include/openssl/ecdh.h
+include/openssl/ecdsa.h
+include/openssl/engine.h
+include/openssl/err.h
+include/openssl/evp.h
+include/openssl/hmac.h
+include/openssl/idea.h
+include/openssl/krb5_asn.h
+include/openssl/kssl.h
+include/openssl/lhash.h
+%%MD2%%include/openssl/md2.h
+include/openssl/md4.h
+include/openssl/md5.h
+include/openssl/mdc2.h
+include/openssl/modes.h
+include/openssl/obj_mac.h
+include/openssl/objects.h
+include/openssl/ocsp.h
+include/openssl/opensslconf.h
+include/openssl/opensslv.h
+include/openssl/ossl_typ.h
+include/openssl/pem.h
+include/openssl/pem2.h
+include/openssl/pkcs12.h
+include/openssl/pkcs7.h
+include/openssl/pqueue.h
+include/openssl/rand.h
+include/openssl/rc2.h
+include/openssl/rc4.h
+%%RC5%%include/openssl/rc5.h
+include/openssl/ripemd.h
+include/openssl/rsa.h
+include/openssl/safestack.h
+include/openssl/seed.h
+include/openssl/sha.h
+include/openssl/srp.h
+include/openssl/srtp.h
+include/openssl/ssl.h
+include/openssl/ssl2.h
+include/openssl/ssl23.h
+include/openssl/ssl3.h
+include/openssl/stack.h
+include/openssl/symhacks.h
+include/openssl/tls1.h
+include/openssl/ts.h
+include/openssl/txt_db.h
+include/openssl/ui.h
+include/openssl/ui_compat.h
+include/openssl/whrlpool.h
+include/openssl/x509.h
+include/openssl/x509_vfy.h
+include/openssl/x509v3.h
+%%SHARED%%lib/engines/lib4758cca.so
+%%SHARED%%lib/engines/libaep.so
+%%SHARED%%lib/engines/libatalla.so
+%%SHARED%%lib/engines/libcapi.so
+%%SHARED%%lib/engines/libchil.so
+%%SHARED%%lib/engines/libcswift.so
+%%SHARED%%lib/engines/libgmp.so
+%%SHARED%%lib/engines/libgost.so
+%%SHARED%%lib/engines/libnuron.so
+%%SHARED%%lib/engines/libpadlock.so
+%%SHARED%%lib/engines/libsureware.so
+%%SHARED%%lib/engines/libubsec.so
+lib/libcrypto.a
+%%SHARED%%lib/libcrypto.so
+%%SHARED%%lib/libcrypto.so.%%SHLIBVER%%
+lib/libssl.a
+%%SHARED%%lib/libssl.so
+%%SHARED%%lib/libssl.so.%%SHLIBVER%%
+libdata/pkgconfig/libcrypto.pc
+libdata/pkgconfig/libssl.pc
+libdata/pkgconfig/openssl.pc
+man/man1/CA.pl.1.gz
+man/man1/asn1parse.1.gz
+man/man1/c_rehash.1.gz
+man/man1/ca.1.gz
+man/man1/ciphers.1.gz
+man/man1/cms.1.gz
+man/man1/crl.1.gz
+man/man1/crl2pkcs7.1.gz
+man/man1/dgst.1.gz
+man/man1/dhparam.1.gz
+man/man1/dsa.1.gz
+man/man1/dsaparam.1.gz
+man/man1/dss1.1.gz
+man/man1/ec.1.gz
+man/man1/ecparam.1.gz
+man/man1/enc.1.gz
+man/man1/errstr.1.gz
+man/man1/gendsa.1.gz
+man/man1/genpkey.1.gz
+man/man1/genrsa.1.gz
+man/man1/md2.1.gz
+man/man1/md4.1.gz
+man/man1/md5.1.gz
+man/man1/mdc2.1.gz
+man/man1/nseq.1.gz
+man/man1/ocsp.1.gz
+man/man1/openssl.1.gz
+man/man1/passwd.1.gz
+man/man1/pkcs12.1.gz
+man/man1/pkcs7.1.gz
+man/man1/pkcs8.1.gz
+man/man1/pkey.1.gz
+man/man1/pkeyparam.1.gz
+man/man1/pkeyutl.1.gz
+man/man1/rand.1.gz
+man/man1/req.1.gz
+man/man1/ripemd160.1.gz
+man/man1/rsa.1.gz
+man/man1/rsautl.1.gz
+man/man1/s_client.1.gz
+man/man1/s_server.1.gz
+man/man1/s_time.1.gz
+man/man1/sess_id.1.gz
+man/man1/sha.1.gz
+man/man1/sha1.1.gz
+man/man1/sha224.1.gz
+man/man1/sha256.1.gz
+man/man1/sha384.1.gz
+man/man1/sha512.1.gz
+man/man1/smime.1.gz
+man/man1/speed.1.gz
+man/man1/spkac.1.gz
+man/man1/ts.1.gz
+man/man1/tsget.1.gz
+man/man1/verify.1.gz
+man/man1/version.1.gz
+man/man1/x509.1.gz
+%%MAN3%%man/man3/ASN1_OBJECT_free.3.gz
+%%MAN3%%man/man3/ASN1_OBJECT_new.3.gz
+%%MAN3%%man/man3/ASN1_STRING_cmp.3.gz
+%%MAN3%%man/man3/ASN1_STRING_data.3.gz
+%%MAN3%%man/man3/ASN1_STRING_dup.3.gz
+%%MAN3%%man/man3/ASN1_STRING_free.3.gz
+%%MAN3%%man/man3/ASN1_STRING_length.3.gz
+%%MAN3%%man/man3/ASN1_STRING_length_set.3.gz
+%%MAN3%%man/man3/ASN1_STRING_new.3.gz
+%%MAN3%%man/man3/ASN1_STRING_print.3.gz
+%%MAN3%%man/man3/ASN1_STRING_print_ex.3.gz
+%%MAN3%%man/man3/ASN1_STRING_print_ex_fp.3.gz
+%%MAN3%%man/man3/ASN1_STRING_set.3.gz
+%%MAN3%%man/man3/ASN1_STRING_to_UTF8.3.gz
+%%MAN3%%man/man3/ASN1_STRING_type.3.gz
+%%MAN3%%man/man3/ASN1_STRING_type_new.3.gz
+%%MAN3%%man/man3/ASN1_TIME_adj.3.gz
+%%MAN3%%man/man3/ASN1_TIME_check.3.gz
+%%MAN3%%man/man3/ASN1_TIME_diff.3.gz
+%%MAN3%%man/man3/ASN1_TIME_print.3.gz
+%%MAN3%%man/man3/ASN1_TIME_set.3.gz
+%%MAN3%%man/man3/ASN1_TIME_set_string.3.gz
+%%MAN3%%man/man3/ASN1_add_oid_module.3.gz
+%%MAN3%%man/man3/ASN1_generate_nconf.3.gz
+%%MAN3%%man/man3/ASN1_generate_v3.3.gz
+%%MAN3%%man/man3/BF_cbc_encrypt.3.gz
+%%MAN3%%man/man3/BF_cfb64_encrypt.3.gz
+%%MAN3%%man/man3/BF_decrypt.3.gz
+%%MAN3%%man/man3/BF_ecb_encrypt.3.gz
+%%MAN3%%man/man3/BF_encrypt.3.gz
+%%MAN3%%man/man3/BF_ofb64_encrypt.3.gz
+%%MAN3%%man/man3/BF_options.3.gz
+%%MAN3%%man/man3/BF_set_key.3.gz
+%%MAN3%%man/man3/BIO_append_filename.3.gz
+%%MAN3%%man/man3/BIO_callback_ctrl.3.gz
+%%MAN3%%man/man3/BIO_ctrl.3.gz
+%%MAN3%%man/man3/BIO_ctrl_get_read_request.3.gz
+%%MAN3%%man/man3/BIO_ctrl_get_write_guarantee.3.gz
+%%MAN3%%man/man3/BIO_ctrl_pending.3.gz
+%%MAN3%%man/man3/BIO_ctrl_reset_read_request.3.gz
+%%MAN3%%man/man3/BIO_ctrl_wpending.3.gz
+%%MAN3%%man/man3/BIO_debug_callback.3.gz
+%%MAN3%%man/man3/BIO_destroy_bio_pair.3.gz
+%%MAN3%%man/man3/BIO_do_accept.3.gz
+%%MAN3%%man/man3/BIO_do_connect.3.gz
+%%MAN3%%man/man3/BIO_eof.3.gz
+%%MAN3%%man/man3/BIO_f_base64.3.gz
+%%MAN3%%man/man3/BIO_f_buffer.3.gz
+%%MAN3%%man/man3/BIO_f_cipher.3.gz
+%%MAN3%%man/man3/BIO_f_md.3.gz
+%%MAN3%%man/man3/BIO_f_null.3.gz
+%%MAN3%%man/man3/BIO_f_ssl.3.gz
+%%MAN3%%man/man3/BIO_find_type.3.gz
+%%MAN3%%man/man3/BIO_flush.3.gz
+%%MAN3%%man/man3/BIO_free.3.gz
+%%MAN3%%man/man3/BIO_free_all.3.gz
+%%MAN3%%man/man3/BIO_get_accept_port.3.gz
+%%MAN3%%man/man3/BIO_get_bind_mode.3.gz
+%%MAN3%%man/man3/BIO_get_callback.3.gz
+%%MAN3%%man/man3/BIO_get_callback_arg.3.gz
+%%MAN3%%man/man3/BIO_get_cipher_ctx.3.gz
+%%MAN3%%man/man3/BIO_get_cipher_status.3.gz
+%%MAN3%%man/man3/BIO_get_close.3.gz
+%%MAN3%%man/man3/BIO_get_conn_hostname.3.gz
+%%MAN3%%man/man3/BIO_get_conn_int_port.3.gz
+%%MAN3%%man/man3/BIO_get_conn_ip.3.gz
+%%MAN3%%man/man3/BIO_get_conn_port.3.gz
+%%MAN3%%man/man3/BIO_get_fd.3.gz
+%%MAN3%%man/man3/BIO_get_fp.3.gz
+%%MAN3%%man/man3/BIO_get_info_callback.3.gz
+%%MAN3%%man/man3/BIO_get_md.3.gz
+%%MAN3%%man/man3/BIO_get_md_ctx.3.gz
+%%MAN3%%man/man3/BIO_get_mem_data.3.gz
+%%MAN3%%man/man3/BIO_get_mem_ptr.3.gz
+%%MAN3%%man/man3/BIO_get_num_renegotiates.3.gz
+%%MAN3%%man/man3/BIO_get_read_request.3.gz
+%%MAN3%%man/man3/BIO_get_retry_BIO.3.gz
+%%MAN3%%man/man3/BIO_get_retry_reason.3.gz
+%%MAN3%%man/man3/BIO_get_ssl.3.gz
+%%MAN3%%man/man3/BIO_get_write_buf_size.3.gz
+%%MAN3%%man/man3/BIO_get_write_guarantee.3.gz
+%%MAN3%%man/man3/BIO_gets.3.gz
+%%MAN3%%man/man3/BIO_int_ctrl.3.gz
+%%MAN3%%man/man3/BIO_make_bio_pair.3.gz
+%%MAN3%%man/man3/BIO_method_type.3.gz
+%%MAN3%%man/man3/BIO_new.3.gz
+%%MAN3%%man/man3/BIO_new_CMS.3.gz
+%%MAN3%%man/man3/BIO_new_accept.3.gz
+%%MAN3%%man/man3/BIO_new_bio_pair.3.gz
+%%MAN3%%man/man3/BIO_new_buffer_ssl_connect.3.gz
+%%MAN3%%man/man3/BIO_new_connect.3.gz
+%%MAN3%%man/man3/BIO_new_fd.3.gz
+%%MAN3%%man/man3/BIO_new_file.3.gz
+%%MAN3%%man/man3/BIO_new_fp.3.gz
+%%MAN3%%man/man3/BIO_new_mem_buf.3.gz
+%%MAN3%%man/man3/BIO_new_socket.3.gz
+%%MAN3%%man/man3/BIO_new_ssl.3.gz
+%%MAN3%%man/man3/BIO_new_ssl_connect.3.gz
+%%MAN3%%man/man3/BIO_next.3.gz
+%%MAN3%%man/man3/BIO_pending.3.gz
+%%MAN3%%man/man3/BIO_pop.3.gz
+%%MAN3%%man/man3/BIO_ptr_ctrl.3.gz
+%%MAN3%%man/man3/BIO_push.3.gz
+%%MAN3%%man/man3/BIO_puts.3.gz
+%%MAN3%%man/man3/BIO_read.3.gz
+%%MAN3%%man/man3/BIO_read_filename.3.gz
+%%MAN3%%man/man3/BIO_reset.3.gz
+%%MAN3%%man/man3/BIO_retry_type.3.gz
+%%MAN3%%man/man3/BIO_rw_filename.3.gz
+%%MAN3%%man/man3/BIO_s_accept.3.gz
+%%MAN3%%man/man3/BIO_s_bio.3.gz
+%%MAN3%%man/man3/BIO_s_connect.3.gz
+%%MAN3%%man/man3/BIO_s_fd.3.gz
+%%MAN3%%man/man3/BIO_s_file.3.gz
+%%MAN3%%man/man3/BIO_s_mem.3.gz
+%%MAN3%%man/man3/BIO_s_null.3.gz
+%%MAN3%%man/man3/BIO_s_socket.3.gz
+%%MAN3%%man/man3/BIO_seek.3.gz
+%%MAN3%%man/man3/BIO_set.3.gz
+%%MAN3%%man/man3/BIO_set_accept_bios.3.gz
+%%MAN3%%man/man3/BIO_set_accept_port.3.gz
+%%MAN3%%man/man3/BIO_set_bind_mode.3.gz
+%%MAN3%%man/man3/BIO_set_callback.3.gz
+%%MAN3%%man/man3/BIO_set_callback_arg.3.gz
+%%MAN3%%man/man3/BIO_set_cipher.3.gz
+%%MAN3%%man/man3/BIO_set_close.3.gz
+%%MAN3%%man/man3/BIO_set_conn_hostname.3.gz
+%%MAN3%%man/man3/BIO_set_conn_int_port.3.gz
+%%MAN3%%man/man3/BIO_set_conn_ip.3.gz
+%%MAN3%%man/man3/BIO_set_conn_port.3.gz
+%%MAN3%%man/man3/BIO_set_fd.3.gz
+%%MAN3%%man/man3/BIO_set_fp.3.gz
+%%MAN3%%man/man3/BIO_set_info_callback.3.gz
+%%MAN3%%man/man3/BIO_set_md.3.gz
+%%MAN3%%man/man3/BIO_set_mem_buf.3.gz
+%%MAN3%%man/man3/BIO_set_mem_eof_return.3.gz
+%%MAN3%%man/man3/BIO_set_nbio.3.gz
+%%MAN3%%man/man3/BIO_set_nbio_accept.3.gz
+%%MAN3%%man/man3/BIO_set_ssl.3.gz
+%%MAN3%%man/man3/BIO_set_ssl_mode.3.gz
+%%MAN3%%man/man3/BIO_set_ssl_renegotiate_bytes.3.gz
+%%MAN3%%man/man3/BIO_set_ssl_renegotiate_timeout.3.gz
+%%MAN3%%man/man3/BIO_set_write_buf_size.3.gz
+%%MAN3%%man/man3/BIO_should_io_special.3.gz
+%%MAN3%%man/man3/BIO_should_read.3.gz
+%%MAN3%%man/man3/BIO_should_retry.3.gz
+%%MAN3%%man/man3/BIO_should_write.3.gz
+%%MAN3%%man/man3/BIO_shutdown_wr.3.gz
+%%MAN3%%man/man3/BIO_ssl_copy_session_id.3.gz
+%%MAN3%%man/man3/BIO_ssl_shutdown.3.gz
+%%MAN3%%man/man3/BIO_tell.3.gz
+%%MAN3%%man/man3/BIO_vfree.3.gz
+%%MAN3%%man/man3/BIO_wpending.3.gz
+%%MAN3%%man/man3/BIO_write.3.gz
+%%MAN3%%man/man3/BIO_write_filename.3.gz
+%%MAN3%%man/man3/BN_BLINDING_convert.3.gz
+%%MAN3%%man/man3/BN_BLINDING_convert_ex.3.gz
+%%MAN3%%man/man3/BN_BLINDING_create_param.3.gz
+%%MAN3%%man/man3/BN_BLINDING_free.3.gz
+%%MAN3%%man/man3/BN_BLINDING_get_flags.3.gz
+%%MAN3%%man/man3/BN_BLINDING_get_thread_id.3.gz
+%%MAN3%%man/man3/BN_BLINDING_invert.3.gz
+%%MAN3%%man/man3/BN_BLINDING_invert_ex.3.gz
+%%MAN3%%man/man3/BN_BLINDING_new.3.gz
+%%MAN3%%man/man3/BN_BLINDING_set_flags.3.gz
+%%MAN3%%man/man3/BN_BLINDING_set_thread_id.3.gz
+%%MAN3%%man/man3/BN_BLINDING_thread_id.3.gz
+%%MAN3%%man/man3/BN_BLINDING_update.3.gz
+%%MAN3%%man/man3/BN_CTX_end.3.gz
+%%MAN3%%man/man3/BN_CTX_free.3.gz
+%%MAN3%%man/man3/BN_CTX_get.3.gz
+%%MAN3%%man/man3/BN_CTX_init.3.gz
+%%MAN3%%man/man3/BN_CTX_new.3.gz
+%%MAN3%%man/man3/BN_CTX_start.3.gz
+%%MAN3%%man/man3/BN_GENCB_call.3.gz
+%%MAN3%%man/man3/BN_GENCB_set.3.gz
+%%MAN3%%man/man3/BN_GENCB_set_old.3.gz
+%%MAN3%%man/man3/BN_MONT_CTX_copy.3.gz
+%%MAN3%%man/man3/BN_MONT_CTX_free.3.gz
+%%MAN3%%man/man3/BN_MONT_CTX_init.3.gz
+%%MAN3%%man/man3/BN_MONT_CTX_new.3.gz
+%%MAN3%%man/man3/BN_MONT_CTX_set.3.gz
+%%MAN3%%man/man3/BN_RECP_CTX_free.3.gz
+%%MAN3%%man/man3/BN_RECP_CTX_init.3.gz
+%%MAN3%%man/man3/BN_RECP_CTX_new.3.gz
+%%MAN3%%man/man3/BN_RECP_CTX_set.3.gz
+%%MAN3%%man/man3/BN_add.3.gz
+%%MAN3%%man/man3/BN_add_word.3.gz
+%%MAN3%%man/man3/BN_bin2bn.3.gz
+%%MAN3%%man/man3/BN_bn2bin.3.gz
+%%MAN3%%man/man3/BN_bn2dec.3.gz
+%%MAN3%%man/man3/BN_bn2hex.3.gz
+%%MAN3%%man/man3/BN_bn2mpi.3.gz
+%%MAN3%%man/man3/BN_clear.3.gz
+%%MAN3%%man/man3/BN_clear_bit.3.gz
+%%MAN3%%man/man3/BN_clear_free.3.gz
+%%MAN3%%man/man3/BN_cmp.3.gz
+%%MAN3%%man/man3/BN_copy.3.gz
+%%MAN3%%man/man3/BN_dec2bn.3.gz
+%%MAN3%%man/man3/BN_div.3.gz
+%%MAN3%%man/man3/BN_div_recp.3.gz
+%%MAN3%%man/man3/BN_div_word.3.gz
+%%MAN3%%man/man3/BN_dup.3.gz
+%%MAN3%%man/man3/BN_exp.3.gz
+%%MAN3%%man/man3/BN_free.3.gz
+%%MAN3%%man/man3/BN_from_montgomery.3.gz
+%%MAN3%%man/man3/BN_gcd.3.gz
+%%MAN3%%man/man3/BN_generate_prime.3.gz
+%%MAN3%%man/man3/BN_generate_prime_ex.3.gz
+%%MAN3%%man/man3/BN_get_word.3.gz
+%%MAN3%%man/man3/BN_hex2bn.3.gz
+%%MAN3%%man/man3/BN_init.3.gz
+%%MAN3%%man/man3/BN_is_bit_set.3.gz
+%%MAN3%%man/man3/BN_is_odd.3.gz
+%%MAN3%%man/man3/BN_is_one.3.gz
+%%MAN3%%man/man3/BN_is_prime.3.gz
+%%MAN3%%man/man3/BN_is_prime_ex.3.gz
+%%MAN3%%man/man3/BN_is_prime_fasttest.3.gz
+%%MAN3%%man/man3/BN_is_prime_fasttest_ex.3.gz
+%%MAN3%%man/man3/BN_is_word.3.gz
+%%MAN3%%man/man3/BN_is_zero.3.gz
+%%MAN3%%man/man3/BN_lshift.3.gz
+%%MAN3%%man/man3/BN_lshift1.3.gz
+%%MAN3%%man/man3/BN_mask_bits.3.gz
+%%MAN3%%man/man3/BN_mod.3.gz
+%%MAN3%%man/man3/BN_mod_add.3.gz
+%%MAN3%%man/man3/BN_mod_exp.3.gz
+%%MAN3%%man/man3/BN_mod_inverse.3.gz
+%%MAN3%%man/man3/BN_mod_mul.3.gz
+%%MAN3%%man/man3/BN_mod_mul_montgomery.3.gz
+%%MAN3%%man/man3/BN_mod_mul_reciprocal.3.gz
+%%MAN3%%man/man3/BN_mod_sqr.3.gz
+%%MAN3%%man/man3/BN_mod_sub.3.gz
+%%MAN3%%man/man3/BN_mod_word.3.gz
+%%MAN3%%man/man3/BN_mpi2bn.3.gz
+%%MAN3%%man/man3/BN_mul.3.gz
+%%MAN3%%man/man3/BN_mul_word.3.gz
+%%MAN3%%man/man3/BN_new.3.gz
+%%MAN3%%man/man3/BN_nnmod.3.gz
+%%MAN3%%man/man3/BN_num_bits.3.gz
+%%MAN3%%man/man3/BN_num_bits_word.3.gz
+%%MAN3%%man/man3/BN_num_bytes.3.gz
+%%MAN3%%man/man3/BN_one.3.gz
+%%MAN3%%man/man3/BN_print.3.gz
+%%MAN3%%man/man3/BN_print_fp.3.gz
+%%MAN3%%man/man3/BN_pseudo_rand.3.gz
+%%MAN3%%man/man3/BN_pseudo_rand_range.3.gz
+%%MAN3%%man/man3/BN_rand.3.gz
+%%MAN3%%man/man3/BN_rand_range.3.gz
+%%MAN3%%man/man3/BN_rshift.3.gz
+%%MAN3%%man/man3/BN_rshift1.3.gz
+%%MAN3%%man/man3/BN_set_bit.3.gz
+%%MAN3%%man/man3/BN_set_word.3.gz
+%%MAN3%%man/man3/BN_sqr.3.gz
+%%MAN3%%man/man3/BN_sub.3.gz
+%%MAN3%%man/man3/BN_sub_word.3.gz
+%%MAN3%%man/man3/BN_swap.3.gz
+%%MAN3%%man/man3/BN_to_montgomery.3.gz
+%%MAN3%%man/man3/BN_ucmp.3.gz
+%%MAN3%%man/man3/BN_value_one.3.gz
+%%MAN3%%man/man3/BN_zero.3.gz
+%%MAN3%%man/man3/BUF_MEM_free.3.gz
+%%MAN3%%man/man3/BUF_MEM_grow.3.gz
+%%MAN3%%man/man3/BUF_MEM_new.3.gz
+%%MAN3%%man/man3/BUF_MEM_new_ex.3.gz
+%%MAN3%%man/man3/BUF_memdup.3.gz
+%%MAN3%%man/man3/BUF_strdup.3.gz
+%%MAN3%%man/man3/BUF_strlcat.3.gz
+%%MAN3%%man/man3/BUF_strlcpy.3.gz
+%%MAN3%%man/man3/BUF_strndup.3.gz
+%%MAN3%%man/man3/CMS_ReceiptRequest_create0.3.gz
+%%MAN3%%man/man3/CMS_ReceiptRequest_get0_values.3.gz
+%%MAN3%%man/man3/CMS_RecipientInfo_decrypt.3.gz
+%%MAN3%%man/man3/CMS_RecipientInfo_encrypt.3.gz
+%%MAN3%%man/man3/CMS_RecipientInfo_kekri_get0_id.3.gz
+%%MAN3%%man/man3/CMS_RecipientInfo_kekri_id_cmp.3.gz
+%%MAN3%%man/man3/CMS_RecipientInfo_ktri_cert_cmp.3.gz
+%%MAN3%%man/man3/CMS_RecipientInfo_ktri_get0_signer_id.3.gz
+%%MAN3%%man/man3/CMS_RecipientInfo_set0_key.3.gz
+%%MAN3%%man/man3/CMS_RecipientInfo_set0_pkey.3.gz
+%%MAN3%%man/man3/CMS_RecipientInfo_type.3.gz
+%%MAN3%%man/man3/CMS_SignerInfo_cert_cmp.3.gz
+%%MAN3%%man/man3/CMS_SignerInfo_get0_signature.3.gz
+%%MAN3%%man/man3/CMS_SignerInfo_get0_signer_id.3.gz
+%%MAN3%%man/man3/CMS_SignerInfo_sign.3.gz
+%%MAN3%%man/man3/CMS_add0_cert.3.gz
+%%MAN3%%man/man3/CMS_add0_crl.3.gz
+%%MAN3%%man/man3/CMS_add0_recipient_key.3.gz
+%%MAN3%%man/man3/CMS_add1_ReceiptRequest.3.gz
+%%MAN3%%man/man3/CMS_add1_cert.3.gz
+%%MAN3%%man/man3/CMS_add1_crl.3.gz
+%%MAN3%%man/man3/CMS_add1_recipient_cert.3.gz
+%%MAN3%%man/man3/CMS_add1_signer.3.gz
+%%MAN3%%man/man3/CMS_compress.3.gz
+%%MAN3%%man/man3/CMS_decrypt.3.gz
+%%MAN3%%man/man3/CMS_encrypt.3.gz
+%%MAN3%%man/man3/CMS_final.3.gz
+%%MAN3%%man/man3/CMS_get0_RecipientInfos.3.gz
+%%MAN3%%man/man3/CMS_get0_SignerInfos.3.gz
+%%MAN3%%man/man3/CMS_get0_content.3.gz
+%%MAN3%%man/man3/CMS_get0_eContentType.3.gz
+%%MAN3%%man/man3/CMS_get0_signers.3.gz
+%%MAN3%%man/man3/CMS_get0_type.3.gz
+%%MAN3%%man/man3/CMS_get1_ReceiptRequest.3.gz
+%%MAN3%%man/man3/CMS_get1_certs.3.gz
+%%MAN3%%man/man3/CMS_get1_crls.3.gz
+%%MAN3%%man/man3/CMS_set1_eContentType.3.gz
+%%MAN3%%man/man3/CMS_set1_signer_cert.3.gz
+%%MAN3%%man/man3/CMS_sign.3.gz
+%%MAN3%%man/man3/CMS_sign_receipt.3.gz
+%%MAN3%%man/man3/CMS_uncompress.3.gz
+%%MAN3%%man/man3/CMS_verify.3.gz
+%%MAN3%%man/man3/CMS_verify_receipt.3.gz
+%%MAN3%%man/man3/CONF_modules_finish.3.gz
+%%MAN3%%man/man3/CONF_modules_free.3.gz
+%%MAN3%%man/man3/CONF_modules_load.3.gz
+%%MAN3%%man/man3/CONF_modules_load_file.3.gz
+%%MAN3%%man/man3/CONF_modules_unload.3.gz
+%%MAN3%%man/man3/CRYPTO_THREADID_cmp.3.gz
+%%MAN3%%man/man3/CRYPTO_THREADID_cpy.3.gz
+%%MAN3%%man/man3/CRYPTO_THREADID_current.3.gz
+%%MAN3%%man/man3/CRYPTO_THREADID_get_callback.3.gz
+%%MAN3%%man/man3/CRYPTO_THREADID_hash.3.gz
+%%MAN3%%man/man3/CRYPTO_THREADID_set_callback.3.gz
+%%MAN3%%man/man3/CRYPTO_destroy_dynlockid.3.gz
+%%MAN3%%man/man3/CRYPTO_get_ex_data.3.gz
+%%MAN3%%man/man3/CRYPTO_get_new_dynlockid.3.gz
+%%MAN3%%man/man3/CRYPTO_lock.3.gz
+%%MAN3%%man/man3/CRYPTO_num_locks.3.gz
+%%MAN3%%man/man3/CRYPTO_set_dynlock_create_callback.3.gz
+%%MAN3%%man/man3/CRYPTO_set_dynlock_destroy_callback.3.gz
+%%MAN3%%man/man3/CRYPTO_set_dynlock_lock_callback.3.gz
+%%MAN3%%man/man3/CRYPTO_set_ex_data.3.gz
+%%MAN3%%man/man3/CRYPTO_set_locking_callback.3.gz
+%%MAN3%%man/man3/DES_cbc_cksum.3.gz
+%%MAN3%%man/man3/DES_cfb64_encrypt.3.gz
+%%MAN3%%man/man3/DES_cfb_encrypt.3.gz
+%%MAN3%%man/man3/DES_crypt.3.gz
+%%MAN3%%man/man3/DES_ecb2_encrypt.3.gz
+%%MAN3%%man/man3/DES_ecb3_encrypt.3.gz
+%%MAN3%%man/man3/DES_ecb_encrypt.3.gz
+%%MAN3%%man/man3/DES_ede2_cbc_encrypt.3.gz
+%%MAN3%%man/man3/DES_ede2_cfb64_encrypt.3.gz
+%%MAN3%%man/man3/DES_ede2_ofb64_encrypt.3.gz
+%%MAN3%%man/man3/DES_ede3_cbc_encrypt.3.gz
+%%MAN3%%man/man3/DES_ede3_cbcm_encrypt.3.gz
+%%MAN3%%man/man3/DES_ede3_cfb64_encrypt.3.gz
+%%MAN3%%man/man3/DES_ede3_ofb64_encrypt.3.gz
+%%MAN3%%man/man3/DES_enc_read.3.gz
+%%MAN3%%man/man3/DES_enc_write.3.gz
+%%MAN3%%man/man3/DES_fcrypt.3.gz
+%%MAN3%%man/man3/DES_is_weak_key.3.gz
+%%MAN3%%man/man3/DES_key_sched.3.gz
+%%MAN3%%man/man3/DES_ncbc_encrypt.3.gz
+%%MAN3%%man/man3/DES_ofb64_encrypt.3.gz
+%%MAN3%%man/man3/DES_ofb_encrypt.3.gz
+%%MAN3%%man/man3/DES_pcbc_encrypt.3.gz
+%%MAN3%%man/man3/DES_quad_cksum.3.gz
+%%MAN3%%man/man3/DES_random_key.3.gz
+%%MAN3%%man/man3/DES_set_key.3.gz
+%%MAN3%%man/man3/DES_set_key_checked.3.gz
+%%MAN3%%man/man3/DES_set_key_unchecked.3.gz
+%%MAN3%%man/man3/DES_set_odd_parity.3.gz
+%%MAN3%%man/man3/DES_string_to_2keys.3.gz
+%%MAN3%%man/man3/DES_string_to_key.3.gz
+%%MAN3%%man/man3/DES_xcbc_encrypt.3.gz
+%%MAN3%%man/man3/DH_OpenSSL.3.gz
+%%MAN3%%man/man3/DH_check.3.gz
+%%MAN3%%man/man3/DH_compute_key.3.gz
+%%MAN3%%man/man3/DH_free.3.gz
+%%MAN3%%man/man3/DH_generate_key.3.gz
+%%MAN3%%man/man3/DH_generate_parameters.3.gz
+%%MAN3%%man/man3/DH_generate_parameters_ex.3.gz
+%%MAN3%%man/man3/DH_get_default_method.3.gz
+%%MAN3%%man/man3/DH_get_ex_data.3.gz
+%%MAN3%%man/man3/DH_get_ex_new_index.3.gz
+%%MAN3%%man/man3/DH_new.3.gz
+%%MAN3%%man/man3/DH_new_method.3.gz
+%%MAN3%%man/man3/DH_set_default_method.3.gz
+%%MAN3%%man/man3/DH_set_ex_data.3.gz
+%%MAN3%%man/man3/DH_set_method.3.gz
+%%MAN3%%man/man3/DH_size.3.gz
+%%MAN3%%man/man3/DHparams_print.3.gz
+%%MAN3%%man/man3/DHparams_print_fp.3.gz
+%%MAN3%%man/man3/DSA_OpenSSL.3.gz
+%%MAN3%%man/man3/DSA_SIG_free.3.gz
+%%MAN3%%man/man3/DSA_SIG_new.3.gz
+%%MAN3%%man/man3/DSA_do_sign.3.gz
+%%MAN3%%man/man3/DSA_do_verify.3.gz
+%%MAN3%%man/man3/DSA_dup_DH.3.gz
+%%MAN3%%man/man3/DSA_free.3.gz
+%%MAN3%%man/man3/DSA_generate_key.3.gz
+%%MAN3%%man/man3/DSA_generate_parameters.3.gz
+%%MAN3%%man/man3/DSA_generate_parameters_ex.3.gz
+%%MAN3%%man/man3/DSA_get_default_method.3.gz
+%%MAN3%%man/man3/DSA_get_ex_data.3.gz
+%%MAN3%%man/man3/DSA_get_ex_new_index.3.gz
+%%MAN3%%man/man3/DSA_new.3.gz
+%%MAN3%%man/man3/DSA_new_method.3.gz
+%%MAN3%%man/man3/DSA_print.3.gz
+%%MAN3%%man/man3/DSA_print_fp.3.gz
+%%MAN3%%man/man3/DSA_set_default_method.3.gz
+%%MAN3%%man/man3/DSA_set_ex_data.3.gz
+%%MAN3%%man/man3/DSA_set_method.3.gz
+%%MAN3%%man/man3/DSA_sign.3.gz
+%%MAN3%%man/man3/DSA_sign_setup.3.gz
+%%MAN3%%man/man3/DSA_size.3.gz
+%%MAN3%%man/man3/DSA_verify.3.gz
+%%MAN3%%man/man3/DSAparams_print.3.gz
+%%MAN3%%man/man3/DSAparams_print_fp.3.gz
+%%MAN3%%man/man3/DTLS_client_method.3.gz
+%%MAN3%%man/man3/DTLS_method.3.gz
+%%MAN3%%man/man3/DTLS_server_method.3.gz
+%%MAN3%%man/man3/DTLSv1_2_client_method.3.gz
+%%MAN3%%man/man3/DTLSv1_2_method.3.gz
+%%MAN3%%man/man3/DTLSv1_2_server_method.3.gz
+%%MAN3%%man/man3/DTLSv1_client_method.3.gz
+%%MAN3%%man/man3/DTLSv1_method.3.gz
+%%MAN3%%man/man3/DTLSv1_server_method.3.gz
+%%MAN3%%man/man3/ECDSA_SIG_free.3.gz
+%%MAN3%%man/man3/ECDSA_SIG_new.3.gz
+%%MAN3%%man/man3/ECDSA_do_sign.3.gz
+%%MAN3%%man/man3/ECDSA_do_sign_ex.3.gz
+%%MAN3%%man/man3/ECDSA_do_verify.3.gz
+%%MAN3%%man/man3/ECDSA_sign.3.gz
+%%MAN3%%man/man3/ECDSA_sign_ex.3.gz
+%%MAN3%%man/man3/ECDSA_sign_setup.3.gz
+%%MAN3%%man/man3/ECDSA_size.3.gz
+%%MAN3%%man/man3/ECDSA_verify.3.gz
+%%MAN3%%man/man3/ECPKParameters_print.3.gz
+%%MAN3%%man/man3/ECPKParameters_print_fp.3.gz
+%%MAN3%%man/man3/EC_GF2m_simple_method.3.gz
+%%MAN3%%man/man3/EC_GFp_mont_method.3.gz
+%%MAN3%%man/man3/EC_GFp_nist_method.3.gz
+%%MAN3%%man/man3/EC_GFp_nistp224_method.3.gz
+%%MAN3%%man/man3/EC_GFp_nistp256_method.3.gz
+%%MAN3%%man/man3/EC_GFp_nistp521_method.3.gz
+%%MAN3%%man/man3/EC_GFp_simple_method.3.gz
+%%MAN3%%man/man3/EC_GROUP_check.3.gz
+%%MAN3%%man/man3/EC_GROUP_check_discriminant.3.gz
+%%MAN3%%man/man3/EC_GROUP_clear_free.3.gz
+%%MAN3%%man/man3/EC_GROUP_cmp.3.gz
+%%MAN3%%man/man3/EC_GROUP_copy.3.gz
+%%MAN3%%man/man3/EC_GROUP_dup.3.gz
+%%MAN3%%man/man3/EC_GROUP_free.3.gz
+%%MAN3%%man/man3/EC_GROUP_get0_generator.3.gz
+%%MAN3%%man/man3/EC_GROUP_get0_seed.3.gz
+%%MAN3%%man/man3/EC_GROUP_get_asn1_flag.3.gz
+%%MAN3%%man/man3/EC_GROUP_get_basis_type.3.gz
+%%MAN3%%man/man3/EC_GROUP_get_cofactor.3.gz
+%%MAN3%%man/man3/EC_GROUP_get_curve_GF2m.3.gz
+%%MAN3%%man/man3/EC_GROUP_get_curve_GFp.3.gz
+%%MAN3%%man/man3/EC_GROUP_get_curve_name.3.gz
+%%MAN3%%man/man3/EC_GROUP_get_degree.3.gz
+%%MAN3%%man/man3/EC_GROUP_get_order.3.gz
+%%MAN3%%man/man3/EC_GROUP_get_pentanomial_basis.3.gz
+%%MAN3%%man/man3/EC_GROUP_get_point_conversion_form.3.gz
+%%MAN3%%man/man3/EC_GROUP_get_seed_len.3.gz
+%%MAN3%%man/man3/EC_GROUP_get_trinomial_basis.3.gz
+%%MAN3%%man/man3/EC_GROUP_have_precompute_mult.3.gz
+%%MAN3%%man/man3/EC_GROUP_method_of.3.gz
+%%MAN3%%man/man3/EC_GROUP_new.3.gz
+%%MAN3%%man/man3/EC_GROUP_new_by_curve_name.3.gz
+%%MAN3%%man/man3/EC_GROUP_new_curve_GF2m.3.gz
+%%MAN3%%man/man3/EC_GROUP_new_curve_GFp.3.gz
+%%MAN3%%man/man3/EC_GROUP_precompute_mult.3.gz
+%%MAN3%%man/man3/EC_GROUP_set_asn1_flag.3.gz
+%%MAN3%%man/man3/EC_GROUP_set_curve_GF2m.3.gz
+%%MAN3%%man/man3/EC_GROUP_set_curve_GFp.3.gz
+%%MAN3%%man/man3/EC_GROUP_set_curve_name.3.gz
+%%MAN3%%man/man3/EC_GROUP_set_generator.3.gz
+%%MAN3%%man/man3/EC_GROUP_set_point_conversion_form.3.gz
+%%MAN3%%man/man3/EC_GROUP_set_seed.3.gz
+%%MAN3%%man/man3/EC_KEY_check_key.3.gz
+%%MAN3%%man/man3/EC_KEY_clear_flags.3.gz
+%%MAN3%%man/man3/EC_KEY_copy.3.gz
+%%MAN3%%man/man3/EC_KEY_dup.3.gz
+%%MAN3%%man/man3/EC_KEY_free.3.gz
+%%MAN3%%man/man3/EC_KEY_generate_key.3.gz
+%%MAN3%%man/man3/EC_KEY_get0_group.3.gz
+%%MAN3%%man/man3/EC_KEY_get0_private_key.3.gz
+%%MAN3%%man/man3/EC_KEY_get0_public_key.3.gz
+%%MAN3%%man/man3/EC_KEY_get_conv_form.3.gz
+%%MAN3%%man/man3/EC_KEY_get_enc_flags.3.gz
+%%MAN3%%man/man3/EC_KEY_get_flags.3.gz
+%%MAN3%%man/man3/EC_KEY_get_key_method_data.3.gz
+%%MAN3%%man/man3/EC_KEY_insert_key_method_data.3.gz
+%%MAN3%%man/man3/EC_KEY_new.3.gz
+%%MAN3%%man/man3/EC_KEY_new_by_curve_name.3.gz
+%%MAN3%%man/man3/EC_KEY_precompute_mult.3.gz
+%%MAN3%%man/man3/EC_KEY_set_asn1_flag.3.gz
+%%MAN3%%man/man3/EC_KEY_set_conv_form.3.gz
+%%MAN3%%man/man3/EC_KEY_set_enc_flags.3.gz
+%%MAN3%%man/man3/EC_KEY_set_flags.3.gz
+%%MAN3%%man/man3/EC_KEY_set_group.3.gz
+%%MAN3%%man/man3/EC_KEY_set_private_key.3.gz
+%%MAN3%%man/man3/EC_KEY_set_public_key.3.gz
+%%MAN3%%man/man3/EC_KEY_set_public_key_affine_coordinates.3.gz
+%%MAN3%%man/man3/EC_KEY_up_ref.3.gz
+%%MAN3%%man/man3/EC_METHOD_get_field_type.3.gz
+%%MAN3%%man/man3/EC_POINT_add.3.gz
+%%MAN3%%man/man3/EC_POINT_bn2point.3.gz
+%%MAN3%%man/man3/EC_POINT_clear_free.3.gz
+%%MAN3%%man/man3/EC_POINT_cmp.3.gz
+%%MAN3%%man/man3/EC_POINT_copy.3.gz
+%%MAN3%%man/man3/EC_POINT_dbl.3.gz
+%%MAN3%%man/man3/EC_POINT_dup.3.gz
+%%MAN3%%man/man3/EC_POINT_free.3.gz
+%%MAN3%%man/man3/EC_POINT_get_Jprojective_coordinates_GFp.3.gz
+%%MAN3%%man/man3/EC_POINT_get_affine_coordinates_GF2m.3.gz
+%%MAN3%%man/man3/EC_POINT_get_affine_coordinates_GFp.3.gz
+%%MAN3%%man/man3/EC_POINT_hex2point.3.gz
+%%MAN3%%man/man3/EC_POINT_invert.3.gz
+%%MAN3%%man/man3/EC_POINT_is_at_infinity.3.gz
+%%MAN3%%man/man3/EC_POINT_is_on_curve.3.gz
+%%MAN3%%man/man3/EC_POINT_make_affine.3.gz
+%%MAN3%%man/man3/EC_POINT_method_of.3.gz
+%%MAN3%%man/man3/EC_POINT_mul.3.gz
+%%MAN3%%man/man3/EC_POINT_new.3.gz
+%%MAN3%%man/man3/EC_POINT_oct2point.3.gz
+%%MAN3%%man/man3/EC_POINT_point2bn.3.gz
+%%MAN3%%man/man3/EC_POINT_point2hex.3.gz
+%%MAN3%%man/man3/EC_POINT_point2oct.3.gz
+%%MAN3%%man/man3/EC_POINT_set_Jprojective_coordinates.3.gz
+%%MAN3%%man/man3/EC_POINT_set_affine_coordinates_GF2m.3.gz
+%%MAN3%%man/man3/EC_POINT_set_affine_coordinates_GFp.3.gz
+%%MAN3%%man/man3/EC_POINT_set_compressed_coordinates_GF2m.3.gz
+%%MAN3%%man/man3/EC_POINT_set_compressed_coordinates_GFp.3.gz
+%%MAN3%%man/man3/EC_POINT_set_to_infinity.3.gz
+%%MAN3%%man/man3/EC_POINTs_make_affine.3.gz
+%%MAN3%%man/man3/EC_POINTs_mul.3.gz
+%%MAN3%%man/man3/EC_get_builtin_curves.3.gz
+%%MAN3%%man/man3/ENGINE_add_conf_module.3.gz
+%%MAN3%%man/man3/ERR_GET_FUNC.3.gz
+%%MAN3%%man/man3/ERR_GET_LIB.3.gz
+%%MAN3%%man/man3/ERR_GET_REASON.3.gz
+%%MAN3%%man/man3/ERR_PACK.3.gz
+%%MAN3%%man/man3/ERR_add_error_data.3.gz
+%%MAN3%%man/man3/ERR_clear_error.3.gz
+%%MAN3%%man/man3/ERR_error_string.3.gz
+%%MAN3%%man/man3/ERR_error_string_n.3.gz
+%%MAN3%%man/man3/ERR_free_strings.3.gz
+%%MAN3%%man/man3/ERR_func_error_string.3.gz
+%%MAN3%%man/man3/ERR_get_error.3.gz
+%%MAN3%%man/man3/ERR_get_error_line.3.gz
+%%MAN3%%man/man3/ERR_get_error_line_data.3.gz
+%%MAN3%%man/man3/ERR_get_next_error_library.3.gz
+%%MAN3%%man/man3/ERR_lib_error_string.3.gz
+%%MAN3%%man/man3/ERR_load_UI_strings.3.gz
+%%MAN3%%man/man3/ERR_load_crypto_strings.3.gz
+%%MAN3%%man/man3/ERR_load_strings.3.gz
+%%MAN3%%man/man3/ERR_peek_error.3.gz
+%%MAN3%%man/man3/ERR_peek_error_line.3.gz
+%%MAN3%%man/man3/ERR_peek_error_line_data.3.gz
+%%MAN3%%man/man3/ERR_peek_last_error.3.gz
+%%MAN3%%man/man3/ERR_peek_last_error_line.3.gz
+%%MAN3%%man/man3/ERR_peek_last_error_line_data.3.gz
+%%MAN3%%man/man3/ERR_pop_to_mark.3.gz
+%%MAN3%%man/man3/ERR_print_errors.3.gz
+%%MAN3%%man/man3/ERR_print_errors_fp.3.gz
+%%MAN3%%man/man3/ERR_put_error.3.gz
+%%MAN3%%man/man3/ERR_reason_error_string.3.gz
+%%MAN3%%man/man3/ERR_remove_state.3.gz
+%%MAN3%%man/man3/ERR_remove_thread_state.3.gz
+%%MAN3%%man/man3/ERR_set_mark.3.gz
+%%MAN3%%man/man3/EVP_BytesToKey.3.gz
+%%MAN3%%man/man3/EVP_CIPHER_CTX_block_size.3.gz
+%%MAN3%%man/man3/EVP_CIPHER_CTX_cipher.3.gz
+%%MAN3%%man/man3/EVP_CIPHER_CTX_cleanup.3.gz
+%%MAN3%%man/man3/EVP_CIPHER_CTX_ctrl.3.gz
+%%MAN3%%man/man3/EVP_CIPHER_CTX_flags.3.gz
+%%MAN3%%man/man3/EVP_CIPHER_CTX_get_app_data.3.gz
+%%MAN3%%man/man3/EVP_CIPHER_CTX_init.3.gz
+%%MAN3%%man/man3/EVP_CIPHER_CTX_iv_length.3.gz
+%%MAN3%%man/man3/EVP_CIPHER_CTX_key_length.3.gz
+%%MAN3%%man/man3/EVP_CIPHER_CTX_mode.3.gz
+%%MAN3%%man/man3/EVP_CIPHER_CTX_nid.3.gz
+%%MAN3%%man/man3/EVP_CIPHER_CTX_set_app_data.3.gz
+%%MAN3%%man/man3/EVP_CIPHER_CTX_set_key_length.3.gz
+%%MAN3%%man/man3/EVP_CIPHER_CTX_set_padding.3.gz
+%%MAN3%%man/man3/EVP_CIPHER_CTX_type.3.gz
+%%MAN3%%man/man3/EVP_CIPHER_asn1_to_param.3.gz
+%%MAN3%%man/man3/EVP_CIPHER_block_size.3.gz
+%%MAN3%%man/man3/EVP_CIPHER_flags.3.gz
+%%MAN3%%man/man3/EVP_CIPHER_iv_length.3.gz
+%%MAN3%%man/man3/EVP_CIPHER_key_length.3.gz
+%%MAN3%%man/man3/EVP_CIPHER_mode.3.gz
+%%MAN3%%man/man3/EVP_CIPHER_nid.3.gz
+%%MAN3%%man/man3/EVP_CIPHER_param_to_asn1.3.gz
+%%MAN3%%man/man3/EVP_CIPHER_type.3.gz
+%%MAN3%%man/man3/EVP_CipherFinal.3.gz
+%%MAN3%%man/man3/EVP_CipherFinal_ex.3.gz
+%%MAN3%%man/man3/EVP_CipherInit.3.gz
+%%MAN3%%man/man3/EVP_CipherInit_ex.3.gz
+%%MAN3%%man/man3/EVP_CipherUpdate.3.gz
+%%MAN3%%man/man3/EVP_DecodeBlock.3.gz
+%%MAN3%%man/man3/EVP_DecodeFinal.3.gz
+%%MAN3%%man/man3/EVP_DecodeInit.3.gz
+%%MAN3%%man/man3/EVP_DecodeUpdate.3.gz
+%%MAN3%%man/man3/EVP_DecryptFinal.3.gz
+%%MAN3%%man/man3/EVP_DecryptFinal_ex.3.gz
+%%MAN3%%man/man3/EVP_DecryptInit.3.gz
+%%MAN3%%man/man3/EVP_DecryptInit_ex.3.gz
+%%MAN3%%man/man3/EVP_DecryptUpdate.3.gz
+%%MAN3%%man/man3/EVP_DigestFinal.3.gz
+%%MAN3%%man/man3/EVP_DigestFinal_ex.3.gz
+%%MAN3%%man/man3/EVP_DigestInit.3.gz
+%%MAN3%%man/man3/EVP_DigestInit_ex.3.gz
+%%MAN3%%man/man3/EVP_DigestSignFinal.3.gz
+%%MAN3%%man/man3/EVP_DigestSignInit.3.gz
+%%MAN3%%man/man3/EVP_DigestSignUpdate.3.gz
+%%MAN3%%man/man3/EVP_DigestUpdate.3.gz
+%%MAN3%%man/man3/EVP_DigestVerifyFinal.3.gz
+%%MAN3%%man/man3/EVP_DigestVerifyInit.3.gz
+%%MAN3%%man/man3/EVP_DigestVerifyUpdate.3.gz
+%%MAN3%%man/man3/EVP_EncodeBlock.3.gz
+%%MAN3%%man/man3/EVP_EncodeFinal.3.gz
+%%MAN3%%man/man3/EVP_EncodeInit.3.gz
+%%MAN3%%man/man3/EVP_EncodeUpdate.3.gz
+%%MAN3%%man/man3/EVP_EncryptFinal.3.gz
+%%MAN3%%man/man3/EVP_EncryptFinal_ex.3.gz
+%%MAN3%%man/man3/EVP_EncryptInit.3.gz
+%%MAN3%%man/man3/EVP_EncryptInit_ex.3.gz
+%%MAN3%%man/man3/EVP_EncryptUpdate.3.gz
+%%MAN3%%man/man3/EVP_MAX_MD_SIZE.3.gz
+%%MAN3%%man/man3/EVP_MD_CTX_block_size.3.gz
+%%MAN3%%man/man3/EVP_MD_CTX_cleanup.3.gz
+%%MAN3%%man/man3/EVP_MD_CTX_copy.3.gz
+%%MAN3%%man/man3/EVP_MD_CTX_copy_ex.3.gz
+%%MAN3%%man/man3/EVP_MD_CTX_create.3.gz
+%%MAN3%%man/man3/EVP_MD_CTX_destroy.3.gz
+%%MAN3%%man/man3/EVP_MD_CTX_init.3.gz
+%%MAN3%%man/man3/EVP_MD_CTX_md.3.gz
+%%MAN3%%man/man3/EVP_MD_CTX_size.3.gz
+%%MAN3%%man/man3/EVP_MD_CTX_type.3.gz
+%%MAN3%%man/man3/EVP_MD_block_size.3.gz
+%%MAN3%%man/man3/EVP_MD_pkey_type.3.gz
+%%MAN3%%man/man3/EVP_MD_size.3.gz
+%%MAN3%%man/man3/EVP_MD_type.3.gz
+%%MAN3%%man/man3/EVP_OpenFinal.3.gz
+%%MAN3%%man/man3/EVP_OpenInit.3.gz
+%%MAN3%%man/man3/EVP_OpenUpdate.3.gz
+%%MAN3%%man/man3/EVP_PKEVP_PKEY_CTX_set_app_data.3.gz
+%%MAN3%%man/man3/EVP_PKEY_CTX_ctrl.3.gz
+%%MAN3%%man/man3/EVP_PKEY_CTX_ctrl_str.3.gz
+%%MAN3%%man/man3/EVP_PKEY_CTX_dup.3.gz
+%%MAN3%%man/man3/EVP_PKEY_CTX_free.3.gz
+%%MAN3%%man/man3/EVP_PKEY_CTX_get_app_data.3.gz
+%%MAN3%%man/man3/EVP_PKEY_CTX_get_cb.3.gz
+%%MAN3%%man/man3/EVP_PKEY_CTX_get_keygen_info.3.gz
+%%MAN3%%man/man3/EVP_PKEY_CTX_new.3.gz
+%%MAN3%%man/man3/EVP_PKEY_CTX_new_id.3.gz
+%%MAN3%%man/man3/EVP_PKEY_CTX_set_cb.3.gz
+%%MAN3%%man/man3/EVP_PKEY_CTX_set_dh_paramgen_generator.3.gz
+%%MAN3%%man/man3/EVP_PKEY_CTX_set_dh_paramgen_prime_len.3.gz
+%%MAN3%%man/man3/EVP_PKEY_CTX_set_dsa_paramgen_bits.3.gz
+%%MAN3%%man/man3/EVP_PKEY_CTX_set_ec_paramgen_curve_nid.3.gz
+%%MAN3%%man/man3/EVP_PKEY_CTX_set_rsa_keygen_pubexp.3.gz
+%%MAN3%%man/man3/EVP_PKEY_CTX_set_rsa_padding.3.gz
+%%MAN3%%man/man3/EVP_PKEY_CTX_set_rsa_pss_saltlen.3.gz
+%%MAN3%%man/man3/EVP_PKEY_CTX_set_rsa_rsa_keygen_bits.3.gz
+%%MAN3%%man/man3/EVP_PKEY_CTX_set_signature_md.3.gz
+%%MAN3%%man/man3/EVP_PKEY_assign_DH.3.gz
+%%MAN3%%man/man3/EVP_PKEY_assign_DSA.3.gz
+%%MAN3%%man/man3/EVP_PKEY_assign_EC_KEY.3.gz
+%%MAN3%%man/man3/EVP_PKEY_assign_RSA.3.gz
+%%MAN3%%man/man3/EVP_PKEY_cmp.3.gz
+%%MAN3%%man/man3/EVP_PKEY_cmp_parameters.3.gz
+%%MAN3%%man/man3/EVP_PKEY_copy_parameters.3.gz
+%%MAN3%%man/man3/EVP_PKEY_decrypt.3.gz
+%%MAN3%%man/man3/EVP_PKEY_decrypt_init.3.gz
+%%MAN3%%man/man3/EVP_PKEY_derive.3.gz
+%%MAN3%%man/man3/EVP_PKEY_derive_init.3.gz
+%%MAN3%%man/man3/EVP_PKEY_derive_set_peer.3.gz
+%%MAN3%%man/man3/EVP_PKEY_encrypt.3.gz
+%%MAN3%%man/man3/EVP_PKEY_encrypt_init.3.gz
+%%MAN3%%man/man3/EVP_PKEY_free.3.gz
+%%MAN3%%man/man3/EVP_PKEY_get1_DH.3.gz
+%%MAN3%%man/man3/EVP_PKEY_get1_DSA.3.gz
+%%MAN3%%man/man3/EVP_PKEY_get1_EC_KEY.3.gz
+%%MAN3%%man/man3/EVP_PKEY_get1_RSA.3.gz
+%%MAN3%%man/man3/EVP_PKEY_get_default_digest.3.gz
+%%MAN3%%man/man3/EVP_PKEY_get_default_digest_nid.3.gz
+%%MAN3%%man/man3/EVP_PKEY_keygen.3.gz
+%%MAN3%%man/man3/EVP_PKEY_keygen_init.3.gz
+%%MAN3%%man/man3/EVP_PKEY_missing_parameters.3.gz
+%%MAN3%%man/man3/EVP_PKEY_new.3.gz
+%%MAN3%%man/man3/EVP_PKEY_paramgen.3.gz
+%%MAN3%%man/man3/EVP_PKEY_paramgen_init.3.gz
+%%MAN3%%man/man3/EVP_PKEY_print_params.3.gz
+%%MAN3%%man/man3/EVP_PKEY_print_private.3.gz
+%%MAN3%%man/man3/EVP_PKEY_print_public.3.gz
+%%MAN3%%man/man3/EVP_PKEY_set1_DH.3.gz
+%%MAN3%%man/man3/EVP_PKEY_set1_DSA.3.gz
+%%MAN3%%man/man3/EVP_PKEY_set1_EC_KEY.3.gz
+%%MAN3%%man/man3/EVP_PKEY_set1_RSA.3.gz
+%%MAN3%%man/man3/EVP_PKEY_sign.3.gz
+%%MAN3%%man/man3/EVP_PKEY_sign_init.3.gz
+%%MAN3%%man/man3/EVP_PKEY_type.3.gz
+%%MAN3%%man/man3/EVP_PKEY_verify.3.gz
+%%MAN3%%man/man3/EVP_PKEY_verify_init.3.gz
+%%MAN3%%man/man3/EVP_PKEY_verify_recover.3.gz
+%%MAN3%%man/man3/EVP_PKEY_verify_recover_init.3.gz
+%%MAN3%%man/man3/EVP_SealFinal.3.gz
+%%MAN3%%man/man3/EVP_SealInit.3.gz
+%%MAN3%%man/man3/EVP_SealUpdate.3.gz
+%%MAN3%%man/man3/EVP_SignFinal.3.gz
+%%MAN3%%man/man3/EVP_SignInit.3.gz
+%%MAN3%%man/man3/EVP_SignInit_ex.3.gz
+%%MAN3%%man/man3/EVP_SignUpdate.3.gz
+%%MAN3%%man/man3/EVP_VerifyFinal.3.gz
+%%MAN3%%man/man3/EVP_VerifyInit.3.gz
+%%MAN3%%man/man3/EVP_VerifyUpdate.3.gz
+%%MAN3%%man/man3/EVP_aes_128_cbc_hmac_sha1.3.gz
+%%MAN3%%man/man3/EVP_aes_128_cbc_hmac_sha256.3.gz
+%%MAN3%%man/man3/EVP_aes_128_ccm.3.gz
+%%MAN3%%man/man3/EVP_aes_128_gcm.3.gz
+%%MAN3%%man/man3/EVP_aes_192_ccm.3.gz
+%%MAN3%%man/man3/EVP_aes_192_gcm.3.gz
+%%MAN3%%man/man3/EVP_aes_256_cbc_hmac_sha1.3.gz
+%%MAN3%%man/man3/EVP_aes_256_cbc_hmac_sha256.3.gz
+%%MAN3%%man/man3/EVP_aes_256_ccm.3.gz
+%%MAN3%%man/man3/EVP_aes_256_gcm.3.gz
+%%MAN3%%man/man3/EVP_bf_cbc.3.gz
+%%MAN3%%man/man3/EVP_bf_cfb.3.gz
+%%MAN3%%man/man3/EVP_bf_ecb.3.gz
+%%MAN3%%man/man3/EVP_bf_ofb.3.gz
+%%MAN3%%man/man3/EVP_cast5_cbc.3.gz
+%%MAN3%%man/man3/EVP_cast5_cfb.3.gz
+%%MAN3%%man/man3/EVP_cast5_ecb.3.gz
+%%MAN3%%man/man3/EVP_cast5_ofb.3.gz
+%%MAN3%%man/man3/EVP_cleanup.3.gz
+%%MAN3%%man/man3/EVP_des_cbc.3.gz
+%%MAN3%%man/man3/EVP_des_cfb.3.gz
+%%MAN3%%man/man3/EVP_des_ecb.3.gz
+%%MAN3%%man/man3/EVP_des_ede.3.gz
+%%MAN3%%man/man3/EVP_des_ede3.3.gz
+%%MAN3%%man/man3/EVP_des_ede3_cbc.3.gz
+%%MAN3%%man/man3/EVP_des_ede3_cfb.3.gz
+%%MAN3%%man/man3/EVP_des_ede3_ofb.3.gz
+%%MAN3%%man/man3/EVP_des_ede_cbc.3.gz
+%%MAN3%%man/man3/EVP_des_ede_cfb.3.gz
+%%MAN3%%man/man3/EVP_des_ede_ofb.3.gz
+%%MAN3%%man/man3/EVP_des_ofb.3.gz
+%%MAN3%%man/man3/EVP_desx_cbc.3.gz
+%%MAN3%%man/man3/EVP_dss.3.gz
+%%MAN3%%man/man3/EVP_dss1.3.gz
+%%MAN3%%man/man3/EVP_enc_null.3.gz
+%%MAN3%%man/man3/EVP_get_cipherbyname.3.gz
+%%MAN3%%man/man3/EVP_get_cipherbynid.3.gz
+%%MAN3%%man/man3/EVP_get_cipherbyobj.3.gz
+%%MAN3%%man/man3/EVP_get_digestbyname.3.gz
+%%MAN3%%man/man3/EVP_get_digestbynid.3.gz
+%%MAN3%%man/man3/EVP_get_digestbyobj.3.gz
+%%MAN3%%man/man3/EVP_idea_cbc.3.gz
+%%MAN3%%man/man3/EVP_idea_cfb.3.gz
+%%MAN3%%man/man3/EVP_idea_ecb.3.gz
+%%MAN3%%man/man3/EVP_idea_ofb.3.gz
+%%MAN3%%man/man3/EVP_md2.3.gz
+%%MAN3%%man/man3/EVP_md5.3.gz
+%%MAN3%%man/man3/EVP_md_null.3.gz
+%%MAN3%%man/man3/EVP_mdc2.3.gz
+%%MAN3%%man/man3/EVP_rc2_40_cbc.3.gz
+%%MAN3%%man/man3/EVP_rc2_64_cbc.3.gz
+%%MAN3%%man/man3/EVP_rc2_cbc.3.gz
+%%MAN3%%man/man3/EVP_rc2_cfb.3.gz
+%%MAN3%%man/man3/EVP_rc2_ecb.3.gz
+%%MAN3%%man/man3/EVP_rc2_ofb.3.gz
+%%MAN3%%man/man3/EVP_rc4.3.gz
+%%MAN3%%man/man3/EVP_rc4_40.3.gz
+%%MAN3%%man/man3/EVP_rc4_hmac_md5.3.gz
+%%MAN3%%man/man3/EVP_rc5_32_12_16_cbc.3.gz
+%%MAN3%%man/man3/EVP_rc5_32_12_16_cfb.3.gz
+%%MAN3%%man/man3/EVP_rc5_32_12_16_ecb.3.gz
+%%MAN3%%man/man3/EVP_rc5_32_12_16_ofb.3.gz
+%%MAN3%%man/man3/EVP_ripemd160.3.gz
+%%MAN3%%man/man3/EVP_sha.3.gz
+%%MAN3%%man/man3/EVP_sha1.3.gz
+%%MAN3%%man/man3/EVP_sha224.3.gz
+%%MAN3%%man/man3/EVP_sha256.3.gz
+%%MAN3%%man/man3/EVP_sha384.3.gz
+%%MAN3%%man/man3/EVP_sha512.3.gz
+%%MAN3%%man/man3/HMAC.3.gz
+%%MAN3%%man/man3/HMAC_CTX_cleanup.3.gz
+%%MAN3%%man/man3/HMAC_CTX_init.3.gz
+%%MAN3%%man/man3/HMAC_Final.3.gz
+%%MAN3%%man/man3/HMAC_Init.3.gz
+%%MAN3%%man/man3/HMAC_Init_ex.3.gz
+%%MAN3%%man/man3/HMAC_Update.3.gz
+%%MAN3%%man/man3/HMAC_cleanup.3.gz
+%%MAN3%%man/man3/MD2.3.gz
+%%MAN3%%man/man3/MD2_Final.3.gz
+%%MAN3%%man/man3/MD2_Init.3.gz
+%%MAN3%%man/man3/MD2_Update.3.gz
+%%MAN3%%man/man3/MD4.3.gz
+%%MAN3%%man/man3/MD4_Final.3.gz
+%%MAN3%%man/man3/MD4_Init.3.gz
+%%MAN3%%man/man3/MD4_Update.3.gz
+%%MAN3%%man/man3/MD5.3.gz
+%%MAN3%%man/man3/MD5_Final.3.gz
+%%MAN3%%man/man3/MD5_Init.3.gz
+%%MAN3%%man/man3/MD5_Update.3.gz
+%%MAN3%%man/man3/MDC2.3.gz
+%%MAN3%%man/man3/MDC2_Final.3.gz
+%%MAN3%%man/man3/MDC2_Init.3.gz
+%%MAN3%%man/man3/MDC2_Update.3.gz
+%%MAN3%%man/man3/OBJ_cleanup.3.gz
+%%MAN3%%man/man3/OBJ_cmp.3.gz
+%%MAN3%%man/man3/OBJ_create.3.gz
+%%MAN3%%man/man3/OBJ_dup.3.gz
+%%MAN3%%man/man3/OBJ_ln2nid.3.gz
+%%MAN3%%man/man3/OBJ_nid2ln.3.gz
+%%MAN3%%man/man3/OBJ_nid2obj.3.gz
+%%MAN3%%man/man3/OBJ_nid2sn.3.gz
+%%MAN3%%man/man3/OBJ_obj2nid.3.gz
+%%MAN3%%man/man3/OBJ_obj2txt.3.gz
+%%MAN3%%man/man3/OBJ_sn2nid.3.gz
+%%MAN3%%man/man3/OBJ_txt2nid.3.gz
+%%MAN3%%man/man3/OBJ_txt2obj.3.gz
+%%MAN3%%man/man3/OPENSSL_Applink.3.gz
+%%MAN3%%man/man3/OPENSSL_VERSION_NUMBER.3.gz
+%%MAN3%%man/man3/OPENSSL_config.3.gz
+%%MAN3%%man/man3/OPENSSL_ia32cap.3.gz
+%%MAN3%%man/man3/OPENSSL_ia32cap_loc.3.gz
+%%MAN3%%man/man3/OPENSSL_instrument_bus.3.gz
+%%MAN3%%man/man3/OPENSSL_instrument_bus2.3.gz
+%%MAN3%%man/man3/OPENSSL_load_builtin_modules.3.gz
+%%MAN3%%man/man3/OPENSSL_no_config.3.gz
+%%MAN3%%man/man3/OpenSSL_add_all_algorithms.3.gz
+%%MAN3%%man/man3/OpenSSL_add_all_ciphers.3.gz
+%%MAN3%%man/man3/OpenSSL_add_all_digests.3.gz
+%%MAN3%%man/man3/OpenSSL_add_ssl_algorithms.3.gz
+%%MAN3%%man/man3/PEM.3.gz
+%%MAN3%%man/man3/PEM_read_DHparams.3.gz
+%%MAN3%%man/man3/PEM_read_DSAPrivateKey.3.gz
+%%MAN3%%man/man3/PEM_read_DSA_PUBKEY.3.gz
+%%MAN3%%man/man3/PEM_read_DSAparams.3.gz
+%%MAN3%%man/man3/PEM_read_NETSCAPE_CERT_SEQUENCE.3.gz
+%%MAN3%%man/man3/PEM_read_PKCS7.3.gz
+%%MAN3%%man/man3/PEM_read_PUBKEY.3.gz
+%%MAN3%%man/man3/PEM_read_PrivateKey.3.gz
+%%MAN3%%man/man3/PEM_read_RSAPrivateKey.3.gz
+%%MAN3%%man/man3/PEM_read_RSAPublicKey.3.gz
+%%MAN3%%man/man3/PEM_read_RSA_PUBKEY.3.gz
+%%MAN3%%man/man3/PEM_read_X509.3.gz
+%%MAN3%%man/man3/PEM_read_X509_AUX.3.gz
+%%MAN3%%man/man3/PEM_read_X509_CRL.3.gz
+%%MAN3%%man/man3/PEM_read_X509_REQ.3.gz
+%%MAN3%%man/man3/PEM_read_bio_DHparams.3.gz
+%%MAN3%%man/man3/PEM_read_bio_DSAPrivateKey.3.gz
+%%MAN3%%man/man3/PEM_read_bio_DSA_PUBKEY.3.gz
+%%MAN3%%man/man3/PEM_read_bio_DSAparams.3.gz
+%%MAN3%%man/man3/PEM_read_bio_NETSCAPE_CERT_SEQUENCE.3.gz
+%%MAN3%%man/man3/PEM_read_bio_PKCS7.3.gz
+%%MAN3%%man/man3/PEM_read_bio_PUBKEY.3.gz
+%%MAN3%%man/man3/PEM_read_bio_PrivateKey.3.gz
+%%MAN3%%man/man3/PEM_read_bio_RSAPrivateKey.3.gz
+%%MAN3%%man/man3/PEM_read_bio_RSAPublicKey.3.gz
+%%MAN3%%man/man3/PEM_read_bio_RSA_PUBKEY.3.gz
+%%MAN3%%man/man3/PEM_read_bio_X509.3.gz
+%%MAN3%%man/man3/PEM_read_bio_X509_AUX.3.gz
+%%MAN3%%man/man3/PEM_read_bio_X509_CRL.3.gz
+%%MAN3%%man/man3/PEM_read_bio_X509_REQ.3.gz
+%%MAN3%%man/man3/PEM_write_DHparams.3.gz
+%%MAN3%%man/man3/PEM_write_DSAPrivateKey.3.gz
+%%MAN3%%man/man3/PEM_write_DSA_PUBKEY.3.gz
+%%MAN3%%man/man3/PEM_write_DSAparams.3.gz
+%%MAN3%%man/man3/PEM_write_NETSCAPE_CERT_SEQUENCE.3.gz
+%%MAN3%%man/man3/PEM_write_PKCS7.3.gz
+%%MAN3%%man/man3/PEM_write_PKCS8PrivateKey.3.gz
+%%MAN3%%man/man3/PEM_write_PKCS8PrivateKey_nid.3.gz
+%%MAN3%%man/man3/PEM_write_PUBKEY.3.gz
+%%MAN3%%man/man3/PEM_write_PrivateKey.3.gz
+%%MAN3%%man/man3/PEM_write_RSAPrivateKey.3.gz
+%%MAN3%%man/man3/PEM_write_RSAPublicKey.3.gz
+%%MAN3%%man/man3/PEM_write_RSA_PUBKEY.3.gz
+%%MAN3%%man/man3/PEM_write_X509.3.gz
+%%MAN3%%man/man3/PEM_write_X509_AUX.3.gz
+%%MAN3%%man/man3/PEM_write_X509_CRL.3.gz
+%%MAN3%%man/man3/PEM_write_X509_REQ.3.gz
+%%MAN3%%man/man3/PEM_write_X509_REQ_NEW.3.gz
+%%MAN3%%man/man3/PEM_write_bio_CMS_stream.3.gz
+%%MAN3%%man/man3/PEM_write_bio_DHparams.3.gz
+%%MAN3%%man/man3/PEM_write_bio_DSAPrivateKey.3.gz
+%%MAN3%%man/man3/PEM_write_bio_DSA_PUBKEY.3.gz
+%%MAN3%%man/man3/PEM_write_bio_DSAparams.3.gz
+%%MAN3%%man/man3/PEM_write_bio_NETSCAPE_CERT_SEQUENCE.3.gz
+%%MAN3%%man/man3/PEM_write_bio_PKCS7.3.gz
+%%MAN3%%man/man3/PEM_write_bio_PKCS7_stream.3.gz
+%%MAN3%%man/man3/PEM_write_bio_PKCS8PrivateKey.3.gz
+%%MAN3%%man/man3/PEM_write_bio_PKCS8PrivateKey_nid.3.gz
+%%MAN3%%man/man3/PEM_write_bio_PUBKEY.3.gz
+%%MAN3%%man/man3/PEM_write_bio_PrivateKey.3.gz
+%%MAN3%%man/man3/PEM_write_bio_RSAPrivateKey.3.gz
+%%MAN3%%man/man3/PEM_write_bio_RSAPublicKey.3.gz
+%%MAN3%%man/man3/PEM_write_bio_RSA_PUBKEY.3.gz
+%%MAN3%%man/man3/PEM_write_bio_X509.3.gz
+%%MAN3%%man/man3/PEM_write_bio_X509_AUX.3.gz
+%%MAN3%%man/man3/PEM_write_bio_X509_CRL.3.gz
+%%MAN3%%man/man3/PEM_write_bio_X509_REQ.3.gz
+%%MAN3%%man/man3/PEM_write_bio_X509_REQ_NEW.3.gz
+%%MAN3%%man/man3/PKCS12_create.3.gz
+%%MAN3%%man/man3/PKCS12_parse.3.gz
+%%MAN3%%man/man3/PKCS7_decrypt.3.gz
+%%MAN3%%man/man3/PKCS7_encrypt.3.gz
+%%MAN3%%man/man3/PKCS7_get0_signers.3.gz
+%%MAN3%%man/man3/PKCS7_sign.3.gz
+%%MAN3%%man/man3/PKCS7_sign_add_signer.3.gz
+%%MAN3%%man/man3/PKCS7_verify.3.gz
+%%MAN3%%man/man3/RAND_SSLeay.3.gz
+%%MAN3%%man/man3/RAND_add.3.gz
+%%MAN3%%man/man3/RAND_bytes.3.gz
+%%MAN3%%man/man3/RAND_cleanup.3.gz
+%%MAN3%%man/man3/RAND_egd.3.gz
+%%MAN3%%man/man3/RAND_egd_bytes.3.gz
+%%MAN3%%man/man3/RAND_event.3.gz
+%%MAN3%%man/man3/RAND_file_name.3.gz
+%%MAN3%%man/man3/RAND_get_rand_method.3.gz
+%%MAN3%%man/man3/RAND_load_file.3.gz
+%%MAN3%%man/man3/RAND_pseudo_bytes.3.gz
+%%MAN3%%man/man3/RAND_query_egd_bytes.3.gz
+%%MAN3%%man/man3/RAND_screen.3.gz
+%%MAN3%%man/man3/RAND_seed.3.gz
+%%MAN3%%man/man3/RAND_set_rand_method.3.gz
+%%MAN3%%man/man3/RAND_status.3.gz
+%%MAN3%%man/man3/RAND_write_file.3.gz
+%%MAN3%%man/man3/RC4.3.gz
+%%MAN3%%man/man3/RC4_set_key.3.gz
+%%MAN3%%man/man3/RIPEMD160.3.gz
+%%MAN3%%man/man3/RIPEMD160_Final.3.gz
+%%MAN3%%man/man3/RIPEMD160_Init.3.gz
+%%MAN3%%man/man3/RIPEMD160_Update.3.gz
+%%MAN3%%man/man3/RSA_PKCS1_SSLeay.3.gz
+%%MAN3%%man/man3/RSA_blinding_off.3.gz
+%%MAN3%%man/man3/RSA_blinding_on.3.gz
+%%MAN3%%man/man3/RSA_check_key.3.gz
+%%MAN3%%man/man3/RSA_flags.3.gz
+%%MAN3%%man/man3/RSA_free.3.gz
+%%MAN3%%man/man3/RSA_generate_key.3.gz
+%%MAN3%%man/man3/RSA_generate_key_ex.3.gz
+%%MAN3%%man/man3/RSA_get_default_method.3.gz
+%%MAN3%%man/man3/RSA_get_ex_data.3.gz
+%%MAN3%%man/man3/RSA_get_ex_new_index.3.gz
+%%MAN3%%man/man3/RSA_get_method.3.gz
+%%MAN3%%man/man3/RSA_new.3.gz
+%%MAN3%%man/man3/RSA_new_method.3.gz
+%%MAN3%%man/man3/RSA_null_method.3.gz
+%%MAN3%%man/man3/RSA_padding_add_PKCS1_OAEP.3.gz
+%%MAN3%%man/man3/RSA_padding_add_PKCS1_type_1.3.gz
+%%MAN3%%man/man3/RSA_padding_add_PKCS1_type_2.3.gz
+%%MAN3%%man/man3/RSA_padding_add_SSLv23.3.gz
+%%MAN3%%man/man3/RSA_padding_add_none.3.gz
+%%MAN3%%man/man3/RSA_padding_check_PKCS1_OAEP.3.gz
+%%MAN3%%man/man3/RSA_padding_check_PKCS1_type_1.3.gz
+%%MAN3%%man/man3/RSA_padding_check_PKCS1_type_2.3.gz
+%%MAN3%%man/man3/RSA_padding_check_SSLv23.3.gz
+%%MAN3%%man/man3/RSA_padding_check_none.3.gz
+%%MAN3%%man/man3/RSA_print.3.gz
+%%MAN3%%man/man3/RSA_print_fp.3.gz
+%%MAN3%%man/man3/RSA_private_decrypt.3.gz
+%%MAN3%%man/man3/RSA_private_encrypt.3.gz
+%%MAN3%%man/man3/RSA_public_decrypt.3.gz
+%%MAN3%%man/man3/RSA_public_encrypt.3.gz
+%%MAN3%%man/man3/RSA_set_default_method.3.gz
+%%MAN3%%man/man3/RSA_set_ex_data.3.gz
+%%MAN3%%man/man3/RSA_set_method.3.gz
+%%MAN3%%man/man3/RSA_sign.3.gz
+%%MAN3%%man/man3/RSA_sign_ASN1_OCTET_STRING.3.gz
+%%MAN3%%man/man3/RSA_size.3.gz
+%%MAN3%%man/man3/RSA_verify.3.gz
+%%MAN3%%man/man3/RSA_verify_ASN1_OCTET_STRING.3.gz
+%%MAN3%%man/man3/SHA1.3.gz
+%%MAN3%%man/man3/SHA1_Final.3.gz
+%%MAN3%%man/man3/SHA1_Init.3.gz
+%%MAN3%%man/man3/SHA1_Update.3.gz
+%%MAN3%%man/man3/SHA224.3.gz
+%%MAN3%%man/man3/SHA224_Final.3.gz
+%%MAN3%%man/man3/SHA224_Init.3.gz
+%%MAN3%%man/man3/SHA224_Update.3.gz
+%%MAN3%%man/man3/SHA256.3.gz
+%%MAN3%%man/man3/SHA256_Final.3.gz
+%%MAN3%%man/man3/SHA256_Init.3.gz
+%%MAN3%%man/man3/SHA256_Update.3.gz
+%%MAN3%%man/man3/SHA384.3.gz
+%%MAN3%%man/man3/SHA384_Final.3.gz
+%%MAN3%%man/man3/SHA384_Init.3.gz
+%%MAN3%%man/man3/SHA384_Update.3.gz
+%%MAN3%%man/man3/SHA512.3.gz
+%%MAN3%%man/man3/SHA512_Final.3.gz
+%%MAN3%%man/man3/SHA512_Init.3.gz
+%%MAN3%%man/man3/SHA512_Update.3.gz
+%%MAN3%%man/man3/SMIME_read_CMS.3.gz
+%%MAN3%%man/man3/SMIME_read_PKCS7.3.gz
+%%MAN3%%man/man3/SMIME_write_CMS.3.gz
+%%MAN3%%man/man3/SMIME_write_PKCS7.3.gz
+%%MAN3%%man/man3/SSL.3.gz
+%%MAN3%%man/man3/SSL_CIPHER_description.3.gz
+%%MAN3%%man/man3/SSL_CIPHER_get_bits.3.gz
+%%MAN3%%man/man3/SSL_CIPHER_get_name.3.gz
+%%MAN3%%man/man3/SSL_CIPHER_get_version.3.gz
+%%MAN3%%man/man3/SSL_COMP_add_compression_method.3.gz
+%%MAN3%%man/man3/SSL_COMP_free_compression_methods.3.gz
+%%MAN3%%man/man3/SSL_CONF_CTX_clear_flags.3.gz
+%%MAN3%%man/man3/SSL_CONF_CTX_free.3.gz
+%%MAN3%%man/man3/SSL_CONF_CTX_new.3.gz
+%%MAN3%%man/man3/SSL_CONF_CTX_set1_prefix.3.gz
+%%MAN3%%man/man3/SSL_CONF_CTX_set_flags.3.gz
+%%MAN3%%man/man3/SSL_CONF_CTX_set_ssl.3.gz
+%%MAN3%%man/man3/SSL_CONF_CTX_set_ssl_ctx.3.gz
+%%MAN3%%man/man3/SSL_CONF_cmd.3.gz
+%%MAN3%%man/man3/SSL_CONF_cmd_argv.3.gz
+%%MAN3%%man/man3/SSL_CTX_add0_chain_cert.3.gz
+%%MAN3%%man/man3/SSL_CTX_add1_chain_cert.3.gz
+%%MAN3%%man/man3/SSL_CTX_add_client_CA.3.gz
+%%MAN3%%man/man3/SSL_CTX_add_client_custom_ext.3.gz
+%%MAN3%%man/man3/SSL_CTX_add_extra_chain_cert.3.gz
+%%MAN3%%man/man3/SSL_CTX_add_server_custom_ext.3.gz
+%%MAN3%%man/man3/SSL_CTX_add_session.3.gz
+%%MAN3%%man/man3/SSL_CTX_build_cert_chain.3.gz
+%%MAN3%%man/man3/SSL_CTX_callback_ctrl.3.gz
+%%MAN3%%man/man3/SSL_CTX_check_private_key.3.gz
+%%MAN3%%man/man3/SSL_CTX_clear_chain_certs.3.gz
+%%MAN3%%man/man3/SSL_CTX_clear_extra_chain_certs.3.gz
+%%MAN3%%man/man3/SSL_CTX_clear_options.3.gz
+%%MAN3%%man/man3/SSL_CTX_ctrl.3.gz
+%%MAN3%%man/man3/SSL_CTX_flush_sessions.3.gz
+%%MAN3%%man/man3/SSL_CTX_free.3.gz
+%%MAN3%%man/man3/SSL_CTX_get0_chain_certs.3.gz
+%%MAN3%%man/man3/SSL_CTX_get0_param.3.gz
+%%MAN3%%man/man3/SSL_CTX_get_cert_store.3.gz
+%%MAN3%%man/man3/SSL_CTX_get_client_CA_list.3.gz
+%%MAN3%%man/man3/SSL_CTX_get_client_cert_cb.3.gz
+%%MAN3%%man/man3/SSL_CTX_get_default_read_ahead.3.gz
+%%MAN3%%man/man3/SSL_CTX_get_ex_data.3.gz
+%%MAN3%%man/man3/SSL_CTX_get_ex_new_index.3.gz
+%%MAN3%%man/man3/SSL_CTX_get_info_callback.3.gz
+%%MAN3%%man/man3/SSL_CTX_get_max_cert_list.3.gz
+%%MAN3%%man/man3/SSL_CTX_get_mode.3.gz
+%%MAN3%%man/man3/SSL_CTX_get_options.3.gz
+%%MAN3%%man/man3/SSL_CTX_get_quiet_shutdown.3.gz
+%%MAN3%%man/man3/SSL_CTX_get_read_ahead.3.gz
+%%MAN3%%man/man3/SSL_CTX_get_session_cache_mode.3.gz
+%%MAN3%%man/man3/SSL_CTX_get_timeout.3.gz
+%%MAN3%%man/man3/SSL_CTX_get_verify_callback.3.gz
+%%MAN3%%man/man3/SSL_CTX_get_verify_depth.3.gz
+%%MAN3%%man/man3/SSL_CTX_get_verify_mode.3.gz
+%%MAN3%%man/man3/SSL_CTX_load_verify_locations.3.gz
+%%MAN3%%man/man3/SSL_CTX_need_tmp_rsa.3.gz
+%%MAN3%%man/man3/SSL_CTX_new.3.gz
+%%MAN3%%man/man3/SSL_CTX_remove_session.3.gz
+%%MAN3%%man/man3/SSL_CTX_select_current_cert.3.gz
+%%MAN3%%man/man3/SSL_CTX_sess_accept.3.gz
+%%MAN3%%man/man3/SSL_CTX_sess_accept_good.3.gz
+%%MAN3%%man/man3/SSL_CTX_sess_accept_renegotiate.3.gz
+%%MAN3%%man/man3/SSL_CTX_sess_cache_full.3.gz
+%%MAN3%%man/man3/SSL_CTX_sess_cb_hits.3.gz
+%%MAN3%%man/man3/SSL_CTX_sess_connect.3.gz
+%%MAN3%%man/man3/SSL_CTX_sess_connect_good.3.gz
+%%MAN3%%man/man3/SSL_CTX_sess_connect_renegotiate.3.gz
+%%MAN3%%man/man3/SSL_CTX_sess_get_cache_size.3.gz
+%%MAN3%%man/man3/SSL_CTX_sess_get_get_cb.3.gz
+%%MAN3%%man/man3/SSL_CTX_sess_get_new_cb.3.gz
+%%MAN3%%man/man3/SSL_CTX_sess_get_remove_cb.3.gz
+%%MAN3%%man/man3/SSL_CTX_sess_hits.3.gz
+%%MAN3%%man/man3/SSL_CTX_sess_misses.3.gz
+%%MAN3%%man/man3/SSL_CTX_sess_number.3.gz
+%%MAN3%%man/man3/SSL_CTX_sess_set_cache_size.3.gz
+%%MAN3%%man/man3/SSL_CTX_sess_set_get_cb.3.gz
+%%MAN3%%man/man3/SSL_CTX_sess_set_new_cb.3.gz
+%%MAN3%%man/man3/SSL_CTX_sess_set_remove_cb.3.gz
+%%MAN3%%man/man3/SSL_CTX_sess_timeouts.3.gz
+%%MAN3%%man/man3/SSL_CTX_sessions.3.gz
+%%MAN3%%man/man3/SSL_CTX_set0_chain.3.gz
+%%MAN3%%man/man3/SSL_CTX_set0_chain_cert_store.3.gz
+%%MAN3%%man/man3/SSL_CTX_set0_verify_cert_store.3.gz
+%%MAN3%%man/man3/SSL_CTX_set1_chain.3.gz
+%%MAN3%%man/man3/SSL_CTX_set1_chain_cert_store.3.gz
+%%MAN3%%man/man3/SSL_CTX_set1_curves.3.gz
+%%MAN3%%man/man3/SSL_CTX_set1_curves_list.3.gz
+%%MAN3%%man/man3/SSL_CTX_set1_param.3.gz
+%%MAN3%%man/man3/SSL_CTX_set1_verify_cert_store.3.gz
+%%MAN3%%man/man3/SSL_CTX_set_alpn_protos.3.gz
+%%MAN3%%man/man3/SSL_CTX_set_alpn_select_cb.3.gz
+%%MAN3%%man/man3/SSL_CTX_set_cert_cb.3.gz
+%%MAN3%%man/man3/SSL_CTX_set_cert_store.3.gz
+%%MAN3%%man/man3/SSL_CTX_set_cert_verify_callback.3.gz
+%%MAN3%%man/man3/SSL_CTX_set_cipher_list.3.gz
+%%MAN3%%man/man3/SSL_CTX_set_client_CA_list.3.gz
+%%MAN3%%man/man3/SSL_CTX_set_client_cert_cb.3.gz
+%%MAN3%%man/man3/SSL_CTX_set_current_cert.3.gz
+%%MAN3%%man/man3/SSL_CTX_set_custom_cli_ext.3.gz
+%%MAN3%%man/man3/SSL_CTX_set_default_passwd_cb.3.gz
+%%MAN3%%man/man3/SSL_CTX_set_default_passwd_cb_userdata.3.gz
+%%MAN3%%man/man3/SSL_CTX_set_default_read_ahead.3.gz
+%%MAN3%%man/man3/SSL_CTX_set_ecdh_auto.3.gz
+%%MAN3%%man/man3/SSL_CTX_set_ex_data.3.gz
+%%MAN3%%man/man3/SSL_CTX_set_generate_session_id.3.gz
+%%MAN3%%man/man3/SSL_CTX_set_info_callback.3.gz
+%%MAN3%%man/man3/SSL_CTX_set_max_cert_list.3.gz
+%%MAN3%%man/man3/SSL_CTX_set_mode.3.gz
+%%MAN3%%man/man3/SSL_CTX_set_msg_callback.3.gz
+%%MAN3%%man/man3/SSL_CTX_set_msg_callback_arg.3.gz
+%%MAN3%%man/man3/SSL_CTX_set_options.3.gz
+%%MAN3%%man/man3/SSL_CTX_set_psk_client_callback.3.gz
+%%MAN3%%man/man3/SSL_CTX_set_psk_server_callback.3.gz
+%%MAN3%%man/man3/SSL_CTX_set_quiet_shutdown.3.gz
+%%MAN3%%man/man3/SSL_CTX_set_read_ahead.3.gz
+%%MAN3%%man/man3/SSL_CTX_set_session_cache_mode.3.gz
+%%MAN3%%man/man3/SSL_CTX_set_session_id_context.3.gz
+%%MAN3%%man/man3/SSL_CTX_set_ssl_version.3.gz
+%%MAN3%%man/man3/SSL_CTX_set_timeout.3.gz
+%%MAN3%%man/man3/SSL_CTX_set_tlsext_status_arg.3.gz
+%%MAN3%%man/man3/SSL_CTX_set_tlsext_status_cb.3.gz
+%%MAN3%%man/man3/SSL_CTX_set_tlsext_ticket_key_cb.3.gz
+%%MAN3%%man/man3/SSL_CTX_set_tmp_dh.3.gz
+%%MAN3%%man/man3/SSL_CTX_set_tmp_dh_callback.3.gz
+%%MAN3%%man/man3/SSL_CTX_set_tmp_rsa.3.gz
+%%MAN3%%man/man3/SSL_CTX_set_tmp_rsa_callback.3.gz
+%%MAN3%%man/man3/SSL_CTX_set_verify.3.gz
+%%MAN3%%man/man3/SSL_CTX_set_verify_depth.3.gz
+%%MAN3%%man/man3/SSL_CTX_use_PrivateKey.3.gz
+%%MAN3%%man/man3/SSL_CTX_use_PrivateKey_ASN1.3.gz
+%%MAN3%%man/man3/SSL_CTX_use_PrivateKey_file.3.gz
+%%MAN3%%man/man3/SSL_CTX_use_RSAPrivateKey.3.gz
+%%MAN3%%man/man3/SSL_CTX_use_RSAPrivateKey_ASN1.3.gz
+%%MAN3%%man/man3/SSL_CTX_use_RSAPrivateKey_file.3.gz
+%%MAN3%%man/man3/SSL_CTX_use_certificate.3.gz
+%%MAN3%%man/man3/SSL_CTX_use_certificate_ASN1.3.gz
+%%MAN3%%man/man3/SSL_CTX_use_certificate_chain_file.3.gz
+%%MAN3%%man/man3/SSL_CTX_use_certificate_file.3.gz
+%%MAN3%%man/man3/SSL_CTX_use_psk_identity_hint.3.gz
+%%MAN3%%man/man3/SSL_CTX_use_serverinfo.3.gz
+%%MAN3%%man/man3/SSL_CTX_use_serverinfo_file.3.gz
+%%MAN3%%man/man3/SSL_SESSION_free.3.gz
+%%MAN3%%man/man3/SSL_SESSION_get_ex_data.3.gz
+%%MAN3%%man/man3/SSL_SESSION_get_ex_new_index.3.gz
+%%MAN3%%man/man3/SSL_SESSION_get_time.3.gz
+%%MAN3%%man/man3/SSL_SESSION_get_timeout.3.gz
+%%MAN3%%man/man3/SSL_SESSION_set_ex_data.3.gz
+%%MAN3%%man/man3/SSL_SESSION_set_time.3.gz
+%%MAN3%%man/man3/SSL_SESSION_set_timeout.3.gz
+%%MAN3%%man/man3/SSL_accept.3.gz
+%%MAN3%%man/man3/SSL_add0_chain_cert.3.gz
+%%MAN3%%man/man3/SSL_add1_chain_cert.3.gz
+%%MAN3%%man/man3/SSL_add_client_CA.3.gz
+%%MAN3%%man/man3/SSL_add_session.3.gz
+%%MAN3%%man/man3/SSL_alert_desc_string.3.gz
+%%MAN3%%man/man3/SSL_alert_desc_string_long.3.gz
+%%MAN3%%man/man3/SSL_alert_type_string.3.gz
+%%MAN3%%man/man3/SSL_alert_type_string_long.3.gz
+%%MAN3%%man/man3/SSL_build_cert_chain.3.gz
+%%MAN3%%man/man3/SSL_callback_ctrl.3.gz
+%%MAN3%%man/man3/SSL_check_chain.3.gz
+%%MAN3%%man/man3/SSL_check_private_key.3.gz
+%%MAN3%%man/man3/SSL_clear.3.gz
+%%MAN3%%man/man3/SSL_clear_chain_certs.3.gz
+%%MAN3%%man/man3/SSL_clear_options.3.gz
+%%MAN3%%man/man3/SSL_connect.3.gz
+%%MAN3%%man/man3/SSL_ctrl.3.gz
+%%MAN3%%man/man3/SSL_do_handshake.3.gz
+%%MAN3%%man/man3/SSL_flush_sessions.3.gz
+%%MAN3%%man/man3/SSL_free.3.gz
+%%MAN3%%man/man3/SSL_get0_alpn_selected.3.gz
+%%MAN3%%man/man3/SSL_get0_chain_certs.3.gz
+%%MAN3%%man/man3/SSL_get0_param.3.gz
+%%MAN3%%man/man3/SSL_get1_curves.3.gz
+%%MAN3%%man/man3/SSL_get_SSL_CTX.3.gz
+%%MAN3%%man/man3/SSL_get_accept_state.3.gz
+%%MAN3%%man/man3/SSL_get_cipher.3.gz
+%%MAN3%%man/man3/SSL_get_cipher_bits.3.gz
+%%MAN3%%man/man3/SSL_get_cipher_list.3.gz
+%%MAN3%%man/man3/SSL_get_cipher_name.3.gz
+%%MAN3%%man/man3/SSL_get_cipher_version.3.gz
+%%MAN3%%man/man3/SSL_get_ciphers.3.gz
+%%MAN3%%man/man3/SSL_get_client_CA_list.3.gz
+%%MAN3%%man/man3/SSL_get_current_cipher.3.gz
+%%MAN3%%man/man3/SSL_get_default_timeout.3.gz
+%%MAN3%%man/man3/SSL_get_error.3.gz
+%%MAN3%%man/man3/SSL_get_ex_data.3.gz
+%%MAN3%%man/man3/SSL_get_ex_data_X509_STORE_CTX_idx.3.gz
+%%MAN3%%man/man3/SSL_get_ex_new_index.3.gz
+%%MAN3%%man/man3/SSL_get_fd.3.gz
+%%MAN3%%man/man3/SSL_get_info_callback.3.gz
+%%MAN3%%man/man3/SSL_get_max_cert_list.3.gz
+%%MAN3%%man/man3/SSL_get_mode.3.gz
+%%MAN3%%man/man3/SSL_get_msg_callback_arg.3.gz
+%%MAN3%%man/man3/SSL_get_options.3.gz
+%%MAN3%%man/man3/SSL_get_peer_cert_chain.3.gz
+%%MAN3%%man/man3/SSL_get_peer_certificate.3.gz
+%%MAN3%%man/man3/SSL_get_psk_identity.3.gz
+%%MAN3%%man/man3/SSL_get_psk_identity_hint.3.gz
+%%MAN3%%man/man3/SSL_get_quiet_shutdown.3.gz
+%%MAN3%%man/man3/SSL_get_rbio.3.gz
+%%MAN3%%man/man3/SSL_get_read_ahead.3.gz
+%%MAN3%%man/man3/SSL_get_secure_renegotiation_support.3.gz
+%%MAN3%%man/man3/SSL_get_session.3.gz
+%%MAN3%%man/man3/SSL_get_shared_curve.3.gz
+%%MAN3%%man/man3/SSL_get_shutdown.3.gz
+%%MAN3%%man/man3/SSL_get_ssl_method.3.gz
+%%MAN3%%man/man3/SSL_get_tlsext_status_ocsp_resp.3.gz
+%%MAN3%%man/man3/SSL_get_verify_callback.3.gz
+%%MAN3%%man/man3/SSL_get_verify_depth.3.gz
+%%MAN3%%man/man3/SSL_get_verify_mode.3.gz
+%%MAN3%%man/man3/SSL_get_verify_result.3.gz
+%%MAN3%%man/man3/SSL_get_version.3.gz
+%%MAN3%%man/man3/SSL_has_matching_session_id.3.gz
+%%MAN3%%man/man3/SSL_library_init.3.gz
+%%MAN3%%man/man3/SSL_load_client_CA_file.3.gz
+%%MAN3%%man/man3/SSL_load_error_strings.3.gz
+%%MAN3%%man/man3/SSL_need_tmp_rsa.3.gz
+%%MAN3%%man/man3/SSL_new.3.gz
+%%MAN3%%man/man3/SSL_pending.3.gz
+%%MAN3%%man/man3/SSL_read.3.gz
+%%MAN3%%man/man3/SSL_remove_session.3.gz
+%%MAN3%%man/man3/SSL_rstate_string.3.gz
+%%MAN3%%man/man3/SSL_rstate_string_long.3.gz
+%%MAN3%%man/man3/SSL_select_current_cert.3.gz
+%%MAN3%%man/man3/SSL_select_next_proto.3.gz
+%%MAN3%%man/man3/SSL_session_reused.3.gz
+%%MAN3%%man/man3/SSL_set0_chain.3.gz
+%%MAN3%%man/man3/SSL_set0_chain_cert_store.3.gz
+%%MAN3%%man/man3/SSL_set0_verify_cert_store.3.gz
+%%MAN3%%man/man3/SSL_set1_chain.3.gz
+%%MAN3%%man/man3/SSL_set1_chain_cert_store.3.gz
+%%MAN3%%man/man3/SSL_set1_curves.3.gz
+%%MAN3%%man/man3/SSL_set1_curves_list.3.gz
+%%MAN3%%man/man3/SSL_set1_param.3.gz
+%%MAN3%%man/man3/SSL_set1_verify_cert_store.3.gz
+%%MAN3%%man/man3/SSL_set_alpn_protos.3.gz
+%%MAN3%%man/man3/SSL_set_bio.3.gz
+%%MAN3%%man/man3/SSL_set_cert_cb.3.gz
+%%MAN3%%man/man3/SSL_set_cipher_list.3.gz
+%%MAN3%%man/man3/SSL_set_client_CA_list.3.gz
+%%MAN3%%man/man3/SSL_set_connect_state.3.gz
+%%MAN3%%man/man3/SSL_set_current_cert.3.gz
+%%MAN3%%man/man3/SSL_set_ecdh_auto.3.gz
+%%MAN3%%man/man3/SSL_set_ex_data.3.gz
+%%MAN3%%man/man3/SSL_set_fd.3.gz
+%%MAN3%%man/man3/SSL_set_generate_session_id.3.gz
+%%MAN3%%man/man3/SSL_set_info_callback.3.gz
+%%MAN3%%man/man3/SSL_set_max_cert_list.3.gz
+%%MAN3%%man/man3/SSL_set_mode.3.gz
+%%MAN3%%man/man3/SSL_set_msg_callback.3.gz
+%%MAN3%%man/man3/SSL_set_options.3.gz
+%%MAN3%%man/man3/SSL_set_psk_client_callback.3.gz
+%%MAN3%%man/man3/SSL_set_psk_server_callback.3.gz
+%%MAN3%%man/man3/SSL_set_quiet_shutdown.3.gz
+%%MAN3%%man/man3/SSL_set_read_ahead.3.gz
+%%MAN3%%man/man3/SSL_set_session.3.gz
+%%MAN3%%man/man3/SSL_set_session_id_context.3.gz
+%%MAN3%%man/man3/SSL_set_shutdown.3.gz
+%%MAN3%%man/man3/SSL_set_ssl_method.3.gz
+%%MAN3%%man/man3/SSL_set_tlsext_status_ocsp_resp.3.gz
+%%MAN3%%man/man3/SSL_set_tlsext_status_type.3.gz
+%%MAN3%%man/man3/SSL_set_tmp_dh.3.gz
+%%MAN3%%man/man3/SSL_set_tmp_dh_callback.3.gz
+%%MAN3%%man/man3/SSL_set_tmp_rsa.3.gz
+%%MAN3%%man/man3/SSL_set_tmp_rsa_callback.3.gz
+%%MAN3%%man/man3/SSL_set_verify.3.gz
+%%MAN3%%man/man3/SSL_set_verify_depth.3.gz
+%%MAN3%%man/man3/SSL_set_verify_result.3.gz
+%%MAN3%%man/man3/SSL_shutdown.3.gz
+%%MAN3%%man/man3/SSL_state_string.3.gz
+%%MAN3%%man/man3/SSL_state_string_long.3.gz
+%%MAN3%%man/man3/SSL_use_PrivateKey.3.gz
+%%MAN3%%man/man3/SSL_use_PrivateKey_ASN1.3.gz
+%%MAN3%%man/man3/SSL_use_PrivateKey_file.3.gz
+%%MAN3%%man/man3/SSL_use_RSAPrivateKey.3.gz
+%%MAN3%%man/man3/SSL_use_RSAPrivateKey_ASN1.3.gz
+%%MAN3%%man/man3/SSL_use_RSAPrivateKey_file.3.gz
+%%MAN3%%man/man3/SSL_use_certificate.3.gz
+%%MAN3%%man/man3/SSL_use_certificate_ASN1.3.gz
+%%MAN3%%man/man3/SSL_use_certificate_file.3.gz
+%%MAN3%%man/man3/SSL_use_psk_identity_hint.3.gz
+%%MAN3%%man/man3/SSL_want.3.gz
+%%MAN3%%man/man3/SSL_want_nothing.3.gz
+%%MAN3%%man/man3/SSL_want_read.3.gz
+%%MAN3%%man/man3/SSL_want_write.3.gz
+%%MAN3%%man/man3/SSL_want_x509_lookup.3.gz
+%%MAN3%%man/man3/SSL_write.3.gz
+%%MAN3%%man/man3/SSLeay.3.gz
+%%MAN3%%man/man3/SSLeay_add_ssl_algorithms.3.gz
+%%MAN3%%man/man3/SSLeay_version.3.gz
+%%MAN3%%man/man3/SSLv23_client_method.3.gz
+%%MAN3%%man/man3/SSLv23_method.3.gz
+%%MAN3%%man/man3/SSLv23_server_method.3.gz
+%%MAN3%%man/man3/SSLv2_client_method.3.gz
+%%MAN3%%man/man3/SSLv2_method.3.gz
+%%MAN3%%man/man3/SSLv2_server_method.3.gz
+%%MAN3%%man/man3/SSLv3_client_method.3.gz
+%%MAN3%%man/man3/SSLv3_method.3.gz
+%%MAN3%%man/man3/SSLv3_server_method.3.gz
+%%MAN3%%man/man3/TLSv1_1_client_method.3.gz
+%%MAN3%%man/man3/TLSv1_1_method.3.gz
+%%MAN3%%man/man3/TLSv1_1_server_method.3.gz
+%%MAN3%%man/man3/TLSv1_2_client_method.3.gz
+%%MAN3%%man/man3/TLSv1_2_method.3.gz
+%%MAN3%%man/man3/TLSv1_2_server_method.3.gz
+%%MAN3%%man/man3/TLSv1_client_method.3.gz
+%%MAN3%%man/man3/TLSv1_method.3.gz
+%%MAN3%%man/man3/TLSv1_server_method.3.gz
+%%MAN3%%man/man3/UI_OpenSSL.3.gz
+%%MAN3%%man/man3/UI_add_error_string.3.gz
+%%MAN3%%man/man3/UI_add_info_string.3.gz
+%%MAN3%%man/man3/UI_add_input_boolean.3.gz
+%%MAN3%%man/man3/UI_add_input_string.3.gz
+%%MAN3%%man/man3/UI_add_user_data.3.gz
+%%MAN3%%man/man3/UI_add_verify_string.3.gz
+%%MAN3%%man/man3/UI_construct_prompt.3.gz
+%%MAN3%%man/man3/UI_ctrl.3.gz
+%%MAN3%%man/man3/UI_dup_error_string.3.gz
+%%MAN3%%man/man3/UI_dup_info_string.3.gz
+%%MAN3%%man/man3/UI_dup_input_boolean.3.gz
+%%MAN3%%man/man3/UI_dup_input_string.3.gz
+%%MAN3%%man/man3/UI_dup_verify_string.3.gz
+%%MAN3%%man/man3/UI_free.3.gz
+%%MAN3%%man/man3/UI_get0_result.3.gz
+%%MAN3%%man/man3/UI_get0_user_data.3.gz
+%%MAN3%%man/man3/UI_get_default_method.3.gz
+%%MAN3%%man/man3/UI_get_method.3.gz
+%%MAN3%%man/man3/UI_new.3.gz
+%%MAN3%%man/man3/UI_new_method.3.gz
+%%MAN3%%man/man3/UI_process.3.gz
+%%MAN3%%man/man3/UI_set_default_method.3.gz
+%%MAN3%%man/man3/UI_set_method.3.gz
+%%MAN3%%man/man3/X509_NAME_ENTRY_create_by_NID.3.gz
+%%MAN3%%man/man3/X509_NAME_ENTRY_create_by_OBJ.3.gz
+%%MAN3%%man/man3/X509_NAME_ENTRY_create_by_txt.3.gz
+%%MAN3%%man/man3/X509_NAME_ENTRY_get_data.3.gz
+%%MAN3%%man/man3/X509_NAME_ENTRY_get_object.3.gz
+%%MAN3%%man/man3/X509_NAME_ENTRY_set_data.3.gz
+%%MAN3%%man/man3/X509_NAME_ENTRY_set_object.3.gz
+%%MAN3%%man/man3/X509_NAME_add_entry.3.gz
+%%MAN3%%man/man3/X509_NAME_add_entry_by_NID.3.gz
+%%MAN3%%man/man3/X509_NAME_add_entry_by_OBJ.3.gz
+%%MAN3%%man/man3/X509_NAME_add_entry_by_txt.3.gz
+%%MAN3%%man/man3/X509_NAME_delete_entry.3.gz
+%%MAN3%%man/man3/X509_NAME_entry_count.3.gz
+%%MAN3%%man/man3/X509_NAME_get_entry.3.gz
+%%MAN3%%man/man3/X509_NAME_get_index_by_NID.3.gz
+%%MAN3%%man/man3/X509_NAME_get_index_by_OBJ.3.gz
+%%MAN3%%man/man3/X509_NAME_get_text_by_NID.3.gz
+%%MAN3%%man/man3/X509_NAME_get_text_by_OBJ.3.gz
+%%MAN3%%man/man3/X509_NAME_oneline.3.gz
+%%MAN3%%man/man3/X509_NAME_print.3.gz
+%%MAN3%%man/man3/X509_NAME_print_ex.3.gz
+%%MAN3%%man/man3/X509_NAME_print_ex_fp.3.gz
+%%MAN3%%man/man3/X509_STORE_CTX_cleanup.3.gz
+%%MAN3%%man/man3/X509_STORE_CTX_free.3.gz
+%%MAN3%%man/man3/X509_STORE_CTX_get0_param.3.gz
+%%MAN3%%man/man3/X509_STORE_CTX_get1_chain.3.gz
+%%MAN3%%man/man3/X509_STORE_CTX_get_current_cert.3.gz
+%%MAN3%%man/man3/X509_STORE_CTX_get_error.3.gz
+%%MAN3%%man/man3/X509_STORE_CTX_get_error_depth.3.gz
+%%MAN3%%man/man3/X509_STORE_CTX_get_ex_data.3.gz
+%%MAN3%%man/man3/X509_STORE_CTX_get_ex_new_index.3.gz
+%%MAN3%%man/man3/X509_STORE_CTX_init.3.gz
+%%MAN3%%man/man3/X509_STORE_CTX_new.3.gz
+%%MAN3%%man/man3/X509_STORE_CTX_set0_crls.3.gz
+%%MAN3%%man/man3/X509_STORE_CTX_set0_param.3.gz
+%%MAN3%%man/man3/X509_STORE_CTX_set_cert.3.gz
+%%MAN3%%man/man3/X509_STORE_CTX_set_chain.3.gz
+%%MAN3%%man/man3/X509_STORE_CTX_set_default.3.gz
+%%MAN3%%man/man3/X509_STORE_CTX_set_error.3.gz
+%%MAN3%%man/man3/X509_STORE_CTX_set_ex_data.3.gz
+%%MAN3%%man/man3/X509_STORE_CTX_set_verify_cb.3.gz
+%%MAN3%%man/man3/X509_STORE_CTX_trusted_stack.3.gz
+%%MAN3%%man/man3/X509_STORE_set_verify_cb.3.gz
+%%MAN3%%man/man3/X509_STORE_set_verify_cb_func.3.gz
+%%MAN3%%man/man3/X509_VERIFY_PARAM_add0_policy.3.gz
+%%MAN3%%man/man3/X509_VERIFY_PARAM_add1_host.3.gz
+%%MAN3%%man/man3/X509_VERIFY_PARAM_clear_flags.3.gz
+%%MAN3%%man/man3/X509_VERIFY_PARAM_get0_peername.3.gz
+%%MAN3%%man/man3/X509_VERIFY_PARAM_get_depth.3.gz
+%%MAN3%%man/man3/X509_VERIFY_PARAM_get_flags.3.gz
+%%MAN3%%man/man3/X509_VERIFY_PARAM_set1_email.3.gz
+%%MAN3%%man/man3/X509_VERIFY_PARAM_set1_host.3.gz
+%%MAN3%%man/man3/X509_VERIFY_PARAM_set1_ip.3.gz
+%%MAN3%%man/man3/X509_VERIFY_PARAM_set1_ip_asc.3.gz
+%%MAN3%%man/man3/X509_VERIFY_PARAM_set1_policies.3.gz
+%%MAN3%%man/man3/X509_VERIFY_PARAM_set_depth.3.gz
+%%MAN3%%man/man3/X509_VERIFY_PARAM_set_flags.3.gz
+%%MAN3%%man/man3/X509_VERIFY_PARAM_set_hostflags.3.gz
+%%MAN3%%man/man3/X509_VERIFY_PARAM_set_purpose.3.gz
+%%MAN3%%man/man3/X509_VERIFY_PARAM_set_time.3.gz
+%%MAN3%%man/man3/X509_VERIFY_PARAM_set_trust.3.gz
+%%MAN3%%man/man3/X509_check_email.3.gz
+%%MAN3%%man/man3/X509_check_host.3.gz
+%%MAN3%%man/man3/X509_check_ip.3.gz
+%%MAN3%%man/man3/X509_check_ip_asc.3.gz
+%%MAN3%%man/man3/X509_free.3.gz
+%%MAN3%%man/man3/X509_new.3.gz
+%%MAN3%%man/man3/X509_verify_cert.3.gz
+%%MAN3%%man/man3/X509_verify_cert_error_string.3.gz
+%%MAN3%%man/man3/bio.3.gz
+%%MAN3%%man/man3/blowfish.3.gz
+%%MAN3%%man/man3/bn.3.gz
+%%MAN3%%man/man3/bn_add_words.3.gz
+%%MAN3%%man/man3/bn_check_top.3.gz
+%%MAN3%%man/man3/bn_cmp_words.3.gz
+%%MAN3%%man/man3/bn_div_words.3.gz
+%%MAN3%%man/man3/bn_dump.3.gz
+%%MAN3%%man/man3/bn_expand.3.gz
+%%MAN3%%man/man3/bn_expand2.3.gz
+%%MAN3%%man/man3/bn_fix_top.3.gz
+%%MAN3%%man/man3/bn_internal.3.gz
+%%MAN3%%man/man3/bn_mul_add_words.3.gz
+%%MAN3%%man/man3/bn_mul_comba4.3.gz
+%%MAN3%%man/man3/bn_mul_comba8.3.gz
+%%MAN3%%man/man3/bn_mul_high.3.gz
+%%MAN3%%man/man3/bn_mul_low_normal.3.gz
+%%MAN3%%man/man3/bn_mul_low_recursive.3.gz
+%%MAN3%%man/man3/bn_mul_normal.3.gz
+%%MAN3%%man/man3/bn_mul_part_recursive.3.gz
+%%MAN3%%man/man3/bn_mul_recursive.3.gz
+%%MAN3%%man/man3/bn_mul_words.3.gz
+%%MAN3%%man/man3/bn_print.3.gz
+%%MAN3%%man/man3/bn_set_high.3.gz
+%%MAN3%%man/man3/bn_set_low.3.gz
+%%MAN3%%man/man3/bn_set_max.3.gz
+%%MAN3%%man/man3/bn_sqr_comba4.3.gz
+%%MAN3%%man/man3/bn_sqr_comba8.3.gz
+%%MAN3%%man/man3/bn_sqr_normal.3.gz
+%%MAN3%%man/man3/bn_sqr_recursive.3.gz
+%%MAN3%%man/man3/bn_sqr_words.3.gz
+%%MAN3%%man/man3/bn_sub_words.3.gz
+%%MAN3%%man/man3/bn_wexpand.3.gz
+%%MAN3%%man/man3/buffer.3.gz
+%%MAN3%%man/man3/crypto.3.gz
+%%MAN3%%man/man3/d2i_ASN1_OBJECT.3.gz
+%%MAN3%%man/man3/d2i_AutoPrivateKey.3.gz
+%%MAN3%%man/man3/d2i_CMS_ContentInfo.3.gz
+%%MAN3%%man/man3/d2i_DHparams.3.gz
+%%MAN3%%man/man3/d2i_DSAPrivateKey.3.gz
+%%MAN3%%man/man3/d2i_DSAPublicKey.3.gz
+%%MAN3%%man/man3/d2i_DSA_PUBKEY.3.gz
+%%MAN3%%man/man3/d2i_DSA_SIG.3.gz
+%%MAN3%%man/man3/d2i_DSAparams.3.gz
+%%MAN3%%man/man3/d2i_ECDSA_SIG.3.gz
+%%MAN3%%man/man3/d2i_ECPKParameters.3.gz
+%%MAN3%%man/man3/d2i_ECPKParameters_bio.3.gz
+%%MAN3%%man/man3/d2i_ECPKParameters_fp.3.gz
+%%MAN3%%man/man3/d2i_ECPrivateKey.3.gz
+%%MAN3%%man/man3/d2i_ECPrivate_key.3.gz
+%%MAN3%%man/man3/d2i_Netscape_RSA.3.gz
+%%MAN3%%man/man3/d2i_PKCS8PrivateKey.3.gz
+%%MAN3%%man/man3/d2i_PKCS8PrivateKey_bio.3.gz
+%%MAN3%%man/man3/d2i_PKCS8PrivateKey_fp.3.gz
+%%MAN3%%man/man3/d2i_PrivateKey.3.gz
+%%MAN3%%man/man3/d2i_Private_key.3.gz
+%%MAN3%%man/man3/d2i_RSAPrivateKey.3.gz
+%%MAN3%%man/man3/d2i_RSAPublicKey.3.gz
+%%MAN3%%man/man3/d2i_RSA_PUBKEY.3.gz
+%%MAN3%%man/man3/d2i_SSL_SESSION.3.gz
+%%MAN3%%man/man3/d2i_X509.3.gz
+%%MAN3%%man/man3/d2i_X509_ALGOR.3.gz
+%%MAN3%%man/man3/d2i_X509_CRL.3.gz
+%%MAN3%%man/man3/d2i_X509_CRL_bio.3.gz
+%%MAN3%%man/man3/d2i_X509_CRL_fp.3.gz
+%%MAN3%%man/man3/d2i_X509_NAME.3.gz
+%%MAN3%%man/man3/d2i_X509_REQ.3.gz
+%%MAN3%%man/man3/d2i_X509_REQ_bio.3.gz
+%%MAN3%%man/man3/d2i_X509_REQ_fp.3.gz
+%%MAN3%%man/man3/d2i_X509_SIG.3.gz
+%%MAN3%%man/man3/d2i_X509_bio.3.gz
+%%MAN3%%man/man3/d2i_X509_fp.3.gz
+%%MAN3%%man/man3/des.3.gz
+%%MAN3%%man/man3/des_read_2passwords.3.gz
+%%MAN3%%man/man3/des_read_password.3.gz
+%%MAN3%%man/man3/des_read_pw.3.gz
+%%MAN3%%man/man3/des_read_pw_string.3.gz
+%%MAN3%%man/man3/dh.3.gz
+%%MAN3%%man/man3/dsa.3.gz
+%%MAN3%%man/man3/ec.3.gz
+%%MAN3%%man/man3/ecdsa.3.gz
+%%MAN3%%man/man3/engine.3.gz
+%%MAN3%%man/man3/err.3.gz
+%%MAN3%%man/man3/evp.3.gz
+%%MAN3%%man/man3/hmac.3.gz
+%%MAN3%%man/man3/i2d_ASN1_OBJECT.3.gz
+%%MAN3%%man/man3/i2d_CMS_ContentInfo.3.gz
+%%MAN3%%man/man3/i2d_CMS_bio_stream.3.gz
+%%MAN3%%man/man3/i2d_DHparams.3.gz
+%%MAN3%%man/man3/i2d_DSAPrivateKey.3.gz
+%%MAN3%%man/man3/i2d_DSAPublicKey.3.gz
+%%MAN3%%man/man3/i2d_DSA_PUBKEY.3.gz
+%%MAN3%%man/man3/i2d_DSA_SIG.3.gz
+%%MAN3%%man/man3/i2d_DSAparams.3.gz
+%%MAN3%%man/man3/i2d_ECDSA_SIG.3.gz
+%%MAN3%%man/man3/i2d_ECPKParameters.3.gz
+%%MAN3%%man/man3/i2d_ECPKParameters_bio.3.gz
+%%MAN3%%man/man3/i2d_ECPKParameters_fp.3.gz
+%%MAN3%%man/man3/i2d_ECPrivateKey.3.gz
+%%MAN3%%man/man3/i2d_Netscape_RSA.3.gz
+%%MAN3%%man/man3/i2d_PKCS7_bio_stream.3.gz
+%%MAN3%%man/man3/i2d_PKCS8PrivateKey_bio.3.gz
+%%MAN3%%man/man3/i2d_PKCS8PrivateKey_fp.3.gz
+%%MAN3%%man/man3/i2d_PKCS8PrivateKey_nid_bio.3.gz
+%%MAN3%%man/man3/i2d_PKCS8PrivateKey_nid_fp.3.gz
+%%MAN3%%man/man3/i2d_PrivateKey.3.gz
+%%MAN3%%man/man3/i2d_RSAPrivateKey.3.gz
+%%MAN3%%man/man3/i2d_RSAPublicKey.3.gz
+%%MAN3%%man/man3/i2d_RSA_PUBKEY.3.gz
+%%MAN3%%man/man3/i2d_SSL_SESSION.3.gz
+%%MAN3%%man/man3/i2d_X509.3.gz
+%%MAN3%%man/man3/i2d_X509_ALGOR.3.gz
+%%MAN3%%man/man3/i2d_X509_CRL.3.gz
+%%MAN3%%man/man3/i2d_X509_CRL_bio.3.gz
+%%MAN3%%man/man3/i2d_X509_CRL_fp.3.gz
+%%MAN3%%man/man3/i2d_X509_NAME.3.gz
+%%MAN3%%man/man3/i2d_X509_REQ.3.gz
+%%MAN3%%man/man3/i2d_X509_REQ_bio.3.gz
+%%MAN3%%man/man3/i2d_X509_REQ_fp.3.gz
+%%MAN3%%man/man3/i2d_X509_SIG.3.gz
+%%MAN3%%man/man3/i2d_X509_bio.3.gz
+%%MAN3%%man/man3/i2d_X509_fp.3.gz
+%%MAN3%%man/man3/lh_delete.3.gz
+%%MAN3%%man/man3/lh_doall.3.gz
+%%MAN3%%man/man3/lh_doall_arg.3.gz
+%%MAN3%%man/man3/lh_error.3.gz
+%%MAN3%%man/man3/lh_free.3.gz
+%%MAN3%%man/man3/lh_insert.3.gz
+%%MAN3%%man/man3/lh_new.3.gz
+%%MAN3%%man/man3/lh_node_stats.3.gz
+%%MAN3%%man/man3/lh_node_stats_bio.3.gz
+%%MAN3%%man/man3/lh_node_usage_stats.3.gz
+%%MAN3%%man/man3/lh_node_usage_stats_bio.3.gz
+%%MAN3%%man/man3/lh_retrieve.3.gz
+%%MAN3%%man/man3/lh_stats.3.gz
+%%MAN3%%man/man3/lh_stats_bio.3.gz
+%%MAN3%%man/man3/lhash.3.gz
+%%MAN3%%man/man3/md5.3.gz
+%%MAN3%%man/man3/mdc2.3.gz
+%%MAN3%%man/man3/pem.3.gz
+%%MAN3%%man/man3/rand.3.gz
+%%MAN3%%man/man3/rc4.3.gz
+%%MAN3%%man/man3/ripemd.3.gz
+%%MAN3%%man/man3/rsa.3.gz
+%%MAN3%%man/man3/sha.3.gz
+%%MAN3%%man/man3/ssl.3.gz
+%%MAN3%%man/man3/threads.3.gz
+%%MAN3%%man/man3/ui.3.gz
+%%MAN3%%man/man3/ui_compat.3.gz
+%%MAN3%%man/man3/x509.3.gz
+man/man5/config.5.gz
+man/man5/x509v3_config.5.gz
+man/man7/des_modes.7.gz
+%%OPENSSLDIR%%/misc/CA.pl
+%%OPENSSLDIR%%/misc/CA.sh
+%%OPENSSLDIR%%/misc/c_hash
+%%OPENSSLDIR%%/misc/c_info
+%%OPENSSLDIR%%/misc/c_issuer
+%%OPENSSLDIR%%/misc/c_name
+%%OPENSSLDIR%%/misc/tsget
+@sample %%OPENSSLDIR%%/openssl.cnf.sample
+%%PORTDOCS%%%%DOCSDIR%%/openssl.txt
+@dir %%OPENSSLDIR%%/certs
+@dir %%OPENSSLDIR%%/private
+@dir lib/engines
diff --git a/test-ports/security/openssl/version.mk b/test-ports/security/openssl/version.mk
new file mode 100644
index 00000000..2c0b7b95
--- /dev/null
+++ b/test-ports/security/openssl/version.mk
@@ -0,0 +1 @@
+OPENSSL_SHLIBVER?= 9