From 293f5a93b77d92fd65db7f3d0df654f102e46cfb Mon Sep 17 00:00:00 2001 From: Michael Forney Date: Sun, 11 Dec 2016 16:04:20 -0800 Subject: Move to flat package hierarchy Note to self: never try to move submodules again To migrate your existing submodules (more or less): set -x set -e mkdir .git/modules/pkg for old in */*/src ; do new="pkg/${old#*/}" if ! [ -f "$old/.git" ] || [ "${old%%/*}" = pkg ] ; then continue fi git -C ".git/modules/$old" config core.worktree "../../../../../$new" rmdir "$new" mv "$old" "$new" sed -e "s,$old,$new," "$new/.git" > "$new/.git.tmp" mv "$new/.git.tmp" "$new/.git" mkdir ".git/modules/${new%/src}" mv ".git/modules/$old" ".git/modules/$new" rm "${old%/src}"/*.ninja mv "${old%/src}"/*.tar.{gz,xz,bz2} "${new%/src}/" rmdir "${old%/src}" || true done sed -e 's,^\[submodule "[^/]*/,[submodule "pkg/,' .git/config > .git/config.tmp mv .git/config.tmp .git/config --- pkg/alsa-lib/alsa/asoundlib.h | 63 + pkg/alsa-lib/alsa/version.h | 15 + pkg/alsa-lib/config.h | 71 + pkg/alsa-lib/ctl_symbols_list.c | 2 + pkg/alsa-lib/gen.rc | 144 + pkg/alsa-lib/patch/0001-Fix-poll.h-includes.patch | 178 + .../patch/0002-Add-include-alsa-symlink.patch | 21 + ...lug-Clear-plugins-on-all-error-conditions.patch | 31 + pkg/alsa-lib/pcm_symbols_list.c | 25 + pkg/alsa-lib/rev | 1 + pkg/alsa-lib/src | 1 + pkg/alsa-utils/aconfig.h | 48 + pkg/alsa-utils/gen.rc | 21 + ...0001-Include-poll.h-instead-of-sys-poll.h.patch | 81 + .../0002-amixer.h-Just-include-version.h.patch | 22 + pkg/alsa-utils/rev | 1 + pkg/alsa-utils/src | 1 + pkg/alsa-utils/version.h | 12 + pkg/awk/.gitignore | 1 + pkg/awk/gen.rc | 25 + ...y-consider-define-lines-that-match-the-ex.patch | 26 + pkg/awk/rev | 1 + pkg/awk/src | 1 + pkg/bc/.gitignore | 2 + pkg/bc/config.h | 40 + pkg/bc/gen.rc | 12 + .../0001-Fix-use-of-uninitialized-f_void.patch | 25 + pkg/bc/rev | 1 + pkg/bc/sha256 | 1 + pkg/bc/url | 1 + pkg/bzip2/.gitignore | 2 + pkg/bzip2/gen.rc | 12 + .../patch/0001-Remove-unused-nread-variable.patch | 34 + pkg/bzip2/rev | 1 + pkg/bzip2/sha256 | 1 + pkg/bzip2/url | 1 + pkg/ccid/config.h | 27 + pkg/ccid/gen.rc | 31 + pkg/ccid/info_plist.awk | 31 + ...ource-files-from-ccid-1.4.24-distribution.patch | 5181 +++++++ pkg/ccid/rev | 1 + pkg/ccid/src | 1 + pkg/curl/curl_config.h | 243 + pkg/curl/gen.rc | 106 + pkg/curl/rev | 1 + pkg/curl/src | 1 + pkg/curl/tool_hugehelp.c | 3 + pkg/dmenu/config.h | 23 + pkg/dmenu/gen.rc | 32 + ...-Port-to-wayland-using-wld-and-swc-panels.patch | 1234 ++ pkg/dmenu/rev | 1 + pkg/dmenu/src | 1 + pkg/e2fsprogs/.gitignore | 1 + pkg/e2fsprogs/blkid_types.h | 1 + pkg/e2fsprogs/config.h | 188 + pkg/e2fsprogs/dirpaths.h | 2 + pkg/e2fsprogs/ext2_types.h | 3 + pkg/e2fsprogs/gen.rc | 196 + pkg/e2fsprogs/rev | 1 + pkg/e2fsprogs/src | 1 + pkg/efibootmgr/gen.rc | 11 + pkg/efibootmgr/rev | 1 + pkg/efibootmgr/src | 1 + pkg/efivar/.gitignore | 1 + pkg/efivar/compat.h | 3 + pkg/efivar/gen.rc | 36 + .../0001-Workaround-rename-of-linux-nvme.h.patch | 30 + pkg/efivar/rev | 1 + pkg/efivar/src | 1 + pkg/expat/expat_config.h | 22 + pkg/expat/gen.rc | 12 + pkg/expat/rev | 1 + pkg/expat/src | 1 + pkg/ffmpeg/avconfig.awk | 17 + pkg/ffmpeg/bitstream_filters.awk | 29 + pkg/ffmpeg/config.h | 17 + pkg/ffmpeg/config.mak | 2 + pkg/ffmpeg/gen.rc | 254 + pkg/ffmpeg/options.h | 2213 +++ .../0001-version.sh-Replace-all-slashes.patch | 25 + .../patch/0002-Fix-build-with-LibreSSL.patch | 71 + pkg/ffmpeg/protocols.awk | 59 + pkg/ffmpeg/rev | 1 + pkg/ffmpeg/scripts/README.md | 15 + pkg/ffmpeg/scripts/sources.mk | 36 + pkg/ffmpeg/scripts/sources.rc | 9 + pkg/ffmpeg/sources.awk | 14 + pkg/ffmpeg/sources.txt | 2213 +++ pkg/ffmpeg/src | 1 + pkg/file/config.h | 97 + pkg/file/gen.rc | 59 + pkg/file/magic.txt | 282 + pkg/file/rev | 1 + pkg/file/src | 1 + pkg/fontconfig/config.h | 108 + pkg/fontconfig/gen.rc | 58 + ...ed-sources-from-fontconfig-2.12.1-distrib.patch | 10304 ++++++++++++++ pkg/fontconfig/rev | 1 + pkg/fontconfig/src | 1 + pkg/freetype/gen.rc | 43 + pkg/freetype/rev | 1 + pkg/freetype/src | 1 + pkg/fribidi/.gitignore | 1 + pkg/fribidi/config.h | 19 + pkg/fribidi/fribidi-config.h | 26 + pkg/fribidi/gen.rc | 63 + pkg/fribidi/rev | 1 + pkg/fribidi/src | 1 + pkg/gen.rc | 82 + pkg/git/commands.txt | 151 + pkg/git/config.h | 13 + pkg/git/gen.rc | 381 + ...ashes-from-builtin-invocations-in-scripts.patch | 107 + pkg/git/rev | 1 + pkg/git/sh_gen.sed | 10 + pkg/git/src | 1 + pkg/hostap/config.h | 17 + pkg/hostap/gen.rc | 88 + pkg/hostap/patch/0001-LibreSSL-Fix-dh5-code.patch | 38 + pkg/hostap/rev | 1 + pkg/hostap/src | 1 + pkg/ii/gen.rc | 9 + pkg/ii/rev | 1 + pkg/ii/src | 1 + pkg/iproute2/gen.rc | 52 + ...1-Remove-redundant-linux-in-6-.h-includes.patch | 66 + pkg/iproute2/rev | 1 + pkg/iproute2/src | 1 + pkg/kbd/config.h | 31 + pkg/kbd/gen.rc | 74 + pkg/kbd/keymaps.txt | 239 + ...generated-analyze-parser-.-c-h-from-kbd-2.patch | 5719 ++++++++ pkg/kbd/rev | 1 + pkg/kbd/src | 1 + pkg/less/.gitignore | 2 + pkg/less/defines.h | 99 + pkg/less/gen.rc | 17 + pkg/less/rev | 1 + pkg/less/sha256 | 1 + pkg/less/url | 1 + pkg/libass/config.h | 25 + pkg/libass/gen.rc | 27 + pkg/libass/rev | 1 + pkg/libass/src | 1 + pkg/libdrm/config.h | 61 + pkg/libdrm/gen.rc | 38 + pkg/libdrm/rev | 1 + pkg/libdrm/src | 1 + pkg/libevdev/config.h | 30 + pkg/libevdev/gen.rc | 16 + .../patch/0001-Add-generated-event-names.h.patch | 1445 ++ pkg/libevdev/rev | 1 + pkg/libevdev/src | 1 + pkg/libevent/config.h | 149 + pkg/libevent/gen.rc | 23 + pkg/libevent/rev | 1 + pkg/libevent/src | 1 + pkg/libffi/fficonfig.h | 68 + pkg/libffi/gen.rc | 26 + pkg/libffi/rev | 1 + pkg/libffi/src | 1 + pkg/libfuse/config.h | 22 + pkg/libfuse/gen.rc | 33 + pkg/libfuse/patch/0001-Fix-poll.h-include.patch | 25 + pkg/libfuse/rev | 1 + pkg/libfuse/src | 1 + pkg/libnl/defs.h | 20 + pkg/libnl/gen.rc | 52 + pkg/libnl/rev | 1 + pkg/libnl/src | 1 + pkg/libpciaccess/config.h | 46 + pkg/libpciaccess/gen.rc | 20 + ...nux_sysfs.c-Include-limits.h-for-PATH_MAX.patch | 30 + pkg/libpciaccess/rev | 1 + pkg/libpciaccess/src | 1 + pkg/libressl/gen.rc | 307 + ...ed-obj_-dat-mac-.h-from-libressl-2.5.0-di.patch | 9450 +++++++++++++ pkg/libressl/rev | 1 + pkg/libressl/src | 1 + pkg/libtermkey/.gitignore | 2 + pkg/libtermkey/gen.rc | 9 + pkg/libtermkey/rev | 1 + pkg/libtermkey/sha256 | 1 + pkg/libtermkey/url | 1 + pkg/libusb/config.h | 38 + pkg/libusb/gen.rc | 14 + pkg/libusb/rev | 1 + pkg/libusb/src | 1 + pkg/libxkbcommon/config.h | 49 + pkg/libxkbcommon/gen.rc | 41 + ...er.-c-h-from-libxkbcommon-0.7.0-distribut.patch | 3710 +++++ pkg/libxkbcommon/rev | 1 + pkg/libxkbcommon/src | 1 + pkg/loksh/gen.rc | 39 + ...cremental-search-mode-R-make-commands-sta.patch | 37 + ...-Add-missing-stdlib.h-include-for-mkstemp.patch | 24 + pkg/loksh/rev | 1 + pkg/loksh/src | 1 + pkg/lpeg/.gitignore | 2 + pkg/lpeg/gen.rc | 8 + pkg/lpeg/rev | 1 + pkg/lpeg/sha256 | 1 + pkg/lpeg/url | 1 + pkg/lua/.gitignore | 2 + pkg/lua/gen.rc | 18 + pkg/lua/rev | 1 + pkg/lua/sha256 | 1 + pkg/lua/url | 1 + pkg/make/config.h | 119 + pkg/make/gen.rc | 20 + pkg/make/rev | 1 + pkg/make/src | 1 + pkg/man-pages-posix/.gitignore | 2 + pkg/man-pages-posix/gen.rc | 7 + pkg/man-pages-posix/manpages.rc | 40 + pkg/man-pages-posix/rev | 0 pkg/man-pages-posix/sha256 | 1 + pkg/man-pages-posix/url | 1 + pkg/mc/config.h | 5 + pkg/mc/gen.rc | 52 + pkg/mc/rev | 1 + pkg/mc/src | 1 + pkg/mdocml/.gitignore | 2 + pkg/mdocml/config.h | 34 + pkg/mdocml/gen.rc | 73 + pkg/mdocml/rev | 1 + pkg/mdocml/sha256 | 1 + pkg/mdocml/url | 1 + pkg/mpv/.gitignore | 1 + pkg/mpv/config.h | 180 + pkg/mpv/file2string.c | 34 + pkg/mpv/gen.rc | 81 + pkg/mpv/gensources.awk | 12 + ...0001-Include-poll.h-instead-of-sys-poll.h.patch | 44 + .../patch/0002-Add-generated-ebml-sources.patch | 1147 ++ pkg/mpv/patch/0003-Add-generated-man-page.patch | 14159 +++++++++++++++++++ ...x-crash-when-spdif-muxer-is-not-available.patch | 28 + pkg/mpv/rev | 1 + pkg/mpv/sources.awk | 19 + pkg/mpv/sources.txt | 293 + pkg/mpv/src | 1 + pkg/msmtp/config.h | 39 + pkg/msmtp/gen.rc | 29 + ..._assert-instead-of-checking-for-size-of-l.patch | 40 + pkg/msmtp/rev | 1 + pkg/msmtp/src | 1 + pkg/nasm/.gitignore | 2 + pkg/nasm/config.h | 61 + pkg/nasm/gen.rc | 34 + pkg/nasm/rev | 1 + pkg/nasm/sha256 | 1 + pkg/nasm/url | 1 + pkg/ncurses/.gitignore | 3 + pkg/ncurses/gen.rc | 128 + pkg/ncurses/gensources.awk | 29 + pkg/ncurses/ncurses_cfg.h | 86 + pkg/ncurses/rev | 1 + pkg/ncurses/sha256 | 1 + pkg/ncurses/sources.txt | 158 + pkg/ncurses/subst.sed | 51 + pkg/ncurses/transform.h | 9 + pkg/ncurses/url | 1 + pkg/ninja/gen.rc | 33 + pkg/ninja/rev | 1 + pkg/ninja/src | 1 + pkg/openbsd/.gitignore | 3 + pkg/openbsd/gen.rc | 64 + pkg/openbsd/include/err.h | 3 + pkg/openbsd/include/grp.h | 2 + pkg/openbsd/include/machine/endian.h | 1 + pkg/openbsd/include/pwd.h | 2 + pkg/openbsd/include/stdlib.h | 10 + pkg/openbsd/include/string.h | 4 + pkg/openbsd/include/sys/cdefs.h | 5 + pkg/openbsd/include/sys/param.h | 3 + pkg/openbsd/include/sys/time.h | 5 + pkg/openbsd/include/unistd.h | 3 + pkg/openbsd/patch/0001-fts-Avoid-d_namlen.patch | 50 + pkg/openbsd/patch/0002-fts-Add-some-includes.patch | 46 + .../0003-pax-Set-listf-to-stderr-in-main.patch | 34 + pkg/openbsd/patch/0004-pax-Add-some-includes.patch | 63 + pkg/openbsd/patch/0005-tar-Default-to-stdin.patch | 27 + .../patch/0006-yacc-Add-some-includes.patch | 24 + .../patch/0007-diff-Add-missing-includes.patch | 37 + .../patch/0008-patch-Add-missing-includes.patch | 37 + pkg/openbsd/patch/0009-patch-Avoid-d_namlen.patch | 25 + ...10-patch-Fix-with-musl-s-basename-dirname.patch | 46 + ...ix-GNU-long-name-handling-with-short-read.patch | 176 + ...12-pax-Support-xz-compression-with-J-flag.patch | 90 + ...ogname-Explicitly-discard-const-qualifier.patch | 26 + pkg/openbsd/rev | 1 + pkg/openbsd/sha256 | 2 + pkg/openbsd/url | 3 + pkg/openssh/config.h | 482 + pkg/openssh/gen.rc | 121 + pkg/openssh/rev | 1 + pkg/openssh/src | 1 + pkg/pcre/.gitignore | 2 + pkg/pcre/config.h | 64 + pkg/pcre/gen.rc | 41 + pkg/pcre/rev | 1 + pkg/pcre/sha256 | 1 + pkg/pcre/url | 1 + pkg/pcsc/config.h | 66 + pkg/pcsc/gen.rc | 34 + ...kenparser.c-from-pcsc-1.8.17-distribution.patch | 2058 +++ pkg/pcsc/rev | 1 + pkg/pcsc/src | 1 + pkg/perp/.gitignore | 3 + pkg/perp/gen.rc | 86 + pkg/perp/rev | 1 + pkg/perp/sha256 | 1 + pkg/perp/url | 1 + pkg/pigz/gen.rc | 12 + .../0001-Handle-n-option-like-gzip-does.patch | 39 + pkg/pigz/rev | 1 + pkg/pigz/src | 1 + pkg/pixman/config.h | 48 + pkg/pixman/gen.rc | 57 + pkg/pixman/rev | 1 + pkg/pixman/src | 1 + pkg/plan9fonts/fonts.txt | 322 + pkg/plan9fonts/gen.rc | 4 + pkg/plan9fonts/rev | 1 + pkg/plan9fonts/src | 1 + pkg/plan9port/gen.rc | 412 + pkg/plan9port/patch/0001-Fix-build-with-musl.patch | 62 + .../patch/0002-rc-Look-for-lib-rcmain.patch | 58 + .../patch/0003-rcmain-Don-t-use-PLAN9-bin-9.patch | 30 + ...04-Fix-sys-termios.h-include-to-termios.h.patch | 25 + ...clude-u.h-before-any-other-system-headers.patch | 23 + pkg/plan9port/rev | 1 + pkg/plan9port/src | 1 + pkg/python/.gitignore | 2 + pkg/python/Setup | 78 + pkg/python/gen.rc | 180 + pkg/python/lib/Makefile | 1 + pkg/python/lib/_sysconfigdata.py | 2 + pkg/python/modules.awk | 7 + pkg/python/pyconfig.h | 327 + pkg/python/pylibs.txt | 715 + pkg/python/rev | 1 + pkg/python/sha256 | 1 + pkg/python/url | 1 + pkg/qbe/config.h | 1 + pkg/qbe/gen.rc | 9 + pkg/qbe/rev | 1 + pkg/qbe/src | 1 + pkg/sbase/egrep | 2 + pkg/sbase/gen.rc | 195 + ...dd-some-missing-error-checks-for-cryptsum.patch | 60 + ...er-overflow-if-N-flag-is-larger-than-BUFS.patch | 52 + ...003-libutil-Add-writeall-utility-function.patch | 73 + ...se-buffered-IO-fread-when-not-appropriate.patch | 411 + .../0005-xinstall-Check-result-of-fchmod.patch | 26 + ...plain-read-write-instead-of-buffered-stdi.patch | 631 + .../0007-cp-Only-call-chmod-with-p-or-a.patch | 58 + ...08-tail-Use-fstat-in-case-file-is-removed.patch | 51 + .../patch/0009-cp-Check-result-of-utimensat.patch | 31 + ...cp-Also-preserve-atime-mtime-for-symlinks.patch | 36 + ...s-bytes-with-c-option-and-add-m-option-fo.patch | 133 + ...fixed-buffer-size-larger-than-BUFSIZ-on-m.patch | 25 + .../0013-tail-Use-inotify-for-follow-mode.patch | 58 + pkg/sbase/rev | 1 + pkg/sbase/src | 1 + pkg/scc/gen.rc | 48 + pkg/scc/rev | 1 + pkg/scc/src | 1 + pkg/sdhcp/gen.rc | 9 + .../0001-Convert-cid-to-char-for-strlcpy.patch | 25 + pkg/sdhcp/rev | 1 + pkg/sdhcp/src | 1 + pkg/sinit/config.h | 5 + pkg/sinit/gen.rc | 8 + pkg/sinit/rev | 1 + pkg/sinit/src | 1 + pkg/skeleton/gen.rc | 17 + pkg/skeleton/gitignore | 10 + pkg/sshfs/config.h | 11 + pkg/sshfs/gen.rc | 15 + pkg/sshfs/patch/0001-Add-nocache.c-stub.patch | 113 + ...-compact-array-and-free-list-for-requests.patch | 292 + .../patch/0003-Use-bool-instead-of-gboolean.patch | 33 + ...004-Use-struct-list_head-instead-of-GList.patch | 62 + .../patch/0005-Use-standard-C-functions.patch | 277 + pkg/sshfs/patch/0006-Add-missing-includes.patch | 34 + .../0007-Disable-uidmap-and-gidmap-support.patch | 127 + .../patch/0008-Remove-remaining-uses-of-glib.patch | 36 + pkg/sshfs/rev | 1 + pkg/sshfs/src | 1 + pkg/st/config.h | 461 + pkg/st/gen.rc | 32 + pkg/st/patch/0001-Port-to-wayland-using-wld.patch | 3911 +++++ pkg/st/rev | 1 + pkg/st/src | 1 + pkg/swc/.gitignore | 1 + pkg/swc/gen.rc | 96 + pkg/swc/rev | 1 + pkg/swc/src | 1 + pkg/terminus-font/.gitignore | 2 + pkg/terminus-font/gen.rc | 13 + pkg/terminus-font/rev | 1 + pkg/terminus-font/sha256 | 1 + pkg/terminus-font/ucstoany.awk | 55 + pkg/terminus-font/url | 1 + pkg/the_silver_searcher/config.h | 24 + pkg/the_silver_searcher/gen.rc | 14 + pkg/the_silver_searcher/rev | 1 + pkg/the_silver_searcher/src | 1 + pkg/transmission/.gitignore | 5 + pkg/transmission/config.h | 27 + pkg/transmission/gen.rc | 152 + pkg/transmission/rev | 1 + pkg/transmission/sha256 | 1 + pkg/transmission/url | 1 + pkg/tz/gen.rc | 26 + pkg/tz/rev | 1 + pkg/tz/src | 1 + pkg/tz/tzdata.awk | 26 + pkg/tz/version.h | 3 + pkg/ubase/config.h | 11 + pkg/ubase/gen.rc | 96 + ...sswd-Use-a-salt-when-encrypting-passwords.patch | 77 + .../0002-mount-Don-t-pass-no-auto-to-kernel.patch | 24 + pkg/ubase/patch/0003-Add-stty-1.patch | 811 ++ ...cleaner-output-when-no-arguments-are-used.patch | 96 + pkg/ubase/patch/0005-stty-fix-casting-bug.patch | 35 + ...-add-symbolic-values-for-line-disciplines.patch | 139 + pkg/ubase/patch/0007-stty-simplify.patch | 49 + pkg/ubase/patch/0008-stty-Fix-indentation.patch | 79 + .../patch/0009-stty-Fix-build-with-musl-libc.patch | 53 + pkg/ubase/rev | 1 + pkg/ubase/src | 1 + pkg/unzip/.gitignore | 2 + pkg/unzip/config.h | 15 + pkg/unzip/gen.rc | 15 + ...0001-Drop-L-suffix-from-man-page-sections.patch | 319 + ...PKWare-verification-bit-of-internal-attri.patch | 32 + ...re-uid-and-gid-information-when-requested.patch | 39 + .../patch/0004-Initialize-the-symlink-flag.patch | 31 + ...ze-of-cfactorstr-array-to-avoid-buffer-ov.patch | 27 + ...o.c-Do-not-crash-when-hostver-byte-is-100.patch | 27 + ...4-8139-CRC32-verification-heap-based-over.patch | 64 + ...4-8140-out-of-bounds-write-issue-in-test_.patch | 40 + ...4-8141-out-of-bounds-read-issues-in-getZi.patch | 152 + .../0010-Info-ZIP-UnZip-buffer-overflow.patch | 41 + .../0011-Upstream-fix-for-heap-overflow.patch | 36 + ...ite-loop-when-extracting-empty-bzip2-data.patch | 30 + ...revent-unsigned-overflow-on-invalid-input.patch | 37 + pkg/unzip/rev | 1 + pkg/unzip/sha256 | 1 + pkg/unzip/url | 1 + pkg/util-linux/config.h | 222 + pkg/util-linux/gen.rc | 107 + pkg/util-linux/rev | 1 + pkg/util-linux/src | 1 + pkg/velox/gen.rc | 42 + pkg/velox/rev | 1 + pkg/velox/src | 1 + pkg/vis/gen.rc | 196 + .../0001-Allow-building-lpeg-statically.patch | 54 + .../patch/0002-Set-default-theme-to-dark-16.patch | 25 + pkg/vis/rev | 1 + pkg/vis/src | 1 + pkg/wayland-protocols/gen.rc | 10 + pkg/wayland-protocols/rev | 1 + pkg/wayland-protocols/src | 1 + pkg/wayland/config.h | 17 + pkg/wayland/gen.rc | 59 + pkg/wayland/rev | 1 + pkg/wayland/src | 1 + pkg/wld/gen.rc | 68 + pkg/wld/rev | 1 + pkg/wld/src | 1 + pkg/xkeyboard-config/gen.rc | 201 + pkg/xkeyboard-config/rev | 1 + pkg/xkeyboard-config/src | 1 + pkg/xz/config.h | 141 + pkg/xz/gen.rc | 140 + pkg/xz/rev | 1 + pkg/xz/src | 1 + pkg/youtube-dl/gen.rc | 7 + ...Disable-use-of-ctypes-and-dynamic-loading.patch | 230 + pkg/youtube-dl/pylibs.txt | 705 + pkg/youtube-dl/rev | 1 + pkg/youtube-dl/src | 1 + pkg/zlib/gen.rc | 33 + pkg/zlib/rev | 1 + pkg/zlib/src | 1 + 489 files changed, 83303 insertions(+) create mode 100644 pkg/alsa-lib/alsa/asoundlib.h create mode 100644 pkg/alsa-lib/alsa/version.h create mode 100644 pkg/alsa-lib/config.h create mode 100644 pkg/alsa-lib/ctl_symbols_list.c create mode 100644 pkg/alsa-lib/gen.rc create mode 100644 pkg/alsa-lib/patch/0001-Fix-poll.h-includes.patch create mode 100644 pkg/alsa-lib/patch/0002-Add-include-alsa-symlink.patch create mode 100644 pkg/alsa-lib/patch/0003-pcm_plug-Clear-plugins-on-all-error-conditions.patch create mode 100644 pkg/alsa-lib/pcm_symbols_list.c create mode 100644 pkg/alsa-lib/rev create mode 160000 pkg/alsa-lib/src create mode 100644 pkg/alsa-utils/aconfig.h create mode 100644 pkg/alsa-utils/gen.rc create mode 100644 pkg/alsa-utils/patch/0001-Include-poll.h-instead-of-sys-poll.h.patch create mode 100644 pkg/alsa-utils/patch/0002-amixer.h-Just-include-version.h.patch create mode 100644 pkg/alsa-utils/rev create mode 160000 pkg/alsa-utils/src create mode 100644 pkg/alsa-utils/version.h create mode 100644 pkg/awk/.gitignore create mode 100644 pkg/awk/gen.rc create mode 100644 pkg/awk/patch/0001-maketab-Only-consider-define-lines-that-match-the-ex.patch create mode 100644 pkg/awk/rev create mode 160000 pkg/awk/src create mode 100644 pkg/bc/.gitignore create mode 100644 pkg/bc/config.h create mode 100644 pkg/bc/gen.rc create mode 100644 pkg/bc/patch/0001-Fix-use-of-uninitialized-f_void.patch create mode 100644 pkg/bc/rev create mode 100644 pkg/bc/sha256 create mode 100644 pkg/bc/url create mode 100644 pkg/bzip2/.gitignore create mode 100644 pkg/bzip2/gen.rc create mode 100644 pkg/bzip2/patch/0001-Remove-unused-nread-variable.patch create mode 100644 pkg/bzip2/rev create mode 100644 pkg/bzip2/sha256 create mode 100644 pkg/bzip2/url create mode 100644 pkg/ccid/config.h create mode 100644 pkg/ccid/gen.rc create mode 100644 pkg/ccid/info_plist.awk create mode 100644 pkg/ccid/patch/0001-Check-in-source-files-from-ccid-1.4.24-distribution.patch create mode 100644 pkg/ccid/rev create mode 160000 pkg/ccid/src create mode 100644 pkg/curl/curl_config.h create mode 100644 pkg/curl/gen.rc create mode 100644 pkg/curl/rev create mode 160000 pkg/curl/src create mode 100644 pkg/curl/tool_hugehelp.c create mode 100644 pkg/dmenu/config.h create mode 100644 pkg/dmenu/gen.rc create mode 100644 pkg/dmenu/patch/0001-Port-to-wayland-using-wld-and-swc-panels.patch create mode 100644 pkg/dmenu/rev create mode 160000 pkg/dmenu/src create mode 100644 pkg/e2fsprogs/.gitignore create mode 100644 pkg/e2fsprogs/blkid_types.h create mode 100644 pkg/e2fsprogs/config.h create mode 100644 pkg/e2fsprogs/dirpaths.h create mode 100644 pkg/e2fsprogs/ext2_types.h create mode 100644 pkg/e2fsprogs/gen.rc create mode 100644 pkg/e2fsprogs/rev create mode 160000 pkg/e2fsprogs/src create mode 100644 pkg/efibootmgr/gen.rc create mode 100644 pkg/efibootmgr/rev create mode 160000 pkg/efibootmgr/src create mode 100644 pkg/efivar/.gitignore create mode 100644 pkg/efivar/compat.h create mode 100644 pkg/efivar/gen.rc create mode 100644 pkg/efivar/patch/0001-Workaround-rename-of-linux-nvme.h.patch create mode 100644 pkg/efivar/rev create mode 160000 pkg/efivar/src create mode 100644 pkg/expat/expat_config.h create mode 100644 pkg/expat/gen.rc create mode 100644 pkg/expat/rev create mode 160000 pkg/expat/src create mode 100644 pkg/ffmpeg/avconfig.awk create mode 100644 pkg/ffmpeg/bitstream_filters.awk create mode 100644 pkg/ffmpeg/config.h create mode 100644 pkg/ffmpeg/config.mak create mode 100644 pkg/ffmpeg/gen.rc create mode 100644 pkg/ffmpeg/options.h create mode 100644 pkg/ffmpeg/patch/0001-version.sh-Replace-all-slashes.patch create mode 100644 pkg/ffmpeg/patch/0002-Fix-build-with-LibreSSL.patch create mode 100644 pkg/ffmpeg/protocols.awk create mode 100644 pkg/ffmpeg/rev create mode 100644 pkg/ffmpeg/scripts/README.md create mode 100644 pkg/ffmpeg/scripts/sources.mk create mode 100755 pkg/ffmpeg/scripts/sources.rc create mode 100644 pkg/ffmpeg/sources.awk create mode 100644 pkg/ffmpeg/sources.txt create mode 160000 pkg/ffmpeg/src create mode 100644 pkg/file/config.h create mode 100644 pkg/file/gen.rc create mode 100644 pkg/file/magic.txt create mode 100644 pkg/file/rev create mode 160000 pkg/file/src create mode 100644 pkg/fontconfig/config.h create mode 100644 pkg/fontconfig/gen.rc create mode 100644 pkg/fontconfig/patch/0001-Add-generated-sources-from-fontconfig-2.12.1-distrib.patch create mode 100644 pkg/fontconfig/rev create mode 160000 pkg/fontconfig/src create mode 100644 pkg/freetype/gen.rc create mode 100644 pkg/freetype/rev create mode 160000 pkg/freetype/src create mode 100644 pkg/fribidi/.gitignore create mode 100644 pkg/fribidi/config.h create mode 100644 pkg/fribidi/fribidi-config.h create mode 100644 pkg/fribidi/gen.rc create mode 100644 pkg/fribidi/rev create mode 160000 pkg/fribidi/src create mode 100644 pkg/gen.rc create mode 100644 pkg/git/commands.txt create mode 100644 pkg/git/config.h create mode 100644 pkg/git/gen.rc create mode 100644 pkg/git/patch/0001-Drop-dashes-from-builtin-invocations-in-scripts.patch create mode 100644 pkg/git/rev create mode 100644 pkg/git/sh_gen.sed create mode 160000 pkg/git/src create mode 100644 pkg/hostap/config.h create mode 100644 pkg/hostap/gen.rc create mode 100644 pkg/hostap/patch/0001-LibreSSL-Fix-dh5-code.patch create mode 100644 pkg/hostap/rev create mode 160000 pkg/hostap/src create mode 100644 pkg/ii/gen.rc create mode 100644 pkg/ii/rev create mode 160000 pkg/ii/src create mode 100644 pkg/iproute2/gen.rc create mode 100644 pkg/iproute2/patch/0001-Remove-redundant-linux-in-6-.h-includes.patch create mode 100644 pkg/iproute2/rev create mode 160000 pkg/iproute2/src create mode 100644 pkg/kbd/config.h create mode 100644 pkg/kbd/gen.rc create mode 100644 pkg/kbd/keymaps.txt create mode 100644 pkg/kbd/patch/0001-Import-pre-generated-analyze-parser-.-c-h-from-kbd-2.patch create mode 100644 pkg/kbd/rev create mode 160000 pkg/kbd/src create mode 100644 pkg/less/.gitignore create mode 100644 pkg/less/defines.h create mode 100644 pkg/less/gen.rc create mode 100644 pkg/less/rev create mode 100644 pkg/less/sha256 create mode 100644 pkg/less/url create mode 100644 pkg/libass/config.h create mode 100644 pkg/libass/gen.rc create mode 100644 pkg/libass/rev create mode 160000 pkg/libass/src create mode 100644 pkg/libdrm/config.h create mode 100644 pkg/libdrm/gen.rc create mode 100644 pkg/libdrm/rev create mode 160000 pkg/libdrm/src create mode 100644 pkg/libevdev/config.h create mode 100644 pkg/libevdev/gen.rc create mode 100644 pkg/libevdev/patch/0001-Add-generated-event-names.h.patch create mode 100644 pkg/libevdev/rev create mode 160000 pkg/libevdev/src create mode 100644 pkg/libevent/config.h create mode 100644 pkg/libevent/gen.rc create mode 100644 pkg/libevent/rev create mode 160000 pkg/libevent/src create mode 100644 pkg/libffi/fficonfig.h create mode 100644 pkg/libffi/gen.rc create mode 100644 pkg/libffi/rev create mode 160000 pkg/libffi/src create mode 100644 pkg/libfuse/config.h create mode 100644 pkg/libfuse/gen.rc create mode 100644 pkg/libfuse/patch/0001-Fix-poll.h-include.patch create mode 100644 pkg/libfuse/rev create mode 160000 pkg/libfuse/src create mode 100644 pkg/libnl/defs.h create mode 100644 pkg/libnl/gen.rc create mode 100644 pkg/libnl/rev create mode 160000 pkg/libnl/src create mode 100644 pkg/libpciaccess/config.h create mode 100644 pkg/libpciaccess/gen.rc create mode 100644 pkg/libpciaccess/patch/0001-linux_sysfs.c-Include-limits.h-for-PATH_MAX.patch create mode 100644 pkg/libpciaccess/rev create mode 160000 pkg/libpciaccess/src create mode 100644 pkg/libressl/gen.rc create mode 100644 pkg/libressl/patch/0001-Add-generated-obj_-dat-mac-.h-from-libressl-2.5.0-di.patch create mode 100644 pkg/libressl/rev create mode 160000 pkg/libressl/src create mode 100644 pkg/libtermkey/.gitignore create mode 100644 pkg/libtermkey/gen.rc create mode 100644 pkg/libtermkey/rev create mode 100644 pkg/libtermkey/sha256 create mode 100644 pkg/libtermkey/url create mode 100644 pkg/libusb/config.h create mode 100644 pkg/libusb/gen.rc create mode 100644 pkg/libusb/rev create mode 160000 pkg/libusb/src create mode 100644 pkg/libxkbcommon/config.h create mode 100644 pkg/libxkbcommon/gen.rc create mode 100644 pkg/libxkbcommon/patch/0001-Import-parser.-c-h-from-libxkbcommon-0.7.0-distribut.patch create mode 100644 pkg/libxkbcommon/rev create mode 160000 pkg/libxkbcommon/src create mode 100644 pkg/loksh/gen.rc create mode 100644 pkg/loksh/patch/0001-In-emacs-incremental-search-mode-R-make-commands-sta.patch create mode 100644 pkg/loksh/patch/0002-Add-missing-stdlib.h-include-for-mkstemp.patch create mode 100644 pkg/loksh/rev create mode 160000 pkg/loksh/src create mode 100644 pkg/lpeg/.gitignore create mode 100644 pkg/lpeg/gen.rc create mode 100644 pkg/lpeg/rev create mode 100644 pkg/lpeg/sha256 create mode 100644 pkg/lpeg/url create mode 100644 pkg/lua/.gitignore create mode 100644 pkg/lua/gen.rc create mode 100644 pkg/lua/rev create mode 100644 pkg/lua/sha256 create mode 100644 pkg/lua/url create mode 100644 pkg/make/config.h create mode 100644 pkg/make/gen.rc create mode 100644 pkg/make/rev create mode 160000 pkg/make/src create mode 100644 pkg/man-pages-posix/.gitignore create mode 100644 pkg/man-pages-posix/gen.rc create mode 100644 pkg/man-pages-posix/manpages.rc create mode 100644 pkg/man-pages-posix/rev create mode 100644 pkg/man-pages-posix/sha256 create mode 100644 pkg/man-pages-posix/url create mode 100644 pkg/mc/config.h create mode 100644 pkg/mc/gen.rc create mode 100644 pkg/mc/rev create mode 160000 pkg/mc/src create mode 100644 pkg/mdocml/.gitignore create mode 100644 pkg/mdocml/config.h create mode 100644 pkg/mdocml/gen.rc create mode 100644 pkg/mdocml/rev create mode 100644 pkg/mdocml/sha256 create mode 100644 pkg/mdocml/url create mode 100644 pkg/mpv/.gitignore create mode 100644 pkg/mpv/config.h create mode 100644 pkg/mpv/file2string.c create mode 100644 pkg/mpv/gen.rc create mode 100644 pkg/mpv/gensources.awk create mode 100644 pkg/mpv/patch/0001-Include-poll.h-instead-of-sys-poll.h.patch create mode 100644 pkg/mpv/patch/0002-Add-generated-ebml-sources.patch create mode 100644 pkg/mpv/patch/0003-Add-generated-man-page.patch create mode 100644 pkg/mpv/patch/0004-ad_spdif-Fix-crash-when-spdif-muxer-is-not-available.patch create mode 100644 pkg/mpv/rev create mode 100644 pkg/mpv/sources.awk create mode 100644 pkg/mpv/sources.txt create mode 160000 pkg/mpv/src create mode 100644 pkg/msmtp/config.h create mode 100644 pkg/msmtp/gen.rc create mode 100644 pkg/msmtp/patch/0001-Use-_Static_assert-instead-of-checking-for-size-of-l.patch create mode 100644 pkg/msmtp/rev create mode 160000 pkg/msmtp/src create mode 100644 pkg/nasm/.gitignore create mode 100644 pkg/nasm/config.h create mode 100644 pkg/nasm/gen.rc create mode 100644 pkg/nasm/rev create mode 100644 pkg/nasm/sha256 create mode 100644 pkg/nasm/url create mode 100644 pkg/ncurses/.gitignore create mode 100644 pkg/ncurses/gen.rc create mode 100644 pkg/ncurses/gensources.awk create mode 100644 pkg/ncurses/ncurses_cfg.h create mode 100644 pkg/ncurses/rev create mode 100644 pkg/ncurses/sha256 create mode 100644 pkg/ncurses/sources.txt create mode 100644 pkg/ncurses/subst.sed create mode 100644 pkg/ncurses/transform.h create mode 100644 pkg/ncurses/url create mode 100644 pkg/ninja/gen.rc create mode 100644 pkg/ninja/rev create mode 160000 pkg/ninja/src create mode 100644 pkg/openbsd/.gitignore create mode 100644 pkg/openbsd/gen.rc create mode 100644 pkg/openbsd/include/err.h create mode 100644 pkg/openbsd/include/grp.h create mode 100644 pkg/openbsd/include/machine/endian.h create mode 100644 pkg/openbsd/include/pwd.h create mode 100644 pkg/openbsd/include/stdlib.h create mode 100644 pkg/openbsd/include/string.h create mode 100644 pkg/openbsd/include/sys/cdefs.h create mode 100644 pkg/openbsd/include/sys/param.h create mode 100644 pkg/openbsd/include/sys/time.h create mode 100644 pkg/openbsd/include/unistd.h create mode 100644 pkg/openbsd/patch/0001-fts-Avoid-d_namlen.patch create mode 100644 pkg/openbsd/patch/0002-fts-Add-some-includes.patch create mode 100644 pkg/openbsd/patch/0003-pax-Set-listf-to-stderr-in-main.patch create mode 100644 pkg/openbsd/patch/0004-pax-Add-some-includes.patch create mode 100644 pkg/openbsd/patch/0005-tar-Default-to-stdin.patch create mode 100644 pkg/openbsd/patch/0006-yacc-Add-some-includes.patch create mode 100644 pkg/openbsd/patch/0007-diff-Add-missing-includes.patch create mode 100644 pkg/openbsd/patch/0008-patch-Add-missing-includes.patch create mode 100644 pkg/openbsd/patch/0009-patch-Avoid-d_namlen.patch create mode 100644 pkg/openbsd/patch/0010-patch-Fix-with-musl-s-basename-dirname.patch create mode 100644 pkg/openbsd/patch/0011-pax-Fix-GNU-long-name-handling-with-short-read.patch create mode 100644 pkg/openbsd/patch/0012-pax-Support-xz-compression-with-J-flag.patch create mode 100644 pkg/openbsd/patch/0013-setprogname-Explicitly-discard-const-qualifier.patch create mode 100644 pkg/openbsd/rev create mode 100644 pkg/openbsd/sha256 create mode 100644 pkg/openbsd/url create mode 100644 pkg/openssh/config.h create mode 100644 pkg/openssh/gen.rc create mode 100644 pkg/openssh/rev create mode 160000 pkg/openssh/src create mode 100644 pkg/pcre/.gitignore create mode 100644 pkg/pcre/config.h create mode 100644 pkg/pcre/gen.rc create mode 100644 pkg/pcre/rev create mode 100644 pkg/pcre/sha256 create mode 100644 pkg/pcre/url create mode 100644 pkg/pcsc/config.h create mode 100644 pkg/pcsc/gen.rc create mode 100644 pkg/pcsc/patch/0001-Add-tokenparser.c-from-pcsc-1.8.17-distribution.patch create mode 100644 pkg/pcsc/rev create mode 160000 pkg/pcsc/src create mode 100644 pkg/perp/.gitignore create mode 100644 pkg/perp/gen.rc create mode 100644 pkg/perp/rev create mode 100644 pkg/perp/sha256 create mode 100644 pkg/perp/url create mode 100644 pkg/pigz/gen.rc create mode 100644 pkg/pigz/patch/0001-Handle-n-option-like-gzip-does.patch create mode 100644 pkg/pigz/rev create mode 160000 pkg/pigz/src create mode 100644 pkg/pixman/config.h create mode 100644 pkg/pixman/gen.rc create mode 100644 pkg/pixman/rev create mode 160000 pkg/pixman/src create mode 100644 pkg/plan9fonts/fonts.txt create mode 100644 pkg/plan9fonts/gen.rc create mode 100644 pkg/plan9fonts/rev create mode 160000 pkg/plan9fonts/src create mode 100644 pkg/plan9port/gen.rc create mode 100644 pkg/plan9port/patch/0001-Fix-build-with-musl.patch create mode 100644 pkg/plan9port/patch/0002-rc-Look-for-lib-rcmain.patch create mode 100644 pkg/plan9port/patch/0003-rcmain-Don-t-use-PLAN9-bin-9.patch create mode 100644 pkg/plan9port/patch/0004-Fix-sys-termios.h-include-to-termios.h.patch create mode 100644 pkg/plan9port/patch/0005-Include-u.h-before-any-other-system-headers.patch create mode 100644 pkg/plan9port/rev create mode 160000 pkg/plan9port/src create mode 100644 pkg/python/.gitignore create mode 100644 pkg/python/Setup create mode 100644 pkg/python/gen.rc create mode 100644 pkg/python/lib/Makefile create mode 100644 pkg/python/lib/_sysconfigdata.py create mode 100644 pkg/python/modules.awk create mode 100644 pkg/python/pyconfig.h create mode 100644 pkg/python/pylibs.txt create mode 100644 pkg/python/rev create mode 100644 pkg/python/sha256 create mode 100644 pkg/python/url create mode 100644 pkg/qbe/config.h create mode 100644 pkg/qbe/gen.rc create mode 100644 pkg/qbe/rev create mode 160000 pkg/qbe/src create mode 100755 pkg/sbase/egrep create mode 100644 pkg/sbase/gen.rc create mode 100644 pkg/sbase/patch/0001-crypt-Add-some-missing-error-checks-for-cryptsum.patch create mode 100644 pkg/sbase/patch/0002-od-Fix-buffer-overflow-if-N-flag-is-larger-than-BUFS.patch create mode 100644 pkg/sbase/patch/0003-libutil-Add-writeall-utility-function.patch create mode 100644 pkg/sbase/patch/0004-Don-t-use-buffered-IO-fread-when-not-appropriate.patch create mode 100644 pkg/sbase/patch/0005-xinstall-Check-result-of-fchmod.patch create mode 100644 pkg/sbase/patch/0006-concat-Use-plain-read-write-instead-of-buffered-stdi.patch create mode 100644 pkg/sbase/patch/0007-cp-Only-call-chmod-with-p-or-a.patch create mode 100644 pkg/sbase/patch/0008-tail-Use-fstat-in-case-file-is-removed.patch create mode 100644 pkg/sbase/patch/0009-cp-Check-result-of-utimensat.patch create mode 100644 pkg/sbase/patch/0010-cp-Also-preserve-atime-mtime-for-symlinks.patch create mode 100644 pkg/sbase/patch/0011-tail-Process-bytes-with-c-option-and-add-m-option-fo.patch create mode 100644 pkg/sbase/patch/0012-concat-Use-fixed-buffer-size-larger-than-BUFSIZ-on-m.patch create mode 100644 pkg/sbase/patch/0013-tail-Use-inotify-for-follow-mode.patch create mode 100644 pkg/sbase/rev create mode 160000 pkg/sbase/src create mode 100644 pkg/scc/gen.rc create mode 100644 pkg/scc/rev create mode 160000 pkg/scc/src create mode 100644 pkg/sdhcp/gen.rc create mode 100644 pkg/sdhcp/patch/0001-Convert-cid-to-char-for-strlcpy.patch create mode 100644 pkg/sdhcp/rev create mode 160000 pkg/sdhcp/src create mode 100644 pkg/sinit/config.h create mode 100644 pkg/sinit/gen.rc create mode 100644 pkg/sinit/rev create mode 160000 pkg/sinit/src create mode 100644 pkg/skeleton/gen.rc create mode 100644 pkg/skeleton/gitignore create mode 100644 pkg/sshfs/config.h create mode 100644 pkg/sshfs/gen.rc create mode 100644 pkg/sshfs/patch/0001-Add-nocache.c-stub.patch create mode 100644 pkg/sshfs/patch/0002-Use-a-compact-array-and-free-list-for-requests.patch create mode 100644 pkg/sshfs/patch/0003-Use-bool-instead-of-gboolean.patch create mode 100644 pkg/sshfs/patch/0004-Use-struct-list_head-instead-of-GList.patch create mode 100644 pkg/sshfs/patch/0005-Use-standard-C-functions.patch create mode 100644 pkg/sshfs/patch/0006-Add-missing-includes.patch create mode 100644 pkg/sshfs/patch/0007-Disable-uidmap-and-gidmap-support.patch create mode 100644 pkg/sshfs/patch/0008-Remove-remaining-uses-of-glib.patch create mode 100644 pkg/sshfs/rev create mode 160000 pkg/sshfs/src create mode 100644 pkg/st/config.h create mode 100644 pkg/st/gen.rc create mode 100644 pkg/st/patch/0001-Port-to-wayland-using-wld.patch create mode 100644 pkg/st/rev create mode 160000 pkg/st/src create mode 100644 pkg/swc/.gitignore create mode 100644 pkg/swc/gen.rc create mode 100644 pkg/swc/rev create mode 160000 pkg/swc/src create mode 100644 pkg/terminus-font/.gitignore create mode 100644 pkg/terminus-font/gen.rc create mode 100644 pkg/terminus-font/rev create mode 100644 pkg/terminus-font/sha256 create mode 100644 pkg/terminus-font/ucstoany.awk create mode 100644 pkg/terminus-font/url create mode 100644 pkg/the_silver_searcher/config.h create mode 100644 pkg/the_silver_searcher/gen.rc create mode 100644 pkg/the_silver_searcher/rev create mode 160000 pkg/the_silver_searcher/src create mode 100644 pkg/transmission/.gitignore create mode 100644 pkg/transmission/config.h create mode 100644 pkg/transmission/gen.rc create mode 100644 pkg/transmission/rev create mode 100644 pkg/transmission/sha256 create mode 100644 pkg/transmission/url create mode 100644 pkg/tz/gen.rc create mode 100644 pkg/tz/rev create mode 160000 pkg/tz/src create mode 100644 pkg/tz/tzdata.awk create mode 100644 pkg/tz/version.h create mode 100644 pkg/ubase/config.h create mode 100644 pkg/ubase/gen.rc create mode 100644 pkg/ubase/patch/0001-passwd-Use-a-salt-when-encrypting-passwords.patch create mode 100644 pkg/ubase/patch/0002-mount-Don-t-pass-no-auto-to-kernel.patch create mode 100644 pkg/ubase/patch/0003-Add-stty-1.patch create mode 100644 pkg/ubase/patch/0004-stty-cleaner-output-when-no-arguments-are-used.patch create mode 100644 pkg/ubase/patch/0005-stty-fix-casting-bug.patch create mode 100644 pkg/ubase/patch/0006-stty-add-symbolic-values-for-line-disciplines.patch create mode 100644 pkg/ubase/patch/0007-stty-simplify.patch create mode 100644 pkg/ubase/patch/0008-stty-Fix-indentation.patch create mode 100644 pkg/ubase/patch/0009-stty-Fix-build-with-musl-libc.patch create mode 100644 pkg/ubase/rev create mode 160000 pkg/ubase/src create mode 100644 pkg/unzip/.gitignore create mode 100644 pkg/unzip/config.h create mode 100644 pkg/unzip/gen.rc create mode 100644 pkg/unzip/patch/0001-Drop-L-suffix-from-man-page-sections.patch create mode 100644 pkg/unzip/patch/0002-Handle-the-PKWare-verification-bit-of-internal-attri.patch create mode 100644 pkg/unzip/patch/0003-Restore-uid-and-gid-information-when-requested.patch create mode 100644 pkg/unzip/patch/0004-Initialize-the-symlink-flag.patch create mode 100644 pkg/unzip/patch/0005-Increase-size-of-cfactorstr-array-to-avoid-buffer-ov.patch create mode 100644 pkg/unzip/patch/0006-zipinfo.c-Do-not-crash-when-hostver-byte-is-100.patch create mode 100644 pkg/unzip/patch/0007-Fix-CVE-2014-8139-CRC32-verification-heap-based-over.patch create mode 100644 pkg/unzip/patch/0008-Fix-CVE-2014-8140-out-of-bounds-write-issue-in-test_.patch create mode 100644 pkg/unzip/patch/0009-Fix-CVE-2014-8141-out-of-bounds-read-issues-in-getZi.patch create mode 100644 pkg/unzip/patch/0010-Info-ZIP-UnZip-buffer-overflow.patch create mode 100644 pkg/unzip/patch/0011-Upstream-fix-for-heap-overflow.patch create mode 100644 pkg/unzip/patch/0012-fix-infinite-loop-when-extracting-empty-bzip2-data.patch create mode 100644 pkg/unzip/patch/0013-extract-prevent-unsigned-overflow-on-invalid-input.patch create mode 100644 pkg/unzip/rev create mode 100644 pkg/unzip/sha256 create mode 100644 pkg/unzip/url create mode 100644 pkg/util-linux/config.h create mode 100644 pkg/util-linux/gen.rc create mode 100644 pkg/util-linux/rev create mode 160000 pkg/util-linux/src create mode 100644 pkg/velox/gen.rc create mode 100644 pkg/velox/rev create mode 160000 pkg/velox/src create mode 100644 pkg/vis/gen.rc create mode 100644 pkg/vis/patch/0001-Allow-building-lpeg-statically.patch create mode 100644 pkg/vis/patch/0002-Set-default-theme-to-dark-16.patch create mode 100644 pkg/vis/rev create mode 160000 pkg/vis/src create mode 100644 pkg/wayland-protocols/gen.rc create mode 100644 pkg/wayland-protocols/rev create mode 160000 pkg/wayland-protocols/src create mode 100644 pkg/wayland/config.h create mode 100644 pkg/wayland/gen.rc create mode 100644 pkg/wayland/rev create mode 160000 pkg/wayland/src create mode 100644 pkg/wld/gen.rc create mode 100644 pkg/wld/rev create mode 160000 pkg/wld/src create mode 100644 pkg/xkeyboard-config/gen.rc create mode 100644 pkg/xkeyboard-config/rev create mode 160000 pkg/xkeyboard-config/src create mode 100644 pkg/xz/config.h create mode 100644 pkg/xz/gen.rc create mode 100644 pkg/xz/rev create mode 160000 pkg/xz/src create mode 100644 pkg/youtube-dl/gen.rc create mode 100644 pkg/youtube-dl/patch/0001-Disable-use-of-ctypes-and-dynamic-loading.patch create mode 100644 pkg/youtube-dl/pylibs.txt create mode 100644 pkg/youtube-dl/rev create mode 160000 pkg/youtube-dl/src create mode 100644 pkg/zlib/gen.rc create mode 100644 pkg/zlib/rev create mode 160000 pkg/zlib/src (limited to 'pkg') diff --git a/pkg/alsa-lib/alsa/asoundlib.h b/pkg/alsa-lib/alsa/asoundlib.h new file mode 100644 index 00000000..1c2560f2 --- /dev/null +++ b/pkg/alsa-lib/alsa/asoundlib.h @@ -0,0 +1,63 @@ +/** + * \file include/asoundlib.h + * \brief Application interface library for the ALSA driver + * \author Jaroslav Kysela + * \author Abramo Bagnara + * \author Takashi Iwai + * \date 1998-2001 + * + * Application interface library for the ALSA driver + */ +/* + * 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 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 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ + +#ifndef __ASOUNDLIB_H +#define __ASOUNDLIB_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifndef __GNUC__ +#define __inline__ inline +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#endif /* __ASOUNDLIB_H */ diff --git a/pkg/alsa-lib/alsa/version.h b/pkg/alsa-lib/alsa/version.h new file mode 100644 index 00000000..d7c11cbc --- /dev/null +++ b/pkg/alsa-lib/alsa/version.h @@ -0,0 +1,15 @@ +/* + * version.h + */ + +#define SND_LIB_MAJOR 1 /**< major number of library version */ +#define SND_LIB_MINOR 1 /**< minor number of library version */ +#define SND_LIB_SUBMINOR 1 /**< subminor number of library version */ +#define SND_LIB_EXTRAVER 1000000 /**< extra version number, used mainly for betas */ +/** library version */ +#define SND_LIB_VERSION ((SND_LIB_MAJOR<<16)|\ + (SND_LIB_MINOR<<8)|\ + SND_LIB_SUBMINOR) +/** library version (string) */ +#define SND_LIB_VERSION_STR "1.1.1" + diff --git a/pkg/alsa-lib/config.h b/pkg/alsa-lib/config.h new file mode 100644 index 00000000..82f9e706 --- /dev/null +++ b/pkg/alsa-lib/config.h @@ -0,0 +1,71 @@ +#include + +#define ALOAD_DEVICE_DIRECTORY "/dev/" +#define ALSA_CONFIG_DIR "/share/alsa" +/* #undef ALSA_DEBUG_ASSERT */ +#define ALSA_DEVICE_DIRECTORY "/dev/snd/" +#define ALSA_PKGCONF_DIR "/lib/pkgconfig" +#define ALSA_PLUGIN_DIR "/lib/alsa-lib" +/* #undef BUILD_HWDEP */ +#define BUILD_MIXER "1" +#define BUILD_PCM "1" +#define BUILD_PCM_PLUGIN_ADPCM 1 +#define BUILD_PCM_PLUGIN_ALAW 1 +#define BUILD_PCM_PLUGIN_LFLOAT 1 +#define BUILD_PCM_PLUGIN_MMAP_EMUL 1 +#define BUILD_PCM_PLUGIN_MULAW 1 +#define BUILD_PCM_PLUGIN_RATE 1 +#define BUILD_PCM_PLUGIN_ROUTE 1 +/* #undef BUILD_RAWMIDI */ +#define BUILD_SEQ "1" +#define BUILD_TOPOLOGY "1" +#define BUILD_UCM "1" +#define HAVE_ENDIAN_H 1 +/* #undef HAVE_LIBDL */ +#define HAVE_LIBPTHREAD 1 +/* #undef HAVE_LIBRESMGR */ +#define HAVE_LIBRT 1 +#define HAVE_MEMORY_H 1 +/* #undef HAVE_SOFT_FLOAT */ +/* #undef HAVE_SYS_ENDIAN_H */ +#define HAVE___THREAD 1 +#define LT_OBJDIR ".libs/" +/* #undef NDEBUG */ +#define PACKAGE "alsa-lib" +#define PACKAGE_BUGREPORT "" +#define PACKAGE_NAME "alsa-lib" +#define PACKAGE_STRING "alsa-lib 1.1.2" +#define PACKAGE_TARNAME "alsa-lib" +#define PACKAGE_URL "" +#define PACKAGE_VERSION "1.1.2" +#define SND_MAX_CARDS 32 +#define SUPPORT_ALOAD "1" +/* #undef SUPPORT_RESMGR */ +#define THREAD_SAFE_API "1" +#define TIME_WITH_SYS_TIME 1 +#define TMPDIR "/tmp" +#ifndef _ALL_SOURCE +# define _ALL_SOURCE 1 +#endif +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif +#ifndef _POSIX_PTHREAD_SEMANTICS +# define _POSIX_PTHREAD_SEMANTICS 1 +#endif +#ifndef _TANDEM_SOURCE +# define _TANDEM_SOURCE 1 +#endif +#ifndef __EXTENSIONS__ +# define __EXTENSIONS__ 1 +#endif +#define VERSION "1.1.2" +#define VERSIONED_SYMBOLS /**/ +/* #undef _MINIX */ +/* #undef _POSIX_1_SOURCE */ +/* #undef _POSIX_SOURCE */ +#define __SYMBOL_PREFIX "" +/* #undef const */ +#ifndef __cplusplus +/* #undef inline */ +#endif diff --git a/pkg/alsa-lib/ctl_symbols_list.c b/pkg/alsa-lib/ctl_symbols_list.c new file mode 100644 index 00000000..6731168b --- /dev/null +++ b/pkg/alsa-lib/ctl_symbols_list.c @@ -0,0 +1,2 @@ +&_snd_module_control_shm, +&_snd_module_control_ext, diff --git a/pkg/alsa-lib/gen.rc b/pkg/alsa-lib/gen.rc new file mode 100644 index 00000000..88157433 --- /dev/null +++ b/pkg/alsa-lib/gen.rc @@ -0,0 +1,144 @@ +cflags\ + -I include\ + -I '$dir' \ + -I '$dir'/alsa\ + -I '$srcdir'/include + +hdrs=(\ + asoundef.h\ + global.h input.h output.h error.h\ + conf.h control.h\ + pcm.h pcm_old.h timer.h\ + pcm_plugin.h\ + pcm_rate.h\ + pcm_external.h pcm_extplug.h\ + pcm_ioplug.h\ + mixer.h mixer_abst.h\ + seq_event.h seq.h seqmid.h seq_midi_event.h\ +) +for(hdr in $hdrs) + build '$outdir'/include/alsa/$hdr copy '$srcdir'/include/$hdr +for(hdr in asoundlib.h version.h) + build '$outdir'/include/alsa/$hdr copy '$dir'/alsa/$hdr +phony headers '$outdir'/include/alsa/^($hdrs asoundlib.h version.h) + +lib libasound.a src/^(\ + conf.c confmisc.c input.c output.c async.c error.c dlmisc.c socket.c shmarea.c userfile.c names.c\ + control/^(\ + cards.c tlv.c namehint.c hcontrol.c\ + control.c control_hw.c setup.c ctlparse.c\ + control_symbols.c\ + control_shm.c\ + control_ext.c\ + )\ + mixer/^(bag.c mixer.c simple.c simple_none.c)\ + pcm/^(\ + mask.c interval.c\ + pcm.c pcm_params.c pcm_simple.c\ + pcm_hw.c pcm_misc.c pcm_mmap.c pcm_symbols.c\ + pcm_generic.c pcm_plugin.c\ + pcm_copy.c\ + pcm_linear.c\ + pcm_route.c\ + pcm_mulaw.c\ + pcm_alaw.c\ + pcm_adpcm.c\ + pcm_rate.c pcm_rate_linear.c\ + pcm_plug.c\ + pcm_multi.c\ + pcm_shm.c\ + pcm_file.c\ + pcm_null.c\ + pcm_empty.c\ + pcm_share.c\ + pcm_meter.c\ + pcm_hooks.c\ + pcm_lfloat.c\ + pcm_dmix.c\ + pcm_dshare.c\ + pcm_dsnoop.c\ + pcm_direct.c\ + pcm_asym.c\ + pcm_iec958.c\ + pcm_softvol.c\ + pcm_extplug.c\ + pcm_ioplug.c\ + pcm_mmap_emul.c\ + )\ + timer/^(\ + timer.c timer_hw.c timer_query.c timer_query_hw.c\ + timer_symbols.c\ + )\ +) + +conf=(\ + alsa.conf\ + cards/^(\ + aliases.conf\ + AACI.conf\ + ATIIXP.conf\ + ATIIXP-SPDMA.conf\ + ATIIXP-MODEM.conf\ + AU8810.conf\ + AU8820.conf\ + AU8830.conf\ + Audigy.conf\ + Audigy2.conf\ + Aureon51.conf\ + Aureon71.conf\ + CA0106.conf\ + CMI8338.conf\ + CMI8338-SWIEC.conf\ + CMI8738-MC6.conf\ + CMI8738-MC8.conf\ + CMI8788.conf\ + CS46xx.conf\ + Echo_Echo3G.conf\ + EMU10K1.conf\ + EMU10K1X.conf\ + ENS1370.conf\ + ENS1371.conf\ + ES1968.conf\ + FM801.conf\ + FWSpeakers.conf\ + FireWave.conf\ + GUS.conf\ + HDA-Intel.conf\ + ICE1712.conf\ + ICE1724.conf\ + ICH.conf\ + ICH4.conf\ + ICH-MODEM.conf\ + Loopback.conf\ + Maestro3.conf\ + NFORCE.conf\ + PC-Speaker.conf\ + PMac.conf\ + PMacToonie.conf\ + PS3.conf\ + RME9636.conf\ + RME9652.conf\ + SI7018.conf\ + SB-XFi.conf\ + TRID4DWAVENX.conf\ + USB-Audio.conf\ + YMF744.conf\ + VIA686A.conf\ + VIA8233.conf\ + VIA8233A.conf\ + VIA8237.conf\ + VX222.conf\ + VXPocket.conf\ + VXPocket440.conf\ + )\ + pcm/^(\ + default.conf front.conf rear.conf center_lfe.conf side.conf\ + surround21.conf surround40.conf surround41.conf\ + surround50.conf surround51.conf\ + surround71.conf iec958.conf hdmi.conf modem.conf\ + dmix.conf dsnoop.conf\ + dpl.conf\ + )\ +) for(f in $conf) file share/alsa/$f '$srcdir'/src/conf/$f 644 + +fetch git diff --git a/pkg/alsa-lib/patch/0001-Fix-poll.h-includes.patch b/pkg/alsa-lib/patch/0001-Fix-poll.h-includes.patch new file mode 100644 index 00000000..b4dc2291 --- /dev/null +++ b/pkg/alsa-lib/patch/0001-Fix-poll.h-includes.patch @@ -0,0 +1,178 @@ +From 005c1bcf8cd87091af1106b85fb6cd39cac819ab Mon Sep 17 00:00:00 2001 +From: Michael Forney +Date: Fri, 1 Jul 2016 20:08:30 -0700 +Subject: [PATCH] Fix poll.h includes + +--- + aserver/aserver.c | 2 +- + include/asoundlib-head.h | 2 +- + include/local.h | 2 +- + src/control/control.c | 2 +- + src/control/control_shm.c | 2 +- + src/pcm/pcm.c | 2 +- + src/pcm/pcm_direct.c | 2 +- + src/pcm/pcm_mmap.c | 2 +- + src/pcm/pcm_share.c | 2 +- + src/pcm/pcm_shm.c | 2 +- + src/seq/seq.c | 2 +- + src/shmarea.c | 2 +- + 12 files changed, 12 insertions(+), 12 deletions(-) + +diff --git a/aserver/aserver.c b/aserver/aserver.c +index ac20706..46f731a 100644 +--- a/aserver/aserver.c ++++ b/aserver/aserver.c +@@ -20,7 +20,7 @@ + + #include + #include +-#include ++#include + #include + #include + #include +diff --git a/include/asoundlib-head.h b/include/asoundlib-head.h +index 1ec611e..21e32c6 100644 +--- a/include/asoundlib-head.h ++++ b/include/asoundlib-head.h +@@ -35,6 +35,6 @@ + #include + #include + #include +-#include ++#include + #include + #include +diff --git a/include/local.h b/include/local.h +index 317f2e3..6a43a47 100644 +--- a/include/local.h ++++ b/include/local.h +@@ -47,7 +47,7 @@ + #error Header defining endianness not defined + #endif + #include +-#include ++#include + #include + #include + #if defined(__linux__) +diff --git a/src/control/control.c b/src/control/control.c +index 6c00b8e..fd0c303 100644 +--- a/src/control/control.c ++++ b/src/control/control.c +@@ -90,7 +90,7 @@ I/O operations. + #include + #include + #include +-#include ++#include + #include + #include "control_local.h" + +diff --git a/src/control/control_shm.c b/src/control/control_shm.c +index bd07d4a..9a2e268 100644 +--- a/src/control/control_shm.c ++++ b/src/control/control_shm.c +@@ -27,7 +27,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + #include +diff --git a/src/pcm/pcm.c b/src/pcm/pcm.c +index f832399..e9d502a 100644 +--- a/src/pcm/pcm.c ++++ b/src/pcm/pcm.c +@@ -650,7 +650,7 @@ playback devices. + #include + #include + #include +-#include ++#include + #include + #include + #include "pcm_local.h" +diff --git a/src/pcm/pcm_direct.c b/src/pcm/pcm_direct.c +index c3925cc..18f1dd5 100644 +--- a/src/pcm/pcm_direct.c ++++ b/src/pcm/pcm_direct.c +@@ -30,7 +30,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + #include +diff --git a/src/pcm/pcm_mmap.c b/src/pcm/pcm_mmap.c +index 1948289..4cf220a 100644 +--- a/src/pcm/pcm_mmap.c ++++ b/src/pcm/pcm_mmap.c +@@ -22,7 +22,7 @@ + #include + #include + #include +-#include ++#include + #include + #ifdef HAVE_SYS_SHM_H + #include +diff --git a/src/pcm/pcm_share.c b/src/pcm/pcm_share.c +index 5d8aaf2..21a57fc 100644 +--- a/src/pcm/pcm_share.c ++++ b/src/pcm/pcm_share.c +@@ -34,7 +34,7 @@ + #include + #include + #include +-#include ++#include + #include + #include "pcm_local.h" + +diff --git a/src/pcm/pcm_shm.c b/src/pcm/pcm_shm.c +index a815ac6..4ee958c 100644 +--- a/src/pcm/pcm_shm.c ++++ b/src/pcm/pcm_shm.c +@@ -36,7 +36,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + #include +diff --git a/src/seq/seq.c b/src/seq/seq.c +index 9279830..d2027cb 100644 +--- a/src/seq/seq.c ++++ b/src/seq/seq.c +@@ -777,7 +777,7 @@ void event_filter(snd_seq_t *seq, snd_seq_event_t *ev) + + */ + +-#include ++#include + #include "seq_local.h" + + /**************************************************************************** +diff --git a/src/shmarea.c b/src/shmarea.c +index 9843aa8..eaa71f0 100644 +--- a/src/shmarea.c ++++ b/src/shmarea.c +@@ -27,7 +27,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + #include "list.h" +-- +2.9.2 + diff --git a/pkg/alsa-lib/patch/0002-Add-include-alsa-symlink.patch b/pkg/alsa-lib/patch/0002-Add-include-alsa-symlink.patch new file mode 100644 index 00000000..915378df --- /dev/null +++ b/pkg/alsa-lib/patch/0002-Add-include-alsa-symlink.patch @@ -0,0 +1,21 @@ +From e834c59dad7123ffe0fc1d27d4ee4be08f95e328 Mon Sep 17 00:00:00 2001 +From: Michael Forney +Date: Fri, 1 Jul 2016 20:09:02 -0700 +Subject: [PATCH] Add include/alsa symlink + +--- + include/alsa | 1 + + 1 file changed, 1 insertion(+) + create mode 120000 include/alsa + +diff --git a/include/alsa b/include/alsa +new file mode 120000 +index 0000000..945c9b4 +--- /dev/null ++++ b/include/alsa +@@ -0,0 +1 @@ ++. +\ No newline at end of file +-- +2.9.0 + diff --git a/pkg/alsa-lib/patch/0003-pcm_plug-Clear-plugins-on-all-error-conditions.patch b/pkg/alsa-lib/patch/0003-pcm_plug-Clear-plugins-on-all-error-conditions.patch new file mode 100644 index 00000000..158c53c4 --- /dev/null +++ b/pkg/alsa-lib/patch/0003-pcm_plug-Clear-plugins-on-all-error-conditions.patch @@ -0,0 +1,31 @@ +From 1b7b58ebe989053af06a7ee800ff6f20899aab8d Mon Sep 17 00:00:00 2001 +From: Michael Forney +Date: Tue, 18 Oct 2016 20:14:35 -0700 +Subject: [PATCH] pcm_plug: Clear plugins on all error conditions + +Otherwise, they will linger after the error is returned (but pcm->setup == 0). +Then, if the caller tries to clean up and call snd_pcm_close(), the assertion +plug->gen.slave == plug->req_slave will fail. +--- + src/pcm/pcm_plug.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/pcm/pcm_plug.c b/src/pcm/pcm_plug.c +index 5639b9e..266707b 100644 +--- a/src/pcm/pcm_plug.c ++++ b/src/pcm/pcm_plug.c +@@ -652,8 +652,10 @@ static int snd_pcm_plug_insert_plugins(snd_pcm_t *pcm, + (plug->ttable && !plug->ttable_ok)) { + snd_pcm_t *new; + int err; +- if (k >= sizeof(funcs)/sizeof(*funcs)) ++ if (k >= sizeof(funcs)/sizeof(*funcs)) { ++ snd_pcm_plug_clear(pcm); + return -EINVAL; ++ } + err = funcs[k](pcm, &new, client, &p); + if (err < 0) { + snd_pcm_plug_clear(pcm); +-- +2.10.1 + diff --git a/pkg/alsa-lib/pcm_symbols_list.c b/pkg/alsa-lib/pcm_symbols_list.c new file mode 100644 index 00000000..53b07bb5 --- /dev/null +++ b/pkg/alsa-lib/pcm_symbols_list.c @@ -0,0 +1,25 @@ +&_snd_module_pcm_copy, +&_snd_module_pcm_linear, +&_snd_module_pcm_route, +&_snd_module_pcm_mulaw, +&_snd_module_pcm_alaw, +&_snd_module_pcm_adpcm, +&_snd_module_pcm_rate, +&_snd_module_pcm_plug, +&_snd_module_pcm_multi, +&_snd_module_pcm_shm, +&_snd_module_pcm_file, +&_snd_module_pcm_null, +&_snd_module_pcm_empty, +&_snd_module_pcm_share, +&_snd_module_pcm_hooks, +&_snd_module_pcm_lfloat, +&_snd_module_pcm_dmix, +&_snd_module_pcm_dshare, +&_snd_module_pcm_dsnoop, +&_snd_module_pcm_asym, +&_snd_module_pcm_iec958, +&_snd_module_pcm_softvol, +&_snd_module_pcm_extplug, +&_snd_module_pcm_ioplug, +&_snd_module_pcm_mmap_emul, diff --git a/pkg/alsa-lib/rev b/pkg/alsa-lib/rev new file mode 100644 index 00000000..0cfbf088 --- /dev/null +++ b/pkg/alsa-lib/rev @@ -0,0 +1 @@ +2 diff --git a/pkg/alsa-lib/src b/pkg/alsa-lib/src new file mode 160000 index 00000000..1bf14401 --- /dev/null +++ b/pkg/alsa-lib/src @@ -0,0 +1 @@ +Subproject commit 1bf144013cffdeb41a5df3a11a8eb2596c5ea2b5 diff --git a/pkg/alsa-utils/aconfig.h b/pkg/alsa-utils/aconfig.h new file mode 100644 index 00000000..2d82c61e --- /dev/null +++ b/pkg/alsa-utils/aconfig.h @@ -0,0 +1,48 @@ +#include + +#define DATADIR "/share/alsa" +/* #undef ENABLE_NLS */ +/* #undef ENABLE_NLS_IN_CURSES */ +#define HAVE_ALSA_MIXER_H 1 +#define HAVE_ALSA_PCM_H 1 +#define HAVE_ALSA_RAWMIDI_H 1 +#define HAVE_ALSA_SEQ_H 1 +/* #undef HAVE_ALSA_TOPOLOGY_H */ +#define HAVE_ALSA_USE_CASE_H 1 +/* #undef HAVE_CFLOCALECOPYCURRENT */ +/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ +/* #undef HAVE_CURSES_ESCDELAY */ +/* #undef HAVE_DCGETTEXT */ +/* #undef HAVE_FORM_H */ +/* #undef HAVE_GETTEXT */ +#define HAVE_LIBASOUND 1 +/* #undef HAVE_LIBFFTW3F */ +#define HAVE_LIBM 1 +#define HAVE_LIBPTHREAD 1 +#define HAVE_LIBRT 1 +/* #undef HAVE_LIBTINYALSA */ +/* #undef HAVE_MEMORY_H */ +/* #undef HAVE_MENU_H */ +/* #undef HAVE_PANEL_H */ +/* #undef HAVE_SAMPLERATE_H */ +/* #undef HAVE_SEQ_CLIENT_INFO_GET_CARD */ +/* #undef HAVE_SEQ_CLIENT_INFO_GET_PID */ +#define PACKAGE "alsa-utils" +#define PACKAGE_BUGREPORT "" +#define PACKAGE_NAME "alsa-utils" +#define PACKAGE_STRING "alsa-utils 1.1.2" +#define PACKAGE_TARNAME "alsa-utils" +#define PACKAGE_URL "" +#define PACKAGE_VERSION "1.1.2" +#define SOUNDSDIR "/share/sounds/alsa" +#define TIME_WITH_SYS_TIME 1 +#define VERSION "1.1.2" +#ifndef _DARWIN_USE_64_BIT_INODE +# define _DARWIN_USE_64_BIT_INODE 1 +#endif +/* #undef _FILE_OFFSET_BITS */ +/* #undef _LARGE_FILES */ +/* #undef const */ +#ifndef __cplusplus +/* #undef inline */ +#endif diff --git a/pkg/alsa-utils/gen.rc b/pkg/alsa-utils/gen.rc new file mode 100644 index 00000000..957ef4f6 --- /dev/null +++ b/pkg/alsa-utils/gen.rc @@ -0,0 +1,21 @@ +cflags\ + -isystem '$builddir'/pkg/alsa-lib/include\ + -I include\ + -I '$dir' \ + -I '$srcdir'/include + +fn x { + name=$1 + shift + exe bin/$name -d pkg/alsa-lib/headers $*\ + '$builddir'/pkg/alsa-lib/libasound.a + file bin/$name '$outdir'/bin/$name 755 + file share/man/man1/$name.1 '$srcdir'/$name/$name.1 644 +} + +x amixer amixer/amixer.c alsamixer/volume_mapping.c +x aplay aplay/aplay.c +sym bin/arecord aplay +sym share/man/man1/arecord.1 aplay.1 + +fetch git diff --git a/pkg/alsa-utils/patch/0001-Include-poll.h-instead-of-sys-poll.h.patch b/pkg/alsa-utils/patch/0001-Include-poll.h-instead-of-sys-poll.h.patch new file mode 100644 index 00000000..6423a770 --- /dev/null +++ b/pkg/alsa-utils/patch/0001-Include-poll.h-instead-of-sys-poll.h.patch @@ -0,0 +1,81 @@ +From 16fb793861d8833c81b4a7bb0eb8372099699772 Mon Sep 17 00:00:00 2001 +From: Michael Forney +Date: Sat, 2 Jul 2016 23:48:43 -0700 +Subject: [PATCH] Include poll.h instead of sys/poll.h + +--- + amidi/amidi.c | 2 +- + amixer/amixer.c | 2 +- + aplay/aplay.c | 2 +- + seq/aplaymidi/arecordmidi.c | 2 +- + seq/aseqdump/aseqdump.c | 2 +- + 5 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/amidi/amidi.c b/amidi/amidi.c +index cedf18c..46f5767 100644 +--- a/amidi/amidi.c ++++ b/amidi/amidi.c +@@ -29,7 +29,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + #include +diff --git a/amixer/amixer.c b/amixer/amixer.c +index f9b09cb..8241148 100644 +--- a/amixer/amixer.c ++++ b/amixer/amixer.c +@@ -28,7 +28,7 @@ + #include + #include + #include +-#include ++#include + #include + #include "amixer.h" + #include "../alsamixer/volume_mapping.h" +diff --git a/aplay/aplay.c b/aplay/aplay.c +index 2da7dda..172287b 100644 +--- a/aplay/aplay.c ++++ b/aplay/aplay.c +@@ -43,7 +43,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + #include +diff --git a/seq/aplaymidi/arecordmidi.c b/seq/aplaymidi/arecordmidi.c +index 9628086..1c25fa2 100644 +--- a/seq/aplaymidi/arecordmidi.c ++++ b/seq/aplaymidi/arecordmidi.c +@@ -27,7 +27,7 @@ + #include + #include + #include +-#include ++#include + #include + #include "aconfig.h" + #include "version.h" +diff --git a/seq/aseqdump/aseqdump.c b/seq/aseqdump/aseqdump.c +index 24c5d21..05892e0 100644 +--- a/seq/aseqdump/aseqdump.c ++++ b/seq/aseqdump/aseqdump.c +@@ -25,7 +25,7 @@ + #include + #include + #include +-#include ++#include + #include + #include "aconfig.h" + #include "version.h" +-- +2.9.2 + diff --git a/pkg/alsa-utils/patch/0002-amixer.h-Just-include-version.h.patch b/pkg/alsa-utils/patch/0002-amixer.h-Just-include-version.h.patch new file mode 100644 index 00000000..83cf3821 --- /dev/null +++ b/pkg/alsa-utils/patch/0002-amixer.h-Just-include-version.h.patch @@ -0,0 +1,22 @@ +From be89553bd363678ab75c44b8e0630920aba52987 Mon Sep 17 00:00:00 2001 +From: Michael Forney +Date: Sun, 3 Jul 2016 00:01:24 -0700 +Subject: [PATCH] amixer.h: Just include "version.h" + +--- + amixer/amixer.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/amixer/amixer.h b/amixer/amixer.h +index 3588f04..0daa5b7 100644 +--- a/amixer/amixer.h ++++ b/amixer/amixer.h +@@ -18,4 +18,4 @@ + * + */ + +-#include "../include/version.h" ++#include "version.h" +-- +2.9.2 + diff --git a/pkg/alsa-utils/rev b/pkg/alsa-utils/rev new file mode 100644 index 00000000..0cfbf088 --- /dev/null +++ b/pkg/alsa-utils/rev @@ -0,0 +1 @@ +2 diff --git a/pkg/alsa-utils/src b/pkg/alsa-utils/src new file mode 160000 index 00000000..675619eb --- /dev/null +++ b/pkg/alsa-utils/src @@ -0,0 +1 @@ +Subproject commit 675619eb295f8eb35903ef227e6939a86d8c1e7f diff --git a/pkg/alsa-utils/version.h b/pkg/alsa-utils/version.h new file mode 100644 index 00000000..991790bc --- /dev/null +++ b/pkg/alsa-utils/version.h @@ -0,0 +1,12 @@ +/* + * version.h + */ + +#define SND_UTIL_MAJOR 1 +#define SND_UTIL_MINOR 1 +#define SND_UTIL_SUBMINOR 2 +#define SND_UTIL_VERSION ((SND_UTIL_MAJOR<<16)|\ + (SND_UTIL_MINOR<<8)|\ + SND_UTIL_SUBMINOR) +#define SND_UTIL_VERSION_STR "1.1.2" + diff --git a/pkg/awk/.gitignore b/pkg/awk/.gitignore new file mode 100644 index 00000000..012dc66e --- /dev/null +++ b/pkg/awk/.gitignore @@ -0,0 +1 @@ +/tools.ninja diff --git a/pkg/awk/gen.rc b/pkg/awk/gen.rc new file mode 100644 index 00000000..9d9b3a2e --- /dev/null +++ b/pkg/awk/gen.rc @@ -0,0 +1,25 @@ +cflags\ + '-std=c90' \ + -D '_POSIX_C_SOURCE=200809L' \ + -I '$outdir' \ + -I '$srcdir' + +yacc gram '$srcdir'/awkgram.y +build '$outdir'/ytab.h copy '$outdir'/gram.tab.h + +{ + include 'toolchain/$host_toolchain.ninja' + cflags -I '$outdir' + exe maketab -d '$outdir'/ytab.h maketab.c +} >tools.ninja ; subninja tools.ninja + +rule maketab '(cd $outdir && ./maketab) >$out.tmp && mv $out.tmp $out' +build '$outdir'/proctab.c maketab '|' '$outdir'/^(maketab ytab.h) + +exe awk -d '$outdir'/ytab.h\ + b.c main.c parse.c tran.c lib.c run.c lex.c\ + '$outdir'/^(gram.tab.c proctab.c) +file bin/awk '$outdir'/awk 755 +file share/man/man1/awk.1 '$srcdir'/awk.1 644 + +fetch git diff --git a/pkg/awk/patch/0001-maketab-Only-consider-define-lines-that-match-the-ex.patch b/pkg/awk/patch/0001-maketab-Only-consider-define-lines-that-match-the-ex.patch new file mode 100644 index 00000000..cf62346a --- /dev/null +++ b/pkg/awk/patch/0001-maketab-Only-consider-define-lines-that-match-the-ex.patch @@ -0,0 +1,26 @@ +From dd4904dd150f9dfa2c3ca0392d6870c85fc14c26 Mon Sep 17 00:00:00 2001 +From: Michael Forney +Date: Sat, 10 Dec 2016 19:57:39 -0800 +Subject: [PATCH] maketab: Only consider #define lines that match the expected + form + +--- + maketab.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/maketab.c b/maketab.c +index 31acd75..63208c8 100644 +--- a/maketab.c ++++ b/maketab.c +@@ -132,7 +132,7 @@ int main(int argc, char *argv[]) + i = 0; + while (fgets(buf, sizeof buf, fp) != NULL) { + n = sscanf(buf, "%1c %s %s %d", &c, def, name, &tok); +- if (c != '#' || (n != 4 && strcmp(def,"define") != 0)) /* not a valid #define */ ++ if (c != '#' || n != 4 || strcmp(def,"define") != 0) /* not a valid #define */ + continue; + if (tok < FIRSTTOKEN || tok > LASTTOKEN) { + /* fprintf(stderr, "maketab funny token %d %s ignored\n", tok, buf); */ +-- +2.11.0 + diff --git a/pkg/awk/rev b/pkg/awk/rev new file mode 100644 index 00000000..0cfbf088 --- /dev/null +++ b/pkg/awk/rev @@ -0,0 +1 @@ +2 diff --git a/pkg/awk/src b/pkg/awk/src new file mode 160000 index 00000000..e37f882d --- /dev/null +++ b/pkg/awk/src @@ -0,0 +1 @@ +Subproject commit e37f882d7273c61cb0b33c47d5fed3801ad38a6b diff --git a/pkg/bc/.gitignore b/pkg/bc/.gitignore new file mode 100644 index 00000000..dce428a7 --- /dev/null +++ b/pkg/bc/.gitignore @@ -0,0 +1,2 @@ +/bc-1.06.95.tar.bz2 +/src diff --git a/pkg/bc/config.h b/pkg/bc/config.h new file mode 100644 index 00000000..35627d41 --- /dev/null +++ b/pkg/bc/config.h @@ -0,0 +1,40 @@ +#include + +#define BC_COPYRIGHT "Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc." +#define DC_COPYRIGHT "Copyright 1994, 1997, 1998, 2000, 2001, 2004, 2005, 2006 Free Software Foundation, Inc." +#define DC_VERSION "1.3.95" +/* #undef HAVE_DOPRNT */ +/* #undef HAVE_LIB_H */ +#define HAVE_MEMORY_H 1 +/* #undef LIBEDIT */ +#define PACKAGE "bc" +#define PACKAGE_BUGREPORT "" +#define PACKAGE_NAME "bc" +#define PACKAGE_STRING "bc 1.06.95" +#define PACKAGE_TARNAME "bc" +#define PACKAGE_URL "" +#define PACKAGE_VERSION "1.06.95" +/* #undef READLINE */ +#ifndef _ALL_SOURCE +# define _ALL_SOURCE 1 +#endif +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif +#ifndef _POSIX_PTHREAD_SEMANTICS +# define _POSIX_PTHREAD_SEMANTICS 1 +#endif +#ifndef _TANDEM_SOURCE +# define _TANDEM_SOURCE 1 +#endif +#ifndef __EXTENSIONS__ +# define __EXTENSIONS__ 1 +#endif +#define VERSION "1.06.95" +/* #undef YYTEXT_POINTER */ +/* #undef _MINIX */ +/* #undef _POSIX_1_SOURCE */ +/* #undef _POSIX_SOURCE */ +/* #undef const */ +/* #undef ptrdiff_t */ +/* #undef size_t */ diff --git a/pkg/bc/gen.rc b/pkg/bc/gen.rc new file mode 100644 index 00000000..c75aff92 --- /dev/null +++ b/pkg/bc/gen.rc @@ -0,0 +1,12 @@ +cflags\ + -D HAVE_CONFIG_H\ + -isystem include\ + -I '$dir' \ + -I '$srcdir'/h + +lib libbc.a lib/number.c +exe bin/bc bc/^(main.c bc.c scan.c execute.c load.c storage.c util.c global.c warranty.c) libbc.a +file bin/bc '$outdir'/bin/bc 755 +file share/man/man1/bc.1 '$srcdir'/doc/bc.1 644 + +fetch curl diff --git a/pkg/bc/patch/0001-Fix-use-of-uninitialized-f_void.patch b/pkg/bc/patch/0001-Fix-use-of-uninitialized-f_void.patch new file mode 100644 index 00000000..2b91dc9b --- /dev/null +++ b/pkg/bc/patch/0001-Fix-use-of-uninitialized-f_void.patch @@ -0,0 +1,25 @@ +From 359f44a3a0605c94d57f35e4de39e6028dce018f Mon Sep 17 00:00:00 2001 +From: Michael Forney +Date: Sun, 12 Jun 2016 20:12:28 -0700 +Subject: [PATCH] Fix use of uninitialized f_void + +See http://www.pixelbeat.org/programming/oss_bug_flow.html. +--- + bc/storage.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/bc/storage.c b/bc/storage.c +index 699729a..37b4c6c 100644 +--- a/bc/storage.c ++++ b/bc/storage.c +@@ -99,6 +99,7 @@ more_functions (VOID) + { + f = &functions[indx]; + f->f_defined = FALSE; ++ f->f_void = FALSE; + f->f_body = (char *) bc_malloc (BC_START_SIZE); + f->f_body_size = BC_START_SIZE; + f->f_code_size = 0; +-- +2.8.1 + diff --git a/pkg/bc/rev b/pkg/bc/rev new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/pkg/bc/rev @@ -0,0 +1 @@ +1 diff --git a/pkg/bc/sha256 b/pkg/bc/sha256 new file mode 100644 index 00000000..5aebdc1f --- /dev/null +++ b/pkg/bc/sha256 @@ -0,0 +1 @@ +7ee4abbcfac03d8a6e1a8a3440558a3d239d6b858585063e745c760957725ecc bc-1.06.95.tar.bz2 diff --git a/pkg/bc/url b/pkg/bc/url new file mode 100644 index 00000000..29e9268a --- /dev/null +++ b/pkg/bc/url @@ -0,0 +1 @@ +url = "http://alpha.gnu.org/gnu/bc/bc-1.06.95.tar.bz2" diff --git a/pkg/bzip2/.gitignore b/pkg/bzip2/.gitignore new file mode 100644 index 00000000..fc553f38 --- /dev/null +++ b/pkg/bzip2/.gitignore @@ -0,0 +1,2 @@ +/bzip2-1.0.6.tar.gz +/src diff --git a/pkg/bzip2/gen.rc b/pkg/bzip2/gen.rc new file mode 100644 index 00000000..5cd9c64c --- /dev/null +++ b/pkg/bzip2/gen.rc @@ -0,0 +1,12 @@ +cflags\ + -Wall -Winline\ + -D '_FILE_OFFSET_BITS=64' + +lib libbz2.a blocksort.c huffman.c crctable.c randtable.c compress.c decompress.c bzlib.c +exe bzip2 bzip2.c libbz2.a + +file bin/bzip2 '$outdir'/bzip2 755 +file share/man/man1/bzip2.1 '$srcdir'/bzip2.1 644 +sym bin/bzcat bzip2 + +fetch curl diff --git a/pkg/bzip2/patch/0001-Remove-unused-nread-variable.patch b/pkg/bzip2/patch/0001-Remove-unused-nread-variable.patch new file mode 100644 index 00000000..7b322a21 --- /dev/null +++ b/pkg/bzip2/patch/0001-Remove-unused-nread-variable.patch @@ -0,0 +1,34 @@ +From 00cc7127e58adeeba4485fab901215b6df6184f6 Mon Sep 17 00:00:00 2001 +From: Michael Forney +Date: Sat, 10 Dec 2016 23:37:57 -0800 +Subject: [PATCH] Remove unused nread variable + +--- + bzip2.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/bzip2.c b/bzip2.c +index 6de9d1d..1dd5424 100644 +--- a/bzip2.c ++++ b/bzip2.c +@@ -554,7 +554,7 @@ static + Bool testStream ( FILE *zStream ) + { + BZFILE* bzf = NULL; +- Int32 bzerr, bzerr_dummy, ret, nread, streamNo, i; ++ Int32 bzerr, bzerr_dummy, ret, streamNo, i; + UChar obuf[5000]; + UChar unused[BZ_MAX_UNUSED]; + Int32 nUnused; +@@ -577,7 +577,7 @@ Bool testStream ( FILE *zStream ) + streamNo++; + + while (bzerr == BZ_OK) { +- nread = BZ2_bzRead ( &bzerr, bzf, obuf, 5000 ); ++ BZ2_bzRead ( &bzerr, bzf, obuf, 5000 ); + if (bzerr == BZ_DATA_ERROR_MAGIC) goto errhandler; + } + if (bzerr != BZ_STREAM_END) goto errhandler; +-- +2.11.0 + diff --git a/pkg/bzip2/rev b/pkg/bzip2/rev new file mode 100644 index 00000000..0cfbf088 --- /dev/null +++ b/pkg/bzip2/rev @@ -0,0 +1 @@ +2 diff --git a/pkg/bzip2/sha256 b/pkg/bzip2/sha256 new file mode 100644 index 00000000..45eb8e18 --- /dev/null +++ b/pkg/bzip2/sha256 @@ -0,0 +1 @@ +a2848f34fcd5d6cf47def00461fcb528a0484d8edef8208d6d2e2909dc61d9cd bzip2-1.0.6.tar.gz diff --git a/pkg/bzip2/url b/pkg/bzip2/url new file mode 100644 index 00000000..9648ced9 --- /dev/null +++ b/pkg/bzip2/url @@ -0,0 +1 @@ +url = "http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz" diff --git a/pkg/ccid/config.h b/pkg/ccid/config.h new file mode 100644 index 00000000..cc49a808 --- /dev/null +++ b/pkg/ccid/config.h @@ -0,0 +1,27 @@ +#include + +#define BUNDLE "ifd-ccid.bundle" +#define HAVE_LIBUSB_H 1 +#define HAVE_MEMORY_H 1 +#define HAVE_PTHREAD 1 +#define HAVE_PTHREAD_PRIO_INHERIT 1 +#define HAVE_STRLCAT 1 +#define HAVE_STRLCPY 1 +#define LT_OBJDIR ".libs/" +/* #undef NO_LOG */ +#define PACKAGE "ccid" +#define PACKAGE_BUGREPORT "" +#define PACKAGE_NAME "ccid" +#define PACKAGE_STRING "ccid 1.4.24" +#define PACKAGE_TARNAME "ccid" +#define PACKAGE_URL "" +#define PACKAGE_VERSION "1.4.24" +#define PCSCLITE_HP_DROPDIR "/lib/pcsc/drivers" +/* #undef PTHREAD_CREATE_JOINABLE */ +#define TIME_WITH_SYS_TIME 1 +/* #undef USE_COMPOSITE_AS_MULTISLOT */ +/* #undef USE_SYSLOG */ +#define VERSION "1.4.24" +/* #undef YYTEXT_POINTER */ +/* #undef const */ +/* #undef size_t */ diff --git a/pkg/ccid/gen.rc b/pkg/ccid/gen.rc new file mode 100644 index 00000000..4f541ac8 --- /dev/null +++ b/pkg/ccid/gen.rc @@ -0,0 +1,31 @@ +version=1.4.24 +cflags\ + -D HAVE_CONFIG_H\ + -isystem '$builddir'/pkg/libusb/include\ + -isystem '$builddir'/pkg/pcsc/include\ + -I include\ + -I '$dir' \ + -I '$srcdir'/src\ + +phony deps pkg/^(libusb pcsc)^/headers + +lib libccid.a -d '$dir'/deps src/^(\ + ccid.c \ + commands.c \ + ifdhandler.c \ + utils.c \ + ccid_usb.c\ + tokenparser.c\ + towitoko/atr.c \ + towitoko/pps.c \ + openct/buffer.c \ + openct/checksum.c \ + openct/proto-t1.c \ +) + +build '$outdir'/Info.plist awk '$srcdir'/src/Info.plist.src\ + '|' '$dir'/info_plist.awk '$srcdir'/readers/supported_readers.txt +with expr '-f $dir/info_plist.awk -v readers=$srcdir/readers/supported_readers.txt target=libccid.a version='$version +file lib/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist '$outdir'/Info.plist 644 + +fetch git diff --git a/pkg/ccid/info_plist.awk b/pkg/ccid/info_plist.awk new file mode 100644 index 00000000..50b3fcf7 --- /dev/null +++ b/pkg/ccid/info_plist.awk @@ -0,0 +1,31 @@ +BEGIN { + n = 1 + while (getline < readers) { + if ($0 ~ /^(#|$)/) + continue + split($0, r, ":") + vendor[n] = r[1] + product[n] = r[2] + gsub("&", "&", r[3]) + name[n] = r[3] + ++n + } +} + +function printstrs(a) { + for (i = 1; i < n; ++i) + printf "\t\t%s\n", a[i] +} + +/MAGIC_VENDOR/ {printstrs(vendor); next} +/MAGIC_PRODUCT/ {printstrs(product); next} +/MAGIC_FRIENDLYNAME/ {printstrs(name); next} +/MAGIC_TARGET/ {sub("MAGIC_TARGET", target)} +/MAGIC_VERSION/ {sub("MAGIC_VERSION", version)} +/MAGIC_CLASS/ { + print "\tCFBundleName" + print "\tCCIDCLASSDRIVER" + next +} + +{print} diff --git a/pkg/ccid/patch/0001-Check-in-source-files-from-ccid-1.4.24-distribution.patch b/pkg/ccid/patch/0001-Check-in-source-files-from-ccid-1.4.24-distribution.patch new file mode 100644 index 00000000..75f32470 --- /dev/null +++ b/pkg/ccid/patch/0001-Check-in-source-files-from-ccid-1.4.24-distribution.patch @@ -0,0 +1,5181 @@ +From 0dde59faca9805e0981eb598e5ad683e6da21d16 Mon Sep 17 00:00:00 2001 +From: Michael Forney +Date: Tue, 5 Jul 2016 22:26:57 -0700 +Subject: [PATCH] Check in source files from ccid 1.4.24 distribution + +This replaces some symlinks to ../PCSC/* with the actual files, and adds the +generated tokenparser.c. +--- + src/misc.h | 84 ++- + src/parser.h | 54 +- + src/simclist.c | 1526 +++++++++++++++++++++++++++++++++++++++- + src/simclist.h | 981 +++++++++++++++++++++++++- + src/strlcpy.c | 61 +- + src/strlcpycat.h | 46 +- + src/tokenparser.c | 2020 +++++++++++++++++++++++++++++++++++++++++++++++++++++ + src/tokenparser.l | 283 +++++++- + 8 files changed, 5048 insertions(+), 7 deletions(-) + mode change 120000 => 100644 src/misc.h + mode change 120000 => 100644 src/parser.h + mode change 120000 => 100644 src/simclist.c + mode change 120000 => 100644 src/simclist.h + mode change 120000 => 100644 src/strlcpy.c + mode change 120000 => 100644 src/strlcpycat.h + create mode 100644 src/tokenparser.c + mode change 120000 => 100644 src/tokenparser.l + +diff --git a/src/misc.h b/src/misc.h +deleted file mode 120000 +index b47f6b0..0000000 +--- a/src/misc.h ++++ /dev/null +@@ -1 +0,0 @@ +-../PCSC/src/misc.h +\ No newline at end of file +diff --git a/src/misc.h b/src/misc.h +new file mode 100644 +index 0000000..ea0d098 +--- /dev/null ++++ b/src/misc.h +@@ -0,0 +1,83 @@ ++/* ++ * This handles GCC attributes ++ * ++ * MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html ) ++ * ++ * Copyright (C) 2005-2010 ++ * Ludovic Rousseau ++ * ++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. The name of the author may not be used to endorse or promote products ++ derived from this software without specific prior written permission. ++ ++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. ++ */ ++ ++#ifndef __misc_h__ ++#define __misc_h__ ++ ++/* ++ * Declare the function as internal to the library: the function name is ++ * not exported and can't be used by a program linked to the library ++ * ++ * see http://gcc.gnu.org/onlinedocs/gcc-3.3.5/gcc/Function-Attributes.html#Function-Attributes ++ * see http://www.nedprod.com/programs/gccvisibility.html ++ */ ++#if defined __GNUC__ && (! defined (__sun)) && (__GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) ++#define INTERNAL __attribute__ ((visibility("hidden"))) ++#define PCSC_API __attribute__ ((visibility("default"))) ++#elif (! defined __GNUC__ ) && defined (__sun) ++/* http://wikis.sun.com/display/SunStudio/Macros+for+Shared+Library+Symbol+Visibility */ ++#define INTERNAL __hidden ++#define PCSC_API __global ++#else ++#define INTERNAL ++#define PCSC_API ++#endif ++#define EXTERNAL PCSC_API ++ ++#if defined __GNUC__ ++ ++/* GNU Compiler Collection (GCC) */ ++#define CONSTRUCTOR __attribute__ ((constructor)) ++#define DESTRUCTOR __attribute__ ((destructor)) ++ ++#else ++ ++/* SUN C compiler does not use __attribute__ but #pragma init (function) ++ * We can't use a # inside a #define so it is not possible to use ++ * #define CONSTRUCTOR_DECLARATION(x) #pragma init (x) ++ * The #pragma is used directly where needed */ ++ ++/* any other */ ++#define CONSTRUCTOR ++#define DESTRUCTOR ++ ++#endif ++ ++#ifndef min ++#define min(a,b) (((a) < (b)) ? (a) : (b)) ++#endif ++ ++#ifndef COUNT_OF ++#define COUNT_OF(arr) (sizeof(arr)/sizeof(arr[0])) ++#endif ++ ++#endif /* __misc_h__ */ +diff --git a/src/parser.h b/src/parser.h +deleted file mode 120000 +index 00feb5b..0000000 +--- a/src/parser.h ++++ /dev/null +@@ -1 +0,0 @@ +-../PCSC/src/parser.h +\ No newline at end of file +diff --git a/src/parser.h b/src/parser.h +new file mode 100644 +index 0000000..09450dc +--- /dev/null ++++ b/src/parser.h +@@ -0,0 +1,53 @@ ++/* ++ * MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html ) ++ * ++ * Copyright (C) 2003 ++ * Toni Andjelkovic ++ * Copyright (C) 2003-2009 ++ * Ludovic Rousseau ++ * ++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. The name of the author may not be used to endorse or promote products ++ derived from this software without specific prior written permission. ++ ++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. ++ */ ++ ++/** ++ * @file ++ * @brief Reads lexical config files and updates database. ++ */ ++ ++#ifndef __parser_h__ ++#define __parser_h__ ++ ++#include "simclist.h" ++ ++struct bundleElt ++{ ++ char *key; ++ list_t values; ++}; ++ ++int LTPBundleFindValueWithKey(list_t *l, const char *key, list_t **values); ++int bundleParse(const char *fileName, list_t *l); ++void bundleRelease(list_t *l); ++ ++#endif +diff --git a/src/simclist.c b/src/simclist.c +deleted file mode 120000 +index 40933f2..0000000 +--- a/src/simclist.c ++++ /dev/null +@@ -1 +0,0 @@ +-../PCSC/src/simclist.c +\ No newline at end of file +diff --git a/src/simclist.c b/src/simclist.c +new file mode 100644 +index 0000000..c8d36f5 +--- /dev/null ++++ b/src/simclist.c +@@ -0,0 +1,1525 @@ ++/* ++ * Copyright (c) 2007,2008,2009,2010,2011 Mij ++ * ++ * Permission to use, copy, modify, and distribute this software for any ++ * purpose with or without fee is hereby granted, provided that the above ++ * copyright notice and this permission notice appear in all copies. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES ++ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF ++ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ++ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ++ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ++ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF ++ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ++ */ ++ ++ ++/* ++ * SimCList library. See http://mij.oltrelinux.com/devel/simclist ++ */ ++ ++/* SimCList implementation, version 1.6 */ ++ ++#include ++#include ++#include /* for setting errno */ ++#include ++#ifndef _WIN32 ++ /* not in Windows! */ ++# include ++# include ++#endif ++#ifndef SIMCLIST_NO_DUMPRESTORE ++ /* includes for dump/restore */ ++# include ++# include /* for READ_ERRCHECK() and write() */ ++# include /* for open() etc */ ++# ifndef _WIN32 ++# include /* for htons() on UNIX */ ++# else ++# include /* for htons() on Windows */ ++# endif ++#endif ++ ++/* disable asserts */ ++#ifndef SIMCLIST_DEBUG ++#define NDEBUG ++#endif ++ ++#include ++ ++ ++#include /* for open()'s access modes S_IRUSR etc */ ++#include ++ ++#if defined(_MSC_VER) || defined(__MINGW32__) ++/* provide gettimeofday() missing in Windows */ ++int gettimeofday(struct timeval *tp, void *tzp) { ++ DWORD t; ++ ++ /* XSI says: "If tzp is not a null pointer, the behavior is unspecified" */ ++ assert(tzp == NULL); ++ ++ t = timeGetTime(); ++ tp->tv_sec = t / 1000; ++ tp->tv_usec = t % 1000; ++ return 0; ++} ++#endif ++ ++ ++/* work around lack of inttypes.h support in broken Microsoft Visual Studio compilers */ ++#if !defined(_WIN32) || !defined(_MSC_VER) ++# include /* (u)int*_t */ ++#else ++# include ++typedef UINT8 uint8_t; ++typedef UINT16 uint16_t; ++typedef ULONG32 uint32_t; ++typedef UINT64 uint64_t; ++typedef INT8 int8_t; ++typedef INT16 int16_t; ++typedef LONG32 int32_t; ++typedef INT64 int64_t; ++#endif ++ ++ ++/* define some commodity macros for Dump/Restore functionality */ ++#ifndef SIMCLIST_NO_DUMPRESTORE ++/* write() decorated with error checking logic */ ++#define WRITE_ERRCHECK(fd, msgbuf, msglen) do { \ ++ if (write(fd, msgbuf, msglen) < 0) return -1; \ ++ } while (0); ++/* READ_ERRCHECK() decorated with error checking logic */ ++#define READ_ERRCHECK(fd, msgbuf, msglen) do { \ ++ if (read(fd, msgbuf, msglen) != msglen) { \ ++ /*errno = EPROTO;*/ \ ++ return -1; \ ++ } \ ++ } while (0); ++ ++/* convert 64bit integers from host to network format */ ++#define hton64(x) (\ ++ htons(1) == 1 ? \ ++ (uint64_t)x /* big endian */ \ ++ : /* little endian */ \ ++ ((uint64_t)((((uint64_t)(x) & 0xff00000000000000ULL) >> 56) | \ ++ (((uint64_t)(x) & 0x00ff000000000000ULL) >> 40) | \ ++ (((uint64_t)(x) & 0x0000ff0000000000ULL) >> 24) | \ ++ (((uint64_t)(x) & 0x000000ff00000000ULL) >> 8) | \ ++ (((uint64_t)(x) & 0x00000000ff000000ULL) << 8) | \ ++ (((uint64_t)(x) & 0x0000000000ff0000ULL) << 24) | \ ++ (((uint64_t)(x) & 0x000000000000ff00ULL) << 40) | \ ++ (((uint64_t)(x) & 0x00000000000000ffULL) << 56))) \ ++ ) ++ ++/* convert 64bit integers from network to host format */ ++#define ntoh64(x) (hton64(x)) ++#endif ++ ++/* some OSes don't have EPROTO (eg OpenBSD) */ ++#ifndef EPROTO ++#define EPROTO EIO ++#endif ++ ++#ifdef SIMCLIST_WITH_THREADS ++/* limit (approx) to the number of threads running ++ * for threaded operations. Only meant when ++ * SIMCLIST_WITH_THREADS is defined */ ++#define SIMCLIST_MAXTHREADS 2 ++#endif ++ ++/* ++ * how many elems to keep as spare. During a deletion, an element ++ * can be saved in a "free-list", not free()d immediately. When ++ * latter insertions are performed, spare elems can be used instead ++ * of malloc()ing new elems. ++ * ++ * about this param, some values for appending ++ * 10 million elems into an empty list: ++ * (#, time[sec], gain[%], gain/no[%]) ++ * 0 2,164 0,00 0,00 <-- feature disabled ++ * 1 1,815 34,9 34,9 ++ * 2 1,446 71,8 35,9 <-- MAX gain/no ++ * 3 1,347 81,7 27,23 ++ * 5 1,213 95,1 19,02 ++ * 8 1,064 110,0 13,75 ++ * 10 1,015 114,9 11,49 <-- MAX gain w/ likely sol ++ * 15 1,019 114,5 7,63 ++ * 25 0,985 117,9 4,72 ++ * 50 1,088 107,6 2,15 ++ * 75 1,016 114,8 1,53 ++ * 100 0,988 117,6 1,18 ++ * 150 1,022 114,2 0,76 ++ * 200 0,939 122,5 0,61 <-- MIN time ++ */ ++#ifndef SIMCLIST_MAX_SPARE_ELEMS ++#define SIMCLIST_MAX_SPARE_ELEMS 5 ++#endif ++ ++ ++#ifdef SIMCLIST_WITH_THREADS ++#include ++#endif ++ ++#include "simclist.h" ++ ++ ++/* minumum number of elements for sorting with quicksort instead of insertion */ ++#define SIMCLIST_MINQUICKSORTELS 24 ++ ++ ++/* list dump declarations */ ++#define SIMCLIST_DUMPFORMAT_VERSION 1 /* (short integer) version of fileformat managed by _dump* and _restore* functions */ ++ ++#define SIMCLIST_DUMPFORMAT_HEADERLEN 30 /* length of the header */ ++ ++/* header for a list dump */ ++struct list_dump_header_s { ++ uint16_t ver; /* version */ ++ int32_t timestamp_sec; /* dump timestamp, seconds since UNIX Epoch */ ++ int32_t timestamp_usec; /* dump timestamp, microseconds since timestamp_sec */ ++ int32_t rndterm; /* random value terminator -- terminates the data sequence */ ++ ++ uint32_t totlistlen; /* sum of every element' size, bytes */ ++ uint32_t numels; /* number of elements */ ++ uint32_t elemlen; /* bytes length of an element, for constant-size lists, <= 0 otherwise */ ++ int32_t listhash; /* hash of the list at the time of dumping, or 0 if to be ignored */ ++}; ++ ++ ++ ++/* deletes tmp from list, with care wrt its position (head, tail, middle) */ ++static int list_drop_elem(list_t *restrict l, struct list_entry_s *tmp, unsigned int pos); ++ ++/* set default values for initialized lists */ ++static int list_attributes_setdefaults(list_t *restrict l); ++ ++#ifndef NDEBUG ++/* check whether the list internal REPresentation is valid -- Costs O(n) */ ++static int list_repOk(const list_t *restrict l); ++ ++/* check whether the list attribute set is valid -- Costs O(1) */ ++static int list_attrOk(const list_t *restrict l); ++#endif ++ ++/* do not inline, this is recursive */ ++static void list_sort_quicksort(list_t *restrict l, int versus, ++ unsigned int first, struct list_entry_s *fel, ++ unsigned int last, struct list_entry_s *lel); ++ ++static inline void list_sort_selectionsort(list_t *restrict l, int versus, ++ unsigned int first, struct list_entry_s *fel, ++ unsigned int last, struct list_entry_s *lel); ++ ++static void *list_get_minmax(const list_t *restrict l, int versus); ++ ++static inline struct list_entry_s *list_findpos(const list_t *restrict l, int posstart); ++ ++/* ++ * Random Number Generator ++ * ++ * The user is expected to seed the RNG (ie call srand()) if ++ * SIMCLIST_SYSTEM_RNG is defined. ++ * ++ * Otherwise, a self-contained RNG based on LCG is used; see ++ * http://en.wikipedia.org/wiki/Linear_congruential_generator . ++ * ++ * Facts pro local RNG: ++ * 1. no need for the user to call srand() on his own ++ * 2. very fast, possibly faster than OS ++ * 3. avoid interference with user's RNG ++ * ++ * Facts pro system RNG: ++ * 1. may be more accurate (irrelevant for SimCList randno purposes) ++ * 2. why reinvent the wheel ++ * ++ * Default to local RNG for user's ease of use. ++ */ ++ ++#ifdef SIMCLIST_SYSTEM_RNG ++/* keep track whether we initialized already (non-0) or not (0) */ ++static unsigned random_seed = 0; ++ ++/* use local RNG */ ++static inline void seed_random(void) { ++ if (random_seed == 0) ++ random_seed = (unsigned)getpid() ^ (unsigned)time(NULL); ++} ++ ++static inline long get_random(void) { ++ random_seed = (1664525 * random_seed + 1013904223); ++ return random_seed; ++} ++ ++#else ++/* use OS's random generator */ ++# define seed_random() ++# define get_random() (rand()) ++#endif ++ ++ ++/* list initialization */ ++int list_init(list_t *restrict l) { ++ if (l == NULL) return -1; ++ ++ seed_random(); ++ ++ l->numels = 0; ++ ++ /* head/tail sentinels and mid pointer */ ++ l->head_sentinel = (struct list_entry_s *)malloc(sizeof(struct list_entry_s)); ++ l->tail_sentinel = (struct list_entry_s *)malloc(sizeof(struct list_entry_s)); ++ l->head_sentinel->next = l->tail_sentinel; ++ l->tail_sentinel->prev = l->head_sentinel; ++ l->head_sentinel->prev = l->tail_sentinel->next = l->mid = NULL; ++ l->head_sentinel->data = l->tail_sentinel->data = NULL; ++ ++ /* iteration attributes */ ++ l->iter_active = 0; ++ l->iter_pos = 0; ++ l->iter_curentry = NULL; ++ ++ /* free-list attributes */ ++ l->spareels = (struct list_entry_s **)malloc(SIMCLIST_MAX_SPARE_ELEMS * sizeof(struct list_entry_s *)); ++ l->spareelsnum = 0; ++ ++#ifdef SIMCLIST_WITH_THREADS ++ l->threadcount = 0; ++#endif ++ ++ list_attributes_setdefaults(l); ++ ++ assert(list_repOk(l)); ++ assert(list_attrOk(l)); ++ ++ return 0; ++} ++ ++void list_destroy(list_t *restrict l) { ++ unsigned int i; ++ ++ list_clear(l); ++ for (i = 0; i < l->spareelsnum; i++) { ++ free(l->spareels[i]); ++ } ++ free(l->spareels); ++ free(l->head_sentinel); ++ free(l->tail_sentinel); ++} ++ ++int list_attributes_setdefaults(list_t *restrict l) { ++ l->attrs.comparator = NULL; ++ l->attrs.seeker = NULL; ++ ++ /* also free() element data when removing and element from the list */ ++ l->attrs.meter = NULL; ++ l->attrs.copy_data = 0; ++ ++ l->attrs.hasher = NULL; ++ ++ /* serializer/unserializer */ ++ l->attrs.serializer = NULL; ++ l->attrs.unserializer = NULL; ++ ++ assert(list_attrOk(l)); ++ ++ return 0; ++} ++ ++/* setting list properties */ ++int list_attributes_comparator(list_t *restrict l, element_comparator comparator_fun) { ++ if (l == NULL) return -1; ++ ++ l->attrs.comparator = comparator_fun; ++ ++ assert(list_attrOk(l)); ++ ++ return 0; ++} ++ ++int list_attributes_seeker(list_t *restrict l, element_seeker seeker_fun) { ++ if (l == NULL) return -1; ++ ++ l->attrs.seeker = seeker_fun; ++ assert(list_attrOk(l)); ++ ++ return 0; ++} ++ ++int list_attributes_copy(list_t *restrict l, element_meter metric_fun, int copy_data) { ++ if (l == NULL || (metric_fun == NULL && copy_data != 0)) return -1; ++ ++ l->attrs.meter = metric_fun; ++ l->attrs.copy_data = copy_data; ++ ++ assert(list_attrOk(l)); ++ ++ return 0; ++} ++ ++int list_attributes_hash_computer(list_t *restrict l, element_hash_computer hash_computer_fun) { ++ if (l == NULL) return -1; ++ ++ l->attrs.hasher = hash_computer_fun; ++ assert(list_attrOk(l)); ++ return 0; ++} ++ ++int list_attributes_serializer(list_t *restrict l, element_serializer serializer_fun) { ++ if (l == NULL) return -1; ++ ++ l->attrs.serializer = serializer_fun; ++ assert(list_attrOk(l)); ++ return 0; ++} ++ ++int list_attributes_unserializer(list_t *restrict l, element_unserializer unserializer_fun) { ++ if (l == NULL) return -1; ++ ++ l->attrs.unserializer = unserializer_fun; ++ assert(list_attrOk(l)); ++ return 0; ++} ++ ++int list_append(list_t *restrict l, const void *data) { ++ return list_insert_at(l, data, l->numels); ++} ++ ++int list_prepend(list_t *restrict l, const void *data) { ++ return list_insert_at(l, data, 0); ++} ++ ++void *list_fetch(list_t *restrict l) { ++ return list_extract_at(l, 0); ++} ++ ++void *list_get_at(const list_t *restrict l, unsigned int pos) { ++ struct list_entry_s *tmp; ++ ++ tmp = list_findpos(l, pos); ++ ++ return (tmp != NULL ? tmp->data : NULL); ++} ++ ++void *list_get_max(const list_t *restrict l) { ++ return list_get_minmax(l, +1); ++} ++ ++void *list_get_min(const list_t *restrict l) { ++ return list_get_minmax(l, -1); ++} ++ ++/* REQUIRES {list->numels >= 1} ++ * return the min (versus < 0) or max value (v > 0) in l */ ++static void *list_get_minmax(const list_t *restrict l, int versus) { ++ void *curminmax; ++ struct list_entry_s *s; ++ ++ if (l->attrs.comparator == NULL || l->numels == 0) ++ return NULL; ++ ++ curminmax = l->head_sentinel->next->data; ++ for (s = l->head_sentinel->next->next; s != l->tail_sentinel; s = s->next) { ++ if (l->attrs.comparator(curminmax, s->data) * versus > 0) ++ curminmax = s->data; ++ } ++ ++ return curminmax; ++} ++ ++/* set tmp to point to element at index posstart in l */ ++static inline struct list_entry_s *list_findpos(const list_t *restrict l, int posstart) { ++ struct list_entry_s *ptr; ++ float x; ++ int i; ++ ++ /* accept 1 slot overflow for fetching head and tail sentinels */ ++ if (posstart < -1 || posstart > (int)l->numels) return NULL; ++ ++ x = (float)(posstart+1) / l->numels; ++ if (x <= 0.25) { ++ /* first quarter: get to posstart from head */ ++ for (i = -1, ptr = l->head_sentinel; i < posstart; ptr = ptr->next, i++); ++ } else if (x < 0.5) { ++ /* second quarter: get to posstart from mid */ ++ for (i = (l->numels-1)/2, ptr = l->mid; i > posstart; ptr = ptr->prev, i--); ++ } else if (x <= 0.75) { ++ /* third quarter: get to posstart from mid */ ++ for (i = (l->numels-1)/2, ptr = l->mid; i < posstart; ptr = ptr->next, i++); ++ } else { ++ /* fourth quarter: get to posstart from tail */ ++ for (i = l->numels, ptr = l->tail_sentinel; i > posstart; ptr = ptr->prev, i--); ++ } ++ ++ return ptr; ++} ++ ++void *list_extract_at(list_t *restrict l, unsigned int pos) { ++ struct list_entry_s *tmp; ++ void *data; ++ ++ if (l->iter_active || pos >= l->numels) return NULL; ++ ++ tmp = list_findpos(l, pos); ++ data = tmp->data; ++ ++ tmp->data = NULL; /* save data from list_drop_elem() free() */ ++ list_drop_elem(l, tmp, pos); ++ l->numels--; ++ ++ assert(list_repOk(l)); ++ ++ return data; ++} ++ ++int list_insert_at(list_t *restrict l, const void *data, unsigned int pos) { ++ struct list_entry_s *lent, *succ, *prec; ++ ++ if (l->iter_active || pos > l->numels) return -1; ++ ++ /* this code optimizes malloc() with a free-list */ ++ if (l->spareelsnum > 0) { ++ lent = l->spareels[l->spareelsnum-1]; ++ l->spareelsnum--; ++ } else { ++ lent = (struct list_entry_s *)malloc(sizeof(struct list_entry_s)); ++ if (lent == NULL) ++ return -1; ++ } ++ ++ if (l->attrs.copy_data) { ++ /* make room for user' data (has to be copied) */ ++ size_t datalen = l->attrs.meter(data); ++ lent->data = (struct list_entry_s *)malloc(datalen); ++ memcpy(lent->data, data, datalen); ++ } else { ++ lent->data = (void*)data; ++ } ++ ++ /* actually append element */ ++ prec = list_findpos(l, pos-1); ++ succ = prec->next; ++ ++ prec->next = lent; ++ lent->prev = prec; ++ lent->next = succ; ++ succ->prev = lent; ++ ++ l->numels++; ++ ++ /* fix mid pointer */ ++ if (l->numels == 1) { /* first element, set pointer */ ++ l->mid = lent; ++ } else if (l->numels % 2) { /* now odd */ ++ if (pos >= (l->numels-1)/2) l->mid = l->mid->next; ++ } else { /* now even */ ++ if (pos <= (l->numels-1)/2) l->mid = l->mid->prev; ++ } ++ ++ assert(list_repOk(l)); ++ ++ return 1; ++} ++ ++int list_delete(list_t *restrict l, const void *data) { ++ int pos, r; ++ ++ pos = list_locate(l, data); ++ if (pos < 0) ++ return -1; ++ ++ r = list_delete_at(l, pos); ++ if (r < 0) ++ return -1; ++ ++ assert(list_repOk(l)); ++ ++ return 0; ++} ++ ++int list_delete_at(list_t *restrict l, unsigned int pos) { ++ struct list_entry_s *delendo; ++ ++ ++ if (l->iter_active || pos >= l->numels) return -1; ++ ++ delendo = list_findpos(l, pos); ++ ++ list_drop_elem(l, delendo, pos); ++ ++ l->numels--; ++ ++ ++ assert(list_repOk(l)); ++ ++ return 0; ++} ++ ++int list_delete_range(list_t *restrict l, unsigned int posstart, unsigned int posend) { ++ struct list_entry_s *lastvalid, *tmp, *tmp2; ++ unsigned int numdel, midposafter, i; ++ int movedx; ++ ++ if (l->iter_active || posend < posstart || posend >= l->numels) return -1; ++ ++ numdel = posend - posstart + 1; ++ if (numdel == l->numels) return list_clear(l); ++ ++ tmp = list_findpos(l, posstart); /* first el to be deleted */ ++ lastvalid = tmp->prev; /* last valid element */ ++ ++ midposafter = (l->numels-1-numdel)/2; ++ ++ midposafter = midposafter < posstart ? midposafter : midposafter+numdel; ++ movedx = midposafter - (l->numels-1)/2; ++ ++ if (movedx > 0) { /* move right */ ++ for (i = 0; i < (unsigned int)movedx; l->mid = l->mid->next, i++); ++ } else { /* move left */ ++ movedx = -movedx; ++ for (i = 0; i < (unsigned int)movedx; l->mid = l->mid->prev, i++); ++ } ++ ++ assert(posstart == 0 || lastvalid != l->head_sentinel); ++ i = posstart; ++ if (l->attrs.copy_data) { ++ /* also free element data */ ++ for (; i <= posend; i++) { ++ tmp2 = tmp; ++ tmp = tmp->next; ++ if (tmp2->data != NULL) free(tmp2->data); ++ if (l->spareelsnum < SIMCLIST_MAX_SPARE_ELEMS) { ++ l->spareels[l->spareelsnum++] = tmp2; ++ } else { ++ free(tmp2); ++ } ++ } ++ } else { ++ /* only free containers */ ++ for (; i <= posend; i++) { ++ tmp2 = tmp; ++ tmp = tmp->next; ++ if (l->spareelsnum < SIMCLIST_MAX_SPARE_ELEMS) { ++ l->spareels[l->spareelsnum++] = tmp2; ++ } else { ++ free(tmp2); ++ } ++ } ++ } ++ assert(i == posend+1 && (posend != l->numels || tmp == l->tail_sentinel)); ++ ++ lastvalid->next = tmp; ++ tmp->prev = lastvalid; ++ ++ l->numels -= posend - posstart + 1; ++ ++ assert(list_repOk(l)); ++ ++ return numdel; ++} ++ ++int list_clear(list_t *restrict l) { ++ struct list_entry_s *s; ++ unsigned int numels; ++ ++ /* will be returned */ ++ numels = l->numels; ++ ++ if (l->iter_active) return -1; ++ ++ if (l->attrs.copy_data) { /* also free user data */ ++ /* spare a loop conditional with two loops: spareing elems and freeing elems */ ++ for (s = l->head_sentinel->next; l->spareelsnum < SIMCLIST_MAX_SPARE_ELEMS && s != l->tail_sentinel; s = s->next) { ++ /* move elements as spares as long as there is room */ ++ if (s->data != NULL) free(s->data); ++ l->spareels[l->spareelsnum++] = s; ++ } ++ while (s != l->tail_sentinel) { ++ /* free the remaining elems */ ++ if (s->data != NULL) free(s->data); ++ s = s->next; ++ free(s->prev); ++ } ++ l->head_sentinel->next = l->tail_sentinel; ++ l->tail_sentinel->prev = l->head_sentinel; ++ } else { /* only free element containers */ ++ /* spare a loop conditional with two loops: spareing elems and freeing elems */ ++ for (s = l->head_sentinel->next; l->spareelsnum < SIMCLIST_MAX_SPARE_ELEMS && s != l->tail_sentinel; s = s->next) { ++ /* move elements as spares as long as there is room */ ++ l->spareels[l->spareelsnum++] = s; ++ } ++ while (s != l->tail_sentinel) { ++ /* free the remaining elems */ ++ s = s->next; ++ free(s->prev); ++ } ++ l->head_sentinel->next = l->tail_sentinel; ++ l->tail_sentinel->prev = l->head_sentinel; ++ } ++ l->numels = 0; ++ l->mid = NULL; ++ ++ assert(list_repOk(l)); ++ ++ return numels; ++} ++ ++unsigned int list_size(const list_t *restrict l) { ++ return l->numels; ++} ++ ++int list_empty(const list_t *restrict l) { ++ return (l->numels == 0); ++} ++ ++int list_locate(const list_t *restrict l, const void *data) { ++ struct list_entry_s *el; ++ int pos = 0; ++ ++ if (l->attrs.comparator != NULL) { ++ /* use comparator */ ++ for (el = l->head_sentinel->next; el != l->tail_sentinel; el = el->next, pos++) { ++ if (l->attrs.comparator(data, el->data) == 0) break; ++ } ++ } else { ++ /* compare references */ ++ for (el = l->head_sentinel->next; el != l->tail_sentinel; el = el->next, pos++) { ++ if (el->data == data) break; ++ } ++ } ++ if (el == l->tail_sentinel) return -1; ++ ++ return pos; ++} ++ ++void *list_seek(list_t *restrict l, const void *indicator) { ++ const struct list_entry_s *iter; ++ ++ if (l->attrs.seeker == NULL) return NULL; ++ ++ for (iter = l->head_sentinel->next; iter != l->tail_sentinel; iter = iter->next) { ++ if (l->attrs.seeker(iter->data, indicator) != 0) return iter->data; ++ } ++ ++ return NULL; ++} ++ ++int list_contains(const list_t *restrict l, const void *data) { ++ return (list_locate(l, data) >= 0); ++} ++ ++int list_concat(const list_t *l1, const list_t *l2, list_t *restrict dest) { ++ struct list_entry_s *el, *srcel; ++ unsigned int cnt; ++ int err; ++ ++ ++ if (l1 == NULL || l2 == NULL || dest == NULL || l1 == dest || l2 == dest) ++ return -1; ++ ++ list_init(dest); ++ ++ dest->numels = l1->numels + l2->numels; ++ if (dest->numels == 0) ++ return 0; ++ ++ /* copy list1 */ ++ srcel = l1->head_sentinel->next; ++ el = dest->head_sentinel; ++ while (srcel != l1->tail_sentinel) { ++ el->next = (struct list_entry_s *)malloc(sizeof(struct list_entry_s)); ++ el->next->prev = el; ++ el = el->next; ++ el->data = srcel->data; ++ srcel = srcel->next; ++ } ++ dest->mid = el; /* approximate position (adjust later) */ ++ /* copy list 2 */ ++ srcel = l2->head_sentinel->next; ++ while (srcel != l2->tail_sentinel) { ++ el->next = (struct list_entry_s *)malloc(sizeof(struct list_entry_s)); ++ el->next->prev = el; ++ el = el->next; ++ el->data = srcel->data; ++ srcel = srcel->next; ++ } ++ el->next = dest->tail_sentinel; ++ dest->tail_sentinel->prev = el; ++ ++ /* fix mid pointer */ ++ err = l2->numels - l1->numels; ++ if ((err+1)/2 > 0) { /* correct pos RIGHT (err-1)/2 moves */ ++ err = (err+1)/2; ++ for (cnt = 0; cnt < (unsigned int)err; cnt++) dest->mid = dest->mid->next; ++ } else if (err/2 < 0) { /* correct pos LEFT (err/2)-1 moves */ ++ err = -err/2; ++ for (cnt = 0; cnt < (unsigned int)err; cnt++) dest->mid = dest->mid->prev; ++ } ++ ++ assert(!(list_repOk(l1) && list_repOk(l2)) || list_repOk(dest)); ++ ++ return 0; ++} ++ ++int list_sort(list_t *restrict l, int versus) { ++ if (l->iter_active || l->attrs.comparator == NULL) /* cannot modify list in the middle of an iteration */ ++ return -1; ++ ++ if (l->numels <= 1) ++ return 0; ++ list_sort_quicksort(l, versus, 0, l->head_sentinel->next, l->numels-1, l->tail_sentinel->prev); ++ assert(list_repOk(l)); ++ return 0; ++} ++ ++#ifdef SIMCLIST_WITH_THREADS ++struct list_sort_wrappedparams { ++ list_t *restrict l; ++ int versus; ++ unsigned int first, last; ++ struct list_entry_s *fel, *lel; ++}; ++ ++static void *list_sort_quicksort_threadwrapper(void *wrapped_params) { ++ struct list_sort_wrappedparams *wp = (struct list_sort_wrappedparams *)wrapped_params; ++ list_sort_quicksort(wp->l, wp->versus, wp->first, wp->fel, wp->last, wp->lel); ++ free(wp); ++ pthread_exit(NULL); ++ return NULL; ++} ++#endif ++ ++static inline void list_sort_selectionsort(list_t *restrict l, int versus, ++ unsigned int first, struct list_entry_s *fel, ++ unsigned int last, struct list_entry_s *lel) { ++ struct list_entry_s *cursor, *toswap, *firstunsorted; ++ void *tmpdata; ++ ++ if (last <= first) /* <= 1-element lists are always sorted */ ++ return; ++ ++ for (firstunsorted = fel; firstunsorted != lel; firstunsorted = firstunsorted->next) { ++ /* find min or max in the remainder of the list */ ++ for (toswap = firstunsorted, cursor = firstunsorted->next; cursor != lel->next; cursor = cursor->next) ++ if (l->attrs.comparator(toswap->data, cursor->data) * -versus > 0) toswap = cursor; ++ if (toswap != firstunsorted) { /* swap firstunsorted with toswap */ ++ tmpdata = firstunsorted->data; ++ firstunsorted->data = toswap->data; ++ toswap->data = tmpdata; ++ } ++ } ++} ++ ++static void list_sort_quicksort(list_t *restrict l, int versus, ++ unsigned int first, struct list_entry_s *fel, ++ unsigned int last, struct list_entry_s *lel) { ++ unsigned int pivotid; ++ unsigned int i; ++ register struct list_entry_s *pivot; ++ struct list_entry_s *left, *right; ++ void *tmpdata; ++#ifdef SIMCLIST_WITH_THREADS ++ pthread_t tid; ++ int traised; ++#endif ++ ++ ++ if (last <= first) /* <= 1-element lists are always sorted */ ++ return; ++ ++ if (last - first+1 <= SIMCLIST_MINQUICKSORTELS) { ++ list_sort_selectionsort(l, versus, first, fel, last, lel); ++ return; ++ } ++ ++ /* base of iteration: one element list */ ++ if (! (last > first)) return; ++ ++ pivotid = (get_random() % (last - first + 1)); ++ /* pivotid = (last - first + 1) / 2; */ ++ ++ /* find pivot */ ++ if (pivotid < (last - first + 1)/2) { ++ for (i = 0, pivot = fel; i < pivotid; pivot = pivot->next, i++); ++ } else { ++ for (i = last - first, pivot = lel; i > pivotid; pivot = pivot->prev, i--); ++ } ++ ++ /* smaller PIVOT bigger */ ++ left = fel; ++ right = lel; ++ /* iterate --- left ---> PIV <--- right --- */ ++ while (left != pivot && right != pivot) { ++ for (; left != pivot && (l->attrs.comparator(left->data, pivot->data) * -versus <= 0); left = left->next); ++ /* left points to a smaller element, or to pivot */ ++ for (; right != pivot && (l->attrs.comparator(right->data, pivot->data) * -versus >= 0); right = right->prev); ++ /* right points to a bigger element, or to pivot */ ++ if (left != pivot && right != pivot) { ++ /* swap, then move iterators */ ++ tmpdata = left->data; ++ left->data = right->data; ++ right->data = tmpdata; ++ ++ left = left->next; ++ right = right->prev; ++ } ++ } ++ ++ /* now either left points to pivot (end run), or right */ ++ if (right == pivot) { /* left part longer */ ++ while (left != pivot) { ++ if (l->attrs.comparator(left->data, pivot->data) * -versus > 0) { ++ tmpdata = left->data; ++ left->data = pivot->prev->data; ++ pivot->prev->data = pivot->data; ++ pivot->data = tmpdata; ++ pivot = pivot->prev; ++ pivotid--; ++ if (pivot == left) break; ++ } else { ++ left = left->next; ++ } ++ } ++ } else { /* right part longer */ ++ while (right != pivot) { ++ if (l->attrs.comparator(right->data, pivot->data) * -versus < 0) { ++ /* move current right before pivot */ ++ tmpdata = right->data; ++ right->data = pivot->next->data; ++ pivot->next->data = pivot->data; ++ pivot->data = tmpdata; ++ pivot = pivot->next; ++ pivotid++; ++ if (pivot == right) break; ++ } else { ++ right = right->prev; ++ } ++ } ++ } ++ ++ /* sort sublists A and B : |---A---| pivot |---B---| */ ++ ++#ifdef SIMCLIST_WITH_THREADS ++ traised = 0; ++ if (pivotid > 0) { ++ /* prepare wrapped args, then start thread */ ++ if (l->threadcount < SIMCLIST_MAXTHREADS-1) { ++ struct list_sort_wrappedparams *wp = (struct list_sort_wrappedparams *)malloc(sizeof(struct list_sort_wrappedparams)); ++ l->threadcount++; ++ traised = 1; ++ wp->l = l; ++ wp->versus = versus; ++ wp->first = first; ++ wp->fel = fel; ++ wp->last = first+pivotid-1; ++ wp->lel = pivot->prev; ++ if (pthread_create(&tid, NULL, list_sort_quicksort_threadwrapper, wp) != 0) { ++ free(wp); ++ traised = 0; ++ list_sort_quicksort(l, versus, first, fel, first+pivotid-1, pivot->prev); ++ } ++ } else { ++ list_sort_quicksort(l, versus, first, fel, first+pivotid-1, pivot->prev); ++ } ++ } ++ if (first + pivotid < last) list_sort_quicksort(l, versus, first+pivotid+1, pivot->next, last, lel); ++ if (traised) { ++ pthread_join(tid, (void **)NULL); ++ l->threadcount--; ++ } ++#else ++ if (pivotid > 0) list_sort_quicksort(l, versus, first, fel, first+pivotid-1, pivot->prev); ++ if (first + pivotid < last) list_sort_quicksort(l, versus, first+pivotid+1, pivot->next, last, lel); ++#endif ++} ++ ++int list_iterator_start(list_t *restrict l) { ++ if (l->iter_active) return 0; ++ l->iter_pos = 0; ++ l->iter_active = 1; ++ l->iter_curentry = l->head_sentinel->next; ++ return 1; ++} ++ ++void *list_iterator_next(list_t *restrict l) { ++ void *toret; ++ ++ if (! l->iter_active) return NULL; ++ ++ toret = l->iter_curentry->data; ++ l->iter_curentry = l->iter_curentry->next; ++ l->iter_pos++; ++ ++ return toret; ++} ++ ++int list_iterator_hasnext(const list_t *restrict l) { ++ if (! l->iter_active) return 0; ++ return (l->iter_pos < l->numels); ++} ++ ++int list_iterator_stop(list_t *restrict l) { ++ if (! l->iter_active) return 0; ++ l->iter_pos = 0; ++ l->iter_active = 0; ++ return 1; ++} ++ ++int list_hash(const list_t *restrict l, list_hash_t *restrict hash) { ++ struct list_entry_s *x; ++ list_hash_t tmphash; ++ ++ assert(hash != NULL); ++ ++ tmphash = l->numels * 2 + 100; ++ if (l->attrs.hasher == NULL) { ++#ifdef SIMCLIST_ALLOW_LOCATIONBASED_HASHES ++ /* ENABLE WITH CARE !! */ ++#warning "Memlocation-based hash is consistent only for testing modification in the same program run." ++ int i; ++ ++ /* only use element references */ ++ for (x = l->head_sentinel->next; x != l->tail_sentinel; x = x->next) { ++ for (i = 0; i < sizeof(x->data); i++) { ++ tmphash += (tmphash ^ (uintptr_t)x->data); ++ } ++ tmphash += tmphash % l->numels; ++ } ++#else ++ return -1; ++#endif ++ } else { ++ /* hash each element with the user-given function */ ++ for (x = l->head_sentinel->next; x != l->tail_sentinel; x = x->next) { ++ tmphash += tmphash ^ l->attrs.hasher(x->data); ++ tmphash += tmphash % l->numels; ++ } ++ } ++ ++ *hash = tmphash; ++ ++ return 0; ++} ++ ++#ifndef SIMCLIST_NO_DUMPRESTORE ++int list_dump_getinfo_filedescriptor(int fd, list_dump_info_t *restrict info) { ++ int32_t terminator_head, terminator_tail; ++ uint32_t elemlen; ++ off_t hop; ++ ++ ++ /* version */ ++ READ_ERRCHECK(fd, & info->version, sizeof(info->version)); ++ info->version = ntohs(info->version); ++ if (info->version > SIMCLIST_DUMPFORMAT_VERSION) { ++ errno = EILSEQ; ++ return -1; ++ } ++ ++ /* timestamp.tv_sec and timestamp.tv_usec */ ++ READ_ERRCHECK(fd, & info->timestamp.tv_sec, sizeof(info->timestamp.tv_sec)); ++ info->timestamp.tv_sec = ntohl(info->timestamp.tv_sec); ++ READ_ERRCHECK(fd, & info->timestamp.tv_usec, sizeof(info->timestamp.tv_usec)); ++ info->timestamp.tv_usec = ntohl(info->timestamp.tv_usec); ++ ++ /* list terminator (to check thereafter) */ ++ READ_ERRCHECK(fd, & terminator_head, sizeof(terminator_head)); ++ terminator_head = ntohl(terminator_head); ++ ++ /* list size */ ++ READ_ERRCHECK(fd, & info->list_size, sizeof(info->list_size)); ++ info->list_size = ntohl(info->list_size); ++ ++ /* number of elements */ ++ READ_ERRCHECK(fd, & info->list_numels, sizeof(info->list_numels)); ++ info->list_numels = ntohl(info->list_numels); ++ ++ /* length of each element (for checking for consistency) */ ++ READ_ERRCHECK(fd, & elemlen, sizeof(elemlen)); ++ elemlen = ntohl(elemlen); ++ ++ /* list hash */ ++ READ_ERRCHECK(fd, & info->list_hash, sizeof(info->list_hash)); ++ info->list_hash = ntohl(info->list_hash); ++ ++ /* check consistency */ ++ if (elemlen > 0) { ++ /* constant length, hop by size only */ ++ hop = info->list_size; ++ } else { ++ /* non-constant length, hop by size + all element length blocks */ ++ hop = info->list_size + elemlen*info->list_numels; ++ } ++ if (lseek(fd, hop, SEEK_CUR) == -1) { ++ return -1; ++ } ++ ++ /* read the trailing value and compare with terminator_head */ ++ READ_ERRCHECK(fd, & terminator_tail, sizeof(terminator_tail)); ++ terminator_tail = ntohl(terminator_tail); ++ ++ if (terminator_head == terminator_tail) ++ info->consistent = 1; ++ else ++ info->consistent = 0; ++ ++ return 0; ++} ++ ++int list_dump_getinfo_file(const char *restrict filename, list_dump_info_t *restrict info) { ++ int fd, ret; ++ ++ fd = open(filename, O_RDONLY, 0); ++ if (fd < 0) return -1; ++ ++ ret = list_dump_getinfo_filedescriptor(fd, info); ++ close(fd); ++ ++ return ret; ++} ++ ++int list_dump_filedescriptor(const list_t *restrict l, int fd, size_t *restrict len) { ++ struct list_entry_s *x; ++ void *ser_buf; ++ uint32_t bufsize; ++ struct timeval timeofday; ++ struct list_dump_header_s header; ++ ++ if (l->attrs.meter == NULL && l->attrs.serializer == NULL) { ++ errno = ENOTTY; ++ return -1; ++ } ++ ++ /**** DUMP FORMAT **** ++ ++ [ ver timestamp | totlen numels elemlen hash | DATA ] ++ ++ where DATA can be: ++ @ for constant-size list (element size is constant; elemlen > 0) ++ [ elem elem ... elem ] ++ @ for other lists (element size dictated by element_meter each time; elemlen <= 0) ++ [ size elem size elem ... size elem ] ++ ++ all integers are encoded in NETWORK BYTE FORMAT ++ *****/ ++ ++ ++ /* prepare HEADER */ ++ /* version */ ++ header.ver = htons( SIMCLIST_DUMPFORMAT_VERSION ); ++ ++ /* timestamp */ ++ gettimeofday(&timeofday, NULL); ++ header.timestamp_sec = htonl(timeofday.tv_sec); ++ header.timestamp_usec = htonl(timeofday.tv_usec); ++ ++ header.rndterm = htonl((int32_t)get_random()); ++ ++ /* total list size is postprocessed afterwards */ ++ ++ /* number of elements */ ++ header.numels = htonl(l->numels); ++ ++ /* include an hash, if possible */ ++ if (l->attrs.hasher != NULL) { ++ if (htonl(list_hash(l, & header.listhash)) != 0) { ++ /* could not compute list hash! */ ++ return -1; ++ } ++ } else { ++ header.listhash = htonl(0); ++ } ++ ++ header.totlistlen = header.elemlen = 0; ++ ++ /* leave room for the header at the beginning of the file */ ++ if (lseek(fd, SIMCLIST_DUMPFORMAT_HEADERLEN, SEEK_SET) < 0) { ++ /* errno set by lseek() */ ++ return -1; ++ } ++ ++ /* write CONTENT */ ++ if (l->numels > 0) { ++ /* SPECULATE that the list has constant element size */ ++ ++ if (l->attrs.serializer != NULL) { /* user user-specified serializer */ ++ /* get preliminary length of serialized element in header.elemlen */ ++ ser_buf = l->attrs.serializer(l->head_sentinel->next->data, & header.elemlen); ++ free(ser_buf); ++ /* request custom serialization of each element */ ++ for (x = l->head_sentinel->next; x != l->tail_sentinel; x = x->next) { ++ ser_buf = l->attrs.serializer(x->data, &bufsize); ++ header.totlistlen += bufsize; ++ if (header.elemlen != 0) { /* continue on speculation */ ++ if (header.elemlen != bufsize) { ++ free(ser_buf); ++ /* constant element length speculation broken! */ ++ header.elemlen = 0; ++ header.totlistlen = 0; ++ x = l->head_sentinel; ++ if (lseek(fd, SIMCLIST_DUMPFORMAT_HEADERLEN, SEEK_SET) < 0) { ++ /* errno set by lseek() */ ++ return -1; ++ } ++ /* restart from the beginning */ ++ continue; ++ } ++ /* speculation confirmed */ ++ WRITE_ERRCHECK(fd, ser_buf, bufsize); ++ } else { /* speculation found broken */ ++ WRITE_ERRCHECK(fd, & bufsize, sizeof(size_t)); ++ WRITE_ERRCHECK(fd, ser_buf, bufsize); ++ } ++ free(ser_buf); ++ } ++ } else if (l->attrs.meter != NULL) { ++ header.elemlen = (uint32_t)l->attrs.meter(l->head_sentinel->next->data); ++ ++ /* serialize the element straight from its data */ ++ for (x = l->head_sentinel->next; x != l->tail_sentinel; x = x->next) { ++ bufsize = l->attrs.meter(x->data); ++ header.totlistlen += bufsize; ++ if (header.elemlen != 0) { ++ if (header.elemlen != bufsize) { ++ /* constant element length speculation broken! */ ++ header.elemlen = 0; ++ header.totlistlen = 0; ++ x = l->head_sentinel; ++ /* restart from the beginning */ ++ continue; ++ } ++ WRITE_ERRCHECK(fd, x->data, bufsize); ++ } else { ++ WRITE_ERRCHECK(fd, &bufsize, sizeof(size_t)); ++ WRITE_ERRCHECK(fd, x->data, bufsize); ++ } ++ } ++ } ++ /* adjust endianness */ ++ header.elemlen = htonl(header.elemlen); ++ header.totlistlen = htonl(header.totlistlen); ++ } ++ ++ /* write random terminator */ ++ WRITE_ERRCHECK(fd, & header.rndterm, sizeof(header.rndterm)); /* list terminator */ ++ ++ ++ /* write header */ ++ lseek(fd, 0, SEEK_SET); ++ ++ WRITE_ERRCHECK(fd, & header.ver, sizeof(header.ver)); /* version */ ++ WRITE_ERRCHECK(fd, & header.timestamp_sec, sizeof(header.timestamp_sec)); /* timestamp seconds */ ++ WRITE_ERRCHECK(fd, & header.timestamp_usec, sizeof(header.timestamp_usec)); /* timestamp microseconds */ ++ WRITE_ERRCHECK(fd, & header.rndterm, sizeof(header.rndterm)); /* random terminator */ ++ ++ WRITE_ERRCHECK(fd, & header.totlistlen, sizeof(header.totlistlen)); /* total length of elements */ ++ WRITE_ERRCHECK(fd, & header.numels, sizeof(header.numels)); /* number of elements */ ++ WRITE_ERRCHECK(fd, & header.elemlen, sizeof(header.elemlen)); /* size of each element, or 0 for independent */ ++ WRITE_ERRCHECK(fd, & header.listhash, sizeof(header.listhash)); /* list hash, or 0 for "ignore" */ ++ ++ ++ /* possibly store total written length in "len" */ ++ if (len != NULL) { ++ *len = sizeof(header) + ntohl(header.totlistlen); ++ } ++ ++ return 0; ++} ++ ++int list_restore_filedescriptor(list_t *restrict l, int fd, size_t *restrict len) { ++ struct list_dump_header_s header; ++ unsigned long cnt; ++ void *buf; ++ uint32_t elsize, totreadlen, totmemorylen; ++ ++ memset(& header, 0, sizeof(header)); ++ ++ /* read header */ ++ ++ /* version */ ++ READ_ERRCHECK(fd, &header.ver, sizeof(header.ver)); ++ header.ver = ntohs(header.ver); ++ if (header.ver != SIMCLIST_DUMPFORMAT_VERSION) { ++ errno = EILSEQ; ++ return -1; ++ } ++ ++ /* timestamp */ ++ READ_ERRCHECK(fd, & header.timestamp_sec, sizeof(header.timestamp_sec)); ++ header.timestamp_sec = ntohl(header.timestamp_sec); ++ READ_ERRCHECK(fd, & header.timestamp_usec, sizeof(header.timestamp_usec)); ++ header.timestamp_usec = ntohl(header.timestamp_usec); ++ ++ /* list terminator */ ++ READ_ERRCHECK(fd, & header.rndterm, sizeof(header.rndterm)); ++ ++ header.rndterm = ntohl(header.rndterm); ++ ++ /* total list size */ ++ READ_ERRCHECK(fd, & header.totlistlen, sizeof(header.totlistlen)); ++ header.totlistlen = ntohl(header.totlistlen); ++ ++ /* number of elements */ ++ READ_ERRCHECK(fd, & header.numels, sizeof(header.numels)); ++ header.numels = ntohl(header.numels); ++ ++ /* length of every element, or '0' = variable */ ++ READ_ERRCHECK(fd, & header.elemlen, sizeof(header.elemlen)); ++ header.elemlen = ntohl(header.elemlen); ++ ++ /* list hash, or 0 = 'ignore' */ ++ READ_ERRCHECK(fd, & header.listhash, sizeof(header.listhash)); ++ header.listhash = ntohl(header.listhash); ++ ++ ++ /* read content */ ++ totreadlen = totmemorylen = 0; ++ if (header.elemlen > 0) { ++ /* elements have constant size = header.elemlen */ ++ if (l->attrs.unserializer != NULL) { ++ /* use unserializer */ ++ buf = malloc(header.elemlen); ++ for (cnt = 0; cnt < header.numels; cnt++) { ++ READ_ERRCHECK(fd, buf, header.elemlen); ++ list_append(l, l->attrs.unserializer(buf, & elsize)); ++ totmemorylen += elsize; ++ } ++ } else { ++ /* copy verbatim into memory */ ++ for (cnt = 0; cnt < header.numels; cnt++) { ++ buf = malloc(header.elemlen); ++ READ_ERRCHECK(fd, buf, header.elemlen); ++ list_append(l, buf); ++ } ++ totmemorylen = header.numels * header.elemlen; ++ } ++ totreadlen = header.numels * header.elemlen; ++ } else { ++ /* elements have variable size. Each element is preceded by its size */ ++ if (l->attrs.unserializer != NULL) { ++ /* use unserializer */ ++ for (cnt = 0; cnt < header.numels; cnt++) { ++ READ_ERRCHECK(fd, & elsize, sizeof(elsize)); ++ buf = malloc((size_t)elsize); ++ READ_ERRCHECK(fd, buf, elsize); ++ totreadlen += elsize; ++ list_append(l, l->attrs.unserializer(buf, & elsize)); ++ totmemorylen += elsize; ++ } ++ } else { ++ /* copy verbatim into memory */ ++ for (cnt = 0; cnt < header.numels; cnt++) { ++ READ_ERRCHECK(fd, & elsize, sizeof(elsize)); ++ buf = malloc(elsize); ++ READ_ERRCHECK(fd, buf, elsize); ++ totreadlen += elsize; ++ list_append(l, buf); ++ } ++ totmemorylen = totreadlen; ++ } ++ } ++ ++ READ_ERRCHECK(fd, &elsize, sizeof(elsize)); /* read list terminator */ ++ elsize = ntohl(elsize); ++ ++ /* possibly verify the list consistency */ ++ /* wrt hash */ ++ /* don't do that ++ if (header.listhash != 0 && header.listhash != list_hash(l)) { ++ errno = ECANCELED; ++ return -1; ++ } ++ */ ++ ++ /* wrt header */ ++ if (totreadlen != header.totlistlen && (int32_t)elsize == header.rndterm) { ++ errno = EPROTO; ++ return -1; ++ } ++ ++ /* wrt file */ ++ if (lseek(fd, 0, SEEK_CUR) != lseek(fd, 0, SEEK_END)) { ++ errno = EPROTO; ++ return -1; ++ } ++ ++ if (len != NULL) { ++ *len = totmemorylen; ++ } ++ ++ return 0; ++} ++ ++int list_dump_file(const list_t *restrict l, const char *restrict filename, size_t *restrict len) { ++ int fd, oflag, mode; ++ ++#ifndef _WIN32 ++ oflag = O_RDWR | O_CREAT | O_TRUNC; ++ mode = S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH; ++#else ++ oflag = _O_RDWR | _O_CREAT | _O_TRUNC; ++ mode = _S_IRUSR | _S_IWUSR | _S_IRGRP | _S_IROTH; ++#endif ++ fd = open(filename, oflag, mode); ++ if (fd < 0) return -1; ++ ++ list_dump_filedescriptor(l, fd, len); ++ close(fd); ++ ++ return 0; ++} ++ ++int list_restore_file(list_t *restrict l, const char *restrict filename, size_t *restrict len) { ++ int fd; ++ ++ fd = open(filename, O_RDONLY, 0); ++ if (fd < 0) return -1; ++ ++ list_restore_filedescriptor(l, fd, len); ++ close(fd); ++ ++ return 0; ++} ++#endif /* ifndef SIMCLIST_NO_DUMPRESTORE */ ++ ++ ++static int list_drop_elem(list_t *restrict l, struct list_entry_s *tmp, unsigned int pos) { ++ if (tmp == NULL) return -1; ++ ++ /* fix mid pointer. This is wrt the PRE situation */ ++ if (l->numels % 2) { /* now odd */ ++ /* sort out the base case by hand */ ++ if (l->numels == 1) l->mid = NULL; ++ else if (pos >= l->numels/2) l->mid = l->mid->prev; ++ } else { /* now even */ ++ if (pos < l->numels/2) l->mid = l->mid->next; ++ } ++ ++ tmp->prev->next = tmp->next; ++ tmp->next->prev = tmp->prev; ++ ++ /* free what's to be freed */ ++ if (l->attrs.copy_data && tmp->data != NULL) ++ free(tmp->data); ++ ++ if (l->spareelsnum < SIMCLIST_MAX_SPARE_ELEMS) { ++ l->spareels[l->spareelsnum++] = tmp; ++ } else { ++ free(tmp); ++ } ++ ++ return 0; ++} ++ ++/* ready-made comparators and meters */ ++#define SIMCLIST_NUMBER_COMPARATOR(type) int list_comparator_##type(const void *a, const void *b) { return( *(type *)a < *(type *)b) - (*(type *)a > *(type *)b); } ++ ++SIMCLIST_NUMBER_COMPARATOR(int8_t) ++SIMCLIST_NUMBER_COMPARATOR(int16_t) ++SIMCLIST_NUMBER_COMPARATOR(int32_t) ++SIMCLIST_NUMBER_COMPARATOR(int64_t) ++ ++SIMCLIST_NUMBER_COMPARATOR(uint8_t) ++SIMCLIST_NUMBER_COMPARATOR(uint16_t) ++SIMCLIST_NUMBER_COMPARATOR(uint32_t) ++SIMCLIST_NUMBER_COMPARATOR(uint64_t) ++ ++SIMCLIST_NUMBER_COMPARATOR(float) ++SIMCLIST_NUMBER_COMPARATOR(double) ++ ++int list_comparator_string(const void *a, const void *b) { return strcmp((const char *)b, (const char *)a); } ++ ++/* ready-made metric functions */ ++#define SIMCLIST_METER(type) size_t list_meter_##type(const void *el) { if (el) { /* kill compiler whinge */ } return sizeof(type); } ++ ++SIMCLIST_METER(int8_t) ++SIMCLIST_METER(int16_t) ++SIMCLIST_METER(int32_t) ++SIMCLIST_METER(int64_t) ++ ++SIMCLIST_METER(uint8_t) ++SIMCLIST_METER(uint16_t) ++SIMCLIST_METER(uint32_t) ++SIMCLIST_METER(uint64_t) ++ ++SIMCLIST_METER(float) ++SIMCLIST_METER(double) ++ ++size_t list_meter_string(const void *el) { return strlen((const char *)el) + 1; } ++ ++/* ready-made hashing functions */ ++#define SIMCLIST_HASHCOMPUTER(type) list_hash_t list_hashcomputer_##type(const void *el) { return (list_hash_t)(*(type *)el); } ++ ++SIMCLIST_HASHCOMPUTER(int8_t) ++SIMCLIST_HASHCOMPUTER(int16_t) ++SIMCLIST_HASHCOMPUTER(int32_t) ++SIMCLIST_HASHCOMPUTER(int64_t) ++ ++SIMCLIST_HASHCOMPUTER(uint8_t) ++SIMCLIST_HASHCOMPUTER(uint16_t) ++SIMCLIST_HASHCOMPUTER(uint32_t) ++SIMCLIST_HASHCOMPUTER(uint64_t) ++ ++SIMCLIST_HASHCOMPUTER(float) ++SIMCLIST_HASHCOMPUTER(double) ++ ++list_hash_t list_hashcomputer_string(const void *el) { ++ size_t l; ++ list_hash_t hash = 123; ++ const char *str = (const char *)el; ++ char plus; ++ ++ for (l = 0; str[l] != '\0'; l++) { ++ if (l) plus = hash ^ str[l]; ++ else plus = hash ^ (str[l] - str[0]); ++ hash += (plus << (CHAR_BIT * (l % sizeof(list_hash_t)))); ++ } ++ ++ return hash; ++} ++ ++ ++#ifndef NDEBUG ++static int list_repOk(const list_t *restrict l) { ++ int ok, i; ++ struct list_entry_s *s; ++ ++ ok = (l != NULL) && ( ++ /* head/tail checks */ ++ (l->head_sentinel != NULL && l->tail_sentinel != NULL) && ++ (l->head_sentinel != l->tail_sentinel) && (l->head_sentinel->prev == NULL && l->tail_sentinel->next == NULL) && ++ /* empty list */ ++ (l->numels > 0 || (l->mid == NULL && l->head_sentinel->next == l->tail_sentinel && l->tail_sentinel->prev == l->head_sentinel)) && ++ /* spare elements checks */ ++ l->spareelsnum <= SIMCLIST_MAX_SPARE_ELEMS ++ ); ++ ++ if (!ok) return 0; ++ ++ if (l->numels >= 1) { ++ /* correct referencing */ ++ for (i = -1, s = l->head_sentinel; i < (int)(l->numels-1)/2 && s->next != NULL; i++, s = s->next) { ++ if (s->next->prev != s) break; ++ } ++ ok = (i == (int)(l->numels-1)/2 && l->mid == s); ++ if (!ok) return 0; ++ for (; s->next != NULL; i++, s = s->next) { ++ if (s->next->prev != s) break; ++ } ++ ok = (i == (int)l->numels && s == l->tail_sentinel); ++ } ++ ++ return ok; ++} ++ ++static int list_attrOk(const list_t *restrict l) { ++ int ok; ++ ++ ok = (l->attrs.copy_data == 0 || l->attrs.meter != NULL); ++ return ok; ++} ++ ++#endif ++ +diff --git a/src/simclist.h b/src/simclist.h +deleted file mode 120000 +index 8a44093..0000000 +--- a/src/simclist.h ++++ /dev/null +@@ -1 +0,0 @@ +-../PCSC/src/simclist.h +\ No newline at end of file +diff --git a/src/simclist.h b/src/simclist.h +new file mode 100644 +index 0000000..2ce9d49 +--- /dev/null ++++ b/src/simclist.h +@@ -0,0 +1,980 @@ ++/* ++ * Copyright (c) 2007,2008 Mij ++ * ++ * Permission to use, copy, modify, and distribute this software for any ++ * purpose with or without fee is hereby granted, provided that the above ++ * copyright notice and this permission notice appear in all copies. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES ++ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF ++ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ++ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ++ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ++ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF ++ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ++ */ ++ ++ ++/* ++ * SimCList library. See http://mij.oltrelinux.com/devel/simclist ++ */ ++ ++ ++#ifndef SIMCLIST_H ++#define SIMCLIST_H ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++#include ++#include ++#include ++ ++#ifndef SIMCLIST_NO_DUMPRESTORE ++# ifndef _WIN32 ++# include /* list_dump_info_t's struct timeval */ ++# else ++# include ++# endif ++#endif ++ ++ ++/* Be friend of both C90 and C99 compilers */ ++#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L ++ /* "inline" and "restrict" are keywords */ ++#else ++# define inline /* inline */ ++# define restrict /* restrict */ ++#endif ++ ++ ++/** ++ * Type representing list hashes. ++ * ++ * This is a signed integer value. ++ */ ++typedef int32_t list_hash_t; ++ ++#ifndef SIMCLIST_NO_DUMPRESTORE ++typedef struct { ++ uint16_t version; /* dump version */ ++ struct timeval timestamp; /* when the list has been dumped, seconds since UNIX epoch */ ++ uint32_t list_size; ++ uint32_t list_numels; ++ list_hash_t list_hash; /* hash of the list when dumped, or 0 if invalid */ ++ uint32_t dumpsize; ++ int consistent; /* 1 if the dump is verified complete/consistent; 0 otherwise */ ++} list_dump_info_t; ++#endif ++ ++/** ++ * a comparator of elements. ++ * ++ * A comparator of elements is a function that: ++ * -# receives two references to elements a and b ++ * -# returns {<0, 0, >0} if (a > b), (a == b), (a < b) respectively ++ * ++ * It is responsability of the function to handle possible NULL values. ++ */ ++typedef int (*element_comparator)(const void *a, const void *b); ++ ++/** ++ * a seeker of elements. ++ * ++ * An element seeker is a function that: ++ * -# receives a reference to an element el ++ * -# receives a reference to some indicator data ++ * -# returns non-0 if the element matches the indicator, 0 otherwise ++ * ++ * It is responsability of the function to handle possible NULL values in any ++ * argument. ++ */ ++typedef int (*element_seeker)(const void *el, const void *indicator); ++ ++/** ++ * an element lenght meter. ++ * ++ * An element meter is a function that: ++ * -# receives the reference to an element el ++ * -# returns its size in bytes ++ * ++ * It is responsability of the function to handle possible NULL values. ++ */ ++typedef size_t (*element_meter)(const void *el); ++ ++/** ++ * a function computing the hash of elements. ++ * ++ * An hash computing function is a function that: ++ * -# receives the reference to an element el ++ * -# returns a hash value for el ++ * ++ * It is responsability of the function to handle possible NULL values. ++ */ ++typedef list_hash_t (*element_hash_computer)(const void *el); ++ ++/** ++ * a function for serializing an element. ++ * ++ * A serializer function is one that gets a reference to an element, ++ * and returns a reference to a buffer that contains its serialization ++ * along with the length of this buffer. ++ * It is responsability of the function to handle possible NULL values, ++ * returning a NULL buffer and a 0 buffer length. ++ * ++ * These functions have 3 goals: ++ * -# "freeze" and "flatten" the memory representation of the element ++ * -# provide a portable (wrt byte order, or type size) representation of the element, if the dump can be used on different sw/hw combinations ++ * -# possibly extract a compressed representation of the element ++ * ++ * @param el reference to the element data ++ * @param serialize_buffer reference to fill with the length of the buffer ++ * @return reference to the buffer with the serialized data ++ */ ++typedef void *(*element_serializer)(const void *restrict el, uint32_t *restrict serializ_len); ++ ++/** ++ * a function for un-serializing an element. ++ * ++ * An unserializer function accomplishes the inverse operation of the ++ * serializer function. An unserializer function is one that gets a ++ * serialized representation of an element and turns it backe to the original ++ * element. The serialized representation is passed as a reference to a buffer ++ * with its data, and the function allocates and returns the buffer containing ++ * the original element, and it sets the length of this buffer into the ++ * integer passed by reference. ++ * ++ * @param data reference to the buffer with the serialized representation of the element ++ * @param data_len reference to the location where to store the length of the data in the buffer returned ++ * @return reference to a buffer with the original, unserialized representation of the element ++ */ ++typedef void *(*element_unserializer)(const void *restrict data, uint32_t *restrict data_len); ++ ++/* [private-use] list entry -- olds actual user datum */ ++struct list_entry_s { ++ void *data; ++ ++ /* doubly-linked list service references */ ++ struct list_entry_s *next; ++ struct list_entry_s *prev; ++}; ++ ++/* [private-use] list attributes */ ++struct list_attributes_s { ++ /* user-set routine for comparing list elements */ ++ element_comparator comparator; ++ /* user-set routing for seeking elements */ ++ element_seeker seeker; ++ /* user-set routine for determining the length of an element */ ++ element_meter meter; ++ int copy_data; ++ /* user-set routine for computing the hash of an element */ ++ element_hash_computer hasher; ++ /* user-set routine for serializing an element */ ++ element_serializer serializer; ++ /* user-set routine for unserializing an element */ ++ element_unserializer unserializer; ++}; ++ ++/** list object */ ++typedef struct { ++ struct list_entry_s *head_sentinel; ++ struct list_entry_s *tail_sentinel; ++ struct list_entry_s *mid; ++ ++ unsigned int numels; ++ ++ /* array of spare elements */ ++ struct list_entry_s **spareels; ++ unsigned int spareelsnum; ++ ++#ifdef SIMCLIST_WITH_THREADS ++ /* how many threads are currently running */ ++ unsigned int threadcount; ++#endif ++ ++ /* service variables for list iteration */ ++ int iter_active; ++ unsigned int iter_pos; ++ struct list_entry_s *iter_curentry; ++ ++ /* list attributes */ ++ struct list_attributes_s attrs; ++} list_t; ++ ++/** ++ * initialize a list object for use. ++ * ++ * @param l must point to a user-provided memory location ++ * @return 0 for success. -1 for failure ++ */ ++int list_init(list_t *restrict l); ++ ++/** ++ * completely remove the list from memory. ++ * ++ * This function is the inverse of list_init(). It is meant to be called when ++ * the list is no longer going to be used. Elements and possible memory taken ++ * for internal use are freed. ++ * ++ * @param l list to destroy ++ */ ++void list_destroy(list_t *restrict l); ++ ++/** ++ * set the comparator function for list elements. ++ * ++ * Comparator functions are used for searching and sorting. If NULL is passed ++ * as reference to the function, the comparator is disabled. ++ * ++ * @param l list to operate ++ * @param comparator_fun pointer to the actual comparator function ++ * @return 0 if the attribute was successfully set; -1 otherwise ++ * ++ * @see element_comparator() ++ */ ++int list_attributes_comparator(list_t *restrict l, element_comparator comparator_fun); ++ ++/** ++ * set a seeker function for list elements. ++ * ++ * Seeker functions are used for finding elements. If NULL is passed as reference ++ * to the function, the seeker is disabled. ++ * ++ * @param l list to operate ++ * @param seeker_fun pointer to the actual seeker function ++ * @return 0 if the attribute was successfully set; -1 otherwise ++ * ++ * @see element_seeker() ++ */ ++int list_attributes_seeker(list_t *restrict l, element_seeker seeker_fun); ++ ++/** ++ * require to free element data when list entry is removed (default: don't free). ++ * ++ * [ advanced preference ] ++ * ++ * By default, when an element is removed from the list, it disappears from ++ * the list by its actual data is not free()d. With this option, every ++ * deletion causes element data to be freed. ++ * ++ * It is responsability of this function to correctly handle NULL values, if ++ * NULL elements are inserted into the list. ++ * ++ * @param l list to operate ++ * @param metric_fun pointer to the actual metric function ++ * @param copy_data 0: do not free element data (default); non-0: do free ++ * @return 0 if the attribute was successfully set; -1 otherwise ++ * ++ * @see element_meter() ++ * @see list_meter_int8_t() ++ * @see list_meter_int16_t() ++ * @see list_meter_int32_t() ++ * @see list_meter_int64_t() ++ * @see list_meter_uint8_t() ++ * @see list_meter_uint16_t() ++ * @see list_meter_uint32_t() ++ * @see list_meter_uint64_t() ++ * @see list_meter_float() ++ * @see list_meter_double() ++ * @see list_meter_string() ++ */ ++int list_attributes_copy(list_t *restrict l, element_meter metric_fun, int copy_data); ++ ++/** ++ * set the element hash computing function for the list elements. ++ * ++ * [ advanced preference ] ++ * ++ * An hash can be requested depicting the list status at a given time. An hash ++ * only depends on the elements and their order. By default, the hash of an ++ * element is only computed on its reference. With this function, the user can ++ * set a custom function computing the hash of an element. If such function is ++ * provided, the list_hash() function automatically computes the list hash using ++ * the custom function instead of simply referring to element references. ++ * ++ * @param l list to operate ++ * @param hash_computer_fun pointer to the actual hash computing function ++ * @return 0 if the attribute was successfully set; -1 otherwise ++ * ++ * @see element_hash_computer() ++ */ ++int list_attributes_hash_computer(list_t *restrict l, element_hash_computer hash_computer_fun); ++ ++/** ++ * set the element serializer function for the list elements. ++ * ++ * [ advanced preference ] ++ * ++ * Serialize functions are used for dumping the list to some persistent ++ * storage. The serializer function is called for each element; it is passed ++ * a reference to the element and a reference to a size_t object. It will ++ * provide (and return) the buffer with the serialization of the element and ++ * fill the size_t object with the length of this serialization data. ++ * ++ * @param l list to operate ++ * @param serializer_fun pointer to the actual serializer function ++ * @return 0 if the attribute was successfully set; -1 otherwise ++ * ++ * @see element_serializer() ++ * @see list_dump_filedescriptor() ++ * @see list_restore_filedescriptor() ++ */ ++int list_attributes_serializer(list_t *restrict l, element_serializer serializer_fun); ++ ++/** ++ * set the element unserializer function for the list elements. ++ * ++ * [ advanced preference ] ++ * ++ * Unserialize functions are used for restoring the list from some persistent ++ * storage. The unserializer function is called for each element segment read ++ * from the storage; it is passed the segment and a reference to an integer. ++ * It shall allocate and return a buffer compiled with the resumed memory ++ * representation of the element, and set the integer value to the length of ++ * this buffer. ++ * ++ * @param l list to operate ++ * @param unserializer_fun pointer to the actual unserializer function ++ * @return 0 if the attribute was successfully set; -1 otherwise ++ * ++ * @see element_unserializer() ++ * @see list_dump_filedescriptor() ++ * @see list_restore_filedescriptor() ++ */ ++int list_attributes_unserializer(list_t *restrict l, element_unserializer unserializer_fun); ++ ++/** ++ * append data at the end of the list. ++ * ++ * This function is useful for adding elements with a FIFO/queue policy. ++ * ++ * @param l list to operate ++ * @param data pointer to user data to append ++ * ++ * @return 1 for success. < 0 for failure ++ */ ++int list_append(list_t *restrict l, const void *data); ++ ++/** ++ * insert data in the head of the list. ++ * ++ * This function is useful for adding elements with a LIFO/Stack policy. ++ * ++ * @param l list to operate ++ * @param data pointer to user data to append ++ * ++ * @return 1 for success. < 0 for failure ++ */ ++int list_prepend(list_t *restrict l, const void *restrict data); ++ ++/** ++ * extract the element in the top of the list. ++ * ++ * This function is for using a list with a FIFO/queue policy. ++ * ++ * @param l list to operate ++ * @return reference to user datum, or NULL on errors ++ */ ++void *list_fetch(list_t *restrict l); ++ ++/** ++ * retrieve an element at a given position. ++ * ++ * @param l list to operate ++ * @param pos [0,size-1] position index of the element wanted ++ * @return reference to user datum, or NULL on errors ++ */ ++void *list_get_at(const list_t *restrict l, unsigned int pos); ++ ++/** ++ * return the maximum element of the list. ++ * ++ * @warning Requires a comparator function to be set for the list. ++ * ++ * Returns the maximum element with respect to the comparator function output. ++ * ++ * @see list_attributes_comparator() ++ * ++ * @param l list to operate ++ * @return the reference to the element, or NULL ++ */ ++void *list_get_max(const list_t *restrict l); ++ ++/** ++ * return the minimum element of the list. ++ * ++ * @warning Requires a comparator function to be set for the list. ++ * ++ * Returns the minimum element with respect to the comparator function output. ++ * ++ * @see list_attributes_comparator() ++ * ++ * @param l list to operate ++ * @return the reference to the element, or NULL ++ */ ++void *list_get_min(const list_t *restrict l); ++ ++/** ++ * retrieve and remove from list an element at a given position. ++ * ++ * @param l list to operate ++ * @param pos [0,size-1] position index of the element wanted ++ * @return reference to user datum, or NULL on errors ++ */ ++void *list_extract_at(list_t *restrict l, unsigned int pos); ++ ++/** ++ * insert an element at a given position. ++ * ++ * @param l list to operate ++ * @param data reference to data to be inserted ++ * @param pos [0,size-1] position index to insert the element at ++ * @return positive value on success. Negative on failure ++ */ ++int list_insert_at(list_t *restrict l, const void *data, unsigned int pos); ++ ++/** ++ * expunge the first found given element from the list. ++ * ++ * Inspects the given list looking for the given element; if the element ++ * is found, it is removed. Only the first occurence is removed. ++ * If a comparator function was not set, elements are compared by reference. ++ * Otherwise, the comparator is used to match the element. ++ * ++ * @param l list to operate ++ * @param data reference of the element to search for ++ * @return 0 on success. Negative value on failure ++ * ++ * @see list_attributes_comparator() ++ * @see list_delete_at() ++ */ ++int list_delete(list_t *restrict l, const void *data); ++ ++/** ++ * expunge an element at a given position from the list. ++ * ++ * @param l list to operate ++ * @param pos [0,size-1] position index of the element to be deleted ++ * @return 0 on success. Negative value on failure ++ */ ++int list_delete_at(list_t *restrict l, unsigned int pos); ++ ++/** ++ * expunge an array of elements from the list, given their position range. ++ * ++ * @param l list to operate ++ * @param posstart [0,size-1] position index of the first element to be deleted ++ * @param posend [posstart,size-1] position of the last element to be deleted ++ * @return the number of elements successfully removed on success, <0 on error ++ */ ++int list_delete_range(list_t *restrict l, unsigned int posstart, unsigned int posend); ++ ++/** ++ * clear all the elements off of the list. ++ * ++ * The element datums will not be freed. ++ * ++ * @see list_delete_range() ++ * @see list_size() ++ * ++ * @param l list to operate ++ * @return the number of elements removed on success, <0 on error ++ */ ++int list_clear(list_t *restrict l); ++ ++/** ++ * inspect the number of elements in the list. ++ * ++ * @param l list to operate ++ * @return number of elements currently held by the list ++ */ ++unsigned int list_size(const list_t *restrict l); ++ ++/** ++ * inspect whether the list is empty. ++ * ++ * @param l list to operate ++ * @return 0 iff the list is not empty ++ * ++ * @see list_size() ++ */ ++int list_empty(const list_t *restrict l); ++ ++/** ++ * find the position of an element in a list. ++ * ++ * @warning Requires a comparator function to be set for the list. ++ * ++ * Inspects the given list looking for the given element; if the element ++ * is found, its position into the list is returned. ++ * Elements are inspected comparing references if a comparator has not been ++ * set. Otherwise, the comparator is used to find the element. ++ * ++ * @param l list to operate ++ * @param data reference of the element to search for ++ * @return position of element in the list, or <0 if not found ++ * ++ * @see list_attributes_comparator() ++ * @see list_get_at() ++ */ ++int list_locate(const list_t *restrict l, const void *data); ++ ++/** ++ * returns an element given an indicator. ++ * ++ * @warning Requires a seeker function to be set for the list. ++ * ++ * Inspect the given list looking with the seeker if an element matches ++ * an indicator. If such element is found, the reference to the element ++ * is returned. ++ * ++ * @param l list to operate ++ * @param indicator indicator data to pass to the seeker along with elements ++ * @return reference to the element accepted by the seeker, or NULL if none found ++ */ ++void *list_seek(list_t *restrict l, const void *indicator); ++ ++/** ++ * inspect whether some data is member of the list. ++ * ++ * @warning Requires a comparator function to be set for the list. ++ * ++ * By default, a per-reference comparison is accomplished. That is, ++ * the data is in list if any element of the list points to the same ++ * location of data. ++ * A "semantic" comparison is accomplished, otherwise, if a comparator ++ * function has been set previously, with list_attributes_comparator(); ++ * in which case, the given data reference is believed to be in list iff ++ * comparator_fun(elementdata, userdata) == 0 for any element in the list. ++ * ++ * @param l list to operate ++ * @param data reference to the data to search ++ * @return 0 iff the list does not contain data as an element ++ * ++ * @see list_attributes_comparator() ++ */ ++int list_contains(const list_t *restrict l, const void *data); ++ ++/** ++ * concatenate two lists ++ * ++ * Concatenates one list with another, and stores the result into a ++ * user-provided list object, which must be different from both the ++ * lists to concatenate. Attributes from the original lists are not ++ * cloned. ++ * The destination list referred is threated as virgin room: if it ++ * is an existing list containing elements, memory leaks will happen. ++ * It is OK to specify the same list twice as source, for "doubling" ++ * it in the destination. ++ * ++ * @param l1 base list ++ * @param l2 list to append to the base ++ * @param dest reference to the destination list ++ * @return 0 for success, -1 for errors ++ */ ++int list_concat(const list_t *l1, const list_t *l2, list_t *restrict dest); ++ ++/** ++ * sort list elements. ++ * ++ * @warning Requires a comparator function to be set for the list. ++ * ++ * Sorts the list in ascending or descending order as specified by the versus ++ * flag. The algorithm chooses autonomously what algorithm is best suited for ++ * sorting the list wrt its current status. ++ * ++ * @param l list to operate ++ * @param versus positive: order small to big; negative: order big to small ++ * @return 0 iff sorting was successful ++ * ++ * @see list_attributes_comparator() ++ */ ++int list_sort(list_t *restrict l, int versus); ++ ++/** ++ * start an iteration session. ++ * ++ * This function prepares the list to be iterated. ++ * ++ * @param l list to operate ++ * @return 0 if the list cannot be currently iterated. >0 otherwise ++ * ++ * @see list_iterator_stop() ++ */ ++int list_iterator_start(list_t *restrict l); ++ ++/** ++ * return the next element in the iteration session. ++ * ++ * @param l list to operate ++ * @return element datum, or NULL on errors ++ */ ++void *list_iterator_next(list_t *restrict l); ++ ++/** ++ * inspect whether more elements are available in the iteration session. ++ * ++ * @param l list to operate ++ * @return 0 iff no more elements are available. ++ */ ++int list_iterator_hasnext(const list_t *restrict l); ++ ++/** ++ * end an iteration session. ++ * ++ * @param l list to operate ++ * @return 0 iff the iteration session cannot be stopped ++ */ ++int list_iterator_stop(list_t *restrict l); ++ ++/** ++ * return the hash of the current status of the list. ++ * ++ * @param l list to operate ++ * @param hash where the resulting hash is put ++ * ++ * @return 0 for success; <0 for failure ++ */ ++int list_hash(const list_t *restrict l, list_hash_t *restrict hash); ++ ++#ifndef SIMCLIST_NO_DUMPRESTORE ++/** ++ * get meta informations on a list dump on filedescriptor. ++ * ++ * [ advanced function ] ++ * ++ * Extracts the meta information from a SimCList dump located in a file ++ * descriptor. The file descriptor must be open and positioned at the ++ * beginning of the SimCList dump block. ++ * ++ * @param fd file descriptor to get metadata from ++ * @param info reference to a dump metainformation structure to fill ++ * @return 0 for success; <0 for failure ++ * ++ * @see list_dump_filedescriptor() ++ */ ++int list_dump_getinfo_filedescriptor(int fd, list_dump_info_t *restrict info); ++ ++/** ++ * get meta informations on a list dump on file. ++ * ++ * [ advanced function ] ++ * ++ * Extracts the meta information from a SimCList dump located in a file. ++ * ++ * @param filename filename of the file to fetch from ++ * @param info reference to a dump metainformation structure to fill ++ * @return 0 for success; <0 for failure ++ * ++ * @see list_dump_filedescriptor() ++ */ ++int list_dump_getinfo_file(const char *restrict filename, list_dump_info_t *restrict info); ++ ++/** ++ * dump the list into an open, writable file descriptor. ++ * ++ * This function "dumps" the list to a persistent storage so it can be ++ * preserved across process terminations. ++ * When called, the file descriptor must be open for writing and positioned ++ * where the serialized data must begin. It writes its serialization of the ++ * list in a form which is portable across different architectures. Dump can ++ * be safely performed on stream-only (non seekable) descriptors. The file ++ * descriptor is not closed at the end of the operations. ++ * ++ * To use dump functions, either of these conditions must be satisfied: ++ * -# a metric function has been specified with list_attributes_copy() ++ * -# a serializer function has been specified with list_attributes_serializer() ++ * ++ * If a metric function has been specified, each element of the list is dumped ++ * as-is from memory, copying it from its pointer for its length down to the ++ * file descriptor. This might have impacts on portability of the dump to ++ * different architectures. ++ * ++ * If a serializer function has been specified, its result for each element is ++ * dumped to the file descriptor. ++ * ++ * ++ * @param l list to operate ++ * @param fd file descriptor to write to ++ * @param len location to store the resulting length of the dump (bytes), or NULL ++ * ++ * @return 0 if successful; -1 otherwise ++ * ++ * @see element_serializer() ++ * @see list_attributes_copy() ++ * @see list_attributes_serializer() ++ */ ++int list_dump_filedescriptor(const list_t *restrict l, int fd, size_t *restrict len); ++ ++/** ++ * dump the list to a file name. ++ * ++ * This function creates a filename and dumps the current content of the list ++ * to it. If the file exists it is overwritten. The number of bytes written to ++ * the file can be returned in a specified argument. ++ * ++ * @param l list to operate ++ * @param filename filename to write to ++ * @param len location to store the resulting length of the dump (bytes), or NULL ++ * ++ * @return 0 if successful; -1 otherwise ++ * ++ * @see list_attributes_copy() ++ * @see element_serializer() ++ * @see list_attributes_serializer() ++ * @see list_dump_filedescriptor() ++ * @see list_restore_file() ++ * ++ * This function stores a representation of the list ++ */ ++int list_dump_file(const list_t *restrict l, const char *restrict filename, size_t *restrict len); ++ ++/** ++ * restore the list from an open, readable file descriptor to memory. ++ * ++ * This function is the "inverse" of list_dump_filedescriptor(). It restores ++ * the list content from a (open, read-ready) file descriptor to memory. An ++ * unserializer might be needed to restore elements from the persistent ++ * representation back into memory-consistent format. List attributes can not ++ * be restored and must be set manually. ++ * ++ * @see list_dump_filedescriptor() ++ * @see list_attributes_serializer() ++ * @see list_attributes_unserializer() ++ * ++ * @param l list to restore to ++ * @param fd file descriptor to read from. ++ * @param len location to store the length of the dump read (bytes), or NULL ++ * @return 0 if successful; -1 otherwise ++ */ ++int list_restore_filedescriptor(list_t *restrict l, int fd, size_t *restrict len); ++ ++/** ++ * restore the list from a file name. ++ * ++ * This function restores the content of a list from a file into memory. It is ++ * the inverse of list_dump_file(). ++ * ++ * @see element_unserializer() ++ * @see list_attributes_unserializer() ++ * @see list_dump_file() ++ * @see list_restore_filedescriptor() ++ * ++ * @param l list to restore to ++ * @param filename filename to read data from ++ * @param len location to store the length of the dump read (bytes), or NULL ++ * @return 0 if successful; -1 otherwise ++ */ ++int list_restore_file(list_t *restrict l, const char *restrict filename, size_t *len); ++#endif ++ ++/* ready-made comparators, meters and hash computers */ ++ /* comparator functions */ ++/** ++ * ready-made comparator for int8_t elements. ++ * @see list_attributes_comparator() ++ */ ++int list_comparator_int8_t(const void *a, const void *b); ++ ++/** ++ * ready-made comparator for int16_t elements. ++ * @see list_attributes_comparator() ++ */ ++int list_comparator_int16_t(const void *a, const void *b); ++ ++/** ++ * ready-made comparator for int32_t elements. ++ * @see list_attributes_comparator() ++ */ ++int list_comparator_int32_t(const void *a, const void *b); ++ ++/** ++ * ready-made comparator for int64_t elements. ++ * @see list_attributes_comparator() ++ */ ++int list_comparator_int64_t(const void *a, const void *b); ++ ++/** ++ * ready-made comparator for uint8_t elements. ++ * @see list_attributes_comparator() ++ */ ++int list_comparator_uint8_t(const void *a, const void *b); ++ ++/** ++ * ready-made comparator for uint16_t elements. ++ * @see list_attributes_comparator() ++ */ ++int list_comparator_uint16_t(const void *a, const void *b); ++ ++/** ++ * ready-made comparator for uint32_t elements. ++ * @see list_attributes_comparator() ++ */ ++int list_comparator_uint32_t(const void *a, const void *b); ++ ++/** ++ * ready-made comparator for uint64_t elements. ++ * @see list_attributes_comparator() ++ */ ++int list_comparator_uint64_t(const void *a, const void *b); ++ ++/** ++ * ready-made comparator for float elements. ++ * @see list_attributes_comparator() ++ */ ++int list_comparator_float(const void *a, const void *b); ++ ++/** ++ * ready-made comparator for double elements. ++ * @see list_attributes_comparator() ++ */ ++int list_comparator_double(const void *a, const void *b); ++ ++/** ++ * ready-made comparator for string elements. ++ * @see list_attributes_comparator() ++ */ ++int list_comparator_string(const void *a, const void *b); ++ ++ /* metric functions */ ++/** ++ * ready-made metric function for int8_t elements. ++ * @see list_attributes_copy() ++ */ ++size_t list_meter_int8_t(const void *el); ++ ++/** ++ * ready-made metric function for int16_t elements. ++ * @see list_attributes_copy() ++ */ ++size_t list_meter_int16_t(const void *el); ++ ++/** ++ * ready-made metric function for int32_t elements. ++ * @see list_attributes_copy() ++ */ ++size_t list_meter_int32_t(const void *el); ++ ++/** ++ * ready-made metric function for int64_t elements. ++ * @see list_attributes_copy() ++ */ ++size_t list_meter_int64_t(const void *el); ++ ++/** ++ * ready-made metric function for uint8_t elements. ++ * @see list_attributes_copy() ++ */ ++size_t list_meter_uint8_t(const void *el); ++ ++/** ++ * ready-made metric function for uint16_t elements. ++ * @see list_attributes_copy() ++ */ ++size_t list_meter_uint16_t(const void *el); ++ ++/** ++ * ready-made metric function for uint32_t elements. ++ * @see list_attributes_copy() ++ */ ++size_t list_meter_uint32_t(const void *el); ++ ++/** ++ * ready-made metric function for uint64_t elements. ++ * @see list_attributes_copy() ++ */ ++size_t list_meter_uint64_t(const void *el); ++ ++/** ++ * ready-made metric function for float elements. ++ * @see list_attributes_copy() ++ */ ++size_t list_meter_float(const void *el); ++ ++/** ++ * ready-made metric function for double elements. ++ * @see list_attributes_copy() ++ */ ++size_t list_meter_double(const void *el); ++ ++/** ++ * ready-made metric function for string elements. ++ * @see list_attributes_copy() ++ */ ++size_t list_meter_string(const void *el); ++ ++ /* hash functions */ ++/** ++ * ready-made hash function for int8_t elements. ++ * @see list_attributes_hash_computer() ++ */ ++list_hash_t list_hashcomputer_int8_t(const void *el); ++ ++/** ++ * ready-made hash function for int16_t elements. ++ * @see list_attributes_hash_computer() ++ */ ++list_hash_t list_hashcomputer_int16_t(const void *el); ++ ++/** ++ * ready-made hash function for int32_t elements. ++ * @see list_attributes_hash_computer() ++ */ ++list_hash_t list_hashcomputer_int32_t(const void *el); ++ ++/** ++ * ready-made hash function for int64_t elements. ++ * @see list_attributes_hash_computer() ++ */ ++list_hash_t list_hashcomputer_int64_t(const void *el); ++ ++/** ++ * ready-made hash function for uint8_t elements. ++ * @see list_attributes_hash_computer() ++ */ ++list_hash_t list_hashcomputer_uint8_t(const void *el); ++ ++/** ++ * ready-made hash function for uint16_t elements. ++ * @see list_attributes_hash_computer() ++ */ ++list_hash_t list_hashcomputer_uint16_t(const void *el); ++ ++/** ++ * ready-made hash function for uint32_t elements. ++ * @see list_attributes_hash_computer() ++ */ ++list_hash_t list_hashcomputer_uint32_t(const void *el); ++ ++/** ++ * ready-made hash function for uint64_t elements. ++ * @see list_attributes_hash_computer() ++ */ ++list_hash_t list_hashcomputer_uint64_t(const void *el); ++ ++/** ++ * ready-made hash function for float elements. ++ * @see list_attributes_hash_computer() ++ */ ++list_hash_t list_hashcomputer_float(const void *el); ++ ++/** ++ * ready-made hash function for double elements. ++ * @see list_attributes_hash_computer() ++ */ ++list_hash_t list_hashcomputer_double(const void *el); ++ ++/** ++ * ready-made hash function for string elements. ++ * @see list_attributes_hash_computer() ++ */ ++list_hash_t list_hashcomputer_string(const void *el); ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif ++ +diff --git a/src/strlcpy.c b/src/strlcpy.c +deleted file mode 120000 +index bde77fc..0000000 +--- a/src/strlcpy.c ++++ /dev/null +@@ -1 +0,0 @@ +-../PCSC/src/strlcpy.c +\ No newline at end of file +diff --git a/src/strlcpy.c b/src/strlcpy.c +new file mode 100644 +index 0000000..437df6d +--- /dev/null ++++ b/src/strlcpy.c +@@ -0,0 +1,60 @@ ++/* $OpenBSD: strlcpy.c,v 1.10 2005/08/08 08:05:37 espie Exp $ */ ++ ++/* ++ * Copyright (c) 1998 Todd C. Miller ++ * ++ * Permission to use, copy, modify, and distribute this software for any ++ * purpose with or without fee is hereby granted, provided that the above ++ * copyright notice and this permission notice appear in all copies. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES ++ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF ++ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ++ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ++ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ++ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF ++ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ++ */ ++ ++#ifdef HAVE_CONFIG_H ++#include ++#endif ++ ++#ifndef HAVE_STRLCPY ++ ++#include ++#include ++#include "strlcpycat.h" ++ ++/* ++ * Copy src to string dst of size siz. At most siz-1 characters ++ * will be copied. Always NUL terminates (unless siz == 0). ++ * Returns strlen(src); if retval >= siz, truncation occurred. ++ */ ++size_t ++strlcpy(char *dst, const char *src, size_t siz) ++{ ++ char *d = dst; ++ const char *s = src; ++ size_t n = siz; ++ ++ /* Copy as many bytes as will fit */ ++ if (n != 0 && --n != 0) { ++ do { ++ if ((*d++ = *s++) == 0) ++ break; ++ } while (--n != 0); ++ } ++ ++ /* Not enough room in dst, add NUL and traverse rest of src */ ++ if (n == 0) { ++ if (siz != 0) ++ *d = '\0'; /* NUL-terminate dst */ ++ while (*s++) ++ ; ++ } ++ ++ return(s - src - 1); /* count does not include NUL */ ++} ++ ++#endif +diff --git a/src/strlcpycat.h b/src/strlcpycat.h +deleted file mode 120000 +index c240eca..0000000 +--- a/src/strlcpycat.h ++++ /dev/null +@@ -1 +0,0 @@ +-../PCSC/src/strlcpycat.h +\ No newline at end of file +diff --git a/src/strlcpycat.h b/src/strlcpycat.h +new file mode 100644 +index 0000000..82c264a +--- /dev/null ++++ b/src/strlcpycat.h +@@ -0,0 +1,45 @@ ++/* ++ * MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html ) ++ * ++ * Copyright (C) 2004-2010 ++ * Ludovic Rousseau ++ * ++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. The name of the author may not be used to endorse or promote products ++ derived from this software without specific prior written permission. ++ ++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. ++ */ ++ ++/** ++ * @file ++ * @brief prototypes of strlcpy()/strlcat() imported from OpenBSD ++ */ ++ ++#ifdef HAVE_STRLCPY ++#include ++#else ++size_t strlcpy(char *dst, const char *src, size_t siz); ++#endif ++ ++#ifndef HAVE_STRLCAT ++size_t strlcat(char *dst, const char *src, size_t siz); ++#endif ++ +diff --git a/src/tokenparser.c b/src/tokenparser.c +new file mode 100644 +index 0000000..352e69e +--- /dev/null ++++ b/src/tokenparser.c +@@ -0,0 +1,2020 @@ ++ ++#line 3 "tokenparser.c" ++ ++#define YY_INT_ALIGNED short int ++ ++/* A lexical scanner generated by flex */ ++ ++#define FLEX_SCANNER ++#define YY_FLEX_MAJOR_VERSION 2 ++#define YY_FLEX_MINOR_VERSION 5 ++#define YY_FLEX_SUBMINOR_VERSION 39 ++#if YY_FLEX_SUBMINOR_VERSION > 0 ++#define FLEX_BETA ++#endif ++ ++/* First, we deal with platform-specific or compiler-specific issues. */ ++ ++/* begin standard C headers. */ ++#include ++#include ++#include ++#include ++ ++/* end standard C headers. */ ++ ++/* flex integer type definitions */ ++ ++#ifndef FLEXINT_H ++#define FLEXINT_H ++ ++/* C99 systems have . Non-C99 systems may or may not. */ ++ ++#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L ++ ++/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, ++ * if you want the limit (max/min) macros for int types. ++ */ ++#ifndef __STDC_LIMIT_MACROS ++#define __STDC_LIMIT_MACROS 1 ++#endif ++ ++#include ++typedef int8_t flex_int8_t; ++typedef uint8_t flex_uint8_t; ++typedef int16_t flex_int16_t; ++typedef uint16_t flex_uint16_t; ++typedef int32_t flex_int32_t; ++typedef uint32_t flex_uint32_t; ++#else ++typedef signed char flex_int8_t; ++typedef short int flex_int16_t; ++typedef int flex_int32_t; ++typedef unsigned char flex_uint8_t; ++typedef unsigned short int flex_uint16_t; ++typedef unsigned int flex_uint32_t; ++ ++/* Limits of integral types. */ ++#ifndef INT8_MIN ++#define INT8_MIN (-128) ++#endif ++#ifndef INT16_MIN ++#define INT16_MIN (-32767-1) ++#endif ++#ifndef INT32_MIN ++#define INT32_MIN (-2147483647-1) ++#endif ++#ifndef INT8_MAX ++#define INT8_MAX (127) ++#endif ++#ifndef INT16_MAX ++#define INT16_MAX (32767) ++#endif ++#ifndef INT32_MAX ++#define INT32_MAX (2147483647) ++#endif ++#ifndef UINT8_MAX ++#define UINT8_MAX (255U) ++#endif ++#ifndef UINT16_MAX ++#define UINT16_MAX (65535U) ++#endif ++#ifndef UINT32_MAX ++#define UINT32_MAX (4294967295U) ++#endif ++ ++#endif /* ! C99 */ ++ ++#endif /* ! FLEXINT_H */ ++ ++#ifdef __cplusplus ++ ++/* The "const" storage-class-modifier is valid. */ ++#define YY_USE_CONST ++ ++#else /* ! __cplusplus */ ++ ++/* C99 requires __STDC__ to be defined as 1. */ ++#if defined (__STDC__) ++ ++#define YY_USE_CONST ++ ++#endif /* defined (__STDC__) */ ++#endif /* ! __cplusplus */ ++ ++#ifdef YY_USE_CONST ++#define yyconst const ++#else ++#define yyconst ++#endif ++ ++/* Returned upon end-of-file. */ ++#define YY_NULL 0 ++ ++/* Promotes a possibly negative, possibly signed char to an unsigned ++ * integer for use as an array index. If the signed char is negative, ++ * we want to instead treat it as an 8-bit unsigned char, hence the ++ * double cast. ++ */ ++#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) ++ ++/* Enter a start condition. This macro really ought to take a parameter, ++ * but we do it the disgusting crufty way forced on us by the ()-less ++ * definition of BEGIN. ++ */ ++#define BEGIN (yy_start) = 1 + 2 * ++ ++/* Translate the current start state into a value that can be later handed ++ * to BEGIN to return to the state. The YYSTATE alias is for lex ++ * compatibility. ++ */ ++#define YY_START (((yy_start) - 1) / 2) ++#define YYSTATE YY_START ++ ++/* Action number for EOF rule of a given start state. */ ++#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) ++ ++/* Special action meaning "start processing a new file". */ ++#define YY_NEW_FILE yyrestart(yyin ) ++ ++#define YY_END_OF_BUFFER_CHAR 0 ++ ++/* Size of default input buffer. */ ++#ifndef YY_BUF_SIZE ++#ifdef __ia64__ ++/* On IA-64, the buffer size is 16k, not 8k. ++ * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. ++ * Ditto for the __ia64__ case accordingly. ++ */ ++#define YY_BUF_SIZE 32768 ++#else ++#define YY_BUF_SIZE 16384 ++#endif /* __ia64__ */ ++#endif ++ ++/* The state buf must be large enough to hold one state per character in the main buffer. ++ */ ++#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) ++ ++#ifndef YY_TYPEDEF_YY_BUFFER_STATE ++#define YY_TYPEDEF_YY_BUFFER_STATE ++typedef struct yy_buffer_state *YY_BUFFER_STATE; ++#endif ++ ++#ifndef YY_TYPEDEF_YY_SIZE_T ++#define YY_TYPEDEF_YY_SIZE_T ++typedef size_t yy_size_t; ++#endif ++ ++extern yy_size_t yyleng; ++ ++extern FILE *yyin, *yyout; ++ ++#define EOB_ACT_CONTINUE_SCAN 0 ++#define EOB_ACT_END_OF_FILE 1 ++#define EOB_ACT_LAST_MATCH 2 ++ ++ #define YY_LESS_LINENO(n) ++ #define YY_LINENO_REWIND_TO(ptr) ++ ++/* Return all but the first "n" matched characters back to the input stream. */ ++#define yyless(n) \ ++ do \ ++ { \ ++ /* Undo effects of setting up yytext. */ \ ++ int yyless_macro_arg = (n); \ ++ YY_LESS_LINENO(yyless_macro_arg);\ ++ *yy_cp = (yy_hold_char); \ ++ YY_RESTORE_YY_MORE_OFFSET \ ++ (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ ++ YY_DO_BEFORE_ACTION; /* set up yytext again */ \ ++ } \ ++ while ( 0 ) ++ ++#define unput(c) yyunput( c, (yytext_ptr) ) ++ ++#ifndef YY_STRUCT_YY_BUFFER_STATE ++#define YY_STRUCT_YY_BUFFER_STATE ++struct yy_buffer_state ++ { ++ FILE *yy_input_file; ++ ++ char *yy_ch_buf; /* input buffer */ ++ char *yy_buf_pos; /* current position in input buffer */ ++ ++ /* Size of input buffer in bytes, not including room for EOB ++ * characters. ++ */ ++ yy_size_t yy_buf_size; ++ ++ /* Number of characters read into yy_ch_buf, not including EOB ++ * characters. ++ */ ++ yy_size_t yy_n_chars; ++ ++ /* Whether we "own" the buffer - i.e., we know we created it, ++ * and can realloc() it to grow it, and should free() it to ++ * delete it. ++ */ ++ int yy_is_our_buffer; ++ ++ /* Whether this is an "interactive" input source; if so, and ++ * if we're using stdio for input, then we want to use getc() ++ * instead of fread(), to make sure we stop fetching input after ++ * each newline. ++ */ ++ int yy_is_interactive; ++ ++ /* Whether we're considered to be at the beginning of a line. ++ * If so, '^' rules will be active on the next match, otherwise ++ * not. ++ */ ++ int yy_at_bol; ++ ++ int yy_bs_lineno; /**< The line count. */ ++ int yy_bs_column; /**< The column count. */ ++ ++ /* Whether to try to fill the input buffer when we reach the ++ * end of it. ++ */ ++ int yy_fill_buffer; ++ ++ int yy_buffer_status; ++ ++#define YY_BUFFER_NEW 0 ++#define YY_BUFFER_NORMAL 1 ++ /* When an EOF's been seen but there's still some text to process ++ * then we mark the buffer as YY_EOF_PENDING, to indicate that we ++ * shouldn't try reading from the input source any more. We might ++ * still have a bunch of tokens to match, though, because of ++ * possible backing-up. ++ * ++ * When we actually see the EOF, we change the status to "new" ++ * (via yyrestart()), so that the user can continue scanning by ++ * just pointing yyin at a new input file. ++ */ ++#define YY_BUFFER_EOF_PENDING 2 ++ ++ }; ++#endif /* !YY_STRUCT_YY_BUFFER_STATE */ ++ ++/* Stack of input buffers. */ ++static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ ++static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ ++static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ ++ ++/* We provide macros for accessing buffer states in case in the ++ * future we want to put the buffer states in a more general ++ * "scanner state". ++ * ++ * Returns the top of the stack, or NULL. ++ */ ++#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ ++ ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ ++ : NULL) ++ ++/* Same as previous macro, but useful when we know that the buffer stack is not ++ * NULL or when we need an lvalue. For internal use only. ++ */ ++#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] ++ ++/* yy_hold_char holds the character lost when yytext is formed. */ ++static char yy_hold_char; ++static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */ ++yy_size_t yyleng; ++ ++/* Points to current character in buffer. */ ++static char *yy_c_buf_p = (char *) 0; ++static int yy_init = 0; /* whether we need to initialize */ ++static int yy_start = 0; /* start state number */ ++ ++/* Flag which is used to allow yywrap()'s to do buffer switches ++ * instead of setting up a fresh yyin. A bit of a hack ... ++ */ ++static int yy_did_buffer_switch_on_eof; ++ ++void yyrestart (FILE *input_file ); ++void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ); ++YY_BUFFER_STATE yy_create_buffer (FILE *file,int size ); ++void yy_delete_buffer (YY_BUFFER_STATE b ); ++void yy_flush_buffer (YY_BUFFER_STATE b ); ++void yypush_buffer_state (YY_BUFFER_STATE new_buffer ); ++void yypop_buffer_state (void ); ++ ++static void yyensure_buffer_stack (void ); ++static void yy_load_buffer_state (void ); ++static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file ); ++ ++#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER ) ++ ++YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ); ++YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ); ++YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len ); ++ ++void *yyalloc (yy_size_t ); ++void *yyrealloc (void *,yy_size_t ); ++void yyfree (void * ); ++ ++#define yy_new_buffer yy_create_buffer ++ ++#define yy_set_interactive(is_interactive) \ ++ { \ ++ if ( ! YY_CURRENT_BUFFER ){ \ ++ yyensure_buffer_stack (); \ ++ YY_CURRENT_BUFFER_LVALUE = \ ++ yy_create_buffer(yyin,YY_BUF_SIZE ); \ ++ } \ ++ YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ ++ } ++ ++#define yy_set_bol(at_bol) \ ++ { \ ++ if ( ! YY_CURRENT_BUFFER ){\ ++ yyensure_buffer_stack (); \ ++ YY_CURRENT_BUFFER_LVALUE = \ ++ yy_create_buffer(yyin,YY_BUF_SIZE ); \ ++ } \ ++ YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ ++ } ++ ++#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) ++ ++/* Begin user sect3 */ ++ ++#define yywrap() 1 ++#define YY_SKIP_YYWRAP ++ ++typedef unsigned char YY_CHAR; ++ ++FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; ++ ++typedef int yy_state_type; ++ ++extern int yylineno; ++ ++int yylineno = 1; ++ ++extern char *yytext; ++#define yytext_ptr yytext ++ ++static yy_state_type yy_get_previous_state (void ); ++static yy_state_type yy_try_NUL_trans (yy_state_type current_state ); ++static int yy_get_next_buffer (void ); ++static void yy_fatal_error (yyconst char msg[] ); ++ ++/* Done after the current pattern has been matched and before the ++ * corresponding action - sets up yytext. ++ */ ++#define YY_DO_BEFORE_ACTION \ ++ (yytext_ptr) = yy_bp; \ ++ yyleng = (size_t) (yy_cp - yy_bp); \ ++ (yy_hold_char) = *yy_cp; \ ++ *yy_cp = '\0'; \ ++ (yy_c_buf_p) = yy_cp; ++ ++#define YY_NUM_RULES 7 ++#define YY_END_OF_BUFFER 8 ++/* This struct is not used in this scanner, ++ but its presence is necessary. */ ++struct yy_trans_info ++ { ++ flex_int32_t yy_verify; ++ flex_int32_t yy_nxt; ++ }; ++static yyconst flex_int16_t yy_accept[39] = ++ { 0, ++ 0, 0, 8, 6, 4, 2, 1, 6, 1, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, ++ 0, 0, 0, 0, 0, 0, 5, 0 ++ } ; ++ ++static yyconst flex_int32_t yy_ec[256] = ++ { 0, ++ 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ++ 1, 2, 4, 4, 5, 4, 4, 4, 4, 4, ++ 4, 4, 4, 4, 4, 4, 6, 7, 7, 7, ++ 7, 7, 7, 7, 7, 7, 7, 4, 4, 8, ++ 4, 9, 4, 4, 10, 10, 10, 10, 10, 10, ++ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, ++ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, ++ 4, 1, 4, 4, 4, 1, 11, 11, 11, 11, ++ ++ 12, 11, 13, 11, 14, 11, 15, 11, 11, 16, ++ 11, 11, 11, 17, 18, 19, 11, 11, 11, 11, ++ 20, 11, 1, 1, 1, 4, 1, 1, 1, 1, ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ++ ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ++ 1, 1, 1, 1, 1 ++ } ; ++ ++static yyconst flex_int32_t yy_meta[21] = ++ { 0, ++ 1, 2, 3, 4, 4, 4, 2, 1, 1, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 ++ } ; ++ ++static yyconst flex_int16_t yy_base[43] = ++ { 0, ++ 0, 7, 49, 50, 50, 50, 0, 1, 0, 36, ++ 28, 26, 28, 35, 29, 0, 26, 33, 27, 33, ++ 29, 22, 0, 24, 27, 14, 27, 23, 13, 50, ++ 10, 9, 4, 1, 0, 2, 50, 50, 19, 23, ++ 2, 26 ++ } ; ++ ++static yyconst flex_int16_t yy_def[43] = ++ { 0, ++ 39, 39, 38, 38, 38, 38, 40, 38, 40, 38, ++ 38, 38, 38, 38, 38, 41, 38, 41, 38, 38, ++ 38, 38, 42, 38, 42, 38, 38, 38, 38, 38, ++ 38, 38, 38, 38, 38, 38, 38, 0, 38, 38, ++ 38, 38 ++ } ; ++ ++static yyconst flex_int16_t yy_nxt[71] = ++ { 0, ++ 38, 5, 6, 18, 7, 38, 38, 8, 5, 6, ++ 37, 7, 36, 38, 8, 10, 35, 34, 11, 4, ++ 4, 4, 4, 9, 9, 33, 9, 25, 32, 25, ++ 31, 30, 29, 28, 27, 26, 24, 23, 22, 21, ++ 20, 19, 17, 16, 15, 14, 13, 12, 38, 3, ++ 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, ++ 38, 38, 38, 38, 38, 38, 38, 38, 38, 38 ++ } ; ++ ++static yyconst flex_int16_t yy_chk[71] = ++ { 0, ++ 0, 1, 1, 41, 1, 0, 0, 1, 2, 2, ++ 36, 2, 35, 0, 2, 8, 34, 33, 8, 39, ++ 39, 39, 39, 40, 40, 32, 40, 42, 31, 42, ++ 29, 28, 27, 26, 25, 24, 22, 21, 20, 19, ++ 18, 17, 15, 14, 13, 12, 11, 10, 3, 38, ++ 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, ++ 38, 38, 38, 38, 38, 38, 38, 38, 38, 38 ++ } ; ++ ++static yy_state_type yy_last_accepting_state; ++static char *yy_last_accepting_cpos; ++ ++extern int yy_flex_debug; ++int yy_flex_debug = 0; ++ ++/* The intent behind this definition is that it'll catch ++ * any uses of REJECT which flex missed. ++ */ ++#define REJECT reject_used_but_not_detected ++#define yymore() yymore_used_but_not_detected ++#define YY_MORE_ADJ 0 ++#define YY_RESTORE_YY_MORE_OFFSET ++char *yytext; ++#line 1 "tokenparser.l" ++/* ++ * Reads lexical config files and updates database. ++ * ++ * MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html ) ++ * ++ * Copyright (C) 2001-2003 ++ * David Corcoran ++ * Copyright (C) 2003-2010 ++ * Ludovic Rousseau ++ * ++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. The name of the author may not be used to endorse or promote products ++ derived from this software without specific prior written permission. ++ ++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. ++ */ ++/** ++ * @file ++ * @brief provides parsing functions for Info.plist files ++ * platforms ++ */ ++#line 42 "tokenparser.l" ++ ++#include "config.h" ++#include ++#include ++#include ++#define NDEBUG ++#include ++ ++#include "simclist.h" ++#include "debuglog.h" ++#include "parser.h" ++ ++static void eval_key(char *pcToken, list_t *list_key); ++static void eval_value(char *pcToken, list_t *list_values); ++void tperrorCheck (char *pcToken_error); ++ ++static list_t *ListKeys; ++static list_t *ListValues; ++ ++#define YY_NO_INPUT 1 ++#line 545 "tokenparser.c" ++ ++#define INITIAL 0 ++ ++#ifndef YY_NO_UNISTD_H ++/* Special case for "unistd.h", since it is non-ANSI. We include it way ++ * down here because we want the user's section 1 to have been scanned first. ++ * The user has a chance to override it with an option. ++ */ ++#include ++#endif ++ ++#ifndef YY_EXTRA_TYPE ++#define YY_EXTRA_TYPE void * ++#endif ++ ++static int yy_init_globals (void ); ++ ++/* Accessor methods to globals. ++ These are made visible to non-reentrant scanners for convenience. */ ++ ++int yylex_destroy (void ); ++ ++int yyget_debug (void ); ++ ++void yyset_debug (int debug_flag ); ++ ++YY_EXTRA_TYPE yyget_extra (void ); ++ ++void yyset_extra (YY_EXTRA_TYPE user_defined ); ++ ++FILE *yyget_in (void ); ++ ++void yyset_in (FILE * in_str ); ++ ++FILE *yyget_out (void ); ++ ++void yyset_out (FILE * out_str ); ++ ++yy_size_t yyget_leng (void ); ++ ++char *yyget_text (void ); ++ ++int yyget_lineno (void ); ++ ++void yyset_lineno (int line_number ); ++ ++/* Macros after this point can all be overridden by user definitions in ++ * section 1. ++ */ ++ ++#ifndef YY_SKIP_YYWRAP ++#ifdef __cplusplus ++extern "C" int yywrap (void ); ++#else ++extern int yywrap (void ); ++#endif ++#endif ++ ++#ifndef yytext_ptr ++static void yy_flex_strncpy (char *,yyconst char *,int ); ++#endif ++ ++#ifdef YY_NEED_STRLEN ++static int yy_flex_strlen (yyconst char * ); ++#endif ++ ++#ifndef YY_NO_INPUT ++ ++#ifdef __cplusplus ++static int yyinput (void ); ++#else ++static int input (void ); ++#endif ++ ++#endif ++ ++/* Amount of stuff to slurp up with each read. */ ++#ifndef YY_READ_BUF_SIZE ++#ifdef __ia64__ ++/* On IA-64, the buffer size is 16k, not 8k */ ++#define YY_READ_BUF_SIZE 16384 ++#else ++#define YY_READ_BUF_SIZE 8192 ++#endif /* __ia64__ */ ++#endif ++ ++/* Copy whatever the last rule matched to the standard output. */ ++#ifndef ECHO ++/* This used to be an fputs(), but since the string might contain NUL's, ++ * we now use fwrite(). ++ */ ++#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) ++#endif ++ ++/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, ++ * is returned in "result". ++ */ ++#ifndef YY_INPUT ++#define YY_INPUT(buf,result,max_size) \ ++ if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ ++ { \ ++ int c = '*'; \ ++ size_t n; \ ++ for ( n = 0; n < max_size && \ ++ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ ++ buf[n] = (char) c; \ ++ if ( c == '\n' ) \ ++ buf[n++] = (char) c; \ ++ if ( c == EOF && ferror( yyin ) ) \ ++ YY_FATAL_ERROR( "input in flex scanner failed" ); \ ++ result = n; \ ++ } \ ++ else \ ++ { \ ++ errno=0; \ ++ while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ ++ { \ ++ if( errno != EINTR) \ ++ { \ ++ YY_FATAL_ERROR( "input in flex scanner failed" ); \ ++ break; \ ++ } \ ++ errno=0; \ ++ clearerr(yyin); \ ++ } \ ++ }\ ++\ ++ ++#endif ++ ++/* No semi-colon after return; correct usage is to write "yyterminate();" - ++ * we don't want an extra ';' after the "return" because that will cause ++ * some compilers to complain about unreachable statements. ++ */ ++#ifndef yyterminate ++#define yyterminate() return YY_NULL ++#endif ++ ++/* Number of entries by which start-condition stack grows. */ ++#ifndef YY_START_STACK_INCR ++#define YY_START_STACK_INCR 25 ++#endif ++ ++/* Report a fatal error. */ ++#ifndef YY_FATAL_ERROR ++#define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) ++#endif ++ ++/* end tables serialization structures and prototypes */ ++ ++/* Default declaration of generated scanner - a define so the user can ++ * easily add parameters. ++ */ ++#ifndef YY_DECL ++#define YY_DECL_IS_OURS 1 ++ ++extern int yylex (void); ++ ++#define YY_DECL int yylex (void) ++#endif /* !YY_DECL */ ++ ++/* Code executed at the beginning of each rule, after yytext and yyleng ++ * have been set up. ++ */ ++#ifndef YY_USER_ACTION ++#define YY_USER_ACTION ++#endif ++ ++/* Code executed at the end of each rule. */ ++#ifndef YY_BREAK ++#define YY_BREAK break; ++#endif ++ ++#define YY_RULE_SETUP \ ++ YY_USER_ACTION ++ ++/** The main scanner function which does all the work. ++ */ ++YY_DECL ++{ ++ register yy_state_type yy_current_state; ++ register char *yy_cp, *yy_bp; ++ register int yy_act; ++ ++ if ( !(yy_init) ) ++ { ++ (yy_init) = 1; ++ ++#ifdef YY_USER_INIT ++ YY_USER_INIT; ++#endif ++ ++ if ( ! (yy_start) ) ++ (yy_start) = 1; /* first start state */ ++ ++ if ( ! yyin ) ++ yyin = stdin; ++ ++ if ( ! yyout ) ++ yyout = stdout; ++ ++ if ( ! YY_CURRENT_BUFFER ) { ++ yyensure_buffer_stack (); ++ YY_CURRENT_BUFFER_LVALUE = ++ yy_create_buffer(yyin,YY_BUF_SIZE ); ++ } ++ ++ yy_load_buffer_state( ); ++ } ++ ++ { ++#line 67 "tokenparser.l" ++ ++ ++#line 760 "tokenparser.c" ++ ++ while ( 1 ) /* loops until end-of-file is reached */ ++ { ++ yy_cp = (yy_c_buf_p); ++ ++ /* Support of yytext. */ ++ *yy_cp = (yy_hold_char); ++ ++ /* yy_bp points to the position in yy_ch_buf of the start of ++ * the current run. ++ */ ++ yy_bp = yy_cp; ++ ++ yy_current_state = (yy_start); ++yy_match: ++ do ++ { ++ register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ; ++ if ( yy_accept[yy_current_state] ) ++ { ++ (yy_last_accepting_state) = yy_current_state; ++ (yy_last_accepting_cpos) = yy_cp; ++ } ++ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) ++ { ++ yy_current_state = (int) yy_def[yy_current_state]; ++ if ( yy_current_state >= 39 ) ++ yy_c = yy_meta[(unsigned int) yy_c]; ++ } ++ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++ ++yy_cp; ++ } ++ while ( yy_base[yy_current_state] != 50 ); ++ ++yy_find_action: ++ yy_act = yy_accept[yy_current_state]; ++ if ( yy_act == 0 ) ++ { /* have to back up */ ++ yy_cp = (yy_last_accepting_cpos); ++ yy_current_state = (yy_last_accepting_state); ++ yy_act = yy_accept[yy_current_state]; ++ } ++ ++ YY_DO_BEFORE_ACTION; ++ ++do_action: /* This label is used only to access EOF actions. */ ++ ++ switch ( yy_act ) ++ { /* beginning of action switch */ ++ case 0: /* must back up */ ++ /* undo the effects of YY_DO_BEFORE_ACTION */ ++ *yy_cp = (yy_hold_char); ++ yy_cp = (yy_last_accepting_cpos); ++ yy_current_state = (yy_last_accepting_state); ++ goto yy_find_action; ++ ++case 1: ++YY_RULE_SETUP ++#line 69 "tokenparser.l" ++{} ++ YY_BREAK ++case 2: ++/* rule 2 can match eol */ ++YY_RULE_SETUP ++#line 70 "tokenparser.l" ++{} ++ YY_BREAK ++case 3: ++YY_RULE_SETUP ++#line 71 "tokenparser.l" ++{ eval_key(yytext, ListKeys); } ++ YY_BREAK ++case 4: ++YY_RULE_SETUP ++#line 72 "tokenparser.l" ++{} ++ YY_BREAK ++case 5: ++YY_RULE_SETUP ++#line 73 "tokenparser.l" ++{ eval_value(yytext, ListValues); } ++ YY_BREAK ++case 6: ++YY_RULE_SETUP ++#line 74 "tokenparser.l" ++{ tperrorCheck(yytext); } ++ YY_BREAK ++case 7: ++YY_RULE_SETUP ++#line 75 "tokenparser.l" ++ECHO; ++ YY_BREAK ++#line 853 "tokenparser.c" ++case YY_STATE_EOF(INITIAL): ++ yyterminate(); ++ ++ case YY_END_OF_BUFFER: ++ { ++ /* Amount of text matched not including the EOB char. */ ++ int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; ++ ++ /* Undo the effects of YY_DO_BEFORE_ACTION. */ ++ *yy_cp = (yy_hold_char); ++ YY_RESTORE_YY_MORE_OFFSET ++ ++ if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) ++ { ++ /* We're scanning a new file or input source. It's ++ * possible that this happened because the user ++ * just pointed yyin at a new source and called ++ * yylex(). If so, then we have to assure ++ * consistency between YY_CURRENT_BUFFER and our ++ * globals. Here is the right place to do so, because ++ * this is the first action (other than possibly a ++ * back-up) that will match for the new input source. ++ */ ++ (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; ++ YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; ++ YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; ++ } ++ ++ /* Note that here we test for yy_c_buf_p "<=" to the position ++ * of the first EOB in the buffer, since yy_c_buf_p will ++ * already have been incremented past the NUL character ++ * (since all states make transitions on EOB to the ++ * end-of-buffer state). Contrast this with the test ++ * in input(). ++ */ ++ if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) ++ { /* This was really a NUL. */ ++ yy_state_type yy_next_state; ++ ++ (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; ++ ++ yy_current_state = yy_get_previous_state( ); ++ ++ /* Okay, we're now positioned to make the NUL ++ * transition. We couldn't have ++ * yy_get_previous_state() go ahead and do it ++ * for us because it doesn't know how to deal ++ * with the possibility of jamming (and we don't ++ * want to build jamming into it because then it ++ * will run more slowly). ++ */ ++ ++ yy_next_state = yy_try_NUL_trans( yy_current_state ); ++ ++ yy_bp = (yytext_ptr) + YY_MORE_ADJ; ++ ++ if ( yy_next_state ) ++ { ++ /* Consume the NUL. */ ++ yy_cp = ++(yy_c_buf_p); ++ yy_current_state = yy_next_state; ++ goto yy_match; ++ } ++ ++ else ++ { ++ yy_cp = (yy_c_buf_p); ++ goto yy_find_action; ++ } ++ } ++ ++ else switch ( yy_get_next_buffer( ) ) ++ { ++ case EOB_ACT_END_OF_FILE: ++ { ++ (yy_did_buffer_switch_on_eof) = 0; ++ ++ if ( yywrap( ) ) ++ { ++ /* Note: because we've taken care in ++ * yy_get_next_buffer() to have set up ++ * yytext, we can now set up ++ * yy_c_buf_p so that if some total ++ * hoser (like flex itself) wants to ++ * call the scanner after we return the ++ * YY_NULL, it'll still work - another ++ * YY_NULL will get returned. ++ */ ++ (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; ++ ++ yy_act = YY_STATE_EOF(YY_START); ++ goto do_action; ++ } ++ ++ else ++ { ++ if ( ! (yy_did_buffer_switch_on_eof) ) ++ YY_NEW_FILE; ++ } ++ break; ++ } ++ ++ case EOB_ACT_CONTINUE_SCAN: ++ (yy_c_buf_p) = ++ (yytext_ptr) + yy_amount_of_matched_text; ++ ++ yy_current_state = yy_get_previous_state( ); ++ ++ yy_cp = (yy_c_buf_p); ++ yy_bp = (yytext_ptr) + YY_MORE_ADJ; ++ goto yy_match; ++ ++ case EOB_ACT_LAST_MATCH: ++ (yy_c_buf_p) = ++ &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; ++ ++ yy_current_state = yy_get_previous_state( ); ++ ++ yy_cp = (yy_c_buf_p); ++ yy_bp = (yytext_ptr) + YY_MORE_ADJ; ++ goto yy_find_action; ++ } ++ break; ++ } ++ ++ default: ++ YY_FATAL_ERROR( ++ "fatal flex scanner internal error--no action found" ); ++ } /* end of action switch */ ++ } /* end of scanning one token */ ++ } /* end of user's declarations */ ++} /* end of yylex */ ++ ++/* yy_get_next_buffer - try to read in a new buffer ++ * ++ * Returns a code representing an action: ++ * EOB_ACT_LAST_MATCH - ++ * EOB_ACT_CONTINUE_SCAN - continue scanning from current position ++ * EOB_ACT_END_OF_FILE - end of file ++ */ ++static int yy_get_next_buffer (void) ++{ ++ register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; ++ register char *source = (yytext_ptr); ++ register int number_to_move, i; ++ int ret_val; ++ ++ if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) ++ YY_FATAL_ERROR( ++ "fatal flex scanner internal error--end of buffer missed" ); ++ ++ if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) ++ { /* Don't try to fill the buffer, so this is an EOF. */ ++ if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) ++ { ++ /* We matched a single character, the EOB, so ++ * treat this as a final EOF. ++ */ ++ return EOB_ACT_END_OF_FILE; ++ } ++ ++ else ++ { ++ /* We matched some text prior to the EOB, first ++ * process it. ++ */ ++ return EOB_ACT_LAST_MATCH; ++ } ++ } ++ ++ /* Try to read more data. */ ++ ++ /* First move last chars to start of buffer. */ ++ number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1; ++ ++ for ( i = 0; i < number_to_move; ++i ) ++ *(dest++) = *(source++); ++ ++ if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) ++ /* don't do the read, it's not guaranteed to return an EOF, ++ * just force an EOF ++ */ ++ YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; ++ ++ else ++ { ++ yy_size_t num_to_read = ++ YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; ++ ++ while ( num_to_read <= 0 ) ++ { /* Not enough room in the buffer - grow it. */ ++ ++ /* just a shorter name for the current buffer */ ++ YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE; ++ ++ int yy_c_buf_p_offset = ++ (int) ((yy_c_buf_p) - b->yy_ch_buf); ++ ++ if ( b->yy_is_our_buffer ) ++ { ++ yy_size_t new_size = b->yy_buf_size * 2; ++ ++ if ( new_size <= 0 ) ++ b->yy_buf_size += b->yy_buf_size / 8; ++ else ++ b->yy_buf_size *= 2; ++ ++ b->yy_ch_buf = (char *) ++ /* Include room in for 2 EOB chars. */ ++ yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ); ++ } ++ else ++ /* Can't grow it, we don't own it. */ ++ b->yy_ch_buf = 0; ++ ++ if ( ! b->yy_ch_buf ) ++ YY_FATAL_ERROR( ++ "fatal error - scanner input buffer overflow" ); ++ ++ (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset]; ++ ++ num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - ++ number_to_move - 1; ++ ++ } ++ ++ if ( num_to_read > YY_READ_BUF_SIZE ) ++ num_to_read = YY_READ_BUF_SIZE; ++ ++ /* Read in more data. */ ++ YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), ++ (yy_n_chars), num_to_read ); ++ ++ YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); ++ } ++ ++ if ( (yy_n_chars) == 0 ) ++ { ++ if ( number_to_move == YY_MORE_ADJ ) ++ { ++ ret_val = EOB_ACT_END_OF_FILE; ++ yyrestart(yyin ); ++ } ++ ++ else ++ { ++ ret_val = EOB_ACT_LAST_MATCH; ++ YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = ++ YY_BUFFER_EOF_PENDING; ++ } ++ } ++ ++ else ++ ret_val = EOB_ACT_CONTINUE_SCAN; ++ ++ if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { ++ /* Extend the array by 50%, plus the number we really need. */ ++ yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); ++ YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); ++ if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) ++ YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); ++ } ++ ++ (yy_n_chars) += number_to_move; ++ YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; ++ YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; ++ ++ (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; ++ ++ return ret_val; ++} ++ ++/* yy_get_previous_state - get the state just before the EOB char was reached */ ++ ++ static yy_state_type yy_get_previous_state (void) ++{ ++ register yy_state_type yy_current_state; ++ register char *yy_cp; ++ ++ yy_current_state = (yy_start); ++ ++ for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) ++ { ++ register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); ++ if ( yy_accept[yy_current_state] ) ++ { ++ (yy_last_accepting_state) = yy_current_state; ++ (yy_last_accepting_cpos) = yy_cp; ++ } ++ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) ++ { ++ yy_current_state = (int) yy_def[yy_current_state]; ++ if ( yy_current_state >= 39 ) ++ yy_c = yy_meta[(unsigned int) yy_c]; ++ } ++ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++ } ++ ++ return yy_current_state; ++} ++ ++/* yy_try_NUL_trans - try to make a transition on the NUL character ++ * ++ * synopsis ++ * next_state = yy_try_NUL_trans( current_state ); ++ */ ++ static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) ++{ ++ register int yy_is_jam; ++ register char *yy_cp = (yy_c_buf_p); ++ ++ register YY_CHAR yy_c = 1; ++ if ( yy_accept[yy_current_state] ) ++ { ++ (yy_last_accepting_state) = yy_current_state; ++ (yy_last_accepting_cpos) = yy_cp; ++ } ++ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) ++ { ++ yy_current_state = (int) yy_def[yy_current_state]; ++ if ( yy_current_state >= 39 ) ++ yy_c = yy_meta[(unsigned int) yy_c]; ++ } ++ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++ yy_is_jam = (yy_current_state == 38); ++ ++ return yy_is_jam ? 0 : yy_current_state; ++} ++ ++#ifndef YY_NO_INPUT ++#ifdef __cplusplus ++ static int yyinput (void) ++#else ++ static int input (void) ++#endif ++ ++{ ++ int c; ++ ++ *(yy_c_buf_p) = (yy_hold_char); ++ ++ if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) ++ { ++ /* yy_c_buf_p now points to the character we want to return. ++ * If this occurs *before* the EOB characters, then it's a ++ * valid NUL; if not, then we've hit the end of the buffer. ++ */ ++ if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) ++ /* This was really a NUL. */ ++ *(yy_c_buf_p) = '\0'; ++ ++ else ++ { /* need more input */ ++ yy_size_t offset = (yy_c_buf_p) - (yytext_ptr); ++ ++(yy_c_buf_p); ++ ++ switch ( yy_get_next_buffer( ) ) ++ { ++ case EOB_ACT_LAST_MATCH: ++ /* This happens because yy_g_n_b() ++ * sees that we've accumulated a ++ * token and flags that we need to ++ * try matching the token before ++ * proceeding. But for input(), ++ * there's no matching to consider. ++ * So convert the EOB_ACT_LAST_MATCH ++ * to EOB_ACT_END_OF_FILE. ++ */ ++ ++ /* Reset buffer status. */ ++ yyrestart(yyin ); ++ ++ /*FALLTHROUGH*/ ++ ++ case EOB_ACT_END_OF_FILE: ++ { ++ if ( yywrap( ) ) ++ return EOF; ++ ++ if ( ! (yy_did_buffer_switch_on_eof) ) ++ YY_NEW_FILE; ++#ifdef __cplusplus ++ return yyinput(); ++#else ++ return input(); ++#endif ++ } ++ ++ case EOB_ACT_CONTINUE_SCAN: ++ (yy_c_buf_p) = (yytext_ptr) + offset; ++ break; ++ } ++ } ++ } ++ ++ c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ ++ *(yy_c_buf_p) = '\0'; /* preserve yytext */ ++ (yy_hold_char) = *++(yy_c_buf_p); ++ ++ return c; ++} ++#endif /* ifndef YY_NO_INPUT */ ++ ++/** Immediately switch to a different input stream. ++ * @param input_file A readable stream. ++ * ++ * @note This function does not reset the start condition to @c INITIAL . ++ */ ++ void yyrestart (FILE * input_file ) ++{ ++ ++ if ( ! YY_CURRENT_BUFFER ){ ++ yyensure_buffer_stack (); ++ YY_CURRENT_BUFFER_LVALUE = ++ yy_create_buffer(yyin,YY_BUF_SIZE ); ++ } ++ ++ yy_init_buffer(YY_CURRENT_BUFFER,input_file ); ++ yy_load_buffer_state( ); ++} ++ ++/** Switch to a different input buffer. ++ * @param new_buffer The new input buffer. ++ * ++ */ ++ void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ) ++{ ++ ++ /* TODO. We should be able to replace this entire function body ++ * with ++ * yypop_buffer_state(); ++ * yypush_buffer_state(new_buffer); ++ */ ++ yyensure_buffer_stack (); ++ if ( YY_CURRENT_BUFFER == new_buffer ) ++ return; ++ ++ if ( YY_CURRENT_BUFFER ) ++ { ++ /* Flush out information for old buffer. */ ++ *(yy_c_buf_p) = (yy_hold_char); ++ YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); ++ YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); ++ } ++ ++ YY_CURRENT_BUFFER_LVALUE = new_buffer; ++ yy_load_buffer_state( ); ++ ++ /* We don't actually know whether we did this switch during ++ * EOF (yywrap()) processing, but the only time this flag ++ * is looked at is after yywrap() is called, so it's safe ++ * to go ahead and always set it. ++ */ ++ (yy_did_buffer_switch_on_eof) = 1; ++} ++ ++static void yy_load_buffer_state (void) ++{ ++ (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; ++ (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; ++ yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; ++ (yy_hold_char) = *(yy_c_buf_p); ++} ++ ++/** Allocate and initialize an input buffer state. ++ * @param file A readable stream. ++ * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. ++ * ++ * @return the allocated buffer state. ++ */ ++ YY_BUFFER_STATE yy_create_buffer (FILE * file, int size ) ++{ ++ YY_BUFFER_STATE b; ++ ++ b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); ++ if ( ! b ) ++ YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); ++ ++ b->yy_buf_size = size; ++ ++ /* yy_ch_buf has to be 2 characters longer than the size given because ++ * we need to put in 2 end-of-buffer characters. ++ */ ++ b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 ); ++ if ( ! b->yy_ch_buf ) ++ YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); ++ ++ b->yy_is_our_buffer = 1; ++ ++ yy_init_buffer(b,file ); ++ ++ return b; ++} ++ ++/** Destroy the buffer. ++ * @param b a buffer created with yy_create_buffer() ++ * ++ */ ++ void yy_delete_buffer (YY_BUFFER_STATE b ) ++{ ++ ++ if ( ! b ) ++ return; ++ ++ if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ ++ YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; ++ ++ if ( b->yy_is_our_buffer ) ++ yyfree((void *) b->yy_ch_buf ); ++ ++ yyfree((void *) b ); ++} ++ ++/* Initializes or reinitializes a buffer. ++ * This function is sometimes called more than once on the same buffer, ++ * such as during a yyrestart() or at EOF. ++ */ ++ static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file ) ++ ++{ ++ int oerrno = errno; ++ ++ yy_flush_buffer(b ); ++ ++ b->yy_input_file = file; ++ b->yy_fill_buffer = 1; ++ ++ /* If b is the current buffer, then yy_init_buffer was _probably_ ++ * called from yyrestart() or through yy_get_next_buffer. ++ * In that case, we don't want to reset the lineno or column. ++ */ ++ if (b != YY_CURRENT_BUFFER){ ++ b->yy_bs_lineno = 1; ++ b->yy_bs_column = 0; ++ } ++ ++ b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; ++ ++ errno = oerrno; ++} ++ ++/** Discard all buffered characters. On the next scan, YY_INPUT will be called. ++ * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. ++ * ++ */ ++ void yy_flush_buffer (YY_BUFFER_STATE b ) ++{ ++ if ( ! b ) ++ return; ++ ++ b->yy_n_chars = 0; ++ ++ /* We always need two end-of-buffer characters. The first causes ++ * a transition to the end-of-buffer state. The second causes ++ * a jam in that state. ++ */ ++ b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; ++ b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; ++ ++ b->yy_buf_pos = &b->yy_ch_buf[0]; ++ ++ b->yy_at_bol = 1; ++ b->yy_buffer_status = YY_BUFFER_NEW; ++ ++ if ( b == YY_CURRENT_BUFFER ) ++ yy_load_buffer_state( ); ++} ++ ++/** Pushes the new state onto the stack. The new state becomes ++ * the current state. This function will allocate the stack ++ * if necessary. ++ * @param new_buffer The new state. ++ * ++ */ ++void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) ++{ ++ if (new_buffer == NULL) ++ return; ++ ++ yyensure_buffer_stack(); ++ ++ /* This block is copied from yy_switch_to_buffer. */ ++ if ( YY_CURRENT_BUFFER ) ++ { ++ /* Flush out information for old buffer. */ ++ *(yy_c_buf_p) = (yy_hold_char); ++ YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); ++ YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); ++ } ++ ++ /* Only push if top exists. Otherwise, replace top. */ ++ if (YY_CURRENT_BUFFER) ++ (yy_buffer_stack_top)++; ++ YY_CURRENT_BUFFER_LVALUE = new_buffer; ++ ++ /* copied from yy_switch_to_buffer. */ ++ yy_load_buffer_state( ); ++ (yy_did_buffer_switch_on_eof) = 1; ++} ++ ++/** Removes and deletes the top of the stack, if present. ++ * The next element becomes the new top. ++ * ++ */ ++void yypop_buffer_state (void) ++{ ++ if (!YY_CURRENT_BUFFER) ++ return; ++ ++ yy_delete_buffer(YY_CURRENT_BUFFER ); ++ YY_CURRENT_BUFFER_LVALUE = NULL; ++ if ((yy_buffer_stack_top) > 0) ++ --(yy_buffer_stack_top); ++ ++ if (YY_CURRENT_BUFFER) { ++ yy_load_buffer_state( ); ++ (yy_did_buffer_switch_on_eof) = 1; ++ } ++} ++ ++/* Allocates the stack if it does not exist. ++ * Guarantees space for at least one push. ++ */ ++static void yyensure_buffer_stack (void) ++{ ++ yy_size_t num_to_alloc; ++ ++ if (!(yy_buffer_stack)) { ++ ++ /* First allocation is just for 2 elements, since we don't know if this ++ * scanner will even need a stack. We use 2 instead of 1 to avoid an ++ * immediate realloc on the next call. ++ */ ++ num_to_alloc = 1; ++ (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc ++ (num_to_alloc * sizeof(struct yy_buffer_state*) ++ ); ++ if ( ! (yy_buffer_stack) ) ++ YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); ++ ++ memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); ++ ++ (yy_buffer_stack_max) = num_to_alloc; ++ (yy_buffer_stack_top) = 0; ++ return; ++ } ++ ++ if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ ++ ++ /* Increase the buffer to prepare for a possible push. */ ++ int grow_size = 8 /* arbitrary grow size */; ++ ++ num_to_alloc = (yy_buffer_stack_max) + grow_size; ++ (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc ++ ((yy_buffer_stack), ++ num_to_alloc * sizeof(struct yy_buffer_state*) ++ ); ++ if ( ! (yy_buffer_stack) ) ++ YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); ++ ++ /* zero only the new slots.*/ ++ memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); ++ (yy_buffer_stack_max) = num_to_alloc; ++ } ++} ++ ++/** Setup the input buffer state to scan directly from a user-specified character buffer. ++ * @param base the character buffer ++ * @param size the size in bytes of the character buffer ++ * ++ * @return the newly allocated buffer state object. ++ */ ++YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) ++{ ++ YY_BUFFER_STATE b; ++ ++ if ( size < 2 || ++ base[size-2] != YY_END_OF_BUFFER_CHAR || ++ base[size-1] != YY_END_OF_BUFFER_CHAR ) ++ /* They forgot to leave room for the EOB's. */ ++ return 0; ++ ++ b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); ++ if ( ! b ) ++ YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); ++ ++ b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ ++ b->yy_buf_pos = b->yy_ch_buf = base; ++ b->yy_is_our_buffer = 0; ++ b->yy_input_file = 0; ++ b->yy_n_chars = b->yy_buf_size; ++ b->yy_is_interactive = 0; ++ b->yy_at_bol = 1; ++ b->yy_fill_buffer = 0; ++ b->yy_buffer_status = YY_BUFFER_NEW; ++ ++ yy_switch_to_buffer(b ); ++ ++ return b; ++} ++ ++/** Setup the input buffer state to scan a string. The next call to yylex() will ++ * scan from a @e copy of @a str. ++ * @param yystr a NUL-terminated string to scan ++ * ++ * @return the newly allocated buffer state object. ++ * @note If you want to scan bytes that may contain NUL values, then use ++ * yy_scan_bytes() instead. ++ */ ++YY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) ++{ ++ ++ return yy_scan_bytes(yystr,strlen(yystr) ); ++} ++ ++/** Setup the input buffer state to scan the given bytes. The next call to yylex() will ++ * scan from a @e copy of @a bytes. ++ * @param yybytes the byte buffer to scan ++ * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. ++ * ++ * @return the newly allocated buffer state object. ++ */ ++YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len ) ++{ ++ YY_BUFFER_STATE b; ++ char *buf; ++ yy_size_t n; ++ yy_size_t i; ++ ++ /* Get memory for full buffer, including space for trailing EOB's. */ ++ n = _yybytes_len + 2; ++ buf = (char *) yyalloc(n ); ++ if ( ! buf ) ++ YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); ++ ++ for ( i = 0; i < _yybytes_len; ++i ) ++ buf[i] = yybytes[i]; ++ ++ buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; ++ ++ b = yy_scan_buffer(buf,n ); ++ if ( ! b ) ++ YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); ++ ++ /* It's okay to grow etc. this buffer, and we should throw it ++ * away when we're done. ++ */ ++ b->yy_is_our_buffer = 1; ++ ++ return b; ++} ++ ++#ifndef YY_EXIT_FAILURE ++#define YY_EXIT_FAILURE 2 ++#endif ++ ++static void yy_fatal_error (yyconst char* msg ) ++{ ++ (void) fprintf( stderr, "%s\n", msg ); ++ exit( YY_EXIT_FAILURE ); ++} ++ ++/* Redefine yyless() so it works in section 3 code. */ ++ ++#undef yyless ++#define yyless(n) \ ++ do \ ++ { \ ++ /* Undo effects of setting up yytext. */ \ ++ int yyless_macro_arg = (n); \ ++ YY_LESS_LINENO(yyless_macro_arg);\ ++ yytext[yyleng] = (yy_hold_char); \ ++ (yy_c_buf_p) = yytext + yyless_macro_arg; \ ++ (yy_hold_char) = *(yy_c_buf_p); \ ++ *(yy_c_buf_p) = '\0'; \ ++ yyleng = yyless_macro_arg; \ ++ } \ ++ while ( 0 ) ++ ++/* Accessor methods (get/set functions) to struct members. */ ++ ++/** Get the current line number. ++ * ++ */ ++int yyget_lineno (void) ++{ ++ ++ return yylineno; ++} ++ ++/** Get the input stream. ++ * ++ */ ++FILE *yyget_in (void) ++{ ++ return yyin; ++} ++ ++/** Get the output stream. ++ * ++ */ ++FILE *yyget_out (void) ++{ ++ return yyout; ++} ++ ++/** Get the length of the current token. ++ * ++ */ ++yy_size_t yyget_leng (void) ++{ ++ return yyleng; ++} ++ ++/** Get the current token. ++ * ++ */ ++ ++char *yyget_text (void) ++{ ++ return yytext; ++} ++ ++/** Set the current line number. ++ * @param line_number ++ * ++ */ ++void yyset_lineno (int line_number ) ++{ ++ ++ yylineno = line_number; ++} ++ ++/** Set the input stream. This does not discard the current ++ * input buffer. ++ * @param in_str A readable stream. ++ * ++ * @see yy_switch_to_buffer ++ */ ++void yyset_in (FILE * in_str ) ++{ ++ yyin = in_str ; ++} ++ ++void yyset_out (FILE * out_str ) ++{ ++ yyout = out_str ; ++} ++ ++int yyget_debug (void) ++{ ++ return yy_flex_debug; ++} ++ ++void yyset_debug (int bdebug ) ++{ ++ yy_flex_debug = bdebug ; ++} ++ ++static int yy_init_globals (void) ++{ ++ /* Initialization is the same as for the non-reentrant scanner. ++ * This function is called from yylex_destroy(), so don't allocate here. ++ */ ++ ++ (yy_buffer_stack) = 0; ++ (yy_buffer_stack_top) = 0; ++ (yy_buffer_stack_max) = 0; ++ (yy_c_buf_p) = (char *) 0; ++ (yy_init) = 0; ++ (yy_start) = 0; ++ ++/* Defined in main.c */ ++#ifdef YY_STDINIT ++ yyin = stdin; ++ yyout = stdout; ++#else ++ yyin = (FILE *) 0; ++ yyout = (FILE *) 0; ++#endif ++ ++ /* For future reference: Set errno on error, since we are called by ++ * yylex_init() ++ */ ++ return 0; ++} ++ ++/* yylex_destroy is for both reentrant and non-reentrant scanners. */ ++int yylex_destroy (void) ++{ ++ ++ /* Pop the buffer stack, destroying each element. */ ++ while(YY_CURRENT_BUFFER){ ++ yy_delete_buffer(YY_CURRENT_BUFFER ); ++ YY_CURRENT_BUFFER_LVALUE = NULL; ++ yypop_buffer_state(); ++ } ++ ++ /* Destroy the stack itself. */ ++ yyfree((yy_buffer_stack) ); ++ (yy_buffer_stack) = NULL; ++ ++ /* Reset the globals. This is important in a non-reentrant scanner so the next time ++ * yylex() is called, initialization will occur. */ ++ yy_init_globals( ); ++ ++ return 0; ++} ++ ++/* ++ * Internal utility routines. ++ */ ++ ++#ifndef yytext_ptr ++static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) ++{ ++ register int i; ++ for ( i = 0; i < n; ++i ) ++ s1[i] = s2[i]; ++} ++#endif ++ ++#ifdef YY_NEED_STRLEN ++static int yy_flex_strlen (yyconst char * s ) ++{ ++ register int n; ++ for ( n = 0; s[n]; ++n ) ++ ; ++ ++ return n; ++} ++#endif ++ ++void *yyalloc (yy_size_t size ) ++{ ++ return (void *) malloc( size ); ++} ++ ++void *yyrealloc (void * ptr, yy_size_t size ) ++{ ++ /* The cast to (char *) in the following accommodates both ++ * implementations that use char* generic pointers, and those ++ * that use void* generic pointers. It works with the latter ++ * because both ANSI C and C++ allow castless assignment from ++ * any pointer type to void*, and deal with argument conversions ++ * as though doing an assignment. ++ */ ++ return (void *) realloc( (char *) ptr, size ); ++} ++ ++void yyfree (void * ptr ) ++{ ++ free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ ++} ++ ++#define YYTABLES_NAME "yytables" ++ ++#line 74 "tokenparser.l" ++ ++ ++ ++ ++static void eval_key(char *pcToken, list_t *list_key) ++{ ++ struct bundleElt *elt; ++ int r; ++ size_t len; ++ ++ /* create a new list element */ ++ elt = malloc(sizeof(*elt)); ++ assert(elt); ++ ++ /* foobar ++ * 012345 : 5 is the first key character index */ ++ ++ /* calculate the argument length */ ++ for (len=0; pcToken[len+5] != '<'; len++) ++ ; ++ len++; /* final NULL byte */ ++ ++ elt->key = malloc(len); ++ memcpy(elt->key, &pcToken[5], len-1); ++ elt->key[len-1] = '\0'; ++ ++ r = list_init(&elt->values); ++ assert(r >= 0); ++ (void)r; ++ ++ /* add the key/values */ ++ list_append(list_key, elt); ++ ++ /* set the list to store the values */ ++ ListValues = &elt->values; ++} ++ ++static void eval_value(char *pcToken, list_t *list_values) ++{ ++ int r; ++ size_t len; ++ char *value; ++ char *amp; ++ ++ /* foobar ++ * 012345678 : 8 is the first string character index */ ++ ++ /* calculate the argument length */ ++ for (len=0; pcToken[len+8] != '<'; len++) ++ ; ++ len++; /* final NULL byte */ ++ ++ value = malloc(len); ++ assert(value); ++ ++ memcpy(value, &pcToken[8], len-1); ++ value[len-1] = '\0'; ++ ++ /* for all & in the string */ ++ amp = value; ++ while ((amp = strstr(amp, "&")) != NULL) ++ { ++ char *p; ++ ++ /* just skip "amp;" substring (4 letters) */ ++ for (p = amp+1; *(p+4); p++) ++ { ++ *p = *(p+4); ++ } ++ /* terminate the now shorter string */ ++ *p = '\0'; ++ ++ /* skip the & and continue */ ++ amp++; ++ } ++ ++ r = list_append(list_values, value); ++ assert(r >= 0); ++ (void)r; ++} ++ ++void tperrorCheck (char *token_error) ++{ ++ (void)token_error; ++} ++ ++/** ++ * Find an optional key in a configuration file ++ * No error is logged if the key is not found ++ * ++ * @param l list generated by bundleParse() ++ * @param key searched key ++ * @param[out] values list of token value (if key found) ++ * @retval 0 OK ++ * @retval 1 key not found ++ */ ++int LTPBundleFindValueWithKey(list_t *l, const char *key, list_t **values) ++{ ++ unsigned int i; ++ int ret = 1; ++ ++ for (i=0; i < list_size(l); i++) ++ { ++ struct bundleElt *elt; ++ ++ elt = list_get_at(l, i); ++ assert(elt); ++ ++ if (0 == strcmp(elt->key, key)) ++ { ++ *values = &elt->values; ++ ret = 0; ++ } ++ } ++ ++ return ret; ++} ++ ++ ++/** ++ * Parse a Info.plist file and file a list ++ * ++ * @param fileName file name ++ * @param l list containing the results ++ * @retval -1 configuration file not found ++ * @retval 0 OK ++ */ ++int bundleParse(const char *fileName, list_t *l) ++{ ++ FILE *file = NULL; ++ int r; ++#ifndef NDEBUG ++ int i; ++#endif ++ ++ file = fopen(fileName, "r"); ++ if (!file) ++ { ++ Log3(PCSC_LOG_CRITICAL, "Could not open bundle file %s: %s", ++ fileName, strerror(errno)); ++ return 1; ++ } ++ ++ r = list_init(l); ++ assert(r >= 0); ++ (void)r; ++ ++ ListKeys = l; ++ yyin = file; ++ ++ do ++ { ++ (void)yylex(); ++ } while (!feof(file)); ++ yylex_destroy(); ++ ++ (void)fclose(file); ++ ++#ifndef NDEBUG ++ printf("size: %d\n", list_size(l)); ++ for (i=0; i < list_size(l); i++) ++ { ++ struct bundleElt *elt; ++ unsigned int j; ++ ++ elt = list_get_at(l, i); ++ assert(elt); ++ printf("Key: %s\n", elt->key); ++ ++ for (j=0; jvalues); j++) ++ { ++ char *v = list_get_at(&elt->values, j); ++ printf(" value: %s\n", v); ++ } ++ } ++#endif ++ ++ return 0; ++} ++ ++/** ++ * Free the list created by bundleParse() ++ * ++ * @param l list containing the results ++ */ ++void bundleRelease(list_t *l) ++{ ++ unsigned int i; ++ ++ for (i=0; i < list_size(l); i++) ++ { ++ struct bundleElt *elt; ++ unsigned int j; ++ ++ elt = list_get_at(l, i); ++ assert(elt); ++ ++ /* free all the values */ ++ for (j=0; jvalues); j++) ++ free(list_get_at(&elt->values, j)); ++ list_destroy(&elt->values); ++ ++ /* free the key */ ++ free(elt->key); ++ free(elt); ++ } ++ ++ list_destroy(l); ++} ++ +diff --git a/src/tokenparser.l b/src/tokenparser.l +deleted file mode 120000 +index a703db9..0000000 +--- a/src/tokenparser.l ++++ /dev/null +@@ -1 +0,0 @@ +-../PCSC/src/tokenparser.l +\ No newline at end of file +diff --git a/src/tokenparser.l b/src/tokenparser.l +new file mode 100644 +index 0000000..0dd47b4 +--- /dev/null ++++ b/src/tokenparser.l +@@ -0,0 +1,282 @@ ++/* ++ * Reads lexical config files and updates database. ++ * ++ * MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html ) ++ * ++ * Copyright (C) 2001-2003 ++ * David Corcoran ++ * Copyright (C) 2003-2010 ++ * Ludovic Rousseau ++ * ++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. The name of the author may not be used to endorse or promote products ++ derived from this software without specific prior written permission. ++ ++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. ++ */ ++ ++/** ++ * @file ++ * @brief provides parsing functions for Info.plist files ++ * platforms ++ */ ++ ++%{ ++ ++#include "config.h" ++#include ++#include ++#include ++#define NDEBUG ++#include ++ ++#include "simclist.h" ++#include "debuglog.h" ++#include "parser.h" ++ ++static void eval_key(char *pcToken, list_t *list_key); ++static void eval_value(char *pcToken, list_t *list_values); ++void tperrorCheck (char *pcToken_error); ++ ++static list_t *ListKeys; ++static list_t *ListValues; ++ ++%} ++ ++%option nounput ++%option noinput ++%option noyywrap ++ ++%% ++ ++#.* {} ++"\n" {} ++\([A-Z]|[a-z]|[0-9]|[ \t])+\<\/key\> { eval_key(yytext, ListKeys); } ++[ \t] {} ++\([A-Z]|[a-z]|[0-9]|[ \t]|[!@#$%^&*()\-+/_\:?.,=~'";\[\]])+\<\/string\> { eval_value(yytext, ListValues); } ++. { tperrorCheck(yytext); } ++%% ++ ++ ++static void eval_key(char *pcToken, list_t *list_key) ++{ ++ struct bundleElt *elt; ++ int r; ++ size_t len; ++ ++ /* create a new list element */ ++ elt = malloc(sizeof(*elt)); ++ assert(elt); ++ ++ /* foobar ++ * 012345 : 5 is the first key character index */ ++ ++ /* calculate the argument length */ ++ for (len=0; pcToken[len+5] != '<'; len++) ++ ; ++ len++; /* final NULL byte */ ++ ++ elt->key = malloc(len); ++ memcpy(elt->key, &pcToken[5], len-1); ++ elt->key[len-1] = '\0'; ++ ++ r = list_init(&elt->values); ++ assert(r >= 0); ++ (void)r; ++ ++ /* add the key/values */ ++ list_append(list_key, elt); ++ ++ /* set the list to store the values */ ++ ListValues = &elt->values; ++} ++ ++static void eval_value(char *pcToken, list_t *list_values) ++{ ++ int r; ++ size_t len; ++ char *value; ++ char *amp; ++ ++ /* foobar ++ * 012345678 : 8 is the first string character index */ ++ ++ /* calculate the argument length */ ++ for (len=0; pcToken[len+8] != '<'; len++) ++ ; ++ len++; /* final NULL byte */ ++ ++ value = malloc(len); ++ assert(value); ++ ++ memcpy(value, &pcToken[8], len-1); ++ value[len-1] = '\0'; ++ ++ /* for all & in the string */ ++ amp = value; ++ while ((amp = strstr(amp, "&")) != NULL) ++ { ++ char *p; ++ ++ /* just skip "amp;" substring (4 letters) */ ++ for (p = amp+1; *(p+4); p++) ++ { ++ *p = *(p+4); ++ } ++ /* terminate the now shorter string */ ++ *p = '\0'; ++ ++ /* skip the & and continue */ ++ amp++; ++ } ++ ++ r = list_append(list_values, value); ++ assert(r >= 0); ++ (void)r; ++} ++ ++void tperrorCheck (char *token_error) ++{ ++ (void)token_error; ++} ++ ++/** ++ * Find an optional key in a configuration file ++ * No error is logged if the key is not found ++ * ++ * @param l list generated by bundleParse() ++ * @param key searched key ++ * @param[out] values list of token value (if key found) ++ * @retval 0 OK ++ * @retval 1 key not found ++ */ ++int LTPBundleFindValueWithKey(list_t *l, const char *key, list_t **values) ++{ ++ unsigned int i; ++ int ret = 1; ++ ++ for (i=0; i < list_size(l); i++) ++ { ++ struct bundleElt *elt; ++ ++ elt = list_get_at(l, i); ++ assert(elt); ++ ++ if (0 == strcmp(elt->key, key)) ++ { ++ *values = &elt->values; ++ ret = 0; ++ } ++ } ++ ++ return ret; ++} ++ ++ ++/** ++ * Parse a Info.plist file and file a list ++ * ++ * @param fileName file name ++ * @param l list containing the results ++ * @retval -1 configuration file not found ++ * @retval 0 OK ++ */ ++int bundleParse(const char *fileName, list_t *l) ++{ ++ FILE *file = NULL; ++ int r; ++#ifndef NDEBUG ++ int i; ++#endif ++ ++ file = fopen(fileName, "r"); ++ if (!file) ++ { ++ Log3(PCSC_LOG_CRITICAL, "Could not open bundle file %s: %s", ++ fileName, strerror(errno)); ++ return 1; ++ } ++ ++ r = list_init(l); ++ assert(r >= 0); ++ (void)r; ++ ++ ListKeys = l; ++ yyin = file; ++ ++ do ++ { ++ (void)yylex(); ++ } while (!feof(file)); ++ yylex_destroy(); ++ ++ (void)fclose(file); ++ ++#ifndef NDEBUG ++ printf("size: %d\n", list_size(l)); ++ for (i=0; i < list_size(l); i++) ++ { ++ struct bundleElt *elt; ++ unsigned int j; ++ ++ elt = list_get_at(l, i); ++ assert(elt); ++ printf("Key: %s\n", elt->key); ++ ++ for (j=0; jvalues); j++) ++ { ++ char *v = list_get_at(&elt->values, j); ++ printf(" value: %s\n", v); ++ } ++ } ++#endif ++ ++ return 0; ++} ++ ++/** ++ * Free the list created by bundleParse() ++ * ++ * @param l list containing the results ++ */ ++void bundleRelease(list_t *l) ++{ ++ unsigned int i; ++ ++ for (i=0; i < list_size(l); i++) ++ { ++ struct bundleElt *elt; ++ unsigned int j; ++ ++ elt = list_get_at(l, i); ++ assert(elt); ++ ++ /* free all the values */ ++ for (j=0; jvalues); j++) ++ free(list_get_at(&elt->values, j)); ++ list_destroy(&elt->values); ++ ++ /* free the key */ ++ free(elt->key); ++ free(elt); ++ } ++ ++ list_destroy(l); ++} +-- +2.9.0 + diff --git a/pkg/ccid/rev b/pkg/ccid/rev new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/pkg/ccid/rev @@ -0,0 +1 @@ +1 diff --git a/pkg/ccid/src b/pkg/ccid/src new file mode 160000 index 00000000..a1197c49 --- /dev/null +++ b/pkg/ccid/src @@ -0,0 +1 @@ +Subproject commit a1197c49cee479f4187dfd05c900224b99127e17 diff --git a/pkg/curl/curl_config.h b/pkg/curl/curl_config.h new file mode 100644 index 00000000..65855097 --- /dev/null +++ b/pkg/curl/curl_config.h @@ -0,0 +1,243 @@ +#include + +/* features */ +#define CURL_CA_BUNDLE "/etc/ssl/cert.pem" +#define CURL_DISABLE_LDAP 1 +#define CURL_DISABLE_LDAPS 1 +#define CURL_DISABLE_POP3 1 +#define CURL_DISABLE_RTMP 1 +#define CURL_DISABLE_SMB 1 +#define CURL_DISABLE_SMTP 1 +#define ENABLE_IPV6 1 +#define HAVE_LIBSSL 1 +#define HAVE_LIBZ 1 +#define HAVE_ZLIB_H 1 +#define USE_OPENSSL 1 +#define USE_UNIX_SOCKETS 1 +/* #undef CURL_CA_PATH */ +/* #undef CURL_DISABLE_COOKIES */ +/* #undef CURL_DISABLE_CRYPTO_AUTH */ +/* #undef CURL_DISABLE_DICT */ +/* #undef CURL_DISABLE_FILE */ +/* #undef CURL_DISABLE_FTP */ +/* #undef CURL_DISABLE_GOPHER */ +/* #undef CURL_DISABLE_HTTP */ +/* #undef CURL_DISABLE_IMAP */ +/* #undef CURL_DISABLE_PROXY */ +/* #undef CURL_DISABLE_RTSP */ +/* #undef CURL_DISABLE_TELNET */ +/* #undef CURL_DISABLE_TFTP */ +/* #undef CURL_DISABLE_VERBOSE_STRINGS */ +/* #undef DISABLED_THREADSAFE */ +/* #undef EGD_SOCKET */ +/* #undef HAVE_KRB4 */ +/* #undef HAVE_LDAP_SSL */ +/* #undef HAVE_LIBIDN */ +/* #undef HAVE_LIBRESOLV */ +/* #undef HAVE_LIBRESOLVE */ +/* #undef HAVE_LIBSOCKET */ +/* #undef HAVE_OLD_GSSMIT */ +/* #undef USE_ARES */ +/* #undef USE_BLOCKING_SOCKETS */ +/* #undef USE_GNUTLS */ +/* #undef USE_LIBSSH2 */ +/* #undef USE_MANUAL */ +/* #undef USE_MBEDTLS */ +/* #undef USE_NGHTTP2 */ +/* #undef USE_NSS */ +/* #undef USE_OPENLDAP */ +/* #undef USE_POLARSSL */ +/* #undef USE_SCHANNEL */ +/* #undef USE_THREADS_POSIX */ +/* #undef USE_THREADS_WIN32 */ +/* #undef USE_WIN32_LARGE_FILES */ +/* #undef USE_WIN32_LDAP */ +/* #undef USE_WINDOWS_SSPI */ +/* #undef USE_YASSLEMUL */ +/* #undef WIN32_LEAN_AND_MEAN */ + +/* headers */ +#define HAVE_ALLOCA_H 1 +#define HAVE_ARPA_TFTP_H 1 +#define HAVE_ERR_H 1 +#define HAVE_IFADDRS_H 1 +#define HAVE_MALLOC_H 1 +#define HAVE_MEMORY_H 1 +#define HAVE_OPENSSL_CRYPTO_H 1 +#define HAVE_OPENSSL_ENGINE_H 1 +#define HAVE_OPENSSL_ERR_H 1 +#define HAVE_OPENSSL_PEM_H 1 +#define HAVE_OPENSSL_PKCS12_H 1 +#define HAVE_OPENSSL_RSA_H 1 +#define HAVE_OPENSSL_SSL_H 1 +#define HAVE_OPENSSL_X509_H 1 +#define HAVE_SYS_IOCTL_H 1 +#define HAVE_SYS_PARAM_H 1 +#define TIME_WITH_SYS_TIME 1 +/* #undef HAVE_CRYPTO_H */ +/* #undef HAVE_DES_H */ +/* #undef HAVE_GSSAPI_GSSAPI_GENERIC_H */ +/* #undef HAVE_GSSAPI_GSSAPI_H */ +/* #undef HAVE_GSSAPI_GSSAPI_KRB5_H */ +/* #undef HAVE_IDN_FREE_H */ +/* #undef HAVE_IO_H */ +/* #undef HAVE_KRB_H */ +/* #undef HAVE_LBER_H */ +/* #undef HAVE_LDAP_H */ +/* #undef HAVE_LDAP_SSL_H */ +/* #undef HAVE_LDAPSSL_H */ +/* #undef HAVE_PEM_H */ +/* #undef HAVE_PROCESS_H */ +/* #undef HAVE_RSA_H */ +/* #undef HAVE_SGTTY_H */ +/* #undef HAVE_SSL_H */ +/* #undef HAVE_SYS_FILIO_H */ +/* #undef HAVE_SYS_SOCKIO_H */ +/* #undef HAVE_TLD_H */ +/* #undef HAVE_WINBER_H */ +/* #undef HAVE_WINDOWS_H */ +/* #undef HAVE_WINLDAP_H */ +/* #undef HAVE_WINSOCK2_H */ +/* #undef HAVE_WINSOCK_H */ +/* #undef HAVE_WS2TCPIP_H */ +/* #undef HAVE_X509_H */ +/* #undef NEED_LBER_H */ + +/* types */ +#define SIZEOF_INT 4 +#define SIZEOF_LONG 8 +#define SIZEOF_OFF_T 8 +#define SIZEOF_SHORT 2 +#define SIZEOF_SIZE_T 8 +#define SIZEOF_TIME_T 8 +#define SIZEOF_VOIDP 8 + +/* functions */ +#define GETSERVBYPORT_R_ARGS 6 +#define GETSERVBYPORT_R_BUFSIZE 4096 +#define HAVE_CLOCK_GETTIME_MONOTONIC 1 +#define HAVE_CRYPTO_CLEANUP_ALL_EX_DATA 1 +#define HAVE_ENGINE_LOAD_BUILTIN_ENGINES 1 +#define HAVE_FREEIFADDRS 1 +#define HAVE_GETHOSTBYADDR 1 +#define HAVE_GETHOSTBYADDR_R 1 +#define HAVE_GETHOSTBYADDR_R_8 1 +#define HAVE_GETHOSTBYNAME 1 +#define HAVE_GETHOSTBYNAME_R 1 +#define HAVE_GETHOSTBYNAME_R_6 1 +#define HAVE_GETIFADDRS 1 +#define HAVE_GETSERVBYPORT_R 1 +#define HAVE_POLL_FINE 1 +#define HAVE_RAND_STATUS 1 +#define HAVE_SSL_GET_SHUTDOWN 1 +#define HAVE_STRCASESTR 1 +#define HAVE_STRLCAT 1 +#define HAVE_STRLCPY 1 +/* #undef HAVE_CLOSESOCKET */ +/* #undef HAVE_GETHOSTBYADDR_R_5 */ +/* #undef HAVE_GETHOSTBYADDR_R_7 */ +/* #undef HAVE_GETHOSTBYNAME_R_3 */ +/* #undef HAVE_GETHOSTBYNAME_R_5 */ +/* #undef HAVE_GETPASS_R */ +/* #undef HAVE_GLIBC_STRERROR_R */ +/* #undef HAVE_GSSAPI */ +/* #undef HAVE_GSSGNU */ +/* #undef HAVE_GSSHEIMDAL */ +/* #undef HAVE_GSSMIT */ +/* #undef HAVE_IDNA_STRERROR */ +/* #undef HAVE_IDN_FREE */ +/* #undef HAVE_INET_ADDR */ +/* #undef HAVE_INET_NTOA_R */ +/* #undef HAVE_INET_NTOA_R_2 */ +/* #undef HAVE_INET_NTOA_R_3 */ +/* #undef HAVE_IOCTL_FIONBIO */ +/* #undef HAVE_IOCTL_SIOCGIFADDR */ +/* #undef HAVE_IOCTLSOCKET */ +/* #undef HAVE_IOCTLSOCKET_CAMEL */ +/* #undef HAVE_IOCTLSOCKET_CAMEL_FIONBIO */ +/* #undef HAVE_IOCTLSOCKET_FIONBIO */ +/* #undef HAVE_KRB_GET_OUR_IP_FOR_REALM */ +/* #undef HAVE_LDAP_URL_PARSE */ +/* #undef HAVE_RAND_EGD */ +/* #undef HAVE_RAND_SCREEN */ +/* #undef HAVE_SETMODE */ +/* #undef HAVE_SETSOCKOPT_SO_NONBLOCK */ +/* #undef HAVE_STRCMPI */ +/* #undef HAVE_STRICMP */ +/* #undef HAVE_STRNCMPI */ +/* #undef HAVE_STRNICMP */ +/* #undef HAVE_TLD_STRERROR */ + +/* libssh2 */ +/* undef HAVE_LIBSSH2 */ +/* undef HAVE_LIBSSH2_EXIT */ +/* undef HAVE_LIBSSH2_H */ +/* undef HAVE_LIBSSH2_INIT */ +/* undef HAVE_LIBSSH2_SCP_SEND64 */ +/* undef HAVE_LIBSSH2_SESSION_HANDSHAKE */ +/* undef HAVE_LIBSSH2_VERSION */ + +/* misc */ +#define BUILDING_LIBCURL 1 +#define CURL_STATICLIB 1 +#define HAVE_MSG_NOSIGNAL 1 +#define HAVE_VARIADIC_MACROS_GCC 1 +#define OS "Linux" +#define RANDOM_FILE "/dev/urandom" +/* #undef CURL_EXTERN_SYMBOL */ +/* #undef _FILE_OFFSET_BITS */ +/* #undef HAVE_NI_WITHSCOPEID */ +/* #undef _LARGE_FILES */ +/* #undef LT_OBJDIR */ +/* #undef NEED_REENTRANT */ +/* #undef PACKAGE */ +/* #undef PACKAGE_BUGREPORT */ +/* #undef PACKAGE_NAME */ +/* #undef PACKAGE_STRING */ +/* #undef PACKAGE_TARNAME */ +/* #undef PACKAGE_VERSION */ +/* #undef _THREAD_SAFE */ +/* #undef VERSION */ + +/* posix */ +#define GETNAMEINFO_QUAL_ARG1 const +#define GETNAMEINFO_TYPE_ARG1 struct sockaddr *restrict +#define GETNAMEINFO_TYPE_ARG46 socklen_t +#define GETNAMEINFO_TYPE_ARG7 int +#define HAVE_BOOL_T 1 /* non-standard macro name? */ +#define HAVE_FCNTL_O_NONBLOCK 1 +#define HAVE_LL 1 +#define HAVE_POSIX_STRERROR_R 1 +#define HAVE_SIG_ATOMIC_T_VOLATILE 1 +#define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1 +#define HAVE_VARIADIC_MACROS_C99 1 +#define HAVE_WRITABLE_ARGV 1 +#define RECVFROM_TYPE_ARG1 int +#define RECVFROM_TYPE_ARG2 void *restrict +#define RECVFROM_TYPE_ARG3 size_t +#define RECVFROM_TYPE_ARG4 int +#define RECVFROM_TYPE_ARG5 struct sockaddr *restrict +#define RECVFROM_TYPE_ARG6 socklen_t *restrict +#define RECV_TYPE_ARG1 int +#define RECV_TYPE_ARG2 void * +#define RECV_TYPE_ARG3 size_t +#define RECV_TYPE_ARG4 int +#define RECV_TYPE_RETV ssize_t +#define RETSIGTYPE void +#define SELECT_QUAL_ARG5 +#define SELECT_TYPE_ARG1 int +#define SELECT_TYPE_ARG234 fd_set * +#define SELECT_TYPE_ARG5 struct timeval *restrict +#define SELECT_TYPE_RETV int +#define SEND_QUAL_ARG2 const +#define SEND_TYPE_ARG1 int +#define SEND_TYPE_ARG2 void * +#define SEND_TYPE_ARG3 size_t +#define SEND_TYPE_ARG4 int +#define SEND_TYPE_RETV ssize_t +#define STRERROR_R_TYPE_ARG3 size_t +/* #undef NEED_BASENAME_PROTO */ +/* #undef NEED_MALLOC_H */ +/* #undef RECVFROM_TYPE_ARG2_IS_VOID */ +/* #undef RECVFROM_TYPE_ARG5_IS_VOID */ +/* #undef RECVFROM_TYPE_ARG6_IS_VOID */ diff --git a/pkg/curl/gen.rc b/pkg/curl/gen.rc new file mode 100644 index 00000000..f7174efe --- /dev/null +++ b/pkg/curl/gen.rc @@ -0,0 +1,106 @@ +cflags\ + -D HAVE_CONFIG_H\ + -isystem '$builddir'/pkg/libressl/include\ + -isystem '$builddir'/pkg/zlib/include\ + -I include\ + -I '$dir' \ + -I '$outdir'/include/curl\ + -I '$outdir'/include\ + -I '$srcdir'/lib\ + -I '$srcdir'/src + +hdrs=include/curl/^(curl.h curlrules.h curlver.h easy.h mprintf.h multi.h stdcheaders.h typecheck-gcc.h) +for(hdr in $hdrs) build '$outdir'/$hdr copy '$srcdir'/$hdr +build '$outdir'/include/curl/curlbuild.h copy '$srcdir'/include/curl/curlbuild.h.dist +phony headers '$outdir'/^($hdrs include/curl/curlbuild.h) + +phony deps pkg/^(libressl zlib)^/headers + +# src/lib/Makefile.inc:/^CSOURCES +lib libcurl.a -d '$dir'/deps lib/^(\ + file.c timeval.c base64.c hostip.c progress.c formdata.c\ + cookie.c http.c sendf.c ftp.c url.c dict.c if2ip.c speedcheck.c\ + ldap.c version.c getenv.c escape.c mprintf.c telnet.c netrc.c\ + getinfo.c transfer.c strcase.c easy.c security.c curl_fnmatch.c\ + fileinfo.c ftplistparser.c wildcard.c krb5.c memdebug.c http_chunks.c\ + strtok.c connect.c llist.c hash.c multi.c content_encoding.c share.c\ + http_digest.c md4.c md5.c http_negotiate.c inet_pton.c strtoofft.c\ + strerror.c amigaos.c hostasyn.c hostip4.c hostip6.c hostsyn.c\ + inet_ntop.c parsedate.c select.c tftp.c splay.c strdup.c socks.c\ + ssh.c curl_addrinfo.c socks_gssapi.c socks_sspi.c\ + curl_sspi.c slist.c nonblock.c curl_memrchr.c imap.c pop3.c smtp.c\ + pingpong.c rtsp.c curl_threads.c warnless.c hmac.c curl_rtmp.c\ + openldap.c curl_gethostname.c gopher.c idn_win32.c\ + http_proxy.c non-ascii.c asyn-ares.c asyn-thread.c curl_gssapi.c\ + http_ntlm.c curl_ntlm_wb.c curl_ntlm_core.c curl_sasl.c\ + curl_multibyte.c hostcheck.c conncache.c pipeline.c dotdot.c\ + x509asn1.c http2.c smb.c curl_endian.c curl_des.c system_win32.c\ + vauth/^(\ + vauth.c cleartext.c cram.c\ + digest.c digest_sspi.c krb5_gssapi.c\ + krb5_sspi.c ntlm.c ntlm_sspi.c oauth2.c\ + spnego_gssapi.c spnego_sspi.c\ + )\ + vtls/^(\ + openssl.c gtls.c vtls.c nss.c\ + polarssl.c polarssl_threadlock.c axtls.c\ + cyassl.c schannel.c darwinssl.c gskit.c\ + mbedtls.c\ + )\ +) '$builddir'/pkg/^(\ + libressl/^(libssl.a.d libcrypto.a.d)\ + zlib/libz.a\ +) + +build '$outdir'/tool_hugehelp.c.o cc '$dir'/tool_hugehelp.c '||' '$srcdir'/src/tool_hugehelp.h + +# src/src/Makefile.inc:/^CURL_CFILES +exe curl -d '$outdir'/include/curl/curlbuild.h\ + src/^(\ + slist_wc.c\ + tool_binmode.c\ + tool_bname.c\ + tool_cb_dbg.c\ + tool_cb_hdr.c\ + tool_cb_prg.c\ + tool_cb_rea.c\ + tool_cb_see.c\ + tool_cb_wrt.c\ + tool_cfgable.c\ + tool_convert.c\ + tool_dirhie.c\ + tool_doswin.c\ + tool_easysrc.c\ + tool_formparse.c\ + tool_getparam.c\ + tool_getpass.c\ + tool_help.c\ + tool_helpers.c\ + tool_homedir.c\ + tool_libinfo.c\ + tool_main.c\ + tool_metalink.c\ + tool_mfiles.c\ + tool_msgs.c\ + tool_operate.c\ + tool_operhlp.c\ + tool_panykey.c\ + tool_paramhlp.c\ + tool_parsecfg.c\ + tool_strdup.c\ + tool_setopt.c\ + tool_sleep.c\ + tool_urlglob.c\ + tool_util.c\ + tool_vms.c\ + tool_writeenv.c\ + tool_writeout.c\ + tool_xattr.c\ + )\ + tool_hugehelp.c.o\ + libcurl.a.d + +file bin/curl '$outdir'/curl 755 +file share/man/man1/curl.1 '$srcdir'/docs/curl.1 644 + +fetch git diff --git a/pkg/curl/rev b/pkg/curl/rev new file mode 100644 index 00000000..b8626c4c --- /dev/null +++ b/pkg/curl/rev @@ -0,0 +1 @@ +4 diff --git a/pkg/curl/src b/pkg/curl/src new file mode 160000 index 00000000..3c561c65 --- /dev/null +++ b/pkg/curl/src @@ -0,0 +1 @@ +Subproject commit 3c561c657c2f0e553b19115a506592a8bbd744bc diff --git a/pkg/curl/tool_hugehelp.c b/pkg/curl/tool_hugehelp.c new file mode 100644 index 00000000..bc33e2f1 --- /dev/null +++ b/pkg/curl/tool_hugehelp.c @@ -0,0 +1,3 @@ +/* built-in manual is disabled, blank function */ +#include "tool_hugehelp.h" +void hugehelp(void) {} diff --git a/pkg/dmenu/config.h b/pkg/dmenu/config.h new file mode 100644 index 00000000..7ed23a78 --- /dev/null +++ b/pkg/dmenu/config.h @@ -0,0 +1,23 @@ +/* See LICENSE file for copyright and license details. */ +/* Default settings; can be overriden by command line. */ + +static int topbar = 1; /* -b option; if 0, dmenu appears at bottom */ +/* -fn option overrides fonts[0]; default X11 font or font set */ +static const char *fonts[] = { + "Terminus:pixelsize=14" +}; +static const char *prompt = NULL; /* -p option; prompt to the left of input field */ +static const char *colors[SchemeLast][2] = { + /* fg bg */ + [SchemeNorm] = { "#999999", "#1a1a1a" }, + [SchemeSel] = { "#ffffff", "#338833" }, + [SchemeOut] = { "#000000", "#aaffaa" }, +}; +/* -l option; if nonzero, dmenu uses vertical list with given number of lines */ +static unsigned int lines = 0; + +/* + * Characters not considered part of a word while deleting words + * for example: " /?\"&[]" + */ +static const char worddelimiters[] = " "; diff --git a/pkg/dmenu/gen.rc b/pkg/dmenu/gen.rc new file mode 100644 index 00000000..5f681433 --- /dev/null +++ b/pkg/dmenu/gen.rc @@ -0,0 +1,32 @@ +cflags\ + -D 'VERSION=''"4.6"''' \ + -isystem pkg/fontconfig/src\ + -isystem pkg/libxkbcommon/src\ + -isystem '$builddir'/pkg/pixman/include\ + -isystem '$builddir'/pkg/swc/include\ + -isystem '$builddir'/pkg/wayland/include\ + -isystem '$builddir'/pkg/wld/include\ + -I '$dir' + +phony deps\ + '$builddir'/pkg/^(fontconfig libxkbcommon)^/fetch.stamp\ + pkg/^(pixman swc wayland wld)^/headers + +exe dmenu -d '$dir'/deps dmenu.c drw.c util.c '$builddir'/pkg/^(\ + swc/swc-protocol.c.o\ + libxkbcommon/libxkbcommon.a\ + wld/libwld.a.d\ + fontconfig/libfontconfig.a.d\ + wayland/libwayland-client.a.d\ +) +file bin/dmenu '$outdir'/dmenu 755 +file share/man/man1/dmenu.1 '$srcdir'/dmenu.1 644 + +exe stest stest.c +file bin/stest '$outdir'/stest 755 +file share/man/man1/stest.1 '$srcdir'/stest.1 644 + +for(f in dmenu_path dmenu_run) + file bin/$f '$srcdir'/$f 755 + +fetch git diff --git a/pkg/dmenu/patch/0001-Port-to-wayland-using-wld-and-swc-panels.patch b/pkg/dmenu/patch/0001-Port-to-wayland-using-wld-and-swc-panels.patch new file mode 100644 index 00000000..3c059c36 --- /dev/null +++ b/pkg/dmenu/patch/0001-Port-to-wayland-using-wld-and-swc-panels.patch @@ -0,0 +1,1234 @@ +From d0d4bd1e7d5d39fe955dab33fa39d5a5115c89a7 Mon Sep 17 00:00:00 2001 +From: Michael Forney +Date: Thu, 27 Oct 2016 21:04:23 -0700 +Subject: [PATCH] Port to wayland using wld and swc panels + +--- + Makefile | 16 +- + config.mk | 20 +-- + dmenu.c | 540 +++++++++++++++++++++++++++++++++----------------------------- + drw.c | 123 +++++++------- + drw.h | 26 ++- + 5 files changed, 372 insertions(+), 353 deletions(-) + +diff --git a/Makefile b/Makefile +index a7cd04f..5747934 100644 +--- a/Makefile ++++ b/Makefile +@@ -3,7 +3,7 @@ + + include config.mk + +-SRC = drw.c dmenu.c stest.c util.c ++SRC = drw.c dmenu.c stest.c panel-protocol.c util.c + OBJ = ${SRC:.c=.o} + + all: options dmenu stest +@@ -22,11 +22,19 @@ config.h: + @echo creating $@ from config.def.h + @cp config.def.h $@ + +-${OBJ}: arg.h config.h config.mk drw.h ++swc-protocol.c: $(SWCPROTO) ++ @echo GEN $@ ++ @wayland-scanner code < $< > $@ + +-dmenu: dmenu.o drw.o util.o ++swc-client-protocol.h: $(SWCPROTO) ++ @echo GEN $@ ++ @wayland-scanner client-header < $< > $@ ++ ++${OBJ}: arg.h config.h config.mk drw.h swc-client-protocol.h ++ ++dmenu: dmenu.o drw.o swc-protocol.o util.o + @echo CC -o $@ +- @${CC} -o $@ dmenu.o drw.o util.o ${LDFLAGS} ++ @${CC} -o $@ dmenu.o drw.o swc-protocol.o util.o ${LDFLAGS} + + stest: stest.o + @echo CC -o $@ +diff --git a/config.mk b/config.mk +index 4d908a5..c6416ad 100644 +--- a/config.mk ++++ b/config.mk +@@ -5,25 +5,15 @@ VERSION = 4.6 + PREFIX = /usr/local + MANPREFIX = ${PREFIX}/share/man + +-X11INC = /usr/X11R6/include +-X11LIB = /usr/X11R6/lib +- +-# Xinerama, comment if you don't want it +-XINERAMALIBS = -lXinerama +-XINERAMAFLAGS = -DXINERAMA +- +-# freetype +-FREETYPELIBS = -lfontconfig -lXft +-FREETYPEINC = /usr/include/freetype2 +-# OpenBSD (uncomment) +-#FREETYPEINC = ${X11INC}/freetype2 ++PIXMANINC = /usr/include/pixman-1 ++SWCPROTO = /usr/share/swc/swc.xml + + # includes and libs +-INCS = -I${X11INC} -I${FREETYPEINC} +-LIBS = -L${X11LIB} -lX11 ${XINERAMALIBS} ${FREETYPELIBS} ++INCS = -I${PIXMANINC} ++LIBS = -lwayland-client -lxkbcommon -lwld + + # flags +-CPPFLAGS = -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=700 -D_POSIX_C_SOURCE=200809L -DVERSION=\"${VERSION}\" ${XINERAMAFLAGS} ++CPPFLAGS = -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=700 -D_POSIX_C_SOURCE=200809L -DVERSION=\"${VERSION}\" + CFLAGS = -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS} + LDFLAGS = -s ${LIBS} + +diff --git a/dmenu.c b/dmenu.c +index 9278e91..9cd3c23 100644 +--- a/dmenu.c ++++ b/dmenu.c +@@ -5,18 +5,18 @@ + #include + #include + #include ++#include + #include ++#include + +-#include +-#include +-#include +-#ifdef XINERAMA +-#include +-#endif +-#include ++#include ++#include ++#include ++#include + + #include "drw.h" + #include "util.h" ++#include "swc-client-protocol.h" + + /* macros */ + #define INTERSECT(x,y,w,h,r) (MAX(0, MIN((x)+(w),(r).x_org+(r).width) - MAX((x),(r).x_org)) \ +@@ -33,8 +33,16 @@ struct item { + int out; + }; + ++struct xkb { ++ struct xkb_context *context; ++ struct xkb_state *state; ++ struct xkb_keymap *keymap; ++ xkb_mod_index_t ctrl, alt, shift; ++}; ++ ++static void paste(void); ++ + static char text[BUFSIZ] = ""; +-static char *embed; + static int bh, mw, mh; + static int inputw = 0, promptw; + static int lrpad; /* sum of left and right padding */ +@@ -42,12 +50,21 @@ static size_t cursor; + static struct item *items = NULL; + static struct item *matches, *matchend; + static struct item *prev, *curr, *next, *sel; +-static int mon = -1, screen; +- +-static Atom clip, utf8; +-static Display *dpy; +-static Window root, parentwin, win; +-static XIC xic; ++static int mon = -1; ++ ++static struct wl_display *dpy; ++static struct wl_compositor *compositor; ++static struct wl_keyboard *kbd; ++static struct wl_seat *seat; ++static struct wl_shell *shell; ++static struct wl_surface *surface; ++static struct wl_data_device_manager *datadevman; ++static struct wl_data_device *datadev; ++static struct wl_data_offer *seloffer; ++static struct swc_screen *screen; ++static struct swc_panel_manager *panelman; ++static struct swc_panel *panel; ++static struct xkb xkb; + + static Drw *drw; + static Clr *scheme[SchemeLast]; +@@ -93,12 +110,10 @@ cleanup(void) + { + size_t i; + +- XUngrabKey(dpy, AnyKey, AnyModifier, root); + for (i = 0; i < SchemeLast; i++) + free(scheme[i]); + drw_free(drw); +- XSync(dpy, False); +- XCloseDisplay(dpy); ++ wl_display_disconnect(dpy); + } + + static char * +@@ -132,6 +147,7 @@ drawmenu(void) + struct item *item; + int x = 0, y = 0, w; + ++ wld_set_target_surface(drw->renderer, drw->surface); + drw_setscheme(drw, scheme[SchemeNorm]); + drw_rect(drw, 0, 0, mw, mh, 1, 1); + +@@ -171,42 +187,7 @@ drawmenu(void) + drw_text(drw, mw - w, 0, w, bh, lrpad / 2, ">", 0); + } + } +- drw_map(drw, win, 0, 0, mw, mh); +-} +- +-static void +-grabfocus(void) +-{ +- struct timespec ts = { .tv_sec = 0, .tv_nsec = 10000000 }; +- Window focuswin; +- int i, revertwin; +- +- for (i = 0; i < 100; ++i) { +- XGetInputFocus(dpy, &focuswin, &revertwin); +- if (focuswin == win) +- return; +- XSetInputFocus(dpy, win, RevertToParent, CurrentTime); +- nanosleep(&ts, NULL); +- } +- die("cannot grab focus"); +-} +- +-static void +-grabkeyboard(void) +-{ +- struct timespec ts = { .tv_sec = 0, .tv_nsec = 1000000 }; +- int i; +- +- if (embed) +- return; +- /* try to grab keyboard, we may have to wait for another process to ungrab */ +- for (i = 0; i < 1000; i++) { +- if (XGrabKeyboard(dpy, DefaultRootWindow(dpy), True, GrabModeAsync, +- GrabModeAsync, CurrentTime) == GrabSuccess) +- return; +- nanosleep(&ts, NULL); +- } +- die("cannot grab keyboard"); ++ drw_map(drw, surface, 0, 0, mw, mh); + } + + static void +@@ -288,88 +269,92 @@ nextrune(int inc) + } + + static void +-keypress(XKeyEvent *ev) ++kbdkey(void *d, struct wl_keyboard *kbd, uint32_t serial, uint32_t time, ++ uint32_t key, uint32_t state) + { + char buf[32]; + int len; +- KeySym ksym = NoSymbol; +- Status status; ++ xkb_keysym_t ksym = XKB_KEY_NoSymbol; ++ int ctrl = xkb_state_mod_index_is_active(xkb.state, xkb.ctrl, XKB_STATE_MODS_EFFECTIVE); ++ int shift = xkb_state_mod_index_is_active(xkb.state, xkb.shift, XKB_STATE_MODS_EFFECTIVE); ++ int alt = xkb_state_mod_index_is_active(xkb.state, xkb.alt, XKB_STATE_MODS_EFFECTIVE); + +- len = XmbLookupString(xic, ev, buf, sizeof buf, &ksym, &status); +- if (status == XBufferOverflow) +- return; +- if (ev->state & ControlMask) ++ if (state == WL_KEYBOARD_KEY_STATE_RELEASED) ++ goto update_state; ++ ++ ksym = xkb_state_key_get_one_sym(xkb.state, key + 8); ++ len = xkb_keysym_to_utf8(ksym, buf, sizeof buf) - 1; ++ if (ctrl) + switch(ksym) { +- case XK_a: ksym = XK_Home; break; +- case XK_b: ksym = XK_Left; break; +- case XK_c: ksym = XK_Escape; break; +- case XK_d: ksym = XK_Delete; break; +- case XK_e: ksym = XK_End; break; +- case XK_f: ksym = XK_Right; break; +- case XK_g: ksym = XK_Escape; break; +- case XK_h: ksym = XK_BackSpace; break; +- case XK_i: ksym = XK_Tab; break; +- case XK_j: /* fallthrough */ +- case XK_J: /* fallthrough */ +- case XK_m: /* fallthrough */ +- case XK_M: ksym = XK_Return; ev->state &= ~ControlMask; break; +- case XK_n: ksym = XK_Down; break; +- case XK_p: ksym = XK_Up; break; +- +- case XK_k: /* delete right */ ++ case XKB_KEY_a: ksym = XKB_KEY_Home; break; ++ case XKB_KEY_b: ksym = XKB_KEY_Left; break; ++ case XKB_KEY_c: ksym = XKB_KEY_Escape; break; ++ case XKB_KEY_d: ksym = XKB_KEY_Delete; break; ++ case XKB_KEY_e: ksym = XKB_KEY_End; break; ++ case XKB_KEY_f: ksym = XKB_KEY_Right; break; ++ case XKB_KEY_g: ksym = XKB_KEY_Escape; break; ++ case XKB_KEY_h: ksym = XKB_KEY_BackSpace; break; ++ case XKB_KEY_i: ksym = XKB_KEY_Tab; break; ++ case XKB_KEY_j: /* fallthrough */ ++ case XKB_KEY_J: /* fallthrough */ ++ case XKB_KEY_m: /* fallthrough */ ++ case XKB_KEY_M: ksym = XKB_KEY_Return; ctrl = 0; break; ++ case XKB_KEY_n: ksym = XKB_KEY_Down; break; ++ case XKB_KEY_p: ksym = XKB_KEY_Up; break; ++ ++ case XKB_KEY_k: /* delete right */ + text[cursor] = '\0'; + match(); + break; +- case XK_u: /* delete left */ ++ case XKB_KEY_u: /* delete left */ + insert(NULL, 0 - cursor); + break; +- case XK_w: /* delete word */ ++ case XKB_KEY_w: /* delete word */ + while (cursor > 0 && strchr(worddelimiters, text[nextrune(-1)])) + insert(NULL, nextrune(-1) - cursor); + while (cursor > 0 && !strchr(worddelimiters, text[nextrune(-1)])) + insert(NULL, nextrune(-1) - cursor); + break; +- case XK_y: /* paste selection */ +- case XK_Y: +- XConvertSelection(dpy, (ev->state & ShiftMask) ? clip : XA_PRIMARY, +- utf8, utf8, win, CurrentTime); ++ case XKB_KEY_y: /* paste selection */ ++ case XKB_KEY_Y: ++ paste(); + return; +- case XK_Return: +- case XK_KP_Enter: ++ case XKB_KEY_Return: ++ case XKB_KEY_KP_Enter: + break; +- case XK_bracketleft: ++ case XKB_KEY_bracketleft: + cleanup(); + exit(1); + default: + return; + } +- else if (ev->state & Mod1Mask) ++ else if (alt) + switch(ksym) { +- case XK_g: ksym = XK_Home; break; +- case XK_G: ksym = XK_End; break; +- case XK_h: ksym = XK_Up; break; +- case XK_j: ksym = XK_Next; break; +- case XK_k: ksym = XK_Prior; break; +- case XK_l: ksym = XK_Down; break; ++ case XKB_KEY_g: ksym = XKB_KEY_Home; break; ++ case XKB_KEY_G: ksym = XKB_KEY_End; break; ++ case XKB_KEY_h: ksym = XKB_KEY_Up; break; ++ case XKB_KEY_j: ksym = XKB_KEY_Next; break; ++ case XKB_KEY_k: ksym = XKB_KEY_Prior; break; ++ case XKB_KEY_l: ksym = XKB_KEY_Down; break; + default: + return; + } +- switch(ksym) { ++ switch (ksym) { + default: + if (!iscntrl(*buf)) + insert(buf, len); + break; +- case XK_Delete: ++ case XKB_KEY_Delete: + if (text[cursor] == '\0') + return; + cursor = nextrune(+1); + /* fallthrough */ +- case XK_BackSpace: ++ case XKB_KEY_BackSpace: + if (cursor == 0) + return; + insert(NULL, nextrune(-1) - cursor); + break; +- case XK_End: ++ case XKB_KEY_End: + if (text[cursor] != '\0') { + cursor = strlen(text); + break; +@@ -385,10 +370,10 @@ keypress(XKeyEvent *ev) + } + sel = matchend; + break; +- case XK_Escape: ++ case XKB_KEY_Escape: + cleanup(); + exit(1); +- case XK_Home: ++ case XKB_KEY_Home: + if (sel == matches) { + cursor = 0; + break; +@@ -396,7 +381,7 @@ keypress(XKeyEvent *ev) + sel = curr = matches; + calcoffsets(); + break; +- case XK_Left: ++ case XKB_KEY_Left: + if (cursor > 0 && (!sel || !sel->left || lines > 0)) { + cursor = nextrune(-1); + break; +@@ -404,35 +389,35 @@ keypress(XKeyEvent *ev) + if (lines > 0) + return; + /* fallthrough */ +- case XK_Up: ++ case XKB_KEY_Up: + if (sel && sel->left && (sel = sel->left)->right == curr) { + curr = prev; + calcoffsets(); + } + break; +- case XK_Next: ++ case XKB_KEY_Next: + if (!next) + return; + sel = curr = next; + calcoffsets(); + break; +- case XK_Prior: ++ case XKB_KEY_Prior: + if (!prev) + return; + sel = curr = prev; + calcoffsets(); + break; +- case XK_Return: +- case XK_KP_Enter: +- puts((sel && !(ev->state & ShiftMask)) ? sel->text : text); +- if (!(ev->state & ControlMask)) { ++ case XKB_KEY_Return: ++ case XKB_KEY_KP_Enter: ++ puts((sel && !shift) ? sel->text : text); ++ if (!ctrl) { + cleanup(); + exit(0); + } +- if (sel) ++ if(sel) + sel->out = 1; + break; +- case XK_Right: ++ case XKB_KEY_Right: + if (text[cursor] != '\0') { + cursor = nextrune(+1); + break; +@@ -440,13 +425,13 @@ keypress(XKeyEvent *ev) + if (lines > 0) + return; + /* fallthrough */ +- case XK_Down: ++ case XKB_KEY_Down: + if (sel && sel->right && (sel = sel->right) == next) { + curr = next; + calcoffsets(); + } + break; +- case XK_Tab: ++ case XKB_KEY_Tab: + if (!sel) + return; + strncpy(text, sel->text, sizeof text - 1); +@@ -456,22 +441,28 @@ keypress(XKeyEvent *ev) + break; + } + drawmenu(); ++ ++update_state: ++ xkb_state_update_key(xkb.state, key + 8, ++ state == WL_KEYBOARD_KEY_STATE_PRESSED ? XKB_KEY_DOWN : XKB_KEY_UP); + } + + static void + paste(void) + { +- char *p, *q; +- int di; +- unsigned long dl; +- Atom da; +- +- /* we have been given the current selection, now insert it into input */ +- XGetWindowProperty(dpy, win, utf8, 0, (sizeof text / 4) + 1, False, +- utf8, &da, &di, &dl, &dl, (unsigned char **)&p); +- insert(p, (q = strchr(p, '\n')) ? q - p : (ssize_t)strlen(p)); +- XFree(p); +- drawmenu(); ++ int fds[2], len; ++ char buf[BUFSIZ], *nl; ++ ++ if (seloffer) { ++ pipe(fds); ++ wl_data_offer_receive(seloffer, "text/plain", fds[1]); ++ wl_display_flush(dpy); ++ close(fds[1]); ++ while((len = read(fds[0], buf, sizeof buf)) > 0) ++ insert(buf, (nl = strchr(buf, '\n')) ? nl - buf : len); ++ close(fds[0]); ++ drawmenu(); ++ } + } + + static void +@@ -506,145 +497,203 @@ readstdin(void) + static void + run(void) + { +- XEvent ev; ++ while (wl_display_dispatch(dpy) != -1) ++ ; ++} + +- while (!XNextEvent(dpy, &ev)) { +- if (XFilterEvent(&ev, win)) +- continue; +- switch(ev.type) { +- case Expose: +- if (ev.xexpose.count == 0) +- drw_map(drw, win, 0, 0, mw, mh); +- break; +- case FocusIn: +- /* regrab focus from parent window */ +- if (ev.xfocus.window != win) +- grabfocus(); +- break; +- case KeyPress: +- keypress(&ev.xkey); +- break; +- case SelectionNotify: +- if (ev.xselection.property == utf8) +- paste(); +- break; +- case VisibilityNotify: +- if (ev.xvisibility.state != VisibilityUnobscured) +- XRaiseWindow(dpy, win); +- break; +- } ++/* wayland event handlers */ ++static void ++regglobal(void *d, struct wl_registry *r, uint32_t name, const char *interface, uint32_t version) ++{ ++ if(strcmp(interface, "wl_compositor") == 0) ++ compositor = wl_registry_bind(r, name, &wl_compositor_interface, 1); ++ else if(strcmp(interface, "wl_shell") == 0) ++ shell = wl_registry_bind(r, name, &wl_shell_interface, 1); ++ else if(strcmp(interface, "wl_seat") == 0) ++ seat = wl_registry_bind(r, name, &wl_seat_interface, 1); ++ else if(strcmp(interface, "wl_data_device_manager") == 0) ++ datadevman = wl_registry_bind(r, name, &wl_data_device_manager_interface, 1); ++ else if(strcmp(interface, "swc_panel_manager") == 0) ++ panelman = wl_registry_bind(r, name, &swc_panel_manager_interface, 1); ++ else if (strcmp(interface, "swc_screen") == 0) { ++ if (mon != -1 && mon-- == 0) ++ screen = wl_registry_bind(r, name, &swc_screen_interface, 1); + } + } + + static void ++regglobalremove(void *d, struct wl_registry *reg, uint32_t name) ++{ ++} ++ ++static const struct wl_registry_listener reglistener = { regglobal, regglobalremove }; ++ ++static void ++kbdenter(void *data, struct wl_keyboard *kbd, uint32_t serial, ++ struct wl_surface *surface, struct wl_array *keys) ++{ ++} ++ ++static void ++kbdleave(void *d, struct wl_keyboard *kbd, uint32_t serial, ++ struct wl_surface *surface) ++{ ++} ++ ++/* kbdkey is defined above to reduce merge conflicts */ ++ ++static void ++kbdkeymap(void *d, struct wl_keyboard *kbd, uint32_t format, int32_t fd, uint32_t size) ++{ ++ char *string; ++ ++ if (format != WL_KEYBOARD_KEYMAP_FORMAT_XKB_V1) { ++ close(fd); ++ return; ++ } ++ ++ string = mmap(NULL, size, PROT_READ, MAP_SHARED, fd, 0); ++ ++ if (string == MAP_FAILED) { ++ close(fd); ++ return; ++ } ++ ++ xkb.keymap = xkb_keymap_new_from_string(xkb.context, string, ++ XKB_KEYMAP_FORMAT_TEXT_V1, 0); ++ munmap(string, size); ++ close(fd); ++ xkb.state = xkb_state_new(xkb.keymap); ++ ++ xkb.ctrl = xkb_keymap_mod_get_index(xkb.keymap, XKB_MOD_NAME_CTRL); ++ xkb.alt = xkb_keymap_mod_get_index(xkb.keymap, XKB_MOD_NAME_ALT); ++ xkb.shift = xkb_keymap_mod_get_index(xkb.keymap, XKB_MOD_NAME_SHIFT); ++} ++ ++static void ++kbdmodifiers(void *d, struct wl_keyboard *kbd, uint32_t serial, uint32_t dep, ++ uint32_t lat, uint32_t lck, uint32_t grp) ++{ ++ xkb_state_update_mask(xkb.state, dep, lat, lck, grp, 0, 0); ++} ++ ++static const struct wl_keyboard_listener kbdlistener = { ++ kbdkeymap, kbdenter, kbdleave, kbdkey, kbdmodifiers, ++}; ++ ++static void ++dataofferoffer(void *d, struct wl_data_offer *offer, const char *mimetype) ++{ ++ if (strncmp(mimetype, "text/plain", 10) == 0) ++ wl_data_offer_set_user_data(offer, (void *)(uintptr_t) 1); ++} ++ ++static const struct wl_data_offer_listener dataofferlistener = { dataofferoffer }; ++ ++static void ++datadevoffer(void *d, struct wl_data_device *datadev, struct wl_data_offer *offer) ++{ ++ wl_data_offer_add_listener(offer, &dataofferlistener, NULL); ++} ++ ++static void ++datadeventer(void *d, struct wl_data_device *datadev, uint32_t serial, ++ struct wl_surface *surface, wl_fixed_t x, wl_fixed_t y, ++ struct wl_data_offer *offer) ++{ ++} ++ ++static void ++datadevleave(void *d, struct wl_data_device *datadev) ++{ ++} ++ ++static void ++datadevmotion(void *d, struct wl_data_device *datadev, uint32_t time, ++ wl_fixed_t x, wl_fixed_t y) ++{ ++} ++ ++static void ++datadevdrop(void *d, struct wl_data_device *datadev) ++{ ++} ++ ++static void ++datadevselection(void *d, struct wl_data_device *datadev, struct wl_data_offer *offer) ++{ ++ if (offer && (uintptr_t) wl_data_offer_get_user_data(offer) == 1) ++ seloffer = offer; ++} ++ ++static const struct wl_data_device_listener datadevlistener = { ++ datadevoffer, datadeventer, datadevleave, datadevmotion, datadevdrop, ++ datadevselection, ++}; ++ ++static void ++paneldocked(void *d, struct swc_panel *panel, uint32_t length) ++{ ++ mw = length; ++} ++ ++static const struct swc_panel_listener panellistener = { paneldocked }; ++ ++static void + setup(void) + { +- int x, y; +- XSetWindowAttributes swa; +- XIM xim; +-#ifdef XINERAMA +- XineramaScreenInfo *info; +- Window w, pw, dw, *dws; +- XWindowAttributes wa; +- int a, j, di, n, i = 0, area = 0; +- unsigned int du; +-#endif ++ if (!compositor || !seat || !panelman) ++ exit(1); ++ ++ kbd = wl_seat_get_keyboard(seat); ++ wl_keyboard_add_listener(kbd, &kbdlistener, NULL); ++ datadev = wl_data_device_manager_get_data_device(datadevman, seat); ++ wl_data_device_add_listener(datadev, &datadevlistener, NULL); ++ ++ xkb.context = xkb_context_new(0); + + /* init appearance */ + scheme[SchemeNorm] = drw_scm_create(drw, colors[SchemeNorm], 2); + scheme[SchemeSel] = drw_scm_create(drw, colors[SchemeSel], 2); + scheme[SchemeOut] = drw_scm_create(drw, colors[SchemeOut], 2); + +- clip = XInternAtom(dpy, "CLIPBOARD", False); +- utf8 = XInternAtom(dpy, "UTF8_STRING", False); +- + /* calculate menu geometry */ +- bh = drw->fonts->h + 2; ++ bh = drw->fonts->wld->height + 2; + lines = MAX(lines, 0); + mh = (lines + 1) * bh; +-#ifdef XINERAMA +- if (parentwin == root && (info = XineramaQueryScreens(dpy, &n))) { +- XGetInputFocus(dpy, &w, &di); +- if (mon >= 0 && mon < n) +- i = mon; +- else if (w != root && w != PointerRoot && w != None) { +- /* find top-level window containing current input focus */ +- do { +- if (XQueryTree(dpy, (pw = w), &dw, &w, &dws, &du) && dws) +- XFree(dws); +- } while (w != root && w != pw); +- /* find xinerama screen with which the window intersects most */ +- if (XGetWindowAttributes(dpy, pw, &wa)) +- for (j = 0; j < n; j++) +- if ((a = INTERSECT(wa.x, wa.y, wa.width, wa.height, info[j])) > area) { +- area = a; +- i = j; +- } +- } +- /* no focused window is on screen, so use pointer location instead */ +- if (mon < 0 && !area && XQueryPointer(dpy, root, &dw, &dw, &x, &y, &di, &di, &du)) +- for (i = 0; i < n; i++) +- if (INTERSECT(x, y, 1, 1, info[i])) +- break; +- +- x = info[i].x_org; +- y = info[i].y_org + (topbar ? 0 : info[i].height - mh); +- mw = info[i].width; +- XFree(info); +- } else +-#endif +- { +- if (!XGetWindowAttributes(dpy, parentwin, &wa)) +- die("could not get embedding window attributes: 0x%lx", +- parentwin); +- x = 0; +- y = topbar ? 0 : wa.height - mh; +- mw = wa.width; +- } ++ ++ /* create menu surface */ ++ surface = wl_compositor_create_surface(compositor); ++ ++ panel = swc_panel_manager_create_panel(panelman, surface); ++ swc_panel_add_listener(panel, &panellistener, NULL); ++ swc_panel_dock(panel, topbar ? SWC_PANEL_EDGE_TOP : SWC_PANEL_EDGE_BOTTOM, screen, 1); ++ ++ wl_display_roundtrip(dpy); ++ if (!mw) ++ exit(1); ++ + promptw = (prompt && *prompt) ? TEXTW(prompt) - lrpad / 4 : 0; + inputw = MIN(inputw, mw/3); + match(); + +- /* create menu window */ +- swa.override_redirect = True; +- swa.background_pixel = scheme[SchemeNorm][ColBg].pixel; +- swa.event_mask = ExposureMask | KeyPressMask | VisibilityChangeMask; +- win = XCreateWindow(dpy, parentwin, x, y, mw, mh, 0, +- CopyFromParent, CopyFromParent, CopyFromParent, +- CWOverrideRedirect | CWBackPixel | CWEventMask, &swa); +- +- /* open input methods */ +- xim = XOpenIM(dpy, NULL, NULL, NULL); +- xic = XCreateIC(xim, XNInputStyle, XIMPreeditNothing | XIMStatusNothing, +- XNClientWindow, win, XNFocusWindow, win, NULL); +- +- XMapRaised(dpy, win); +- if (embed) { +- XSelectInput(dpy, parentwin, FocusChangeMask); +- if (XQueryTree(dpy, parentwin, &dw, &w, &dws, &du) && dws) { +- for (i = 0; i < du && dws[i] != win; ++i) +- XSelectInput(dpy, dws[i], FocusChangeMask); +- XFree(dws); +- } +- grabfocus(); +- } +- drw_resize(drw, mw, mh); ++ drw_resize(drw, surface, mw, mh); + drawmenu(); + } + + static void + usage(void) + { +- fputs("usage: dmenu [-bfiv] [-l lines] [-p prompt] [-fn font] [-m monitor]\n" +- " [-nb color] [-nf color] [-sb color] [-sf color] [-w windowid]\n", stderr); ++ fputs("usage: dmenu [-biv] [-l lines] [-p prompt] [-fn font] [-m monitor]\n" ++ " [-nb color] [-nf color] [-sb color] [-sf color]\n", stderr); + exit(1); + } + + int + main(int argc, char *argv[]) + { +- XWindowAttributes wa; +- int i, fast = 0; ++ struct wl_registry *reg; ++ int i; + + for (i = 1; i < argc; i++) + /* these options take no arguments */ +@@ -653,8 +702,6 @@ main(int argc, char *argv[]) + exit(0); + } else if (!strcmp(argv[i], "-b")) /* appears at the bottom of the screen */ + topbar = 0; +- else if (!strcmp(argv[i], "-f")) /* grabs keyboard before reading stdin */ +- fast = 1; + else if (!strcmp(argv[i], "-i")) { /* case-insensitive item matching */ + fstrncmp = strncasecmp; + fstrstr = cistrstr; +@@ -677,34 +724,23 @@ main(int argc, char *argv[]) + colors[SchemeSel][ColBg] = argv[++i]; + else if (!strcmp(argv[i], "-sf")) /* selected foreground color */ + colors[SchemeSel][ColFg] = argv[++i]; +- else if (!strcmp(argv[i], "-w")) /* embedding window id */ +- embed = argv[++i]; + else + usage(); + +- if (!setlocale(LC_CTYPE, "") || !XSupportsLocale()) ++ if (!setlocale(LC_CTYPE, "")) + fputs("warning: no locale support\n", stderr); +- if (!(dpy = XOpenDisplay(NULL))) ++ if (!(dpy = wl_display_connect(NULL))) + die("cannot open display"); +- screen = DefaultScreen(dpy); +- root = RootWindow(dpy, screen); +- if (!embed || !(parentwin = strtol(embed, NULL, 0))) +- parentwin = root; +- if (!XGetWindowAttributes(dpy, parentwin, &wa)) +- die("could not get embedding window attributes: 0x%lx", +- parentwin); +- drw = drw_create(dpy, screen, root, wa.width, wa.height); ++ if (!(reg = wl_display_get_registry(dpy))) ++ die("cannot get registry"); ++ wl_registry_add_listener(reg, ®listener, NULL); ++ wl_display_roundtrip(dpy); ++ drw = drw_create(dpy); + if (!drw_fontset_create(drw, fonts, LENGTH(fonts))) + die("no fonts could be loaded."); +- lrpad = drw->fonts->h; +- +- if (fast) { +- grabkeyboard(); +- readstdin(); +- } else { +- readstdin(); +- grabkeyboard(); +- } ++ lrpad = drw->fonts->wld->height; ++ ++ readstdin(); + setup(); + run(); + +diff --git a/drw.c b/drw.c +index c1582e7..b6e6d33 100644 +--- a/drw.c ++++ b/drw.c +@@ -2,8 +2,9 @@ + #include + #include + #include +-#include +-#include ++#include ++#include ++#include + + #include "drw.h" + #include "util.h" +@@ -61,40 +62,33 @@ utf8decode(const char *c, long *u, size_t clen) + } + + Drw * +-drw_create(Display *dpy, int screen, Window root, unsigned int w, unsigned int h) ++drw_create(struct wl_display *dpy) + { + Drw *drw = ecalloc(1, sizeof(Drw)); + + drw->dpy = dpy; +- drw->screen = screen; +- drw->root = root; +- drw->w = w; +- drw->h = h; +- drw->drawable = XCreatePixmap(dpy, root, w, h, DefaultDepth(dpy, screen)); +- drw->gc = XCreateGC(dpy, root, 0, NULL); +- XSetLineAttributes(dpy, drw->gc, 1, LineSolid, CapButt, JoinMiter); ++ drw->ctx = wld_wayland_create_context(dpy, WLD_ANY); ++ drw->renderer = wld_create_renderer(drw->ctx); ++ drw->fontctx = wld_font_create_context(); + + return drw; + } + + void +-drw_resize(Drw *drw, unsigned int w, unsigned int h) ++drw_resize(Drw *drw, struct wl_surface *surface, unsigned int w, unsigned int h) + { +- if (!drw) +- return; +- +- drw->w = w; +- drw->h = h; +- if (drw->drawable) +- XFreePixmap(drw->dpy, drw->drawable); +- drw->drawable = XCreatePixmap(drw->dpy, drw->root, w, h, DefaultDepth(drw->dpy, drw->screen)); ++ if (drw->surface) ++ wld_destroy_surface(drw->surface); ++ drw->surface = wld_wayland_create_surface(drw->ctx, w, h, WLD_FORMAT_XRGB8888, 0, surface); + } + + void + drw_free(Drw *drw) + { +- XFreePixmap(drw->dpy, drw->drawable); +- XFreeGC(drw->dpy, drw->gc); ++ wld_destroy_surface(drw->surface); ++ wld_destroy_renderer(drw->renderer); ++ wld_destroy_context(drw->ctx); ++ wld_font_destroy_context(drw->fontctx); + free(drw); + } + +@@ -102,10 +96,10 @@ drw_free(Drw *drw) + * drw_fontset_create instead. + */ + static Fnt * +-xfont_create(Drw *drw, const char *fontname, FcPattern *fontpattern) ++wldfont_create(Drw *drw, const char *fontname, FcPattern *fontpattern) + { + Fnt *font; +- XftFont *xfont = NULL; ++ struct wld_font *wld = NULL; + FcPattern *pattern = NULL; + + if (fontname) { +@@ -114,17 +108,17 @@ xfont_create(Drw *drw, const char *fontname, FcPattern *fontpattern) + * FcNameParse; using the latter results in the desired fallback + * behaviour whereas the former just results in missing-character + * rectangles being drawn, at least with some fonts. */ +- if (!(xfont = XftFontOpenName(drw->dpy, drw->screen, fontname))) { ++ if (!(wld = wld_font_open_name(drw->fontctx, fontname))) { + fprintf(stderr, "error, cannot load font from name: '%s'\n", fontname); + return NULL; + } + if (!(pattern = FcNameParse((FcChar8 *) fontname))) { + fprintf(stderr, "error, cannot parse font name to pattern: '%s'\n", fontname); +- XftFontClose(drw->dpy, xfont); ++ wld_font_close(wld); + return NULL; + } + } else if (fontpattern) { +- if (!(xfont = XftFontOpenPattern(drw->dpy, fontpattern))) { ++ if (!(wld = wld_font_open_pattern(drw->fontctx, fontpattern))) { + fprintf(stderr, "error, cannot load font from pattern.\n"); + return NULL; + } +@@ -133,22 +127,20 @@ xfont_create(Drw *drw, const char *fontname, FcPattern *fontpattern) + } + + font = ecalloc(1, sizeof(Fnt)); +- font->xfont = xfont; ++ font->wld = wld; + font->pattern = pattern; +- font->h = xfont->ascent + xfont->descent; +- font->dpy = drw->dpy; + + return font; + } + + static void +-xfont_free(Fnt *font) ++wldfont_free(Fnt *font) + { + if (!font) + return; + if (font->pattern) + FcPatternDestroy(font->pattern); +- XftFontClose(font->dpy, font->xfont); ++ wld_font_close(font->wld); + free(font); + } + +@@ -162,7 +154,7 @@ drw_fontset_create(Drw* drw, const char *fonts[], size_t fontcount) + return NULL; + + for (i = 1; i <= fontcount; i++) { +- if ((cur = xfont_create(drw, fonts[fontcount - i], NULL))) { ++ if ((cur = wldfont_create(drw, fonts[fontcount - i], NULL))) { + cur->next = ret; + ret = cur; + } +@@ -175,7 +167,7 @@ drw_fontset_free(Fnt *font) + { + if (font) { + drw_fontset_free(font->next); +- xfont_free(font); ++ wldfont_free(font); + } + } + +@@ -184,10 +176,7 @@ drw_clr_create(Drw *drw, Clr *dest, const char *clrname) + { + if (!drw || !dest || !clrname) + return; +- +- if (!XftColorAllocName(drw->dpy, DefaultVisual(drw->dpy, drw->screen), +- DefaultColormap(drw->dpy, drw->screen), +- clrname, dest)) ++ if (!(wld_lookup_named_color(clrname, dest))) + die("error, cannot allocate color '%s'", clrname); + } + +@@ -200,7 +189,7 @@ drw_scm_create(Drw *drw, const char *clrnames[], size_t clrcount) + Clr *ret; + + /* need at least two colors for a scheme */ +- if (!drw || !clrnames || clrcount < 2 || !(ret = ecalloc(clrcount, sizeof(XftColor)))) ++ if (!drw || !clrnames || clrcount < 2 || !(ret = ecalloc(clrcount, sizeof(*ret)))) + return NULL; + + for (i = 0; i < clrcount; i++) +@@ -227,11 +216,15 @@ drw_rect(Drw *drw, int x, int y, unsigned int w, unsigned int h, int filled, int + { + if (!drw || !drw->scheme) + return; +- XSetForeground(drw->dpy, drw->gc, invert ? drw->scheme[ColBg].pixel : drw->scheme[ColFg].pixel); ++ Clr color = invert ? drw->scheme[ColBg] : drw->scheme[ColFg]; + if (filled) +- XFillRectangle(drw->dpy, drw->drawable, drw->gc, x, y, w, h); +- else +- XDrawRectangle(drw->dpy, drw->drawable, drw->gc, x, y, w - 1, h - 1); ++ wld_fill_rectangle(drw->renderer, color, x, y, w, h); ++ else { ++ wld_fill_rectangle(drw->renderer, color, x, y, w, 1); ++ wld_fill_rectangle(drw->renderer, color, x + w - 1, y + 1, 1, h - 2); ++ wld_fill_rectangle(drw->renderer, color, x, y + 1, 1, h - 2); ++ wld_fill_rectangle(drw->renderer, color, x, y - 1, w, 1); ++ } + } + + int +@@ -240,7 +233,6 @@ drw_text(Drw *drw, int x, int y, unsigned int w, unsigned int h, unsigned int lp + char buf[1024]; + int ty; + unsigned int ew; +- XftDraw *d = NULL; + Fnt *usedfont, *curfont, *nextfont; + size_t i, len; + int utf8strlen, utf8charlen, render = x || y || w || h; +@@ -249,7 +241,7 @@ drw_text(Drw *drw, int x, int y, unsigned int w, unsigned int h, unsigned int lp + FcCharSet *fccharset; + FcPattern *fcpattern; + FcPattern *match; +- XftResult result; ++ FcResult result; + int charexists = 0; + + if (!drw || (render && !drw->scheme) || !text || !drw->fonts) +@@ -258,11 +250,7 @@ drw_text(Drw *drw, int x, int y, unsigned int w, unsigned int h, unsigned int lp + if (!render) { + w = ~w; + } else { +- XSetForeground(drw->dpy, drw->gc, drw->scheme[invert ? ColFg : ColBg].pixel); +- XFillRectangle(drw->dpy, drw->drawable, drw->gc, x, y, w, h); +- d = XftDrawCreate(drw->dpy, drw->drawable, +- DefaultVisual(drw->dpy, drw->screen), +- DefaultColormap(drw->dpy, drw->screen)); ++ wld_fill_rectangle(drw->renderer, drw->scheme[invert ? ColFg : ColBg], x, y, w, h); + x += lpad; + w -= lpad; + } +@@ -275,7 +263,7 @@ drw_text(Drw *drw, int x, int y, unsigned int w, unsigned int h, unsigned int lp + while (*text) { + utf8charlen = utf8decode(text, &utf8codepoint, UTF_SIZ); + for (curfont = drw->fonts; curfont; curfont = curfont->next) { +- charexists = charexists || XftCharExists(drw->dpy, curfont->xfont, utf8codepoint); ++ charexists = charexists || wld_font_ensure_char(curfont->wld, utf8codepoint); + if (charexists) { + if (curfont == usedfont) { + utf8strlen += utf8charlen; +@@ -307,9 +295,9 @@ drw_text(Drw *drw, int x, int y, unsigned int w, unsigned int h, unsigned int lp + ; /* NOP */ + + if (render) { +- ty = y + (h - usedfont->h) / 2 + usedfont->xfont->ascent; +- XftDrawStringUtf8(d, &drw->scheme[invert ? ColBg : ColFg], +- usedfont->xfont, x, ty, (XftChar8 *)buf, len); ++ ty = y + (h - usedfont->wld->height) / 2 + usedfont->wld->ascent; ++ wld_draw_text(drw->renderer, usedfont->wld, drw->scheme[invert ? ColBg : ColFg], ++ x, ty, buf, len, NULL); + } + x += ew; + w -= ew; +@@ -330,7 +318,7 @@ drw_text(Drw *drw, int x, int y, unsigned int w, unsigned int h, unsigned int lp + FcCharSetAddChar(fccharset, utf8codepoint); + + if (!drw->fonts->pattern) { +- /* Refer to the comment in xfont_create for more information. */ ++ /* Refer to the comment in wldfont_create for more information. */ + die("the first font in the cache must be loaded from a font string."); + } + +@@ -340,38 +328,37 @@ drw_text(Drw *drw, int x, int y, unsigned int w, unsigned int h, unsigned int lp + + FcConfigSubstitute(NULL, fcpattern, FcMatchPattern); + FcDefaultSubstitute(fcpattern); +- match = XftFontMatch(drw->dpy, drw->screen, fcpattern, &result); ++ match = FcFontMatch(NULL, fcpattern, &result); + + FcCharSetDestroy(fccharset); + FcPatternDestroy(fcpattern); + + if (match) { +- usedfont = xfont_create(drw, NULL, match); +- if (usedfont && XftCharExists(drw->dpy, usedfont->xfont, utf8codepoint)) { ++ usedfont = wldfont_create(drw, NULL, match); ++ if (usedfont && wld_font_ensure_char(usedfont->wld, utf8codepoint)) { + for (curfont = drw->fonts; curfont->next; curfont = curfont->next) + ; /* NOP */ + curfont->next = usedfont; + } else { +- xfont_free(usedfont); ++ wldfont_free(usedfont); + usedfont = drw->fonts; + } + } + } + } +- if (d) +- XftDrawDestroy(d); + + return x + (render ? w : 0); + } + + void +-drw_map(Drw *drw, Window win, int x, int y, unsigned int w, unsigned int h) ++drw_map(Drw *drw, struct wl_surface *surface, int x, int y, unsigned int w, unsigned int h) + { + if (!drw) + return; + +- XCopyArea(drw->dpy, drw->drawable, win, drw->gc, x, y, w, h, x, y); +- XSync(drw->dpy, False); ++ wl_surface_damage(surface, x, y, w, h); ++ wld_flush(drw->renderer); ++ wld_swap(drw->surface); + } + + unsigned int +@@ -385,18 +372,19 @@ drw_fontset_getwidth(Drw *drw, const char *text) + void + drw_font_getexts(Fnt *font, const char *text, unsigned int len, unsigned int *w, unsigned int *h) + { +- XGlyphInfo ext; ++ struct wld_extents ext; + + if (!font || !text) + return; + +- XftTextExtentsUtf8(font->dpy, font->xfont, (XftChar8 *)text, len, &ext); ++ wld_font_text_extents_n(font->wld, text, len, &ext); + if (w) +- *w = ext.xOff; ++ *w = ext.advance; + if (h) +- *h = font->h; ++ *h = font->wld->height; + } + ++#if 0 + Cur * + drw_cur_create(Drw *drw, int shape) + { +@@ -419,3 +407,4 @@ drw_cur_free(Drw *drw, Cur *cursor) + XFreeCursor(drw->dpy, cursor->cursor); + free(cursor); + } ++#endif +diff --git a/drw.h b/drw.h +index 4c67419..1f1967e 100644 +--- a/drw.h ++++ b/drw.h +@@ -1,34 +1,30 @@ + /* See LICENSE file for copyright and license details. */ + +-typedef struct { +- Cursor cursor; +-} Cur; ++typedef void Cur; + + typedef struct Fnt { +- Display *dpy; +- unsigned int h; +- XftFont *xfont; ++ struct wld_font *wld; + FcPattern *pattern; + struct Fnt *next; + } Fnt; + + enum { ColFg, ColBg }; /* Clr scheme index */ +-typedef XftColor Clr; ++typedef uint32_t Clr; + + typedef struct { + unsigned int w, h; +- Display *dpy; +- int screen; +- Window root; +- Drawable drawable; +- GC gc; ++ struct wl_display *dpy; ++ struct wld_context *ctx; ++ struct wld_renderer *renderer; ++ struct wld_surface *surface; ++ struct wld_font_context *fontctx; + Clr *scheme; + Fnt *fonts; + } Drw; + + /* Drawable abstraction */ +-Drw *drw_create(Display *dpy, int screen, Window win, unsigned int w, unsigned int h); +-void drw_resize(Drw *drw, unsigned int w, unsigned int h); ++Drw *drw_create(struct wl_display *dpy); ++void drw_resize(Drw *drw, struct wl_surface *surface, unsigned int w, unsigned int h); + void drw_free(Drw *drw); + + /* Fnt abstraction */ +@@ -54,4 +50,4 @@ void drw_rect(Drw *drw, int x, int y, unsigned int w, unsigned int h, int filled + int drw_text(Drw *drw, int x, int y, unsigned int w, unsigned int h, unsigned int lpad, const char *text, int invert); + + /* Map functions */ +-void drw_map(Drw *drw, Window win, int x, int y, unsigned int w, unsigned int h); ++void drw_map(Drw *drw, struct wl_surface *surface, int x, int y, unsigned int w, unsigned int h); +-- +2.10.1 + diff --git a/pkg/dmenu/rev b/pkg/dmenu/rev new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/pkg/dmenu/rev @@ -0,0 +1 @@ +1 diff --git a/pkg/dmenu/src b/pkg/dmenu/src new file mode 160000 index 00000000..a9a5c6cc --- /dev/null +++ b/pkg/dmenu/src @@ -0,0 +1 @@ +Subproject commit a9a5c6cc2d7d55ed7e556a4fe9d75307c6df2e84 diff --git a/pkg/e2fsprogs/.gitignore b/pkg/e2fsprogs/.gitignore new file mode 100644 index 00000000..012dc66e --- /dev/null +++ b/pkg/e2fsprogs/.gitignore @@ -0,0 +1 @@ +/tools.ninja diff --git a/pkg/e2fsprogs/blkid_types.h b/pkg/e2fsprogs/blkid_types.h new file mode 100644 index 00000000..ee9b980a --- /dev/null +++ b/pkg/e2fsprogs/blkid_types.h @@ -0,0 +1 @@ +#include diff --git a/pkg/e2fsprogs/config.h b/pkg/e2fsprogs/config.h new file mode 100644 index 00000000..6f018398 --- /dev/null +++ b/pkg/e2fsprogs/config.h @@ -0,0 +1,188 @@ +#include + +/* #undef AC_APPLE_UNIVERSAL_BUILD */ +/* #undef CONFIG_BLKID_DEBUG */ +#define CONFIG_BUILD_FINDFS 1 +/* #undef CONFIG_JBD_DEBUG */ +#define CONFIG_MMP 1 +/* #undef CONFIG_TDB */ +/* #undef CONFIG_TESTIO_DEBUG */ +/* #undef CRAY_STACKSEG_END */ +/* #undef C_ALLOCA */ +/* #undef DISABLE_BACKTRACE */ +#define ENABLE_BMAP_STATS 1 +/* #undef ENABLE_BMAP_STATS_OPS */ +/* #undef ENABLE_NLS */ +/* #undef HAVE_ADD_KEY */ +#define HAVE_ALLOCA 1 +#define HAVE_ALLOCA_H 1 +/* #undef HAVE_ARGZ_COUNT */ +/* #undef HAVE_ARGZ_H */ +/* #undef HAVE_ARGZ_NEXT */ +/* #undef HAVE_ARGZ_STRINGIFY */ +#define HAVE_ASPRINTF 1 +/* #undef HAVE_ATTR_XATTR_H */ +/* #undef HAVE_BACKTRACE */ +/* #undef HAVE_BLKID_PROBE_ENABLE_PARTITIONS */ +/* #undef HAVE_BLKID_PROBE_GET_TOPOLOGY */ +#define HAVE_BUILTIN_EXPECT 1 +/* #undef HAVE_CFLOCALECOPYCURRENT */ +/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ +/* #undef HAVE_CHFLAGS */ +/* #undef HAVE_DCGETTEXT */ +#define HAVE_DECL_FEOF_UNLOCKED 1 +#define HAVE_DECL_FGETS_UNLOCKED 1 +#define HAVE_DECL_GETC_UNLOCKED 1 +#define HAVE_DECL__SNPRINTF 0 +#define HAVE_DECL__SNWPRINTF 0 +/* #undef HAVE_DOPRNT */ +/* #undef HAVE_EXECINFO_H */ +#define HAVE_EXT2_IOCTLS 1 +/* #undef HAVE_FADVISE64 */ +#define HAVE_FALLOCATE 1 +#define HAVE_FALLOCATE64 1 +#define HAVE_FEATURES_H 1 +#define HAVE_FSTAT64 1 +#define HAVE_FTRUNCATE64 1 +/* #undef HAVE_FUSE_H */ +#define HAVE_FUTIMES 1 +#define HAVE_GETDTABLESIZE 1 +/* #undef HAVE_GETMNTINFO */ +#define HAVE_GETOPT_H 1 +#define HAVE_GETPAGESIZE 1 +/* #undef HAVE_GETTEXT */ +#define HAVE_INTPTR_T 1 +#define HAVE_INTTYPES_H_WITH_UINTMAX 1 +/* #undef HAVE_KEYCTL */ +#define HAVE_LANGINFO_CODESET 1 +#define HAVE_LC_MESSAGES 1 +/* #undef HAVE_LINUX_FALLOC_H */ +/* #undef HAVE_LINUX_FD_H */ +/* #undef HAVE_LINUX_LOOP_H */ +/* #undef HAVE_LINUX_MAJOR_H */ +#define HAVE_LLISTXATTR 1 +/* #undef HAVE_LLSEEK */ +/* #undef HAVE_LLSEEK_PROTOTYPE */ +#define HAVE_LONG_LONG_INT 1 +#define HAVE_LSEEK64 1 +#define HAVE_LSEEK64_PROTOTYPE 1 +/* #undef HAVE_MAGIC_H */ +/* #undef HAVE_MALLINFO */ +#define HAVE_MALLOC_H 1 +#define HAVE_MEMALIGN 1 +#define HAVE_MEMORY_H 1 +#define HAVE_MEMPCPY 1 +#define HAVE_MNTENT_H 1 +/* #undef HAVE_NET_IF_DL_H */ +#define HAVE_OPEN64 1 +/* #undef HAVE_OPTRESET */ +#define HAVE_PATHS_H 1 +#define HAVE_POSIX_FADVISE64 1 +#define HAVE_POSIX_PRINTF 1 +#define HAVE_PRCTL 1 +#define HAVE_PREAD64 1 +#define HAVE_PTHREAD_MUTEX_RECURSIVE 1 +#define HAVE_PTHREAD_RWLOCK 1 +#define HAVE_PWRITE64 1 +#define HAVE_RECLEN_DIRENT 1 +/* #undef HAVE_SA_LEN */ +/* #undef HAVE_SECURE_GETENV */ +#define HAVE_SETMNTENT 1 +#define HAVE_SETRESGID 1 +#define HAVE_SETRESUID 1 +/* #undef HAVE_STAT_FLAGS */ +#define HAVE_STDINT_H_WITH_UINTMAX 1 +#define HAVE_STRUCT_STAT_ST_ATIM 1 +#define HAVE_SYNC_FILE_RANGE 1 +/* #undef HAVE_SYS_ACL_H */ +/* #undef HAVE_SYS_DISKLABEL_H */ +/* #undef HAVE_SYS_DISK_H */ +#define HAVE_SYS_FILE_H 1 +#define HAVE_SYS_IOCTL_H 1 +/* #undef HAVE_SYS_KEY_H */ +/* #undef HAVE_SYS_MKDEV_H */ +#define HAVE_SYS_MOUNT_H 1 +#define HAVE_SYS_PARAM_H 1 +#define HAVE_SYS_PRCTL_H 1 +/* #undef HAVE_SYS_SOCKIO_H */ +#define HAVE_SYS_SYSCALL_H 1 +/* #undef HAVE_SYS_SYSCTL_H */ +#define HAVE_SYS_SYSMACROS_H 1 +/* #undef HAVE_TERMIO_H */ +#define HAVE_TYPE_SSIZE_T 1 +#define HAVE_UNSIGNED_LONG_LONG_INT 1 +#define HAVE_USLEEP 1 +#define HAVE_VALLOC 1 +#define HAVE_VISIBILITY 1 +#define HAVE_WCHAR_T 1 +#define HAVE_WINT_T 1 +#define HAVE_WORKING_O_NOATIME 1 +#define HAVE_WORKING_O_NOFOLLOW 1 +#define HAVE___FSETLOCKING 1 +/* #undef HAVE___SECURE_GETENV */ +#define ICONV_CONST +#define INTDIV0_RAISES_SIGFPE 1 +#define PACKAGE "e2fsprogs" +#define PACKAGE_BUGREPORT "" +#define PACKAGE_NAME "" +#define PACKAGE_STRING "" +#define PACKAGE_TARNAME "" +#define PACKAGE_URL "" +#define PACKAGE_VERSION "" +/* #undef PRI_MACROS_BROKEN */ +/* #undef PTHREAD_IN_USE_DETECTION_HARD */ +#define SIZEOF_INT 4 +#define SIZEOF_LONG 8 +#define SIZEOF_LONG_LONG 8 +#define SIZEOF_OFF_T 8 +#define SIZEOF_SHORT 2 +#define SIZEOF_TIME_T 8 +#ifndef SIZE_MAX +/* # undef SIZE_MAX */ +#endif +/* #undef STACK_DIRECTION */ +#define TLS _Thread_local +#define USE_POSIX_THREADS 1 +#define USE_POSIX_THREADS_WEAK 1 +/* #undef USE_PTH_THREADS */ +/* #undef USE_PTH_THREADS_WEAK */ +/* #undef USE_SOLARIS_THREADS */ +/* #undef USE_SOLARIS_THREADS_WEAK */ +#ifndef _ALL_SOURCE +# define _ALL_SOURCE 1 +#endif +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif +#ifndef _POSIX_PTHREAD_SEMANTICS +# define _POSIX_PTHREAD_SEMANTICS 1 +#endif +#ifndef _TANDEM_SOURCE +# define _TANDEM_SOURCE 1 +#endif +#ifndef __EXTENSIONS__ +# define __EXTENSIONS__ 1 +#endif +/* #undef USE_UUIDD */ +/* #undef USE_WINDOWS_THREADS */ +#define VERSION "0.14.1" +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif +/* #undef _INTL_REDIRECT_MACROS */ +/* #undef _MINIX */ +/* #undef _POSIX_1_SOURCE */ +/* #undef _POSIX_SOURCE */ +#ifndef __cplusplus +/* #undef inline */ +#endif +/* #undef ptrdiff_t */ +/* #undef size_t */ +/* #undef uintmax_t */ +#include diff --git a/pkg/e2fsprogs/dirpaths.h b/pkg/e2fsprogs/dirpaths.h new file mode 100644 index 00000000..6b0ac378 --- /dev/null +++ b/pkg/e2fsprogs/dirpaths.h @@ -0,0 +1,2 @@ +#define LOCALEDIR "/share/locale" +#define ROOT_SYSCONFDIR "/etc" diff --git a/pkg/e2fsprogs/ext2_types.h b/pkg/e2fsprogs/ext2_types.h new file mode 100644 index 00000000..c0c25c09 --- /dev/null +++ b/pkg/e2fsprogs/ext2_types.h @@ -0,0 +1,3 @@ +#include +#include +#define __force diff --git a/pkg/e2fsprogs/gen.rc b/pkg/e2fsprogs/gen.rc new file mode 100644 index 00000000..21b56b42 --- /dev/null +++ b/pkg/e2fsprogs/gen.rc @@ -0,0 +1,196 @@ +version=1.43.1 +cflags\ + -D HAVE_CONFIG_H\ + -I include\ + -I '$dir' \ + -I '$outdir'/include\ + -I '$outdir'/internal\ + -I '$outdir'/internal/support\ + -I '$srcdir'/lib + +set subst\ + -e s,@E2FSPROGS_VERSION@,$version,\ + -e s,@E2FSPROGS_MONTH@,June,\ + -e s,@E2FSPROGS_YEAR@,2016,\ + -e s,@JDEV@,, + +fn et { + et=$1 src='$outdir'/$2 hdr='$outdir'/$3 + build $src awk $et '|' '$srcdir'/lib/et/et_c.awk ; with\ + expr '-f $srcdir/lib/et/et_c.awk -v outfile=/dev/stdout outfn='`{basename $src} + build $hdr awk $et '|' '$srcdir'/lib/et/et_h.awk ; with\ + expr '-f $srcdir/lib/et/et_h.awk -v outfile=/dev/stdout outfn='`{basename $hdr} +} + +fn subst { + build '$outdir'/$1 sed '$srcdir'/$2 ; with expr '$subst' +} + +fn man { + src=$1 + base=`{basename $src} + sec=`{printf $base | tail -c 1} + subst $base $1 + file share/man/man$sec/$base '$outdir'/$base 644 +} + +subst ext2_err.et lib/ext2fs/ext2_err.et.in +et '$outdir'/ext2_err.et ext2_err.c include/ext2fs/ext2_err.h +et '$srcdir'/lib/support/prof_err.et prof_err.c internal/support/prof_err.h + +build '$outdir'/include/blkid/blkid.h copy '$srcdir'/lib/blkid/blkid.h.in +build '$outdir'/include/ext2fs/ext2_types.h copy '$dir'/ext2_types.h +build '$outdir'/include/uuid/uuid.h copy '$srcdir'/lib/uuid/uuid.h.in +build '$outdir'/internal/blkid/blkid_types.h copy '$dir'/blkid_types.h + +{ + include 'toolchain/$host_toolchain.ninja' + exe gen_crc32ctable lib/ext2fs/gen_crc32ctable.c +} >tools.ninja ; subninja tools.ninja +rule gen_crc32ctable '$outdir/gen_crc32ctable >$out.tmp && mv $out.tmp $out' +build '$outdir'/internal/crc32c_table.h gen_crc32ctable '|' '$outdir'/gen_crc32ctable + +phony headers '$outdir'/include/^(\ + blkid/blkid.h\ + ext2fs/^(ext2_err.h ext2_types.h)\ + uuid/uuid.h\ +) +phony deps '$dir'/headers '$outdir'/internal/^(\ + blkid/blkid_types.h support/prof_err.h crc32c_table.h\ +) + +lib libcomm_err.a -d '$dir'/deps\ + lib/et/^(error_message.c et_name.c init_et.c com_err.c com_right.c) +lib libblkid.a -d '$dir'/deps lib/blkid/^(\ + cache.c dev.c devname.c devno.c getsize.c llseek.c probe.c\ + read.c resolve.c save.c tag.c version.c\ +) +lib libe2p.a -d '$dir'/deps lib/e2p/^(\ + feature.c fgetflags.c fsetflags.c fgetversion.c fsetversion.c\ + getflags.c getversion.c hashstr.c iod.c ls.c mntopts.c\ + parse_num.c pe.c pf.c ps.c setflags.c setversion.c uuid.c\ + ostype.c percent.c crypto_mode.c fgetproject.c fsetproject.c\ +) +lib libext2fs.a -d '$dir'/deps '$outdir'/ext2_err.c lib/ext2fs/^(\ + alloc.c\ + alloc_sb.c\ + alloc_stats.c\ + alloc_tables.c\ + atexit.c\ + badblocks.c\ + bb_inode.c\ + bitmaps.c\ + bitops.c\ + blkmap64_ba.c\ + blkmap64_rb.c\ + blknum.c\ + block.c\ + bmap.c\ + check_desc.c\ + closefs.c\ + crc16.c\ + crc32c.c\ + csum.c\ + dblist.c\ + dblist_dir.c\ + dirblock.c\ + dirhash.c\ + dir_iterate.c\ + expanddir.c\ + ext_attr.c\ + extent.c\ + fallocate.c\ + fileio.c\ + finddev.c\ + flushb.c\ + freefs.c\ + gen_bitmap.c\ + gen_bitmap64.c\ + get_num_dirs.c\ + get_pathname.c\ + getsize.c\ + getsectsize.c\ + i_block.c\ + icount.c\ + ind_block.c\ + initialize.c\ + inline.c\ + inline_data.c\ + inode.c\ + io_manager.c\ + ismounted.c\ + link.c\ + llseek.c\ + lookup.c\ + mkdir.c\ + mkjournal.c\ + mmp.c\ + namei.c\ + native.c\ + newdir.c\ + openfs.c\ + progress.c\ + punch.c\ + qcow2.c\ + read_bb.c\ + read_bb_file.c\ + res_gdt.c\ + rw_bitmaps.c\ + sha512.c\ + swapfs.c\ + symlink.c\ + undo_io.c\ + unix_io.c\ + unlink.c\ + valid_blk.c\ + version.c\ + rbtree.c\ + \ + dupfs.c\ +) +lib libsupport.a -d '$dir'/deps '$outdir'/prof_err.c lib/support/^(\ + mkquota.c\ + plausible.c\ + profile.c\ + parse_qtype.c\ + profile_helpers.c\ + quotaio.c\ + quotaio_v2.c\ + quotaio_tree.c\ + dict.c\ +) +lib libuuid.a -d '$dir'/deps lib/uuid/^(\ + clear.c\ + compare.c\ + copy.c\ + gen_uuid.c\ + isnull.c\ + pack.c\ + parse.c\ + unpack.c\ + unparse.c\ + uuid_time.c\ +) + +libs=(libext2fs.a libe2p.a libblkid.a libuuid.a libcomm_err.a libsupport.a) + +exe bin/e2fsck -d '$dir'/headers e2fsck/^(\ + unix.c e2fsck.c super.c pass1.c pass1b.c pass2.c\ + pass3.c pass4.c pass5.c journal.c badblocks.c util.c dirinfo.c\ + dx_dirinfo.c ehandler.c problem.c message.c quota.c recovery.c\ + region.c revoke.c ea_refcount.c rehash.c\ + logfile.c sigcatcher.c readahead.c\ + extents.c\ +) $libs +file bin/e2fsck '$outdir'/bin/e2fsck 755 +man e2fsck/e2fsck.8.in +man e2fsck/e2fsck.conf.5.in + +exe bin/resize2fs -d '$dir'/headers resize/^(\ + extent.c resize2fs.c main.c online.c resource_track.c\ + sim_progress.c\ +) $libs +file bin/resize2fs '$outdir'/bin/resize2fs 755 +man resize/resize2fs.8.in + +fetch git diff --git a/pkg/e2fsprogs/rev b/pkg/e2fsprogs/rev new file mode 100644 index 00000000..0cfbf088 --- /dev/null +++ b/pkg/e2fsprogs/rev @@ -0,0 +1 @@ +2 diff --git a/pkg/e2fsprogs/src b/pkg/e2fsprogs/src new file mode 160000 index 00000000..4e52870e --- /dev/null +++ b/pkg/e2fsprogs/src @@ -0,0 +1 @@ +Subproject commit 4e52870eeb08ed7532bf4fd3d5cb1538f714bdc8 diff --git a/pkg/efibootmgr/gen.rc b/pkg/efibootmgr/gen.rc new file mode 100644 index 00000000..25feac5b --- /dev/null +++ b/pkg/efibootmgr/gen.rc @@ -0,0 +1,11 @@ +cflags\ + -I '$builddir'/pkg/efivar/include\ + -I '$srcdir'/src/include + +exe efibootmgr -d pkg/efivar/headers\ + src/^(efibootmgr/efibootmgr.c lib/^(efi.c unparse_path.c))\ + '$builddir'/pkg/efivar/^(libefiboot.a libefivar.a) +file bin/efibootmgr '$outdir'/efibootmgr 755 +file share/man/man8/efibootmgr.8 '$srcdir'/src/man/man8/efibootmgr.8 644 + +fetch git diff --git a/pkg/efibootmgr/rev b/pkg/efibootmgr/rev new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/pkg/efibootmgr/rev @@ -0,0 +1 @@ +1 diff --git a/pkg/efibootmgr/src b/pkg/efibootmgr/src new file mode 160000 index 00000000..bedb008b --- /dev/null +++ b/pkg/efibootmgr/src @@ -0,0 +1 @@ +Subproject commit bedb008bbc464818dbeabce6cbd0fec88b5d9381 diff --git a/pkg/efivar/.gitignore b/pkg/efivar/.gitignore new file mode 100644 index 00000000..012dc66e --- /dev/null +++ b/pkg/efivar/.gitignore @@ -0,0 +1 @@ +/tools.ninja diff --git a/pkg/efivar/compat.h b/pkg/efivar/compat.h new file mode 100644 index 00000000..4f4842f7 --- /dev/null +++ b/pkg/efivar/compat.h @@ -0,0 +1,3 @@ +#ifndef __bswap_constant_16 +#define __bswap_constant_16(x) ((x)<<8&0xff00 | (x)>>8&0xff) +#endif diff --git a/pkg/efivar/gen.rc b/pkg/efivar/gen.rc new file mode 100644 index 00000000..4dc6f8fd --- /dev/null +++ b/pkg/efivar/gen.rc @@ -0,0 +1,36 @@ +cc src/guids.S '||' '$outdir'/^(guids.bin names.bin) ; with\ + cflags '$cflags -I $outdir' + +cflags\ + -D _GNU_SOURCE\ + -include '$dir'/compat.h\ + -I '$outdir'/include\ + -I '$srcdir'/src/include/efivar + +{ + include 'toolchain/$host_toolchain.ninja' + cflags\ + -D EFIVAR_BUILD_ENVIRONMENT\ + -I '$srcdir'/src/include/efivar + build '$outdir'/host-guid.c.o cc '$srcdir'/src/guid.c + exe makeguids src/makeguids.c host-guid.c.o +} >tools.ninja ; subninja tools.ninja + +rule makeguids '$outdir/makeguids $in $out' +outs='$outdir'/^(guids.bin names.bin guid-symbols.c include/efivar-guids.h)\ + build $"outs makeguids '$srcdir'/src/guids.txt '|' '$outdir'/makeguids + +hdrs=(efiboot.h efiboot-creator.h efiboot-loadopt.h efivar.h efivar-dp.h) +for(hdr in $hdrs) { + build '$outdir'/include/$hdr copy '$srcdir'/src/include/efivar/$hdr +} +phony headers '$outdir'/include/^($hdrs efivar-guids.h) + +lib libefiboot.a src/^(crc32.c creator.c disk.c gpt.c linux.c loadopt.c) +lib libefivar.a -d '$outdir'/include/efivar-guids.h src/^(\ + dp.c dp-acpi.c dp-hw.c dp-media.c dp-message.c\ + efivarfs.c export.c guid.c guids.S.o\ + lib.c vars.c\ +) '$outdir'/guid-symbols.c + +fetch git diff --git a/pkg/efivar/patch/0001-Workaround-rename-of-linux-nvme.h.patch b/pkg/efivar/patch/0001-Workaround-rename-of-linux-nvme.h.patch new file mode 100644 index 00000000..d18b779f --- /dev/null +++ b/pkg/efivar/patch/0001-Workaround-rename-of-linux-nvme.h.patch @@ -0,0 +1,30 @@ +From 2b91a687fc2734ee53abfb02b115ea546f46c6f1 Mon Sep 17 00:00:00 2001 +From: Mike Gilbert +Date: Thu, 14 Jan 2016 17:02:31 -0500 +Subject: [PATCH] Workaround rename of linux/nvme.h + +Bug: https://bugs.gentoo.org/571548 +--- + src/linux.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/src/linux.c b/src/linux.c +index b618cfd..9388cd3 100644 +--- a/src/linux.c ++++ b/src/linux.c +@@ -22,7 +22,12 @@ + #include + #include + #include ++#include ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 0) ++#include ++#else + #include ++#endif + #include + #include + #include +-- +2.9.0 + diff --git a/pkg/efivar/rev b/pkg/efivar/rev new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/pkg/efivar/rev @@ -0,0 +1 @@ +1 diff --git a/pkg/efivar/src b/pkg/efivar/src new file mode 160000 index 00000000..6478af5a --- /dev/null +++ b/pkg/efivar/src @@ -0,0 +1 @@ +Subproject commit 6478af5af7e2fc8fa2247a47b6db9f2a5dc91365 diff --git a/pkg/expat/expat_config.h b/pkg/expat/expat_config.h new file mode 100644 index 00000000..2fb97f3c --- /dev/null +++ b/pkg/expat/expat_config.h @@ -0,0 +1,22 @@ +#include + +#define BYTEORDER 1234 +#define HAVE_BCOPY 1 +#define HAVE_GETPAGESIZE 1 +#define HAVE_MEMORY_H 1 +#define HAVE_SYS_PARAM_H 1 +#define LT_OBJDIR ".libs/" +#define PACKAGE_BUGREPORT "expat-bugs@libexpat.org" +#define PACKAGE_NAME "expat" +#define PACKAGE_STRING "expat 2.2.0" +#define PACKAGE_TARNAME "expat" +#define PACKAGE_URL "" +#define PACKAGE_VERSION "2.2.0" +/* #undef WORDS_BIGENDIAN */ +#define XML_CONTEXT_BYTES 1024 +#define XML_DTD 1 +#define XML_NS 1 +/* #undef __func__ */ +/* #undef const */ +/* #undef off_t */ +/* #undef size_t */ diff --git a/pkg/expat/gen.rc b/pkg/expat/gen.rc new file mode 100644 index 00000000..e1bb03c8 --- /dev/null +++ b/pkg/expat/gen.rc @@ -0,0 +1,12 @@ +cflags\ + -D HAVE_EXPAT_CONFIG_H\ + -I include\ + -I '$dir' + +lib libexpat.a expat/lib/^(xmlparse.c xmltok.c xmlrole.c) + +hdrs=(expat.h expat_external.h) +for(hdr in $hdrs) build '$outdir'/include/$hdr copy '$srcdir'/expat/lib/$hdr +phony headers '$outdir'/include/$hdrs + +fetch git diff --git a/pkg/expat/rev b/pkg/expat/rev new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/pkg/expat/rev @@ -0,0 +1 @@ +1 diff --git a/pkg/expat/src b/pkg/expat/src new file mode 160000 index 00000000..fbc46fa2 --- /dev/null +++ b/pkg/expat/src @@ -0,0 +1 @@ +Subproject commit fbc46fa2be307280648147543c053d05910f7a85 diff --git a/pkg/ffmpeg/avconfig.awk b/pkg/ffmpeg/avconfig.awk new file mode 100644 index 00000000..b1f9628f --- /dev/null +++ b/pkg/ffmpeg/avconfig.awk @@ -0,0 +1,17 @@ +/^#define/ { + cfg[$2] = $3 +} + +function printvar(var) { + print "#define AV_" var " " cfg[var] +} + +END { + print "/* generated by avconfig.awk */" + print "#ifndef AVUTIL_AVCONFIG_H" + print "#define AVUTIL_AVCONFIG_H" + printvar("HAVE_BIGENDIAN") + printvar("HAVE_FAST_UNALIGNED") + printvar("HAVE_INCOMPATIBLE_LIBAV_ABI") + print "#endif /* AVUTIL_AVCONFIG_H */" +} diff --git a/pkg/ffmpeg/bitstream_filters.awk b/pkg/ffmpeg/bitstream_filters.awk new file mode 100644 index 00000000..878f87e6 --- /dev/null +++ b/pkg/ffmpeg/bitstream_filters.awk @@ -0,0 +1,29 @@ +/^#define/ && $3 { + cfg[$2] = 1 +} + +func bsf(name) { + if (cfg["CONFIG_" toupper(name) "_BSF"]) + print "&ff_" name "_bsf," +} + +END { + print "static const AVBitStreamFilter *bitstream_filters[] = {" + bsf("aac_adtstoasc") + bsf("chomp") + bsf("dump_extradata") + bsf("dca_core") + bsf("h264_mp4toannexb") + bsf("hevc_mp4toannexb") + bsf("imx_dump_header") + bsf("mjpeg2jpeg") + bsf("mjpega_dump_header") + bsf("mp3_header_decompress") + bsf("mpeg4_unpack_bframes") + bsf("mov2textsub") + bsf("noise") + bsf("remove_extradata") + bsf("text2movsub") + bsf("vp9_superframe") + print "NULL};" +} diff --git a/pkg/ffmpeg/config.h b/pkg/ffmpeg/config.h new file mode 100644 index 00000000..1d12d38e --- /dev/null +++ b/pkg/ffmpeg/config.h @@ -0,0 +1,17 @@ +#ifndef FFMPEG_CONFIG_H +#define FFMPEG_CONFIG_H +#define FFMPEG_CONFIGURATION "--disable-doc --disable-programs --prefix=/" +#define FFMPEG_LICENSE "LGPL version 2.1 or later" +#define CONFIG_THIS_YEAR 2016 +#define FFMPEG_DATADIR "/share/ffmpeg" +#define AVCONV_DATADIR "/share/ffmpeg" +#define CC_IDENT "gcc 5.3.0 (GCC)" +#define av_restrict restrict +#define EXTERN_PREFIX "" +#define EXTERN_ASM +#define BUILDSUF "" +#define SLIBSUF ".so" +#define HAVE_MMX2 HAVE_MMXEXT +#define SWS_MAX_FILTER_SIZE 256 +#include "options.h" +#endif /* FFMPEG_CONFIG_H */ diff --git a/pkg/ffmpeg/config.mak b/pkg/ffmpeg/config.mak new file mode 100644 index 00000000..5cb3ecf3 --- /dev/null +++ b/pkg/ffmpeg/config.mak @@ -0,0 +1,2 @@ +# This file is intentionally empty. It exists for scripts/sources.mk so that the +# Makefiles have something to include. diff --git a/pkg/ffmpeg/gen.rc b/pkg/ffmpeg/gen.rc new file mode 100644 index 00000000..767e532a --- /dev/null +++ b/pkg/ffmpeg/gen.rc @@ -0,0 +1,254 @@ +arch=x86 + +cflags\ + -Wno-deprecated-declarations\ + -Wno-discarded-qualifiers\ + -D HAVE_AV_CONFIG_H\ + -isystem '$builddir'/pkg/alsa-lib/include\ + -isystem '$builddir'/pkg/libressl/include\ + -I '$dir' \ + -I '$outdir'/include\ + -I '$outdir'/internal\ + -I '$srcdir' + +set nasmflags\ + -i '$srcdir'/\ + -i '$srcdir'/libavutil/$arch/\ + -f elf64\ + -P '$outdir'/config.asm + +gen_inputs='$dir'/^(sources.awk sources.txt options.h) + +build '$outdir'/config.asm awk '$dir'/options.h ; with\ + expr '''{print "%define " substr($$0, length("#define ") + 1)}''' +build '$outdir'/internal/libavcodec/bsf_list.c awk '$dir'/options.h '|' '$dir'/bitstream_filters.awk ; with\ + expr '-f $dir/bitstream_filters.awk' +build '$outdir'/internal/libavformat/protocol_list.c awk '$dir'/options.h '|' '$dir'/protocols.awk ; with\ + expr '-f $dir/protocols.awk' +build '$outdir'/include/libavutil/avconfig.h awk '$dir'/options.h ; with\ + expr '-f $dir/avconfig.awk' + +rule ffversion 'sh $srcdir/version.sh $srcdir $out' +build '$outdir'/include/libavutil/ffversion.h ffversion '|' '$srcdir'/version.sh + +# TODO: Copy the rest of the headers. +phony headers '$outdir'/include/libavutil/^(avconfig.h ffversion.h) + +phony deps\ + '$outdir'/config.asm\ + ('$dir' pkg/libressl pkg/alsa-lib)^/headers + +fn fflib { + name=$1 srcs=() libs=() + shift + for(src) switch($src) { + case *.[ad] + libs=($libs $src) + case $arch/* + srcs=($srcs $src) + case */* + case * + srcs=($srcs $src) + } + srcs=($srcs `{awk -f sources.awk 'lib='$name 'sources='sources.txt 'arch='$arch options.h | sort -u}) + checkstatus + lib $name.a -d '$dir'/deps $name/$srcs $libs +} + +cc libavcodec/bitstream_filters.c '||' '$outdir'/internal/libavcodec/bsf_list.c +fflib libavcodec\ + allcodecs.c\ + audioconvert.c\ + avdct.c\ + avpacket.c\ + avpicture.c\ + bitstream.c\ + bitstream_filter.c\ + bitstream_filters.c.o\ + bsf.c\ + codec_desc.c\ + d3d11va.c\ + dirac.c\ + dv_profile.c\ + imgconvert.c\ + jni.c\ + mathtables.c\ + mediacodec.c\ + options.c\ + parser.c\ + profiles.c\ + qsv_api.c\ + raw.c\ + resample.c\ + resample2.c\ + utils.c\ + vorbis_parser.c\ + xiph.c\ + x86/constants.c\ + libavutil.a + +fflib libavdevice alldevices.c avdevice.c utils.c\ + libavcodec.a.d libavformat.a.d libavutil.a + +fflib libavfilter\ + allfilters.c\ + audio.c\ + avfilter.c\ + avfiltergraph.c\ + buffersink.c\ + buffersrc.c\ + drawutils.c\ + fifo.c\ + formats.c\ + framepool.c\ + graphdump.c\ + graphparser.c\ + opencl_allkernels.c\ + transform.c\ + video.c\ + libavutil.a + +cc libavformat/protocols.c '||' '$outdir'/internal/libavformat/protocol_list.c +fflib libavformat\ + allformats.c\ + avio.c\ + aviobuf.c\ + cutils.c\ + dump.c\ + format.c\ + id3v1.c\ + id3v2.c\ + metadata.c\ + mux.c\ + options.c\ + os_support.c\ + qtpalette.c\ + protocols.c.o\ + riff.c\ + sdp.c\ + url.c\ + utils.c\ + libavcodec.a.d libavutil.a\ + '$builddir'/pkg/libressl/libssl.a.d + +fflib libavutil\ + adler32.c\ + aes.c\ + aes_ctr.c\ + audio_fifo.c\ + avstring.c\ + base64.c\ + blowfish.c\ + bprint.c\ + buffer.c\ + cast5.c\ + camellia.c\ + channel_layout.c\ + color_utils.c\ + cpu.c\ + crc.c\ + des.c\ + dict.c\ + display.c\ + downmix_info.c\ + error.c\ + eval.c\ + fifo.c\ + file.c\ + file_open.c\ + float_dsp.c\ + fixed_dsp.c\ + frame.c\ + hash.c\ + hmac.c\ + hwcontext.c\ + imgutils.c\ + integer.c\ + intmath.c\ + lfg.c\ + lls.c\ + log.c\ + log2_tab.c\ + mathematics.c\ + mastering_display_metadata.c\ + md5.c\ + mem.c\ + murmur3.c\ + opt.c\ + parseutils.c\ + pixdesc.c\ + pixelutils.c\ + random_seed.c\ + rational.c\ + reverse.c\ + rc4.c\ + ripemd.c\ + samplefmt.c\ + sha.c\ + sha512.c\ + stereo3d.c\ + threadmessage.c\ + time.c\ + timecode.c\ + tree.c\ + twofish.c\ + utils.c\ + xga_font_data.c\ + xtea.c\ + tea.c\ + x86/^(\ + cpu.c fixed_dsp_init.c float_dsp_init.c lls_init.c\ + cpuid.asm fixed_dsp.asm float_dsp.asm lls.asm\ + ) + +fflib libswresample\ + audioconvert.c\ + dither.c\ + options.c\ + rematrix.c\ + resample.c\ + resample_dsp.c\ + swresample.c\ + swresample_frame.c\ + x86/^(\ + audio_convert.asm rematrix.asm resample.asm\ + audio_convert_init.c rematrix_init.c resample_init.c\ + )\ + libavutil.a + +fflib libswscale\ + alphablend.c\ + hscale.c\ + hscale_fast_bilinear.c\ + gamma.c\ + input.c\ + options.c\ + output.c\ + rgb2rgb.c\ + slice.c\ + swscale.c\ + swscale_unscaled.c\ + utils.c\ + yuv2rgb.c\ + vscale.c\ + x86/^(\ + rgb2rgb.c swscale.c yuv2rgb.c\ + hscale_fast_bilinear_simd.c\ + input.asm output.asm scale.asm\ + )\ + libavutil.a + +libs=(\ + libavcodec.a.d libavdevice.a.d libavfilter.a.d libavformat.a.d libavutil.a\ + libswresample.a.d libswscale.a.d\ +) + +cc cmdutils.c + +exe ffprobe ffprobe.c cmdutils.c.o $libs +file bin/ffprobe '$outdir'/ffprobe 755 + +exe ffmpeg ffmpeg.c ffmpeg_opt.c ffmpeg_filter.c cmdutils.c.o $libs +file bin/ffmpeg '$outdir'/ffmpeg 755 + +fetch git diff --git a/pkg/ffmpeg/options.h b/pkg/ffmpeg/options.h new file mode 100644 index 00000000..7130924f --- /dev/null +++ b/pkg/ffmpeg/options.h @@ -0,0 +1,2213 @@ +#define ARCH_AARCH64 0 +#define ARCH_ALPHA 0 +#define ARCH_ARM 0 +#define ARCH_AVR32 0 +#define ARCH_AVR32_AP 0 +#define ARCH_AVR32_UC 0 +#define ARCH_BFIN 0 +#define ARCH_IA64 0 +#define ARCH_M68K 0 +#define ARCH_MIPS 0 +#define ARCH_MIPS64 0 +#define ARCH_PARISC 0 +#define ARCH_PPC 0 +#define ARCH_PPC64 0 +#define ARCH_S390 0 +#define ARCH_SH4 0 +#define ARCH_SPARC 0 +#define ARCH_SPARC64 0 +#define ARCH_TILEGX 0 +#define ARCH_TILEPRO 0 +#define ARCH_TOMI 0 +#define ARCH_X86 1 +#define ARCH_X86_32 0 +#define ARCH_X86_64 1 +#define HAVE_ARMV5TE 0 +#define HAVE_ARMV6 0 +#define HAVE_ARMV6T2 0 +#define HAVE_ARMV8 0 +#define HAVE_NEON 0 +#define HAVE_VFP 0 +#define HAVE_VFPV3 0 +#define HAVE_SETEND 0 +#define HAVE_ALTIVEC 0 +#define HAVE_DCBZL 0 +#define HAVE_LDBRX 0 +#define HAVE_POWER8 0 +#define HAVE_PPC4XX 0 +#define HAVE_VSX 0 +#define HAVE_AESNI 1 +#define HAVE_AMD3DNOW 1 +#define HAVE_AMD3DNOWEXT 1 +#define HAVE_AVX 1 +#define HAVE_AVX2 1 +#define HAVE_FMA3 1 +#define HAVE_FMA4 1 +#define HAVE_MMX 1 +#define HAVE_MMXEXT 1 +#define HAVE_SSE 1 +#define HAVE_SSE2 1 +#define HAVE_SSE3 1 +#define HAVE_SSE4 1 +#define HAVE_SSE42 1 +#define HAVE_SSSE3 1 +#define HAVE_XOP 1 +#define HAVE_CPUNOP 0 +#define HAVE_I686 1 +#define HAVE_MIPSFPU 0 +#define HAVE_MIPS32R2 0 +#define HAVE_MIPS32R5 0 +#define HAVE_MIPS64R2 0 +#define HAVE_MIPS32R6 0 +#define HAVE_MIPS64R6 0 +#define HAVE_MIPSDSP 0 +#define HAVE_MIPSDSPR2 0 +#define HAVE_MSA 0 +#define HAVE_LOONGSON2 1 +#define HAVE_LOONGSON3 1 +#define HAVE_MMI 0 +#define HAVE_ARMV5TE_EXTERNAL 0 +#define HAVE_ARMV6_EXTERNAL 0 +#define HAVE_ARMV6T2_EXTERNAL 0 +#define HAVE_ARMV8_EXTERNAL 0 +#define HAVE_NEON_EXTERNAL 0 +#define HAVE_VFP_EXTERNAL 0 +#define HAVE_VFPV3_EXTERNAL 0 +#define HAVE_SETEND_EXTERNAL 0 +#define HAVE_ALTIVEC_EXTERNAL 0 +#define HAVE_DCBZL_EXTERNAL 0 +#define HAVE_LDBRX_EXTERNAL 0 +#define HAVE_POWER8_EXTERNAL 0 +#define HAVE_PPC4XX_EXTERNAL 0 +#define HAVE_VSX_EXTERNAL 0 +#define HAVE_AESNI_EXTERNAL 1 +#define HAVE_AMD3DNOW_EXTERNAL 1 +#define HAVE_AMD3DNOWEXT_EXTERNAL 1 +#define HAVE_AVX_EXTERNAL 1 +#define HAVE_AVX2_EXTERNAL 1 +#define HAVE_FMA3_EXTERNAL 1 +#define HAVE_FMA4_EXTERNAL 1 +#define HAVE_MMX_EXTERNAL 1 +#define HAVE_MMXEXT_EXTERNAL 1 +#define HAVE_SSE_EXTERNAL 1 +#define HAVE_SSE2_EXTERNAL 1 +#define HAVE_SSE3_EXTERNAL 1 +#define HAVE_SSE4_EXTERNAL 1 +#define HAVE_SSE42_EXTERNAL 1 +#define HAVE_SSSE3_EXTERNAL 1 +#define HAVE_XOP_EXTERNAL 1 +#define HAVE_CPUNOP_EXTERNAL 0 +#define HAVE_I686_EXTERNAL 0 +#define HAVE_MIPSFPU_EXTERNAL 0 +#define HAVE_MIPS32R2_EXTERNAL 0 +#define HAVE_MIPS32R5_EXTERNAL 0 +#define HAVE_MIPS64R2_EXTERNAL 0 +#define HAVE_MIPS32R6_EXTERNAL 0 +#define HAVE_MIPS64R6_EXTERNAL 0 +#define HAVE_MIPSDSP_EXTERNAL 0 +#define HAVE_MIPSDSPR2_EXTERNAL 0 +#define HAVE_MSA_EXTERNAL 0 +#define HAVE_LOONGSON2_EXTERNAL 0 +#define HAVE_LOONGSON3_EXTERNAL 0 +#define HAVE_MMI_EXTERNAL 0 +#define HAVE_ARMV5TE_INLINE 0 +#define HAVE_ARMV6_INLINE 0 +#define HAVE_ARMV6T2_INLINE 0 +#define HAVE_ARMV8_INLINE 0 +#define HAVE_NEON_INLINE 0 +#define HAVE_VFP_INLINE 0 +#define HAVE_VFPV3_INLINE 0 +#define HAVE_SETEND_INLINE 0 +#define HAVE_ALTIVEC_INLINE 0 +#define HAVE_DCBZL_INLINE 0 +#define HAVE_LDBRX_INLINE 0 +#define HAVE_POWER8_INLINE 0 +#define HAVE_PPC4XX_INLINE 0 +#define HAVE_VSX_INLINE 0 +#define HAVE_AESNI_INLINE 1 +#define HAVE_AMD3DNOW_INLINE 1 +#define HAVE_AMD3DNOWEXT_INLINE 1 +#define HAVE_AVX_INLINE 1 +#define HAVE_AVX2_INLINE 1 +#define HAVE_FMA3_INLINE 1 +#define HAVE_FMA4_INLINE 1 +#define HAVE_MMX_INLINE 1 +#define HAVE_MMXEXT_INLINE 1 +#define HAVE_SSE_INLINE 1 +#define HAVE_SSE2_INLINE 1 +#define HAVE_SSE3_INLINE 1 +#define HAVE_SSE4_INLINE 1 +#define HAVE_SSE42_INLINE 1 +#define HAVE_SSSE3_INLINE 1 +#define HAVE_XOP_INLINE 1 +#define HAVE_CPUNOP_INLINE 0 +#define HAVE_I686_INLINE 0 +#define HAVE_MIPSFPU_INLINE 0 +#define HAVE_MIPS32R2_INLINE 0 +#define HAVE_MIPS32R5_INLINE 0 +#define HAVE_MIPS64R2_INLINE 0 +#define HAVE_MIPS32R6_INLINE 0 +#define HAVE_MIPS64R6_INLINE 0 +#define HAVE_MIPSDSP_INLINE 0 +#define HAVE_MIPSDSPR2_INLINE 0 +#define HAVE_MSA_INLINE 0 +#define HAVE_LOONGSON2_INLINE 0 +#define HAVE_LOONGSON3_INLINE 0 +#define HAVE_MMI_INLINE 0 +#define HAVE_ALIGNED_STACK 1 +#define HAVE_FAST_64BIT 1 +#define HAVE_FAST_CLZ 1 +#define HAVE_FAST_CMOV 1 +#define HAVE_LOCAL_ALIGNED_8 1 +#define HAVE_LOCAL_ALIGNED_16 1 +#define HAVE_LOCAL_ALIGNED_32 1 +#define HAVE_SIMD_ALIGN_16 1 +#define HAVE_ATOMICS_GCC 1 +#define HAVE_ATOMICS_SUNCC 0 +#define HAVE_ATOMICS_WIN32 0 +#define HAVE_ATOMIC_CAS_PTR 0 +#define HAVE_ATOMIC_COMPARE_EXCHANGE 1 +#define HAVE_MACHINE_RW_BARRIER 0 +#define HAVE_MEMORYBARRIER 0 +#define HAVE_MM_EMPTY 1 +#define HAVE_RDTSC 0 +#define HAVE_SARESTART 1 +#define HAVE_SEM_TIMEDWAIT 1 +#define HAVE_SYNC_VAL_COMPARE_AND_SWAP 1 +#define HAVE_CABS 1 +#define HAVE_CEXP 1 +#define HAVE_INLINE_ASM 1 +#define HAVE_SYMVER 1 +#define HAVE_YASM 1 +#define HAVE_BIGENDIAN 0 +#define HAVE_FAST_UNALIGNED 1 +#define HAVE_ALSA_ASOUNDLIB_H 0 +#define HAVE_ALTIVEC_H 0 +#define HAVE_ARPA_INET_H 1 +#define HAVE_ASM_TYPES_H 1 +#define HAVE_CDIO_PARANOIA_H 0 +#define HAVE_CDIO_PARANOIA_PARANOIA_H 0 +#define HAVE_DISPATCH_DISPATCH_H 0 +#define HAVE_DEV_BKTR_IOCTL_BT848_H 0 +#define HAVE_DEV_BKTR_IOCTL_METEOR_H 0 +#define HAVE_DEV_IC_BT8XX_H 0 +#define HAVE_DEV_VIDEO_BKTR_IOCTL_BT848_H 0 +#define HAVE_DEV_VIDEO_METEOR_IOCTL_METEOR_H 0 +#define HAVE_DIRECT_H 0 +#define HAVE_DIRENT_H 1 +#define HAVE_DLFCN_H 1 +#define HAVE_D3D11_H 0 +#define HAVE_DXVA_H 0 +#define HAVE_ES2_GL_H 0 +#define HAVE_GSM_H 0 +#define HAVE_IO_H 0 +#define HAVE_MACH_MACH_TIME_H 0 +#define HAVE_MACHINE_IOCTL_BT848_H 0 +#define HAVE_MACHINE_IOCTL_METEOR_H 0 +#define HAVE_MALLOC_H 1 +#define HAVE_OPENCV2_CORE_CORE_C_H 0 +#define HAVE_OPENJPEG_2_1_OPENJPEG_H 0 +#define HAVE_OPENJPEG_2_0_OPENJPEG_H 0 +#define HAVE_OPENJPEG_1_5_OPENJPEG_H 0 +#define HAVE_OPENGL_GL3_H 0 +#define HAVE_POLL_H 1 +#define HAVE_SNDIO_H 0 +#define HAVE_SOUNDCARD_H 0 +#define HAVE_SYS_MMAN_H 1 +#define HAVE_SYS_PARAM_H 1 +#define HAVE_SYS_RESOURCE_H 1 +#define HAVE_SYS_SELECT_H 1 +#define HAVE_SYS_SOUNDCARD_H 0 +#define HAVE_SYS_TIME_H 1 +#define HAVE_SYS_UN_H 1 +#define HAVE_SYS_VIDEOIO_H 0 +#define HAVE_TERMIOS_H 1 +#define HAVE_UDPLITE_H 0 +#define HAVE_UNISTD_H 1 +#define HAVE_VALGRIND_VALGRIND_H 0 +#define HAVE_WINDOWS_H 0 +#define HAVE_WINSOCK2_H 0 +#define HAVE_INTRINSICS_NEON 0 +#define HAVE_ATANF 1 +#define HAVE_ATAN2F 1 +#define HAVE_CBRT 1 +#define HAVE_CBRTF 1 +#define HAVE_COPYSIGN 1 +#define HAVE_COSF 1 +#define HAVE_ERF 1 +#define HAVE_EXP2 1 +#define HAVE_EXP2F 1 +#define HAVE_EXPF 1 +#define HAVE_HYPOT 1 +#define HAVE_ISFINITE 1 +#define HAVE_ISINF 1 +#define HAVE_ISNAN 1 +#define HAVE_LDEXPF 1 +#define HAVE_LLRINT 1 +#define HAVE_LLRINTF 1 +#define HAVE_LOG2 1 +#define HAVE_LOG2F 1 +#define HAVE_LOG10F 1 +#define HAVE_LRINT 1 +#define HAVE_LRINTF 1 +#define HAVE_POWF 1 +#define HAVE_RINT 1 +#define HAVE_ROUND 1 +#define HAVE_ROUNDF 1 +#define HAVE_SINF 1 +#define HAVE_TRUNC 1 +#define HAVE_TRUNCF 1 +#define HAVE_ACCESS 1 +#define HAVE_ALIGNED_MALLOC 0 +#define HAVE_ARC4RANDOM 0 +#define HAVE_CLOCK_GETTIME 1 +#define HAVE_CLOSESOCKET 0 +#define HAVE_COMMANDLINETOARGVW 0 +#define HAVE_COTASKMEMFREE 0 +#define HAVE_CRYPTGENRANDOM 0 +#define HAVE_DLOPEN 1 +#define HAVE_FCNTL 1 +#define HAVE_FLT_LIM 1 +#define HAVE_FORK 1 +#define HAVE_GETADDRINFO 1 +#define HAVE_GETHRTIME 0 +#define HAVE_GETOPT 1 +#define HAVE_GETPROCESSAFFINITYMASK 0 +#define HAVE_GETPROCESSMEMORYINFO 0 +#define HAVE_GETPROCESSTIMES 0 +#define HAVE_GETRUSAGE 1 +#define HAVE_GETSYSTEMTIMEASFILETIME 0 +#define HAVE_GETTIMEOFDAY 1 +#define HAVE_GLOB 1 +#define HAVE_GLXGETPROCADDRESS 0 +#define HAVE_GMTIME_R 1 +#define HAVE_INET_ATON 1 +#define HAVE_ISATTY 1 +#define HAVE_JACK_PORT_GET_LATENCY_RANGE 0 +#define HAVE_KBHIT 0 +#define HAVE_LOADLIBRARY 0 +#define HAVE_LOCALTIME_R 1 +#define HAVE_LSTAT 1 +#define HAVE_LZO1X_999_COMPRESS 0 +#define HAVE_MACH_ABSOLUTE_TIME 0 +#define HAVE_MAPVIEWOFFILE 0 +#define HAVE_MEMALIGN 1 +#define HAVE_MKSTEMP 1 +#define HAVE_MMAP 1 +#define HAVE_MPROTECT 1 +#define HAVE_NANOSLEEP 1 +#define HAVE_PEEKNAMEDPIPE 0 +#define HAVE_POSIX_MEMALIGN 1 +#define HAVE_PTHREAD_CANCEL 1 +#define HAVE_SCHED_GETAFFINITY 1 +#define HAVE_SETCONSOLETEXTATTRIBUTE 0 +#define HAVE_SETCONSOLECTRLHANDLER 0 +#define HAVE_SETMODE 0 +#define HAVE_SETRLIMIT 1 +#define HAVE_SLEEP 0 +#define HAVE_STRERROR_R 1 +#define HAVE_SYSCONF 1 +#define HAVE_SYSCTL 0 +#define HAVE_USLEEP 1 +#define HAVE_UTGETOSTYPEFROMSTRING 0 +#define HAVE_VIRTUALALLOC 0 +#define HAVE_WGLGETPROCADDRESS 0 +#define HAVE_PTHREADS 1 +#define HAVE_OS2THREADS 0 +#define HAVE_W32THREADS 0 +#define HAVE_AS_DN_DIRECTIVE 0 +#define HAVE_AS_FUNC 0 +#define HAVE_AS_OBJECT_ARCH 0 +#define HAVE_ASM_MOD_Q 0 +#define HAVE_ATTRIBUTE_MAY_ALIAS 1 +#define HAVE_ATTRIBUTE_PACKED 1 +#define HAVE_EBP_AVAILABLE 1 +#define HAVE_EBX_AVAILABLE 1 +#define HAVE_GNU_AS 0 +#define HAVE_GNU_WINDRES 0 +#define HAVE_IBM_ASM 0 +#define HAVE_INLINE_ASM_DIRECT_SYMBOL_REFS 1 +#define HAVE_INLINE_ASM_LABELS 1 +#define HAVE_INLINE_ASM_NONLOCAL_LABELS 1 +#define HAVE_PRAGMA_DEPRECATED 0 +#define HAVE_RSYNC_CONTIMEOUT 0 +#define HAVE_SYMVER_ASM_LABEL 0 +#define HAVE_SYMVER_GNU_ASM 1 +#define HAVE_VFP_ARGS 0 +#define HAVE_XFORM_ASM 0 +#define HAVE_XMM_CLOBBERS 1 +#define HAVE_CONDITION_VARIABLE_PTR 0 +#define HAVE_SOCKLEN_T 1 +#define HAVE_STRUCT_ADDRINFO 1 +#define HAVE_STRUCT_GROUP_SOURCE_REQ 1 +#define HAVE_STRUCT_IP_MREQ_SOURCE 1 +#define HAVE_STRUCT_IPV6_MREQ 1 +#define HAVE_STRUCT_MSGHDR_MSG_FLAGS 1 +#define HAVE_STRUCT_POLLFD 1 +#define HAVE_STRUCT_RUSAGE_RU_MAXRSS 1 +#define HAVE_STRUCT_SCTP_EVENT_SUBSCRIBE 0 +#define HAVE_STRUCT_SOCKADDR_IN6 1 +#define HAVE_STRUCT_SOCKADDR_SA_LEN 0 +#define HAVE_STRUCT_SOCKADDR_STORAGE 1 +#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 +#define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 0 +#define HAVE_ATOMICS_NATIVE 1 +#define HAVE_DOS_PATHS 0 +#define HAVE_DXVA2_LIB 0 +#define HAVE_DXVA2API_COBJ 0 +#define HAVE_LIBC_MSVCRT 0 +#define HAVE_LIBDC1394_1 0 +#define HAVE_LIBDC1394_2 0 +#define HAVE_MAKEINFO 0 +#define HAVE_MAKEINFO_HTML 0 +#define HAVE_MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS 0 +#define HAVE_PERL 1 +#define HAVE_POD2MAN 1 +#define HAVE_SDL2 0 +#define HAVE_SECTION_DATA_REL_RO 1 +#define HAVE_TEXI2HTML 0 +#define HAVE_THREADS 1 +#define HAVE_VAAPI_DRM 0 +#define HAVE_VAAPI_X11 0 +#define HAVE_VDPAU_X11 0 +#define HAVE_WINRT 0 +#define HAVE_XLIB 0 +#define CONFIG_BSFS 0 +#define CONFIG_DECODERS 1 +#define CONFIG_ENCODERS 0 +#define CONFIG_HWACCELS 0 +#define CONFIG_PARSERS 1 +#define CONFIG_INDEVS 0 +#define CONFIG_OUTDEVS 0 +#define CONFIG_FILTERS 0 +#define CONFIG_DEMUXERS 1 +#define CONFIG_MUXERS 0 +#define CONFIG_PROTOCOLS 0 +#define CONFIG_DOC 0 +#define CONFIG_HTMLPAGES 0 +#define CONFIG_MANPAGES 0 +#define CONFIG_PODPAGES 0 +#define CONFIG_TXTPAGES 0 +#define CONFIG_AVIO_DIR_CMD_EXAMPLE 0 +#define CONFIG_AVIO_READING_EXAMPLE 0 +#define CONFIG_DECODING_ENCODING_EXAMPLE 0 +#define CONFIG_DEMUXING_DECODING_EXAMPLE 0 +#define CONFIG_EXTRACT_MVS_EXAMPLE 0 +#define CONFIG_FILTER_AUDIO_EXAMPLE 0 +#define CONFIG_FILTERING_AUDIO_EXAMPLE 0 +#define CONFIG_FILTERING_VIDEO_EXAMPLE 0 +#define CONFIG_HTTP_MULTICLIENT_EXAMPLE 0 +#define CONFIG_METADATA_EXAMPLE 0 +#define CONFIG_MUXING_EXAMPLE 0 +#define CONFIG_QSVDEC_EXAMPLE 0 +#define CONFIG_REMUXING_EXAMPLE 0 +#define CONFIG_RESAMPLING_AUDIO_EXAMPLE 0 +#define CONFIG_SCALING_VIDEO_EXAMPLE 0 +#define CONFIG_TRANSCODE_AAC_EXAMPLE 0 +#define CONFIG_TRANSCODING_EXAMPLE 0 +#define CONFIG_AVISYNTH 0 +#define CONFIG_BZLIB 0 +#define CONFIG_CHROMAPRINT 0 +#define CONFIG_CRYSTALHD 0 +#define CONFIG_DECKLINK 0 +#define CONFIG_FREI0R 0 +#define CONFIG_GCRYPT 0 +#define CONFIG_GMP 0 +#define CONFIG_GNUTLS 0 +#define CONFIG_ICONV 0 +#define CONFIG_JNI 0 +#define CONFIG_LADSPA 0 +#define CONFIG_LIBASS 0 +#define CONFIG_LIBBLURAY 0 +#define CONFIG_LIBBS2B 0 +#define CONFIG_LIBCACA 0 +#define CONFIG_LIBCDIO 0 +#define CONFIG_LIBCELT 0 +#define CONFIG_LIBDC1394 0 +#define CONFIG_LIBEBUR128 0 +#define CONFIG_LIBFDK_AAC 0 +#define CONFIG_LIBFLITE 0 +#define CONFIG_LIBFONTCONFIG 0 +#define CONFIG_LIBFREETYPE 0 +#define CONFIG_LIBFRIBIDI 0 +#define CONFIG_LIBGME 0 +#define CONFIG_LIBGSM 0 +#define CONFIG_LIBIEC61883 0 +#define CONFIG_LIBILBC 0 +#define CONFIG_LIBKVAZAAR 0 +#define CONFIG_LIBMODPLUG 0 +#define CONFIG_LIBMP3LAME 0 +#define CONFIG_LIBNUT 0 +#define CONFIG_LIBOPENCORE_AMRNB 0 +#define CONFIG_LIBOPENCORE_AMRWB 0 +#define CONFIG_LIBOPENCV 0 +#define CONFIG_LIBOPENH264 0 +#define CONFIG_LIBOPENJPEG 0 +#define CONFIG_LIBOPENMPT 0 +#define CONFIG_LIBOPUS 0 +#define CONFIG_LIBPULSE 0 +#define CONFIG_LIBRTMP 0 +#define CONFIG_LIBRUBBERBAND 0 +#define CONFIG_LIBSCHROEDINGER 0 +#define CONFIG_LIBSHINE 0 +#define CONFIG_LIBSMBCLIENT 0 +#define CONFIG_LIBSNAPPY 0 +#define CONFIG_LIBSOXR 0 +#define CONFIG_LIBSPEEX 0 +#define CONFIG_LIBSSH 0 +#define CONFIG_LIBTESSERACT 0 +#define CONFIG_LIBTHEORA 0 +#define CONFIG_LIBTWOLAME 0 +#define CONFIG_LIBV4L2 0 +#define CONFIG_LIBVIDSTAB 0 +#define CONFIG_LIBVO_AMRWBENC 0 +#define CONFIG_LIBVORBIS 0 +#define CONFIG_LIBVPX 0 +#define CONFIG_LIBWAVPACK 0 +#define CONFIG_LIBWEBP 0 +#define CONFIG_LIBX264 0 +#define CONFIG_LIBX265 0 +#define CONFIG_LIBXAVS 0 +#define CONFIG_LIBXCB 0 +#define CONFIG_LIBXCB_SHM 0 +#define CONFIG_LIBXCB_SHAPE 0 +#define CONFIG_LIBXCB_XFIXES 0 +#define CONFIG_LIBXVID 0 +#define CONFIG_LIBZIMG 0 +#define CONFIG_LIBZMQ 0 +#define CONFIG_LIBZVBI 0 +#define CONFIG_LZMA 0 +#define CONFIG_MEDIACODEC 0 +#define CONFIG_NETCDF 0 +#define CONFIG_OPENAL 0 +#define CONFIG_OPENCL 0 +#define CONFIG_OPENGL 0 +#define CONFIG_OPENSSL 1 +#define CONFIG_SCHANNEL 0 +#define CONFIG_SDL 0 +#define CONFIG_SDL2 0 +#define CONFIG_SECURETRANSPORT 0 +#define CONFIG_VIDEOTOOLBOX 0 +#define CONFIG_X11GRAB 0 +#define CONFIG_XLIB 0 +#define CONFIG_ZLIB 0 +#define CONFIG_AUDIOTOOLBOX 0 +#define CONFIG_CUDA 0 +#define CONFIG_CUVID 0 +#define CONFIG_D3D11VA 0 +#define CONFIG_DXVA2 0 +#define CONFIG_LIBMFX 0 +#define CONFIG_LIBNPP 0 +#define CONFIG_MMAL 0 +#define CONFIG_NVENC 0 +#define CONFIG_OMX 0 +#define CONFIG_VAAPI 0 +#define CONFIG_VDA 0 +#define CONFIG_VDPAU 0 +#define CONFIG_VIDEOTOOLBOX_HWACCEL 0 +#define CONFIG_XVMC 0 +#define CONFIG_FTRAPV 0 +#define CONFIG_GRAY 0 +#define CONFIG_HARDCODED_TABLES 0 +#define CONFIG_OMX_RPI 0 +#define CONFIG_RUNTIME_CPUDETECT 1 +#define CONFIG_SAFE_BITSTREAM_READER 0 +#define CONFIG_SHARED 0 +#define CONFIG_SMALL 0 +#define CONFIG_STATIC 1 +#define CONFIG_SWSCALE_ALPHA 0 +#define CONFIG_GPL 0 +#define CONFIG_NONFREE 0 +#define CONFIG_VERSION3 0 +#define CONFIG_AVCODEC 1 +#define CONFIG_AVDEVICE 1 +#define CONFIG_AVFILTER 1 +#define CONFIG_AVFORMAT 1 +#define CONFIG_AVRESAMPLE 0 +#define CONFIG_AVUTIL 1 +#define CONFIG_POSTPROC 0 +#define CONFIG_SWRESAMPLE 1 +#define CONFIG_SWSCALE 1 +#define CONFIG_FFPLAY 0 +#define CONFIG_FFPROBE 0 +#define CONFIG_FFSERVER 0 +#define CONFIG_FFMPEG 0 +#define CONFIG_DCT 1 +#define CONFIG_DWT 0 +#define CONFIG_ERROR_RESILIENCE 1 +#define CONFIG_FAAN 0 +#define CONFIG_FAST_UNALIGNED 0 +#define CONFIG_FFT 1 +#define CONFIG_LSP 0 +#define CONFIG_LZO 1 +#define CONFIG_MDCT 1 +#define CONFIG_PIXELUTILS 0 +#define CONFIG_NETWORK 1 +#define CONFIG_RDFT 1 +#define CONFIG_FONTCONFIG 0 +#define CONFIG_MEMALIGN_HACK 0 +#define CONFIG_MEMORY_POISONING 0 +#define CONFIG_NEON_CLOBBER_TEST 0 +#define CONFIG_PIC 0 +#define CONFIG_POD2MAN 0 +#define CONFIG_RAISE_MAJOR 0 +#define CONFIG_THUMB 0 +#define CONFIG_VALGRIND_BACKTRACE 0 +#define CONFIG_XMM_CLOBBER_TEST 0 +#define CONFIG_AANDCTTABLES 0 +#define CONFIG_AC3DSP 1 +#define CONFIG_AUDIO_FRAME_QUEUE 0 +#define CONFIG_AUDIODSP 0 +#define CONFIG_BLOCKDSP 1 +#define CONFIG_BSWAPDSP 1 +#define CONFIG_CABAC 1 +#define CONFIG_DIRAC_PARSE 0 +#define CONFIG_DVPROFILE 0 +#define CONFIG_EXIF 0 +#define CONFIG_FAANDCT 0 +#define CONFIG_FAANIDCT 0 +#define CONFIG_FDCTDSP 0 +#define CONFIG_FLACDSP 1 +#define CONFIG_FMTCONVERT 1 +#define CONFIG_FRAME_THREAD_ENCODER 0 +#define CONFIG_G722DSP 0 +#define CONFIG_GOLOMB 1 +#define CONFIG_GPLV3 0 +#define CONFIG_H263DSP 1 +#define CONFIG_H264CHROMA 1 +#define CONFIG_H264DSP 1 +#define CONFIG_H264PRED 1 +#define CONFIG_H264QPEL 1 +#define CONFIG_HPELDSP 1 +#define CONFIG_HUFFMAN 0 +#define CONFIG_HUFFYUVDSP 0 +#define CONFIG_HUFFYUVENCDSP 0 +#define CONFIG_IDCTDSP 1 +#define CONFIG_IIRFILTER 0 +#define CONFIG_IMDCT15 1 +#define CONFIG_INTRAX8 1 +#define CONFIG_ISO_MEDIA 1 +#define CONFIG_IVIDSP 0 +#define CONFIG_JPEGTABLES 0 +#define CONFIG_LGPLV3 0 +#define CONFIG_LIBX262 0 +#define CONFIG_LLAUDDSP 0 +#define CONFIG_LLVIDDSP 0 +#define CONFIG_LPC 0 +#define CONFIG_LZF 0 +#define CONFIG_ME_CMP 1 +#define CONFIG_MPEG_ER 1 +#define CONFIG_MPEGAUDIO 1 +#define CONFIG_MPEGAUDIODSP 1 +#define CONFIG_MPEGVIDEO 1 +#define CONFIG_MPEGVIDEOENC 0 +#define CONFIG_MSS34DSP 0 +#define CONFIG_PIXBLOCKDSP 0 +#define CONFIG_QPELDSP 1 +#define CONFIG_QSV 0 +#define CONFIG_QSVDEC 0 +#define CONFIG_QSVENC 0 +#define CONFIG_RANGECODER 0 +#define CONFIG_RIFFDEC 1 +#define CONFIG_RIFFENC 1 +#define CONFIG_RTPDEC 0 +#define CONFIG_RTPENC_CHAIN 0 +#define CONFIG_RV34DSP 0 +#define CONFIG_SINEWIN 1 +#define CONFIG_SNAPPY 0 +#define CONFIG_SRTP 0 +#define CONFIG_STARTCODE 1 +#define CONFIG_TEXTUREDSP 0 +#define CONFIG_TEXTUREDSPENC 0 +#define CONFIG_TPELDSP 0 +#define CONFIG_VAAPI_ENCODE 0 +#define CONFIG_VC1DSP 1 +#define CONFIG_VIDEODSP 1 +#define CONFIG_VP3DSP 0 +#define CONFIG_VP56DSP 0 +#define CONFIG_VP8DSP 0 +#define CONFIG_VT_BT2020 0 +#define CONFIG_WMA_FREQS 1 +#define CONFIG_WMV2DSP 0 +#define CONFIG_AAC_ADTSTOASC_BSF 0 +#define CONFIG_CHOMP_BSF 0 +#define CONFIG_DUMP_EXTRADATA_BSF 0 +#define CONFIG_DCA_CORE_BSF 0 +#define CONFIG_H264_MP4TOANNEXB_BSF 0 +#define CONFIG_HEVC_MP4TOANNEXB_BSF 0 +#define CONFIG_IMX_DUMP_HEADER_BSF 0 +#define CONFIG_MJPEG2JPEG_BSF 0 +#define CONFIG_MJPEGA_DUMP_HEADER_BSF 0 +#define CONFIG_MP3_HEADER_DECOMPRESS_BSF 0 +#define CONFIG_MPEG4_UNPACK_BFRAMES_BSF 0 +#define CONFIG_MOV2TEXTSUB_BSF 0 +#define CONFIG_NOISE_BSF 0 +#define CONFIG_REMOVE_EXTRADATA_BSF 0 +#define CONFIG_TEXT2MOVSUB_BSF 0 +#define CONFIG_VP9_SUPERFRAME_BSF 0 +#define CONFIG_AASC_DECODER 0 +#define CONFIG_AIC_DECODER 0 +#define CONFIG_ALIAS_PIX_DECODER 0 +#define CONFIG_AMV_DECODER 0 +#define CONFIG_ANM_DECODER 0 +#define CONFIG_ANSI_DECODER 0 +#define CONFIG_APNG_DECODER 0 +#define CONFIG_ASV1_DECODER 0 +#define CONFIG_ASV2_DECODER 0 +#define CONFIG_AURA_DECODER 0 +#define CONFIG_AURA2_DECODER 0 +#define CONFIG_AVRP_DECODER 0 +#define CONFIG_AVRN_DECODER 0 +#define CONFIG_AVS_DECODER 0 +#define CONFIG_AVUI_DECODER 0 +#define CONFIG_AYUV_DECODER 0 +#define CONFIG_BETHSOFTVID_DECODER 0 +#define CONFIG_BFI_DECODER 0 +#define CONFIG_BINK_DECODER 0 +#define CONFIG_BMP_DECODER 0 +#define CONFIG_BMV_VIDEO_DECODER 0 +#define CONFIG_BRENDER_PIX_DECODER 0 +#define CONFIG_C93_DECODER 0 +#define CONFIG_CAVS_DECODER 0 +#define CONFIG_CDGRAPHICS_DECODER 0 +#define CONFIG_CDXL_DECODER 0 +#define CONFIG_CFHD_DECODER 0 +#define CONFIG_CINEPAK_DECODER 0 +#define CONFIG_CLJR_DECODER 0 +#define CONFIG_CLLC_DECODER 0 +#define CONFIG_COMFORTNOISE_DECODER 0 +#define CONFIG_CPIA_DECODER 0 +#define CONFIG_CSCD_DECODER 0 +#define CONFIG_CYUV_DECODER 0 +#define CONFIG_DDS_DECODER 0 +#define CONFIG_DFA_DECODER 0 +#define CONFIG_DIRAC_DECODER 0 +#define CONFIG_DNXHD_DECODER 0 +#define CONFIG_DPX_DECODER 0 +#define CONFIG_DSICINVIDEO_DECODER 0 +#define CONFIG_DVAUDIO_DECODER 0 +#define CONFIG_DVVIDEO_DECODER 0 +#define CONFIG_DXA_DECODER 0 +#define CONFIG_DXTORY_DECODER 0 +#define CONFIG_DXV_DECODER 0 +#define CONFIG_EACMV_DECODER 0 +#define CONFIG_EAMAD_DECODER 0 +#define CONFIG_EATGQ_DECODER 0 +#define CONFIG_EATGV_DECODER 0 +#define CONFIG_EATQI_DECODER 0 +#define CONFIG_EIGHTBPS_DECODER 0 +#define CONFIG_EIGHTSVX_EXP_DECODER 0 +#define CONFIG_EIGHTSVX_FIB_DECODER 0 +#define CONFIG_ESCAPE124_DECODER 0 +#define CONFIG_ESCAPE130_DECODER 0 +#define CONFIG_EXR_DECODER 0 +#define CONFIG_FFV1_DECODER 0 +#define CONFIG_FFVHUFF_DECODER 0 +#define CONFIG_FIC_DECODER 0 +#define CONFIG_FLASHSV_DECODER 0 +#define CONFIG_FLASHSV2_DECODER 0 +#define CONFIG_FLIC_DECODER 0 +#define CONFIG_FLV_DECODER 1 +#define CONFIG_FOURXM_DECODER 0 +#define CONFIG_FRAPS_DECODER 0 +#define CONFIG_FRWU_DECODER 0 +#define CONFIG_G2M_DECODER 0 +#define CONFIG_GIF_DECODER 1 +#define CONFIG_H261_DECODER 0 +#define CONFIG_H263_DECODER 1 +#define CONFIG_H263I_DECODER 0 +#define CONFIG_H263P_DECODER 0 +#define CONFIG_H264_DECODER 1 +#define CONFIG_H264_CRYSTALHD_DECODER 0 +#define CONFIG_H264_MEDIACODEC_DECODER 0 +#define CONFIG_H264_MMAL_DECODER 0 +#define CONFIG_H264_QSV_DECODER 0 +#define CONFIG_H264_VDA_DECODER 0 +#define CONFIG_H264_VDPAU_DECODER 0 +#define CONFIG_HAP_DECODER 0 +#define CONFIG_HEVC_DECODER 1 +#define CONFIG_HEVC_QSV_DECODER 0 +#define CONFIG_HNM4_VIDEO_DECODER 0 +#define CONFIG_HQ_HQA_DECODER 0 +#define CONFIG_HQX_DECODER 0 +#define CONFIG_HUFFYUV_DECODER 0 +#define CONFIG_IDCIN_DECODER 0 +#define CONFIG_IFF_ILBM_DECODER 0 +#define CONFIG_INDEO2_DECODER 0 +#define CONFIG_INDEO3_DECODER 0 +#define CONFIG_INDEO4_DECODER 0 +#define CONFIG_INDEO5_DECODER 0 +#define CONFIG_INTERPLAY_VIDEO_DECODER 0 +#define CONFIG_JPEG2000_DECODER 0 +#define CONFIG_JPEGLS_DECODER 0 +#define CONFIG_JV_DECODER 0 +#define CONFIG_KGV1_DECODER 0 +#define CONFIG_KMVC_DECODER 0 +#define CONFIG_LAGARITH_DECODER 0 +#define CONFIG_LOCO_DECODER 0 +#define CONFIG_M101_DECODER 0 +#define CONFIG_MAGICYUV_DECODER 0 +#define CONFIG_MDEC_DECODER 0 +#define CONFIG_MIMIC_DECODER 0 +#define CONFIG_MJPEG_DECODER 0 +#define CONFIG_MJPEGB_DECODER 0 +#define CONFIG_MMVIDEO_DECODER 0 +#define CONFIG_MOTIONPIXELS_DECODER 0 +#define CONFIG_MPEG_XVMC_DECODER 0 +#define CONFIG_MPEG1VIDEO_DECODER 1 +#define CONFIG_MPEG2VIDEO_DECODER 1 +#define CONFIG_MPEG4_DECODER 1 +#define CONFIG_MPEG4_CRYSTALHD_DECODER 0 +#define CONFIG_MPEG4_MMAL_DECODER 0 +#define CONFIG_MPEG4_VDPAU_DECODER 0 +#define CONFIG_MPEGVIDEO_DECODER 1 +#define CONFIG_MPEG_VDPAU_DECODER 0 +#define CONFIG_MPEG1_VDPAU_DECODER 0 +#define CONFIG_MPEG2_MMAL_DECODER 0 +#define CONFIG_MPEG2_CRYSTALHD_DECODER 0 +#define CONFIG_MPEG2_QSV_DECODER 0 +#define CONFIG_MSA1_DECODER 0 +#define CONFIG_MSMPEG4_CRYSTALHD_DECODER 0 +#define CONFIG_MSMPEG4V1_DECODER 0 +#define CONFIG_MSMPEG4V2_DECODER 0 +#define CONFIG_MSMPEG4V3_DECODER 0 +#define CONFIG_MSRLE_DECODER 0 +#define CONFIG_MSS1_DECODER 0 +#define CONFIG_MSS2_DECODER 0 +#define CONFIG_MSVIDEO1_DECODER 0 +#define CONFIG_MSZH_DECODER 0 +#define CONFIG_MTS2_DECODER 0 +#define CONFIG_MVC1_DECODER 0 +#define CONFIG_MVC2_DECODER 0 +#define CONFIG_MXPEG_DECODER 0 +#define CONFIG_NUV_DECODER 0 +#define CONFIG_PAF_VIDEO_DECODER 0 +#define CONFIG_PAM_DECODER 0 +#define CONFIG_PBM_DECODER 0 +#define CONFIG_PCX_DECODER 0 +#define CONFIG_PGM_DECODER 0 +#define CONFIG_PGMYUV_DECODER 0 +#define CONFIG_PICTOR_DECODER 0 +#define CONFIG_PNG_DECODER 0 +#define CONFIG_PPM_DECODER 0 +#define CONFIG_PRORES_DECODER 0 +#define CONFIG_PRORES_LGPL_DECODER 0 +#define CONFIG_PTX_DECODER 0 +#define CONFIG_QDRAW_DECODER 0 +#define CONFIG_QPEG_DECODER 0 +#define CONFIG_QTRLE_DECODER 0 +#define CONFIG_R10K_DECODER 0 +#define CONFIG_R210_DECODER 0 +#define CONFIG_RAWVIDEO_DECODER 0 +#define CONFIG_RL2_DECODER 0 +#define CONFIG_ROQ_DECODER 0 +#define CONFIG_RPZA_DECODER 0 +#define CONFIG_RSCC_DECODER 0 +#define CONFIG_RV10_DECODER 0 +#define CONFIG_RV20_DECODER 0 +#define CONFIG_RV30_DECODER 0 +#define CONFIG_RV40_DECODER 0 +#define CONFIG_S302M_DECODER 0 +#define CONFIG_SANM_DECODER 0 +#define CONFIG_SCREENPRESSO_DECODER 0 +#define CONFIG_SDX2_DPCM_DECODER 0 +#define CONFIG_SGI_DECODER 0 +#define CONFIG_SGIRLE_DECODER 0 +#define CONFIG_SHEERVIDEO_DECODER 0 +#define CONFIG_SMACKER_DECODER 0 +#define CONFIG_SMC_DECODER 0 +#define CONFIG_SMVJPEG_DECODER 0 +#define CONFIG_SNOW_DECODER 0 +#define CONFIG_SP5X_DECODER 0 +#define CONFIG_SUNRAST_DECODER 0 +#define CONFIG_SVQ1_DECODER 0 +#define CONFIG_SVQ3_DECODER 0 +#define CONFIG_TARGA_DECODER 0 +#define CONFIG_TARGA_Y216_DECODER 0 +#define CONFIG_TDSC_DECODER 0 +#define CONFIG_THEORA_DECODER 0 +#define CONFIG_THP_DECODER 0 +#define CONFIG_TIERTEXSEQVIDEO_DECODER 0 +#define CONFIG_TIFF_DECODER 0 +#define CONFIG_TMV_DECODER 0 +#define CONFIG_TRUEMOTION1_DECODER 0 +#define CONFIG_TRUEMOTION2_DECODER 0 +#define CONFIG_TRUEMOTION2RT_DECODER 0 +#define CONFIG_TSCC_DECODER 0 +#define CONFIG_TSCC2_DECODER 0 +#define CONFIG_TXD_DECODER 0 +#define CONFIG_ULTI_DECODER 0 +#define CONFIG_UTVIDEO_DECODER 0 +#define CONFIG_V210_DECODER 0 +#define CONFIG_V210X_DECODER 0 +#define CONFIG_V308_DECODER 0 +#define CONFIG_V408_DECODER 0 +#define CONFIG_V410_DECODER 0 +#define CONFIG_VB_DECODER 0 +#define CONFIG_VBLE_DECODER 0 +#define CONFIG_VC1_DECODER 1 +#define CONFIG_VC1_CRYSTALHD_DECODER 0 +#define CONFIG_VC1_VDPAU_DECODER 0 +#define CONFIG_VC1IMAGE_DECODER 0 +#define CONFIG_VC1_MMAL_DECODER 0 +#define CONFIG_VC1_QSV_DECODER 0 +#define CONFIG_VCR1_DECODER 0 +#define CONFIG_VMDVIDEO_DECODER 0 +#define CONFIG_VMNC_DECODER 0 +#define CONFIG_VP3_DECODER 0 +#define CONFIG_VP5_DECODER 0 +#define CONFIG_VP6_DECODER 0 +#define CONFIG_VP6A_DECODER 0 +#define CONFIG_VP6F_DECODER 0 +#define CONFIG_VP7_DECODER 0 +#define CONFIG_VP8_DECODER 0 +#define CONFIG_VP9_DECODER 0 +#define CONFIG_VQA_DECODER 0 +#define CONFIG_WEBP_DECODER 0 +#define CONFIG_WMV1_DECODER 0 +#define CONFIG_WMV2_DECODER 0 +#define CONFIG_WMV3_DECODER 1 +#define CONFIG_WMV3_CRYSTALHD_DECODER 0 +#define CONFIG_WMV3_VDPAU_DECODER 0 +#define CONFIG_WMV3IMAGE_DECODER 0 +#define CONFIG_WNV1_DECODER 0 +#define CONFIG_XAN_WC3_DECODER 0 +#define CONFIG_XAN_WC4_DECODER 0 +#define CONFIG_XBM_DECODER 0 +#define CONFIG_XFACE_DECODER 0 +#define CONFIG_XL_DECODER 0 +#define CONFIG_XWD_DECODER 0 +#define CONFIG_Y41P_DECODER 0 +#define CONFIG_YLC_DECODER 0 +#define CONFIG_YOP_DECODER 0 +#define CONFIG_YUV4_DECODER 0 +#define CONFIG_ZERO12V_DECODER 0 +#define CONFIG_ZEROCODEC_DECODER 0 +#define CONFIG_ZLIB_DECODER 0 +#define CONFIG_ZMBV_DECODER 0 +#define CONFIG_AAC_DECODER 1 +#define CONFIG_AAC_FIXED_DECODER 0 +#define CONFIG_AAC_LATM_DECODER 0 +#define CONFIG_AC3_DECODER 1 +#define CONFIG_AC3_FIXED_DECODER 0 +#define CONFIG_ALAC_DECODER 0 +#define CONFIG_ALS_DECODER 0 +#define CONFIG_AMRNB_DECODER 0 +#define CONFIG_AMRWB_DECODER 0 +#define CONFIG_APE_DECODER 0 +#define CONFIG_ATRAC1_DECODER 0 +#define CONFIG_ATRAC3_DECODER 0 +#define CONFIG_ATRAC3P_DECODER 0 +#define CONFIG_BINKAUDIO_DCT_DECODER 0 +#define CONFIG_BINKAUDIO_RDFT_DECODER 0 +#define CONFIG_BMV_AUDIO_DECODER 0 +#define CONFIG_COOK_DECODER 0 +#define CONFIG_DCA_DECODER 1 +#define CONFIG_DSD_LSBF_DECODER 0 +#define CONFIG_DSD_MSBF_DECODER 0 +#define CONFIG_DSD_LSBF_PLANAR_DECODER 0 +#define CONFIG_DSD_MSBF_PLANAR_DECODER 0 +#define CONFIG_DSICINAUDIO_DECODER 0 +#define CONFIG_DSS_SP_DECODER 0 +#define CONFIG_DST_DECODER 0 +#define CONFIG_EAC3_DECODER 0 +#define CONFIG_EVRC_DECODER 0 +#define CONFIG_FFWAVESYNTH_DECODER 0 +#define CONFIG_FLAC_DECODER 1 +#define CONFIG_G723_1_DECODER 0 +#define CONFIG_G729_DECODER 0 +#define CONFIG_GSM_DECODER 0 +#define CONFIG_GSM_MS_DECODER 0 +#define CONFIG_IAC_DECODER 0 +#define CONFIG_IMC_DECODER 0 +#define CONFIG_INTERPLAY_ACM_DECODER 0 +#define CONFIG_MACE3_DECODER 0 +#define CONFIG_MACE6_DECODER 0 +#define CONFIG_METASOUND_DECODER 0 +#define CONFIG_MLP_DECODER 0 +#define CONFIG_MP1_DECODER 0 +#define CONFIG_MP1FLOAT_DECODER 0 +#define CONFIG_MP2_DECODER 0 +#define CONFIG_MP2FLOAT_DECODER 0 +#define CONFIG_MP3_DECODER 1 +#define CONFIG_MP3FLOAT_DECODER 0 +#define CONFIG_MP3ADU_DECODER 0 +#define CONFIG_MP3ADUFLOAT_DECODER 0 +#define CONFIG_MP3ON4_DECODER 0 +#define CONFIG_MP3ON4FLOAT_DECODER 0 +#define CONFIG_MPC7_DECODER 0 +#define CONFIG_MPC8_DECODER 0 +#define CONFIG_NELLYMOSER_DECODER 0 +#define CONFIG_ON2AVC_DECODER 0 +#define CONFIG_OPUS_DECODER 0 +#define CONFIG_PAF_AUDIO_DECODER 0 +#define CONFIG_QCELP_DECODER 0 +#define CONFIG_QDM2_DECODER 0 +#define CONFIG_RA_144_DECODER 0 +#define CONFIG_RA_288_DECODER 0 +#define CONFIG_RALF_DECODER 0 +#define CONFIG_SHORTEN_DECODER 0 +#define CONFIG_SIPR_DECODER 0 +#define CONFIG_SMACKAUD_DECODER 0 +#define CONFIG_SONIC_DECODER 0 +#define CONFIG_TAK_DECODER 0 +#define CONFIG_TRUEHD_DECODER 0 +#define CONFIG_TRUESPEECH_DECODER 0 +#define CONFIG_TTA_DECODER 0 +#define CONFIG_TWINVQ_DECODER 0 +#define CONFIG_VMDAUDIO_DECODER 0 +#define CONFIG_VORBIS_DECODER 0 +#define CONFIG_WAVPACK_DECODER 0 +#define CONFIG_WMALOSSLESS_DECODER 0 +#define CONFIG_WMAPRO_DECODER 0 +#define CONFIG_WMAV1_DECODER 0 +#define CONFIG_WMAV2_DECODER 1 +#define CONFIG_WMAVOICE_DECODER 0 +#define CONFIG_WS_SND1_DECODER 0 +#define CONFIG_XMA1_DECODER 0 +#define CONFIG_XMA2_DECODER 0 +#define CONFIG_PCM_ALAW_DECODER 0 +#define CONFIG_PCM_BLURAY_DECODER 0 +#define CONFIG_PCM_DVD_DECODER 0 +#define CONFIG_PCM_F32BE_DECODER 0 +#define CONFIG_PCM_F32LE_DECODER 0 +#define CONFIG_PCM_F64BE_DECODER 0 +#define CONFIG_PCM_F64LE_DECODER 0 +#define CONFIG_PCM_LXF_DECODER 0 +#define CONFIG_PCM_MULAW_DECODER 0 +#define CONFIG_PCM_S8_DECODER 0 +#define CONFIG_PCM_S8_PLANAR_DECODER 0 +#define CONFIG_PCM_S16BE_DECODER 0 +#define CONFIG_PCM_S16BE_PLANAR_DECODER 0 +#define CONFIG_PCM_S16LE_DECODER 0 +#define CONFIG_PCM_S16LE_PLANAR_DECODER 0 +#define CONFIG_PCM_S24BE_DECODER 0 +#define CONFIG_PCM_S24DAUD_DECODER 0 +#define CONFIG_PCM_S24LE_DECODER 1 +#define CONFIG_PCM_S24LE_PLANAR_DECODER 0 +#define CONFIG_PCM_S32BE_DECODER 0 +#define CONFIG_PCM_S32LE_DECODER 0 +#define CONFIG_PCM_S32LE_PLANAR_DECODER 0 +#define CONFIG_PCM_S64BE_DECODER 0 +#define CONFIG_PCM_S64LE_DECODER 0 +#define CONFIG_PCM_U8_DECODER 0 +#define CONFIG_PCM_U16BE_DECODER 0 +#define CONFIG_PCM_U16LE_DECODER 0 +#define CONFIG_PCM_U24BE_DECODER 0 +#define CONFIG_PCM_U24LE_DECODER 0 +#define CONFIG_PCM_U32BE_DECODER 0 +#define CONFIG_PCM_U32LE_DECODER 0 +#define CONFIG_PCM_ZORK_DECODER 0 +#define CONFIG_INTERPLAY_DPCM_DECODER 0 +#define CONFIG_ROQ_DPCM_DECODER 0 +#define CONFIG_SOL_DPCM_DECODER 0 +#define CONFIG_XAN_DPCM_DECODER 0 +#define CONFIG_ADPCM_4XM_DECODER 0 +#define CONFIG_ADPCM_ADX_DECODER 0 +#define CONFIG_ADPCM_AFC_DECODER 0 +#define CONFIG_ADPCM_AICA_DECODER 0 +#define CONFIG_ADPCM_CT_DECODER 0 +#define CONFIG_ADPCM_DTK_DECODER 0 +#define CONFIG_ADPCM_EA_DECODER 0 +#define CONFIG_ADPCM_EA_MAXIS_XA_DECODER 0 +#define CONFIG_ADPCM_EA_R1_DECODER 0 +#define CONFIG_ADPCM_EA_R2_DECODER 0 +#define CONFIG_ADPCM_EA_R3_DECODER 0 +#define CONFIG_ADPCM_EA_XAS_DECODER 0 +#define CONFIG_ADPCM_G722_DECODER 0 +#define CONFIG_ADPCM_G726_DECODER 0 +#define CONFIG_ADPCM_G726LE_DECODER 0 +#define CONFIG_ADPCM_IMA_AMV_DECODER 0 +#define CONFIG_ADPCM_IMA_APC_DECODER 0 +#define CONFIG_ADPCM_IMA_DAT4_DECODER 0 +#define CONFIG_ADPCM_IMA_DK3_DECODER 0 +#define CONFIG_ADPCM_IMA_DK4_DECODER 0 +#define CONFIG_ADPCM_IMA_EA_EACS_DECODER 0 +#define CONFIG_ADPCM_IMA_EA_SEAD_DECODER 0 +#define CONFIG_ADPCM_IMA_ISS_DECODER 0 +#define CONFIG_ADPCM_IMA_OKI_DECODER 0 +#define CONFIG_ADPCM_IMA_QT_DECODER 0 +#define CONFIG_ADPCM_IMA_RAD_DECODER 0 +#define CONFIG_ADPCM_IMA_SMJPEG_DECODER 0 +#define CONFIG_ADPCM_IMA_WAV_DECODER 0 +#define CONFIG_ADPCM_IMA_WS_DECODER 0 +#define CONFIG_ADPCM_MS_DECODER 0 +#define CONFIG_ADPCM_MTAF_DECODER 0 +#define CONFIG_ADPCM_PSX_DECODER 0 +#define CONFIG_ADPCM_SBPRO_2_DECODER 0 +#define CONFIG_ADPCM_SBPRO_3_DECODER 0 +#define CONFIG_ADPCM_SBPRO_4_DECODER 0 +#define CONFIG_ADPCM_SWF_DECODER 1 +#define CONFIG_ADPCM_THP_DECODER 0 +#define CONFIG_ADPCM_THP_LE_DECODER 0 +#define CONFIG_ADPCM_VIMA_DECODER 0 +#define CONFIG_ADPCM_XA_DECODER 0 +#define CONFIG_ADPCM_YAMAHA_DECODER 0 +#define CONFIG_SSA_DECODER 0 +#define CONFIG_ASS_DECODER 0 +#define CONFIG_CCAPTION_DECODER 0 +#define CONFIG_DVBSUB_DECODER 0 +#define CONFIG_DVDSUB_DECODER 0 +#define CONFIG_JACOSUB_DECODER 0 +#define CONFIG_MICRODVD_DECODER 0 +#define CONFIG_MOVTEXT_DECODER 0 +#define CONFIG_MPL2_DECODER 0 +#define CONFIG_PGSSUB_DECODER 0 +#define CONFIG_PJS_DECODER 0 +#define CONFIG_REALTEXT_DECODER 0 +#define CONFIG_SAMI_DECODER 0 +#define CONFIG_SRT_DECODER 0 +#define CONFIG_STL_DECODER 0 +#define CONFIG_SUBRIP_DECODER 1 +#define CONFIG_SUBVIEWER_DECODER 0 +#define CONFIG_SUBVIEWER1_DECODER 0 +#define CONFIG_TEXT_DECODER 0 +#define CONFIG_VPLAYER_DECODER 0 +#define CONFIG_WEBVTT_DECODER 0 +#define CONFIG_XSUB_DECODER 0 +#define CONFIG_AAC_AT_DECODER 0 +#define CONFIG_AC3_AT_DECODER 0 +#define CONFIG_ADPCM_IMA_QT_AT_DECODER 0 +#define CONFIG_ALAC_AT_DECODER 0 +#define CONFIG_AMR_NB_AT_DECODER 0 +#define CONFIG_EAC3_AT_DECODER 0 +#define CONFIG_GSM_MS_AT_DECODER 0 +#define CONFIG_ILBC_AT_DECODER 0 +#define CONFIG_MP1_AT_DECODER 0 +#define CONFIG_MP2_AT_DECODER 0 +#define CONFIG_MP3_AT_DECODER 0 +#define CONFIG_PCM_ALAW_AT_DECODER 0 +#define CONFIG_PCM_MULAW_AT_DECODER 0 +#define CONFIG_QDMC_AT_DECODER 0 +#define CONFIG_QDM2_AT_DECODER 0 +#define CONFIG_LIBCELT_DECODER 0 +#define CONFIG_LIBFDK_AAC_DECODER 0 +#define CONFIG_LIBGSM_DECODER 0 +#define CONFIG_LIBGSM_MS_DECODER 0 +#define CONFIG_LIBILBC_DECODER 0 +#define CONFIG_LIBOPENCORE_AMRNB_DECODER 0 +#define CONFIG_LIBOPENCORE_AMRWB_DECODER 0 +#define CONFIG_LIBOPENJPEG_DECODER 0 +#define CONFIG_LIBOPUS_DECODER 0 +#define CONFIG_LIBSCHROEDINGER_DECODER 0 +#define CONFIG_LIBSPEEX_DECODER 0 +#define CONFIG_LIBVORBIS_DECODER 0 +#define CONFIG_LIBVPX_VP8_DECODER 0 +#define CONFIG_LIBVPX_VP9_DECODER 0 +#define CONFIG_LIBZVBI_TELETEXT_DECODER 0 +#define CONFIG_BINTEXT_DECODER 0 +#define CONFIG_XBIN_DECODER 0 +#define CONFIG_IDF_DECODER 0 +#define CONFIG_LIBOPENH264_DECODER 0 +#define CONFIG_H263_CUVID_DECODER 0 +#define CONFIG_H264_CUVID_DECODER 0 +#define CONFIG_HEVC_CUVID_DECODER 0 +#define CONFIG_HEVC_MEDIACODEC_DECODER 0 +#define CONFIG_MJPEG_CUVID_DECODER 0 +#define CONFIG_MPEG1_CUVID_DECODER 0 +#define CONFIG_MPEG2_CUVID_DECODER 0 +#define CONFIG_MPEG4_CUVID_DECODER 0 +#define CONFIG_MPEG4_MEDIACODEC_DECODER 0 +#define CONFIG_VC1_CUVID_DECODER 0 +#define CONFIG_VP8_CUVID_DECODER 0 +#define CONFIG_VP8_MEDIACODEC_DECODER 0 +#define CONFIG_VP9_CUVID_DECODER 0 +#define CONFIG_VP9_MEDIACODEC_DECODER 0 +#define CONFIG_AA_DEMUXER 0 +#define CONFIG_AAC_DEMUXER 1 +#define CONFIG_AC3_DEMUXER 1 +#define CONFIG_ACM_DEMUXER 0 +#define CONFIG_ACT_DEMUXER 0 +#define CONFIG_ADF_DEMUXER 0 +#define CONFIG_ADP_DEMUXER 0 +#define CONFIG_ADS_DEMUXER 0 +#define CONFIG_ADX_DEMUXER 0 +#define CONFIG_AEA_DEMUXER 0 +#define CONFIG_AFC_DEMUXER 0 +#define CONFIG_AIFF_DEMUXER 0 +#define CONFIG_AIX_DEMUXER 0 +#define CONFIG_AMR_DEMUXER 0 +#define CONFIG_ANM_DEMUXER 0 +#define CONFIG_APC_DEMUXER 0 +#define CONFIG_APE_DEMUXER 0 +#define CONFIG_APNG_DEMUXER 0 +#define CONFIG_AQTITLE_DEMUXER 0 +#define CONFIG_ASF_DEMUXER 1 +#define CONFIG_ASF_O_DEMUXER 0 +#define CONFIG_ASS_DEMUXER 0 +#define CONFIG_AST_DEMUXER 0 +#define CONFIG_AU_DEMUXER 0 +#define CONFIG_AVI_DEMUXER 0 +#define CONFIG_AVISYNTH_DEMUXER 0 +#define CONFIG_AVR_DEMUXER 0 +#define CONFIG_AVS_DEMUXER 0 +#define CONFIG_BETHSOFTVID_DEMUXER 0 +#define CONFIG_BFI_DEMUXER 0 +#define CONFIG_BINTEXT_DEMUXER 0 +#define CONFIG_BINK_DEMUXER 0 +#define CONFIG_BIT_DEMUXER 0 +#define CONFIG_BMV_DEMUXER 0 +#define CONFIG_BFSTM_DEMUXER 0 +#define CONFIG_BRSTM_DEMUXER 0 +#define CONFIG_BOA_DEMUXER 0 +#define CONFIG_C93_DEMUXER 0 +#define CONFIG_CAF_DEMUXER 0 +#define CONFIG_CAVSVIDEO_DEMUXER 0 +#define CONFIG_CDG_DEMUXER 0 +#define CONFIG_CDXL_DEMUXER 0 +#define CONFIG_CINE_DEMUXER 0 +#define CONFIG_CONCAT_DEMUXER 0 +#define CONFIG_DATA_DEMUXER 0 +#define CONFIG_DAUD_DEMUXER 0 +#define CONFIG_DCSTR_DEMUXER 0 +#define CONFIG_DFA_DEMUXER 0 +#define CONFIG_DIRAC_DEMUXER 0 +#define CONFIG_DNXHD_DEMUXER 0 +#define CONFIG_DSF_DEMUXER 0 +#define CONFIG_DSICIN_DEMUXER 0 +#define CONFIG_DSS_DEMUXER 0 +#define CONFIG_DTS_DEMUXER 1 +#define CONFIG_DTSHD_DEMUXER 0 +#define CONFIG_DV_DEMUXER 0 +#define CONFIG_DVBSUB_DEMUXER 0 +#define CONFIG_DVBTXT_DEMUXER 0 +#define CONFIG_DXA_DEMUXER 0 +#define CONFIG_EA_DEMUXER 0 +#define CONFIG_EA_CDATA_DEMUXER 0 +#define CONFIG_EAC3_DEMUXER 0 +#define CONFIG_EPAF_DEMUXER 0 +#define CONFIG_FFM_DEMUXER 0 +#define CONFIG_FFMETADATA_DEMUXER 0 +#define CONFIG_FILMSTRIP_DEMUXER 0 +#define CONFIG_FLAC_DEMUXER 1 +#define CONFIG_FLIC_DEMUXER 0 +#define CONFIG_FLV_DEMUXER 1 +#define CONFIG_LIVE_FLV_DEMUXER 0 +#define CONFIG_FOURXM_DEMUXER 0 +#define CONFIG_FRM_DEMUXER 0 +#define CONFIG_FSB_DEMUXER 0 +#define CONFIG_G722_DEMUXER 0 +#define CONFIG_G723_1_DEMUXER 0 +#define CONFIG_G729_DEMUXER 0 +#define CONFIG_GENH_DEMUXER 0 +#define CONFIG_GIF_DEMUXER 0 +#define CONFIG_GSM_DEMUXER 0 +#define CONFIG_GXF_DEMUXER 0 +#define CONFIG_H261_DEMUXER 0 +#define CONFIG_H263_DEMUXER 0 +#define CONFIG_H264_DEMUXER 1 +#define CONFIG_HEVC_DEMUXER 0 +#define CONFIG_HLS_DEMUXER 0 +#define CONFIG_HNM_DEMUXER 0 +#define CONFIG_ICO_DEMUXER 0 +#define CONFIG_IDCIN_DEMUXER 0 +#define CONFIG_IDF_DEMUXER 0 +#define CONFIG_IFF_DEMUXER 0 +#define CONFIG_ILBC_DEMUXER 0 +#define CONFIG_IMAGE2_DEMUXER 0 +#define CONFIG_IMAGE2PIPE_DEMUXER 0 +#define CONFIG_IMAGE2_ALIAS_PIX_DEMUXER 0 +#define CONFIG_IMAGE2_BRENDER_PIX_DEMUXER 0 +#define CONFIG_INGENIENT_DEMUXER 0 +#define CONFIG_IPMOVIE_DEMUXER 0 +#define CONFIG_IRCAM_DEMUXER 0 +#define CONFIG_ISS_DEMUXER 0 +#define CONFIG_IV8_DEMUXER 0 +#define CONFIG_IVF_DEMUXER 0 +#define CONFIG_IVR_DEMUXER 0 +#define CONFIG_JACOSUB_DEMUXER 0 +#define CONFIG_JV_DEMUXER 0 +#define CONFIG_LMLM4_DEMUXER 0 +#define CONFIG_LOAS_DEMUXER 0 +#define CONFIG_LRC_DEMUXER 0 +#define CONFIG_LVF_DEMUXER 0 +#define CONFIG_LXF_DEMUXER 0 +#define CONFIG_M4V_DEMUXER 0 +#define CONFIG_MATROSKA_DEMUXER 1 +#define CONFIG_MGSTS_DEMUXER 0 +#define CONFIG_MICRODVD_DEMUXER 0 +#define CONFIG_MJPEG_DEMUXER 0 +#define CONFIG_MLP_DEMUXER 0 +#define CONFIG_MLV_DEMUXER 0 +#define CONFIG_MM_DEMUXER 0 +#define CONFIG_MMF_DEMUXER 0 +#define CONFIG_MOV_DEMUXER 1 +#define CONFIG_MP3_DEMUXER 0 +#define CONFIG_MPC_DEMUXER 0 +#define CONFIG_MPC8_DEMUXER 0 +#define CONFIG_MPEGPS_DEMUXER 1 +#define CONFIG_MPEGTS_DEMUXER 1 +#define CONFIG_MPEGTSRAW_DEMUXER 1 +#define CONFIG_MPEGVIDEO_DEMUXER 1 +#define CONFIG_MPJPEG_DEMUXER 0 +#define CONFIG_MPL2_DEMUXER 0 +#define CONFIG_MPSUB_DEMUXER 0 +#define CONFIG_MSF_DEMUXER 0 +#define CONFIG_MSNWC_TCP_DEMUXER 0 +#define CONFIG_MTAF_DEMUXER 0 +#define CONFIG_MTV_DEMUXER 0 +#define CONFIG_MUSX_DEMUXER 0 +#define CONFIG_MV_DEMUXER 0 +#define CONFIG_MVI_DEMUXER 0 +#define CONFIG_MXF_DEMUXER 0 +#define CONFIG_MXG_DEMUXER 0 +#define CONFIG_NC_DEMUXER 0 +#define CONFIG_NISTSPHERE_DEMUXER 0 +#define CONFIG_NSV_DEMUXER 0 +#define CONFIG_NUT_DEMUXER 0 +#define CONFIG_NUV_DEMUXER 0 +#define CONFIG_OGG_DEMUXER 0 +#define CONFIG_OMA_DEMUXER 0 +#define CONFIG_PAF_DEMUXER 0 +#define CONFIG_PCM_ALAW_DEMUXER 0 +#define CONFIG_PCM_MULAW_DEMUXER 0 +#define CONFIG_PCM_F64BE_DEMUXER 0 +#define CONFIG_PCM_F64LE_DEMUXER 0 +#define CONFIG_PCM_F32BE_DEMUXER 0 +#define CONFIG_PCM_F32LE_DEMUXER 0 +#define CONFIG_PCM_S32BE_DEMUXER 0 +#define CONFIG_PCM_S32LE_DEMUXER 0 +#define CONFIG_PCM_S24BE_DEMUXER 0 +#define CONFIG_PCM_S24LE_DEMUXER 0 +#define CONFIG_PCM_S16BE_DEMUXER 0 +#define CONFIG_PCM_S16LE_DEMUXER 0 +#define CONFIG_PCM_S8_DEMUXER 0 +#define CONFIG_PCM_U32BE_DEMUXER 0 +#define CONFIG_PCM_U32LE_DEMUXER 0 +#define CONFIG_PCM_U24BE_DEMUXER 0 +#define CONFIG_PCM_U24LE_DEMUXER 0 +#define CONFIG_PCM_U16BE_DEMUXER 0 +#define CONFIG_PCM_U16LE_DEMUXER 0 +#define CONFIG_PCM_U8_DEMUXER 0 +#define CONFIG_PJS_DEMUXER 0 +#define CONFIG_PMP_DEMUXER 0 +#define CONFIG_PVA_DEMUXER 0 +#define CONFIG_PVF_DEMUXER 0 +#define CONFIG_QCP_DEMUXER 0 +#define CONFIG_R3D_DEMUXER 0 +#define CONFIG_RAWVIDEO_DEMUXER 0 +#define CONFIG_REALTEXT_DEMUXER 0 +#define CONFIG_REDSPARK_DEMUXER 0 +#define CONFIG_RL2_DEMUXER 0 +#define CONFIG_RM_DEMUXER 0 +#define CONFIG_ROQ_DEMUXER 0 +#define CONFIG_RPL_DEMUXER 0 +#define CONFIG_RSD_DEMUXER 0 +#define CONFIG_RSO_DEMUXER 0 +#define CONFIG_RTP_DEMUXER 0 +#define CONFIG_RTSP_DEMUXER 0 +#define CONFIG_SAMI_DEMUXER 0 +#define CONFIG_SAP_DEMUXER 0 +#define CONFIG_SBG_DEMUXER 0 +#define CONFIG_SDP_DEMUXER 0 +#define CONFIG_SDR2_DEMUXER 0 +#define CONFIG_SEGAFILM_DEMUXER 0 +#define CONFIG_SHORTEN_DEMUXER 0 +#define CONFIG_SIFF_DEMUXER 0 +#define CONFIG_SLN_DEMUXER 0 +#define CONFIG_SMACKER_DEMUXER 0 +#define CONFIG_SMJPEG_DEMUXER 0 +#define CONFIG_SMUSH_DEMUXER 0 +#define CONFIG_SOL_DEMUXER 0 +#define CONFIG_SOX_DEMUXER 0 +#define CONFIG_SPDIF_DEMUXER 0 +#define CONFIG_SRT_DEMUXER 0 +#define CONFIG_STR_DEMUXER 0 +#define CONFIG_STL_DEMUXER 0 +#define CONFIG_SUBVIEWER1_DEMUXER 0 +#define CONFIG_SUBVIEWER_DEMUXER 0 +#define CONFIG_SUP_DEMUXER 0 +#define CONFIG_SVAG_DEMUXER 0 +#define CONFIG_SWF_DEMUXER 0 +#define CONFIG_TAK_DEMUXER 0 +#define CONFIG_TEDCAPTIONS_DEMUXER 0 +#define CONFIG_THP_DEMUXER 0 +#define CONFIG_THREEDOSTR_DEMUXER 0 +#define CONFIG_TIERTEXSEQ_DEMUXER 0 +#define CONFIG_TMV_DEMUXER 0 +#define CONFIG_TRUEHD_DEMUXER 0 +#define CONFIG_TTA_DEMUXER 0 +#define CONFIG_TXD_DEMUXER 0 +#define CONFIG_TTY_DEMUXER 0 +#define CONFIG_V210_DEMUXER 0 +#define CONFIG_V210X_DEMUXER 0 +#define CONFIG_VAG_DEMUXER 0 +#define CONFIG_VC1_DEMUXER 0 +#define CONFIG_VC1T_DEMUXER 0 +#define CONFIG_VIVO_DEMUXER 0 +#define CONFIG_VMD_DEMUXER 0 +#define CONFIG_VOBSUB_DEMUXER 0 +#define CONFIG_VOC_DEMUXER 0 +#define CONFIG_VPK_DEMUXER 0 +#define CONFIG_VPLAYER_DEMUXER 0 +#define CONFIG_VQF_DEMUXER 0 +#define CONFIG_W64_DEMUXER 0 +#define CONFIG_WAV_DEMUXER 1 +#define CONFIG_WC3_DEMUXER 0 +#define CONFIG_WEBM_DASH_MANIFEST_DEMUXER 0 +#define CONFIG_WEBVTT_DEMUXER 0 +#define CONFIG_WSAUD_DEMUXER 0 +#define CONFIG_WSD_DEMUXER 0 +#define CONFIG_WSVQA_DEMUXER 0 +#define CONFIG_WTV_DEMUXER 0 +#define CONFIG_WVE_DEMUXER 0 +#define CONFIG_WV_DEMUXER 0 +#define CONFIG_XA_DEMUXER 0 +#define CONFIG_XBIN_DEMUXER 0 +#define CONFIG_XMV_DEMUXER 0 +#define CONFIG_XVAG_DEMUXER 0 +#define CONFIG_XWMA_DEMUXER 0 +#define CONFIG_YOP_DEMUXER 0 +#define CONFIG_YUV4MPEGPIPE_DEMUXER 0 +#define CONFIG_IMAGE_BMP_PIPE_DEMUXER 0 +#define CONFIG_IMAGE_DDS_PIPE_DEMUXER 0 +#define CONFIG_IMAGE_DPX_PIPE_DEMUXER 0 +#define CONFIG_IMAGE_EXR_PIPE_DEMUXER 0 +#define CONFIG_IMAGE_J2K_PIPE_DEMUXER 0 +#define CONFIG_IMAGE_JPEG_PIPE_DEMUXER 0 +#define CONFIG_IMAGE_JPEGLS_PIPE_DEMUXER 0 +#define CONFIG_IMAGE_PAM_PIPE_DEMUXER 0 +#define CONFIG_IMAGE_PBM_PIPE_DEMUXER 0 +#define CONFIG_IMAGE_PCX_PIPE_DEMUXER 0 +#define CONFIG_IMAGE_PGMYUV_PIPE_DEMUXER 0 +#define CONFIG_IMAGE_PGM_PIPE_DEMUXER 0 +#define CONFIG_IMAGE_PICTOR_PIPE_DEMUXER 0 +#define CONFIG_IMAGE_PNG_PIPE_DEMUXER 0 +#define CONFIG_IMAGE_PPM_PIPE_DEMUXER 0 +#define CONFIG_IMAGE_QDRAW_PIPE_DEMUXER 0 +#define CONFIG_IMAGE_SGI_PIPE_DEMUXER 0 +#define CONFIG_IMAGE_SUNRAST_PIPE_DEMUXER 0 +#define CONFIG_IMAGE_TIFF_PIPE_DEMUXER 0 +#define CONFIG_IMAGE_WEBP_PIPE_DEMUXER 0 +#define CONFIG_LIBGME_DEMUXER 0 +#define CONFIG_LIBMODPLUG_DEMUXER 0 +#define CONFIG_LIBNUT_DEMUXER 0 +#define CONFIG_LIBOPENMPT_DEMUXER 0 +#define CONFIG_A64MULTI_ENCODER 0 +#define CONFIG_A64MULTI5_ENCODER 0 +#define CONFIG_ALIAS_PIX_ENCODER 0 +#define CONFIG_AMV_ENCODER 0 +#define CONFIG_APNG_ENCODER 0 +#define CONFIG_ASV1_ENCODER 0 +#define CONFIG_ASV2_ENCODER 0 +#define CONFIG_AVRP_ENCODER 0 +#define CONFIG_AVUI_ENCODER 0 +#define CONFIG_AYUV_ENCODER 0 +#define CONFIG_BMP_ENCODER 0 +#define CONFIG_CINEPAK_ENCODER 0 +#define CONFIG_CLJR_ENCODER 0 +#define CONFIG_COMFORTNOISE_ENCODER 0 +#define CONFIG_DNXHD_ENCODER 0 +#define CONFIG_DPX_ENCODER 0 +#define CONFIG_DVVIDEO_ENCODER 0 +#define CONFIG_FFV1_ENCODER 0 +#define CONFIG_FFVHUFF_ENCODER 0 +#define CONFIG_FLASHSV_ENCODER 0 +#define CONFIG_FLASHSV2_ENCODER 0 +#define CONFIG_FLV_ENCODER 0 +#define CONFIG_GIF_ENCODER 0 +#define CONFIG_H261_ENCODER 0 +#define CONFIG_H263_ENCODER 0 +#define CONFIG_H263P_ENCODER 0 +#define CONFIG_HAP_ENCODER 0 +#define CONFIG_HUFFYUV_ENCODER 0 +#define CONFIG_JPEG2000_ENCODER 0 +#define CONFIG_JPEGLS_ENCODER 0 +#define CONFIG_LJPEG_ENCODER 0 +#define CONFIG_MJPEG_ENCODER 0 +#define CONFIG_MPEG1VIDEO_ENCODER 0 +#define CONFIG_MPEG2VIDEO_ENCODER 0 +#define CONFIG_MPEG4_ENCODER 0 +#define CONFIG_MSMPEG4V2_ENCODER 0 +#define CONFIG_MSMPEG4V3_ENCODER 0 +#define CONFIG_MSVIDEO1_ENCODER 0 +#define CONFIG_PAM_ENCODER 0 +#define CONFIG_PBM_ENCODER 0 +#define CONFIG_PCX_ENCODER 0 +#define CONFIG_PGM_ENCODER 0 +#define CONFIG_PGMYUV_ENCODER 0 +#define CONFIG_PNG_ENCODER 0 +#define CONFIG_PPM_ENCODER 0 +#define CONFIG_PRORES_ENCODER 0 +#define CONFIG_PRORES_AW_ENCODER 0 +#define CONFIG_PRORES_KS_ENCODER 0 +#define CONFIG_QTRLE_ENCODER 0 +#define CONFIG_R10K_ENCODER 0 +#define CONFIG_R210_ENCODER 0 +#define CONFIG_RAWVIDEO_ENCODER 0 +#define CONFIG_ROQ_ENCODER 0 +#define CONFIG_RV10_ENCODER 0 +#define CONFIG_RV20_ENCODER 0 +#define CONFIG_S302M_ENCODER 0 +#define CONFIG_SGI_ENCODER 0 +#define CONFIG_SNOW_ENCODER 0 +#define CONFIG_SUNRAST_ENCODER 0 +#define CONFIG_SVQ1_ENCODER 0 +#define CONFIG_TARGA_ENCODER 0 +#define CONFIG_TIFF_ENCODER 0 +#define CONFIG_UTVIDEO_ENCODER 0 +#define CONFIG_V210_ENCODER 0 +#define CONFIG_V308_ENCODER 0 +#define CONFIG_V408_ENCODER 0 +#define CONFIG_V410_ENCODER 0 +#define CONFIG_VC2_ENCODER 0 +#define CONFIG_WRAPPED_AVFRAME_ENCODER 0 +#define CONFIG_WMV1_ENCODER 0 +#define CONFIG_WMV2_ENCODER 0 +#define CONFIG_XBM_ENCODER 0 +#define CONFIG_XFACE_ENCODER 0 +#define CONFIG_XWD_ENCODER 0 +#define CONFIG_Y41P_ENCODER 0 +#define CONFIG_YUV4_ENCODER 0 +#define CONFIG_ZLIB_ENCODER 0 +#define CONFIG_ZMBV_ENCODER 0 +#define CONFIG_AAC_ENCODER 0 +#define CONFIG_AC3_ENCODER 0 +#define CONFIG_AC3_FIXED_ENCODER 0 +#define CONFIG_ALAC_ENCODER 0 +#define CONFIG_DCA_ENCODER 0 +#define CONFIG_EAC3_ENCODER 0 +#define CONFIG_FLAC_ENCODER 0 +#define CONFIG_G723_1_ENCODER 0 +#define CONFIG_MLP_ENCODER 0 +#define CONFIG_MP2_ENCODER 0 +#define CONFIG_MP2FIXED_ENCODER 0 +#define CONFIG_NELLYMOSER_ENCODER 0 +#define CONFIG_RA_144_ENCODER 0 +#define CONFIG_SONIC_ENCODER 0 +#define CONFIG_SONIC_LS_ENCODER 0 +#define CONFIG_TRUEHD_ENCODER 0 +#define CONFIG_TTA_ENCODER 0 +#define CONFIG_VORBIS_ENCODER 0 +#define CONFIG_WAVPACK_ENCODER 0 +#define CONFIG_WMAV1_ENCODER 0 +#define CONFIG_WMAV2_ENCODER 0 +#define CONFIG_PCM_ALAW_ENCODER 0 +#define CONFIG_PCM_F32BE_ENCODER 0 +#define CONFIG_PCM_F32LE_ENCODER 0 +#define CONFIG_PCM_F64BE_ENCODER 0 +#define CONFIG_PCM_F64LE_ENCODER 0 +#define CONFIG_PCM_MULAW_ENCODER 0 +#define CONFIG_PCM_S8_ENCODER 0 +#define CONFIG_PCM_S8_PLANAR_ENCODER 0 +#define CONFIG_PCM_S16BE_ENCODER 0 +#define CONFIG_PCM_S16BE_PLANAR_ENCODER 0 +#define CONFIG_PCM_S16LE_ENCODER 0 +#define CONFIG_PCM_S16LE_PLANAR_ENCODER 0 +#define CONFIG_PCM_S24BE_ENCODER 0 +#define CONFIG_PCM_S24DAUD_ENCODER 0 +#define CONFIG_PCM_S24LE_ENCODER 0 +#define CONFIG_PCM_S24LE_PLANAR_ENCODER 0 +#define CONFIG_PCM_S32BE_ENCODER 0 +#define CONFIG_PCM_S32LE_ENCODER 0 +#define CONFIG_PCM_S32LE_PLANAR_ENCODER 0 +#define CONFIG_PCM_S64BE_ENCODER 0 +#define CONFIG_PCM_S64LE_ENCODER 0 +#define CONFIG_PCM_U8_ENCODER 0 +#define CONFIG_PCM_U16BE_ENCODER 0 +#define CONFIG_PCM_U16LE_ENCODER 0 +#define CONFIG_PCM_U24BE_ENCODER 0 +#define CONFIG_PCM_U24LE_ENCODER 0 +#define CONFIG_PCM_U32BE_ENCODER 0 +#define CONFIG_PCM_U32LE_ENCODER 0 +#define CONFIG_ROQ_DPCM_ENCODER 0 +#define CONFIG_ADPCM_ADX_ENCODER 0 +#define CONFIG_ADPCM_G722_ENCODER 0 +#define CONFIG_ADPCM_G726_ENCODER 0 +#define CONFIG_ADPCM_IMA_QT_ENCODER 0 +#define CONFIG_ADPCM_IMA_WAV_ENCODER 0 +#define CONFIG_ADPCM_MS_ENCODER 0 +#define CONFIG_ADPCM_SWF_ENCODER 0 +#define CONFIG_ADPCM_YAMAHA_ENCODER 0 +#define CONFIG_SSA_ENCODER 0 +#define CONFIG_ASS_ENCODER 0 +#define CONFIG_DVBSUB_ENCODER 0 +#define CONFIG_DVDSUB_ENCODER 0 +#define CONFIG_MOVTEXT_ENCODER 0 +#define CONFIG_SRT_ENCODER 0 +#define CONFIG_SUBRIP_ENCODER 0 +#define CONFIG_TEXT_ENCODER 0 +#define CONFIG_WEBVTT_ENCODER 0 +#define CONFIG_XSUB_ENCODER 0 +#define CONFIG_AAC_AT_ENCODER 0 +#define CONFIG_ALAC_AT_ENCODER 0 +#define CONFIG_ILBC_AT_ENCODER 0 +#define CONFIG_PCM_ALAW_AT_ENCODER 0 +#define CONFIG_PCM_MULAW_AT_ENCODER 0 +#define CONFIG_LIBFDK_AAC_ENCODER 0 +#define CONFIG_LIBGSM_ENCODER 0 +#define CONFIG_LIBGSM_MS_ENCODER 0 +#define CONFIG_LIBILBC_ENCODER 0 +#define CONFIG_LIBMP3LAME_ENCODER 0 +#define CONFIG_LIBOPENCORE_AMRNB_ENCODER 0 +#define CONFIG_LIBOPENJPEG_ENCODER 0 +#define CONFIG_LIBOPUS_ENCODER 0 +#define CONFIG_LIBSCHROEDINGER_ENCODER 0 +#define CONFIG_LIBSHINE_ENCODER 0 +#define CONFIG_LIBSPEEX_ENCODER 0 +#define CONFIG_LIBTHEORA_ENCODER 0 +#define CONFIG_LIBTWOLAME_ENCODER 0 +#define CONFIG_LIBVO_AMRWBENC_ENCODER 0 +#define CONFIG_LIBVORBIS_ENCODER 0 +#define CONFIG_LIBVPX_VP8_ENCODER 0 +#define CONFIG_LIBVPX_VP9_ENCODER 0 +#define CONFIG_LIBWAVPACK_ENCODER 0 +#define CONFIG_LIBWEBP_ANIM_ENCODER 0 +#define CONFIG_LIBWEBP_ENCODER 0 +#define CONFIG_LIBX262_ENCODER 0 +#define CONFIG_LIBX264_ENCODER 0 +#define CONFIG_LIBX264RGB_ENCODER 0 +#define CONFIG_LIBX265_ENCODER 0 +#define CONFIG_LIBXAVS_ENCODER 0 +#define CONFIG_LIBXVID_ENCODER 0 +#define CONFIG_LIBOPENH264_ENCODER 0 +#define CONFIG_H264_NVENC_ENCODER 0 +#define CONFIG_H264_OMX_ENCODER 0 +#define CONFIG_H264_QSV_ENCODER 0 +#define CONFIG_H264_VAAPI_ENCODER 0 +#define CONFIG_H264_VIDEOTOOLBOX_ENCODER 0 +#define CONFIG_NVENC_ENCODER 0 +#define CONFIG_NVENC_H264_ENCODER 0 +#define CONFIG_NVENC_HEVC_ENCODER 0 +#define CONFIG_HEVC_NVENC_ENCODER 0 +#define CONFIG_HEVC_QSV_ENCODER 0 +#define CONFIG_HEVC_VAAPI_ENCODER 0 +#define CONFIG_LIBKVAZAAR_ENCODER 0 +#define CONFIG_MJPEG_VAAPI_ENCODER 0 +#define CONFIG_MPEG2_QSV_ENCODER 0 +#define CONFIG_ABENCH_FILTER 0 +#define CONFIG_ACOMPRESSOR_FILTER 0 +#define CONFIG_ACROSSFADE_FILTER 0 +#define CONFIG_ACRUSHER_FILTER 0 +#define CONFIG_ADELAY_FILTER 0 +#define CONFIG_AECHO_FILTER 0 +#define CONFIG_AEMPHASIS_FILTER 0 +#define CONFIG_AEVAL_FILTER 0 +#define CONFIG_AFADE_FILTER 0 +#define CONFIG_AFFTFILT_FILTER 0 +#define CONFIG_AFORMAT_FILTER 0 +#define CONFIG_AGATE_FILTER 0 +#define CONFIG_AINTERLEAVE_FILTER 0 +#define CONFIG_ALIMITER_FILTER 0 +#define CONFIG_ALLPASS_FILTER 0 +#define CONFIG_ALOOP_FILTER 0 +#define CONFIG_AMERGE_FILTER 0 +#define CONFIG_AMETADATA_FILTER 0 +#define CONFIG_AMIX_FILTER 0 +#define CONFIG_ANEQUALIZER_FILTER 0 +#define CONFIG_ANULL_FILTER 0 +#define CONFIG_APAD_FILTER 0 +#define CONFIG_APERMS_FILTER 0 +#define CONFIG_APHASER_FILTER 0 +#define CONFIG_APULSATOR_FILTER 0 +#define CONFIG_AREALTIME_FILTER 0 +#define CONFIG_ARESAMPLE_FILTER 0 +#define CONFIG_AREVERSE_FILTER 0 +#define CONFIG_ASELECT_FILTER 0 +#define CONFIG_ASENDCMD_FILTER 0 +#define CONFIG_ASETNSAMPLES_FILTER 0 +#define CONFIG_ASETPTS_FILTER 0 +#define CONFIG_ASETRATE_FILTER 0 +#define CONFIG_ASETTB_FILTER 0 +#define CONFIG_ASHOWINFO_FILTER 0 +#define CONFIG_ASIDEDATA_FILTER 0 +#define CONFIG_ASPLIT_FILTER 0 +#define CONFIG_ASTATS_FILTER 0 +#define CONFIG_ASTREAMSELECT_FILTER 0 +#define CONFIG_ASYNCTS_FILTER 0 +#define CONFIG_ATEMPO_FILTER 0 +#define CONFIG_ATRIM_FILTER 0 +#define CONFIG_AZMQ_FILTER 0 +#define CONFIG_BANDPASS_FILTER 0 +#define CONFIG_BANDREJECT_FILTER 0 +#define CONFIG_BASS_FILTER 0 +#define CONFIG_BIQUAD_FILTER 0 +#define CONFIG_BS2B_FILTER 0 +#define CONFIG_CHANNELMAP_FILTER 0 +#define CONFIG_CHANNELSPLIT_FILTER 0 +#define CONFIG_CHORUS_FILTER 0 +#define CONFIG_COMPAND_FILTER 0 +#define CONFIG_COMPENSATIONDELAY_FILTER 0 +#define CONFIG_CRYSTALIZER_FILTER 0 +#define CONFIG_DCSHIFT_FILTER 0 +#define CONFIG_DYNAUDNORM_FILTER 0 +#define CONFIG_EARWAX_FILTER 0 +#define CONFIG_EBUR128_FILTER 0 +#define CONFIG_EQUALIZER_FILTER 0 +#define CONFIG_EXTRASTEREO_FILTER 0 +#define CONFIG_FIREQUALIZER_FILTER 0 +#define CONFIG_FLANGER_FILTER 0 +#define CONFIG_HDCD_FILTER 0 +#define CONFIG_HIGHPASS_FILTER 0 +#define CONFIG_JOIN_FILTER 0 +#define CONFIG_LADSPA_FILTER 0 +#define CONFIG_LOUDNORM_FILTER 0 +#define CONFIG_LOWPASS_FILTER 0 +#define CONFIG_PAN_FILTER 0 +#define CONFIG_REPLAYGAIN_FILTER 0 +#define CONFIG_RESAMPLE_FILTER 0 +#define CONFIG_RUBBERBAND_FILTER 0 +#define CONFIG_SIDECHAINCOMPRESS_FILTER 0 +#define CONFIG_SIDECHAINGATE_FILTER 0 +#define CONFIG_SILENCEDETECT_FILTER 0 +#define CONFIG_SILENCEREMOVE_FILTER 0 +#define CONFIG_SOFALIZER_FILTER 0 +#define CONFIG_STEREOTOOLS_FILTER 0 +#define CONFIG_STEREOWIDEN_FILTER 0 +#define CONFIG_TREBLE_FILTER 0 +#define CONFIG_TREMOLO_FILTER 0 +#define CONFIG_VIBRATO_FILTER 0 +#define CONFIG_VOLUME_FILTER 0 +#define CONFIG_VOLUMEDETECT_FILTER 0 +#define CONFIG_AEVALSRC_FILTER 0 +#define CONFIG_ANOISESRC_FILTER 0 +#define CONFIG_ANULLSRC_FILTER 0 +#define CONFIG_FLITE_FILTER 0 +#define CONFIG_SINE_FILTER 0 +#define CONFIG_ANULLSINK_FILTER 0 +#define CONFIG_ALPHAEXTRACT_FILTER 0 +#define CONFIG_ALPHAMERGE_FILTER 0 +#define CONFIG_ASS_FILTER 0 +#define CONFIG_ATADENOISE_FILTER 0 +#define CONFIG_AVGBLUR_FILTER 0 +#define CONFIG_BBOX_FILTER 0 +#define CONFIG_BENCH_FILTER 0 +#define CONFIG_BITPLANENOISE_FILTER 0 +#define CONFIG_BLACKDETECT_FILTER 0 +#define CONFIG_BLACKFRAME_FILTER 0 +#define CONFIG_BLEND_FILTER 0 +#define CONFIG_BOXBLUR_FILTER 0 +#define CONFIG_BWDIF_FILTER 0 +#define CONFIG_CHROMAKEY_FILTER 0 +#define CONFIG_CIESCOPE_FILTER 0 +#define CONFIG_CODECVIEW_FILTER 0 +#define CONFIG_COLORBALANCE_FILTER 0 +#define CONFIG_COLORCHANNELMIXER_FILTER 0 +#define CONFIG_COLORKEY_FILTER 0 +#define CONFIG_COLORLEVELS_FILTER 0 +#define CONFIG_COLORMATRIX_FILTER 0 +#define CONFIG_COLORSPACE_FILTER 0 +#define CONFIG_CONVOLUTION_FILTER 0 +#define CONFIG_COPY_FILTER 0 +#define CONFIG_COREIMAGE_FILTER 0 +#define CONFIG_COVER_RECT_FILTER 0 +#define CONFIG_CROP_FILTER 0 +#define CONFIG_CROPDETECT_FILTER 0 +#define CONFIG_CURVES_FILTER 0 +#define CONFIG_DATASCOPE_FILTER 0 +#define CONFIG_DCTDNOIZ_FILTER 0 +#define CONFIG_DEBAND_FILTER 0 +#define CONFIG_DECIMATE_FILTER 0 +#define CONFIG_DEFLATE_FILTER 0 +#define CONFIG_DEJUDDER_FILTER 0 +#define CONFIG_DELOGO_FILTER 0 +#define CONFIG_DESHAKE_FILTER 0 +#define CONFIG_DETELECINE_FILTER 0 +#define CONFIG_DILATION_FILTER 0 +#define CONFIG_DISPLACE_FILTER 0 +#define CONFIG_DRAWBOX_FILTER 0 +#define CONFIG_DRAWGRAPH_FILTER 0 +#define CONFIG_DRAWGRID_FILTER 0 +#define CONFIG_DRAWTEXT_FILTER 0 +#define CONFIG_EDGEDETECT_FILTER 0 +#define CONFIG_ELBG_FILTER 0 +#define CONFIG_EQ_FILTER 0 +#define CONFIG_EROSION_FILTER 0 +#define CONFIG_EXTRACTPLANES_FILTER 0 +#define CONFIG_FADE_FILTER 0 +#define CONFIG_FFTFILT_FILTER 0 +#define CONFIG_FIELD_FILTER 0 +#define CONFIG_FIELDHINT_FILTER 0 +#define CONFIG_FIELDMATCH_FILTER 0 +#define CONFIG_FIELDORDER_FILTER 0 +#define CONFIG_FIND_RECT_FILTER 0 +#define CONFIG_FORMAT_FILTER 0 +#define CONFIG_FPS_FILTER 0 +#define CONFIG_FRAMEPACK_FILTER 0 +#define CONFIG_FRAMERATE_FILTER 0 +#define CONFIG_FRAMESTEP_FILTER 0 +#define CONFIG_FREI0R_FILTER 0 +#define CONFIG_FSPP_FILTER 0 +#define CONFIG_GBLUR_FILTER 0 +#define CONFIG_GEQ_FILTER 0 +#define CONFIG_GRADFUN_FILTER 0 +#define CONFIG_HALDCLUT_FILTER 0 +#define CONFIG_HFLIP_FILTER 0 +#define CONFIG_HISTEQ_FILTER 0 +#define CONFIG_HISTOGRAM_FILTER 0 +#define CONFIG_HQDN3D_FILTER 0 +#define CONFIG_HQX_FILTER 0 +#define CONFIG_HSTACK_FILTER 0 +#define CONFIG_HUE_FILTER 0 +#define CONFIG_HWDOWNLOAD_FILTER 0 +#define CONFIG_HWUPLOAD_FILTER 0 +#define CONFIG_HWUPLOAD_CUDA_FILTER 0 +#define CONFIG_HYSTERESIS_FILTER 0 +#define CONFIG_IDET_FILTER 0 +#define CONFIG_IL_FILTER 0 +#define CONFIG_INFLATE_FILTER 0 +#define CONFIG_INTERLACE_FILTER 0 +#define CONFIG_INTERLEAVE_FILTER 0 +#define CONFIG_KERNDEINT_FILTER 0 +#define CONFIG_LENSCORRECTION_FILTER 0 +#define CONFIG_LOOP_FILTER 0 +#define CONFIG_LUT_FILTER 0 +#define CONFIG_LUT2_FILTER 0 +#define CONFIG_LUT3D_FILTER 0 +#define CONFIG_LUTRGB_FILTER 0 +#define CONFIG_LUTYUV_FILTER 0 +#define CONFIG_MASKEDCLAMP_FILTER 0 +#define CONFIG_MASKEDMERGE_FILTER 0 +#define CONFIG_MCDEINT_FILTER 0 +#define CONFIG_MERGEPLANES_FILTER 0 +#define CONFIG_MESTIMATE_FILTER 0 +#define CONFIG_METADATA_FILTER 0 +#define CONFIG_MINTERPOLATE_FILTER 0 +#define CONFIG_MPDECIMATE_FILTER 0 +#define CONFIG_NEGATE_FILTER 0 +#define CONFIG_NLMEANS_FILTER 0 +#define CONFIG_NNEDI_FILTER 0 +#define CONFIG_NOFORMAT_FILTER 0 +#define CONFIG_NOISE_FILTER 0 +#define CONFIG_NULL_FILTER 0 +#define CONFIG_OCR_FILTER 0 +#define CONFIG_OCV_FILTER 0 +#define CONFIG_OVERLAY_FILTER 0 +#define CONFIG_OWDENOISE_FILTER 0 +#define CONFIG_PAD_FILTER 0 +#define CONFIG_PALETTEGEN_FILTER 0 +#define CONFIG_PALETTEUSE_FILTER 0 +#define CONFIG_PERMS_FILTER 0 +#define CONFIG_PERSPECTIVE_FILTER 0 +#define CONFIG_PHASE_FILTER 0 +#define CONFIG_PIXDESCTEST_FILTER 0 +#define CONFIG_PP_FILTER 0 +#define CONFIG_PP7_FILTER 0 +#define CONFIG_PREWITT_FILTER 0 +#define CONFIG_PSNR_FILTER 0 +#define CONFIG_PULLUP_FILTER 0 +#define CONFIG_QP_FILTER 0 +#define CONFIG_RANDOM_FILTER 0 +#define CONFIG_READVITC_FILTER 0 +#define CONFIG_REALTIME_FILTER 0 +#define CONFIG_REMAP_FILTER 0 +#define CONFIG_REMOVEGRAIN_FILTER 0 +#define CONFIG_REMOVELOGO_FILTER 0 +#define CONFIG_REPEATFIELDS_FILTER 0 +#define CONFIG_REVERSE_FILTER 0 +#define CONFIG_ROTATE_FILTER 0 +#define CONFIG_SAB_FILTER 0 +#define CONFIG_SCALE_FILTER 0 +#define CONFIG_SCALE_NPP_FILTER 0 +#define CONFIG_SCALE_VAAPI_FILTER 0 +#define CONFIG_SCALE2REF_FILTER 0 +#define CONFIG_SELECT_FILTER 0 +#define CONFIG_SELECTIVECOLOR_FILTER 0 +#define CONFIG_SENDCMD_FILTER 0 +#define CONFIG_SEPARATEFIELDS_FILTER 0 +#define CONFIG_SETDAR_FILTER 0 +#define CONFIG_SETFIELD_FILTER 0 +#define CONFIG_SETPTS_FILTER 0 +#define CONFIG_SETSAR_FILTER 0 +#define CONFIG_SETTB_FILTER 0 +#define CONFIG_SHOWINFO_FILTER 0 +#define CONFIG_SHOWPALETTE_FILTER 0 +#define CONFIG_SHUFFLEFRAMES_FILTER 0 +#define CONFIG_SHUFFLEPLANES_FILTER 0 +#define CONFIG_SIDEDATA_FILTER 0 +#define CONFIG_SIGNALSTATS_FILTER 0 +#define CONFIG_SMARTBLUR_FILTER 0 +#define CONFIG_SOBEL_FILTER 0 +#define CONFIG_SPLIT_FILTER 0 +#define CONFIG_SPP_FILTER 0 +#define CONFIG_SSIM_FILTER 0 +#define CONFIG_STEREO3D_FILTER 0 +#define CONFIG_STREAMSELECT_FILTER 0 +#define CONFIG_SUBTITLES_FILTER 0 +#define CONFIG_SUPER2XSAI_FILTER 0 +#define CONFIG_SWAPRECT_FILTER 0 +#define CONFIG_SWAPUV_FILTER 0 +#define CONFIG_TBLEND_FILTER 0 +#define CONFIG_TELECINE_FILTER 0 +#define CONFIG_THUMBNAIL_FILTER 0 +#define CONFIG_TILE_FILTER 0 +#define CONFIG_TINTERLACE_FILTER 0 +#define CONFIG_TRANSPOSE_FILTER 0 +#define CONFIG_TRIM_FILTER 0 +#define CONFIG_UNSHARP_FILTER 0 +#define CONFIG_USPP_FILTER 0 +#define CONFIG_VAGUEDENOISER_FILTER 0 +#define CONFIG_VECTORSCOPE_FILTER 0 +#define CONFIG_VFLIP_FILTER 0 +#define CONFIG_VIDSTABDETECT_FILTER 0 +#define CONFIG_VIDSTABTRANSFORM_FILTER 0 +#define CONFIG_VIGNETTE_FILTER 0 +#define CONFIG_VSTACK_FILTER 0 +#define CONFIG_W3FDIF_FILTER 0 +#define CONFIG_WAVEFORM_FILTER 0 +#define CONFIG_WEAVE_FILTER 0 +#define CONFIG_XBR_FILTER 0 +#define CONFIG_YADIF_FILTER 0 +#define CONFIG_ZMQ_FILTER 0 +#define CONFIG_ZOOMPAN_FILTER 0 +#define CONFIG_ZSCALE_FILTER 0 +#define CONFIG_ALLRGB_FILTER 0 +#define CONFIG_ALLYUV_FILTER 0 +#define CONFIG_CELLAUTO_FILTER 0 +#define CONFIG_COLOR_FILTER 0 +#define CONFIG_COREIMAGESRC_FILTER 0 +#define CONFIG_FREI0R_SRC_FILTER 0 +#define CONFIG_HALDCLUTSRC_FILTER 0 +#define CONFIG_LIFE_FILTER 0 +#define CONFIG_MANDELBROT_FILTER 0 +#define CONFIG_MPTESTSRC_FILTER 0 +#define CONFIG_NULLSRC_FILTER 0 +#define CONFIG_RGBTESTSRC_FILTER 0 +#define CONFIG_SMPTEBARS_FILTER 0 +#define CONFIG_SMPTEHDBARS_FILTER 0 +#define CONFIG_TESTSRC_FILTER 0 +#define CONFIG_TESTSRC2_FILTER 0 +#define CONFIG_YUVTESTSRC_FILTER 0 +#define CONFIG_NULLSINK_FILTER 0 +#define CONFIG_ADRAWGRAPH_FILTER 0 +#define CONFIG_AHISTOGRAM_FILTER 0 +#define CONFIG_APHASEMETER_FILTER 0 +#define CONFIG_AVECTORSCOPE_FILTER 0 +#define CONFIG_CONCAT_FILTER 0 +#define CONFIG_SHOWCQT_FILTER 0 +#define CONFIG_SHOWFREQS_FILTER 0 +#define CONFIG_SHOWSPECTRUM_FILTER 0 +#define CONFIG_SHOWSPECTRUMPIC_FILTER 0 +#define CONFIG_SHOWVOLUME_FILTER 0 +#define CONFIG_SHOWWAVES_FILTER 0 +#define CONFIG_SHOWWAVESPIC_FILTER 0 +#define CONFIG_SPECTRUMSYNTH_FILTER 0 +#define CONFIG_AMOVIE_FILTER 0 +#define CONFIG_MOVIE_FILTER 0 +#define CONFIG_H263_CUVID_HWACCEL 0 +#define CONFIG_H263_VAAPI_HWACCEL 0 +#define CONFIG_H263_VIDEOTOOLBOX_HWACCEL 0 +#define CONFIG_H264_CUVID_HWACCEL 0 +#define CONFIG_H264_D3D11VA_HWACCEL 0 +#define CONFIG_H264_DXVA2_HWACCEL 0 +#define CONFIG_H264_MEDIACODEC_HWACCEL 0 +#define CONFIG_H264_MMAL_HWACCEL 0 +#define CONFIG_H264_QSV_HWACCEL 0 +#define CONFIG_H264_VAAPI_HWACCEL 0 +#define CONFIG_H264_VDA_HWACCEL 0 +#define CONFIG_H264_VDA_OLD_HWACCEL 0 +#define CONFIG_H264_VDPAU_HWACCEL 0 +#define CONFIG_H264_VIDEOTOOLBOX_HWACCEL 0 +#define CONFIG_HEVC_CUVID_HWACCEL 0 +#define CONFIG_HEVC_D3D11VA_HWACCEL 0 +#define CONFIG_HEVC_DXVA2_HWACCEL 0 +#define CONFIG_HEVC_MEDIACODEC_HWACCEL 0 +#define CONFIG_HEVC_QSV_HWACCEL 0 +#define CONFIG_HEVC_VAAPI_HWACCEL 0 +#define CONFIG_HEVC_VDPAU_HWACCEL 0 +#define CONFIG_MJPEG_CUVID_HWACCEL 0 +#define CONFIG_MPEG1_CUVID_HWACCEL 0 +#define CONFIG_MPEG1_XVMC_HWACCEL 0 +#define CONFIG_MPEG1_VDPAU_HWACCEL 0 +#define CONFIG_MPEG1_VIDEOTOOLBOX_HWACCEL 0 +#define CONFIG_MPEG2_CUVID_HWACCEL 0 +#define CONFIG_MPEG2_XVMC_HWACCEL 0 +#define CONFIG_MPEG2_D3D11VA_HWACCEL 0 +#define CONFIG_MPEG2_DXVA2_HWACCEL 0 +#define CONFIG_MPEG2_MMAL_HWACCEL 0 +#define CONFIG_MPEG2_QSV_HWACCEL 0 +#define CONFIG_MPEG2_VAAPI_HWACCEL 0 +#define CONFIG_MPEG2_VDPAU_HWACCEL 0 +#define CONFIG_MPEG2_VIDEOTOOLBOX_HWACCEL 0 +#define CONFIG_MPEG4_CUVID_HWACCEL 0 +#define CONFIG_MPEG4_MEDIACODEC_HWACCEL 0 +#define CONFIG_MPEG4_MMAL_HWACCEL 0 +#define CONFIG_MPEG4_VAAPI_HWACCEL 0 +#define CONFIG_MPEG4_VDPAU_HWACCEL 0 +#define CONFIG_MPEG4_VIDEOTOOLBOX_HWACCEL 0 +#define CONFIG_VC1_CUVID_HWACCEL 0 +#define CONFIG_VC1_D3D11VA_HWACCEL 0 +#define CONFIG_VC1_DXVA2_HWACCEL 0 +#define CONFIG_VC1_VAAPI_HWACCEL 0 +#define CONFIG_VC1_VDPAU_HWACCEL 0 +#define CONFIG_VC1_MMAL_HWACCEL 0 +#define CONFIG_VC1_QSV_HWACCEL 0 +#define CONFIG_VP8_CUVID_HWACCEL 0 +#define CONFIG_VP8_MEDIACODEC_HWACCEL 0 +#define CONFIG_VP9_CUVID_HWACCEL 0 +#define CONFIG_VP9_D3D11VA_HWACCEL 0 +#define CONFIG_VP9_DXVA2_HWACCEL 0 +#define CONFIG_VP9_MEDIACODEC_HWACCEL 0 +#define CONFIG_VP9_VAAPI_HWACCEL 0 +#define CONFIG_WMV3_D3D11VA_HWACCEL 0 +#define CONFIG_WMV3_DXVA2_HWACCEL 0 +#define CONFIG_WMV3_VAAPI_HWACCEL 0 +#define CONFIG_WMV3_VDPAU_HWACCEL 0 +#define CONFIG_ALSA_INDEV 0 +#define CONFIG_AVFOUNDATION_INDEV 0 +#define CONFIG_BKTR_INDEV 0 +#define CONFIG_DECKLINK_INDEV 0 +#define CONFIG_DSHOW_INDEV 0 +#define CONFIG_DV1394_INDEV 0 +#define CONFIG_FBDEV_INDEV 0 +#define CONFIG_GDIGRAB_INDEV 0 +#define CONFIG_IEC61883_INDEV 0 +#define CONFIG_JACK_INDEV 0 +#define CONFIG_LAVFI_INDEV 0 +#define CONFIG_OPENAL_INDEV 0 +#define CONFIG_OSS_INDEV 0 +#define CONFIG_PULSE_INDEV 0 +#define CONFIG_QTKIT_INDEV 0 +#define CONFIG_SNDIO_INDEV 0 +#define CONFIG_V4L2_INDEV 0 +#define CONFIG_VFWCAP_INDEV 0 +#define CONFIG_X11GRAB_INDEV 0 +#define CONFIG_X11GRAB_XCB_INDEV 0 +#define CONFIG_LIBCDIO_INDEV 0 +#define CONFIG_LIBDC1394_INDEV 0 +#define CONFIG_A64_MUXER 0 +#define CONFIG_AC3_MUXER 0 +#define CONFIG_ADTS_MUXER 0 +#define CONFIG_ADX_MUXER 0 +#define CONFIG_AIFF_MUXER 0 +#define CONFIG_AMR_MUXER 0 +#define CONFIG_APNG_MUXER 0 +#define CONFIG_ASF_MUXER 0 +#define CONFIG_ASS_MUXER 0 +#define CONFIG_AST_MUXER 0 +#define CONFIG_ASF_STREAM_MUXER 0 +#define CONFIG_AU_MUXER 0 +#define CONFIG_AVI_MUXER 0 +#define CONFIG_AVM2_MUXER 0 +#define CONFIG_BIT_MUXER 0 +#define CONFIG_CAF_MUXER 0 +#define CONFIG_CAVSVIDEO_MUXER 0 +#define CONFIG_CRC_MUXER 0 +#define CONFIG_DASH_MUXER 0 +#define CONFIG_DATA_MUXER 0 +#define CONFIG_DAUD_MUXER 0 +#define CONFIG_DIRAC_MUXER 0 +#define CONFIG_DNXHD_MUXER 0 +#define CONFIG_DTS_MUXER 0 +#define CONFIG_DV_MUXER 0 +#define CONFIG_EAC3_MUXER 0 +#define CONFIG_F4V_MUXER 0 +#define CONFIG_FFM_MUXER 0 +#define CONFIG_FFMETADATA_MUXER 0 +#define CONFIG_FIFO_MUXER 0 +#define CONFIG_FILMSTRIP_MUXER 0 +#define CONFIG_FLAC_MUXER 0 +#define CONFIG_FLV_MUXER 0 +#define CONFIG_FRAMECRC_MUXER 0 +#define CONFIG_FRAMEHASH_MUXER 0 +#define CONFIG_FRAMEMD5_MUXER 0 +#define CONFIG_G722_MUXER 0 +#define CONFIG_G723_1_MUXER 0 +#define CONFIG_GIF_MUXER 0 +#define CONFIG_GSM_MUXER 0 +#define CONFIG_GXF_MUXER 0 +#define CONFIG_H261_MUXER 0 +#define CONFIG_H263_MUXER 0 +#define CONFIG_H264_MUXER 0 +#define CONFIG_HASH_MUXER 0 +#define CONFIG_HDS_MUXER 0 +#define CONFIG_HEVC_MUXER 0 +#define CONFIG_HLS_MUXER 0 +#define CONFIG_ICO_MUXER 0 +#define CONFIG_ILBC_MUXER 0 +#define CONFIG_IMAGE2_MUXER 0 +#define CONFIG_IMAGE2PIPE_MUXER 0 +#define CONFIG_IPOD_MUXER 0 +#define CONFIG_IRCAM_MUXER 0 +#define CONFIG_ISMV_MUXER 0 +#define CONFIG_IVF_MUXER 0 +#define CONFIG_JACOSUB_MUXER 0 +#define CONFIG_LATM_MUXER 0 +#define CONFIG_LRC_MUXER 0 +#define CONFIG_M4V_MUXER 0 +#define CONFIG_MD5_MUXER 0 +#define CONFIG_MATROSKA_MUXER 1 +#define CONFIG_MATROSKA_AUDIO_MUXER 0 +#define CONFIG_MICRODVD_MUXER 0 +#define CONFIG_MJPEG_MUXER 0 +#define CONFIG_MLP_MUXER 0 +#define CONFIG_MMF_MUXER 0 +#define CONFIG_MOV_MUXER 0 +#define CONFIG_MP2_MUXER 0 +#define CONFIG_MP3_MUXER 0 +#define CONFIG_MP4_MUXER 0 +#define CONFIG_MPEG1SYSTEM_MUXER 0 +#define CONFIG_MPEG1VCD_MUXER 0 +#define CONFIG_MPEG1VIDEO_MUXER 0 +#define CONFIG_MPEG2DVD_MUXER 0 +#define CONFIG_MPEG2SVCD_MUXER 0 +#define CONFIG_MPEG2VIDEO_MUXER 0 +#define CONFIG_MPEG2VOB_MUXER 0 +#define CONFIG_MPEGTS_MUXER 0 +#define CONFIG_MPJPEG_MUXER 0 +#define CONFIG_MXF_MUXER 0 +#define CONFIG_MXF_D10_MUXER 0 +#define CONFIG_MXF_OPATOM_MUXER 0 +#define CONFIG_NULL_MUXER 0 +#define CONFIG_NUT_MUXER 0 +#define CONFIG_OGA_MUXER 0 +#define CONFIG_OGG_MUXER 0 +#define CONFIG_OGV_MUXER 0 +#define CONFIG_OMA_MUXER 0 +#define CONFIG_OPUS_MUXER 0 +#define CONFIG_PCM_ALAW_MUXER 0 +#define CONFIG_PCM_MULAW_MUXER 0 +#define CONFIG_PCM_F64BE_MUXER 0 +#define CONFIG_PCM_F64LE_MUXER 0 +#define CONFIG_PCM_F32BE_MUXER 0 +#define CONFIG_PCM_F32LE_MUXER 0 +#define CONFIG_PCM_S32BE_MUXER 0 +#define CONFIG_PCM_S32LE_MUXER 0 +#define CONFIG_PCM_S24BE_MUXER 0 +#define CONFIG_PCM_S24LE_MUXER 0 +#define CONFIG_PCM_S16BE_MUXER 0 +#define CONFIG_PCM_S16LE_MUXER 0 +#define CONFIG_PCM_S8_MUXER 0 +#define CONFIG_PCM_U32BE_MUXER 0 +#define CONFIG_PCM_U32LE_MUXER 0 +#define CONFIG_PCM_U24BE_MUXER 0 +#define CONFIG_PCM_U24LE_MUXER 0 +#define CONFIG_PCM_U16BE_MUXER 0 +#define CONFIG_PCM_U16LE_MUXER 0 +#define CONFIG_PCM_U8_MUXER 0 +#define CONFIG_PSP_MUXER 0 +#define CONFIG_RAWVIDEO_MUXER 0 +#define CONFIG_RM_MUXER 0 +#define CONFIG_ROQ_MUXER 0 +#define CONFIG_RSO_MUXER 0 +#define CONFIG_RTP_MUXER 0 +#define CONFIG_RTP_MPEGTS_MUXER 0 +#define CONFIG_RTSP_MUXER 0 +#define CONFIG_SAP_MUXER 0 +#define CONFIG_SEGMENT_MUXER 0 +#define CONFIG_STREAM_SEGMENT_MUXER 0 +#define CONFIG_SINGLEJPEG_MUXER 0 +#define CONFIG_SMJPEG_MUXER 0 +#define CONFIG_SMOOTHSTREAMING_MUXER 0 +#define CONFIG_SOX_MUXER 0 +#define CONFIG_SPX_MUXER 0 +#define CONFIG_SPDIF_MUXER 1 +#define CONFIG_SRT_MUXER 0 +#define CONFIG_SWF_MUXER 0 +#define CONFIG_TEE_MUXER 0 +#define CONFIG_TG2_MUXER 0 +#define CONFIG_TGP_MUXER 0 +#define CONFIG_MKVTIMESTAMP_V2_MUXER 0 +#define CONFIG_TRUEHD_MUXER 0 +#define CONFIG_TTA_MUXER 0 +#define CONFIG_UNCODEDFRAMECRC_MUXER 0 +#define CONFIG_VC1_MUXER 0 +#define CONFIG_VC1T_MUXER 0 +#define CONFIG_VOC_MUXER 0 +#define CONFIG_W64_MUXER 0 +#define CONFIG_WAV_MUXER 0 +#define CONFIG_WEBM_MUXER 0 +#define CONFIG_WEBM_DASH_MANIFEST_MUXER 0 +#define CONFIG_WEBM_CHUNK_MUXER 0 +#define CONFIG_WEBP_MUXER 0 +#define CONFIG_WEBVTT_MUXER 0 +#define CONFIG_WTV_MUXER 0 +#define CONFIG_WV_MUXER 0 +#define CONFIG_YUV4MPEGPIPE_MUXER 0 +#define CONFIG_CHROMAPRINT_MUXER 0 +#define CONFIG_LIBNUT_MUXER 0 +#define CONFIG_ALSA_OUTDEV 0 +#define CONFIG_CACA_OUTDEV 0 +#define CONFIG_DECKLINK_OUTDEV 0 +#define CONFIG_FBDEV_OUTDEV 0 +#define CONFIG_OPENGL_OUTDEV 0 +#define CONFIG_OSS_OUTDEV 0 +#define CONFIG_PULSE_OUTDEV 0 +#define CONFIG_SDL2_OUTDEV 0 +#define CONFIG_SNDIO_OUTDEV 0 +#define CONFIG_V4L2_OUTDEV 0 +#define CONFIG_XV_OUTDEV 0 +#define CONFIG_AAC_PARSER 1 +#define CONFIG_AAC_LATM_PARSER 0 +#define CONFIG_AC3_PARSER 1 +#define CONFIG_ADX_PARSER 0 +#define CONFIG_BMP_PARSER 0 +#define CONFIG_CAVSVIDEO_PARSER 0 +#define CONFIG_COOK_PARSER 0 +#define CONFIG_DCA_PARSER 0 +#define CONFIG_DIRAC_PARSER 0 +#define CONFIG_DNXHD_PARSER 0 +#define CONFIG_DPX_PARSER 0 +#define CONFIG_DVAUDIO_PARSER 0 +#define CONFIG_DVBSUB_PARSER 0 +#define CONFIG_DVDSUB_PARSER 0 +#define CONFIG_DVD_NAV_PARSER 0 +#define CONFIG_FLAC_PARSER 1 +#define CONFIG_G729_PARSER 0 +#define CONFIG_GSM_PARSER 0 +#define CONFIG_H261_PARSER 0 +#define CONFIG_H263_PARSER 1 +#define CONFIG_H264_PARSER 1 +#define CONFIG_HEVC_PARSER 0 +#define CONFIG_MJPEG_PARSER 0 +#define CONFIG_MLP_PARSER 0 +#define CONFIG_MPEG4VIDEO_PARSER 1 +#define CONFIG_MPEGAUDIO_PARSER 1 +#define CONFIG_MPEGVIDEO_PARSER 1 +#define CONFIG_OPUS_PARSER 0 +#define CONFIG_PNG_PARSER 0 +#define CONFIG_PNM_PARSER 0 +#define CONFIG_RV30_PARSER 0 +#define CONFIG_RV40_PARSER 0 +#define CONFIG_TAK_PARSER 0 +#define CONFIG_VC1_PARSER 0 +#define CONFIG_VORBIS_PARSER 0 +#define CONFIG_VP3_PARSER 0 +#define CONFIG_VP8_PARSER 0 +#define CONFIG_VP9_PARSER 0 +#define CONFIG_ASYNC_PROTOCOL 0 +#define CONFIG_BLURAY_PROTOCOL 0 +#define CONFIG_CACHE_PROTOCOL 0 +#define CONFIG_CONCAT_PROTOCOL 0 +#define CONFIG_CRYPTO_PROTOCOL 0 +#define CONFIG_DATA_PROTOCOL 0 +#define CONFIG_FFRTMPCRYPT_PROTOCOL 0 +#define CONFIG_FFRTMPHTTP_PROTOCOL 0 +#define CONFIG_FILE_PROTOCOL 1 +#define CONFIG_FTP_PROTOCOL 0 +#define CONFIG_GOPHER_PROTOCOL 0 +#define CONFIG_HLS_PROTOCOL 0 +#define CONFIG_HTTP_PROTOCOL 1 +#define CONFIG_HTTPPROXY_PROTOCOL 0 +#define CONFIG_HTTPS_PROTOCOL 1 +#define CONFIG_ICECAST_PROTOCOL 0 +#define CONFIG_MMSH_PROTOCOL 0 +#define CONFIG_MMST_PROTOCOL 0 +#define CONFIG_MD5_PROTOCOL 0 +#define CONFIG_PIPE_PROTOCOL 0 +#define CONFIG_RTMP_PROTOCOL 0 +#define CONFIG_RTMPE_PROTOCOL 0 +#define CONFIG_RTMPS_PROTOCOL 0 +#define CONFIG_RTMPT_PROTOCOL 0 +#define CONFIG_RTMPTE_PROTOCOL 0 +#define CONFIG_RTMPTS_PROTOCOL 0 +#define CONFIG_RTP_PROTOCOL 0 +#define CONFIG_SCTP_PROTOCOL 0 +#define CONFIG_SRTP_PROTOCOL 0 +#define CONFIG_SUBFILE_PROTOCOL 0 +#define CONFIG_TEE_PROTOCOL 0 +#define CONFIG_TCP_PROTOCOL 1 +#define CONFIG_TLS_GNUTLS_PROTOCOL 0 +#define CONFIG_TLS_SCHANNEL_PROTOCOL 0 +#define CONFIG_TLS_SECURETRANSPORT_PROTOCOL 0 +#define CONFIG_TLS_OPENSSL_PROTOCOL 1 +#define CONFIG_UDP_PROTOCOL 0 +#define CONFIG_UDPLITE_PROTOCOL 0 +#define CONFIG_UNIX_PROTOCOL 0 +#define CONFIG_LIBRTMP_PROTOCOL 0 +#define CONFIG_LIBRTMPE_PROTOCOL 0 +#define CONFIG_LIBRTMPS_PROTOCOL 0 +#define CONFIG_LIBRTMPT_PROTOCOL 0 +#define CONFIG_LIBRTMPTE_PROTOCOL 0 +#define CONFIG_LIBSSH_PROTOCOL 0 +#define CONFIG_LIBSMBCLIENT_PROTOCOL 0 diff --git a/pkg/ffmpeg/patch/0001-version.sh-Replace-all-slashes.patch b/pkg/ffmpeg/patch/0001-version.sh-Replace-all-slashes.patch new file mode 100644 index 00000000..79c67461 --- /dev/null +++ b/pkg/ffmpeg/patch/0001-version.sh-Replace-all-slashes.patch @@ -0,0 +1,25 @@ +From 32670e637b460f04d48067174f52ba2f1beb2a45 Mon Sep 17 00:00:00 2001 +From: Michael Forney +Date: Sat, 2 Jul 2016 11:58:07 -0700 +Subject: [PATCH] version.sh: Replace all slashes + +--- + version.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/version.sh b/version.sh +index edc4dd3..331aa38 100755 +--- a/version.sh ++++ b/version.sh +@@ -49,7 +49,7 @@ NEW_REVISION="#define FFMPEG_VERSION \"$version\"" + OLD_REVISION=$(cat "$2" 2> /dev/null | head -4 | tail -1) + + # String used for preprocessor guard +-GUARD=$(echo "$2" | sed 's/\//_/' | sed 's/\./_/' | tr '[:lower:]' '[:upper:]' | sed 's/LIB//') ++GUARD=$(echo "$2" | sed 's/\//_/g' | sed 's/\./_/' | tr '[:lower:]' '[:upper:]' | sed 's/LIB//') + + # Update version header only on revision changes to avoid spurious rebuilds + if test "$NEW_REVISION" != "$OLD_REVISION"; then +-- +2.9.0 + diff --git a/pkg/ffmpeg/patch/0002-Fix-build-with-LibreSSL.patch b/pkg/ffmpeg/patch/0002-Fix-build-with-LibreSSL.patch new file mode 100644 index 00000000..d6b67728 --- /dev/null +++ b/pkg/ffmpeg/patch/0002-Fix-build-with-LibreSSL.patch @@ -0,0 +1,71 @@ +From cfe9464c798d231d389053ba3b8f9b49ac0a578b Mon Sep 17 00:00:00 2001 +From: Michael Forney +Date: Fri, 28 Oct 2016 00:33:53 -0700 +Subject: [PATCH] Fix build with LibreSSL + +Signed-off-by: Michael Forney +--- + libavformat/tls_openssl.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/libavformat/tls_openssl.c b/libavformat/tls_openssl.c +index c551ac7..9712856 100644 +--- a/libavformat/tls_openssl.c ++++ b/libavformat/tls_openssl.c +@@ -43,7 +43,7 @@ typedef struct TLSContext { + TLSShared tls_shared; + SSL_CTX *ctx; + SSL *ssl; +-#if OPENSSL_VERSION_NUMBER >= 0x1010000fL ++#if OPENSSL_VERSION_NUMBER >= 0x1010000fL && !defined(LIBRESSL_VERSION_NUMBER) + BIO_METHOD* url_bio_method; + #endif + } TLSContext; +@@ -68,7 +68,7 @@ static unsigned long openssl_thread_id(void) + + static int url_bio_create(BIO *b) + { +-#if OPENSSL_VERSION_NUMBER >= 0x1010000fL ++#if OPENSSL_VERSION_NUMBER >= 0x1010000fL && !defined(LIBRESSL_VERSION_NUMBER) + BIO_set_init(b, 1); + BIO_set_data(b, NULL); + BIO_set_flags(b, 0); +@@ -85,7 +85,7 @@ static int url_bio_destroy(BIO *b) + return 1; + } + +-#if OPENSSL_VERSION_NUMBER >= 0x1010000fL ++#if OPENSSL_VERSION_NUMBER >= 0x1010000fL && !defined(LIBRESSL_VERSION_NUMBER) + #define GET_BIO_DATA(x) BIO_get_data(x); + #else + #define GET_BIO_DATA(x) (x)->ptr; +@@ -133,7 +133,7 @@ static int url_bio_bputs(BIO *b, const char *str) + return url_bio_bwrite(b, str, strlen(str)); + } + +-#if OPENSSL_VERSION_NUMBER < 0x1010000fL ++#if OPENSSL_VERSION_NUMBER < 0x1010000fL || defined(LIBRESSL_VERSION_NUMBER) + static BIO_METHOD url_bio_method = { + .type = BIO_TYPE_SOURCE_SINK, + .name = "urlprotocol bio", +@@ -212,7 +212,7 @@ static int tls_close(URLContext *h) + SSL_CTX_free(c->ctx); + if (c->tls_shared.tcp) + ffurl_close(c->tls_shared.tcp); +-#if OPENSSL_VERSION_NUMBER >= 0x1010000fL ++#if OPENSSL_VERSION_NUMBER >= 0x1010000fL && !defined(LIBRESSL_VERSION_NUMBER) + if (c->url_bio_method) + BIO_meth_free(c->url_bio_method); + #endif +@@ -265,7 +265,7 @@ static int tls_open(URLContext *h, const char *uri, int flags, AVDictionary **op + ret = AVERROR(EIO); + goto fail; + } +-#if OPENSSL_VERSION_NUMBER >= 0x1010000fL ++#if OPENSSL_VERSION_NUMBER >= 0x1010000fL && !defined(LIBRESSL_VERSION_NUMBER) + p->url_bio_method = BIO_meth_new(BIO_TYPE_SOURCE_SINK, "urlprotocol bio"); + BIO_meth_set_write(p->url_bio_method, url_bio_bwrite); + BIO_meth_set_read(p->url_bio_method, url_bio_bread); +-- +2.10.2 + diff --git a/pkg/ffmpeg/protocols.awk b/pkg/ffmpeg/protocols.awk new file mode 100644 index 00000000..fb0bab68 --- /dev/null +++ b/pkg/ffmpeg/protocols.awk @@ -0,0 +1,59 @@ +/^#define/ && $3 { + cfg[$2] = 1 +} + +func proto(name) { + if (cfg["CONFIG_" toupper(name) "_PROTOCOL"]) + print "&ff_" name "_protocol," +} + +END { + print "static const URLProtocol *url_protocols[] = {" + proto("async") + proto("bluray") + proto("cache") + proto("concat") + proto("crypto") + proto("data") + proto("ffrtmpcrypt") + proto("ffrtmphttp") + proto("file") + proto("ftp") + proto("gopher") + proto("hls") + proto("http") + proto("httpproxy") + proto("https") + proto("icecast") + proto("mmsh") + proto("mmst") + proto("md5") + proto("pipe") + proto("rtmp") + proto("rtmpe") + proto("rtmps") + proto("rtmpt") + proto("rtmpte") + proto("rtmpts") + proto("rtp") + proto("sctp") + proto("srtp") + proto("subfile") + proto("tee") + proto("tcp") + proto("tls_gnutls") + proto("tls_schannel") + proto("tls_securetransport") + proto("tls_openssl") + proto("udp") + proto("udplite") + proto("unix") + proto("librtmp") + proto("librtmpe") + proto("librtmps") + proto("librtmpt") + proto("librtmpte") + proto("libssh") + proto("libsmbclient") + print "NULL};" +} diff --git a/pkg/ffmpeg/rev b/pkg/ffmpeg/rev new file mode 100644 index 00000000..7f8f011e --- /dev/null +++ b/pkg/ffmpeg/rev @@ -0,0 +1 @@ +7 diff --git a/pkg/ffmpeg/scripts/README.md b/pkg/ffmpeg/scripts/README.md new file mode 100644 index 00000000..344e246a --- /dev/null +++ b/pkg/ffmpeg/scripts/README.md @@ -0,0 +1,15 @@ +To generate `sources.txt`, first run configure ffmpeg + + ../src/configure + +Then, generate `vars.txt` from config.asm + + awk '{print $2}' config.asm >vars.txt + +Build `sources.txt` from vars.txt and ffmpeg's `Makefile`s + + make -f sources.mk >../sources.txt + +Finally, clean up what `./configure` left behind + + git clean -df . diff --git a/pkg/ffmpeg/scripts/sources.mk b/pkg/ffmpeg/scripts/sources.mk new file mode 100644 index 00000000..8e0d363e --- /dev/null +++ b/pkg/ffmpeg/scripts/sources.mk @@ -0,0 +1,36 @@ +VARS := $(file < vars.txt) + +DIRS :=\ + libavcodec\ + libavdevice\ + libavfilter\ + libavformat\ + libavutil\ + libswresample\ + libswscale + +ARCHS :=\ + x86 + +define printsrcs + @echo $(1) $(foreach dir,$(DIRS),\ + $(OBJS-$(1)/$(dir):%.o=$(dir)/%.c)\ + $(MMX-OBJS-$(1)/$(dir):%.o=$(dir)/%.c)\ + $(YASM-OBJS-$(1)/$(dir):%.o=$(dir)/%.asm)\ + ) + +endef + +.PHONY: all +all: vars.txt + $(foreach var,$(VARS),$(call printsrcs,$(var))) + +define subdir + $(foreach var,$(VARS),$(eval $(var):=$(var)/$(1))) + include ../src/$(1)/Makefile + $(foreach arch,$(ARCHS), + -include ../src/$(1)/$(arch)/Makefile + ) +endef + +$(foreach dir,$(DIRS),$(eval $(call subdir,$(dir)))) diff --git a/pkg/ffmpeg/scripts/sources.rc b/pkg/ffmpeg/scripts/sources.rc new file mode 100755 index 00000000..d963e714 --- /dev/null +++ b/pkg/ffmpeg/scripts/sources.rc @@ -0,0 +1,9 @@ +#!/bin/rc + +flag e + +flag x + + +../src/configure >/dev/null +awk '{print $2}' config.asm >vars.txt +make -f sources.mk >../sources.txt +git clean -df . diff --git a/pkg/ffmpeg/sources.awk b/pkg/ffmpeg/sources.awk new file mode 100644 index 00000000..1688cb5f --- /dev/null +++ b/pkg/ffmpeg/sources.awk @@ -0,0 +1,14 @@ +/^#define/ && $3 { + cfg[$2] = 1 +} + +END { + while (getline < sources) { + if (!cfg[$1]) + continue + for (i = 2; i <= NF; ++i) { + if (match($i, "^" lib "/(" arch "/)?[^/]*$")) + print substr($i, length(lib) + 2) + } + } +} diff --git a/pkg/ffmpeg/sources.txt b/pkg/ffmpeg/sources.txt new file mode 100644 index 00000000..31cf1b48 --- /dev/null +++ b/pkg/ffmpeg/sources.txt @@ -0,0 +1,2213 @@ +ARCH_AARCH64 +ARCH_ALPHA +ARCH_ARM +ARCH_AVR32 +ARCH_AVR32_AP +ARCH_AVR32_UC +ARCH_BFIN +ARCH_IA64 +ARCH_M68K +ARCH_MIPS +ARCH_MIPS64 +ARCH_PARISC +ARCH_PPC +ARCH_PPC64 +ARCH_S390 +ARCH_SH4 +ARCH_SPARC +ARCH_SPARC64 +ARCH_TILEGX +ARCH_TILEPRO +ARCH_TOMI +ARCH_X86 +ARCH_X86_32 +ARCH_X86_64 +HAVE_ARMV5TE +HAVE_ARMV6 +HAVE_ARMV6T2 +HAVE_ARMV8 +HAVE_NEON +HAVE_VFP +HAVE_VFPV3 +HAVE_SETEND +HAVE_ALTIVEC +HAVE_DCBZL +HAVE_LDBRX +HAVE_POWER8 +HAVE_PPC4XX +HAVE_VSX +HAVE_AESNI +HAVE_AMD3DNOW +HAVE_AMD3DNOWEXT +HAVE_AVX +HAVE_AVX2 +HAVE_FMA3 +HAVE_FMA4 +HAVE_MMX +HAVE_MMXEXT +HAVE_SSE +HAVE_SSE2 +HAVE_SSE3 +HAVE_SSE4 +HAVE_SSE42 +HAVE_SSSE3 +HAVE_XOP +HAVE_CPUNOP +HAVE_I686 +HAVE_MIPSFPU +HAVE_MIPS32R2 +HAVE_MIPS32R5 +HAVE_MIPS64R2 +HAVE_MIPS32R6 +HAVE_MIPS64R6 +HAVE_MIPSDSP +HAVE_MIPSDSPR2 +HAVE_MSA +HAVE_LOONGSON2 +HAVE_LOONGSON3 +HAVE_MMI +HAVE_ARMV5TE_EXTERNAL +HAVE_ARMV6_EXTERNAL +HAVE_ARMV6T2_EXTERNAL +HAVE_ARMV8_EXTERNAL +HAVE_NEON_EXTERNAL +HAVE_VFP_EXTERNAL +HAVE_VFPV3_EXTERNAL +HAVE_SETEND_EXTERNAL +HAVE_ALTIVEC_EXTERNAL +HAVE_DCBZL_EXTERNAL +HAVE_LDBRX_EXTERNAL +HAVE_POWER8_EXTERNAL +HAVE_PPC4XX_EXTERNAL +HAVE_VSX_EXTERNAL +HAVE_AESNI_EXTERNAL +HAVE_AMD3DNOW_EXTERNAL +HAVE_AMD3DNOWEXT_EXTERNAL +HAVE_AVX_EXTERNAL +HAVE_AVX2_EXTERNAL +HAVE_FMA3_EXTERNAL +HAVE_FMA4_EXTERNAL +HAVE_MMX_EXTERNAL +HAVE_MMXEXT_EXTERNAL +HAVE_SSE_EXTERNAL +HAVE_SSE2_EXTERNAL +HAVE_SSE3_EXTERNAL +HAVE_SSE4_EXTERNAL +HAVE_SSE42_EXTERNAL +HAVE_SSSE3_EXTERNAL +HAVE_XOP_EXTERNAL +HAVE_CPUNOP_EXTERNAL +HAVE_I686_EXTERNAL +HAVE_MIPSFPU_EXTERNAL +HAVE_MIPS32R2_EXTERNAL +HAVE_MIPS32R5_EXTERNAL +HAVE_MIPS64R2_EXTERNAL +HAVE_MIPS32R6_EXTERNAL +HAVE_MIPS64R6_EXTERNAL +HAVE_MIPSDSP_EXTERNAL +HAVE_MIPSDSPR2_EXTERNAL +HAVE_MSA_EXTERNAL +HAVE_LOONGSON2_EXTERNAL +HAVE_LOONGSON3_EXTERNAL +HAVE_MMI_EXTERNAL +HAVE_ARMV5TE_INLINE +HAVE_ARMV6_INLINE +HAVE_ARMV6T2_INLINE +HAVE_ARMV8_INLINE +HAVE_NEON_INLINE +HAVE_VFP_INLINE +HAVE_VFPV3_INLINE +HAVE_SETEND_INLINE +HAVE_ALTIVEC_INLINE +HAVE_DCBZL_INLINE +HAVE_LDBRX_INLINE +HAVE_POWER8_INLINE +HAVE_PPC4XX_INLINE +HAVE_VSX_INLINE +HAVE_AESNI_INLINE +HAVE_AMD3DNOW_INLINE +HAVE_AMD3DNOWEXT_INLINE +HAVE_AVX_INLINE +HAVE_AVX2_INLINE +HAVE_FMA3_INLINE +HAVE_FMA4_INLINE +HAVE_MMX_INLINE +HAVE_MMXEXT_INLINE +HAVE_SSE_INLINE +HAVE_SSE2_INLINE +HAVE_SSE3_INLINE +HAVE_SSE4_INLINE +HAVE_SSE42_INLINE +HAVE_SSSE3_INLINE +HAVE_XOP_INLINE +HAVE_CPUNOP_INLINE +HAVE_I686_INLINE +HAVE_MIPSFPU_INLINE +HAVE_MIPS32R2_INLINE +HAVE_MIPS32R5_INLINE +HAVE_MIPS64R2_INLINE +HAVE_MIPS32R6_INLINE +HAVE_MIPS64R6_INLINE +HAVE_MIPSDSP_INLINE +HAVE_MIPSDSPR2_INLINE +HAVE_MSA_INLINE +HAVE_LOONGSON2_INLINE +HAVE_LOONGSON3_INLINE +HAVE_MMI_INLINE +HAVE_ALIGNED_STACK +HAVE_FAST_64BIT +HAVE_FAST_CLZ +HAVE_FAST_CMOV +HAVE_LOCAL_ALIGNED_8 +HAVE_LOCAL_ALIGNED_16 +HAVE_LOCAL_ALIGNED_32 +HAVE_SIMD_ALIGN_16 +HAVE_ATOMICS_GCC +HAVE_ATOMICS_SUNCC +HAVE_ATOMICS_WIN32 +HAVE_ATOMIC_CAS_PTR +HAVE_ATOMIC_COMPARE_EXCHANGE +HAVE_MACHINE_RW_BARRIER +HAVE_MEMORYBARRIER +HAVE_MM_EMPTY +HAVE_RDTSC +HAVE_SARESTART +HAVE_SEM_TIMEDWAIT +HAVE_SYNC_VAL_COMPARE_AND_SWAP +HAVE_CABS +HAVE_CEXP +HAVE_INLINE_ASM +HAVE_SYMVER +HAVE_YASM +HAVE_BIGENDIAN +HAVE_FAST_UNALIGNED +HAVE_ALSA_ASOUNDLIB_H +HAVE_ALTIVEC_H +HAVE_ARPA_INET_H +HAVE_ASM_TYPES_H +HAVE_CDIO_PARANOIA_H +HAVE_CDIO_PARANOIA_PARANOIA_H +HAVE_DISPATCH_DISPATCH_H +HAVE_DEV_BKTR_IOCTL_BT848_H +HAVE_DEV_BKTR_IOCTL_METEOR_H +HAVE_DEV_IC_BT8XX_H +HAVE_DEV_VIDEO_BKTR_IOCTL_BT848_H +HAVE_DEV_VIDEO_METEOR_IOCTL_METEOR_H +HAVE_DIRECT_H +HAVE_DIRENT_H +HAVE_DLFCN_H +HAVE_D3D11_H +HAVE_DXVA_H +HAVE_ES2_GL_H +HAVE_GSM_H +HAVE_IO_H +HAVE_MACH_MACH_TIME_H +HAVE_MACHINE_IOCTL_BT848_H +HAVE_MACHINE_IOCTL_METEOR_H +HAVE_MALLOC_H +HAVE_OPENCV2_CORE_CORE_C_H +HAVE_OPENJPEG_2_1_OPENJPEG_H +HAVE_OPENJPEG_2_0_OPENJPEG_H +HAVE_OPENJPEG_1_5_OPENJPEG_H +HAVE_OPENGL_GL3_H +HAVE_POLL_H +HAVE_SNDIO_H +HAVE_SOUNDCARD_H +HAVE_SYS_MMAN_H +HAVE_SYS_PARAM_H +HAVE_SYS_RESOURCE_H +HAVE_SYS_SELECT_H +HAVE_SYS_SOUNDCARD_H +HAVE_SYS_TIME_H +HAVE_SYS_UN_H +HAVE_SYS_VIDEOIO_H +HAVE_TERMIOS_H +HAVE_UDPLITE_H +HAVE_UNISTD_H +HAVE_VALGRIND_VALGRIND_H +HAVE_WINDOWS_H +HAVE_WINSOCK2_H +HAVE_INTRINSICS_NEON +HAVE_ATANF +HAVE_ATAN2F +HAVE_CBRT +HAVE_CBRTF +HAVE_COPYSIGN +HAVE_COSF +HAVE_ERF +HAVE_EXP2 +HAVE_EXP2F +HAVE_EXPF +HAVE_HYPOT +HAVE_ISFINITE +HAVE_ISINF +HAVE_ISNAN +HAVE_LDEXPF +HAVE_LLRINT +HAVE_LLRINTF +HAVE_LOG2 +HAVE_LOG2F +HAVE_LOG10F +HAVE_LRINT +HAVE_LRINTF +HAVE_POWF +HAVE_RINT +HAVE_ROUND +HAVE_ROUNDF +HAVE_SINF +HAVE_TRUNC +HAVE_TRUNCF +HAVE_ACCESS +HAVE_ALIGNED_MALLOC +HAVE_ARC4RANDOM +HAVE_CLOCK_GETTIME +HAVE_CLOSESOCKET +HAVE_COMMANDLINETOARGVW +HAVE_COTASKMEMFREE +HAVE_CRYPTGENRANDOM +HAVE_DLOPEN +HAVE_FCNTL +HAVE_FLT_LIM +HAVE_FORK +HAVE_GETADDRINFO +HAVE_GETHRTIME +HAVE_GETOPT +HAVE_GETPROCESSAFFINITYMASK +HAVE_GETPROCESSMEMORYINFO +HAVE_GETPROCESSTIMES +HAVE_GETRUSAGE +HAVE_GETSYSTEMTIMEASFILETIME +HAVE_GETTIMEOFDAY +HAVE_GLOB +HAVE_GLXGETPROCADDRESS +HAVE_GMTIME_R +HAVE_INET_ATON +HAVE_ISATTY +HAVE_JACK_PORT_GET_LATENCY_RANGE +HAVE_KBHIT +HAVE_LOADLIBRARY +HAVE_LOCALTIME_R +HAVE_LSTAT +HAVE_LZO1X_999_COMPRESS +HAVE_MACH_ABSOLUTE_TIME +HAVE_MAPVIEWOFFILE +HAVE_MEMALIGN +HAVE_MKSTEMP +HAVE_MMAP +HAVE_MPROTECT +HAVE_NANOSLEEP +HAVE_PEEKNAMEDPIPE +HAVE_POSIX_MEMALIGN +HAVE_PTHREAD_CANCEL +HAVE_SCHED_GETAFFINITY +HAVE_SETCONSOLETEXTATTRIBUTE +HAVE_SETCONSOLECTRLHANDLER +HAVE_SETMODE +HAVE_SETRLIMIT +HAVE_SLEEP +HAVE_STRERROR_R +HAVE_SYSCONF +HAVE_SYSCTL +HAVE_USLEEP +HAVE_UTGETOSTYPEFROMSTRING +HAVE_VIRTUALALLOC +HAVE_WGLGETPROCADDRESS +HAVE_PTHREADS +HAVE_OS2THREADS +HAVE_W32THREADS +HAVE_AS_DN_DIRECTIVE +HAVE_AS_FUNC +HAVE_AS_OBJECT_ARCH +HAVE_ASM_MOD_Q +HAVE_ATTRIBUTE_MAY_ALIAS +HAVE_ATTRIBUTE_PACKED +HAVE_EBP_AVAILABLE +HAVE_EBX_AVAILABLE +HAVE_GNU_AS +HAVE_GNU_WINDRES +HAVE_IBM_ASM +HAVE_INLINE_ASM_DIRECT_SYMBOL_REFS +HAVE_INLINE_ASM_LABELS +HAVE_INLINE_ASM_NONLOCAL_LABELS +HAVE_PRAGMA_DEPRECATED +HAVE_RSYNC_CONTIMEOUT +HAVE_SYMVER_ASM_LABEL +HAVE_SYMVER_GNU_ASM +HAVE_VFP_ARGS +HAVE_XFORM_ASM +HAVE_XMM_CLOBBERS +HAVE_CONDITION_VARIABLE_PTR +HAVE_SOCKLEN_T +HAVE_STRUCT_ADDRINFO +HAVE_STRUCT_GROUP_SOURCE_REQ +HAVE_STRUCT_IP_MREQ_SOURCE +HAVE_STRUCT_IPV6_MREQ +HAVE_STRUCT_MSGHDR_MSG_FLAGS +HAVE_STRUCT_POLLFD +HAVE_STRUCT_RUSAGE_RU_MAXRSS +HAVE_STRUCT_SCTP_EVENT_SUBSCRIBE +HAVE_STRUCT_SOCKADDR_IN6 +HAVE_STRUCT_SOCKADDR_SA_LEN +HAVE_STRUCT_SOCKADDR_STORAGE +HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC +HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE +HAVE_ATOMICS_NATIVE +HAVE_DOS_PATHS +HAVE_DXVA2_LIB +HAVE_DXVA2API_COBJ +HAVE_LIBC_MSVCRT libavcodec/file_open.c libavdevice/file_open.c libavformat/file_open.c +HAVE_LIBDC1394_1 +HAVE_LIBDC1394_2 +HAVE_MAKEINFO +HAVE_MAKEINFO_HTML +HAVE_MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS +HAVE_PERL +HAVE_POD2MAN +HAVE_SDL2 +HAVE_SECTION_DATA_REL_RO +HAVE_TEXI2HTML +HAVE_THREADS libavcodec/pthread.c libavcodec/pthread_slice.c libavcodec/pthread_frame.c libavfilter/pthread.c +HAVE_VAAPI_DRM +HAVE_VAAPI_X11 +HAVE_VDPAU_X11 +HAVE_WINRT +HAVE_XLIB +CONFIG_BSFS +CONFIG_DECODERS +CONFIG_ENCODERS +CONFIG_HWACCELS +CONFIG_PARSERS +CONFIG_INDEVS +CONFIG_OUTDEVS +CONFIG_FILTERS +CONFIG_DEMUXERS +CONFIG_MUXERS +CONFIG_PROTOCOLS +CONFIG_DOC +CONFIG_HTMLPAGES +CONFIG_MANPAGES +CONFIG_PODPAGES +CONFIG_TXTPAGES +CONFIG_AVIO_DIR_CMD_EXAMPLE +CONFIG_AVIO_READING_EXAMPLE +CONFIG_DECODING_ENCODING_EXAMPLE +CONFIG_DEMUXING_DECODING_EXAMPLE +CONFIG_EXTRACT_MVS_EXAMPLE +CONFIG_FILTER_AUDIO_EXAMPLE +CONFIG_FILTERING_AUDIO_EXAMPLE +CONFIG_FILTERING_VIDEO_EXAMPLE +CONFIG_HTTP_MULTICLIENT_EXAMPLE +CONFIG_METADATA_EXAMPLE +CONFIG_MUXING_EXAMPLE +CONFIG_QSVDEC_EXAMPLE +CONFIG_REMUXING_EXAMPLE +CONFIG_RESAMPLING_AUDIO_EXAMPLE +CONFIG_SCALING_VIDEO_EXAMPLE +CONFIG_TRANSCODE_AAC_EXAMPLE +CONFIG_TRANSCODING_EXAMPLE +CONFIG_AVISYNTH libavformat/avisynth.c +CONFIG_BZLIB +CONFIG_CHROMAPRINT +CONFIG_CRYSTALHD libavcodec/crystalhd.c +CONFIG_DECKLINK +CONFIG_FREI0R +CONFIG_GCRYPT +CONFIG_GMP +CONFIG_GNUTLS +CONFIG_ICONV +CONFIG_JNI libavcodec/ffjni.c libavcodec/jni.c +CONFIG_LADSPA +CONFIG_LIBASS +CONFIG_LIBBLURAY +CONFIG_LIBBS2B +CONFIG_LIBCACA +CONFIG_LIBCDIO +CONFIG_LIBCELT +CONFIG_LIBDC1394 +CONFIG_LIBEBUR128 +CONFIG_LIBFDK_AAC +CONFIG_LIBFLITE +CONFIG_LIBFONTCONFIG +CONFIG_LIBFREETYPE +CONFIG_LIBFRIBIDI +CONFIG_LIBGME +CONFIG_LIBGSM +CONFIG_LIBIEC61883 +CONFIG_LIBILBC +CONFIG_LIBKVAZAAR +CONFIG_LIBMODPLUG +CONFIG_LIBMP3LAME +CONFIG_LIBNUT +CONFIG_LIBOPENCORE_AMRNB +CONFIG_LIBOPENCORE_AMRWB +CONFIG_LIBOPENCV +CONFIG_LIBOPENH264 +CONFIG_LIBOPENJPEG +CONFIG_LIBOPENMPT +CONFIG_LIBOPUS +CONFIG_LIBPULSE +CONFIG_LIBRTMP libavformat/librtmp.c +CONFIG_LIBRUBBERBAND +CONFIG_LIBSCHROEDINGER +CONFIG_LIBSHINE +CONFIG_LIBSMBCLIENT +CONFIG_LIBSNAPPY +CONFIG_LIBSOXR libswresample/soxr_resample.c +CONFIG_LIBSPEEX +CONFIG_LIBSSH +CONFIG_LIBTESSERACT +CONFIG_LIBTHEORA +CONFIG_LIBTWOLAME +CONFIG_LIBV4L2 +CONFIG_LIBVIDSTAB +CONFIG_LIBVO_AMRWBENC +CONFIG_LIBVORBIS +CONFIG_LIBVPX +CONFIG_LIBWAVPACK +CONFIG_LIBWEBP +CONFIG_LIBX264 +CONFIG_LIBX265 +CONFIG_LIBXAVS +CONFIG_LIBXCB +CONFIG_LIBXCB_SHM +CONFIG_LIBXCB_SHAPE +CONFIG_LIBXCB_XFIXES +CONFIG_LIBXVID libavcodec/libxvid_rc.c +CONFIG_LIBZIMG +CONFIG_LIBZMQ +CONFIG_LIBZVBI +CONFIG_LZMA +CONFIG_MEDIACODEC libavcodec/mediacodecdec_common.c libavcodec/mediacodec_surface.c libavcodec/mediacodec_wrapper.c libavcodec/mediacodec_sw_buffer.c +CONFIG_NETCDF +CONFIG_OPENAL +CONFIG_OPENCL libavfilter/deshake_opencl.c libavfilter/unsharp_opencl.c libavutil/opencl.c libavutil/opencl_internal.c +CONFIG_OPENGL +CONFIG_OPENSSL +CONFIG_SCHANNEL +CONFIG_SDL +CONFIG_SDL2 +CONFIG_SECURETRANSPORT +CONFIG_VIDEOTOOLBOX libavcodec/videotoolbox.c +CONFIG_X11GRAB +CONFIG_XLIB +CONFIG_ZLIB +CONFIG_AUDIOTOOLBOX +CONFIG_CUDA libavutil/hwcontext_cuda.c +CONFIG_CUVID +CONFIG_D3D11VA libavcodec/dxva2.c +CONFIG_DXVA2 libavcodec/dxva2.c libavutil/hwcontext_dxva2.c +CONFIG_LIBMFX +CONFIG_LIBNPP +CONFIG_MMAL +CONFIG_NVENC libavcodec/nvenc.c +CONFIG_OMX +CONFIG_VAAPI libavcodec/vaapi.c libavutil/hwcontext_vaapi.c +CONFIG_VDA libavcodec/vda.c libavcodec/videotoolbox.c +CONFIG_VDPAU libavcodec/vdpau.c libavutil/hwcontext_vdpau.c +CONFIG_VIDEOTOOLBOX_HWACCEL +CONFIG_XVMC +CONFIG_FTRAPV +CONFIG_GRAY +CONFIG_HARDCODED_TABLES +CONFIG_OMX_RPI +CONFIG_RUNTIME_CPUDETECT +CONFIG_SAFE_BITSTREAM_READER +CONFIG_SHARED libavcodec/log2_tab.c libavcodec/reverse.c libavfilter/log2_tab.c libavformat/log2_tab.c libavformat/golomb_tab.c libswresample/log2_tab.c libswscale/log2_tab.c +CONFIG_SMALL +CONFIG_STATIC +CONFIG_SWSCALE_ALPHA +CONFIG_GPL +CONFIG_NONFREE +CONFIG_VERSION3 +CONFIG_AVCODEC +CONFIG_AVDEVICE +CONFIG_AVFILTER +CONFIG_AVFORMAT +CONFIG_AVRESAMPLE +CONFIG_AVUTIL +CONFIG_POSTPROC +CONFIG_SWRESAMPLE +CONFIG_SWSCALE +CONFIG_FFPLAY +CONFIG_FFPROBE +CONFIG_FFSERVER +CONFIG_FFMPEG +CONFIG_DCT libavcodec/dct.c libavcodec/dct32_fixed.c libavcodec/dct32_float.c libavcodec/x86/dct_init.c libavcodec/x86/dct32.asm +CONFIG_DWT +CONFIG_ERROR_RESILIENCE libavcodec/error_resilience.c +CONFIG_FAAN +CONFIG_FAST_UNALIGNED +CONFIG_FFT libavcodec/avfft.c libavcodec/fft_fixed.c libavcodec/fft_float.c libavcodec/fft_fixed_32.c libavcodec/fft_init_table.c libavcodec/x86/fft_init.c libavcodec/x86/fft.asm +CONFIG_LSP libavcodec/lsp.c +CONFIG_LZO libavutil/lzo.c +CONFIG_MDCT libavcodec/mdct_fixed.c libavcodec/mdct_float.c libavcodec/mdct_fixed_32.c +CONFIG_PIXELUTILS libavutil/x86/pixelutils_init.c libavutil/x86/pixelutils.asm +CONFIG_NETWORK libavformat/network.c +CONFIG_RDFT libavcodec/rdft.c +CONFIG_FONTCONFIG +CONFIG_MEMALIGN_HACK +CONFIG_MEMORY_POISONING +CONFIG_NEON_CLOBBER_TEST +CONFIG_PIC +CONFIG_POD2MAN +CONFIG_RAISE_MAJOR +CONFIG_THUMB +CONFIG_VALGRIND_BACKTRACE +CONFIG_XMM_CLOBBER_TEST libavcodec/x86/w64xmmtest.c libswresample/x86/w64xmmtest.c libswscale/x86/w64xmmtest.c +CONFIG_AANDCTTABLES libavcodec/aandcttab.c +CONFIG_AC3DSP libavcodec/ac3dsp.c libavcodec/x86/ac3dsp_init.c libavcodec/x86/ac3dsp.asm +CONFIG_AUDIO_FRAME_QUEUE libavcodec/audio_frame_queue.c +CONFIG_AUDIODSP libavcodec/audiodsp.c libavcodec/x86/audiodsp_init.c libavcodec/x86/audiodsp.asm +CONFIG_BLOCKDSP libavcodec/blockdsp.c libavcodec/x86/blockdsp_init.c libavcodec/x86/blockdsp.asm +CONFIG_BSWAPDSP libavcodec/bswapdsp.c libavcodec/x86/bswapdsp_init.c libavcodec/x86/bswapdsp.asm +CONFIG_CABAC libavcodec/cabac.c +CONFIG_DIRAC_PARSE +CONFIG_DVPROFILE +CONFIG_EXIF libavcodec/exif.c libavcodec/tiff_common.c +CONFIG_FAANDCT libavcodec/faandct.c +CONFIG_FAANIDCT libavcodec/faanidct.c +CONFIG_FDCTDSP libavcodec/fdctdsp.c libavcodec/jfdctfst.c libavcodec/jfdctint.c libavcodec/x86/fdctdsp_init.c libavcodec/x86/fdct.c +CONFIG_FLACDSP libavcodec/flacdsp.c libavcodec/x86/flacdsp_init.c +CONFIG_FMTCONVERT libavcodec/fmtconvert.c libavcodec/x86/fmtconvert_init.c libavcodec/x86/fmtconvert.asm +CONFIG_FRAME_THREAD_ENCODER libavcodec/frame_thread_encoder.c +CONFIG_G722DSP +CONFIG_GOLOMB libavcodec/golomb.c +CONFIG_GPLV3 +CONFIG_H263DSP libavcodec/h263dsp.c libavcodec/x86/h263dsp_init.c libavcodec/x86/h263_loopfilter.asm +CONFIG_H264CHROMA libavcodec/h264chroma.c libavcodec/x86/h264chroma_init.c libavcodec/x86/h264_chromamc.asm libavcodec/x86/h264_chromamc_10bit.asm +CONFIG_H264DSP libavcodec/h264dsp.c libavcodec/h264idct.c libavcodec/x86/h264dsp_init.c libavcodec/x86/h264_deblock.asm libavcodec/x86/h264_deblock_10bit.asm libavcodec/x86/h264_idct.asm libavcodec/x86/h264_idct_10bit.asm libavcodec/x86/h264_weight.asm libavcodec/x86/h264_weight_10bit.asm +CONFIG_H264PRED libavcodec/h264pred.c libavcodec/x86/h264_intrapred_init.c libavcodec/x86/h264_intrapred.asm libavcodec/x86/h264_intrapred_10bit.asm +CONFIG_H264QPEL libavcodec/h264qpel.c libavcodec/x86/h264_qpel.c libavcodec/x86/h264_qpel_8bit.asm libavcodec/x86/h264_qpel_10bit.asm libavcodec/x86/fpel.asm libavcodec/x86/qpel.asm +CONFIG_HPELDSP libavcodec/hpeldsp.c libavcodec/x86/hpeldsp_init.c libavcodec/x86/fpel.asm libavcodec/x86/hpeldsp.asm +CONFIG_HUFFMAN libavcodec/huffman.c +CONFIG_HUFFYUVDSP libavcodec/huffyuvdsp.c libavcodec/x86/huffyuvdsp_init.c libavcodec/x86/huffyuvdsp.asm +CONFIG_HUFFYUVENCDSP libavcodec/huffyuvencdsp.c libavcodec/x86/huffyuvencdsp_mmx.c libavcodec/x86/huffyuvencdsp.asm +CONFIG_IDCTDSP libavcodec/idctdsp.c libavcodec/simple_idct.c libavcodec/jrevdct.c libavcodec/x86/idctdsp_init.c libavcodec/x86/simple_idct.c libavcodec/x86/idctdsp.asm libavcodec/x86/simple_idct10.asm +CONFIG_IIRFILTER libavcodec/iirfilter.c +CONFIG_IMDCT15 libavcodec/imdct15.c +CONFIG_INTRAX8 libavcodec/intrax8.c libavcodec/intrax8dsp.c +CONFIG_ISO_MEDIA libavcodec/mpeg4audio.c libavcodec/mpegaudiodata.c libavformat/isom.c +CONFIG_IVIDSP libavcodec/ivi_dsp.c +CONFIG_JPEGTABLES libavcodec/jpegtables.c +CONFIG_LGPLV3 +CONFIG_LIBX262 +CONFIG_LLAUDDSP libavcodec/lossless_audiodsp.c libavcodec/x86/lossless_audiodsp_init.c libavcodec/x86/lossless_audiodsp.asm +CONFIG_LLVIDDSP libavcodec/lossless_videodsp.c libavcodec/x86/lossless_videodsp_init.c libavcodec/x86/lossless_videodsp.asm +CONFIG_LPC libavcodec/lpc.c libavcodec/x86/lpc.c +CONFIG_LZF libavcodec/lzf.c +CONFIG_ME_CMP libavcodec/me_cmp.c libavcodec/x86/me_cmp_init.c libavcodec/x86/me_cmp.asm +CONFIG_MPEG_ER libavcodec/mpeg_er.c +CONFIG_MPEGAUDIO libavcodec/mpegaudio.c libavcodec/mpegaudiodata.c libavcodec/mpegaudiodecheader.c +CONFIG_MPEGAUDIODSP libavcodec/mpegaudiodsp.c libavcodec/mpegaudiodsp_data.c libavcodec/mpegaudiodsp_fixed.c libavcodec/mpegaudiodsp_float.c libavcodec/x86/mpegaudiodsp.c libavcodec/x86/imdct36.asm +CONFIG_MPEGVIDEO libavcodec/mpegvideo.c libavcodec/mpegvideodsp.c libavcodec/rl.c libavcodec/mpegvideo_motion.c libavcodec/mpegutils.c libavcodec/mpegvideodata.c libavcodec/mpegpicture.c libavcodec/x86/mpegvideo.c libavcodec/x86/mpegvideodsp.c +CONFIG_MPEGVIDEOENC libavcodec/mpegvideo_enc.c libavcodec/mpeg12data.c libavcodec/motion_est.c libavcodec/ratecontrol.c libavcodec/mpegvideoencdsp.c libavcodec/x86/mpegvideoenc.c libavcodec/x86/mpegvideoencdsp_init.c libavcodec/x86/mpegvideoencdsp.asm +CONFIG_MSS34DSP libavcodec/mss34dsp.c +CONFIG_PIXBLOCKDSP libavcodec/pixblockdsp.c libavcodec/x86/pixblockdsp_init.c libavcodec/x86/pixblockdsp.asm +CONFIG_QPELDSP libavcodec/qpeldsp.c libavcodec/x86/qpeldsp_init.c libavcodec/x86/qpeldsp.asm libavcodec/x86/fpel.asm libavcodec/x86/qpel.asm +CONFIG_QSV libavcodec/qsv.c libavutil/hwcontext_qsv.c +CONFIG_QSVDEC libavcodec/qsvdec.c +CONFIG_QSVENC libavcodec/qsvenc.c +CONFIG_RANGECODER libavcodec/rangecoder.c +CONFIG_RIFFDEC libavformat/riffdec.c +CONFIG_RIFFENC libavformat/riffenc.c +CONFIG_RTPDEC libavformat/rdt.c libavformat/rtp.c libavformat/rtpdec.c libavformat/rtpdec_ac3.c libavformat/rtpdec_amr.c libavformat/rtpdec_asf.c libavformat/rtpdec_dv.c libavformat/rtpdec_g726.c libavformat/rtpdec_h261.c libavformat/rtpdec_h263.c libavformat/rtpdec_h263_rfc2190.c libavformat/rtpdec_h264.c libavformat/rtpdec_hevc.c libavformat/rtpdec_ilbc.c libavformat/rtpdec_jpeg.c libavformat/rtpdec_latm.c libavformat/rtpdec_mpa_robust.c libavformat/rtpdec_mpeg12.c libavformat/rtpdec_mpeg4.c libavformat/rtpdec_mpegts.c libavformat/rtpdec_qcelp.c libavformat/rtpdec_qdm2.c libavformat/rtpdec_qt.c libavformat/rtpdec_svq3.c libavformat/rtpdec_vc2hq.c libavformat/rtpdec_vp8.c libavformat/rtpdec_vp9.c libavformat/rtpdec_xiph.c +CONFIG_RTPENC_CHAIN libavformat/rtpenc_chain.c libavformat/rtp.c +CONFIG_RV34DSP libavcodec/rv34dsp.c libavcodec/x86/rv34dsp_init.c libavcodec/x86/rv34dsp.asm +CONFIG_SINEWIN libavcodec/sinewin.c libavcodec/sinewin_fixed.c +CONFIG_SNAPPY libavcodec/snappy.c +CONFIG_SRTP libavformat/srtp.c +CONFIG_STARTCODE libavcodec/startcode.c +CONFIG_TEXTUREDSP libavcodec/texturedsp.c +CONFIG_TEXTUREDSPENC libavcodec/texturedspenc.c +CONFIG_TPELDSP libavcodec/tpeldsp.c +CONFIG_VAAPI_ENCODE libavcodec/vaapi_encode.c +CONFIG_VC1DSP libavcodec/vc1dsp.c libavcodec/x86/vc1dsp_init.c libavcodec/x86/vc1dsp_mmx.c libavcodec/x86/vc1dsp_loopfilter.asm libavcodec/x86/vc1dsp_mc.asm +CONFIG_VIDEODSP libavcodec/videodsp.c libavcodec/x86/videodsp_init.c libavcodec/x86/videodsp.asm +CONFIG_VP3DSP libavcodec/vp3dsp.c libavcodec/x86/vp3dsp_init.c libavcodec/x86/vp3dsp.asm +CONFIG_VP56DSP libavcodec/vp56dsp.c +CONFIG_VP8DSP libavcodec/vp8dsp.c libavcodec/x86/vp8dsp_init.c libavcodec/x86/vp8dsp.asm libavcodec/x86/vp8dsp_loopfilter.asm +CONFIG_VT_BT2020 +CONFIG_WMA_FREQS libavcodec/wma_freqs.c +CONFIG_WMV2DSP libavcodec/wmv2dsp.c +CONFIG_AAC_ADTSTOASC_BSF libavcodec/aac_adtstoasc_bsf.c libavcodec/aacadtsdec.c libavcodec/mpeg4audio.c +CONFIG_CHOMP_BSF libavcodec/chomp_bsf.c +CONFIG_DUMP_EXTRADATA_BSF libavcodec/dump_extradata_bsf.c +CONFIG_DCA_CORE_BSF libavcodec/dca_core_bsf.c +CONFIG_H264_MP4TOANNEXB_BSF libavcodec/h264_mp4toannexb_bsf.c +CONFIG_HEVC_MP4TOANNEXB_BSF libavcodec/hevc_mp4toannexb_bsf.c +CONFIG_IMX_DUMP_HEADER_BSF libavcodec/imx_dump_header_bsf.c +CONFIG_MJPEG2JPEG_BSF libavcodec/mjpeg2jpeg_bsf.c +CONFIG_MJPEGA_DUMP_HEADER_BSF libavcodec/mjpega_dump_header_bsf.c +CONFIG_MP3_HEADER_DECOMPRESS_BSF libavcodec/mp3_header_decompress_bsf.c libavcodec/mpegaudiodata.c +CONFIG_MPEG4_UNPACK_BFRAMES_BSF libavcodec/mpeg4_unpack_bframes_bsf.c +CONFIG_MOV2TEXTSUB_BSF libavcodec/movsub_bsf.c +CONFIG_NOISE_BSF libavcodec/noise_bsf.c +CONFIG_REMOVE_EXTRADATA_BSF libavcodec/remove_extradata_bsf.c +CONFIG_TEXT2MOVSUB_BSF libavcodec/movsub_bsf.c +CONFIG_VP9_SUPERFRAME_BSF libavcodec/vp9_superframe_bsf.c +CONFIG_AASC_DECODER libavcodec/aasc.c libavcodec/msrledec.c +CONFIG_AIC_DECODER libavcodec/aic.c +CONFIG_ALIAS_PIX_DECODER libavcodec/aliaspixdec.c +CONFIG_AMV_DECODER +CONFIG_ANM_DECODER libavcodec/anm.c +CONFIG_ANSI_DECODER libavcodec/ansi.c libavcodec/cga_data.c +CONFIG_APNG_DECODER libavcodec/png.c libavcodec/pngdec.c libavcodec/pngdsp.c libavcodec/x86/pngdsp_init.c libavcodec/x86/pngdsp.asm +CONFIG_ASV1_DECODER libavcodec/asvdec.c libavcodec/asv.c libavcodec/mpeg12data.c +CONFIG_ASV2_DECODER libavcodec/asvdec.c libavcodec/asv.c libavcodec/mpeg12data.c +CONFIG_AURA_DECODER libavcodec/cyuv.c +CONFIG_AURA2_DECODER libavcodec/aura.c +CONFIG_AVRP_DECODER libavcodec/r210dec.c +CONFIG_AVRN_DECODER libavcodec/avrndec.c libavcodec/mjpegdec.c +CONFIG_AVS_DECODER libavcodec/avs.c +CONFIG_AVUI_DECODER libavcodec/avuidec.c +CONFIG_AYUV_DECODER libavcodec/v408dec.c +CONFIG_BETHSOFTVID_DECODER libavcodec/bethsoftvideo.c +CONFIG_BFI_DECODER libavcodec/bfi.c +CONFIG_BINK_DECODER libavcodec/bink.c libavcodec/binkdsp.c +CONFIG_BMP_DECODER libavcodec/bmp.c libavcodec/msrledec.c +CONFIG_BMV_VIDEO_DECODER libavcodec/bmvvideo.c +CONFIG_BRENDER_PIX_DECODER libavcodec/brenderpix.c +CONFIG_C93_DECODER libavcodec/c93.c +CONFIG_CAVS_DECODER libavcodec/cavs.c libavcodec/cavsdec.c libavcodec/cavsdsp.c libavcodec/cavsdata.c libavcodec/mpeg12data.c libavcodec/x86/cavsdsp.c +CONFIG_CDGRAPHICS_DECODER libavcodec/cdgraphics.c +CONFIG_CDXL_DECODER libavcodec/cdxl.c +CONFIG_CFHD_DECODER libavcodec/cfhd.c libavcodec/cfhddata.c +CONFIG_CINEPAK_DECODER libavcodec/cinepak.c +CONFIG_CLJR_DECODER libavcodec/cljrdec.c +CONFIG_CLLC_DECODER libavcodec/cllc.c libavcodec/canopus.c +CONFIG_COMFORTNOISE_DECODER libavcodec/cngdec.c libavcodec/celp_filters.c +CONFIG_CPIA_DECODER libavcodec/cpia.c +CONFIG_CSCD_DECODER libavcodec/cscd.c +CONFIG_CYUV_DECODER libavcodec/cyuv.c +CONFIG_DDS_DECODER libavcodec/dds.c +CONFIG_DFA_DECODER libavcodec/dfa.c +CONFIG_DIRAC_DECODER libavcodec/diracdec.c libavcodec/dirac.c libavcodec/diracdsp.c libavcodec/diractab.c libavcodec/dirac_arith.c libavcodec/mpeg12data.c libavcodec/dirac_dwt.c libavcodec/dirac_vlc.c libavcodec/x86/diracdsp_init.c libavcodec/x86/dirac_dwt_init.c libavcodec/x86/diracdsp.asm libavcodec/x86/dirac_dwt.asm +CONFIG_DNXHD_DECODER libavcodec/dnxhddec.c libavcodec/dnxhddata.c +CONFIG_DPX_DECODER libavcodec/dpx.c +CONFIG_DSICINVIDEO_DECODER libavcodec/dsicinvideo.c +CONFIG_DVAUDIO_DECODER libavcodec/dvaudiodec.c +CONFIG_DVVIDEO_DECODER libavcodec/dvdec.c libavcodec/dv.c libavcodec/dvdata.c +CONFIG_DXA_DECODER libavcodec/dxa.c +CONFIG_DXTORY_DECODER libavcodec/dxtory.c +CONFIG_DXV_DECODER libavcodec/dxv.c +CONFIG_EACMV_DECODER libavcodec/eacmv.c +CONFIG_EAMAD_DECODER libavcodec/eamad.c libavcodec/eaidct.c libavcodec/mpeg12.c libavcodec/mpeg12data.c +CONFIG_EATGQ_DECODER libavcodec/eatgq.c libavcodec/eaidct.c +CONFIG_EATGV_DECODER libavcodec/eatgv.c +CONFIG_EATQI_DECODER libavcodec/eatqi.c libavcodec/eaidct.c libavcodec/mpeg12.c libavcodec/mpeg12data.c libavcodec/mpegvideodata.c libavcodec/rl.c +CONFIG_EIGHTBPS_DECODER libavcodec/8bps.c +CONFIG_EIGHTSVX_EXP_DECODER libavcodec/8svx.c +CONFIG_EIGHTSVX_FIB_DECODER libavcodec/8svx.c +CONFIG_ESCAPE124_DECODER libavcodec/escape124.c +CONFIG_ESCAPE130_DECODER libavcodec/escape130.c +CONFIG_EXR_DECODER libavcodec/exr.c +CONFIG_FFV1_DECODER libavcodec/ffv1dec.c libavcodec/ffv1.c +CONFIG_FFVHUFF_DECODER +CONFIG_FIC_DECODER libavcodec/fic.c +CONFIG_FLASHSV_DECODER libavcodec/flashsv.c +CONFIG_FLASHSV2_DECODER libavcodec/flashsv.c +CONFIG_FLIC_DECODER libavcodec/flicvideo.c +CONFIG_FLV_DECODER +CONFIG_FOURXM_DECODER libavcodec/4xm.c +CONFIG_FRAPS_DECODER libavcodec/fraps.c +CONFIG_FRWU_DECODER libavcodec/frwu.c +CONFIG_G2M_DECODER libavcodec/g2meet.c libavcodec/elsdec.c +CONFIG_GIF_DECODER libavcodec/gifdec.c libavcodec/lzw.c +CONFIG_H261_DECODER libavcodec/h261dec.c libavcodec/h261data.c libavcodec/h261.c +CONFIG_H263_DECODER libavcodec/h263dec.c libavcodec/h263.c libavcodec/ituh263dec.c libavcodec/mpeg4video.c libavcodec/mpeg4videodec.c libavcodec/flvdec.c libavcodec/intelh263dec.c libavcodec/h263data.c +CONFIG_H263I_DECODER +CONFIG_H263P_DECODER +CONFIG_H264_DECODER libavcodec/h264dec.c libavcodec/h264_cabac.c libavcodec/h264_cavlc.c libavcodec/h264_direct.c libavcodec/h264_loopfilter.c libavcodec/h264_mb.c libavcodec/h264_picture.c libavcodec/h264_ps.c libavcodec/h264_refs.c libavcodec/h264_sei.c libavcodec/h264_slice.c libavcodec/h264data.c libavcodec/h264_parse.c libavcodec/h2645_parse.c +CONFIG_H264_CRYSTALHD_DECODER +CONFIG_H264_MEDIACODEC_DECODER libavcodec/mediacodecdec.c +CONFIG_H264_MMAL_DECODER libavcodec/mmaldec.c +CONFIG_H264_QSV_DECODER libavcodec/qsvdec_h2645.c +CONFIG_H264_VDA_DECODER libavcodec/vda_h264_dec.c +CONFIG_H264_VDPAU_DECODER +CONFIG_HAP_DECODER libavcodec/hapdec.c libavcodec/hap.c +CONFIG_HEVC_DECODER libavcodec/hevc.c libavcodec/hevc_mvs.c libavcodec/hevc_ps.c libavcodec/hevc_sei.c libavcodec/hevc_cabac.c libavcodec/hevc_refs.c libavcodec/hevcpred.c libavcodec/hevcdsp.c libavcodec/hevc_filter.c libavcodec/h2645_parse.c libavcodec/hevc_data.c libavcodec/x86/hevcdsp_init.c libavcodec/x86/hevc_mc.asm libavcodec/x86/hevc_deblock.asm libavcodec/x86/hevc_idct.asm libavcodec/x86/hevc_res_add.asm libavcodec/x86/hevc_sao.asm libavcodec/x86/hevc_sao_10bit.asm +CONFIG_HEVC_QSV_DECODER libavcodec/qsvdec_h2645.c +CONFIG_HNM4_VIDEO_DECODER libavcodec/hnm4video.c +CONFIG_HQ_HQA_DECODER libavcodec/hq_hqa.c libavcodec/hq_hqadata.c libavcodec/hq_hqadsp.c libavcodec/canopus.c +CONFIG_HQX_DECODER libavcodec/hqx.c libavcodec/hqxvlc.c libavcodec/hqxdsp.c libavcodec/canopus.c +CONFIG_HUFFYUV_DECODER libavcodec/huffyuv.c libavcodec/huffyuvdec.c +CONFIG_IDCIN_DECODER libavcodec/idcinvideo.c +CONFIG_IFF_ILBM_DECODER libavcodec/iff.c +CONFIG_INDEO2_DECODER libavcodec/indeo2.c +CONFIG_INDEO3_DECODER libavcodec/indeo3.c +CONFIG_INDEO4_DECODER libavcodec/indeo4.c libavcodec/ivi.c +CONFIG_INDEO5_DECODER libavcodec/indeo5.c libavcodec/ivi.c +CONFIG_INTERPLAY_VIDEO_DECODER libavcodec/interplayvideo.c +CONFIG_JPEG2000_DECODER libavcodec/jpeg2000dec.c libavcodec/jpeg2000.c libavcodec/jpeg2000dsp.c libavcodec/jpeg2000dwt.c libavcodec/mqcdec.c libavcodec/mqc.c libavcodec/x86/jpeg2000dsp_init.c libavcodec/x86/jpeg2000dsp.asm +CONFIG_JPEGLS_DECODER libavcodec/jpeglsdec.c libavcodec/jpegls.c +CONFIG_JV_DECODER libavcodec/jvdec.c +CONFIG_KGV1_DECODER libavcodec/kgv1dec.c +CONFIG_KMVC_DECODER libavcodec/kmvc.c +CONFIG_LAGARITH_DECODER libavcodec/lagarith.c libavcodec/lagarithrac.c +CONFIG_LOCO_DECODER libavcodec/loco.c +CONFIG_M101_DECODER libavcodec/m101.c +CONFIG_MAGICYUV_DECODER libavcodec/magicyuv.c +CONFIG_MDEC_DECODER libavcodec/mdec.c libavcodec/mpeg12.c libavcodec/mpeg12data.c +CONFIG_MIMIC_DECODER libavcodec/mimic.c +CONFIG_MJPEG_DECODER libavcodec/mjpegdec.c +CONFIG_MJPEGB_DECODER libavcodec/mjpegbdec.c +CONFIG_MMVIDEO_DECODER libavcodec/mmvideo.c +CONFIG_MOTIONPIXELS_DECODER libavcodec/motionpixels.c +CONFIG_MPEG_XVMC_DECODER +CONFIG_MPEG1VIDEO_DECODER libavcodec/mpeg12dec.c libavcodec/mpeg12.c libavcodec/mpeg12data.c +CONFIG_MPEG2VIDEO_DECODER libavcodec/mpeg12dec.c libavcodec/mpeg12.c libavcodec/mpeg12data.c +CONFIG_MPEG4_DECODER libavcodec/xvididct.c libavcodec/x86/xvididct_init.c libavcodec/x86/xvididct.asm +CONFIG_MPEG4_CRYSTALHD_DECODER +CONFIG_MPEG4_MMAL_DECODER +CONFIG_MPEG4_VDPAU_DECODER +CONFIG_MPEGVIDEO_DECODER libavcodec/mpeg12dec.c libavcodec/mpeg12.c libavcodec/mpeg12data.c +CONFIG_MPEG_VDPAU_DECODER +CONFIG_MPEG1_VDPAU_DECODER +CONFIG_MPEG2_MMAL_DECODER libavcodec/mmaldec.c +CONFIG_MPEG2_CRYSTALHD_DECODER +CONFIG_MPEG2_QSV_DECODER libavcodec/qsvdec_mpeg2.c +CONFIG_MSA1_DECODER libavcodec/mss3.c +CONFIG_MSMPEG4_CRYSTALHD_DECODER +CONFIG_MSMPEG4V1_DECODER libavcodec/msmpeg4dec.c libavcodec/msmpeg4.c libavcodec/msmpeg4data.c +CONFIG_MSMPEG4V2_DECODER libavcodec/msmpeg4dec.c libavcodec/msmpeg4.c libavcodec/msmpeg4data.c +CONFIG_MSMPEG4V3_DECODER libavcodec/msmpeg4dec.c libavcodec/msmpeg4.c libavcodec/msmpeg4data.c +CONFIG_MSRLE_DECODER libavcodec/msrle.c libavcodec/msrledec.c +CONFIG_MSS1_DECODER libavcodec/mss1.c libavcodec/mss12.c +CONFIG_MSS2_DECODER libavcodec/mss2.c libavcodec/mss12.c libavcodec/mss2dsp.c libavcodec/wmv2data.c +CONFIG_MSVIDEO1_DECODER libavcodec/msvideo1.c +CONFIG_MSZH_DECODER libavcodec/lcldec.c +CONFIG_MTS2_DECODER libavcodec/mss4.c +CONFIG_MVC1_DECODER libavcodec/mvcdec.c +CONFIG_MVC2_DECODER libavcodec/mvcdec.c +CONFIG_MXPEG_DECODER libavcodec/mxpegdec.c +CONFIG_NUV_DECODER libavcodec/nuv.c libavcodec/rtjpeg.c +CONFIG_PAF_VIDEO_DECODER libavcodec/pafvideo.c +CONFIG_PAM_DECODER libavcodec/pnmdec.c libavcodec/pnm.c +CONFIG_PBM_DECODER libavcodec/pnmdec.c libavcodec/pnm.c +CONFIG_PCX_DECODER libavcodec/pcx.c +CONFIG_PGM_DECODER libavcodec/pnmdec.c libavcodec/pnm.c +CONFIG_PGMYUV_DECODER libavcodec/pnmdec.c libavcodec/pnm.c +CONFIG_PICTOR_DECODER libavcodec/pictordec.c libavcodec/cga_data.c +CONFIG_PNG_DECODER libavcodec/png.c libavcodec/pngdec.c libavcodec/pngdsp.c libavcodec/x86/pngdsp_init.c libavcodec/x86/pngdsp.asm +CONFIG_PPM_DECODER libavcodec/pnmdec.c libavcodec/pnm.c +CONFIG_PRORES_DECODER libavcodec/proresdec2.c libavcodec/proresdsp.c libavcodec/proresdata.c libavcodec/x86/proresdsp_init.c libavcodec/x86/proresdsp.asm +CONFIG_PRORES_LGPL_DECODER libavcodec/proresdec_lgpl.c libavcodec/proresdsp.c libavcodec/proresdata.c libavcodec/x86/proresdsp_init.c libavcodec/x86/proresdsp.asm +CONFIG_PTX_DECODER libavcodec/ptx.c +CONFIG_QDRAW_DECODER libavcodec/qdrw.c +CONFIG_QPEG_DECODER libavcodec/qpeg.c +CONFIG_QTRLE_DECODER libavcodec/qtrle.c +CONFIG_R10K_DECODER libavcodec/r210dec.c +CONFIG_R210_DECODER libavcodec/r210dec.c +CONFIG_RAWVIDEO_DECODER libavcodec/rawdec.c +CONFIG_RL2_DECODER libavcodec/rl2.c +CONFIG_ROQ_DECODER libavcodec/roqvideodec.c libavcodec/roqvideo.c +CONFIG_RPZA_DECODER libavcodec/rpza.c +CONFIG_RSCC_DECODER libavcodec/rscc.c +CONFIG_RV10_DECODER libavcodec/rv10.c +CONFIG_RV20_DECODER libavcodec/rv10.c +CONFIG_RV30_DECODER libavcodec/rv30.c libavcodec/rv34.c libavcodec/rv30dsp.c +CONFIG_RV40_DECODER libavcodec/rv40.c libavcodec/rv34.c libavcodec/rv40dsp.c libavcodec/x86/rv40dsp_init.c libavcodec/x86/rv40dsp.asm +CONFIG_S302M_DECODER libavcodec/s302m.c +CONFIG_SANM_DECODER libavcodec/sanm.c +CONFIG_SCREENPRESSO_DECODER libavcodec/screenpresso.c +CONFIG_SDX2_DPCM_DECODER libavcodec/dpcm.c +CONFIG_SGI_DECODER libavcodec/sgidec.c +CONFIG_SGIRLE_DECODER libavcodec/sgirledec.c +CONFIG_SHEERVIDEO_DECODER libavcodec/sheervideo.c +CONFIG_SMACKER_DECODER libavcodec/smacker.c +CONFIG_SMC_DECODER libavcodec/smc.c +CONFIG_SMVJPEG_DECODER libavcodec/smvjpegdec.c +CONFIG_SNOW_DECODER libavcodec/snowdec.c libavcodec/snow.c libavcodec/snow_dwt.c libavcodec/x86/snowdsp.c +CONFIG_SP5X_DECODER libavcodec/sp5xdec.c +CONFIG_SUNRAST_DECODER libavcodec/sunrast.c +CONFIG_SVQ1_DECODER libavcodec/svq1dec.c libavcodec/svq1.c libavcodec/svq13.c libavcodec/h263data.c +CONFIG_SVQ3_DECODER libavcodec/svq3.c libavcodec/svq13.c libavcodec/mpegutils.c libavcodec/h264_parse.c libavcodec/h264data.c libavcodec/h264_ps.c libavcodec/h2645_parse.c +CONFIG_TARGA_DECODER libavcodec/targa.c +CONFIG_TARGA_Y216_DECODER libavcodec/targa_y216dec.c +CONFIG_TDSC_DECODER libavcodec/tdsc.c +CONFIG_THEORA_DECODER +CONFIG_THP_DECODER +CONFIG_TIERTEXSEQVIDEO_DECODER libavcodec/tiertexseqv.c +CONFIG_TIFF_DECODER libavcodec/tiff.c libavcodec/lzw.c libavcodec/faxcompr.c libavcodec/tiff_data.c libavcodec/tiff_common.c +CONFIG_TMV_DECODER libavcodec/tmv.c libavcodec/cga_data.c +CONFIG_TRUEMOTION1_DECODER libavcodec/truemotion1.c +CONFIG_TRUEMOTION2_DECODER libavcodec/truemotion2.c +CONFIG_TRUEMOTION2RT_DECODER libavcodec/truemotion2rt.c +CONFIG_TSCC_DECODER libavcodec/tscc.c libavcodec/msrledec.c +CONFIG_TSCC2_DECODER libavcodec/tscc2.c +CONFIG_TXD_DECODER libavcodec/txd.c +CONFIG_ULTI_DECODER libavcodec/ulti.c +CONFIG_UTVIDEO_DECODER libavcodec/utvideodec.c libavcodec/utvideo.c +CONFIG_V210_DECODER libavcodec/v210dec.c libavcodec/x86/v210-init.c libavcodec/x86/v210.asm +CONFIG_V210X_DECODER libavcodec/v210x.c +CONFIG_V308_DECODER libavcodec/v308dec.c +CONFIG_V408_DECODER libavcodec/v408dec.c +CONFIG_V410_DECODER libavcodec/v410dec.c +CONFIG_VB_DECODER libavcodec/vb.c +CONFIG_VBLE_DECODER libavcodec/vble.c +CONFIG_VC1_DECODER libavcodec/vc1dec.c libavcodec/vc1_block.c libavcodec/vc1_loopfilter.c libavcodec/vc1_mc.c libavcodec/vc1_pred.c libavcodec/vc1.c libavcodec/vc1data.c libavcodec/msmpeg4dec.c libavcodec/msmpeg4.c libavcodec/msmpeg4data.c libavcodec/wmv2dsp.c libavcodec/wmv2data.c +CONFIG_VC1_CRYSTALHD_DECODER +CONFIG_VC1_VDPAU_DECODER +CONFIG_VC1IMAGE_DECODER +CONFIG_VC1_MMAL_DECODER libavcodec/mmaldec.c +CONFIG_VC1_QSV_DECODER libavcodec/qsvdec_vc1.c +CONFIG_VCR1_DECODER libavcodec/vcr1.c +CONFIG_VMDVIDEO_DECODER libavcodec/vmdvideo.c +CONFIG_VMNC_DECODER libavcodec/vmnc.c +CONFIG_VP3_DECODER libavcodec/vp3.c +CONFIG_VP5_DECODER libavcodec/vp5.c libavcodec/vp56.c libavcodec/vp56data.c libavcodec/vp56rac.c +CONFIG_VP6_DECODER libavcodec/vp6.c libavcodec/vp56.c libavcodec/vp56data.c libavcodec/vp6dsp.c libavcodec/vp56rac.c libavcodec/x86/vp6dsp_init.c libavcodec/x86/vp6dsp.asm +CONFIG_VP6A_DECODER +CONFIG_VP6F_DECODER +CONFIG_VP7_DECODER libavcodec/vp8.c libavcodec/vp56rac.c +CONFIG_VP8_DECODER libavcodec/vp8.c libavcodec/vp56rac.c +CONFIG_VP9_DECODER libavcodec/vp9.c libavcodec/vp9dsp.c libavcodec/vp56rac.c libavcodec/vp9dsp_8bpp.c libavcodec/vp9dsp_10bpp.c libavcodec/vp9dsp_12bpp.c libavcodec/x86/vp9dsp_init.c libavcodec/x86/vp9dsp_init_10bpp.c libavcodec/x86/vp9dsp_init_12bpp.c libavcodec/x86/vp9dsp_init_16bpp.c libavcodec/x86/vp9intrapred.asm libavcodec/x86/vp9intrapred_16bpp.asm libavcodec/x86/vp9itxfm.asm libavcodec/x86/vp9itxfm_16bpp.asm libavcodec/x86/vp9lpf.asm libavcodec/x86/vp9lpf_16bpp.asm libavcodec/x86/vp9mc.asm libavcodec/x86/vp9mc_16bpp.asm +CONFIG_VQA_DECODER libavcodec/vqavideo.c +CONFIG_WEBP_DECODER libavcodec/webp.c libavcodec/x86/vp8dsp_init.c libavcodec/x86/vp8dsp.asm +CONFIG_WMV1_DECODER libavcodec/msmpeg4dec.c libavcodec/msmpeg4.c libavcodec/msmpeg4data.c +CONFIG_WMV2_DECODER libavcodec/wmv2dec.c libavcodec/wmv2.c libavcodec/wmv2data.c libavcodec/msmpeg4dec.c libavcodec/msmpeg4.c libavcodec/msmpeg4data.c +CONFIG_WMV3_DECODER +CONFIG_WMV3_CRYSTALHD_DECODER +CONFIG_WMV3_VDPAU_DECODER +CONFIG_WMV3IMAGE_DECODER +CONFIG_WNV1_DECODER libavcodec/wnv1.c +CONFIG_XAN_WC3_DECODER libavcodec/xan.c +CONFIG_XAN_WC4_DECODER libavcodec/xxan.c +CONFIG_XBM_DECODER libavcodec/xbmdec.c +CONFIG_XFACE_DECODER libavcodec/xfacedec.c libavcodec/xface.c +CONFIG_XL_DECODER libavcodec/xl.c +CONFIG_XWD_DECODER libavcodec/xwddec.c +CONFIG_Y41P_DECODER libavcodec/y41pdec.c +CONFIG_YLC_DECODER libavcodec/ylc.c +CONFIG_YOP_DECODER libavcodec/yop.c +CONFIG_YUV4_DECODER libavcodec/yuv4dec.c +CONFIG_ZERO12V_DECODER libavcodec/012v.c +CONFIG_ZEROCODEC_DECODER libavcodec/zerocodec.c +CONFIG_ZLIB_DECODER libavcodec/lcldec.c +CONFIG_ZMBV_DECODER libavcodec/zmbv.c +CONFIG_AAC_DECODER libavcodec/aacdec.c libavcodec/aactab.c libavcodec/aacsbr.c libavcodec/aacps_float.c libavcodec/aacadtsdec.c libavcodec/mpeg4audio.c libavcodec/kbdwin.c libavcodec/sbrdsp.c libavcodec/aacpsdsp_float.c libavcodec/cbrt_data.c libavcodec/x86/aacpsdsp_init.c libavcodec/x86/sbrdsp_init.c libavcodec/x86/aacpsdsp.asm libavcodec/x86/sbrdsp.asm +CONFIG_AAC_FIXED_DECODER libavcodec/aacdec_fixed.c libavcodec/aactab.c libavcodec/aacsbr_fixed.c libavcodec/aacps_fixed.c libavcodec/aacadtsdec.c libavcodec/mpeg4audio.c libavcodec/kbdwin.c libavcodec/sbrdsp_fixed.c libavcodec/aacpsdsp_fixed.c libavcodec/cbrt_data_fixed.c +CONFIG_AAC_LATM_DECODER +CONFIG_AC3_DECODER libavcodec/ac3dec_float.c libavcodec/ac3dec_data.c libavcodec/ac3.c libavcodec/kbdwin.c +CONFIG_AC3_FIXED_DECODER libavcodec/ac3dec_fixed.c libavcodec/ac3dec_data.c libavcodec/ac3.c libavcodec/kbdwin.c +CONFIG_ALAC_DECODER libavcodec/alac.c libavcodec/alac_data.c libavcodec/alacdsp.c libavcodec/x86/alacdsp_init.c libavcodec/x86/alacdsp.asm +CONFIG_ALS_DECODER libavcodec/alsdec.c libavcodec/bgmc.c libavcodec/mlz.c libavcodec/mpeg4audio.c +CONFIG_AMRNB_DECODER libavcodec/amrnbdec.c libavcodec/celp_filters.c libavcodec/celp_math.c libavcodec/acelp_filters.c libavcodec/acelp_vectors.c libavcodec/acelp_pitch_delay.c +CONFIG_AMRWB_DECODER libavcodec/amrwbdec.c libavcodec/celp_filters.c libavcodec/celp_math.c libavcodec/acelp_filters.c libavcodec/acelp_vectors.c libavcodec/acelp_pitch_delay.c +CONFIG_APE_DECODER libavcodec/apedec.c +CONFIG_ATRAC1_DECODER libavcodec/atrac1.c libavcodec/atrac.c +CONFIG_ATRAC3_DECODER libavcodec/atrac3.c libavcodec/atrac.c +CONFIG_ATRAC3P_DECODER libavcodec/atrac3plusdec.c libavcodec/atrac3plus.c libavcodec/atrac3plusdsp.c libavcodec/atrac.c +CONFIG_BINKAUDIO_DCT_DECODER libavcodec/binkaudio.c +CONFIG_BINKAUDIO_RDFT_DECODER libavcodec/binkaudio.c +CONFIG_BMV_AUDIO_DECODER libavcodec/bmvaudio.c +CONFIG_COOK_DECODER libavcodec/cook.c +CONFIG_DCA_DECODER libavcodec/dcadec.c libavcodec/dca.c libavcodec/dcadata.c libavcodec/dcahuff.c libavcodec/dca_core.c libavcodec/dca_exss.c libavcodec/dca_xll.c libavcodec/dca_lbr.c libavcodec/dcadsp.c libavcodec/dcadct.c libavcodec/synth_filter.c libavcodec/x86/dcadsp_init.c libavcodec/x86/synth_filter_init.c libavcodec/x86/dcadsp.asm libavcodec/x86/synth_filter.asm +CONFIG_DSD_LSBF_DECODER libavcodec/dsddec.c libavcodec/dsd.c +CONFIG_DSD_MSBF_DECODER libavcodec/dsddec.c libavcodec/dsd.c +CONFIG_DSD_LSBF_PLANAR_DECODER libavcodec/dsddec.c libavcodec/dsd.c +CONFIG_DSD_MSBF_PLANAR_DECODER libavcodec/dsddec.c libavcodec/dsd.c +CONFIG_DSICINAUDIO_DECODER libavcodec/dsicinaudio.c +CONFIG_DSS_SP_DECODER libavcodec/dss_sp.c +CONFIG_DST_DECODER libavcodec/dstdec.c libavcodec/dsd.c +CONFIG_EAC3_DECODER libavcodec/eac3_data.c +CONFIG_EVRC_DECODER libavcodec/evrcdec.c libavcodec/acelp_vectors.c libavcodec/lsp.c +CONFIG_FFWAVESYNTH_DECODER libavcodec/ffwavesynth.c +CONFIG_FLAC_DECODER libavcodec/flacdec.c libavcodec/flacdata.c libavcodec/flac.c libavcodec/x86/flacdsp.asm +CONFIG_G723_1_DECODER libavcodec/g723_1dec.c libavcodec/g723_1.c libavcodec/acelp_vectors.c libavcodec/celp_filters.c libavcodec/celp_math.c +CONFIG_G729_DECODER libavcodec/g729dec.c libavcodec/lsp.c libavcodec/celp_math.c libavcodec/celp_filters.c libavcodec/acelp_filters.c libavcodec/acelp_pitch_delay.c libavcodec/acelp_vectors.c libavcodec/g729postfilter.c +CONFIG_GSM_DECODER libavcodec/gsmdec.c libavcodec/gsmdec_data.c libavcodec/msgsmdec.c +CONFIG_GSM_MS_DECODER libavcodec/gsmdec.c libavcodec/gsmdec_data.c libavcodec/msgsmdec.c +CONFIG_IAC_DECODER +CONFIG_IMC_DECODER libavcodec/imc.c +CONFIG_INTERPLAY_ACM_DECODER libavcodec/interplayacm.c +CONFIG_MACE3_DECODER libavcodec/mace.c +CONFIG_MACE6_DECODER libavcodec/mace.c +CONFIG_METASOUND_DECODER libavcodec/metasound.c libavcodec/metasound_data.c libavcodec/twinvq.c +CONFIG_MLP_DECODER libavcodec/mlpdec.c libavcodec/mlpdsp.c libavcodec/x86/mlpdsp_init.c libavcodec/x86/mlpdsp.asm +CONFIG_MP1_DECODER libavcodec/mpegaudiodec_fixed.c +CONFIG_MP1FLOAT_DECODER libavcodec/mpegaudiodec_float.c +CONFIG_MP2_DECODER libavcodec/mpegaudiodec_fixed.c +CONFIG_MP2FLOAT_DECODER libavcodec/mpegaudiodec_float.c +CONFIG_MP3_DECODER libavcodec/mpegaudiodec_fixed.c +CONFIG_MP3FLOAT_DECODER libavcodec/mpegaudiodec_float.c +CONFIG_MP3ADU_DECODER libavcodec/mpegaudiodec_fixed.c +CONFIG_MP3ADUFLOAT_DECODER libavcodec/mpegaudiodec_float.c +CONFIG_MP3ON4_DECODER libavcodec/mpegaudiodec_fixed.c libavcodec/mpeg4audio.c +CONFIG_MP3ON4FLOAT_DECODER libavcodec/mpegaudiodec_float.c libavcodec/mpeg4audio.c +CONFIG_MPC7_DECODER libavcodec/mpc7.c libavcodec/mpc.c +CONFIG_MPC8_DECODER libavcodec/mpc8.c libavcodec/mpc.c +CONFIG_NELLYMOSER_DECODER libavcodec/nellymoserdec.c libavcodec/nellymoser.c +CONFIG_ON2AVC_DECODER libavcodec/on2avc.c libavcodec/on2avcdata.c +CONFIG_OPUS_DECODER libavcodec/opusdec.c libavcodec/opus.c libavcodec/opus_celt.c libavcodec/opus_silk.c libavcodec/vorbis_data.c +CONFIG_PAF_AUDIO_DECODER libavcodec/pafaudio.c +CONFIG_QCELP_DECODER libavcodec/qcelpdec.c libavcodec/celp_filters.c libavcodec/acelp_vectors.c libavcodec/acelp_filters.c +CONFIG_QDM2_DECODER libavcodec/qdm2.c +CONFIG_RA_144_DECODER libavcodec/ra144dec.c libavcodec/ra144.c libavcodec/celp_filters.c +CONFIG_RA_288_DECODER libavcodec/ra288.c libavcodec/celp_filters.c +CONFIG_RALF_DECODER libavcodec/ralf.c +CONFIG_SHORTEN_DECODER libavcodec/shorten.c +CONFIG_SIPR_DECODER libavcodec/sipr.c libavcodec/acelp_pitch_delay.c libavcodec/celp_math.c libavcodec/acelp_vectors.c libavcodec/acelp_filters.c libavcodec/celp_filters.c libavcodec/sipr16k.c +CONFIG_SMACKAUD_DECODER libavcodec/smacker.c +CONFIG_SONIC_DECODER libavcodec/sonic.c +CONFIG_TAK_DECODER libavcodec/takdec.c libavcodec/tak.c libavcodec/takdsp.c libavcodec/x86/takdsp_init.c libavcodec/x86/takdsp.asm +CONFIG_TRUEHD_DECODER libavcodec/mlpdec.c libavcodec/mlpdsp.c libavcodec/x86/mlpdsp_init.c libavcodec/x86/mlpdsp.asm +CONFIG_TRUESPEECH_DECODER libavcodec/truespeech.c +CONFIG_TTA_DECODER libavcodec/tta.c libavcodec/ttadata.c libavcodec/ttadsp.c libavcodec/x86/ttadsp_init.c libavcodec/x86/ttadsp.asm +CONFIG_TWINVQ_DECODER libavcodec/twinvqdec.c libavcodec/twinvq.c +CONFIG_VMDAUDIO_DECODER libavcodec/vmdaudio.c +CONFIG_VORBIS_DECODER libavcodec/vorbisdec.c libavcodec/vorbisdsp.c libavcodec/vorbis.c libavcodec/vorbis_data.c libavcodec/x86/vorbisdsp_init.c libavcodec/x86/vorbisdsp.asm +CONFIG_WAVPACK_DECODER libavcodec/wavpack.c +CONFIG_WMALOSSLESS_DECODER libavcodec/wmalosslessdec.c libavcodec/wma_common.c +CONFIG_WMAPRO_DECODER libavcodec/wmaprodec.c libavcodec/wma.c libavcodec/wma_common.c +CONFIG_WMAV1_DECODER libavcodec/wmadec.c libavcodec/wma.c libavcodec/wma_common.c libavcodec/aactab.c +CONFIG_WMAV2_DECODER libavcodec/wmadec.c libavcodec/wma.c libavcodec/wma_common.c libavcodec/aactab.c +CONFIG_WMAVOICE_DECODER libavcodec/wmavoice.c libavcodec/celp_filters.c libavcodec/acelp_vectors.c libavcodec/acelp_filters.c +CONFIG_WS_SND1_DECODER libavcodec/ws-snd1.c +CONFIG_XMA1_DECODER libavcodec/wmaprodec.c libavcodec/wma.c libavcodec/wma_common.c +CONFIG_XMA2_DECODER libavcodec/wmaprodec.c libavcodec/wma.c libavcodec/wma_common.c +CONFIG_PCM_ALAW_DECODER libavcodec/pcm.c +CONFIG_PCM_BLURAY_DECODER libavcodec/pcm-bluray.c +CONFIG_PCM_DVD_DECODER libavcodec/pcm-dvd.c +CONFIG_PCM_F32BE_DECODER libavcodec/pcm.c +CONFIG_PCM_F32LE_DECODER libavcodec/pcm.c +CONFIG_PCM_F64BE_DECODER libavcodec/pcm.c +CONFIG_PCM_F64LE_DECODER libavcodec/pcm.c +CONFIG_PCM_LXF_DECODER libavcodec/pcm.c +CONFIG_PCM_MULAW_DECODER libavcodec/pcm.c +CONFIG_PCM_S8_DECODER libavcodec/pcm.c +CONFIG_PCM_S8_PLANAR_DECODER libavcodec/pcm.c +CONFIG_PCM_S16BE_DECODER libavcodec/pcm.c +CONFIG_PCM_S16BE_PLANAR_DECODER libavcodec/pcm.c +CONFIG_PCM_S16LE_DECODER libavcodec/pcm.c +CONFIG_PCM_S16LE_PLANAR_DECODER libavcodec/pcm.c +CONFIG_PCM_S24BE_DECODER libavcodec/pcm.c +CONFIG_PCM_S24DAUD_DECODER libavcodec/pcm.c +CONFIG_PCM_S24LE_DECODER libavcodec/pcm.c +CONFIG_PCM_S24LE_PLANAR_DECODER libavcodec/pcm.c +CONFIG_PCM_S32BE_DECODER libavcodec/pcm.c +CONFIG_PCM_S32LE_DECODER libavcodec/pcm.c +CONFIG_PCM_S32LE_PLANAR_DECODER libavcodec/pcm.c +CONFIG_PCM_S64BE_DECODER libavcodec/pcm.c +CONFIG_PCM_S64LE_DECODER libavcodec/pcm.c +CONFIG_PCM_U8_DECODER libavcodec/pcm.c +CONFIG_PCM_U16BE_DECODER libavcodec/pcm.c +CONFIG_PCM_U16LE_DECODER libavcodec/pcm.c +CONFIG_PCM_U24BE_DECODER libavcodec/pcm.c +CONFIG_PCM_U24LE_DECODER libavcodec/pcm.c +CONFIG_PCM_U32BE_DECODER libavcodec/pcm.c +CONFIG_PCM_U32LE_DECODER libavcodec/pcm.c +CONFIG_PCM_ZORK_DECODER libavcodec/pcm.c +CONFIG_INTERPLAY_DPCM_DECODER libavcodec/dpcm.c +CONFIG_ROQ_DPCM_DECODER libavcodec/dpcm.c +CONFIG_SOL_DPCM_DECODER libavcodec/dpcm.c +CONFIG_XAN_DPCM_DECODER libavcodec/dpcm.c +CONFIG_ADPCM_4XM_DECODER libavcodec/adpcm.c libavcodec/adpcm_data.c +CONFIG_ADPCM_ADX_DECODER libavcodec/adxdec.c libavcodec/adx.c +CONFIG_ADPCM_AFC_DECODER libavcodec/adpcm.c libavcodec/adpcm_data.c +CONFIG_ADPCM_AICA_DECODER libavcodec/adpcm.c libavcodec/adpcm_data.c +CONFIG_ADPCM_CT_DECODER libavcodec/adpcm.c libavcodec/adpcm_data.c +CONFIG_ADPCM_DTK_DECODER libavcodec/adpcm.c libavcodec/adpcm_data.c +CONFIG_ADPCM_EA_DECODER libavcodec/adpcm.c libavcodec/adpcm_data.c +CONFIG_ADPCM_EA_MAXIS_XA_DECODER libavcodec/adpcm.c libavcodec/adpcm_data.c +CONFIG_ADPCM_EA_R1_DECODER libavcodec/adpcm.c libavcodec/adpcm_data.c +CONFIG_ADPCM_EA_R2_DECODER libavcodec/adpcm.c libavcodec/adpcm_data.c +CONFIG_ADPCM_EA_R3_DECODER libavcodec/adpcm.c libavcodec/adpcm_data.c +CONFIG_ADPCM_EA_XAS_DECODER libavcodec/adpcm.c libavcodec/adpcm_data.c +CONFIG_ADPCM_G722_DECODER libavcodec/g722.c libavcodec/g722dsp.c libavcodec/g722dec.c libavcodec/x86/g722dsp_init.c libavcodec/x86/g722dsp.asm +CONFIG_ADPCM_G726_DECODER libavcodec/g726.c +CONFIG_ADPCM_G726LE_DECODER libavcodec/g726.c +CONFIG_ADPCM_IMA_AMV_DECODER libavcodec/adpcm.c libavcodec/adpcm_data.c +CONFIG_ADPCM_IMA_APC_DECODER libavcodec/adpcm.c libavcodec/adpcm_data.c +CONFIG_ADPCM_IMA_DAT4_DECODER libavcodec/adpcm.c libavcodec/adpcm_data.c +CONFIG_ADPCM_IMA_DK3_DECODER libavcodec/adpcm.c libavcodec/adpcm_data.c +CONFIG_ADPCM_IMA_DK4_DECODER libavcodec/adpcm.c libavcodec/adpcm_data.c +CONFIG_ADPCM_IMA_EA_EACS_DECODER libavcodec/adpcm.c libavcodec/adpcm_data.c +CONFIG_ADPCM_IMA_EA_SEAD_DECODER libavcodec/adpcm.c libavcodec/adpcm_data.c +CONFIG_ADPCM_IMA_ISS_DECODER libavcodec/adpcm.c libavcodec/adpcm_data.c +CONFIG_ADPCM_IMA_OKI_DECODER libavcodec/adpcm.c libavcodec/adpcm_data.c +CONFIG_ADPCM_IMA_QT_DECODER libavcodec/adpcm.c libavcodec/adpcm_data.c +CONFIG_ADPCM_IMA_RAD_DECODER libavcodec/adpcm.c libavcodec/adpcm_data.c +CONFIG_ADPCM_IMA_SMJPEG_DECODER libavcodec/adpcm.c libavcodec/adpcm_data.c +CONFIG_ADPCM_IMA_WAV_DECODER libavcodec/adpcm.c libavcodec/adpcm_data.c +CONFIG_ADPCM_IMA_WS_DECODER libavcodec/adpcm.c libavcodec/adpcm_data.c +CONFIG_ADPCM_MS_DECODER libavcodec/adpcm.c libavcodec/adpcm_data.c +CONFIG_ADPCM_MTAF_DECODER libavcodec/adpcm.c libavcodec/adpcm_data.c +CONFIG_ADPCM_PSX_DECODER libavcodec/adpcm.c libavcodec/adpcm_data.c +CONFIG_ADPCM_SBPRO_2_DECODER libavcodec/adpcm.c libavcodec/adpcm_data.c +CONFIG_ADPCM_SBPRO_3_DECODER libavcodec/adpcm.c libavcodec/adpcm_data.c +CONFIG_ADPCM_SBPRO_4_DECODER libavcodec/adpcm.c libavcodec/adpcm_data.c +CONFIG_ADPCM_SWF_DECODER libavcodec/adpcm.c libavcodec/adpcm_data.c +CONFIG_ADPCM_THP_DECODER libavcodec/adpcm.c libavcodec/adpcm_data.c +CONFIG_ADPCM_THP_LE_DECODER libavcodec/adpcm.c libavcodec/adpcm_data.c +CONFIG_ADPCM_VIMA_DECODER libavcodec/vima.c libavcodec/adpcm_data.c +CONFIG_ADPCM_XA_DECODER libavcodec/adpcm.c libavcodec/adpcm_data.c +CONFIG_ADPCM_YAMAHA_DECODER libavcodec/adpcm.c libavcodec/adpcm_data.c +CONFIG_SSA_DECODER libavcodec/assdec.c libavcodec/ass.c +CONFIG_ASS_DECODER libavcodec/assdec.c libavcodec/ass.c +CONFIG_CCAPTION_DECODER libavcodec/ccaption_dec.c +CONFIG_DVBSUB_DECODER libavcodec/dvbsubdec.c +CONFIG_DVDSUB_DECODER libavcodec/dvdsubdec.c +CONFIG_JACOSUB_DECODER libavcodec/jacosubdec.c libavcodec/ass.c +CONFIG_MICRODVD_DECODER libavcodec/microdvddec.c libavcodec/ass.c +CONFIG_MOVTEXT_DECODER libavcodec/movtextdec.c libavcodec/ass.c +CONFIG_MPL2_DECODER libavcodec/mpl2dec.c libavcodec/ass.c +CONFIG_PGSSUB_DECODER libavcodec/pgssubdec.c +CONFIG_PJS_DECODER libavcodec/textdec.c libavcodec/ass.c +CONFIG_REALTEXT_DECODER libavcodec/realtextdec.c libavcodec/ass.c +CONFIG_SAMI_DECODER libavcodec/samidec.c libavcodec/ass.c libavcodec/htmlsubtitles.c +CONFIG_SRT_DECODER libavcodec/srtdec.c libavcodec/ass.c libavcodec/htmlsubtitles.c +CONFIG_STL_DECODER libavcodec/textdec.c libavcodec/ass.c +CONFIG_SUBRIP_DECODER libavcodec/srtdec.c libavcodec/ass.c libavcodec/htmlsubtitles.c +CONFIG_SUBVIEWER_DECODER libavcodec/subviewerdec.c libavcodec/ass.c +CONFIG_SUBVIEWER1_DECODER libavcodec/textdec.c libavcodec/ass.c +CONFIG_TEXT_DECODER libavcodec/textdec.c libavcodec/ass.c +CONFIG_VPLAYER_DECODER libavcodec/textdec.c libavcodec/ass.c +CONFIG_WEBVTT_DECODER libavcodec/webvttdec.c libavcodec/ass.c +CONFIG_XSUB_DECODER libavcodec/xsubdec.c +CONFIG_AAC_AT_DECODER libavcodec/audiotoolboxdec.c +CONFIG_AC3_AT_DECODER libavcodec/audiotoolboxdec.c +CONFIG_ADPCM_IMA_QT_AT_DECODER libavcodec/audiotoolboxdec.c +CONFIG_ALAC_AT_DECODER libavcodec/audiotoolboxdec.c +CONFIG_AMR_NB_AT_DECODER libavcodec/audiotoolboxdec.c +CONFIG_EAC3_AT_DECODER libavcodec/audiotoolboxdec.c +CONFIG_GSM_MS_AT_DECODER libavcodec/audiotoolboxdec.c +CONFIG_ILBC_AT_DECODER libavcodec/audiotoolboxdec.c +CONFIG_MP1_AT_DECODER libavcodec/audiotoolboxdec.c libavcodec/mpegaudiodata.c libavcodec/mpegaudiodecheader.c +CONFIG_MP2_AT_DECODER libavcodec/audiotoolboxdec.c libavcodec/mpegaudiodata.c libavcodec/mpegaudiodecheader.c +CONFIG_MP3_AT_DECODER libavcodec/audiotoolboxdec.c libavcodec/mpegaudiodata.c libavcodec/mpegaudiodecheader.c +CONFIG_PCM_ALAW_AT_DECODER libavcodec/audiotoolboxdec.c +CONFIG_PCM_MULAW_AT_DECODER libavcodec/audiotoolboxdec.c +CONFIG_QDMC_AT_DECODER libavcodec/audiotoolboxdec.c +CONFIG_QDM2_AT_DECODER libavcodec/audiotoolboxdec.c +CONFIG_LIBCELT_DECODER libavcodec/libcelt_dec.c +CONFIG_LIBFDK_AAC_DECODER libavcodec/libfdk-aacdec.c +CONFIG_LIBGSM_DECODER libavcodec/libgsmdec.c +CONFIG_LIBGSM_MS_DECODER libavcodec/libgsmdec.c +CONFIG_LIBILBC_DECODER libavcodec/libilbc.c +CONFIG_LIBOPENCORE_AMRNB_DECODER libavcodec/libopencore-amr.c +CONFIG_LIBOPENCORE_AMRWB_DECODER libavcodec/libopencore-amr.c +CONFIG_LIBOPENJPEG_DECODER libavcodec/libopenjpegdec.c +CONFIG_LIBOPUS_DECODER libavcodec/libopusdec.c libavcodec/libopus.c libavcodec/vorbis_data.c +CONFIG_LIBSCHROEDINGER_DECODER libavcodec/libschroedingerdec.c libavcodec/libschroedinger.c +CONFIG_LIBSPEEX_DECODER libavcodec/libspeexdec.c +CONFIG_LIBVORBIS_DECODER libavcodec/libvorbisdec.c +CONFIG_LIBVPX_VP8_DECODER libavcodec/libvpxdec.c +CONFIG_LIBVPX_VP9_DECODER libavcodec/libvpxdec.c libavcodec/libvpx.c +CONFIG_LIBZVBI_TELETEXT_DECODER libavcodec/libzvbi-teletextdec.c libavcodec/ass.c +CONFIG_BINTEXT_DECODER libavcodec/bintext.c libavcodec/cga_data.c +CONFIG_XBIN_DECODER libavcodec/bintext.c libavcodec/cga_data.c +CONFIG_IDF_DECODER libavcodec/bintext.c libavcodec/cga_data.c +CONFIG_LIBOPENH264_DECODER libavcodec/libopenh264dec.c libavcodec/libopenh264.c +CONFIG_H263_CUVID_DECODER +CONFIG_H264_CUVID_DECODER libavcodec/cuvid.c +CONFIG_HEVC_CUVID_DECODER libavcodec/cuvid.c +CONFIG_HEVC_MEDIACODEC_DECODER libavcodec/mediacodecdec.c libavcodec/hevc_parse.c +CONFIG_MJPEG_CUVID_DECODER +CONFIG_MPEG1_CUVID_DECODER +CONFIG_MPEG2_CUVID_DECODER +CONFIG_MPEG4_CUVID_DECODER +CONFIG_MPEG4_MEDIACODEC_DECODER libavcodec/mediacodecdec.c +CONFIG_VC1_CUVID_DECODER libavcodec/cuvid.c +CONFIG_VP8_CUVID_DECODER libavcodec/cuvid.c +CONFIG_VP8_MEDIACODEC_DECODER libavcodec/mediacodecdec.c +CONFIG_VP9_CUVID_DECODER libavcodec/cuvid.c +CONFIG_VP9_MEDIACODEC_DECODER libavcodec/mediacodecdec.c +CONFIG_AA_DEMUXER libavformat/aadec.c +CONFIG_AAC_DEMUXER libavformat/aacdec.c libavformat/apetag.c libavformat/img2.c libavformat/rawdec.c +CONFIG_AC3_DEMUXER libavformat/ac3dec.c libavformat/rawdec.c +CONFIG_ACM_DEMUXER libavformat/acm.c libavformat/rawdec.c +CONFIG_ACT_DEMUXER libavformat/act.c +CONFIG_ADF_DEMUXER libavformat/bintext.c libavformat/sauce.c +CONFIG_ADP_DEMUXER libavformat/adp.c +CONFIG_ADS_DEMUXER libavformat/ads.c +CONFIG_ADX_DEMUXER libavformat/adxdec.c +CONFIG_AEA_DEMUXER libavformat/aea.c libavformat/pcm.c +CONFIG_AFC_DEMUXER libavformat/afc.c +CONFIG_AIFF_DEMUXER libavformat/aiffdec.c libavformat/pcm.c libavformat/isom.c libavformat/mov_chan.c +CONFIG_AIX_DEMUXER libavformat/aixdec.c +CONFIG_AMR_DEMUXER libavformat/amr.c +CONFIG_ANM_DEMUXER libavformat/anm.c +CONFIG_APC_DEMUXER libavformat/apc.c +CONFIG_APE_DEMUXER libavformat/ape.c libavformat/apetag.c libavformat/img2.c +CONFIG_APNG_DEMUXER libavformat/apngdec.c +CONFIG_AQTITLE_DEMUXER libavformat/aqtitledec.c libavformat/subtitles.c +CONFIG_ASF_DEMUXER libavformat/asfdec_f.c libavformat/asf.c libavformat/asfcrypt.c libavformat/avlanguage.c +CONFIG_ASF_O_DEMUXER libavformat/asfdec_o.c libavformat/asf.c libavformat/asfcrypt.c libavformat/avlanguage.c +CONFIG_ASS_DEMUXER libavformat/assdec.c libavformat/subtitles.c +CONFIG_AST_DEMUXER libavformat/ast.c libavformat/astdec.c +CONFIG_AU_DEMUXER libavformat/au.c libavformat/pcm.c +CONFIG_AVI_DEMUXER libavformat/avidec.c +CONFIG_AVISYNTH_DEMUXER +CONFIG_AVR_DEMUXER libavformat/avr.c libavformat/pcm.c +CONFIG_AVS_DEMUXER libavformat/avs.c libavformat/voc_packet.c libavformat/vocdec.c libavformat/voc.c +CONFIG_BETHSOFTVID_DEMUXER libavformat/bethsoftvid.c +CONFIG_BFI_DEMUXER libavformat/bfi.c +CONFIG_BINTEXT_DEMUXER libavformat/bintext.c libavformat/sauce.c +CONFIG_BINK_DEMUXER libavformat/bink.c +CONFIG_BIT_DEMUXER libavformat/bit.c +CONFIG_BMV_DEMUXER libavformat/bmv.c +CONFIG_BFSTM_DEMUXER libavformat/brstm.c +CONFIG_BRSTM_DEMUXER libavformat/brstm.c +CONFIG_BOA_DEMUXER libavformat/boadec.c +CONFIG_C93_DEMUXER libavformat/c93.c libavformat/voc_packet.c libavformat/vocdec.c libavformat/voc.c +CONFIG_CAF_DEMUXER libavcodec/ac3tab.c libavformat/cafdec.c libavformat/caf.c libavformat/mov.c libavformat/mov_chan.c libavformat/replaygain.c +CONFIG_CAVSVIDEO_DEMUXER libavformat/cavsvideodec.c libavformat/rawdec.c +CONFIG_CDG_DEMUXER libavformat/cdg.c +CONFIG_CDXL_DEMUXER libavformat/cdxl.c +CONFIG_CINE_DEMUXER libavformat/cinedec.c +CONFIG_CONCAT_DEMUXER libavformat/concatdec.c +CONFIG_DATA_DEMUXER libavformat/rawdec.c +CONFIG_DAUD_DEMUXER libavformat/dauddec.c +CONFIG_DCSTR_DEMUXER libavformat/dcstr.c +CONFIG_DFA_DEMUXER libavformat/dfa.c +CONFIG_DIRAC_DEMUXER libavformat/diracdec.c libavformat/rawdec.c +CONFIG_DNXHD_DEMUXER libavcodec/dnxhddata.c libavformat/dnxhddec.c libavformat/rawdec.c +CONFIG_DSF_DEMUXER libavformat/dsfdec.c +CONFIG_DSICIN_DEMUXER libavformat/dsicin.c +CONFIG_DSS_DEMUXER libavformat/dss.c +CONFIG_DTS_DEMUXER libavformat/dtsdec.c libavformat/rawdec.c +CONFIG_DTSHD_DEMUXER libavformat/dtshddec.c +CONFIG_DV_DEMUXER libavformat/dv.c +CONFIG_DVBSUB_DEMUXER libavformat/dvbsub.c +CONFIG_DVBTXT_DEMUXER libavformat/dvbtxt.c +CONFIG_DXA_DEMUXER libavformat/dxa.c +CONFIG_EA_DEMUXER libavformat/electronicarts.c +CONFIG_EA_CDATA_DEMUXER libavformat/eacdata.c +CONFIG_EAC3_DEMUXER libavformat/ac3dec.c libavformat/rawdec.c +CONFIG_EPAF_DEMUXER libavformat/epafdec.c libavformat/pcm.c +CONFIG_FFM_DEMUXER libavformat/ffmdec.c +CONFIG_FFMETADATA_DEMUXER libavformat/ffmetadec.c +CONFIG_FILMSTRIP_DEMUXER libavformat/filmstripdec.c +CONFIG_FLAC_DEMUXER libavcodec/flac.c libavcodec/flacdata.c libavcodec/vorbis_data.c libavformat/flacdec.c libavformat/rawdec.c libavformat/flac_picture.c libavformat/oggparsevorbis.c libavformat/replaygain.c libavformat/vorbiscomment.c +CONFIG_FLIC_DEMUXER libavformat/flic.c +CONFIG_FLV_DEMUXER libavcodec/mpeg4audio.c libavformat/flvdec.c +CONFIG_LIVE_FLV_DEMUXER libavformat/flvdec.c +CONFIG_FOURXM_DEMUXER libavformat/4xm.c +CONFIG_FRM_DEMUXER libavformat/frmdec.c +CONFIG_FSB_DEMUXER libavformat/fsb.c +CONFIG_G722_DEMUXER libavformat/g722.c libavformat/rawdec.c +CONFIG_G723_1_DEMUXER libavformat/g723_1.c +CONFIG_G729_DEMUXER libavformat/g729dec.c +CONFIG_GENH_DEMUXER libavformat/genh.c +CONFIG_GIF_DEMUXER libavformat/gifdec.c +CONFIG_GSM_DEMUXER libavformat/gsmdec.c +CONFIG_GXF_DEMUXER libavcodec/mpeg12data.c libavformat/gxf.c +CONFIG_H261_DEMUXER libavformat/h261dec.c libavformat/rawdec.c +CONFIG_H263_DEMUXER libavformat/h263dec.c libavformat/rawdec.c +CONFIG_H264_DEMUXER libavformat/h264dec.c libavformat/rawdec.c +CONFIG_HEVC_DEMUXER libavformat/hevcdec.c libavformat/rawdec.c +CONFIG_HLS_DEMUXER libavformat/hls.c +CONFIG_HNM_DEMUXER libavformat/hnm.c +CONFIG_ICO_DEMUXER libavformat/icodec.c +CONFIG_IDCIN_DEMUXER libavformat/idcin.c +CONFIG_IDF_DEMUXER libavformat/bintext.c libavformat/sauce.c +CONFIG_IFF_DEMUXER libavcodec/iff.c libavformat/iff.c +CONFIG_ILBC_DEMUXER libavformat/ilbc.c +CONFIG_IMAGE2_DEMUXER libavformat/img2dec.c libavformat/img2.c +CONFIG_IMAGE2PIPE_DEMUXER libavformat/img2dec.c libavformat/img2.c +CONFIG_IMAGE2_ALIAS_PIX_DEMUXER libavformat/img2_alias_pix.c +CONFIG_IMAGE2_BRENDER_PIX_DEMUXER libavformat/img2_brender_pix.c +CONFIG_INGENIENT_DEMUXER libavformat/ingenientdec.c libavformat/rawdec.c +CONFIG_IPMOVIE_DEMUXER libavformat/ipmovie.c +CONFIG_IRCAM_DEMUXER libavformat/ircamdec.c libavformat/ircam.c libavformat/pcm.c +CONFIG_ISS_DEMUXER libavformat/iss.c +CONFIG_IV8_DEMUXER libavformat/iv8.c +CONFIG_IVF_DEMUXER libavformat/ivfdec.c +CONFIG_IVR_DEMUXER libavformat/rmdec.c libavformat/rm.c libavformat/rmsipr.c +CONFIG_JACOSUB_DEMUXER libavformat/jacosubdec.c libavformat/subtitles.c +CONFIG_JV_DEMUXER libavformat/jvdec.c +CONFIG_LMLM4_DEMUXER libavformat/lmlm4.c +CONFIG_LOAS_DEMUXER libavformat/loasdec.c libavformat/rawdec.c +CONFIG_LRC_DEMUXER libavformat/lrcdec.c libavformat/lrc.c libavformat/subtitles.c +CONFIG_LVF_DEMUXER libavformat/lvfdec.c +CONFIG_LXF_DEMUXER libavformat/lxfdec.c +CONFIG_M4V_DEMUXER libavformat/m4vdec.c libavformat/rawdec.c +CONFIG_MATROSKA_DEMUXER libavformat/matroskadec.c libavformat/matroska.c libavformat/rmsipr.c libavformat/flac_picture.c libavformat/oggparsevorbis.c libavformat/vorbiscomment.c libavformat/flac_picture.c libavformat/replaygain.c +CONFIG_MGSTS_DEMUXER libavformat/mgsts.c +CONFIG_MICRODVD_DEMUXER libavformat/microdvddec.c libavformat/subtitles.c +CONFIG_MJPEG_DEMUXER libavformat/rawdec.c +CONFIG_MLP_DEMUXER libavformat/rawdec.c libavformat/mlpdec.c +CONFIG_MLV_DEMUXER libavformat/mlvdec.c libavformat/riffdec.c +CONFIG_MM_DEMUXER libavformat/mm.c +CONFIG_MMF_DEMUXER libavformat/mmf.c +CONFIG_MOV_DEMUXER libavcodec/ac3tab.c libavformat/mov.c libavformat/mov_chan.c libavformat/replaygain.c +CONFIG_MP3_DEMUXER libavformat/mp3dec.c libavformat/replaygain.c +CONFIG_MPC_DEMUXER libavformat/mpc.c libavformat/apetag.c libavformat/img2.c +CONFIG_MPC8_DEMUXER libavformat/mpc8.c libavformat/apetag.c libavformat/img2.c +CONFIG_MPEGPS_DEMUXER libavformat/mpeg.c +CONFIG_MPEGTS_DEMUXER libavformat/mpegts.c +CONFIG_MPEGTSRAW_DEMUXER +CONFIG_MPEGVIDEO_DEMUXER libavformat/mpegvideodec.c libavformat/rawdec.c +CONFIG_MPJPEG_DEMUXER libavformat/mpjpegdec.c +CONFIG_MPL2_DEMUXER libavformat/mpl2dec.c libavformat/subtitles.c +CONFIG_MPSUB_DEMUXER libavformat/mpsubdec.c libavformat/subtitles.c +CONFIG_MSF_DEMUXER libavformat/msf.c +CONFIG_MSNWC_TCP_DEMUXER libavformat/msnwc_tcp.c +CONFIG_MTAF_DEMUXER libavformat/mtaf.c +CONFIG_MTV_DEMUXER libavformat/mtv.c +CONFIG_MUSX_DEMUXER libavformat/musx.c +CONFIG_MV_DEMUXER libavformat/mvdec.c +CONFIG_MVI_DEMUXER libavformat/mvi.c +CONFIG_MXF_DEMUXER libavformat/mxfdec.c libavformat/mxf.c +CONFIG_MXG_DEMUXER libavformat/mxg.c +CONFIG_NC_DEMUXER libavformat/ncdec.c +CONFIG_NISTSPHERE_DEMUXER libavformat/nistspheredec.c libavformat/pcm.c +CONFIG_NSV_DEMUXER libavformat/nsvdec.c +CONFIG_NUT_DEMUXER libavcodec/mpegaudiodata.c libavcodec/mpeg4audio.c libavformat/nutdec.c libavformat/nut.c libavformat/isom.c +CONFIG_NUV_DEMUXER libavformat/nuv.c +CONFIG_OGG_DEMUXER libavcodec/mpeg12data.c libavcodec/dirac.c libavcodec/vorbis_data.c libavformat/oggdec.c libavformat/oggparsecelt.c libavformat/oggparsedaala.c libavformat/oggparsedirac.c libavformat/oggparseflac.c libavformat/oggparseogm.c libavformat/oggparseopus.c libavformat/oggparseskeleton.c libavformat/oggparsespeex.c libavformat/oggparsetheora.c libavformat/oggparsevorbis.c libavformat/oggparsevp8.c libavformat/replaygain.c libavformat/vorbiscomment.c libavformat/flac_picture.c +CONFIG_OMA_DEMUXER libavformat/omadec.c libavformat/pcm.c libavformat/oma.c +CONFIG_PAF_DEMUXER libavformat/paf.c +CONFIG_PCM_ALAW_DEMUXER libavformat/pcmdec.c libavformat/pcm.c +CONFIG_PCM_MULAW_DEMUXER libavformat/pcmdec.c libavformat/pcm.c +CONFIG_PCM_F64BE_DEMUXER libavformat/pcmdec.c libavformat/pcm.c +CONFIG_PCM_F64LE_DEMUXER libavformat/pcmdec.c libavformat/pcm.c +CONFIG_PCM_F32BE_DEMUXER libavformat/pcmdec.c libavformat/pcm.c +CONFIG_PCM_F32LE_DEMUXER libavformat/pcmdec.c libavformat/pcm.c +CONFIG_PCM_S32BE_DEMUXER libavformat/pcmdec.c libavformat/pcm.c +CONFIG_PCM_S32LE_DEMUXER libavformat/pcmdec.c libavformat/pcm.c +CONFIG_PCM_S24BE_DEMUXER libavformat/pcmdec.c libavformat/pcm.c +CONFIG_PCM_S24LE_DEMUXER libavformat/pcmdec.c libavformat/pcm.c +CONFIG_PCM_S16BE_DEMUXER libavformat/pcmdec.c libavformat/pcm.c +CONFIG_PCM_S16LE_DEMUXER libavformat/pcmdec.c libavformat/pcm.c +CONFIG_PCM_S8_DEMUXER libavformat/pcmdec.c libavformat/pcm.c +CONFIG_PCM_U32BE_DEMUXER libavformat/pcmdec.c libavformat/pcm.c +CONFIG_PCM_U32LE_DEMUXER libavformat/pcmdec.c libavformat/pcm.c +CONFIG_PCM_U24BE_DEMUXER libavformat/pcmdec.c libavformat/pcm.c +CONFIG_PCM_U24LE_DEMUXER libavformat/pcmdec.c libavformat/pcm.c +CONFIG_PCM_U16BE_DEMUXER libavformat/pcmdec.c libavformat/pcm.c +CONFIG_PCM_U16LE_DEMUXER libavformat/pcmdec.c libavformat/pcm.c +CONFIG_PCM_U8_DEMUXER libavformat/pcmdec.c libavformat/pcm.c +CONFIG_PJS_DEMUXER libavformat/pjsdec.c libavformat/subtitles.c +CONFIG_PMP_DEMUXER libavformat/pmpdec.c +CONFIG_PVA_DEMUXER libavformat/pva.c +CONFIG_PVF_DEMUXER libavformat/pvfdec.c libavformat/pcm.c +CONFIG_QCP_DEMUXER libavformat/qcp.c +CONFIG_R3D_DEMUXER libavformat/r3d.c +CONFIG_RAWVIDEO_DEMUXER libavformat/rawvideodec.c +CONFIG_REALTEXT_DEMUXER libavformat/realtextdec.c libavformat/subtitles.c +CONFIG_REDSPARK_DEMUXER libavformat/redspark.c +CONFIG_RL2_DEMUXER libavformat/rl2.c +CONFIG_RM_DEMUXER libavformat/rmdec.c libavformat/rm.c libavformat/rmsipr.c +CONFIG_ROQ_DEMUXER libavformat/idroqdec.c +CONFIG_RPL_DEMUXER libavformat/rpl.c +CONFIG_RSD_DEMUXER libavformat/rsd.c +CONFIG_RSO_DEMUXER libavformat/rsodec.c libavformat/rso.c libavformat/pcm.c +CONFIG_RTP_DEMUXER +CONFIG_RTSP_DEMUXER libavformat/rtsp.c libavformat/rtspdec.c libavformat/httpauth.c libavformat/urldecode.c +CONFIG_SAMI_DEMUXER libavformat/samidec.c libavformat/subtitles.c +CONFIG_SAP_DEMUXER libavformat/sapdec.c +CONFIG_SBG_DEMUXER libavformat/sbgdec.c +CONFIG_SDP_DEMUXER libavformat/rtsp.c +CONFIG_SDR2_DEMUXER libavformat/sdr2.c +CONFIG_SEGAFILM_DEMUXER libavformat/segafilm.c +CONFIG_SHORTEN_DEMUXER libavformat/shortendec.c libavformat/rawdec.c +CONFIG_SIFF_DEMUXER libavformat/siff.c +CONFIG_SLN_DEMUXER +CONFIG_SMACKER_DEMUXER libavformat/smacker.c +CONFIG_SMJPEG_DEMUXER libavformat/smjpegdec.c libavformat/smjpeg.c +CONFIG_SMUSH_DEMUXER libavformat/smush.c +CONFIG_SOL_DEMUXER libavformat/sol.c libavformat/pcm.c +CONFIG_SOX_DEMUXER libavformat/soxdec.c libavformat/pcm.c +CONFIG_SPDIF_DEMUXER libavcodec/aacadtsdec.c libavcodec/mpeg4audio.c libavformat/spdif.c libavformat/spdifdec.c +CONFIG_SRT_DEMUXER libavformat/srtdec.c libavformat/subtitles.c +CONFIG_STR_DEMUXER libavformat/psxstr.c +CONFIG_STL_DEMUXER libavformat/stldec.c libavformat/subtitles.c +CONFIG_SUBVIEWER1_DEMUXER libavformat/subviewer1dec.c libavformat/subtitles.c +CONFIG_SUBVIEWER_DEMUXER libavformat/subviewerdec.c libavformat/subtitles.c +CONFIG_SUP_DEMUXER libavformat/supdec.c +CONFIG_SVAG_DEMUXER libavformat/svag.c +CONFIG_SWF_DEMUXER libavformat/swfdec.c libavformat/swf.c +CONFIG_TAK_DEMUXER libavcodec/tak.c libavformat/takdec.c libavformat/apetag.c libavformat/img2.c libavformat/rawdec.c +CONFIG_TEDCAPTIONS_DEMUXER libavformat/tedcaptionsdec.c libavformat/subtitles.c +CONFIG_THP_DEMUXER libavformat/thp.c +CONFIG_THREEDOSTR_DEMUXER libavformat/3dostr.c +CONFIG_TIERTEXSEQ_DEMUXER libavformat/tiertexseq.c +CONFIG_TMV_DEMUXER libavformat/tmv.c +CONFIG_TRUEHD_DEMUXER libavformat/rawdec.c libavformat/mlpdec.c +CONFIG_TTA_DEMUXER libavformat/tta.c libavformat/apetag.c libavformat/img2.c +CONFIG_TXD_DEMUXER libavformat/txd.c +CONFIG_TTY_DEMUXER libavformat/tty.c libavformat/sauce.c +CONFIG_V210_DEMUXER libavformat/v210.c +CONFIG_V210X_DEMUXER libavformat/v210.c +CONFIG_VAG_DEMUXER libavformat/vag.c +CONFIG_VC1_DEMUXER libavformat/rawdec.c libavformat/vc1dec.c +CONFIG_VC1T_DEMUXER libavformat/vc1test.c +CONFIG_VIVO_DEMUXER libavformat/vivo.c +CONFIG_VMD_DEMUXER libavformat/sierravmd.c +CONFIG_VOBSUB_DEMUXER libavformat/subtitles.c +CONFIG_VOC_DEMUXER libavformat/vocdec.c libavformat/voc_packet.c libavformat/voc.c +CONFIG_VPK_DEMUXER libavformat/vpk.c +CONFIG_VPLAYER_DEMUXER libavformat/vplayerdec.c libavformat/subtitles.c +CONFIG_VQF_DEMUXER libavformat/vqf.c +CONFIG_W64_DEMUXER libavformat/wavdec.c libavformat/w64.c libavformat/pcm.c +CONFIG_WAV_DEMUXER libavformat/wavdec.c libavformat/pcm.c +CONFIG_WC3_DEMUXER libavformat/wc3movie.c +CONFIG_WEBM_DASH_MANIFEST_DEMUXER +CONFIG_WEBVTT_DEMUXER libavformat/webvttdec.c libavformat/subtitles.c +CONFIG_WSAUD_DEMUXER libavformat/westwood_aud.c +CONFIG_WSD_DEMUXER libavformat/wsddec.c libavformat/rawdec.c +CONFIG_WSVQA_DEMUXER libavformat/westwood_vqa.c +CONFIG_WTV_DEMUXER libavformat/wtvdec.c libavformat/wtv_common.c libavformat/asf.c +CONFIG_WVE_DEMUXER libavformat/wvedec.c libavformat/pcm.c +CONFIG_WV_DEMUXER libavformat/wvdec.c libavformat/wv.c libavformat/apetag.c libavformat/img2.c +CONFIG_XA_DEMUXER libavformat/xa.c +CONFIG_XBIN_DEMUXER libavformat/bintext.c libavformat/sauce.c +CONFIG_XMV_DEMUXER libavformat/xmv.c +CONFIG_XVAG_DEMUXER libavformat/xvag.c +CONFIG_XWMA_DEMUXER libavformat/xwma.c +CONFIG_YOP_DEMUXER libavformat/yop.c +CONFIG_YUV4MPEGPIPE_DEMUXER libavformat/yuv4mpegdec.c +CONFIG_IMAGE_BMP_PIPE_DEMUXER libavformat/img2dec.c libavformat/img2.c +CONFIG_IMAGE_DDS_PIPE_DEMUXER libavformat/img2dec.c libavformat/img2.c +CONFIG_IMAGE_DPX_PIPE_DEMUXER libavformat/img2dec.c libavformat/img2.c +CONFIG_IMAGE_EXR_PIPE_DEMUXER libavformat/img2dec.c libavformat/img2.c +CONFIG_IMAGE_J2K_PIPE_DEMUXER libavformat/img2dec.c libavformat/img2.c +CONFIG_IMAGE_JPEG_PIPE_DEMUXER libavformat/img2dec.c libavformat/img2.c +CONFIG_IMAGE_JPEGLS_PIPE_DEMUXER libavformat/img2dec.c libavformat/img2.c +CONFIG_IMAGE_PAM_PIPE_DEMUXER libavformat/img2dec.c libavformat/img2.c +CONFIG_IMAGE_PBM_PIPE_DEMUXER libavformat/img2dec.c libavformat/img2.c +CONFIG_IMAGE_PCX_PIPE_DEMUXER libavformat/img2dec.c libavformat/img2.c +CONFIG_IMAGE_PGMYUV_PIPE_DEMUXER libavformat/img2dec.c libavformat/img2.c +CONFIG_IMAGE_PGM_PIPE_DEMUXER libavformat/img2dec.c libavformat/img2.c +CONFIG_IMAGE_PICTOR_PIPE_DEMUXER libavformat/img2dec.c libavformat/img2.c +CONFIG_IMAGE_PNG_PIPE_DEMUXER libavformat/img2dec.c libavformat/img2.c +CONFIG_IMAGE_PPM_PIPE_DEMUXER libavformat/img2dec.c libavformat/img2.c +CONFIG_IMAGE_QDRAW_PIPE_DEMUXER libavformat/img2dec.c libavformat/img2.c +CONFIG_IMAGE_SGI_PIPE_DEMUXER libavformat/img2dec.c libavformat/img2.c +CONFIG_IMAGE_SUNRAST_PIPE_DEMUXER libavformat/img2dec.c libavformat/img2.c +CONFIG_IMAGE_TIFF_PIPE_DEMUXER libavformat/img2dec.c libavformat/img2.c +CONFIG_IMAGE_WEBP_PIPE_DEMUXER libavformat/img2dec.c libavformat/img2.c +CONFIG_LIBGME_DEMUXER libavformat/libgme.c +CONFIG_LIBMODPLUG_DEMUXER libavformat/libmodplug.c +CONFIG_LIBNUT_DEMUXER libavformat/libnut.c +CONFIG_LIBOPENMPT_DEMUXER libavformat/libopenmpt.c +CONFIG_A64MULTI_ENCODER libavcodec/a64multienc.c libavcodec/elbg.c +CONFIG_A64MULTI5_ENCODER libavcodec/a64multienc.c libavcodec/elbg.c +CONFIG_ALIAS_PIX_ENCODER libavcodec/aliaspixenc.c +CONFIG_AMV_ENCODER libavcodec/mjpegenc.c libavcodec/mjpegenc_common.c libavcodec/mpegvideo_enc.c libavcodec/motion_est.c libavcodec/ratecontrol.c libavcodec/mpeg12data.c libavcodec/mpegvideo.c +CONFIG_APNG_ENCODER libavcodec/png.c libavcodec/pngenc.c +CONFIG_ASV1_ENCODER libavcodec/asvenc.c libavcodec/asv.c libavcodec/mpeg12data.c +CONFIG_ASV2_ENCODER libavcodec/asvenc.c libavcodec/asv.c libavcodec/mpeg12data.c +CONFIG_AVRP_ENCODER libavcodec/r210enc.c +CONFIG_AVUI_ENCODER libavcodec/avuienc.c +CONFIG_AYUV_ENCODER libavcodec/v408enc.c +CONFIG_BMP_ENCODER libavcodec/bmpenc.c +CONFIG_CINEPAK_ENCODER libavcodec/cinepakenc.c libavcodec/elbg.c +CONFIG_CLJR_ENCODER libavcodec/cljrenc.c +CONFIG_COMFORTNOISE_ENCODER libavcodec/cngenc.c +CONFIG_DNXHD_ENCODER libavcodec/dnxhdenc.c libavcodec/dnxhddata.c libavcodec/x86/dnxhdenc_init.c libavcodec/x86/dnxhdenc.asm +CONFIG_DPX_ENCODER libavcodec/dpxenc.c +CONFIG_DVVIDEO_ENCODER libavcodec/dvenc.c libavcodec/dv.c libavcodec/dvdata.c +CONFIG_FFV1_ENCODER libavcodec/ffv1enc.c libavcodec/ffv1.c +CONFIG_FFVHUFF_ENCODER +CONFIG_FLASHSV_ENCODER libavcodec/flashsvenc.c +CONFIG_FLASHSV2_ENCODER libavcodec/flashsv2enc.c +CONFIG_FLV_ENCODER +CONFIG_GIF_ENCODER libavcodec/gif.c libavcodec/lzwenc.c +CONFIG_H261_ENCODER libavcodec/h261enc.c libavcodec/h261data.c libavcodec/h261.c +CONFIG_H263_ENCODER libavcodec/mpeg4videoenc.c libavcodec/mpeg4video.c libavcodec/h263.c libavcodec/ituh263enc.c libavcodec/flvenc.c libavcodec/h263data.c +CONFIG_H263P_ENCODER +CONFIG_HAP_ENCODER libavcodec/hapenc.c libavcodec/hap.c +CONFIG_HUFFYUV_ENCODER libavcodec/huffyuv.c libavcodec/huffyuvenc.c +CONFIG_JPEG2000_ENCODER libavcodec/j2kenc.c libavcodec/mqcenc.c libavcodec/mqc.c libavcodec/jpeg2000.c libavcodec/jpeg2000dwt.c +CONFIG_JPEGLS_ENCODER libavcodec/jpeglsenc.c libavcodec/jpegls.c +CONFIG_LJPEG_ENCODER libavcodec/ljpegenc.c libavcodec/mjpegenc_common.c +CONFIG_MJPEG_ENCODER libavcodec/mjpegenc.c libavcodec/mjpegenc_common.c +CONFIG_MPEG1VIDEO_ENCODER libavcodec/mpeg12enc.c libavcodec/mpeg12.c +CONFIG_MPEG2VIDEO_ENCODER libavcodec/mpeg12enc.c libavcodec/mpeg12.c +CONFIG_MPEG4_ENCODER +CONFIG_MSMPEG4V2_ENCODER libavcodec/msmpeg4enc.c libavcodec/msmpeg4.c libavcodec/msmpeg4data.c +CONFIG_MSMPEG4V3_ENCODER libavcodec/msmpeg4enc.c libavcodec/msmpeg4.c libavcodec/msmpeg4data.c +CONFIG_MSVIDEO1_ENCODER libavcodec/msvideo1enc.c libavcodec/elbg.c +CONFIG_PAM_ENCODER libavcodec/pamenc.c +CONFIG_PBM_ENCODER libavcodec/pnmenc.c +CONFIG_PCX_ENCODER libavcodec/pcxenc.c +CONFIG_PGM_ENCODER libavcodec/pnmenc.c +CONFIG_PGMYUV_ENCODER libavcodec/pnmenc.c +CONFIG_PNG_ENCODER libavcodec/png.c libavcodec/pngenc.c +CONFIG_PPM_ENCODER libavcodec/pnmenc.c +CONFIG_PRORES_ENCODER libavcodec/proresenc_anatoliy.c +CONFIG_PRORES_AW_ENCODER libavcodec/proresenc_anatoliy.c +CONFIG_PRORES_KS_ENCODER libavcodec/proresenc_kostya.c libavcodec/proresdata.c +CONFIG_QTRLE_ENCODER libavcodec/qtrleenc.c +CONFIG_R10K_ENCODER libavcodec/r210enc.c +CONFIG_R210_ENCODER libavcodec/r210enc.c +CONFIG_RAWVIDEO_ENCODER libavcodec/rawenc.c +CONFIG_ROQ_ENCODER libavcodec/roqvideoenc.c libavcodec/roqvideo.c libavcodec/elbg.c +CONFIG_RV10_ENCODER libavcodec/rv10enc.c +CONFIG_RV20_ENCODER libavcodec/rv20enc.c +CONFIG_S302M_ENCODER libavcodec/s302menc.c +CONFIG_SGI_ENCODER libavcodec/sgienc.c libavcodec/rle.c +CONFIG_SNOW_ENCODER libavcodec/snowenc.c libavcodec/snow.c libavcodec/snow_dwt.c libavcodec/h263.c libavcodec/ituh263enc.c libavcodec/x86/snowdsp.c +CONFIG_SUNRAST_ENCODER libavcodec/sunrastenc.c +CONFIG_SVQ1_ENCODER libavcodec/svq1enc.c libavcodec/svq1.c libavcodec/h263data.c libavcodec/h263.c libavcodec/ituh263enc.c libavcodec/x86/svq1enc_init.c libavcodec/x86/svq1enc.asm +CONFIG_TARGA_ENCODER libavcodec/targaenc.c libavcodec/rle.c +CONFIG_TIFF_ENCODER libavcodec/tiffenc.c libavcodec/rle.c libavcodec/lzwenc.c libavcodec/tiff_data.c +CONFIG_UTVIDEO_ENCODER libavcodec/utvideoenc.c libavcodec/utvideo.c +CONFIG_V210_ENCODER libavcodec/v210enc.c libavcodec/x86/v210enc_init.c libavcodec/x86/v210enc.asm +CONFIG_V308_ENCODER libavcodec/v308enc.c +CONFIG_V408_ENCODER libavcodec/v408enc.c +CONFIG_V410_ENCODER libavcodec/v410enc.c +CONFIG_VC2_ENCODER libavcodec/vc2enc.c libavcodec/vc2enc_dwt.c libavcodec/diractab.c +CONFIG_WRAPPED_AVFRAME_ENCODER libavcodec/wrapped_avframe.c +CONFIG_WMV1_ENCODER libavcodec/msmpeg4enc.c +CONFIG_WMV2_ENCODER libavcodec/wmv2enc.c libavcodec/wmv2.c libavcodec/wmv2data.c libavcodec/msmpeg4.c libavcodec/msmpeg4enc.c libavcodec/msmpeg4data.c +CONFIG_XBM_ENCODER libavcodec/xbmenc.c +CONFIG_XFACE_ENCODER libavcodec/xfaceenc.c libavcodec/xface.c +CONFIG_XWD_ENCODER libavcodec/xwdenc.c +CONFIG_Y41P_ENCODER libavcodec/y41penc.c +CONFIG_YUV4_ENCODER libavcodec/yuv4enc.c +CONFIG_ZLIB_ENCODER libavcodec/lclenc.c +CONFIG_ZMBV_ENCODER libavcodec/zmbvenc.c +CONFIG_AAC_ENCODER libavcodec/aacenc.c libavcodec/aaccoder.c libavcodec/aacenctab.c libavcodec/aacpsy.c libavcodec/aactab.c libavcodec/aacenc_is.c libavcodec/aacenc_tns.c libavcodec/aacenc_ltp.c libavcodec/aacenc_pred.c libavcodec/psymodel.c libavcodec/mpeg4audio.c libavcodec/kbdwin.c libavcodec/cbrt_data.c libavcodec/x86/aacencdsp_init.c libavcodec/x86/aacencdsp.asm +CONFIG_AC3_ENCODER libavcodec/ac3enc_float.c libavcodec/ac3enc.c libavcodec/ac3tab.c libavcodec/ac3.c libavcodec/kbdwin.c +CONFIG_AC3_FIXED_ENCODER libavcodec/ac3enc_fixed.c libavcodec/ac3enc.c libavcodec/ac3tab.c libavcodec/ac3.c +CONFIG_ALAC_ENCODER libavcodec/alacenc.c libavcodec/alac_data.c +CONFIG_DCA_ENCODER libavcodec/dcaenc.c libavcodec/dca.c libavcodec/dcadata.c +CONFIG_EAC3_ENCODER libavcodec/eac3enc.c libavcodec/eac3_data.c +CONFIG_FLAC_ENCODER libavcodec/flacenc.c libavcodec/flacdata.c libavcodec/flac.c libavcodec/vorbis_data.c libavcodec/x86/flac_dsp_gpl.asm +CONFIG_G723_1_ENCODER libavcodec/g723_1enc.c libavcodec/g723_1.c libavcodec/acelp_vectors.c libavcodec/celp_filters.c libavcodec/celp_math.c +CONFIG_MLP_ENCODER libavcodec/mlpenc.c libavcodec/mlp.c +CONFIG_MP2_ENCODER libavcodec/mpegaudioenc_float.c libavcodec/mpegaudio.c libavcodec/mpegaudiodata.c libavcodec/mpegaudiodsp_data.c +CONFIG_MP2FIXED_ENCODER libavcodec/mpegaudioenc_fixed.c libavcodec/mpegaudio.c libavcodec/mpegaudiodata.c libavcodec/mpegaudiodsp_data.c +CONFIG_NELLYMOSER_ENCODER libavcodec/nellymoserenc.c libavcodec/nellymoser.c +CONFIG_RA_144_ENCODER libavcodec/ra144enc.c libavcodec/ra144.c libavcodec/celp_filters.c +CONFIG_SONIC_ENCODER libavcodec/sonic.c +CONFIG_SONIC_LS_ENCODER libavcodec/sonic.c +CONFIG_TRUEHD_ENCODER libavcodec/mlpenc.c +CONFIG_TTA_ENCODER libavcodec/ttaenc.c libavcodec/ttaencdsp.c libavcodec/ttadata.c libavcodec/x86/ttaencdsp_init.c libavcodec/x86/ttaencdsp.asm +CONFIG_VORBIS_ENCODER libavcodec/vorbisenc.c libavcodec/vorbis.c libavcodec/vorbis_data.c +CONFIG_WAVPACK_ENCODER libavcodec/wavpackenc.c +CONFIG_WMAV1_ENCODER libavcodec/wmaenc.c libavcodec/wma.c libavcodec/wma_common.c libavcodec/aactab.c +CONFIG_WMAV2_ENCODER libavcodec/wmaenc.c libavcodec/wma.c libavcodec/wma_common.c libavcodec/aactab.c +CONFIG_PCM_ALAW_ENCODER libavcodec/pcm.c +CONFIG_PCM_F32BE_ENCODER libavcodec/pcm.c +CONFIG_PCM_F32LE_ENCODER libavcodec/pcm.c +CONFIG_PCM_F64BE_ENCODER libavcodec/pcm.c +CONFIG_PCM_F64LE_ENCODER libavcodec/pcm.c +CONFIG_PCM_MULAW_ENCODER libavcodec/pcm.c +CONFIG_PCM_S8_ENCODER libavcodec/pcm.c +CONFIG_PCM_S8_PLANAR_ENCODER libavcodec/pcm.c +CONFIG_PCM_S16BE_ENCODER libavcodec/pcm.c +CONFIG_PCM_S16BE_PLANAR_ENCODER libavcodec/pcm.c +CONFIG_PCM_S16LE_ENCODER libavcodec/pcm.c +CONFIG_PCM_S16LE_PLANAR_ENCODER libavcodec/pcm.c +CONFIG_PCM_S24BE_ENCODER libavcodec/pcm.c +CONFIG_PCM_S24DAUD_ENCODER libavcodec/pcm.c +CONFIG_PCM_S24LE_ENCODER libavcodec/pcm.c +CONFIG_PCM_S24LE_PLANAR_ENCODER libavcodec/pcm.c +CONFIG_PCM_S32BE_ENCODER libavcodec/pcm.c +CONFIG_PCM_S32LE_ENCODER libavcodec/pcm.c +CONFIG_PCM_S32LE_PLANAR_ENCODER libavcodec/pcm.c +CONFIG_PCM_S64BE_ENCODER libavcodec/pcm.c +CONFIG_PCM_S64LE_ENCODER libavcodec/pcm.c +CONFIG_PCM_U8_ENCODER libavcodec/pcm.c +CONFIG_PCM_U16BE_ENCODER libavcodec/pcm.c +CONFIG_PCM_U16LE_ENCODER libavcodec/pcm.c +CONFIG_PCM_U24BE_ENCODER libavcodec/pcm.c +CONFIG_PCM_U24LE_ENCODER libavcodec/pcm.c +CONFIG_PCM_U32BE_ENCODER libavcodec/pcm.c +CONFIG_PCM_U32LE_ENCODER libavcodec/pcm.c +CONFIG_ROQ_DPCM_ENCODER libavcodec/roqaudioenc.c +CONFIG_ADPCM_ADX_ENCODER libavcodec/adxenc.c libavcodec/adx.c +CONFIG_ADPCM_G722_ENCODER libavcodec/g722.c libavcodec/g722dsp.c libavcodec/g722enc.c libavcodec/x86/g722dsp_init.c libavcodec/x86/g722dsp.asm +CONFIG_ADPCM_G726_ENCODER libavcodec/g726.c +CONFIG_ADPCM_IMA_QT_ENCODER libavcodec/adpcmenc.c libavcodec/adpcm_data.c +CONFIG_ADPCM_IMA_WAV_ENCODER libavcodec/adpcmenc.c libavcodec/adpcm_data.c +CONFIG_ADPCM_MS_ENCODER libavcodec/adpcmenc.c libavcodec/adpcm_data.c +CONFIG_ADPCM_SWF_ENCODER libavcodec/adpcmenc.c libavcodec/adpcm_data.c +CONFIG_ADPCM_YAMAHA_ENCODER libavcodec/adpcmenc.c libavcodec/adpcm_data.c +CONFIG_SSA_ENCODER libavcodec/assenc.c libavcodec/ass.c +CONFIG_ASS_ENCODER libavcodec/assenc.c libavcodec/ass.c +CONFIG_DVBSUB_ENCODER libavcodec/dvbsub.c +CONFIG_DVDSUB_ENCODER libavcodec/dvdsubenc.c +CONFIG_MOVTEXT_ENCODER libavcodec/movtextenc.c libavcodec/ass_split.c +CONFIG_SRT_ENCODER libavcodec/srtenc.c libavcodec/ass_split.c +CONFIG_SUBRIP_ENCODER libavcodec/srtenc.c libavcodec/ass_split.c +CONFIG_TEXT_ENCODER libavcodec/srtenc.c libavcodec/ass_split.c +CONFIG_WEBVTT_ENCODER libavcodec/webvttenc.c libavcodec/ass_split.c +CONFIG_XSUB_ENCODER libavcodec/xsubenc.c +CONFIG_AAC_AT_ENCODER libavcodec/audiotoolboxenc.c +CONFIG_ALAC_AT_ENCODER libavcodec/audiotoolboxenc.c +CONFIG_ILBC_AT_ENCODER libavcodec/audiotoolboxenc.c +CONFIG_PCM_ALAW_AT_ENCODER libavcodec/audiotoolboxenc.c +CONFIG_PCM_MULAW_AT_ENCODER libavcodec/audiotoolboxenc.c +CONFIG_LIBFDK_AAC_ENCODER libavcodec/libfdk-aacenc.c +CONFIG_LIBGSM_ENCODER libavcodec/libgsmenc.c +CONFIG_LIBGSM_MS_ENCODER libavcodec/libgsmenc.c +CONFIG_LIBILBC_ENCODER libavcodec/libilbc.c +CONFIG_LIBMP3LAME_ENCODER libavcodec/libmp3lame.c libavcodec/mpegaudiodata.c libavcodec/mpegaudiodecheader.c +CONFIG_LIBOPENCORE_AMRNB_ENCODER libavcodec/libopencore-amr.c +CONFIG_LIBOPENJPEG_ENCODER libavcodec/libopenjpegenc.c +CONFIG_LIBOPUS_ENCODER libavcodec/libopusenc.c libavcodec/libopus.c libavcodec/vorbis_data.c +CONFIG_LIBSCHROEDINGER_ENCODER libavcodec/libschroedingerenc.c libavcodec/libschroedinger.c +CONFIG_LIBSHINE_ENCODER libavcodec/libshine.c +CONFIG_LIBSPEEX_ENCODER libavcodec/libspeexenc.c +CONFIG_LIBTHEORA_ENCODER libavcodec/libtheoraenc.c +CONFIG_LIBTWOLAME_ENCODER libavcodec/libtwolame.c +CONFIG_LIBVO_AMRWBENC_ENCODER libavcodec/libvo-amrwbenc.c +CONFIG_LIBVORBIS_ENCODER libavcodec/libvorbisenc.c libavcodec/vorbis_data.c +CONFIG_LIBVPX_VP8_ENCODER libavcodec/libvpxenc.c +CONFIG_LIBVPX_VP9_ENCODER libavcodec/libvpxenc.c libavcodec/libvpx.c +CONFIG_LIBWAVPACK_ENCODER libavcodec/libwavpackenc.c +CONFIG_LIBWEBP_ANIM_ENCODER libavcodec/libwebpenc_common.c libavcodec/libwebpenc_animencoder.c +CONFIG_LIBWEBP_ENCODER libavcodec/libwebpenc_common.c libavcodec/libwebpenc.c +CONFIG_LIBX262_ENCODER libavcodec/libx264.c +CONFIG_LIBX264_ENCODER libavcodec/libx264.c +CONFIG_LIBX264RGB_ENCODER +CONFIG_LIBX265_ENCODER libavcodec/libx265.c +CONFIG_LIBXAVS_ENCODER libavcodec/libxavs.c +CONFIG_LIBXVID_ENCODER libavcodec/libxvid.c +CONFIG_LIBOPENH264_ENCODER libavcodec/libopenh264enc.c libavcodec/libopenh264.c +CONFIG_H264_NVENC_ENCODER libavcodec/nvenc_h264.c +CONFIG_H264_OMX_ENCODER libavcodec/omx.c +CONFIG_H264_QSV_ENCODER libavcodec/qsvenc_h264.c +CONFIG_H264_VAAPI_ENCODER libavcodec/vaapi_encode_h264.c libavcodec/vaapi_encode_h26x.c +CONFIG_H264_VIDEOTOOLBOX_ENCODER libavcodec/videotoolboxenc.c +CONFIG_NVENC_ENCODER libavcodec/nvenc_h264.c +CONFIG_NVENC_H264_ENCODER libavcodec/nvenc_h264.c +CONFIG_NVENC_HEVC_ENCODER libavcodec/nvenc_hevc.c +CONFIG_HEVC_NVENC_ENCODER libavcodec/nvenc_hevc.c +CONFIG_HEVC_QSV_ENCODER libavcodec/qsvenc_hevc.c libavcodec/hevc_ps_enc.c libavcodec/h2645_parse.c +CONFIG_HEVC_VAAPI_ENCODER libavcodec/vaapi_encode_h265.c libavcodec/vaapi_encode_h26x.c +CONFIG_LIBKVAZAAR_ENCODER libavcodec/libkvazaar.c +CONFIG_MJPEG_VAAPI_ENCODER libavcodec/vaapi_encode_mjpeg.c +CONFIG_MPEG2_QSV_ENCODER libavcodec/qsvenc_mpeg2.c +CONFIG_ABENCH_FILTER libavfilter/f_bench.c +CONFIG_ACOMPRESSOR_FILTER libavfilter/af_sidechaincompress.c +CONFIG_ACROSSFADE_FILTER libavfilter/af_afade.c +CONFIG_ACRUSHER_FILTER libavfilter/af_acrusher.c +CONFIG_ADELAY_FILTER libavfilter/af_adelay.c +CONFIG_AECHO_FILTER libavfilter/af_aecho.c +CONFIG_AEMPHASIS_FILTER libavfilter/af_aemphasis.c +CONFIG_AEVAL_FILTER libavfilter/aeval.c +CONFIG_AFADE_FILTER libavfilter/af_afade.c +CONFIG_AFFTFILT_FILTER libavfilter/af_afftfilt.c libavfilter/window_func.c +CONFIG_AFORMAT_FILTER libavfilter/af_aformat.c +CONFIG_AGATE_FILTER libavfilter/af_agate.c +CONFIG_AINTERLEAVE_FILTER libavfilter/f_interleave.c +CONFIG_ALIMITER_FILTER libavfilter/af_alimiter.c +CONFIG_ALLPASS_FILTER libavfilter/af_biquads.c +CONFIG_ALOOP_FILTER libavfilter/f_loop.c +CONFIG_AMERGE_FILTER libavfilter/af_amerge.c +CONFIG_AMETADATA_FILTER libavfilter/f_metadata.c +CONFIG_AMIX_FILTER libavfilter/af_amix.c +CONFIG_ANEQUALIZER_FILTER libavfilter/af_anequalizer.c +CONFIG_ANULL_FILTER libavfilter/af_anull.c +CONFIG_APAD_FILTER libavfilter/af_apad.c +CONFIG_APERMS_FILTER libavfilter/f_perms.c +CONFIG_APHASER_FILTER libavfilter/af_aphaser.c libavfilter/generate_wave_table.c +CONFIG_APULSATOR_FILTER libavfilter/af_apulsator.c +CONFIG_AREALTIME_FILTER libavfilter/f_realtime.c +CONFIG_ARESAMPLE_FILTER libavfilter/af_aresample.c +CONFIG_AREVERSE_FILTER libavfilter/f_reverse.c +CONFIG_ASELECT_FILTER libavfilter/f_select.c +CONFIG_ASENDCMD_FILTER libavfilter/f_sendcmd.c +CONFIG_ASETNSAMPLES_FILTER libavfilter/af_asetnsamples.c +CONFIG_ASETPTS_FILTER libavfilter/setpts.c +CONFIG_ASETRATE_FILTER libavfilter/af_asetrate.c +CONFIG_ASETTB_FILTER libavfilter/settb.c +CONFIG_ASHOWINFO_FILTER libavfilter/af_ashowinfo.c +CONFIG_ASIDEDATA_FILTER libavfilter/f_sidedata.c +CONFIG_ASPLIT_FILTER libavfilter/split.c +CONFIG_ASTATS_FILTER libavfilter/af_astats.c +CONFIG_ASTREAMSELECT_FILTER libavfilter/f_streamselect.c +CONFIG_ASYNCTS_FILTER libavfilter/af_asyncts.c +CONFIG_ATEMPO_FILTER libavfilter/af_atempo.c +CONFIG_ATRIM_FILTER libavfilter/trim.c +CONFIG_AZMQ_FILTER libavfilter/f_zmq.c +CONFIG_BANDPASS_FILTER libavfilter/af_biquads.c +CONFIG_BANDREJECT_FILTER libavfilter/af_biquads.c +CONFIG_BASS_FILTER libavfilter/af_biquads.c +CONFIG_BIQUAD_FILTER libavfilter/af_biquads.c +CONFIG_BS2B_FILTER libavfilter/af_bs2b.c +CONFIG_CHANNELMAP_FILTER libavfilter/af_channelmap.c +CONFIG_CHANNELSPLIT_FILTER libavfilter/af_channelsplit.c +CONFIG_CHORUS_FILTER libavfilter/af_chorus.c libavfilter/generate_wave_table.c +CONFIG_COMPAND_FILTER libavfilter/af_compand.c +CONFIG_COMPENSATIONDELAY_FILTER libavfilter/af_compensationdelay.c +CONFIG_CRYSTALIZER_FILTER libavfilter/af_crystalizer.c +CONFIG_DCSHIFT_FILTER libavfilter/af_dcshift.c +CONFIG_DYNAUDNORM_FILTER libavfilter/af_dynaudnorm.c +CONFIG_EARWAX_FILTER libavfilter/af_earwax.c +CONFIG_EBUR128_FILTER libavfilter/f_ebur128.c +CONFIG_EQUALIZER_FILTER libavfilter/af_biquads.c +CONFIG_EXTRASTEREO_FILTER libavfilter/af_extrastereo.c +CONFIG_FIREQUALIZER_FILTER libavfilter/af_firequalizer.c +CONFIG_FLANGER_FILTER libavfilter/af_flanger.c libavfilter/generate_wave_table.c +CONFIG_HDCD_FILTER libavfilter/af_hdcd.c +CONFIG_HIGHPASS_FILTER libavfilter/af_biquads.c +CONFIG_JOIN_FILTER libavfilter/af_join.c +CONFIG_LADSPA_FILTER libavfilter/af_ladspa.c +CONFIG_LOUDNORM_FILTER libavfilter/af_loudnorm.c +CONFIG_LOWPASS_FILTER libavfilter/af_biquads.c +CONFIG_PAN_FILTER libavfilter/af_pan.c +CONFIG_REPLAYGAIN_FILTER libavfilter/af_replaygain.c +CONFIG_RESAMPLE_FILTER libavfilter/af_resample.c +CONFIG_RUBBERBAND_FILTER libavfilter/af_rubberband.c +CONFIG_SIDECHAINCOMPRESS_FILTER libavfilter/af_sidechaincompress.c +CONFIG_SIDECHAINGATE_FILTER libavfilter/af_agate.c +CONFIG_SILENCEDETECT_FILTER libavfilter/af_silencedetect.c +CONFIG_SILENCEREMOVE_FILTER libavfilter/af_silenceremove.c +CONFIG_SOFALIZER_FILTER libavfilter/af_sofalizer.c +CONFIG_STEREOTOOLS_FILTER libavfilter/af_stereotools.c +CONFIG_STEREOWIDEN_FILTER libavfilter/af_stereowiden.c +CONFIG_TREBLE_FILTER libavfilter/af_biquads.c +CONFIG_TREMOLO_FILTER libavfilter/af_tremolo.c +CONFIG_VIBRATO_FILTER libavfilter/af_vibrato.c libavfilter/generate_wave_table.c +CONFIG_VOLUME_FILTER libavfilter/af_volume.c libavfilter/x86/af_volume_init.c libavfilter/x86/af_volume.asm +CONFIG_VOLUMEDETECT_FILTER libavfilter/af_volumedetect.c +CONFIG_AEVALSRC_FILTER libavfilter/aeval.c +CONFIG_ANOISESRC_FILTER libavfilter/asrc_anoisesrc.c +CONFIG_ANULLSRC_FILTER libavfilter/asrc_anullsrc.c +CONFIG_FLITE_FILTER libavfilter/asrc_flite.c +CONFIG_SINE_FILTER libavfilter/asrc_sine.c +CONFIG_ANULLSINK_FILTER libavfilter/asink_anullsink.c +CONFIG_ALPHAEXTRACT_FILTER libavfilter/vf_extractplanes.c +CONFIG_ALPHAMERGE_FILTER libavfilter/vf_alphamerge.c +CONFIG_ASS_FILTER libavfilter/vf_subtitles.c +CONFIG_ATADENOISE_FILTER libavfilter/vf_atadenoise.c +CONFIG_AVGBLUR_FILTER libavfilter/vf_avgblur.c +CONFIG_BBOX_FILTER libavfilter/bbox.c libavfilter/vf_bbox.c +CONFIG_BENCH_FILTER libavfilter/f_bench.c +CONFIG_BITPLANENOISE_FILTER libavfilter/vf_bitplanenoise.c +CONFIG_BLACKDETECT_FILTER libavfilter/vf_blackdetect.c +CONFIG_BLACKFRAME_FILTER libavfilter/vf_blackframe.c +CONFIG_BLEND_FILTER libavfilter/vf_blend.c libavfilter/dualinput.c libavfilter/framesync.c libavfilter/x86/vf_blend_init.c libavfilter/x86/vf_blend.asm +CONFIG_BOXBLUR_FILTER libavfilter/vf_boxblur.c +CONFIG_BWDIF_FILTER libavfilter/vf_bwdif.c libavfilter/x86/vf_bwdif_init.c libavfilter/x86/vf_bwdif.asm +CONFIG_CHROMAKEY_FILTER libavfilter/vf_chromakey.c +CONFIG_CIESCOPE_FILTER libavfilter/vf_ciescope.c +CONFIG_CODECVIEW_FILTER libavfilter/vf_codecview.c +CONFIG_COLORBALANCE_FILTER libavfilter/vf_colorbalance.c +CONFIG_COLORCHANNELMIXER_FILTER libavfilter/vf_colorchannelmixer.c +CONFIG_COLORKEY_FILTER libavfilter/vf_colorkey.c +CONFIG_COLORLEVELS_FILTER libavfilter/vf_colorlevels.c +CONFIG_COLORMATRIX_FILTER libavfilter/vf_colormatrix.c +CONFIG_COLORSPACE_FILTER libavfilter/vf_colorspace.c libavfilter/colorspacedsp.c libavfilter/x86/colorspacedsp_init.c libavfilter/x86/colorspacedsp.asm +CONFIG_CONVOLUTION_FILTER libavfilter/vf_convolution.c +CONFIG_COPY_FILTER libavfilter/vf_copy.c +CONFIG_COREIMAGE_FILTER libavfilter/vf_coreimage.c +CONFIG_COVER_RECT_FILTER libavfilter/vf_cover_rect.c libavfilter/lavfutils.c +CONFIG_CROP_FILTER libavfilter/vf_crop.c +CONFIG_CROPDETECT_FILTER libavfilter/vf_cropdetect.c +CONFIG_CURVES_FILTER libavfilter/vf_curves.c +CONFIG_DATASCOPE_FILTER libavfilter/vf_datascope.c +CONFIG_DCTDNOIZ_FILTER libavfilter/vf_dctdnoiz.c +CONFIG_DEBAND_FILTER libavfilter/vf_deband.c +CONFIG_DECIMATE_FILTER libavfilter/vf_decimate.c +CONFIG_DEFLATE_FILTER libavfilter/vf_neighbor.c +CONFIG_DEJUDDER_FILTER libavfilter/vf_dejudder.c +CONFIG_DELOGO_FILTER libavfilter/vf_delogo.c +CONFIG_DESHAKE_FILTER libavfilter/vf_deshake.c +CONFIG_DETELECINE_FILTER libavfilter/vf_detelecine.c +CONFIG_DILATION_FILTER libavfilter/vf_neighbor.c +CONFIG_DISPLACE_FILTER libavfilter/vf_displace.c libavfilter/framesync.c +CONFIG_DRAWBOX_FILTER libavfilter/vf_drawbox.c +CONFIG_DRAWGRAPH_FILTER libavfilter/f_drawgraph.c +CONFIG_DRAWGRID_FILTER libavfilter/vf_drawbox.c +CONFIG_DRAWTEXT_FILTER libavfilter/vf_drawtext.c +CONFIG_EDGEDETECT_FILTER libavfilter/vf_edgedetect.c +CONFIG_ELBG_FILTER libavcodec/elbg.c libavfilter/vf_elbg.c +CONFIG_EQ_FILTER libavfilter/vf_eq.c libavfilter/x86/vf_eq.c +CONFIG_EROSION_FILTER libavfilter/vf_neighbor.c +CONFIG_EXTRACTPLANES_FILTER libavfilter/vf_extractplanes.c +CONFIG_FADE_FILTER libavfilter/vf_fade.c +CONFIG_FFTFILT_FILTER libavfilter/vf_fftfilt.c +CONFIG_FIELD_FILTER libavfilter/vf_field.c +CONFIG_FIELDHINT_FILTER libavfilter/vf_fieldhint.c +CONFIG_FIELDMATCH_FILTER libavfilter/vf_fieldmatch.c +CONFIG_FIELDORDER_FILTER libavfilter/vf_fieldorder.c +CONFIG_FIND_RECT_FILTER libavfilter/vf_find_rect.c libavfilter/lavfutils.c +CONFIG_FORMAT_FILTER libavfilter/vf_format.c +CONFIG_FPS_FILTER libavfilter/vf_fps.c +CONFIG_FRAMEPACK_FILTER libavfilter/vf_framepack.c +CONFIG_FRAMERATE_FILTER libavfilter/vf_framerate.c +CONFIG_FRAMESTEP_FILTER libavfilter/vf_framestep.c +CONFIG_FREI0R_FILTER libavfilter/vf_frei0r.c +CONFIG_FSPP_FILTER libavfilter/vf_fspp.c libavfilter/x86/vf_fspp_init.c libavfilter/x86/vf_fspp.asm +CONFIG_GBLUR_FILTER libavfilter/vf_gblur.c +CONFIG_GEQ_FILTER libavfilter/vf_geq.c +CONFIG_GRADFUN_FILTER libavfilter/vf_gradfun.c libavfilter/x86/vf_gradfun_init.c libavfilter/x86/vf_gradfun.asm +CONFIG_HALDCLUT_FILTER libavfilter/vf_lut3d.c libavfilter/dualinput.c libavfilter/framesync.c +CONFIG_HFLIP_FILTER libavfilter/vf_hflip.c +CONFIG_HISTEQ_FILTER libavfilter/vf_histeq.c +CONFIG_HISTOGRAM_FILTER libavfilter/vf_histogram.c +CONFIG_HQDN3D_FILTER libavfilter/vf_hqdn3d.c libavfilter/x86/vf_hqdn3d_init.c libavfilter/x86/vf_hqdn3d.asm +CONFIG_HQX_FILTER libavfilter/vf_hqx.c +CONFIG_HSTACK_FILTER libavfilter/vf_stack.c libavfilter/framesync.c +CONFIG_HUE_FILTER libavfilter/vf_hue.c +CONFIG_HWDOWNLOAD_FILTER libavfilter/vf_hwdownload.c +CONFIG_HWUPLOAD_FILTER libavfilter/vf_hwupload.c +CONFIG_HWUPLOAD_CUDA_FILTER libavfilter/vf_hwupload_cuda.c +CONFIG_HYSTERESIS_FILTER libavfilter/vf_hysteresis.c libavfilter/framesync.c +CONFIG_IDET_FILTER libavfilter/vf_idet.c libavfilter/x86/vf_idet_init.c libavfilter/x86/vf_idet.asm +CONFIG_IL_FILTER libavfilter/vf_il.c +CONFIG_INFLATE_FILTER libavfilter/vf_neighbor.c +CONFIG_INTERLACE_FILTER libavfilter/vf_interlace.c libavfilter/x86/vf_interlace_init.c libavfilter/x86/vf_interlace.asm +CONFIG_INTERLEAVE_FILTER libavfilter/f_interleave.c +CONFIG_KERNDEINT_FILTER libavfilter/vf_kerndeint.c +CONFIG_LENSCORRECTION_FILTER libavfilter/vf_lenscorrection.c +CONFIG_LOOP_FILTER libavfilter/f_loop.c +CONFIG_LUT_FILTER libavfilter/vf_lut.c +CONFIG_LUT2_FILTER libavfilter/vf_lut2.c libavfilter/framesync.c +CONFIG_LUT3D_FILTER libavfilter/vf_lut3d.c +CONFIG_LUTRGB_FILTER libavfilter/vf_lut.c +CONFIG_LUTYUV_FILTER libavfilter/vf_lut.c +CONFIG_MASKEDCLAMP_FILTER libavfilter/vf_maskedclamp.c libavfilter/framesync.c +CONFIG_MASKEDMERGE_FILTER libavfilter/vf_maskedmerge.c libavfilter/framesync.c libavfilter/x86/vf_maskedmerge_init.c libavfilter/x86/vf_maskedmerge.asm +CONFIG_MCDEINT_FILTER libavfilter/vf_mcdeint.c +CONFIG_MERGEPLANES_FILTER libavfilter/vf_mergeplanes.c libavfilter/framesync.c +CONFIG_MESTIMATE_FILTER libavfilter/vf_mestimate.c libavfilter/motion_estimation.c +CONFIG_METADATA_FILTER libavfilter/f_metadata.c +CONFIG_MINTERPOLATE_FILTER libavfilter/vf_minterpolate.c libavfilter/motion_estimation.c +CONFIG_MPDECIMATE_FILTER libavfilter/vf_mpdecimate.c +CONFIG_NEGATE_FILTER libavfilter/vf_lut.c +CONFIG_NLMEANS_FILTER libavfilter/vf_nlmeans.c +CONFIG_NNEDI_FILTER libavfilter/vf_nnedi.c +CONFIG_NOFORMAT_FILTER libavfilter/vf_format.c +CONFIG_NOISE_FILTER libavfilter/vf_noise.c libavfilter/x86/vf_noise.c +CONFIG_NULL_FILTER libavfilter/vf_null.c +CONFIG_OCR_FILTER libavfilter/vf_ocr.c +CONFIG_OCV_FILTER libavfilter/vf_libopencv.c +CONFIG_OVERLAY_FILTER libavfilter/vf_overlay.c libavfilter/dualinput.c libavfilter/framesync.c +CONFIG_OWDENOISE_FILTER libavfilter/vf_owdenoise.c +CONFIG_PAD_FILTER libavfilter/vf_pad.c +CONFIG_PALETTEGEN_FILTER libavfilter/vf_palettegen.c +CONFIG_PALETTEUSE_FILTER libavfilter/vf_paletteuse.c libavfilter/dualinput.c libavfilter/framesync.c +CONFIG_PERMS_FILTER libavfilter/f_perms.c +CONFIG_PERSPECTIVE_FILTER libavfilter/vf_perspective.c +CONFIG_PHASE_FILTER libavfilter/vf_phase.c +CONFIG_PIXDESCTEST_FILTER libavfilter/vf_pixdesctest.c +CONFIG_PP_FILTER libavfilter/vf_pp.c +CONFIG_PP7_FILTER libavfilter/vf_pp7.c libavfilter/x86/vf_pp7_init.c libavfilter/x86/vf_pp7.asm +CONFIG_PREWITT_FILTER libavfilter/vf_convolution.c +CONFIG_PSNR_FILTER libavfilter/vf_psnr.c libavfilter/dualinput.c libavfilter/framesync.c libavfilter/x86/vf_psnr_init.c libavfilter/x86/vf_psnr.asm +CONFIG_PULLUP_FILTER libavfilter/vf_pullup.c libavfilter/x86/vf_pullup_init.c libavfilter/x86/vf_pullup.asm +CONFIG_QP_FILTER libavfilter/vf_qp.c +CONFIG_RANDOM_FILTER libavfilter/vf_random.c +CONFIG_READVITC_FILTER libavfilter/vf_readvitc.c +CONFIG_REALTIME_FILTER libavfilter/f_realtime.c +CONFIG_REMAP_FILTER libavfilter/vf_remap.c libavfilter/framesync.c +CONFIG_REMOVEGRAIN_FILTER libavfilter/vf_removegrain.c libavfilter/x86/vf_removegrain_init.c libavfilter/x86/vf_removegrain.asm +CONFIG_REMOVELOGO_FILTER libavfilter/bbox.c libavfilter/lswsutils.c libavfilter/lavfutils.c libavfilter/vf_removelogo.c +CONFIG_REPEATFIELDS_FILTER libavfilter/vf_repeatfields.c +CONFIG_REVERSE_FILTER libavfilter/f_reverse.c +CONFIG_ROTATE_FILTER libavfilter/vf_rotate.c +CONFIG_SAB_FILTER libavfilter/vf_sab.c +CONFIG_SCALE_FILTER libavfilter/vf_scale.c +CONFIG_SCALE_NPP_FILTER libavfilter/vf_scale_npp.c +CONFIG_SCALE_VAAPI_FILTER libavfilter/vf_scale_vaapi.c +CONFIG_SCALE2REF_FILTER libavfilter/vf_scale.c +CONFIG_SELECT_FILTER libavfilter/f_select.c +CONFIG_SELECTIVECOLOR_FILTER libavfilter/vf_selectivecolor.c +CONFIG_SENDCMD_FILTER libavfilter/f_sendcmd.c +CONFIG_SEPARATEFIELDS_FILTER libavfilter/vf_separatefields.c +CONFIG_SETDAR_FILTER libavfilter/vf_aspect.c +CONFIG_SETFIELD_FILTER libavfilter/vf_setfield.c +CONFIG_SETPTS_FILTER libavfilter/setpts.c +CONFIG_SETSAR_FILTER libavfilter/vf_aspect.c +CONFIG_SETTB_FILTER libavfilter/settb.c +CONFIG_SHOWINFO_FILTER libavfilter/vf_showinfo.c +CONFIG_SHOWPALETTE_FILTER libavfilter/vf_showpalette.c +CONFIG_SHUFFLEFRAMES_FILTER libavfilter/vf_shuffleframes.c +CONFIG_SHUFFLEPLANES_FILTER libavfilter/vf_shuffleplanes.c +CONFIG_SIDEDATA_FILTER libavfilter/f_sidedata.c +CONFIG_SIGNALSTATS_FILTER libavfilter/vf_signalstats.c +CONFIG_SMARTBLUR_FILTER libavfilter/vf_smartblur.c +CONFIG_SOBEL_FILTER libavfilter/vf_convolution.c +CONFIG_SPLIT_FILTER libavfilter/split.c +CONFIG_SPP_FILTER libavfilter/vf_spp.c libavfilter/x86/vf_spp.c +CONFIG_SSIM_FILTER libavfilter/vf_ssim.c libavfilter/dualinput.c libavfilter/framesync.c libavfilter/x86/vf_ssim_init.c libavfilter/x86/vf_ssim.asm +CONFIG_STEREO3D_FILTER libavfilter/vf_stereo3d.c libavfilter/x86/vf_stereo3d_init.c libavfilter/x86/vf_stereo3d.asm +CONFIG_STREAMSELECT_FILTER libavfilter/f_streamselect.c +CONFIG_SUBTITLES_FILTER libavfilter/vf_subtitles.c +CONFIG_SUPER2XSAI_FILTER libavfilter/vf_super2xsai.c +CONFIG_SWAPRECT_FILTER libavfilter/vf_swaprect.c +CONFIG_SWAPUV_FILTER libavfilter/vf_swapuv.c +CONFIG_TBLEND_FILTER libavfilter/vf_blend.c libavfilter/dualinput.c libavfilter/framesync.c libavfilter/x86/vf_blend_init.c libavfilter/x86/vf_blend.asm +CONFIG_TELECINE_FILTER libavfilter/vf_telecine.c +CONFIG_THUMBNAIL_FILTER libavfilter/vf_thumbnail.c +CONFIG_TILE_FILTER libavfilter/vf_tile.c +CONFIG_TINTERLACE_FILTER libavfilter/vf_tinterlace.c libavfilter/x86/vf_tinterlace_init.c libavfilter/x86/vf_interlace.asm +CONFIG_TRANSPOSE_FILTER libavfilter/vf_transpose.c +CONFIG_TRIM_FILTER libavfilter/trim.c +CONFIG_UNSHARP_FILTER libavfilter/vf_unsharp.c +CONFIG_USPP_FILTER libavfilter/vf_uspp.c +CONFIG_VAGUEDENOISER_FILTER libavfilter/vf_vaguedenoiser.c +CONFIG_VECTORSCOPE_FILTER libavfilter/vf_vectorscope.c +CONFIG_VFLIP_FILTER libavfilter/vf_vflip.c +CONFIG_VIDSTABDETECT_FILTER libavfilter/vidstabutils.c libavfilter/vf_vidstabdetect.c +CONFIG_VIDSTABTRANSFORM_FILTER libavfilter/vidstabutils.c libavfilter/vf_vidstabtransform.c +CONFIG_VIGNETTE_FILTER libavfilter/vf_vignette.c +CONFIG_VSTACK_FILTER libavfilter/vf_stack.c libavfilter/framesync.c +CONFIG_W3FDIF_FILTER libavfilter/vf_w3fdif.c libavfilter/x86/vf_w3fdif_init.c libavfilter/x86/vf_w3fdif.asm +CONFIG_WAVEFORM_FILTER libavfilter/vf_waveform.c +CONFIG_WEAVE_FILTER libavfilter/vf_weave.c +CONFIG_XBR_FILTER libavfilter/vf_xbr.c +CONFIG_YADIF_FILTER libavfilter/vf_yadif.c libavfilter/x86/vf_yadif_init.c libavfilter/x86/vf_yadif.asm libavfilter/x86/yadif-16.asm libavfilter/x86/yadif-10.asm +CONFIG_ZMQ_FILTER libavfilter/f_zmq.c +CONFIG_ZOOMPAN_FILTER libavfilter/vf_zoompan.c +CONFIG_ZSCALE_FILTER libavfilter/vf_zscale.c +CONFIG_ALLRGB_FILTER libavfilter/vsrc_testsrc.c +CONFIG_ALLYUV_FILTER libavfilter/vsrc_testsrc.c +CONFIG_CELLAUTO_FILTER libavfilter/vsrc_cellauto.c +CONFIG_COLOR_FILTER libavfilter/vsrc_testsrc.c +CONFIG_COREIMAGESRC_FILTER libavfilter/vf_coreimage.c +CONFIG_FREI0R_SRC_FILTER libavfilter/vf_frei0r.c +CONFIG_HALDCLUTSRC_FILTER libavfilter/vsrc_testsrc.c +CONFIG_LIFE_FILTER libavfilter/vsrc_life.c +CONFIG_MANDELBROT_FILTER libavfilter/vsrc_mandelbrot.c +CONFIG_MPTESTSRC_FILTER libavfilter/vsrc_mptestsrc.c +CONFIG_NULLSRC_FILTER libavfilter/vsrc_testsrc.c +CONFIG_RGBTESTSRC_FILTER libavfilter/vsrc_testsrc.c +CONFIG_SMPTEBARS_FILTER libavfilter/vsrc_testsrc.c +CONFIG_SMPTEHDBARS_FILTER libavfilter/vsrc_testsrc.c +CONFIG_TESTSRC_FILTER libavfilter/vsrc_testsrc.c +CONFIG_TESTSRC2_FILTER libavfilter/vsrc_testsrc.c +CONFIG_YUVTESTSRC_FILTER libavfilter/vsrc_testsrc.c +CONFIG_NULLSINK_FILTER libavfilter/vsink_nullsink.c +CONFIG_ADRAWGRAPH_FILTER libavfilter/f_drawgraph.c +CONFIG_AHISTOGRAM_FILTER libavfilter/avf_ahistogram.c +CONFIG_APHASEMETER_FILTER libavfilter/avf_aphasemeter.c +CONFIG_AVECTORSCOPE_FILTER libavfilter/avf_avectorscope.c +CONFIG_CONCAT_FILTER libavfilter/avf_concat.c +CONFIG_SHOWCQT_FILTER libavfilter/avf_showcqt.c libavfilter/lswsutils.c libavfilter/lavfutils.c libavfilter/x86/avf_showcqt_init.c libavfilter/x86/avf_showcqt.asm +CONFIG_SHOWFREQS_FILTER libavfilter/avf_showfreqs.c libavfilter/window_func.c +CONFIG_SHOWSPECTRUM_FILTER libavfilter/avf_showspectrum.c libavfilter/window_func.c +CONFIG_SHOWSPECTRUMPIC_FILTER libavfilter/avf_showspectrum.c libavfilter/window_func.c +CONFIG_SHOWVOLUME_FILTER libavfilter/avf_showvolume.c +CONFIG_SHOWWAVES_FILTER libavfilter/avf_showwaves.c +CONFIG_SHOWWAVESPIC_FILTER libavfilter/avf_showwaves.c +CONFIG_SPECTRUMSYNTH_FILTER libavfilter/vaf_spectrumsynth.c libavfilter/window_func.c +CONFIG_AMOVIE_FILTER libavfilter/src_movie.c +CONFIG_MOVIE_FILTER libavfilter/src_movie.c +CONFIG_H263_CUVID_HWACCEL +CONFIG_H263_VAAPI_HWACCEL libavcodec/vaapi_mpeg4.c +CONFIG_H263_VIDEOTOOLBOX_HWACCEL libavcodec/videotoolbox.c +CONFIG_H264_CUVID_HWACCEL +CONFIG_H264_D3D11VA_HWACCEL libavcodec/dxva2_h264.c +CONFIG_H264_DXVA2_HWACCEL libavcodec/dxva2_h264.c +CONFIG_H264_MEDIACODEC_HWACCEL +CONFIG_H264_MMAL_HWACCEL +CONFIG_H264_QSV_HWACCEL +CONFIG_H264_VAAPI_HWACCEL libavcodec/vaapi_h264.c +CONFIG_H264_VDA_HWACCEL libavcodec/vda_h264.c +CONFIG_H264_VDA_OLD_HWACCEL +CONFIG_H264_VDPAU_HWACCEL libavcodec/vdpau_h264.c +CONFIG_H264_VIDEOTOOLBOX_HWACCEL libavcodec/videotoolbox.c +CONFIG_HEVC_CUVID_HWACCEL +CONFIG_HEVC_D3D11VA_HWACCEL libavcodec/dxva2_hevc.c +CONFIG_HEVC_DXVA2_HWACCEL libavcodec/dxva2_hevc.c +CONFIG_HEVC_MEDIACODEC_HWACCEL +CONFIG_HEVC_QSV_HWACCEL +CONFIG_HEVC_VAAPI_HWACCEL libavcodec/vaapi_hevc.c +CONFIG_HEVC_VDPAU_HWACCEL libavcodec/vdpau_hevc.c +CONFIG_MJPEG_CUVID_HWACCEL +CONFIG_MPEG1_CUVID_HWACCEL +CONFIG_MPEG1_XVMC_HWACCEL libavcodec/mpegvideo_xvmc.c +CONFIG_MPEG1_VDPAU_HWACCEL libavcodec/vdpau_mpeg12.c +CONFIG_MPEG1_VIDEOTOOLBOX_HWACCEL libavcodec/videotoolbox.c +CONFIG_MPEG2_CUVID_HWACCEL +CONFIG_MPEG2_XVMC_HWACCEL libavcodec/mpegvideo_xvmc.c +CONFIG_MPEG2_D3D11VA_HWACCEL libavcodec/dxva2_mpeg2.c +CONFIG_MPEG2_DXVA2_HWACCEL libavcodec/dxva2_mpeg2.c +CONFIG_MPEG2_MMAL_HWACCEL +CONFIG_MPEG2_QSV_HWACCEL +CONFIG_MPEG2_VAAPI_HWACCEL libavcodec/vaapi_mpeg2.c +CONFIG_MPEG2_VDPAU_HWACCEL libavcodec/vdpau_mpeg12.c +CONFIG_MPEG2_VIDEOTOOLBOX_HWACCEL libavcodec/videotoolbox.c +CONFIG_MPEG4_CUVID_HWACCEL +CONFIG_MPEG4_MEDIACODEC_HWACCEL +CONFIG_MPEG4_MMAL_HWACCEL +CONFIG_MPEG4_VAAPI_HWACCEL libavcodec/vaapi_mpeg4.c +CONFIG_MPEG4_VDPAU_HWACCEL libavcodec/vdpau_mpeg4.c +CONFIG_MPEG4_VIDEOTOOLBOX_HWACCEL libavcodec/videotoolbox.c +CONFIG_VC1_CUVID_HWACCEL +CONFIG_VC1_D3D11VA_HWACCEL libavcodec/dxva2_vc1.c +CONFIG_VC1_DXVA2_HWACCEL libavcodec/dxva2_vc1.c +CONFIG_VC1_VAAPI_HWACCEL libavcodec/vaapi_vc1.c +CONFIG_VC1_VDPAU_HWACCEL libavcodec/vdpau_vc1.c +CONFIG_VC1_MMAL_HWACCEL +CONFIG_VC1_QSV_HWACCEL +CONFIG_VP8_CUVID_HWACCEL +CONFIG_VP8_MEDIACODEC_HWACCEL +CONFIG_VP9_CUVID_HWACCEL +CONFIG_VP9_D3D11VA_HWACCEL libavcodec/dxva2_vp9.c +CONFIG_VP9_DXVA2_HWACCEL libavcodec/dxva2_vp9.c +CONFIG_VP9_MEDIACODEC_HWACCEL +CONFIG_VP9_VAAPI_HWACCEL libavcodec/vaapi_vp9.c +CONFIG_WMV3_D3D11VA_HWACCEL +CONFIG_WMV3_DXVA2_HWACCEL +CONFIG_WMV3_VAAPI_HWACCEL +CONFIG_WMV3_VDPAU_HWACCEL +CONFIG_ALSA_INDEV libavdevice/alsa_dec.c libavdevice/alsa.c libavdevice/timefilter.c +CONFIG_AVFOUNDATION_INDEV libavdevice/avfoundation.c +CONFIG_BKTR_INDEV libavdevice/bktr.c +CONFIG_DECKLINK_INDEV libavdevice/decklink_dec.c libavdevice/decklink_dec_c.c libavdevice/decklink_common.c +CONFIG_DSHOW_INDEV libavdevice/dshow_crossbar.c libavdevice/dshow.c libavdevice/dshow_enummediatypes.c libavdevice/dshow_enumpins.c libavdevice/dshow_filter.c libavdevice/dshow_pin.c libavdevice/dshow_common.c +CONFIG_DV1394_INDEV libavdevice/dv1394.c +CONFIG_FBDEV_INDEV libavdevice/fbdev_dec.c libavdevice/fbdev_common.c +CONFIG_GDIGRAB_INDEV libavdevice/gdigrab.c +CONFIG_IEC61883_INDEV libavdevice/iec61883.c libavformat/dv.c +CONFIG_JACK_INDEV libavdevice/jack.c libavdevice/timefilter.c +CONFIG_LAVFI_INDEV libavdevice/lavfi.c +CONFIG_OPENAL_INDEV libavdevice/openal-dec.c +CONFIG_OSS_INDEV libavdevice/oss_dec.c libavdevice/oss.c +CONFIG_PULSE_INDEV libavdevice/pulse_audio_dec.c libavdevice/pulse_audio_common.c libavdevice/timefilter.c +CONFIG_QTKIT_INDEV libavdevice/qtkit.c +CONFIG_SNDIO_INDEV libavdevice/sndio_dec.c libavdevice/sndio.c +CONFIG_V4L2_INDEV libavdevice/v4l2.c libavdevice/v4l2-common.c libavdevice/timefilter.c +CONFIG_VFWCAP_INDEV libavdevice/vfwcap.c +CONFIG_X11GRAB_INDEV libavdevice/x11grab.c +CONFIG_X11GRAB_XCB_INDEV libavdevice/xcbgrab.c +CONFIG_LIBCDIO_INDEV libavdevice/libcdio.c +CONFIG_LIBDC1394_INDEV libavdevice/libdc1394.c +CONFIG_A64_MUXER libavformat/a64.c libavformat/rawenc.c +CONFIG_AC3_MUXER libavformat/rawenc.c +CONFIG_ADTS_MUXER libavcodec/mpeg4audio.c libavformat/adtsenc.c libavformat/apetag.c libavformat/img2.c libavformat/id3v2enc.c +CONFIG_ADX_MUXER libavformat/rawenc.c +CONFIG_AIFF_MUXER libavformat/aiffenc.c libavformat/isom.c libavformat/id3v2enc.c +CONFIG_AMR_MUXER libavformat/amr.c +CONFIG_APNG_MUXER libavformat/apngenc.c +CONFIG_ASF_MUXER libavformat/asfenc.c libavformat/asf.c libavformat/avlanguage.c +CONFIG_ASS_MUXER libavformat/assenc.c +CONFIG_AST_MUXER libavformat/ast.c libavformat/astenc.c +CONFIG_ASF_STREAM_MUXER +CONFIG_AU_MUXER libavformat/au.c libavformat/rawenc.c +CONFIG_AVI_MUXER libavformat/avienc.c libavformat/mpegtsenc.c libavformat/avlanguage.c libavformat/rawutils.c +CONFIG_AVM2_MUXER libavformat/swfenc.c libavformat/swf.c +CONFIG_BIT_MUXER libavformat/bit.c +CONFIG_CAF_MUXER libavformat/cafenc.c libavformat/caf.c libavformat/riff.c libavformat/isom.c +CONFIG_CAVSVIDEO_MUXER libavformat/rawenc.c +CONFIG_CRC_MUXER libavformat/crcenc.c +CONFIG_DASH_MUXER libavformat/dashenc.c +CONFIG_DATA_MUXER libavformat/rawdec.c +CONFIG_DAUD_MUXER libavformat/daudenc.c +CONFIG_DIRAC_MUXER libavformat/rawenc.c +CONFIG_DNXHD_MUXER libavformat/rawenc.c +CONFIG_DTS_MUXER libavformat/rawenc.c +CONFIG_DV_MUXER libavformat/dvenc.c +CONFIG_EAC3_MUXER libavformat/rawenc.c +CONFIG_F4V_MUXER +CONFIG_FFM_MUXER libavformat/ffmenc.c +CONFIG_FFMETADATA_MUXER libavformat/ffmetaenc.c +CONFIG_FIFO_MUXER libavformat/fifo.c +CONFIG_FILMSTRIP_MUXER libavformat/filmstripenc.c +CONFIG_FLAC_MUXER libavcodec/flac.c libavcodec/flacdata.c libavcodec/vorbis_data.c libavformat/flacenc.c libavformat/flacenc_header.c libavformat/vorbiscomment.c +CONFIG_FLV_MUXER libavformat/flvenc.c libavformat/avc.c +CONFIG_FRAMECRC_MUXER libavformat/framecrcenc.c libavformat/framehash.c +CONFIG_FRAMEHASH_MUXER libavformat/hashenc.c libavformat/framehash.c +CONFIG_FRAMEMD5_MUXER libavformat/hashenc.c libavformat/framehash.c +CONFIG_G722_MUXER libavformat/rawenc.c +CONFIG_G723_1_MUXER libavformat/rawenc.c +CONFIG_GIF_MUXER libavformat/gif.c +CONFIG_GSM_MUXER libavformat/rawenc.c +CONFIG_GXF_MUXER libavformat/gxfenc.c libavformat/audiointerleave.c +CONFIG_H261_MUXER libavformat/rawenc.c +CONFIG_H263_MUXER libavformat/rawenc.c +CONFIG_H264_MUXER libavformat/rawenc.c +CONFIG_HASH_MUXER libavformat/hashenc.c +CONFIG_HDS_MUXER libavformat/hdsenc.c +CONFIG_HEVC_MUXER libavformat/rawenc.c +CONFIG_HLS_MUXER libavformat/hlsenc.c +CONFIG_ICO_MUXER libavformat/icoenc.c +CONFIG_ILBC_MUXER libavformat/ilbc.c +CONFIG_IMAGE2_MUXER libavformat/img2enc.c libavformat/img2.c +CONFIG_IMAGE2PIPE_MUXER libavformat/img2enc.c libavformat/img2.c +CONFIG_IPOD_MUXER +CONFIG_IRCAM_MUXER libavformat/ircamenc.c libavformat/ircam.c libavformat/rawenc.c +CONFIG_ISMV_MUXER +CONFIG_IVF_MUXER libavformat/ivfenc.c +CONFIG_JACOSUB_MUXER libavformat/jacosubenc.c libavformat/rawenc.c +CONFIG_LATM_MUXER libavcodec/mpeg4audio.c libavformat/latmenc.c libavformat/rawenc.c +CONFIG_LRC_MUXER libavformat/lrcenc.c libavformat/lrc.c +CONFIG_M4V_MUXER libavformat/rawenc.c +CONFIG_MD5_MUXER libavformat/hashenc.c +CONFIG_MATROSKA_MUXER libavcodec/flac.c libavcodec/flacdata.c libavcodec/vorbis_data.c libavformat/matroskaenc.c libavformat/matroska.c libavformat/avc.c libavformat/hevc.c libavformat/flacenc_header.c libavformat/avlanguage.c libavformat/vorbiscomment.c libavformat/wv.c libavformat/webmdashenc.c libavformat/webm_chunk.c +CONFIG_MATROSKA_AUDIO_MUXER libavcodec/mpeg4audio.c libavcodec/vorbis_data.c libavcodec/flac.c libavcodec/flacdata.c +CONFIG_MICRODVD_MUXER libavformat/microdvdenc.c +CONFIG_MJPEG_MUXER libavformat/rawenc.c +CONFIG_MLP_MUXER libavformat/rawenc.c +CONFIG_MMF_MUXER libavformat/mmf.c libavformat/rawenc.c +CONFIG_MOV_MUXER libavformat/movenc.c libavformat/avc.c libavformat/hevc.c libavformat/vpcc.c libavformat/movenchint.c libavformat/mov_chan.c libavformat/rtp.c libavformat/movenccenc.c libavformat/rawutils.c +CONFIG_MP2_MUXER libavcodec/mpegaudiodata.c libavcodec/mpegaudiodecheader.c libavformat/mp3enc.c libavformat/rawenc.c libavformat/id3v2enc.c +CONFIG_MP3_MUXER libavcodec/mpegaudiodata.c libavcodec/mpegaudiodecheader.c libavformat/mp3enc.c libavformat/rawenc.c libavformat/id3v2enc.c +CONFIG_MP4_MUXER +CONFIG_MPEG1SYSTEM_MUXER libavformat/mpegenc.c +CONFIG_MPEG1VCD_MUXER libavformat/mpegenc.c +CONFIG_MPEG1VIDEO_MUXER libavformat/rawenc.c +CONFIG_MPEG2DVD_MUXER libavformat/mpegenc.c +CONFIG_MPEG2SVCD_MUXER libavformat/mpegenc.c +CONFIG_MPEG2VIDEO_MUXER libavformat/rawenc.c +CONFIG_MPEG2VOB_MUXER libavformat/mpegenc.c +CONFIG_MPEGTS_MUXER libavcodec/mpeg4audio.c libavformat/mpegtsenc.c +CONFIG_MPJPEG_MUXER libavformat/mpjpeg.c +CONFIG_MXF_MUXER libavcodec/dnxhddata.c libavformat/mxfenc.c libavformat/mxf.c libavformat/audiointerleave.c +CONFIG_MXF_D10_MUXER +CONFIG_MXF_OPATOM_MUXER +CONFIG_NULL_MUXER libavformat/nullenc.c +CONFIG_NUT_MUXER libavcodec/mpegaudiodata.c libavformat/nutenc.c libavformat/nut.c +CONFIG_OGA_MUXER libavcodec/flac.c libavcodec/flacdata.c libavformat/oggenc.c libavformat/vorbiscomment.c +CONFIG_OGG_MUXER libavcodec/flac.c libavcodec/flacdata.c libavcodec/vorbis_data.c libavformat/oggenc.c libavformat/vorbiscomment.c +CONFIG_OGV_MUXER libavformat/oggenc.c libavformat/vorbiscomment.c +CONFIG_OMA_MUXER libavformat/omaenc.c libavformat/rawenc.c libavformat/oma.c libavformat/id3v2enc.c +CONFIG_OPUS_MUXER libavformat/oggenc.c libavformat/vorbiscomment.c +CONFIG_PCM_ALAW_MUXER libavformat/pcmenc.c libavformat/rawenc.c +CONFIG_PCM_MULAW_MUXER libavformat/pcmenc.c libavformat/rawenc.c +CONFIG_PCM_F64BE_MUXER libavformat/pcmenc.c libavformat/rawenc.c +CONFIG_PCM_F64LE_MUXER libavformat/pcmenc.c libavformat/rawenc.c +CONFIG_PCM_F32BE_MUXER libavformat/pcmenc.c libavformat/rawenc.c +CONFIG_PCM_F32LE_MUXER libavformat/pcmenc.c libavformat/rawenc.c +CONFIG_PCM_S32BE_MUXER libavformat/pcmenc.c libavformat/rawenc.c +CONFIG_PCM_S32LE_MUXER libavformat/pcmenc.c libavformat/rawenc.c +CONFIG_PCM_S24BE_MUXER libavformat/pcmenc.c libavformat/rawenc.c +CONFIG_PCM_S24LE_MUXER libavformat/pcmenc.c libavformat/rawenc.c +CONFIG_PCM_S16BE_MUXER libavformat/pcmenc.c libavformat/rawenc.c +CONFIG_PCM_S16LE_MUXER libavformat/pcmenc.c libavformat/rawenc.c +CONFIG_PCM_S8_MUXER libavformat/pcmenc.c libavformat/rawenc.c +CONFIG_PCM_U32BE_MUXER libavformat/pcmenc.c libavformat/rawenc.c +CONFIG_PCM_U32LE_MUXER libavformat/pcmenc.c libavformat/rawenc.c +CONFIG_PCM_U24BE_MUXER libavformat/pcmenc.c libavformat/rawenc.c +CONFIG_PCM_U24LE_MUXER libavformat/pcmenc.c libavformat/rawenc.c +CONFIG_PCM_U16BE_MUXER libavformat/pcmenc.c libavformat/rawenc.c +CONFIG_PCM_U16LE_MUXER libavformat/pcmenc.c libavformat/rawenc.c +CONFIG_PCM_U8_MUXER libavformat/pcmenc.c libavformat/rawenc.c +CONFIG_PSP_MUXER +CONFIG_RAWVIDEO_MUXER libavformat/rawenc.c +CONFIG_RM_MUXER libavformat/rmenc.c libavformat/rm.c +CONFIG_ROQ_MUXER libavformat/idroqenc.c libavformat/rawenc.c +CONFIG_RSO_MUXER libavformat/rsoenc.c libavformat/rso.c +CONFIG_RTP_MUXER libavcodec/mpeg4audio.c libavformat/rtp.c libavformat/rtpenc_aac.c libavformat/rtpenc_latm.c libavformat/rtpenc_amr.c libavformat/rtpenc_h261.c libavformat/rtpenc_h263.c libavformat/rtpenc_h263_rfc2190.c libavformat/rtpenc_h264_hevc.c libavformat/rtpenc_jpeg.c libavformat/rtpenc_mpv.c libavformat/rtpenc.c libavformat/rtpenc_vc2hq.c libavformat/rtpenc_vp8.c libavformat/rtpenc_vp9.c libavformat/rtpenc_xiph.c libavformat/avc.c libavformat/hevc.c +CONFIG_RTP_MPEGTS_MUXER libavformat/rtpenc_mpegts.c +CONFIG_RTSP_MUXER libavformat/rtsp.c libavformat/rtspenc.c libavformat/httpauth.c libavformat/urldecode.c +CONFIG_SAP_MUXER libavformat/sapenc.c +CONFIG_SEGMENT_MUXER libavformat/segment.c +CONFIG_STREAM_SEGMENT_MUXER +CONFIG_SINGLEJPEG_MUXER libavformat/rawenc.c +CONFIG_SMJPEG_MUXER libavformat/smjpegenc.c libavformat/smjpeg.c +CONFIG_SMOOTHSTREAMING_MUXER libavformat/smoothstreamingenc.c +CONFIG_SOX_MUXER libavformat/soxenc.c libavformat/rawenc.c +CONFIG_SPX_MUXER +CONFIG_SPDIF_MUXER libavcodec/dca.c libavformat/spdif.c libavformat/spdifenc.c +CONFIG_SRT_MUXER libavformat/srtenc.c +CONFIG_SWF_MUXER libavformat/swfenc.c libavformat/swf.c +CONFIG_TEE_MUXER libavformat/tee.c libavformat/tee_common.c +CONFIG_TG2_MUXER +CONFIG_TGP_MUXER +CONFIG_MKVTIMESTAMP_V2_MUXER libavformat/mkvtimestamp_v2.c +CONFIG_TRUEHD_MUXER libavformat/rawenc.c +CONFIG_TTA_MUXER libavformat/ttaenc.c libavformat/apetag.c libavformat/img2.c +CONFIG_UNCODEDFRAMECRC_MUXER libavformat/uncodedframecrcenc.c libavformat/framehash.c +CONFIG_VC1_MUXER libavformat/rawenc.c +CONFIG_VC1T_MUXER libavformat/vc1testenc.c +CONFIG_VOC_MUXER libavformat/vocenc.c libavformat/voc.c +CONFIG_W64_MUXER libavformat/wavenc.c libavformat/w64.c +CONFIG_WAV_MUXER libavformat/wavenc.c +CONFIG_WEBM_MUXER libavcodec/mpeg4audio.c libavcodec/mpegaudiodata.c libavcodec/flac.c libavcodec/flacdata.c libavcodec/vorbis_data.c libavformat/matroskaenc.c libavformat/matroska.c libavformat/avc.c libavformat/hevc.c libavformat/flacenc_header.c libavformat/avlanguage.c libavformat/wv.c libavformat/vorbiscomment.c libavformat/webmdashenc.c libavformat/webm_chunk.c +CONFIG_WEBM_DASH_MANIFEST_MUXER libavformat/webmdashenc.c libavformat/matroska.c +CONFIG_WEBM_CHUNK_MUXER libavformat/webm_chunk.c libavformat/matroska.c +CONFIG_WEBP_MUXER libavformat/webpenc.c +CONFIG_WEBVTT_MUXER libavformat/webvttenc.c +CONFIG_WTV_MUXER libavformat/wtvenc.c libavformat/wtv_common.c libavformat/asf.c +CONFIG_WV_MUXER libavformat/wvenc.c libavformat/wv.c libavformat/apetag.c libavformat/img2.c +CONFIG_YUV4MPEGPIPE_MUXER libavformat/yuv4mpegenc.c +CONFIG_CHROMAPRINT_MUXER libavformat/chromaprint.c +CONFIG_LIBNUT_MUXER libavformat/libnut.c +CONFIG_ALSA_OUTDEV libavdevice/alsa_enc.c libavdevice/alsa.c +CONFIG_CACA_OUTDEV libavdevice/caca.c +CONFIG_DECKLINK_OUTDEV libavdevice/decklink_enc.c libavdevice/decklink_enc_c.c libavdevice/decklink_common.c +CONFIG_FBDEV_OUTDEV libavdevice/fbdev_enc.c libavdevice/fbdev_common.c +CONFIG_OPENGL_OUTDEV libavdevice/opengl_enc.c +CONFIG_OSS_OUTDEV libavdevice/oss_enc.c libavdevice/oss.c +CONFIG_PULSE_OUTDEV libavdevice/pulse_audio_enc.c libavdevice/pulse_audio_common.c +CONFIG_SDL2_OUTDEV libavdevice/sdl2.c +CONFIG_SNDIO_OUTDEV libavdevice/sndio_enc.c libavdevice/sndio.c +CONFIG_V4L2_OUTDEV libavdevice/v4l2enc.c libavdevice/v4l2-common.c +CONFIG_XV_OUTDEV libavdevice/xv.c +CONFIG_AAC_PARSER libavcodec/aac_parser.c libavcodec/aac_ac3_parser.c libavcodec/aacadtsdec.c libavcodec/mpeg4audio.c +CONFIG_AAC_LATM_PARSER libavcodec/latm_parser.c +CONFIG_AC3_PARSER libavcodec/ac3_parser.c libavcodec/ac3tab.c libavcodec/aac_ac3_parser.c +CONFIG_ADX_PARSER libavcodec/adx_parser.c libavcodec/adx.c +CONFIG_BMP_PARSER libavcodec/bmp_parser.c +CONFIG_CAVSVIDEO_PARSER libavcodec/cavs_parser.c +CONFIG_COOK_PARSER libavcodec/cook_parser.c +CONFIG_DCA_PARSER libavcodec/dca_parser.c libavcodec/dca_exss.c libavcodec/dca.c +CONFIG_DIRAC_PARSER libavcodec/dirac_parser.c +CONFIG_DNXHD_PARSER libavcodec/dnxhd_parser.c +CONFIG_DPX_PARSER libavcodec/dpx_parser.c +CONFIG_DVAUDIO_PARSER libavcodec/dvaudio_parser.c +CONFIG_DVBSUB_PARSER libavcodec/dvbsub_parser.c +CONFIG_DVDSUB_PARSER libavcodec/dvdsub_parser.c +CONFIG_DVD_NAV_PARSER libavcodec/dvd_nav_parser.c +CONFIG_FLAC_PARSER libavcodec/flac_parser.c libavcodec/flacdata.c libavcodec/flac.c libavcodec/vorbis_data.c +CONFIG_G729_PARSER libavcodec/g729_parser.c +CONFIG_GSM_PARSER libavcodec/gsm_parser.c +CONFIG_H261_PARSER libavcodec/h261_parser.c +CONFIG_H263_PARSER libavcodec/h263_parser.c +CONFIG_H264_PARSER libavcodec/h264_parser.c libavcodec/h264_parse.c libavcodec/h2645_parse.c libavcodec/h264_ps.c libavcodec/h264_sei.c libavcodec/h264data.c +CONFIG_HEVC_PARSER libavcodec/hevc_parser.c libavcodec/h2645_parse.c libavcodec/hevc_ps.c libavcodec/hevc_data.c +CONFIG_MJPEG_PARSER libavcodec/mjpeg_parser.c +CONFIG_MLP_PARSER libavcodec/mlp_parser.c libavcodec/mlp.c +CONFIG_MPEG4VIDEO_PARSER libavcodec/mpeg4video_parser.c libavcodec/h263.c libavcodec/mpeg4videodec.c libavcodec/mpeg4video.c libavcodec/ituh263dec.c libavcodec/h263dec.c libavcodec/h263data.c +CONFIG_MPEGAUDIO_PARSER libavcodec/mpegaudio_parser.c libavcodec/mpegaudiodecheader.c libavcodec/mpegaudiodata.c +CONFIG_MPEGVIDEO_PARSER libavcodec/mpegvideo_parser.c libavcodec/mpeg12.c libavcodec/mpeg12data.c +CONFIG_OPUS_PARSER libavcodec/opus_parser.c libavcodec/opus.c libavcodec/vorbis_data.c +CONFIG_PNG_PARSER libavcodec/png_parser.c libavcodec/png_parser.c +CONFIG_PNM_PARSER libavcodec/pnm_parser.c libavcodec/pnm.c +CONFIG_RV30_PARSER libavcodec/rv34_parser.c +CONFIG_RV40_PARSER libavcodec/rv34_parser.c +CONFIG_TAK_PARSER libavcodec/tak_parser.c libavcodec/tak.c +CONFIG_VC1_PARSER libavcodec/vc1_parser.c libavcodec/vc1.c libavcodec/vc1data.c libavcodec/simple_idct.c libavcodec/wmv2data.c +CONFIG_VORBIS_PARSER +CONFIG_VP3_PARSER libavcodec/vp3_parser.c +CONFIG_VP8_PARSER libavcodec/vp8_parser.c +CONFIG_VP9_PARSER libavcodec/vp9_parser.c +CONFIG_ASYNC_PROTOCOL libavformat/async.c +CONFIG_BLURAY_PROTOCOL libavformat/bluray.c +CONFIG_CACHE_PROTOCOL libavformat/cache.c +CONFIG_CONCAT_PROTOCOL libavformat/concat.c +CONFIG_CRYPTO_PROTOCOL libavformat/crypto.c +CONFIG_DATA_PROTOCOL libavformat/data_uri.c +CONFIG_FFRTMPCRYPT_PROTOCOL libavformat/rtmpcrypt.c libavformat/rtmpdh.c +CONFIG_FFRTMPHTTP_PROTOCOL libavformat/rtmphttp.c +CONFIG_FILE_PROTOCOL libavformat/file.c +CONFIG_FTP_PROTOCOL libavformat/ftp.c +CONFIG_GOPHER_PROTOCOL libavformat/gopher.c +CONFIG_HLS_PROTOCOL libavformat/hlsproto.c +CONFIG_HTTP_PROTOCOL libavformat/http.c libavformat/httpauth.c libavformat/urldecode.c +CONFIG_HTTPPROXY_PROTOCOL libavformat/http.c libavformat/httpauth.c libavformat/urldecode.c +CONFIG_HTTPS_PROTOCOL libavformat/http.c libavformat/httpauth.c libavformat/urldecode.c +CONFIG_ICECAST_PROTOCOL libavformat/icecast.c +CONFIG_MMSH_PROTOCOL libavformat/mmsh.c libavformat/mms.c libavformat/asf.c +CONFIG_MMST_PROTOCOL libavformat/mmst.c libavformat/mms.c libavformat/asf.c +CONFIG_MD5_PROTOCOL libavformat/md5proto.c +CONFIG_PIPE_PROTOCOL libavformat/file.c +CONFIG_RTMP_PROTOCOL libavformat/rtmpproto.c libavformat/rtmppkt.c +CONFIG_RTMPE_PROTOCOL libavformat/rtmpproto.c libavformat/rtmppkt.c +CONFIG_RTMPS_PROTOCOL libavformat/rtmpproto.c libavformat/rtmppkt.c +CONFIG_RTMPT_PROTOCOL libavformat/rtmpproto.c libavformat/rtmppkt.c +CONFIG_RTMPTE_PROTOCOL libavformat/rtmpproto.c libavformat/rtmppkt.c +CONFIG_RTMPTS_PROTOCOL libavformat/rtmpproto.c libavformat/rtmppkt.c +CONFIG_RTP_PROTOCOL libavformat/rtpproto.c +CONFIG_SCTP_PROTOCOL libavformat/sctp.c +CONFIG_SRTP_PROTOCOL libavformat/srtpproto.c libavformat/srtp.c +CONFIG_SUBFILE_PROTOCOL libavformat/subfile.c +CONFIG_TEE_PROTOCOL libavformat/teeproto.c libavformat/tee_common.c +CONFIG_TCP_PROTOCOL libavformat/tcp.c +CONFIG_TLS_GNUTLS_PROTOCOL libavformat/tls_gnutls.c libavformat/tls.c +CONFIG_TLS_SCHANNEL_PROTOCOL libavformat/tls_schannel.c libavformat/tls.c +CONFIG_TLS_SECURETRANSPORT_PROTOCOL libavformat/tls_securetransport.c libavformat/tls.c +CONFIG_TLS_OPENSSL_PROTOCOL libavformat/tls_openssl.c libavformat/tls.c +CONFIG_UDP_PROTOCOL libavformat/udp.c +CONFIG_UDPLITE_PROTOCOL libavformat/udp.c +CONFIG_UNIX_PROTOCOL libavformat/unix.c +CONFIG_LIBRTMP_PROTOCOL +CONFIG_LIBRTMPE_PROTOCOL +CONFIG_LIBRTMPS_PROTOCOL +CONFIG_LIBRTMPT_PROTOCOL +CONFIG_LIBRTMPTE_PROTOCOL +CONFIG_LIBSSH_PROTOCOL libavformat/libssh.c +CONFIG_LIBSMBCLIENT_PROTOCOL libavformat/libsmbclient.c diff --git a/pkg/ffmpeg/src b/pkg/ffmpeg/src new file mode 160000 index 00000000..c269c43a --- /dev/null +++ b/pkg/ffmpeg/src @@ -0,0 +1 @@ +Subproject commit c269c43a83166003ab6649263bc60634a6b7866f diff --git a/pkg/file/config.h b/pkg/file/config.h new file mode 100644 index 00000000..9bdf61af --- /dev/null +++ b/pkg/file/config.h @@ -0,0 +1,97 @@ +#include + +/* #undef AC_APPLE_UNIVERSAL_BUILD */ +#define BUILTIN_ELF 1 +#define ELFCORE 1 +#define HAVE_ASPRINTF 1 +#define HAVE_DECL_DAYLIGHT 1 +#define HAVE_DECL_TZNAME 1 +#define HAVE_ERR_H 1 +/* #undef HAVE_FMTCHECK */ +#define HAVE_GETOPT_H 1 +#define HAVE_GETOPT_LONG 1 +#define HAVE_GETPAGESIZE 1 +#define HAVE_INTPTR_T 1 +/* #undef HAVE_LIBGNURX */ +#define HAVE_LIBZ 1 +#define HAVE_MBSTATE_T 1 +#define HAVE_MEMORY_H 1 +#define HAVE_MKOSTEMP 1 +#define HAVE_SIG_T 1 +#define HAVE_STRCASESTR 1 +#define HAVE_STRLCAT 1 +#define HAVE_STRLCPY 1 +#define HAVE_STRUCT_OPTION 1 +/* #undef HAVE_STRUCT_TM_TM_GMTOFF */ +#define HAVE_STRUCT_TM_TM_ZONE 1 +#define HAVE_SYS_PARAM_H 1 +/* #undef HAVE_SYS_UTIME_H */ +#define HAVE_TM_ISDST 1 +#define HAVE_TM_ZONE 1 +#define HAVE_VASPRINTF 1 +/* #undef HAVE_VFORK_H */ +/* #undef HAVE_XLOCALE_H */ +#define HAVE_ZLIB_H 1 +#define LT_OBJDIR ".libs/" +/* #undef MAJOR_IN_MKDEV */ +/* #undef MAJOR_IN_SYSMACROS */ +#define PACKAGE "file" +#define PACKAGE_BUGREPORT "christos@astron.com" +#define PACKAGE_NAME "file" +#define PACKAGE_STRING "file 5.29" +#define PACKAGE_TARNAME "file" +#define PACKAGE_URL "" +#define PACKAGE_VERSION "5.29" +/* #undef TM_IN_SYS_TIME */ +#ifndef _ALL_SOURCE +# define _ALL_SOURCE 1 +#endif +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif +#ifndef _POSIX_PTHREAD_SEMANTICS +# define _POSIX_PTHREAD_SEMANTICS 1 +#endif +#ifndef _TANDEM_SOURCE +# define _TANDEM_SOURCE 1 +#endif +#ifndef __EXTENSIONS__ +# define __EXTENSIONS__ 1 +#endif +#define VERSION "5.29" +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif +#define ZLIBSUPPORT 1 +#ifndef _DARWIN_USE_64_BIT_INODE +# define _DARWIN_USE_64_BIT_INODE 1 +#endif +/* #undef _FILE_OFFSET_BITS */ +/* #undef _LARGEFILE_SOURCE */ +/* #undef _LARGE_FILES */ +/* #undef _MINIX */ +/* #undef _POSIX_1_SOURCE */ +/* #undef _POSIX_SOURCE */ +/* #undef _UINT32_T */ +/* #undef _UINT64_T */ +/* #undef _UINT8_T */ +/* #undef const */ +/* #undef int32_t */ +/* #undef int64_t */ +/* #undef intptr_t */ +/* #undef mbstate_t */ +/* #undef off_t */ +/* #undef pid_t */ +/* #undef size_t */ +/* #undef uint16_t */ +/* #undef uint32_t */ +/* #undef uint64_t */ +/* #undef uint8_t */ +/* #undef uintptr_t */ +/* #undef vfork */ diff --git a/pkg/file/gen.rc b/pkg/file/gen.rc new file mode 100644 index 00000000..005f28cc --- /dev/null +++ b/pkg/file/gen.rc @@ -0,0 +1,59 @@ +version=5.29 +cflags\ + -Wall\ + -D HAVE_CONFIG_H\ + -D 'MAGIC=''"/share/file/magic"''' \ + -D _GNU_SOURCE\ + -isystem '$builddir'/pkg/zlib/include\ + -I include\ + -I '$dir' \ + -I '$outdir'/include + +build '$outdir'/include/magic.h sed '$srcdir'/src/magic.h.in ; with\ + expr s,X.YY,`{echo $version | tr -d .}^, +phony headers '$outdir'/include/magic.h + +build '$outdir'/file.1 sed '$srcdir'/doc/file.man ; exprs=(\ + -e s,__CSECTION__,1,g\ + -e s,__FSECTION__,5,g\ + -e s,__VERSION__,$version,g\ + -e s,__MAGIC__,/share/file/magic,g\ +) with expr $"exprs + +phony deps ('$dir' pkg/zlib)^/headers + +lib libmagic.a -d '$dir'/deps src/^(\ + magic.c\ + apprentice.c\ + softmagic.c\ + ascmagic.c\ + encoding.c\ + compress.c\ + is_tar.c\ + readelf.c\ + print.c\ + fsmagic.c\ + funcs.c\ + apptype.c\ + der.c\ + cdf.c\ + cdf_time.c\ + readcdf.c\ + \ + fmtcheck.c\ +) + +exe file -d '$dir'/headers src/file.c libmagic.a '$builddir/pkg/zlib/libz.a' +file bin/file '$outdir'/file 755 +file share/man/man1/file.1 '$outdir'/file.1 644 + +srcs=`{grep -v '^#' magic.txt} +for(src in $srcs) build '$outdir'/magic/$src copy '$srcdir'/magic/Magdir/$src +for(src in Header Localstuff) build '$outdir'/magic/$src copy '$srcdir'/magic/$src +magic_outs=magic/^(Header Localstuff $srcs) + +rule magic 'cd $outdir && file -C -m magic' +build '$outdir'/magic.mgc magic '|' '$outdir'/$magic_outs +file share/file/magic.mgc '$outdir'/magic.mgc 644 + +fetch git diff --git a/pkg/file/magic.txt b/pkg/file/magic.txt new file mode 100644 index 00000000..89286288 --- /dev/null +++ b/pkg/file/magic.txt @@ -0,0 +1,282 @@ +# + +#define FC_CACHEDIR "/var/cache/fontconfig" +#define FONTCONFIG_PATH "/etc/fonts" + +/* #undef AC_APPLE_UNIVERSAL_BUILD */ +#define ALIGNOF_DOUBLE 8 +#define ALIGNOF_VOID_P 8 +/* #undef ENABLE_LIBXML2 */ +#define FC_ADD_FONTS "yes" +/* #undef FC_ARCHITECTURE */ +#define FC_DEFAULT_FONTS "/share/fonts" +#define FLEXIBLE_ARRAY_MEMBER /**/ +/* #undef HAVE_DOPRNT */ +#define HAVE_FSTATFS 1 +#define HAVE_FT_BITMAP_SIZE_Y_PPEM 1 +#define HAVE_FT_GET_BDF_PROPERTY 1 +#define HAVE_FT_GET_NEXT_CHAR 1 +#define HAVE_FT_GET_PS_FONT_INFO 1 +#define HAVE_FT_GET_X11_FONT_FORMAT 1 +#define HAVE_FT_HAS_PS_GLYPH_NAMES 1 +#define HAVE_FT_SELECT_SIZE 1 +/* #undef HAVE_GETEXECNAME */ +#define HAVE_GETOPT_LONG 1 +#define HAVE_GETPAGESIZE 1 +/* #undef HAVE_GETPROGNAME */ +#define HAVE_INTEL_ATOMIC_PRIMITIVES 1 +#define HAVE_MEMORY_H 1 +#define HAVE_MKOSTEMP 1 +/* #undef HAVE_NDIR_H */ +#define HAVE_PTHREAD 1 +#define HAVE_PTHREAD_PRIO_INHERIT 1 +/* #undef HAVE_RANDOM_R */ +/* #undef HAVE_SOLARIS_ATOMIC_OPS */ +#define HAVE_STRUCT_DIRENT_D_TYPE 1 +#define HAVE_STRUCT_STATFS_F_FLAGS 1 +/* #undef HAVE_STRUCT_STATFS_F_FSTYPENAME */ +/* #undef HAVE_STRUCT_STATVFS_F_BASETYPE */ +/* #undef HAVE_STRUCT_STATVFS_F_FSTYPENAME */ +#define HAVE_STRUCT_STAT_ST_MTIM 1 +/* #undef HAVE_SYS_DIR_H */ +#define HAVE_SYS_MOUNT_H 1 +/* #undef HAVE_SYS_NDIR_H */ +#define HAVE_SYS_PARAM_H 1 +#define HAVE_SYS_STATFS_H 1 +#define HAVE_SYS_VFS_H 1 +#define HAVE_TT_OS2_USLOWEROPTICALPOINTSIZE 1 +#define HAVE_TT_OS2_USUPPEROPTICALPOINTSIZE 1 +/* Can use #warning in C files */ +#define HAVE_WARNING_CPP_DIRECTIVE 1 +/* #undef HAVE_XMLPARSE_H */ +#define HAVE_XML_SETDOCTYPEDECLHANDLER 1 +/* #undef HAVE__MKTEMP_S */ +#define LT_OBJDIR ".libs/" +#define PACKAGE "fontconfig" +#define PACKAGE_BUGREPORT "https://bugs.freedesktop.org/enter_bug.cgi?product=fontconfig" +#define PACKAGE_NAME "fontconfig" +#define PACKAGE_STRING "fontconfig 2.12.1" +#define PACKAGE_TARNAME "fontconfig" +#define PACKAGE_URL "" +#define PACKAGE_VERSION "2.12.1" +/* #undef PTHREAD_CREATE_JOINABLE */ +/* #undef SIZEOF_CHAR */ +/* #undef SIZEOF_INT */ +/* #undef SIZEOF_LONG */ +/* #undef SIZEOF_SHORT */ +/* #undef SIZEOF_VOIDP */ +#define SIZEOF_VOID_P 8 +#define USE_ICONV 0 +#ifndef _ALL_SOURCE +# define _ALL_SOURCE 1 +#endif +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif +#ifndef _POSIX_PTHREAD_SEMANTICS +# define _POSIX_PTHREAD_SEMANTICS 1 +#endif +#ifndef _TANDEM_SOURCE +# define _TANDEM_SOURCE 1 +#endif +#ifndef __EXTENSIONS__ +# define __EXTENSIONS__ 1 +#endif +#define VERSION "2.12.1" +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif +#ifndef _DARWIN_USE_64_BIT_INODE +# define _DARWIN_USE_64_BIT_INODE 1 +#endif +/* #undef _FILE_OFFSET_BITS */ +/* #undef _LARGE_FILES */ +/* #undef _MINIX */ +/* #undef _POSIX_1_SOURCE */ +/* #undef _POSIX_SOURCE */ +/* #undef const */ +#ifndef __cplusplus +/* #undef inline */ +#endif +/* #undef pid_t */ +#include "config-fixups.h" diff --git a/pkg/fontconfig/gen.rc b/pkg/fontconfig/gen.rc new file mode 100644 index 00000000..772ebab2 --- /dev/null +++ b/pkg/fontconfig/gen.rc @@ -0,0 +1,58 @@ +cflags\ + -D HAVE_CONFIG_H\ + -isystem '$builddir'/pkg/expat/include\ + -isystem pkg/freetype/src/include\ + -I include\ + -I '$dir' \ + -I '$outdir' \ + -I '$srcdir' + +deps=(pkg/expat/headers '$builddir'/pkg/freetype/fetch.stamp) + +rule makealias '$srcdir/src/makealias $srcdir/src $out $in' +fn makealias { + outs='$outdir'/^($1.h $1^tail.h) + deps=($deps $outs) + shift + build $"outs makealias '$srcdir'/$* '|' '$srcdir'/src/makealias +} + +makealias fcalias fontconfig/^(fontconfig.h fcprivate.h) src/fcdeprecate.h +makealias fcftalias fontconfig/fcfreetype.h + +phony deps $deps + +lib libfontconfig.a -d '$dir'/deps src/^(\ + fcatomic.c\ + fcblanks.c\ + fccache.c\ + fccfg.c\ + fccharset.c\ + fccompat.c\ + fcdbg.c\ + fcdefault.c\ + fcdir.c\ + fcformat.c\ + fcfreetype.c\ + fcfs.c\ + fcinit.c\ + fclang.c\ + fclist.c\ + fcmatch.c\ + fcmatrix.c\ + fcname.c\ + fcobjs.c\ + fcpat.c\ + fcrange.c\ + fcserialize.c\ + fcstat.c\ + fcstr.c\ + fcweight.c\ + fcxml.c\ + ftglue.c\ +) '$builddir'/pkg/^(\ + expat/libexpat.a\ + freetype/libfreetype.a.d\ +) + +fetch git diff --git a/pkg/fontconfig/patch/0001-Add-generated-sources-from-fontconfig-2.12.1-distrib.patch b/pkg/fontconfig/patch/0001-Add-generated-sources-from-fontconfig-2.12.1-distrib.patch new file mode 100644 index 00000000..8641d294 --- /dev/null +++ b/pkg/fontconfig/patch/0001-Add-generated-sources-from-fontconfig-2.12.1-distrib.patch @@ -0,0 +1,10304 @@ +From cd328e9d084bf3e547e2e0fa0bd7d4b187f21982 Mon Sep 17 00:00:00 2001 +From: Michael Forney +Date: Fri, 21 Oct 2016 00:09:21 -0700 +Subject: [PATCH] Add generated sources from fontconfig-2.12.1 distribution + archive + +--- + fc-blanks/fcblanks.h | 4223 ++++++++++++++++++++++++++++++++++++++++ + fc-case/fccase.h | 354 ++++ + fc-glyphname/fcglyphname.h | 781 ++++++++ + fc-lang/fclang.h | 4549 ++++++++++++++++++++++++++++++++++++++++++++ + src/fcobjshash.h | 328 ++++ + src/fcstdint.h | 9 + + 6 files changed, 10244 insertions(+) + create mode 100644 fc-blanks/fcblanks.h + create mode 100644 fc-case/fccase.h + create mode 100644 fc-glyphname/fcglyphname.h + create mode 100644 fc-lang/fclang.h + create mode 100644 src/fcobjshash.h + create mode 100644 src/fcstdint.h + +diff --git a/fc-blanks/fcblanks.h b/fc-blanks/fcblanks.h +new file mode 100644 +index 0000000..51ba34d +--- /dev/null ++++ b/fc-blanks/fcblanks.h +@@ -0,0 +1,4223 @@ ++/* ++ * fontconfig/fc-blanks/fcblanks.tmpl.h ++ * ++ * Copyright © 2003 Keith Packard ++ * ++ * Permission to use, copy, modify, distribute, and sell this software and its ++ * documentation for any purpose is hereby granted without fee, provided that ++ * the above copyright notice appear in all copies and that both that ++ * copyright notice and this permission notice appear in supporting ++ * documentation, and that the name of the author(s) not be used in ++ * advertising or publicity pertaining to distribution of the software without ++ * specific, written prior permission. The authors make no ++ * representations about the suitability of this software for any purpose. It ++ * is provided "as is" without express or implied warranty. ++ * ++ * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, ++ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO ++ * EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR ++ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, ++ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER ++ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR ++ * PERFORMANCE OF THIS SOFTWARE. ++ */ ++ ++static FcChar32 _fcBlanks[4191] = { ++ 0x0020 , ++ 0x00a0 , ++ 0x00ad , ++ 0x034f , ++ 0x061c , ++ 0x115f , ++ 0x1160 , ++ 0x1680 , ++ 0x17b4 , ++ 0x17b5 , ++ 0x180b , ++ 0x180c , ++ 0x180d , ++ 0x180e , ++ 0x2000 , ++ 0x2001 , ++ 0x2002 , ++ 0x2003 , ++ 0x2004 , ++ 0x2005 , ++ 0x2006 , ++ 0x2007 , ++ 0x2008 , ++ 0x2009 , ++ 0x200a , ++ 0x200b , ++ 0x200c , ++ 0x200d , ++ 0x200e , ++ 0x200f , ++ 0x202a , ++ 0x202b , ++ 0x202c , ++ 0x202d , ++ 0x202e , ++ 0x202f , ++ 0x205f , ++ 0x2060 , ++ 0x2061 , ++ 0x2062 , ++ 0x2063 , ++ 0x2064 , ++ 0x2065 , ++ 0x2066 , ++ 0x2067 , ++ 0x2068 , ++ 0x2069 , ++ 0x206a , ++ 0x206b , ++ 0x206c , ++ 0x206d , ++ 0x206e , ++ 0x206f , ++ 0x2800 , ++ 0x3000 , ++ 0x3164 , ++ 0xfe00 , ++ 0xfe01 , ++ 0xfe02 , ++ 0xfe03 , ++ 0xfe04 , ++ 0xfe05 , ++ 0xfe06 , ++ 0xfe07 , ++ 0xfe08 , ++ 0xfe09 , ++ 0xfe0a , ++ 0xfe0b , ++ 0xfe0c , ++ 0xfe0d , ++ 0xfe0e , ++ 0xfe0f , ++ 0xfeff , ++ 0xffa0 , ++ 0xfff0 , ++ 0xfff1 , ++ 0xfff2 , ++ 0xfff3 , ++ 0xfff4 , ++ 0xfff5 , ++ 0xfff6 , ++ 0xfff7 , ++ 0xfff8 , ++ 0x1bca0 , ++ 0x1bca1 , ++ 0x1bca2 , ++ 0x1bca3 , ++ 0x1d173 , ++ 0x1d174 , ++ 0x1d175 , ++ 0x1d176 , ++ 0x1d177 , ++ 0x1d178 , ++ 0x1d179 , ++ 0x1d17a , ++ 0xe0000 , ++ 0xe0001 , ++ 0xe0002 , ++ 0xe0003 , ++ 0xe0004 , ++ 0xe0005 , ++ 0xe0006 , ++ 0xe0007 , ++ 0xe0008 , ++ 0xe0009 , ++ 0xe000a , ++ 0xe000b , ++ 0xe000c , ++ 0xe000d , ++ 0xe000e , ++ 0xe000f , ++ 0xe0010 , ++ 0xe0011 , ++ 0xe0012 , ++ 0xe0013 , ++ 0xe0014 , ++ 0xe0015 , ++ 0xe0016 , ++ 0xe0017 , ++ 0xe0018 , ++ 0xe0019 , ++ 0xe001a , ++ 0xe001b , ++ 0xe001c , ++ 0xe001d , ++ 0xe001e , ++ 0xe001f , ++ 0xe0020 , ++ 0xe0021 , ++ 0xe0022 , ++ 0xe0023 , ++ 0xe0024 , ++ 0xe0025 , ++ 0xe0026 , ++ 0xe0027 , ++ 0xe0028 , ++ 0xe0029 , ++ 0xe002a , ++ 0xe002b , ++ 0xe002c , ++ 0xe002d , ++ 0xe002e , ++ 0xe002f , ++ 0xe0030 , ++ 0xe0031 , ++ 0xe0032 , ++ 0xe0033 , ++ 0xe0034 , ++ 0xe0035 , ++ 0xe0036 , ++ 0xe0037 , ++ 0xe0038 , ++ 0xe0039 , ++ 0xe003a , ++ 0xe003b , ++ 0xe003c , ++ 0xe003d , ++ 0xe003e , ++ 0xe003f , ++ 0xe0040 , ++ 0xe0041 , ++ 0xe0042 , ++ 0xe0043 , ++ 0xe0044 , ++ 0xe0045 , ++ 0xe0046 , ++ 0xe0047 , ++ 0xe0048 , ++ 0xe0049 , ++ 0xe004a , ++ 0xe004b , ++ 0xe004c , ++ 0xe004d , ++ 0xe004e , ++ 0xe004f , ++ 0xe0050 , ++ 0xe0051 , ++ 0xe0052 , ++ 0xe0053 , ++ 0xe0054 , ++ 0xe0055 , ++ 0xe0056 , ++ 0xe0057 , ++ 0xe0058 , ++ 0xe0059 , ++ 0xe005a , ++ 0xe005b , ++ 0xe005c , ++ 0xe005d , ++ 0xe005e , ++ 0xe005f , ++ 0xe0060 , ++ 0xe0061 , ++ 0xe0062 , ++ 0xe0063 , ++ 0xe0064 , ++ 0xe0065 , ++ 0xe0066 , ++ 0xe0067 , ++ 0xe0068 , ++ 0xe0069 , ++ 0xe006a , ++ 0xe006b , ++ 0xe006c , ++ 0xe006d , ++ 0xe006e , ++ 0xe006f , ++ 0xe0070 , ++ 0xe0071 , ++ 0xe0072 , ++ 0xe0073 , ++ 0xe0074 , ++ 0xe0075 , ++ 0xe0076 , ++ 0xe0077 , ++ 0xe0078 , ++ 0xe0079 , ++ 0xe007a , ++ 0xe007b , ++ 0xe007c , ++ 0xe007d , ++ 0xe007e , ++ 0xe007f , ++ 0xe0080 , ++ 0xe0081 , ++ 0xe0082 , ++ 0xe0083 , ++ 0xe0084 , ++ 0xe0085 , ++ 0xe0086 , ++ 0xe0087 , ++ 0xe0088 , ++ 0xe0089 , ++ 0xe008a , ++ 0xe008b , ++ 0xe008c , ++ 0xe008d , ++ 0xe008e , ++ 0xe008f , ++ 0xe0090 , ++ 0xe0091 , ++ 0xe0092 , ++ 0xe0093 , ++ 0xe0094 , ++ 0xe0095 , ++ 0xe0096 , ++ 0xe0097 , ++ 0xe0098 , ++ 0xe0099 , ++ 0xe009a , ++ 0xe009b , ++ 0xe009c , ++ 0xe009d , ++ 0xe009e , ++ 0xe009f , ++ 0xe00a0 , ++ 0xe00a1 , ++ 0xe00a2 , ++ 0xe00a3 , ++ 0xe00a4 , ++ 0xe00a5 , ++ 0xe00a6 , ++ 0xe00a7 , ++ 0xe00a8 , ++ 0xe00a9 , ++ 0xe00aa , ++ 0xe00ab , ++ 0xe00ac , ++ 0xe00ad , ++ 0xe00ae , ++ 0xe00af , ++ 0xe00b0 , ++ 0xe00b1 , ++ 0xe00b2 , ++ 0xe00b3 , ++ 0xe00b4 , ++ 0xe00b5 , ++ 0xe00b6 , ++ 0xe00b7 , ++ 0xe00b8 , ++ 0xe00b9 , ++ 0xe00ba , ++ 0xe00bb , ++ 0xe00bc , ++ 0xe00bd , ++ 0xe00be , ++ 0xe00bf , ++ 0xe00c0 , ++ 0xe00c1 , ++ 0xe00c2 , ++ 0xe00c3 , ++ 0xe00c4 , ++ 0xe00c5 , ++ 0xe00c6 , ++ 0xe00c7 , ++ 0xe00c8 , ++ 0xe00c9 , ++ 0xe00ca , ++ 0xe00cb , ++ 0xe00cc , ++ 0xe00cd , ++ 0xe00ce , ++ 0xe00cf , ++ 0xe00d0 , ++ 0xe00d1 , ++ 0xe00d2 , ++ 0xe00d3 , ++ 0xe00d4 , ++ 0xe00d5 , ++ 0xe00d6 , ++ 0xe00d7 , ++ 0xe00d8 , ++ 0xe00d9 , ++ 0xe00da , ++ 0xe00db , ++ 0xe00dc , ++ 0xe00dd , ++ 0xe00de , ++ 0xe00df , ++ 0xe00e0 , ++ 0xe00e1 , ++ 0xe00e2 , ++ 0xe00e3 , ++ 0xe00e4 , ++ 0xe00e5 , ++ 0xe00e6 , ++ 0xe00e7 , ++ 0xe00e8 , ++ 0xe00e9 , ++ 0xe00ea , ++ 0xe00eb , ++ 0xe00ec , ++ 0xe00ed , ++ 0xe00ee , ++ 0xe00ef , ++ 0xe00f0 , ++ 0xe00f1 , ++ 0xe00f2 , ++ 0xe00f3 , ++ 0xe00f4 , ++ 0xe00f5 , ++ 0xe00f6 , ++ 0xe00f7 , ++ 0xe00f8 , ++ 0xe00f9 , ++ 0xe00fa , ++ 0xe00fb , ++ 0xe00fc , ++ 0xe00fd , ++ 0xe00fe , ++ 0xe00ff , ++ 0xe0100 , ++ 0xe0101 , ++ 0xe0102 , ++ 0xe0103 , ++ 0xe0104 , ++ 0xe0105 , ++ 0xe0106 , ++ 0xe0107 , ++ 0xe0108 , ++ 0xe0109 , ++ 0xe010a , ++ 0xe010b , ++ 0xe010c , ++ 0xe010d , ++ 0xe010e , ++ 0xe010f , ++ 0xe0110 , ++ 0xe0111 , ++ 0xe0112 , ++ 0xe0113 , ++ 0xe0114 , ++ 0xe0115 , ++ 0xe0116 , ++ 0xe0117 , ++ 0xe0118 , ++ 0xe0119 , ++ 0xe011a , ++ 0xe011b , ++ 0xe011c , ++ 0xe011d , ++ 0xe011e , ++ 0xe011f , ++ 0xe0120 , ++ 0xe0121 , ++ 0xe0122 , ++ 0xe0123 , ++ 0xe0124 , ++ 0xe0125 , ++ 0xe0126 , ++ 0xe0127 , ++ 0xe0128 , ++ 0xe0129 , ++ 0xe012a , ++ 0xe012b , ++ 0xe012c , ++ 0xe012d , ++ 0xe012e , ++ 0xe012f , ++ 0xe0130 , ++ 0xe0131 , ++ 0xe0132 , ++ 0xe0133 , ++ 0xe0134 , ++ 0xe0135 , ++ 0xe0136 , ++ 0xe0137 , ++ 0xe0138 , ++ 0xe0139 , ++ 0xe013a , ++ 0xe013b , ++ 0xe013c , ++ 0xe013d , ++ 0xe013e , ++ 0xe013f , ++ 0xe0140 , ++ 0xe0141 , ++ 0xe0142 , ++ 0xe0143 , ++ 0xe0144 , ++ 0xe0145 , ++ 0xe0146 , ++ 0xe0147 , ++ 0xe0148 , ++ 0xe0149 , ++ 0xe014a , ++ 0xe014b , ++ 0xe014c , ++ 0xe014d , ++ 0xe014e , ++ 0xe014f , ++ 0xe0150 , ++ 0xe0151 , ++ 0xe0152 , ++ 0xe0153 , ++ 0xe0154 , ++ 0xe0155 , ++ 0xe0156 , ++ 0xe0157 , ++ 0xe0158 , ++ 0xe0159 , ++ 0xe015a , ++ 0xe015b , ++ 0xe015c , ++ 0xe015d , ++ 0xe015e , ++ 0xe015f , ++ 0xe0160 , ++ 0xe0161 , ++ 0xe0162 , ++ 0xe0163 , ++ 0xe0164 , ++ 0xe0165 , ++ 0xe0166 , ++ 0xe0167 , ++ 0xe0168 , ++ 0xe0169 , ++ 0xe016a , ++ 0xe016b , ++ 0xe016c , ++ 0xe016d , ++ 0xe016e , ++ 0xe016f , ++ 0xe0170 , ++ 0xe0171 , ++ 0xe0172 , ++ 0xe0173 , ++ 0xe0174 , ++ 0xe0175 , ++ 0xe0176 , ++ 0xe0177 , ++ 0xe0178 , ++ 0xe0179 , ++ 0xe017a , ++ 0xe017b , ++ 0xe017c , ++ 0xe017d , ++ 0xe017e , ++ 0xe017f , ++ 0xe0180 , ++ 0xe0181 , ++ 0xe0182 , ++ 0xe0183 , ++ 0xe0184 , ++ 0xe0185 , ++ 0xe0186 , ++ 0xe0187 , ++ 0xe0188 , ++ 0xe0189 , ++ 0xe018a , ++ 0xe018b , ++ 0xe018c , ++ 0xe018d , ++ 0xe018e , ++ 0xe018f , ++ 0xe0190 , ++ 0xe0191 , ++ 0xe0192 , ++ 0xe0193 , ++ 0xe0194 , ++ 0xe0195 , ++ 0xe0196 , ++ 0xe0197 , ++ 0xe0198 , ++ 0xe0199 , ++ 0xe019a , ++ 0xe019b , ++ 0xe019c , ++ 0xe019d , ++ 0xe019e , ++ 0xe019f , ++ 0xe01a0 , ++ 0xe01a1 , ++ 0xe01a2 , ++ 0xe01a3 , ++ 0xe01a4 , ++ 0xe01a5 , ++ 0xe01a6 , ++ 0xe01a7 , ++ 0xe01a8 , ++ 0xe01a9 , ++ 0xe01aa , ++ 0xe01ab , ++ 0xe01ac , ++ 0xe01ad , ++ 0xe01ae , ++ 0xe01af , ++ 0xe01b0 , ++ 0xe01b1 , ++ 0xe01b2 , ++ 0xe01b3 , ++ 0xe01b4 , ++ 0xe01b5 , ++ 0xe01b6 , ++ 0xe01b7 , ++ 0xe01b8 , ++ 0xe01b9 , ++ 0xe01ba , ++ 0xe01bb , ++ 0xe01bc , ++ 0xe01bd , ++ 0xe01be , ++ 0xe01bf , ++ 0xe01c0 , ++ 0xe01c1 , ++ 0xe01c2 , ++ 0xe01c3 , ++ 0xe01c4 , ++ 0xe01c5 , ++ 0xe01c6 , ++ 0xe01c7 , ++ 0xe01c8 , ++ 0xe01c9 , ++ 0xe01ca , ++ 0xe01cb , ++ 0xe01cc , ++ 0xe01cd , ++ 0xe01ce , ++ 0xe01cf , ++ 0xe01d0 , ++ 0xe01d1 , ++ 0xe01d2 , ++ 0xe01d3 , ++ 0xe01d4 , ++ 0xe01d5 , ++ 0xe01d6 , ++ 0xe01d7 , ++ 0xe01d8 , ++ 0xe01d9 , ++ 0xe01da , ++ 0xe01db , ++ 0xe01dc , ++ 0xe01dd , ++ 0xe01de , ++ 0xe01df , ++ 0xe01e0 , ++ 0xe01e1 , ++ 0xe01e2 , ++ 0xe01e3 , ++ 0xe01e4 , ++ 0xe01e5 , ++ 0xe01e6 , ++ 0xe01e7 , ++ 0xe01e8 , ++ 0xe01e9 , ++ 0xe01ea , ++ 0xe01eb , ++ 0xe01ec , ++ 0xe01ed , ++ 0xe01ee , ++ 0xe01ef , ++ 0xe01f0 , ++ 0xe01f1 , ++ 0xe01f2 , ++ 0xe01f3 , ++ 0xe01f4 , ++ 0xe01f5 , ++ 0xe01f6 , ++ 0xe01f7 , ++ 0xe01f8 , ++ 0xe01f9 , ++ 0xe01fa , ++ 0xe01fb , ++ 0xe01fc , ++ 0xe01fd , ++ 0xe01fe , ++ 0xe01ff , ++ 0xe0200 , ++ 0xe0201 , ++ 0xe0202 , ++ 0xe0203 , ++ 0xe0204 , ++ 0xe0205 , ++ 0xe0206 , ++ 0xe0207 , ++ 0xe0208 , ++ 0xe0209 , ++ 0xe020a , ++ 0xe020b , ++ 0xe020c , ++ 0xe020d , ++ 0xe020e , ++ 0xe020f , ++ 0xe0210 , ++ 0xe0211 , ++ 0xe0212 , ++ 0xe0213 , ++ 0xe0214 , ++ 0xe0215 , ++ 0xe0216 , ++ 0xe0217 , ++ 0xe0218 , ++ 0xe0219 , ++ 0xe021a , ++ 0xe021b , ++ 0xe021c , ++ 0xe021d , ++ 0xe021e , ++ 0xe021f , ++ 0xe0220 , ++ 0xe0221 , ++ 0xe0222 , ++ 0xe0223 , ++ 0xe0224 , ++ 0xe0225 , ++ 0xe0226 , ++ 0xe0227 , ++ 0xe0228 , ++ 0xe0229 , ++ 0xe022a , ++ 0xe022b , ++ 0xe022c , ++ 0xe022d , ++ 0xe022e , ++ 0xe022f , ++ 0xe0230 , ++ 0xe0231 , ++ 0xe0232 , ++ 0xe0233 , ++ 0xe0234 , ++ 0xe0235 , ++ 0xe0236 , ++ 0xe0237 , ++ 0xe0238 , ++ 0xe0239 , ++ 0xe023a , ++ 0xe023b , ++ 0xe023c , ++ 0xe023d , ++ 0xe023e , ++ 0xe023f , ++ 0xe0240 , ++ 0xe0241 , ++ 0xe0242 , ++ 0xe0243 , ++ 0xe0244 , ++ 0xe0245 , ++ 0xe0246 , ++ 0xe0247 , ++ 0xe0248 , ++ 0xe0249 , ++ 0xe024a , ++ 0xe024b , ++ 0xe024c , ++ 0xe024d , ++ 0xe024e , ++ 0xe024f , ++ 0xe0250 , ++ 0xe0251 , ++ 0xe0252 , ++ 0xe0253 , ++ 0xe0254 , ++ 0xe0255 , ++ 0xe0256 , ++ 0xe0257 , ++ 0xe0258 , ++ 0xe0259 , ++ 0xe025a , ++ 0xe025b , ++ 0xe025c , ++ 0xe025d , ++ 0xe025e , ++ 0xe025f , ++ 0xe0260 , ++ 0xe0261 , ++ 0xe0262 , ++ 0xe0263 , ++ 0xe0264 , ++ 0xe0265 , ++ 0xe0266 , ++ 0xe0267 , ++ 0xe0268 , ++ 0xe0269 , ++ 0xe026a , ++ 0xe026b , ++ 0xe026c , ++ 0xe026d , ++ 0xe026e , ++ 0xe026f , ++ 0xe0270 , ++ 0xe0271 , ++ 0xe0272 , ++ 0xe0273 , ++ 0xe0274 , ++ 0xe0275 , ++ 0xe0276 , ++ 0xe0277 , ++ 0xe0278 , ++ 0xe0279 , ++ 0xe027a , ++ 0xe027b , ++ 0xe027c , ++ 0xe027d , ++ 0xe027e , ++ 0xe027f , ++ 0xe0280 , ++ 0xe0281 , ++ 0xe0282 , ++ 0xe0283 , ++ 0xe0284 , ++ 0xe0285 , ++ 0xe0286 , ++ 0xe0287 , ++ 0xe0288 , ++ 0xe0289 , ++ 0xe028a , ++ 0xe028b , ++ 0xe028c , ++ 0xe028d , ++ 0xe028e , ++ 0xe028f , ++ 0xe0290 , ++ 0xe0291 , ++ 0xe0292 , ++ 0xe0293 , ++ 0xe0294 , ++ 0xe0295 , ++ 0xe0296 , ++ 0xe0297 , ++ 0xe0298 , ++ 0xe0299 , ++ 0xe029a , ++ 0xe029b , ++ 0xe029c , ++ 0xe029d , ++ 0xe029e , ++ 0xe029f , ++ 0xe02a0 , ++ 0xe02a1 , ++ 0xe02a2 , ++ 0xe02a3 , ++ 0xe02a4 , ++ 0xe02a5 , ++ 0xe02a6 , ++ 0xe02a7 , ++ 0xe02a8 , ++ 0xe02a9 , ++ 0xe02aa , ++ 0xe02ab , ++ 0xe02ac , ++ 0xe02ad , ++ 0xe02ae , ++ 0xe02af , ++ 0xe02b0 , ++ 0xe02b1 , ++ 0xe02b2 , ++ 0xe02b3 , ++ 0xe02b4 , ++ 0xe02b5 , ++ 0xe02b6 , ++ 0xe02b7 , ++ 0xe02b8 , ++ 0xe02b9 , ++ 0xe02ba , ++ 0xe02bb , ++ 0xe02bc , ++ 0xe02bd , ++ 0xe02be , ++ 0xe02bf , ++ 0xe02c0 , ++ 0xe02c1 , ++ 0xe02c2 , ++ 0xe02c3 , ++ 0xe02c4 , ++ 0xe02c5 , ++ 0xe02c6 , ++ 0xe02c7 , ++ 0xe02c8 , ++ 0xe02c9 , ++ 0xe02ca , ++ 0xe02cb , ++ 0xe02cc , ++ 0xe02cd , ++ 0xe02ce , ++ 0xe02cf , ++ 0xe02d0 , ++ 0xe02d1 , ++ 0xe02d2 , ++ 0xe02d3 , ++ 0xe02d4 , ++ 0xe02d5 , ++ 0xe02d6 , ++ 0xe02d7 , ++ 0xe02d8 , ++ 0xe02d9 , ++ 0xe02da , ++ 0xe02db , ++ 0xe02dc , ++ 0xe02dd , ++ 0xe02de , ++ 0xe02df , ++ 0xe02e0 , ++ 0xe02e1 , ++ 0xe02e2 , ++ 0xe02e3 , ++ 0xe02e4 , ++ 0xe02e5 , ++ 0xe02e6 , ++ 0xe02e7 , ++ 0xe02e8 , ++ 0xe02e9 , ++ 0xe02ea , ++ 0xe02eb , ++ 0xe02ec , ++ 0xe02ed , ++ 0xe02ee , ++ 0xe02ef , ++ 0xe02f0 , ++ 0xe02f1 , ++ 0xe02f2 , ++ 0xe02f3 , ++ 0xe02f4 , ++ 0xe02f5 , ++ 0xe02f6 , ++ 0xe02f7 , ++ 0xe02f8 , ++ 0xe02f9 , ++ 0xe02fa , ++ 0xe02fb , ++ 0xe02fc , ++ 0xe02fd , ++ 0xe02fe , ++ 0xe02ff , ++ 0xe0300 , ++ 0xe0301 , ++ 0xe0302 , ++ 0xe0303 , ++ 0xe0304 , ++ 0xe0305 , ++ 0xe0306 , ++ 0xe0307 , ++ 0xe0308 , ++ 0xe0309 , ++ 0xe030a , ++ 0xe030b , ++ 0xe030c , ++ 0xe030d , ++ 0xe030e , ++ 0xe030f , ++ 0xe0310 , ++ 0xe0311 , ++ 0xe0312 , ++ 0xe0313 , ++ 0xe0314 , ++ 0xe0315 , ++ 0xe0316 , ++ 0xe0317 , ++ 0xe0318 , ++ 0xe0319 , ++ 0xe031a , ++ 0xe031b , ++ 0xe031c , ++ 0xe031d , ++ 0xe031e , ++ 0xe031f , ++ 0xe0320 , ++ 0xe0321 , ++ 0xe0322 , ++ 0xe0323 , ++ 0xe0324 , ++ 0xe0325 , ++ 0xe0326 , ++ 0xe0327 , ++ 0xe0328 , ++ 0xe0329 , ++ 0xe032a , ++ 0xe032b , ++ 0xe032c , ++ 0xe032d , ++ 0xe032e , ++ 0xe032f , ++ 0xe0330 , ++ 0xe0331 , ++ 0xe0332 , ++ 0xe0333 , ++ 0xe0334 , ++ 0xe0335 , ++ 0xe0336 , ++ 0xe0337 , ++ 0xe0338 , ++ 0xe0339 , ++ 0xe033a , ++ 0xe033b , ++ 0xe033c , ++ 0xe033d , ++ 0xe033e , ++ 0xe033f , ++ 0xe0340 , ++ 0xe0341 , ++ 0xe0342 , ++ 0xe0343 , ++ 0xe0344 , ++ 0xe0345 , ++ 0xe0346 , ++ 0xe0347 , ++ 0xe0348 , ++ 0xe0349 , ++ 0xe034a , ++ 0xe034b , ++ 0xe034c , ++ 0xe034d , ++ 0xe034e , ++ 0xe034f , ++ 0xe0350 , ++ 0xe0351 , ++ 0xe0352 , ++ 0xe0353 , ++ 0xe0354 , ++ 0xe0355 , ++ 0xe0356 , ++ 0xe0357 , ++ 0xe0358 , ++ 0xe0359 , ++ 0xe035a , ++ 0xe035b , ++ 0xe035c , ++ 0xe035d , ++ 0xe035e , ++ 0xe035f , ++ 0xe0360 , ++ 0xe0361 , ++ 0xe0362 , ++ 0xe0363 , ++ 0xe0364 , ++ 0xe0365 , ++ 0xe0366 , ++ 0xe0367 , ++ 0xe0368 , ++ 0xe0369 , ++ 0xe036a , ++ 0xe036b , ++ 0xe036c , ++ 0xe036d , ++ 0xe036e , ++ 0xe036f , ++ 0xe0370 , ++ 0xe0371 , ++ 0xe0372 , ++ 0xe0373 , ++ 0xe0374 , ++ 0xe0375 , ++ 0xe0376 , ++ 0xe0377 , ++ 0xe0378 , ++ 0xe0379 , ++ 0xe037a , ++ 0xe037b , ++ 0xe037c , ++ 0xe037d , ++ 0xe037e , ++ 0xe037f , ++ 0xe0380 , ++ 0xe0381 , ++ 0xe0382 , ++ 0xe0383 , ++ 0xe0384 , ++ 0xe0385 , ++ 0xe0386 , ++ 0xe0387 , ++ 0xe0388 , ++ 0xe0389 , ++ 0xe038a , ++ 0xe038b , ++ 0xe038c , ++ 0xe038d , ++ 0xe038e , ++ 0xe038f , ++ 0xe0390 , ++ 0xe0391 , ++ 0xe0392 , ++ 0xe0393 , ++ 0xe0394 , ++ 0xe0395 , ++ 0xe0396 , ++ 0xe0397 , ++ 0xe0398 , ++ 0xe0399 , ++ 0xe039a , ++ 0xe039b , ++ 0xe039c , ++ 0xe039d , ++ 0xe039e , ++ 0xe039f , ++ 0xe03a0 , ++ 0xe03a1 , ++ 0xe03a2 , ++ 0xe03a3 , ++ 0xe03a4 , ++ 0xe03a5 , ++ 0xe03a6 , ++ 0xe03a7 , ++ 0xe03a8 , ++ 0xe03a9 , ++ 0xe03aa , ++ 0xe03ab , ++ 0xe03ac , ++ 0xe03ad , ++ 0xe03ae , ++ 0xe03af , ++ 0xe03b0 , ++ 0xe03b1 , ++ 0xe03b2 , ++ 0xe03b3 , ++ 0xe03b4 , ++ 0xe03b5 , ++ 0xe03b6 , ++ 0xe03b7 , ++ 0xe03b8 , ++ 0xe03b9 , ++ 0xe03ba , ++ 0xe03bb , ++ 0xe03bc , ++ 0xe03bd , ++ 0xe03be , ++ 0xe03bf , ++ 0xe03c0 , ++ 0xe03c1 , ++ 0xe03c2 , ++ 0xe03c3 , ++ 0xe03c4 , ++ 0xe03c5 , ++ 0xe03c6 , ++ 0xe03c7 , ++ 0xe03c8 , ++ 0xe03c9 , ++ 0xe03ca , ++ 0xe03cb , ++ 0xe03cc , ++ 0xe03cd , ++ 0xe03ce , ++ 0xe03cf , ++ 0xe03d0 , ++ 0xe03d1 , ++ 0xe03d2 , ++ 0xe03d3 , ++ 0xe03d4 , ++ 0xe03d5 , ++ 0xe03d6 , ++ 0xe03d7 , ++ 0xe03d8 , ++ 0xe03d9 , ++ 0xe03da , ++ 0xe03db , ++ 0xe03dc , ++ 0xe03dd , ++ 0xe03de , ++ 0xe03df , ++ 0xe03e0 , ++ 0xe03e1 , ++ 0xe03e2 , ++ 0xe03e3 , ++ 0xe03e4 , ++ 0xe03e5 , ++ 0xe03e6 , ++ 0xe03e7 , ++ 0xe03e8 , ++ 0xe03e9 , ++ 0xe03ea , ++ 0xe03eb , ++ 0xe03ec , ++ 0xe03ed , ++ 0xe03ee , ++ 0xe03ef , ++ 0xe03f0 , ++ 0xe03f1 , ++ 0xe03f2 , ++ 0xe03f3 , ++ 0xe03f4 , ++ 0xe03f5 , ++ 0xe03f6 , ++ 0xe03f7 , ++ 0xe03f8 , ++ 0xe03f9 , ++ 0xe03fa , ++ 0xe03fb , ++ 0xe03fc , ++ 0xe03fd , ++ 0xe03fe , ++ 0xe03ff , ++ 0xe0400 , ++ 0xe0401 , ++ 0xe0402 , ++ 0xe0403 , ++ 0xe0404 , ++ 0xe0405 , ++ 0xe0406 , ++ 0xe0407 , ++ 0xe0408 , ++ 0xe0409 , ++ 0xe040a , ++ 0xe040b , ++ 0xe040c , ++ 0xe040d , ++ 0xe040e , ++ 0xe040f , ++ 0xe0410 , ++ 0xe0411 , ++ 0xe0412 , ++ 0xe0413 , ++ 0xe0414 , ++ 0xe0415 , ++ 0xe0416 , ++ 0xe0417 , ++ 0xe0418 , ++ 0xe0419 , ++ 0xe041a , ++ 0xe041b , ++ 0xe041c , ++ 0xe041d , ++ 0xe041e , ++ 0xe041f , ++ 0xe0420 , ++ 0xe0421 , ++ 0xe0422 , ++ 0xe0423 , ++ 0xe0424 , ++ 0xe0425 , ++ 0xe0426 , ++ 0xe0427 , ++ 0xe0428 , ++ 0xe0429 , ++ 0xe042a , ++ 0xe042b , ++ 0xe042c , ++ 0xe042d , ++ 0xe042e , ++ 0xe042f , ++ 0xe0430 , ++ 0xe0431 , ++ 0xe0432 , ++ 0xe0433 , ++ 0xe0434 , ++ 0xe0435 , ++ 0xe0436 , ++ 0xe0437 , ++ 0xe0438 , ++ 0xe0439 , ++ 0xe043a , ++ 0xe043b , ++ 0xe043c , ++ 0xe043d , ++ 0xe043e , ++ 0xe043f , ++ 0xe0440 , ++ 0xe0441 , ++ 0xe0442 , ++ 0xe0443 , ++ 0xe0444 , ++ 0xe0445 , ++ 0xe0446 , ++ 0xe0447 , ++ 0xe0448 , ++ 0xe0449 , ++ 0xe044a , ++ 0xe044b , ++ 0xe044c , ++ 0xe044d , ++ 0xe044e , ++ 0xe044f , ++ 0xe0450 , ++ 0xe0451 , ++ 0xe0452 , ++ 0xe0453 , ++ 0xe0454 , ++ 0xe0455 , ++ 0xe0456 , ++ 0xe0457 , ++ 0xe0458 , ++ 0xe0459 , ++ 0xe045a , ++ 0xe045b , ++ 0xe045c , ++ 0xe045d , ++ 0xe045e , ++ 0xe045f , ++ 0xe0460 , ++ 0xe0461 , ++ 0xe0462 , ++ 0xe0463 , ++ 0xe0464 , ++ 0xe0465 , ++ 0xe0466 , ++ 0xe0467 , ++ 0xe0468 , ++ 0xe0469 , ++ 0xe046a , ++ 0xe046b , ++ 0xe046c , ++ 0xe046d , ++ 0xe046e , ++ 0xe046f , ++ 0xe0470 , ++ 0xe0471 , ++ 0xe0472 , ++ 0xe0473 , ++ 0xe0474 , ++ 0xe0475 , ++ 0xe0476 , ++ 0xe0477 , ++ 0xe0478 , ++ 0xe0479 , ++ 0xe047a , ++ 0xe047b , ++ 0xe047c , ++ 0xe047d , ++ 0xe047e , ++ 0xe047f , ++ 0xe0480 , ++ 0xe0481 , ++ 0xe0482 , ++ 0xe0483 , ++ 0xe0484 , ++ 0xe0485 , ++ 0xe0486 , ++ 0xe0487 , ++ 0xe0488 , ++ 0xe0489 , ++ 0xe048a , ++ 0xe048b , ++ 0xe048c , ++ 0xe048d , ++ 0xe048e , ++ 0xe048f , ++ 0xe0490 , ++ 0xe0491 , ++ 0xe0492 , ++ 0xe0493 , ++ 0xe0494 , ++ 0xe0495 , ++ 0xe0496 , ++ 0xe0497 , ++ 0xe0498 , ++ 0xe0499 , ++ 0xe049a , ++ 0xe049b , ++ 0xe049c , ++ 0xe049d , ++ 0xe049e , ++ 0xe049f , ++ 0xe04a0 , ++ 0xe04a1 , ++ 0xe04a2 , ++ 0xe04a3 , ++ 0xe04a4 , ++ 0xe04a5 , ++ 0xe04a6 , ++ 0xe04a7 , ++ 0xe04a8 , ++ 0xe04a9 , ++ 0xe04aa , ++ 0xe04ab , ++ 0xe04ac , ++ 0xe04ad , ++ 0xe04ae , ++ 0xe04af , ++ 0xe04b0 , ++ 0xe04b1 , ++ 0xe04b2 , ++ 0xe04b3 , ++ 0xe04b4 , ++ 0xe04b5 , ++ 0xe04b6 , ++ 0xe04b7 , ++ 0xe04b8 , ++ 0xe04b9 , ++ 0xe04ba , ++ 0xe04bb , ++ 0xe04bc , ++ 0xe04bd , ++ 0xe04be , ++ 0xe04bf , ++ 0xe04c0 , ++ 0xe04c1 , ++ 0xe04c2 , ++ 0xe04c3 , ++ 0xe04c4 , ++ 0xe04c5 , ++ 0xe04c6 , ++ 0xe04c7 , ++ 0xe04c8 , ++ 0xe04c9 , ++ 0xe04ca , ++ 0xe04cb , ++ 0xe04cc , ++ 0xe04cd , ++ 0xe04ce , ++ 0xe04cf , ++ 0xe04d0 , ++ 0xe04d1 , ++ 0xe04d2 , ++ 0xe04d3 , ++ 0xe04d4 , ++ 0xe04d5 , ++ 0xe04d6 , ++ 0xe04d7 , ++ 0xe04d8 , ++ 0xe04d9 , ++ 0xe04da , ++ 0xe04db , ++ 0xe04dc , ++ 0xe04dd , ++ 0xe04de , ++ 0xe04df , ++ 0xe04e0 , ++ 0xe04e1 , ++ 0xe04e2 , ++ 0xe04e3 , ++ 0xe04e4 , ++ 0xe04e5 , ++ 0xe04e6 , ++ 0xe04e7 , ++ 0xe04e8 , ++ 0xe04e9 , ++ 0xe04ea , ++ 0xe04eb , ++ 0xe04ec , ++ 0xe04ed , ++ 0xe04ee , ++ 0xe04ef , ++ 0xe04f0 , ++ 0xe04f1 , ++ 0xe04f2 , ++ 0xe04f3 , ++ 0xe04f4 , ++ 0xe04f5 , ++ 0xe04f6 , ++ 0xe04f7 , ++ 0xe04f8 , ++ 0xe04f9 , ++ 0xe04fa , ++ 0xe04fb , ++ 0xe04fc , ++ 0xe04fd , ++ 0xe04fe , ++ 0xe04ff , ++ 0xe0500 , ++ 0xe0501 , ++ 0xe0502 , ++ 0xe0503 , ++ 0xe0504 , ++ 0xe0505 , ++ 0xe0506 , ++ 0xe0507 , ++ 0xe0508 , ++ 0xe0509 , ++ 0xe050a , ++ 0xe050b , ++ 0xe050c , ++ 0xe050d , ++ 0xe050e , ++ 0xe050f , ++ 0xe0510 , ++ 0xe0511 , ++ 0xe0512 , ++ 0xe0513 , ++ 0xe0514 , ++ 0xe0515 , ++ 0xe0516 , ++ 0xe0517 , ++ 0xe0518 , ++ 0xe0519 , ++ 0xe051a , ++ 0xe051b , ++ 0xe051c , ++ 0xe051d , ++ 0xe051e , ++ 0xe051f , ++ 0xe0520 , ++ 0xe0521 , ++ 0xe0522 , ++ 0xe0523 , ++ 0xe0524 , ++ 0xe0525 , ++ 0xe0526 , ++ 0xe0527 , ++ 0xe0528 , ++ 0xe0529 , ++ 0xe052a , ++ 0xe052b , ++ 0xe052c , ++ 0xe052d , ++ 0xe052e , ++ 0xe052f , ++ 0xe0530 , ++ 0xe0531 , ++ 0xe0532 , ++ 0xe0533 , ++ 0xe0534 , ++ 0xe0535 , ++ 0xe0536 , ++ 0xe0537 , ++ 0xe0538 , ++ 0xe0539 , ++ 0xe053a , ++ 0xe053b , ++ 0xe053c , ++ 0xe053d , ++ 0xe053e , ++ 0xe053f , ++ 0xe0540 , ++ 0xe0541 , ++ 0xe0542 , ++ 0xe0543 , ++ 0xe0544 , ++ 0xe0545 , ++ 0xe0546 , ++ 0xe0547 , ++ 0xe0548 , ++ 0xe0549 , ++ 0xe054a , ++ 0xe054b , ++ 0xe054c , ++ 0xe054d , ++ 0xe054e , ++ 0xe054f , ++ 0xe0550 , ++ 0xe0551 , ++ 0xe0552 , ++ 0xe0553 , ++ 0xe0554 , ++ 0xe0555 , ++ 0xe0556 , ++ 0xe0557 , ++ 0xe0558 , ++ 0xe0559 , ++ 0xe055a , ++ 0xe055b , ++ 0xe055c , ++ 0xe055d , ++ 0xe055e , ++ 0xe055f , ++ 0xe0560 , ++ 0xe0561 , ++ 0xe0562 , ++ 0xe0563 , ++ 0xe0564 , ++ 0xe0565 , ++ 0xe0566 , ++ 0xe0567 , ++ 0xe0568 , ++ 0xe0569 , ++ 0xe056a , ++ 0xe056b , ++ 0xe056c , ++ 0xe056d , ++ 0xe056e , ++ 0xe056f , ++ 0xe0570 , ++ 0xe0571 , ++ 0xe0572 , ++ 0xe0573 , ++ 0xe0574 , ++ 0xe0575 , ++ 0xe0576 , ++ 0xe0577 , ++ 0xe0578 , ++ 0xe0579 , ++ 0xe057a , ++ 0xe057b , ++ 0xe057c , ++ 0xe057d , ++ 0xe057e , ++ 0xe057f , ++ 0xe0580 , ++ 0xe0581 , ++ 0xe0582 , ++ 0xe0583 , ++ 0xe0584 , ++ 0xe0585 , ++ 0xe0586 , ++ 0xe0587 , ++ 0xe0588 , ++ 0xe0589 , ++ 0xe058a , ++ 0xe058b , ++ 0xe058c , ++ 0xe058d , ++ 0xe058e , ++ 0xe058f , ++ 0xe0590 , ++ 0xe0591 , ++ 0xe0592 , ++ 0xe0593 , ++ 0xe0594 , ++ 0xe0595 , ++ 0xe0596 , ++ 0xe0597 , ++ 0xe0598 , ++ 0xe0599 , ++ 0xe059a , ++ 0xe059b , ++ 0xe059c , ++ 0xe059d , ++ 0xe059e , ++ 0xe059f , ++ 0xe05a0 , ++ 0xe05a1 , ++ 0xe05a2 , ++ 0xe05a3 , ++ 0xe05a4 , ++ 0xe05a5 , ++ 0xe05a6 , ++ 0xe05a7 , ++ 0xe05a8 , ++ 0xe05a9 , ++ 0xe05aa , ++ 0xe05ab , ++ 0xe05ac , ++ 0xe05ad , ++ 0xe05ae , ++ 0xe05af , ++ 0xe05b0 , ++ 0xe05b1 , ++ 0xe05b2 , ++ 0xe05b3 , ++ 0xe05b4 , ++ 0xe05b5 , ++ 0xe05b6 , ++ 0xe05b7 , ++ 0xe05b8 , ++ 0xe05b9 , ++ 0xe05ba , ++ 0xe05bb , ++ 0xe05bc , ++ 0xe05bd , ++ 0xe05be , ++ 0xe05bf , ++ 0xe05c0 , ++ 0xe05c1 , ++ 0xe05c2 , ++ 0xe05c3 , ++ 0xe05c4 , ++ 0xe05c5 , ++ 0xe05c6 , ++ 0xe05c7 , ++ 0xe05c8 , ++ 0xe05c9 , ++ 0xe05ca , ++ 0xe05cb , ++ 0xe05cc , ++ 0xe05cd , ++ 0xe05ce , ++ 0xe05cf , ++ 0xe05d0 , ++ 0xe05d1 , ++ 0xe05d2 , ++ 0xe05d3 , ++ 0xe05d4 , ++ 0xe05d5 , ++ 0xe05d6 , ++ 0xe05d7 , ++ 0xe05d8 , ++ 0xe05d9 , ++ 0xe05da , ++ 0xe05db , ++ 0xe05dc , ++ 0xe05dd , ++ 0xe05de , ++ 0xe05df , ++ 0xe05e0 , ++ 0xe05e1 , ++ 0xe05e2 , ++ 0xe05e3 , ++ 0xe05e4 , ++ 0xe05e5 , ++ 0xe05e6 , ++ 0xe05e7 , ++ 0xe05e8 , ++ 0xe05e9 , ++ 0xe05ea , ++ 0xe05eb , ++ 0xe05ec , ++ 0xe05ed , ++ 0xe05ee , ++ 0xe05ef , ++ 0xe05f0 , ++ 0xe05f1 , ++ 0xe05f2 , ++ 0xe05f3 , ++ 0xe05f4 , ++ 0xe05f5 , ++ 0xe05f6 , ++ 0xe05f7 , ++ 0xe05f8 , ++ 0xe05f9 , ++ 0xe05fa , ++ 0xe05fb , ++ 0xe05fc , ++ 0xe05fd , ++ 0xe05fe , ++ 0xe05ff , ++ 0xe0600 , ++ 0xe0601 , ++ 0xe0602 , ++ 0xe0603 , ++ 0xe0604 , ++ 0xe0605 , ++ 0xe0606 , ++ 0xe0607 , ++ 0xe0608 , ++ 0xe0609 , ++ 0xe060a , ++ 0xe060b , ++ 0xe060c , ++ 0xe060d , ++ 0xe060e , ++ 0xe060f , ++ 0xe0610 , ++ 0xe0611 , ++ 0xe0612 , ++ 0xe0613 , ++ 0xe0614 , ++ 0xe0615 , ++ 0xe0616 , ++ 0xe0617 , ++ 0xe0618 , ++ 0xe0619 , ++ 0xe061a , ++ 0xe061b , ++ 0xe061c , ++ 0xe061d , ++ 0xe061e , ++ 0xe061f , ++ 0xe0620 , ++ 0xe0621 , ++ 0xe0622 , ++ 0xe0623 , ++ 0xe0624 , ++ 0xe0625 , ++ 0xe0626 , ++ 0xe0627 , ++ 0xe0628 , ++ 0xe0629 , ++ 0xe062a , ++ 0xe062b , ++ 0xe062c , ++ 0xe062d , ++ 0xe062e , ++ 0xe062f , ++ 0xe0630 , ++ 0xe0631 , ++ 0xe0632 , ++ 0xe0633 , ++ 0xe0634 , ++ 0xe0635 , ++ 0xe0636 , ++ 0xe0637 , ++ 0xe0638 , ++ 0xe0639 , ++ 0xe063a , ++ 0xe063b , ++ 0xe063c , ++ 0xe063d , ++ 0xe063e , ++ 0xe063f , ++ 0xe0640 , ++ 0xe0641 , ++ 0xe0642 , ++ 0xe0643 , ++ 0xe0644 , ++ 0xe0645 , ++ 0xe0646 , ++ 0xe0647 , ++ 0xe0648 , ++ 0xe0649 , ++ 0xe064a , ++ 0xe064b , ++ 0xe064c , ++ 0xe064d , ++ 0xe064e , ++ 0xe064f , ++ 0xe0650 , ++ 0xe0651 , ++ 0xe0652 , ++ 0xe0653 , ++ 0xe0654 , ++ 0xe0655 , ++ 0xe0656 , ++ 0xe0657 , ++ 0xe0658 , ++ 0xe0659 , ++ 0xe065a , ++ 0xe065b , ++ 0xe065c , ++ 0xe065d , ++ 0xe065e , ++ 0xe065f , ++ 0xe0660 , ++ 0xe0661 , ++ 0xe0662 , ++ 0xe0663 , ++ 0xe0664 , ++ 0xe0665 , ++ 0xe0666 , ++ 0xe0667 , ++ 0xe0668 , ++ 0xe0669 , ++ 0xe066a , ++ 0xe066b , ++ 0xe066c , ++ 0xe066d , ++ 0xe066e , ++ 0xe066f , ++ 0xe0670 , ++ 0xe0671 , ++ 0xe0672 , ++ 0xe0673 , ++ 0xe0674 , ++ 0xe0675 , ++ 0xe0676 , ++ 0xe0677 , ++ 0xe0678 , ++ 0xe0679 , ++ 0xe067a , ++ 0xe067b , ++ 0xe067c , ++ 0xe067d , ++ 0xe067e , ++ 0xe067f , ++ 0xe0680 , ++ 0xe0681 , ++ 0xe0682 , ++ 0xe0683 , ++ 0xe0684 , ++ 0xe0685 , ++ 0xe0686 , ++ 0xe0687 , ++ 0xe0688 , ++ 0xe0689 , ++ 0xe068a , ++ 0xe068b , ++ 0xe068c , ++ 0xe068d , ++ 0xe068e , ++ 0xe068f , ++ 0xe0690 , ++ 0xe0691 , ++ 0xe0692 , ++ 0xe0693 , ++ 0xe0694 , ++ 0xe0695 , ++ 0xe0696 , ++ 0xe0697 , ++ 0xe0698 , ++ 0xe0699 , ++ 0xe069a , ++ 0xe069b , ++ 0xe069c , ++ 0xe069d , ++ 0xe069e , ++ 0xe069f , ++ 0xe06a0 , ++ 0xe06a1 , ++ 0xe06a2 , ++ 0xe06a3 , ++ 0xe06a4 , ++ 0xe06a5 , ++ 0xe06a6 , ++ 0xe06a7 , ++ 0xe06a8 , ++ 0xe06a9 , ++ 0xe06aa , ++ 0xe06ab , ++ 0xe06ac , ++ 0xe06ad , ++ 0xe06ae , ++ 0xe06af , ++ 0xe06b0 , ++ 0xe06b1 , ++ 0xe06b2 , ++ 0xe06b3 , ++ 0xe06b4 , ++ 0xe06b5 , ++ 0xe06b6 , ++ 0xe06b7 , ++ 0xe06b8 , ++ 0xe06b9 , ++ 0xe06ba , ++ 0xe06bb , ++ 0xe06bc , ++ 0xe06bd , ++ 0xe06be , ++ 0xe06bf , ++ 0xe06c0 , ++ 0xe06c1 , ++ 0xe06c2 , ++ 0xe06c3 , ++ 0xe06c4 , ++ 0xe06c5 , ++ 0xe06c6 , ++ 0xe06c7 , ++ 0xe06c8 , ++ 0xe06c9 , ++ 0xe06ca , ++ 0xe06cb , ++ 0xe06cc , ++ 0xe06cd , ++ 0xe06ce , ++ 0xe06cf , ++ 0xe06d0 , ++ 0xe06d1 , ++ 0xe06d2 , ++ 0xe06d3 , ++ 0xe06d4 , ++ 0xe06d5 , ++ 0xe06d6 , ++ 0xe06d7 , ++ 0xe06d8 , ++ 0xe06d9 , ++ 0xe06da , ++ 0xe06db , ++ 0xe06dc , ++ 0xe06dd , ++ 0xe06de , ++ 0xe06df , ++ 0xe06e0 , ++ 0xe06e1 , ++ 0xe06e2 , ++ 0xe06e3 , ++ 0xe06e4 , ++ 0xe06e5 , ++ 0xe06e6 , ++ 0xe06e7 , ++ 0xe06e8 , ++ 0xe06e9 , ++ 0xe06ea , ++ 0xe06eb , ++ 0xe06ec , ++ 0xe06ed , ++ 0xe06ee , ++ 0xe06ef , ++ 0xe06f0 , ++ 0xe06f1 , ++ 0xe06f2 , ++ 0xe06f3 , ++ 0xe06f4 , ++ 0xe06f5 , ++ 0xe06f6 , ++ 0xe06f7 , ++ 0xe06f8 , ++ 0xe06f9 , ++ 0xe06fa , ++ 0xe06fb , ++ 0xe06fc , ++ 0xe06fd , ++ 0xe06fe , ++ 0xe06ff , ++ 0xe0700 , ++ 0xe0701 , ++ 0xe0702 , ++ 0xe0703 , ++ 0xe0704 , ++ 0xe0705 , ++ 0xe0706 , ++ 0xe0707 , ++ 0xe0708 , ++ 0xe0709 , ++ 0xe070a , ++ 0xe070b , ++ 0xe070c , ++ 0xe070d , ++ 0xe070e , ++ 0xe070f , ++ 0xe0710 , ++ 0xe0711 , ++ 0xe0712 , ++ 0xe0713 , ++ 0xe0714 , ++ 0xe0715 , ++ 0xe0716 , ++ 0xe0717 , ++ 0xe0718 , ++ 0xe0719 , ++ 0xe071a , ++ 0xe071b , ++ 0xe071c , ++ 0xe071d , ++ 0xe071e , ++ 0xe071f , ++ 0xe0720 , ++ 0xe0721 , ++ 0xe0722 , ++ 0xe0723 , ++ 0xe0724 , ++ 0xe0725 , ++ 0xe0726 , ++ 0xe0727 , ++ 0xe0728 , ++ 0xe0729 , ++ 0xe072a , ++ 0xe072b , ++ 0xe072c , ++ 0xe072d , ++ 0xe072e , ++ 0xe072f , ++ 0xe0730 , ++ 0xe0731 , ++ 0xe0732 , ++ 0xe0733 , ++ 0xe0734 , ++ 0xe0735 , ++ 0xe0736 , ++ 0xe0737 , ++ 0xe0738 , ++ 0xe0739 , ++ 0xe073a , ++ 0xe073b , ++ 0xe073c , ++ 0xe073d , ++ 0xe073e , ++ 0xe073f , ++ 0xe0740 , ++ 0xe0741 , ++ 0xe0742 , ++ 0xe0743 , ++ 0xe0744 , ++ 0xe0745 , ++ 0xe0746 , ++ 0xe0747 , ++ 0xe0748 , ++ 0xe0749 , ++ 0xe074a , ++ 0xe074b , ++ 0xe074c , ++ 0xe074d , ++ 0xe074e , ++ 0xe074f , ++ 0xe0750 , ++ 0xe0751 , ++ 0xe0752 , ++ 0xe0753 , ++ 0xe0754 , ++ 0xe0755 , ++ 0xe0756 , ++ 0xe0757 , ++ 0xe0758 , ++ 0xe0759 , ++ 0xe075a , ++ 0xe075b , ++ 0xe075c , ++ 0xe075d , ++ 0xe075e , ++ 0xe075f , ++ 0xe0760 , ++ 0xe0761 , ++ 0xe0762 , ++ 0xe0763 , ++ 0xe0764 , ++ 0xe0765 , ++ 0xe0766 , ++ 0xe0767 , ++ 0xe0768 , ++ 0xe0769 , ++ 0xe076a , ++ 0xe076b , ++ 0xe076c , ++ 0xe076d , ++ 0xe076e , ++ 0xe076f , ++ 0xe0770 , ++ 0xe0771 , ++ 0xe0772 , ++ 0xe0773 , ++ 0xe0774 , ++ 0xe0775 , ++ 0xe0776 , ++ 0xe0777 , ++ 0xe0778 , ++ 0xe0779 , ++ 0xe077a , ++ 0xe077b , ++ 0xe077c , ++ 0xe077d , ++ 0xe077e , ++ 0xe077f , ++ 0xe0780 , ++ 0xe0781 , ++ 0xe0782 , ++ 0xe0783 , ++ 0xe0784 , ++ 0xe0785 , ++ 0xe0786 , ++ 0xe0787 , ++ 0xe0788 , ++ 0xe0789 , ++ 0xe078a , ++ 0xe078b , ++ 0xe078c , ++ 0xe078d , ++ 0xe078e , ++ 0xe078f , ++ 0xe0790 , ++ 0xe0791 , ++ 0xe0792 , ++ 0xe0793 , ++ 0xe0794 , ++ 0xe0795 , ++ 0xe0796 , ++ 0xe0797 , ++ 0xe0798 , ++ 0xe0799 , ++ 0xe079a , ++ 0xe079b , ++ 0xe079c , ++ 0xe079d , ++ 0xe079e , ++ 0xe079f , ++ 0xe07a0 , ++ 0xe07a1 , ++ 0xe07a2 , ++ 0xe07a3 , ++ 0xe07a4 , ++ 0xe07a5 , ++ 0xe07a6 , ++ 0xe07a7 , ++ 0xe07a8 , ++ 0xe07a9 , ++ 0xe07aa , ++ 0xe07ab , ++ 0xe07ac , ++ 0xe07ad , ++ 0xe07ae , ++ 0xe07af , ++ 0xe07b0 , ++ 0xe07b1 , ++ 0xe07b2 , ++ 0xe07b3 , ++ 0xe07b4 , ++ 0xe07b5 , ++ 0xe07b6 , ++ 0xe07b7 , ++ 0xe07b8 , ++ 0xe07b9 , ++ 0xe07ba , ++ 0xe07bb , ++ 0xe07bc , ++ 0xe07bd , ++ 0xe07be , ++ 0xe07bf , ++ 0xe07c0 , ++ 0xe07c1 , ++ 0xe07c2 , ++ 0xe07c3 , ++ 0xe07c4 , ++ 0xe07c5 , ++ 0xe07c6 , ++ 0xe07c7 , ++ 0xe07c8 , ++ 0xe07c9 , ++ 0xe07ca , ++ 0xe07cb , ++ 0xe07cc , ++ 0xe07cd , ++ 0xe07ce , ++ 0xe07cf , ++ 0xe07d0 , ++ 0xe07d1 , ++ 0xe07d2 , ++ 0xe07d3 , ++ 0xe07d4 , ++ 0xe07d5 , ++ 0xe07d6 , ++ 0xe07d7 , ++ 0xe07d8 , ++ 0xe07d9 , ++ 0xe07da , ++ 0xe07db , ++ 0xe07dc , ++ 0xe07dd , ++ 0xe07de , ++ 0xe07df , ++ 0xe07e0 , ++ 0xe07e1 , ++ 0xe07e2 , ++ 0xe07e3 , ++ 0xe07e4 , ++ 0xe07e5 , ++ 0xe07e6 , ++ 0xe07e7 , ++ 0xe07e8 , ++ 0xe07e9 , ++ 0xe07ea , ++ 0xe07eb , ++ 0xe07ec , ++ 0xe07ed , ++ 0xe07ee , ++ 0xe07ef , ++ 0xe07f0 , ++ 0xe07f1 , ++ 0xe07f2 , ++ 0xe07f3 , ++ 0xe07f4 , ++ 0xe07f5 , ++ 0xe07f6 , ++ 0xe07f7 , ++ 0xe07f8 , ++ 0xe07f9 , ++ 0xe07fa , ++ 0xe07fb , ++ 0xe07fc , ++ 0xe07fd , ++ 0xe07fe , ++ 0xe07ff , ++ 0xe0800 , ++ 0xe0801 , ++ 0xe0802 , ++ 0xe0803 , ++ 0xe0804 , ++ 0xe0805 , ++ 0xe0806 , ++ 0xe0807 , ++ 0xe0808 , ++ 0xe0809 , ++ 0xe080a , ++ 0xe080b , ++ 0xe080c , ++ 0xe080d , ++ 0xe080e , ++ 0xe080f , ++ 0xe0810 , ++ 0xe0811 , ++ 0xe0812 , ++ 0xe0813 , ++ 0xe0814 , ++ 0xe0815 , ++ 0xe0816 , ++ 0xe0817 , ++ 0xe0818 , ++ 0xe0819 , ++ 0xe081a , ++ 0xe081b , ++ 0xe081c , ++ 0xe081d , ++ 0xe081e , ++ 0xe081f , ++ 0xe0820 , ++ 0xe0821 , ++ 0xe0822 , ++ 0xe0823 , ++ 0xe0824 , ++ 0xe0825 , ++ 0xe0826 , ++ 0xe0827 , ++ 0xe0828 , ++ 0xe0829 , ++ 0xe082a , ++ 0xe082b , ++ 0xe082c , ++ 0xe082d , ++ 0xe082e , ++ 0xe082f , ++ 0xe0830 , ++ 0xe0831 , ++ 0xe0832 , ++ 0xe0833 , ++ 0xe0834 , ++ 0xe0835 , ++ 0xe0836 , ++ 0xe0837 , ++ 0xe0838 , ++ 0xe0839 , ++ 0xe083a , ++ 0xe083b , ++ 0xe083c , ++ 0xe083d , ++ 0xe083e , ++ 0xe083f , ++ 0xe0840 , ++ 0xe0841 , ++ 0xe0842 , ++ 0xe0843 , ++ 0xe0844 , ++ 0xe0845 , ++ 0xe0846 , ++ 0xe0847 , ++ 0xe0848 , ++ 0xe0849 , ++ 0xe084a , ++ 0xe084b , ++ 0xe084c , ++ 0xe084d , ++ 0xe084e , ++ 0xe084f , ++ 0xe0850 , ++ 0xe0851 , ++ 0xe0852 , ++ 0xe0853 , ++ 0xe0854 , ++ 0xe0855 , ++ 0xe0856 , ++ 0xe0857 , ++ 0xe0858 , ++ 0xe0859 , ++ 0xe085a , ++ 0xe085b , ++ 0xe085c , ++ 0xe085d , ++ 0xe085e , ++ 0xe085f , ++ 0xe0860 , ++ 0xe0861 , ++ 0xe0862 , ++ 0xe0863 , ++ 0xe0864 , ++ 0xe0865 , ++ 0xe0866 , ++ 0xe0867 , ++ 0xe0868 , ++ 0xe0869 , ++ 0xe086a , ++ 0xe086b , ++ 0xe086c , ++ 0xe086d , ++ 0xe086e , ++ 0xe086f , ++ 0xe0870 , ++ 0xe0871 , ++ 0xe0872 , ++ 0xe0873 , ++ 0xe0874 , ++ 0xe0875 , ++ 0xe0876 , ++ 0xe0877 , ++ 0xe0878 , ++ 0xe0879 , ++ 0xe087a , ++ 0xe087b , ++ 0xe087c , ++ 0xe087d , ++ 0xe087e , ++ 0xe087f , ++ 0xe0880 , ++ 0xe0881 , ++ 0xe0882 , ++ 0xe0883 , ++ 0xe0884 , ++ 0xe0885 , ++ 0xe0886 , ++ 0xe0887 , ++ 0xe0888 , ++ 0xe0889 , ++ 0xe088a , ++ 0xe088b , ++ 0xe088c , ++ 0xe088d , ++ 0xe088e , ++ 0xe088f , ++ 0xe0890 , ++ 0xe0891 , ++ 0xe0892 , ++ 0xe0893 , ++ 0xe0894 , ++ 0xe0895 , ++ 0xe0896 , ++ 0xe0897 , ++ 0xe0898 , ++ 0xe0899 , ++ 0xe089a , ++ 0xe089b , ++ 0xe089c , ++ 0xe089d , ++ 0xe089e , ++ 0xe089f , ++ 0xe08a0 , ++ 0xe08a1 , ++ 0xe08a2 , ++ 0xe08a3 , ++ 0xe08a4 , ++ 0xe08a5 , ++ 0xe08a6 , ++ 0xe08a7 , ++ 0xe08a8 , ++ 0xe08a9 , ++ 0xe08aa , ++ 0xe08ab , ++ 0xe08ac , ++ 0xe08ad , ++ 0xe08ae , ++ 0xe08af , ++ 0xe08b0 , ++ 0xe08b1 , ++ 0xe08b2 , ++ 0xe08b3 , ++ 0xe08b4 , ++ 0xe08b5 , ++ 0xe08b6 , ++ 0xe08b7 , ++ 0xe08b8 , ++ 0xe08b9 , ++ 0xe08ba , ++ 0xe08bb , ++ 0xe08bc , ++ 0xe08bd , ++ 0xe08be , ++ 0xe08bf , ++ 0xe08c0 , ++ 0xe08c1 , ++ 0xe08c2 , ++ 0xe08c3 , ++ 0xe08c4 , ++ 0xe08c5 , ++ 0xe08c6 , ++ 0xe08c7 , ++ 0xe08c8 , ++ 0xe08c9 , ++ 0xe08ca , ++ 0xe08cb , ++ 0xe08cc , ++ 0xe08cd , ++ 0xe08ce , ++ 0xe08cf , ++ 0xe08d0 , ++ 0xe08d1 , ++ 0xe08d2 , ++ 0xe08d3 , ++ 0xe08d4 , ++ 0xe08d5 , ++ 0xe08d6 , ++ 0xe08d7 , ++ 0xe08d8 , ++ 0xe08d9 , ++ 0xe08da , ++ 0xe08db , ++ 0xe08dc , ++ 0xe08dd , ++ 0xe08de , ++ 0xe08df , ++ 0xe08e0 , ++ 0xe08e1 , ++ 0xe08e2 , ++ 0xe08e3 , ++ 0xe08e4 , ++ 0xe08e5 , ++ 0xe08e6 , ++ 0xe08e7 , ++ 0xe08e8 , ++ 0xe08e9 , ++ 0xe08ea , ++ 0xe08eb , ++ 0xe08ec , ++ 0xe08ed , ++ 0xe08ee , ++ 0xe08ef , ++ 0xe08f0 , ++ 0xe08f1 , ++ 0xe08f2 , ++ 0xe08f3 , ++ 0xe08f4 , ++ 0xe08f5 , ++ 0xe08f6 , ++ 0xe08f7 , ++ 0xe08f8 , ++ 0xe08f9 , ++ 0xe08fa , ++ 0xe08fb , ++ 0xe08fc , ++ 0xe08fd , ++ 0xe08fe , ++ 0xe08ff , ++ 0xe0900 , ++ 0xe0901 , ++ 0xe0902 , ++ 0xe0903 , ++ 0xe0904 , ++ 0xe0905 , ++ 0xe0906 , ++ 0xe0907 , ++ 0xe0908 , ++ 0xe0909 , ++ 0xe090a , ++ 0xe090b , ++ 0xe090c , ++ 0xe090d , ++ 0xe090e , ++ 0xe090f , ++ 0xe0910 , ++ 0xe0911 , ++ 0xe0912 , ++ 0xe0913 , ++ 0xe0914 , ++ 0xe0915 , ++ 0xe0916 , ++ 0xe0917 , ++ 0xe0918 , ++ 0xe0919 , ++ 0xe091a , ++ 0xe091b , ++ 0xe091c , ++ 0xe091d , ++ 0xe091e , ++ 0xe091f , ++ 0xe0920 , ++ 0xe0921 , ++ 0xe0922 , ++ 0xe0923 , ++ 0xe0924 , ++ 0xe0925 , ++ 0xe0926 , ++ 0xe0927 , ++ 0xe0928 , ++ 0xe0929 , ++ 0xe092a , ++ 0xe092b , ++ 0xe092c , ++ 0xe092d , ++ 0xe092e , ++ 0xe092f , ++ 0xe0930 , ++ 0xe0931 , ++ 0xe0932 , ++ 0xe0933 , ++ 0xe0934 , ++ 0xe0935 , ++ 0xe0936 , ++ 0xe0937 , ++ 0xe0938 , ++ 0xe0939 , ++ 0xe093a , ++ 0xe093b , ++ 0xe093c , ++ 0xe093d , ++ 0xe093e , ++ 0xe093f , ++ 0xe0940 , ++ 0xe0941 , ++ 0xe0942 , ++ 0xe0943 , ++ 0xe0944 , ++ 0xe0945 , ++ 0xe0946 , ++ 0xe0947 , ++ 0xe0948 , ++ 0xe0949 , ++ 0xe094a , ++ 0xe094b , ++ 0xe094c , ++ 0xe094d , ++ 0xe094e , ++ 0xe094f , ++ 0xe0950 , ++ 0xe0951 , ++ 0xe0952 , ++ 0xe0953 , ++ 0xe0954 , ++ 0xe0955 , ++ 0xe0956 , ++ 0xe0957 , ++ 0xe0958 , ++ 0xe0959 , ++ 0xe095a , ++ 0xe095b , ++ 0xe095c , ++ 0xe095d , ++ 0xe095e , ++ 0xe095f , ++ 0xe0960 , ++ 0xe0961 , ++ 0xe0962 , ++ 0xe0963 , ++ 0xe0964 , ++ 0xe0965 , ++ 0xe0966 , ++ 0xe0967 , ++ 0xe0968 , ++ 0xe0969 , ++ 0xe096a , ++ 0xe096b , ++ 0xe096c , ++ 0xe096d , ++ 0xe096e , ++ 0xe096f , ++ 0xe0970 , ++ 0xe0971 , ++ 0xe0972 , ++ 0xe0973 , ++ 0xe0974 , ++ 0xe0975 , ++ 0xe0976 , ++ 0xe0977 , ++ 0xe0978 , ++ 0xe0979 , ++ 0xe097a , ++ 0xe097b , ++ 0xe097c , ++ 0xe097d , ++ 0xe097e , ++ 0xe097f , ++ 0xe0980 , ++ 0xe0981 , ++ 0xe0982 , ++ 0xe0983 , ++ 0xe0984 , ++ 0xe0985 , ++ 0xe0986 , ++ 0xe0987 , ++ 0xe0988 , ++ 0xe0989 , ++ 0xe098a , ++ 0xe098b , ++ 0xe098c , ++ 0xe098d , ++ 0xe098e , ++ 0xe098f , ++ 0xe0990 , ++ 0xe0991 , ++ 0xe0992 , ++ 0xe0993 , ++ 0xe0994 , ++ 0xe0995 , ++ 0xe0996 , ++ 0xe0997 , ++ 0xe0998 , ++ 0xe0999 , ++ 0xe099a , ++ 0xe099b , ++ 0xe099c , ++ 0xe099d , ++ 0xe099e , ++ 0xe099f , ++ 0xe09a0 , ++ 0xe09a1 , ++ 0xe09a2 , ++ 0xe09a3 , ++ 0xe09a4 , ++ 0xe09a5 , ++ 0xe09a6 , ++ 0xe09a7 , ++ 0xe09a8 , ++ 0xe09a9 , ++ 0xe09aa , ++ 0xe09ab , ++ 0xe09ac , ++ 0xe09ad , ++ 0xe09ae , ++ 0xe09af , ++ 0xe09b0 , ++ 0xe09b1 , ++ 0xe09b2 , ++ 0xe09b3 , ++ 0xe09b4 , ++ 0xe09b5 , ++ 0xe09b6 , ++ 0xe09b7 , ++ 0xe09b8 , ++ 0xe09b9 , ++ 0xe09ba , ++ 0xe09bb , ++ 0xe09bc , ++ 0xe09bd , ++ 0xe09be , ++ 0xe09bf , ++ 0xe09c0 , ++ 0xe09c1 , ++ 0xe09c2 , ++ 0xe09c3 , ++ 0xe09c4 , ++ 0xe09c5 , ++ 0xe09c6 , ++ 0xe09c7 , ++ 0xe09c8 , ++ 0xe09c9 , ++ 0xe09ca , ++ 0xe09cb , ++ 0xe09cc , ++ 0xe09cd , ++ 0xe09ce , ++ 0xe09cf , ++ 0xe09d0 , ++ 0xe09d1 , ++ 0xe09d2 , ++ 0xe09d3 , ++ 0xe09d4 , ++ 0xe09d5 , ++ 0xe09d6 , ++ 0xe09d7 , ++ 0xe09d8 , ++ 0xe09d9 , ++ 0xe09da , ++ 0xe09db , ++ 0xe09dc , ++ 0xe09dd , ++ 0xe09de , ++ 0xe09df , ++ 0xe09e0 , ++ 0xe09e1 , ++ 0xe09e2 , ++ 0xe09e3 , ++ 0xe09e4 , ++ 0xe09e5 , ++ 0xe09e6 , ++ 0xe09e7 , ++ 0xe09e8 , ++ 0xe09e9 , ++ 0xe09ea , ++ 0xe09eb , ++ 0xe09ec , ++ 0xe09ed , ++ 0xe09ee , ++ 0xe09ef , ++ 0xe09f0 , ++ 0xe09f1 , ++ 0xe09f2 , ++ 0xe09f3 , ++ 0xe09f4 , ++ 0xe09f5 , ++ 0xe09f6 , ++ 0xe09f7 , ++ 0xe09f8 , ++ 0xe09f9 , ++ 0xe09fa , ++ 0xe09fb , ++ 0xe09fc , ++ 0xe09fd , ++ 0xe09fe , ++ 0xe09ff , ++ 0xe0a00 , ++ 0xe0a01 , ++ 0xe0a02 , ++ 0xe0a03 , ++ 0xe0a04 , ++ 0xe0a05 , ++ 0xe0a06 , ++ 0xe0a07 , ++ 0xe0a08 , ++ 0xe0a09 , ++ 0xe0a0a , ++ 0xe0a0b , ++ 0xe0a0c , ++ 0xe0a0d , ++ 0xe0a0e , ++ 0xe0a0f , ++ 0xe0a10 , ++ 0xe0a11 , ++ 0xe0a12 , ++ 0xe0a13 , ++ 0xe0a14 , ++ 0xe0a15 , ++ 0xe0a16 , ++ 0xe0a17 , ++ 0xe0a18 , ++ 0xe0a19 , ++ 0xe0a1a , ++ 0xe0a1b , ++ 0xe0a1c , ++ 0xe0a1d , ++ 0xe0a1e , ++ 0xe0a1f , ++ 0xe0a20 , ++ 0xe0a21 , ++ 0xe0a22 , ++ 0xe0a23 , ++ 0xe0a24 , ++ 0xe0a25 , ++ 0xe0a26 , ++ 0xe0a27 , ++ 0xe0a28 , ++ 0xe0a29 , ++ 0xe0a2a , ++ 0xe0a2b , ++ 0xe0a2c , ++ 0xe0a2d , ++ 0xe0a2e , ++ 0xe0a2f , ++ 0xe0a30 , ++ 0xe0a31 , ++ 0xe0a32 , ++ 0xe0a33 , ++ 0xe0a34 , ++ 0xe0a35 , ++ 0xe0a36 , ++ 0xe0a37 , ++ 0xe0a38 , ++ 0xe0a39 , ++ 0xe0a3a , ++ 0xe0a3b , ++ 0xe0a3c , ++ 0xe0a3d , ++ 0xe0a3e , ++ 0xe0a3f , ++ 0xe0a40 , ++ 0xe0a41 , ++ 0xe0a42 , ++ 0xe0a43 , ++ 0xe0a44 , ++ 0xe0a45 , ++ 0xe0a46 , ++ 0xe0a47 , ++ 0xe0a48 , ++ 0xe0a49 , ++ 0xe0a4a , ++ 0xe0a4b , ++ 0xe0a4c , ++ 0xe0a4d , ++ 0xe0a4e , ++ 0xe0a4f , ++ 0xe0a50 , ++ 0xe0a51 , ++ 0xe0a52 , ++ 0xe0a53 , ++ 0xe0a54 , ++ 0xe0a55 , ++ 0xe0a56 , ++ 0xe0a57 , ++ 0xe0a58 , ++ 0xe0a59 , ++ 0xe0a5a , ++ 0xe0a5b , ++ 0xe0a5c , ++ 0xe0a5d , ++ 0xe0a5e , ++ 0xe0a5f , ++ 0xe0a60 , ++ 0xe0a61 , ++ 0xe0a62 , ++ 0xe0a63 , ++ 0xe0a64 , ++ 0xe0a65 , ++ 0xe0a66 , ++ 0xe0a67 , ++ 0xe0a68 , ++ 0xe0a69 , ++ 0xe0a6a , ++ 0xe0a6b , ++ 0xe0a6c , ++ 0xe0a6d , ++ 0xe0a6e , ++ 0xe0a6f , ++ 0xe0a70 , ++ 0xe0a71 , ++ 0xe0a72 , ++ 0xe0a73 , ++ 0xe0a74 , ++ 0xe0a75 , ++ 0xe0a76 , ++ 0xe0a77 , ++ 0xe0a78 , ++ 0xe0a79 , ++ 0xe0a7a , ++ 0xe0a7b , ++ 0xe0a7c , ++ 0xe0a7d , ++ 0xe0a7e , ++ 0xe0a7f , ++ 0xe0a80 , ++ 0xe0a81 , ++ 0xe0a82 , ++ 0xe0a83 , ++ 0xe0a84 , ++ 0xe0a85 , ++ 0xe0a86 , ++ 0xe0a87 , ++ 0xe0a88 , ++ 0xe0a89 , ++ 0xe0a8a , ++ 0xe0a8b , ++ 0xe0a8c , ++ 0xe0a8d , ++ 0xe0a8e , ++ 0xe0a8f , ++ 0xe0a90 , ++ 0xe0a91 , ++ 0xe0a92 , ++ 0xe0a93 , ++ 0xe0a94 , ++ 0xe0a95 , ++ 0xe0a96 , ++ 0xe0a97 , ++ 0xe0a98 , ++ 0xe0a99 , ++ 0xe0a9a , ++ 0xe0a9b , ++ 0xe0a9c , ++ 0xe0a9d , ++ 0xe0a9e , ++ 0xe0a9f , ++ 0xe0aa0 , ++ 0xe0aa1 , ++ 0xe0aa2 , ++ 0xe0aa3 , ++ 0xe0aa4 , ++ 0xe0aa5 , ++ 0xe0aa6 , ++ 0xe0aa7 , ++ 0xe0aa8 , ++ 0xe0aa9 , ++ 0xe0aaa , ++ 0xe0aab , ++ 0xe0aac , ++ 0xe0aad , ++ 0xe0aae , ++ 0xe0aaf , ++ 0xe0ab0 , ++ 0xe0ab1 , ++ 0xe0ab2 , ++ 0xe0ab3 , ++ 0xe0ab4 , ++ 0xe0ab5 , ++ 0xe0ab6 , ++ 0xe0ab7 , ++ 0xe0ab8 , ++ 0xe0ab9 , ++ 0xe0aba , ++ 0xe0abb , ++ 0xe0abc , ++ 0xe0abd , ++ 0xe0abe , ++ 0xe0abf , ++ 0xe0ac0 , ++ 0xe0ac1 , ++ 0xe0ac2 , ++ 0xe0ac3 , ++ 0xe0ac4 , ++ 0xe0ac5 , ++ 0xe0ac6 , ++ 0xe0ac7 , ++ 0xe0ac8 , ++ 0xe0ac9 , ++ 0xe0aca , ++ 0xe0acb , ++ 0xe0acc , ++ 0xe0acd , ++ 0xe0ace , ++ 0xe0acf , ++ 0xe0ad0 , ++ 0xe0ad1 , ++ 0xe0ad2 , ++ 0xe0ad3 , ++ 0xe0ad4 , ++ 0xe0ad5 , ++ 0xe0ad6 , ++ 0xe0ad7 , ++ 0xe0ad8 , ++ 0xe0ad9 , ++ 0xe0ada , ++ 0xe0adb , ++ 0xe0adc , ++ 0xe0add , ++ 0xe0ade , ++ 0xe0adf , ++ 0xe0ae0 , ++ 0xe0ae1 , ++ 0xe0ae2 , ++ 0xe0ae3 , ++ 0xe0ae4 , ++ 0xe0ae5 , ++ 0xe0ae6 , ++ 0xe0ae7 , ++ 0xe0ae8 , ++ 0xe0ae9 , ++ 0xe0aea , ++ 0xe0aeb , ++ 0xe0aec , ++ 0xe0aed , ++ 0xe0aee , ++ 0xe0aef , ++ 0xe0af0 , ++ 0xe0af1 , ++ 0xe0af2 , ++ 0xe0af3 , ++ 0xe0af4 , ++ 0xe0af5 , ++ 0xe0af6 , ++ 0xe0af7 , ++ 0xe0af8 , ++ 0xe0af9 , ++ 0xe0afa , ++ 0xe0afb , ++ 0xe0afc , ++ 0xe0afd , ++ 0xe0afe , ++ 0xe0aff , ++ 0xe0b00 , ++ 0xe0b01 , ++ 0xe0b02 , ++ 0xe0b03 , ++ 0xe0b04 , ++ 0xe0b05 , ++ 0xe0b06 , ++ 0xe0b07 , ++ 0xe0b08 , ++ 0xe0b09 , ++ 0xe0b0a , ++ 0xe0b0b , ++ 0xe0b0c , ++ 0xe0b0d , ++ 0xe0b0e , ++ 0xe0b0f , ++ 0xe0b10 , ++ 0xe0b11 , ++ 0xe0b12 , ++ 0xe0b13 , ++ 0xe0b14 , ++ 0xe0b15 , ++ 0xe0b16 , ++ 0xe0b17 , ++ 0xe0b18 , ++ 0xe0b19 , ++ 0xe0b1a , ++ 0xe0b1b , ++ 0xe0b1c , ++ 0xe0b1d , ++ 0xe0b1e , ++ 0xe0b1f , ++ 0xe0b20 , ++ 0xe0b21 , ++ 0xe0b22 , ++ 0xe0b23 , ++ 0xe0b24 , ++ 0xe0b25 , ++ 0xe0b26 , ++ 0xe0b27 , ++ 0xe0b28 , ++ 0xe0b29 , ++ 0xe0b2a , ++ 0xe0b2b , ++ 0xe0b2c , ++ 0xe0b2d , ++ 0xe0b2e , ++ 0xe0b2f , ++ 0xe0b30 , ++ 0xe0b31 , ++ 0xe0b32 , ++ 0xe0b33 , ++ 0xe0b34 , ++ 0xe0b35 , ++ 0xe0b36 , ++ 0xe0b37 , ++ 0xe0b38 , ++ 0xe0b39 , ++ 0xe0b3a , ++ 0xe0b3b , ++ 0xe0b3c , ++ 0xe0b3d , ++ 0xe0b3e , ++ 0xe0b3f , ++ 0xe0b40 , ++ 0xe0b41 , ++ 0xe0b42 , ++ 0xe0b43 , ++ 0xe0b44 , ++ 0xe0b45 , ++ 0xe0b46 , ++ 0xe0b47 , ++ 0xe0b48 , ++ 0xe0b49 , ++ 0xe0b4a , ++ 0xe0b4b , ++ 0xe0b4c , ++ 0xe0b4d , ++ 0xe0b4e , ++ 0xe0b4f , ++ 0xe0b50 , ++ 0xe0b51 , ++ 0xe0b52 , ++ 0xe0b53 , ++ 0xe0b54 , ++ 0xe0b55 , ++ 0xe0b56 , ++ 0xe0b57 , ++ 0xe0b58 , ++ 0xe0b59 , ++ 0xe0b5a , ++ 0xe0b5b , ++ 0xe0b5c , ++ 0xe0b5d , ++ 0xe0b5e , ++ 0xe0b5f , ++ 0xe0b60 , ++ 0xe0b61 , ++ 0xe0b62 , ++ 0xe0b63 , ++ 0xe0b64 , ++ 0xe0b65 , ++ 0xe0b66 , ++ 0xe0b67 , ++ 0xe0b68 , ++ 0xe0b69 , ++ 0xe0b6a , ++ 0xe0b6b , ++ 0xe0b6c , ++ 0xe0b6d , ++ 0xe0b6e , ++ 0xe0b6f , ++ 0xe0b70 , ++ 0xe0b71 , ++ 0xe0b72 , ++ 0xe0b73 , ++ 0xe0b74 , ++ 0xe0b75 , ++ 0xe0b76 , ++ 0xe0b77 , ++ 0xe0b78 , ++ 0xe0b79 , ++ 0xe0b7a , ++ 0xe0b7b , ++ 0xe0b7c , ++ 0xe0b7d , ++ 0xe0b7e , ++ 0xe0b7f , ++ 0xe0b80 , ++ 0xe0b81 , ++ 0xe0b82 , ++ 0xe0b83 , ++ 0xe0b84 , ++ 0xe0b85 , ++ 0xe0b86 , ++ 0xe0b87 , ++ 0xe0b88 , ++ 0xe0b89 , ++ 0xe0b8a , ++ 0xe0b8b , ++ 0xe0b8c , ++ 0xe0b8d , ++ 0xe0b8e , ++ 0xe0b8f , ++ 0xe0b90 , ++ 0xe0b91 , ++ 0xe0b92 , ++ 0xe0b93 , ++ 0xe0b94 , ++ 0xe0b95 , ++ 0xe0b96 , ++ 0xe0b97 , ++ 0xe0b98 , ++ 0xe0b99 , ++ 0xe0b9a , ++ 0xe0b9b , ++ 0xe0b9c , ++ 0xe0b9d , ++ 0xe0b9e , ++ 0xe0b9f , ++ 0xe0ba0 , ++ 0xe0ba1 , ++ 0xe0ba2 , ++ 0xe0ba3 , ++ 0xe0ba4 , ++ 0xe0ba5 , ++ 0xe0ba6 , ++ 0xe0ba7 , ++ 0xe0ba8 , ++ 0xe0ba9 , ++ 0xe0baa , ++ 0xe0bab , ++ 0xe0bac , ++ 0xe0bad , ++ 0xe0bae , ++ 0xe0baf , ++ 0xe0bb0 , ++ 0xe0bb1 , ++ 0xe0bb2 , ++ 0xe0bb3 , ++ 0xe0bb4 , ++ 0xe0bb5 , ++ 0xe0bb6 , ++ 0xe0bb7 , ++ 0xe0bb8 , ++ 0xe0bb9 , ++ 0xe0bba , ++ 0xe0bbb , ++ 0xe0bbc , ++ 0xe0bbd , ++ 0xe0bbe , ++ 0xe0bbf , ++ 0xe0bc0 , ++ 0xe0bc1 , ++ 0xe0bc2 , ++ 0xe0bc3 , ++ 0xe0bc4 , ++ 0xe0bc5 , ++ 0xe0bc6 , ++ 0xe0bc7 , ++ 0xe0bc8 , ++ 0xe0bc9 , ++ 0xe0bca , ++ 0xe0bcb , ++ 0xe0bcc , ++ 0xe0bcd , ++ 0xe0bce , ++ 0xe0bcf , ++ 0xe0bd0 , ++ 0xe0bd1 , ++ 0xe0bd2 , ++ 0xe0bd3 , ++ 0xe0bd4 , ++ 0xe0bd5 , ++ 0xe0bd6 , ++ 0xe0bd7 , ++ 0xe0bd8 , ++ 0xe0bd9 , ++ 0xe0bda , ++ 0xe0bdb , ++ 0xe0bdc , ++ 0xe0bdd , ++ 0xe0bde , ++ 0xe0bdf , ++ 0xe0be0 , ++ 0xe0be1 , ++ 0xe0be2 , ++ 0xe0be3 , ++ 0xe0be4 , ++ 0xe0be5 , ++ 0xe0be6 , ++ 0xe0be7 , ++ 0xe0be8 , ++ 0xe0be9 , ++ 0xe0bea , ++ 0xe0beb , ++ 0xe0bec , ++ 0xe0bed , ++ 0xe0bee , ++ 0xe0bef , ++ 0xe0bf0 , ++ 0xe0bf1 , ++ 0xe0bf2 , ++ 0xe0bf3 , ++ 0xe0bf4 , ++ 0xe0bf5 , ++ 0xe0bf6 , ++ 0xe0bf7 , ++ 0xe0bf8 , ++ 0xe0bf9 , ++ 0xe0bfa , ++ 0xe0bfb , ++ 0xe0bfc , ++ 0xe0bfd , ++ 0xe0bfe , ++ 0xe0bff , ++ 0xe0c00 , ++ 0xe0c01 , ++ 0xe0c02 , ++ 0xe0c03 , ++ 0xe0c04 , ++ 0xe0c05 , ++ 0xe0c06 , ++ 0xe0c07 , ++ 0xe0c08 , ++ 0xe0c09 , ++ 0xe0c0a , ++ 0xe0c0b , ++ 0xe0c0c , ++ 0xe0c0d , ++ 0xe0c0e , ++ 0xe0c0f , ++ 0xe0c10 , ++ 0xe0c11 , ++ 0xe0c12 , ++ 0xe0c13 , ++ 0xe0c14 , ++ 0xe0c15 , ++ 0xe0c16 , ++ 0xe0c17 , ++ 0xe0c18 , ++ 0xe0c19 , ++ 0xe0c1a , ++ 0xe0c1b , ++ 0xe0c1c , ++ 0xe0c1d , ++ 0xe0c1e , ++ 0xe0c1f , ++ 0xe0c20 , ++ 0xe0c21 , ++ 0xe0c22 , ++ 0xe0c23 , ++ 0xe0c24 , ++ 0xe0c25 , ++ 0xe0c26 , ++ 0xe0c27 , ++ 0xe0c28 , ++ 0xe0c29 , ++ 0xe0c2a , ++ 0xe0c2b , ++ 0xe0c2c , ++ 0xe0c2d , ++ 0xe0c2e , ++ 0xe0c2f , ++ 0xe0c30 , ++ 0xe0c31 , ++ 0xe0c32 , ++ 0xe0c33 , ++ 0xe0c34 , ++ 0xe0c35 , ++ 0xe0c36 , ++ 0xe0c37 , ++ 0xe0c38 , ++ 0xe0c39 , ++ 0xe0c3a , ++ 0xe0c3b , ++ 0xe0c3c , ++ 0xe0c3d , ++ 0xe0c3e , ++ 0xe0c3f , ++ 0xe0c40 , ++ 0xe0c41 , ++ 0xe0c42 , ++ 0xe0c43 , ++ 0xe0c44 , ++ 0xe0c45 , ++ 0xe0c46 , ++ 0xe0c47 , ++ 0xe0c48 , ++ 0xe0c49 , ++ 0xe0c4a , ++ 0xe0c4b , ++ 0xe0c4c , ++ 0xe0c4d , ++ 0xe0c4e , ++ 0xe0c4f , ++ 0xe0c50 , ++ 0xe0c51 , ++ 0xe0c52 , ++ 0xe0c53 , ++ 0xe0c54 , ++ 0xe0c55 , ++ 0xe0c56 , ++ 0xe0c57 , ++ 0xe0c58 , ++ 0xe0c59 , ++ 0xe0c5a , ++ 0xe0c5b , ++ 0xe0c5c , ++ 0xe0c5d , ++ 0xe0c5e , ++ 0xe0c5f , ++ 0xe0c60 , ++ 0xe0c61 , ++ 0xe0c62 , ++ 0xe0c63 , ++ 0xe0c64 , ++ 0xe0c65 , ++ 0xe0c66 , ++ 0xe0c67 , ++ 0xe0c68 , ++ 0xe0c69 , ++ 0xe0c6a , ++ 0xe0c6b , ++ 0xe0c6c , ++ 0xe0c6d , ++ 0xe0c6e , ++ 0xe0c6f , ++ 0xe0c70 , ++ 0xe0c71 , ++ 0xe0c72 , ++ 0xe0c73 , ++ 0xe0c74 , ++ 0xe0c75 , ++ 0xe0c76 , ++ 0xe0c77 , ++ 0xe0c78 , ++ 0xe0c79 , ++ 0xe0c7a , ++ 0xe0c7b , ++ 0xe0c7c , ++ 0xe0c7d , ++ 0xe0c7e , ++ 0xe0c7f , ++ 0xe0c80 , ++ 0xe0c81 , ++ 0xe0c82 , ++ 0xe0c83 , ++ 0xe0c84 , ++ 0xe0c85 , ++ 0xe0c86 , ++ 0xe0c87 , ++ 0xe0c88 , ++ 0xe0c89 , ++ 0xe0c8a , ++ 0xe0c8b , ++ 0xe0c8c , ++ 0xe0c8d , ++ 0xe0c8e , ++ 0xe0c8f , ++ 0xe0c90 , ++ 0xe0c91 , ++ 0xe0c92 , ++ 0xe0c93 , ++ 0xe0c94 , ++ 0xe0c95 , ++ 0xe0c96 , ++ 0xe0c97 , ++ 0xe0c98 , ++ 0xe0c99 , ++ 0xe0c9a , ++ 0xe0c9b , ++ 0xe0c9c , ++ 0xe0c9d , ++ 0xe0c9e , ++ 0xe0c9f , ++ 0xe0ca0 , ++ 0xe0ca1 , ++ 0xe0ca2 , ++ 0xe0ca3 , ++ 0xe0ca4 , ++ 0xe0ca5 , ++ 0xe0ca6 , ++ 0xe0ca7 , ++ 0xe0ca8 , ++ 0xe0ca9 , ++ 0xe0caa , ++ 0xe0cab , ++ 0xe0cac , ++ 0xe0cad , ++ 0xe0cae , ++ 0xe0caf , ++ 0xe0cb0 , ++ 0xe0cb1 , ++ 0xe0cb2 , ++ 0xe0cb3 , ++ 0xe0cb4 , ++ 0xe0cb5 , ++ 0xe0cb6 , ++ 0xe0cb7 , ++ 0xe0cb8 , ++ 0xe0cb9 , ++ 0xe0cba , ++ 0xe0cbb , ++ 0xe0cbc , ++ 0xe0cbd , ++ 0xe0cbe , ++ 0xe0cbf , ++ 0xe0cc0 , ++ 0xe0cc1 , ++ 0xe0cc2 , ++ 0xe0cc3 , ++ 0xe0cc4 , ++ 0xe0cc5 , ++ 0xe0cc6 , ++ 0xe0cc7 , ++ 0xe0cc8 , ++ 0xe0cc9 , ++ 0xe0cca , ++ 0xe0ccb , ++ 0xe0ccc , ++ 0xe0ccd , ++ 0xe0cce , ++ 0xe0ccf , ++ 0xe0cd0 , ++ 0xe0cd1 , ++ 0xe0cd2 , ++ 0xe0cd3 , ++ 0xe0cd4 , ++ 0xe0cd5 , ++ 0xe0cd6 , ++ 0xe0cd7 , ++ 0xe0cd8 , ++ 0xe0cd9 , ++ 0xe0cda , ++ 0xe0cdb , ++ 0xe0cdc , ++ 0xe0cdd , ++ 0xe0cde , ++ 0xe0cdf , ++ 0xe0ce0 , ++ 0xe0ce1 , ++ 0xe0ce2 , ++ 0xe0ce3 , ++ 0xe0ce4 , ++ 0xe0ce5 , ++ 0xe0ce6 , ++ 0xe0ce7 , ++ 0xe0ce8 , ++ 0xe0ce9 , ++ 0xe0cea , ++ 0xe0ceb , ++ 0xe0cec , ++ 0xe0ced , ++ 0xe0cee , ++ 0xe0cef , ++ 0xe0cf0 , ++ 0xe0cf1 , ++ 0xe0cf2 , ++ 0xe0cf3 , ++ 0xe0cf4 , ++ 0xe0cf5 , ++ 0xe0cf6 , ++ 0xe0cf7 , ++ 0xe0cf8 , ++ 0xe0cf9 , ++ 0xe0cfa , ++ 0xe0cfb , ++ 0xe0cfc , ++ 0xe0cfd , ++ 0xe0cfe , ++ 0xe0cff , ++ 0xe0d00 , ++ 0xe0d01 , ++ 0xe0d02 , ++ 0xe0d03 , ++ 0xe0d04 , ++ 0xe0d05 , ++ 0xe0d06 , ++ 0xe0d07 , ++ 0xe0d08 , ++ 0xe0d09 , ++ 0xe0d0a , ++ 0xe0d0b , ++ 0xe0d0c , ++ 0xe0d0d , ++ 0xe0d0e , ++ 0xe0d0f , ++ 0xe0d10 , ++ 0xe0d11 , ++ 0xe0d12 , ++ 0xe0d13 , ++ 0xe0d14 , ++ 0xe0d15 , ++ 0xe0d16 , ++ 0xe0d17 , ++ 0xe0d18 , ++ 0xe0d19 , ++ 0xe0d1a , ++ 0xe0d1b , ++ 0xe0d1c , ++ 0xe0d1d , ++ 0xe0d1e , ++ 0xe0d1f , ++ 0xe0d20 , ++ 0xe0d21 , ++ 0xe0d22 , ++ 0xe0d23 , ++ 0xe0d24 , ++ 0xe0d25 , ++ 0xe0d26 , ++ 0xe0d27 , ++ 0xe0d28 , ++ 0xe0d29 , ++ 0xe0d2a , ++ 0xe0d2b , ++ 0xe0d2c , ++ 0xe0d2d , ++ 0xe0d2e , ++ 0xe0d2f , ++ 0xe0d30 , ++ 0xe0d31 , ++ 0xe0d32 , ++ 0xe0d33 , ++ 0xe0d34 , ++ 0xe0d35 , ++ 0xe0d36 , ++ 0xe0d37 , ++ 0xe0d38 , ++ 0xe0d39 , ++ 0xe0d3a , ++ 0xe0d3b , ++ 0xe0d3c , ++ 0xe0d3d , ++ 0xe0d3e , ++ 0xe0d3f , ++ 0xe0d40 , ++ 0xe0d41 , ++ 0xe0d42 , ++ 0xe0d43 , ++ 0xe0d44 , ++ 0xe0d45 , ++ 0xe0d46 , ++ 0xe0d47 , ++ 0xe0d48 , ++ 0xe0d49 , ++ 0xe0d4a , ++ 0xe0d4b , ++ 0xe0d4c , ++ 0xe0d4d , ++ 0xe0d4e , ++ 0xe0d4f , ++ 0xe0d50 , ++ 0xe0d51 , ++ 0xe0d52 , ++ 0xe0d53 , ++ 0xe0d54 , ++ 0xe0d55 , ++ 0xe0d56 , ++ 0xe0d57 , ++ 0xe0d58 , ++ 0xe0d59 , ++ 0xe0d5a , ++ 0xe0d5b , ++ 0xe0d5c , ++ 0xe0d5d , ++ 0xe0d5e , ++ 0xe0d5f , ++ 0xe0d60 , ++ 0xe0d61 , ++ 0xe0d62 , ++ 0xe0d63 , ++ 0xe0d64 , ++ 0xe0d65 , ++ 0xe0d66 , ++ 0xe0d67 , ++ 0xe0d68 , ++ 0xe0d69 , ++ 0xe0d6a , ++ 0xe0d6b , ++ 0xe0d6c , ++ 0xe0d6d , ++ 0xe0d6e , ++ 0xe0d6f , ++ 0xe0d70 , ++ 0xe0d71 , ++ 0xe0d72 , ++ 0xe0d73 , ++ 0xe0d74 , ++ 0xe0d75 , ++ 0xe0d76 , ++ 0xe0d77 , ++ 0xe0d78 , ++ 0xe0d79 , ++ 0xe0d7a , ++ 0xe0d7b , ++ 0xe0d7c , ++ 0xe0d7d , ++ 0xe0d7e , ++ 0xe0d7f , ++ 0xe0d80 , ++ 0xe0d81 , ++ 0xe0d82 , ++ 0xe0d83 , ++ 0xe0d84 , ++ 0xe0d85 , ++ 0xe0d86 , ++ 0xe0d87 , ++ 0xe0d88 , ++ 0xe0d89 , ++ 0xe0d8a , ++ 0xe0d8b , ++ 0xe0d8c , ++ 0xe0d8d , ++ 0xe0d8e , ++ 0xe0d8f , ++ 0xe0d90 , ++ 0xe0d91 , ++ 0xe0d92 , ++ 0xe0d93 , ++ 0xe0d94 , ++ 0xe0d95 , ++ 0xe0d96 , ++ 0xe0d97 , ++ 0xe0d98 , ++ 0xe0d99 , ++ 0xe0d9a , ++ 0xe0d9b , ++ 0xe0d9c , ++ 0xe0d9d , ++ 0xe0d9e , ++ 0xe0d9f , ++ 0xe0da0 , ++ 0xe0da1 , ++ 0xe0da2 , ++ 0xe0da3 , ++ 0xe0da4 , ++ 0xe0da5 , ++ 0xe0da6 , ++ 0xe0da7 , ++ 0xe0da8 , ++ 0xe0da9 , ++ 0xe0daa , ++ 0xe0dab , ++ 0xe0dac , ++ 0xe0dad , ++ 0xe0dae , ++ 0xe0daf , ++ 0xe0db0 , ++ 0xe0db1 , ++ 0xe0db2 , ++ 0xe0db3 , ++ 0xe0db4 , ++ 0xe0db5 , ++ 0xe0db6 , ++ 0xe0db7 , ++ 0xe0db8 , ++ 0xe0db9 , ++ 0xe0dba , ++ 0xe0dbb , ++ 0xe0dbc , ++ 0xe0dbd , ++ 0xe0dbe , ++ 0xe0dbf , ++ 0xe0dc0 , ++ 0xe0dc1 , ++ 0xe0dc2 , ++ 0xe0dc3 , ++ 0xe0dc4 , ++ 0xe0dc5 , ++ 0xe0dc6 , ++ 0xe0dc7 , ++ 0xe0dc8 , ++ 0xe0dc9 , ++ 0xe0dca , ++ 0xe0dcb , ++ 0xe0dcc , ++ 0xe0dcd , ++ 0xe0dce , ++ 0xe0dcf , ++ 0xe0dd0 , ++ 0xe0dd1 , ++ 0xe0dd2 , ++ 0xe0dd3 , ++ 0xe0dd4 , ++ 0xe0dd5 , ++ 0xe0dd6 , ++ 0xe0dd7 , ++ 0xe0dd8 , ++ 0xe0dd9 , ++ 0xe0dda , ++ 0xe0ddb , ++ 0xe0ddc , ++ 0xe0ddd , ++ 0xe0dde , ++ 0xe0ddf , ++ 0xe0de0 , ++ 0xe0de1 , ++ 0xe0de2 , ++ 0xe0de3 , ++ 0xe0de4 , ++ 0xe0de5 , ++ 0xe0de6 , ++ 0xe0de7 , ++ 0xe0de8 , ++ 0xe0de9 , ++ 0xe0dea , ++ 0xe0deb , ++ 0xe0dec , ++ 0xe0ded , ++ 0xe0dee , ++ 0xe0def , ++ 0xe0df0 , ++ 0xe0df1 , ++ 0xe0df2 , ++ 0xe0df3 , ++ 0xe0df4 , ++ 0xe0df5 , ++ 0xe0df6 , ++ 0xe0df7 , ++ 0xe0df8 , ++ 0xe0df9 , ++ 0xe0dfa , ++ 0xe0dfb , ++ 0xe0dfc , ++ 0xe0dfd , ++ 0xe0dfe , ++ 0xe0dff , ++ 0xe0e00 , ++ 0xe0e01 , ++ 0xe0e02 , ++ 0xe0e03 , ++ 0xe0e04 , ++ 0xe0e05 , ++ 0xe0e06 , ++ 0xe0e07 , ++ 0xe0e08 , ++ 0xe0e09 , ++ 0xe0e0a , ++ 0xe0e0b , ++ 0xe0e0c , ++ 0xe0e0d , ++ 0xe0e0e , ++ 0xe0e0f , ++ 0xe0e10 , ++ 0xe0e11 , ++ 0xe0e12 , ++ 0xe0e13 , ++ 0xe0e14 , ++ 0xe0e15 , ++ 0xe0e16 , ++ 0xe0e17 , ++ 0xe0e18 , ++ 0xe0e19 , ++ 0xe0e1a , ++ 0xe0e1b , ++ 0xe0e1c , ++ 0xe0e1d , ++ 0xe0e1e , ++ 0xe0e1f , ++ 0xe0e20 , ++ 0xe0e21 , ++ 0xe0e22 , ++ 0xe0e23 , ++ 0xe0e24 , ++ 0xe0e25 , ++ 0xe0e26 , ++ 0xe0e27 , ++ 0xe0e28 , ++ 0xe0e29 , ++ 0xe0e2a , ++ 0xe0e2b , ++ 0xe0e2c , ++ 0xe0e2d , ++ 0xe0e2e , ++ 0xe0e2f , ++ 0xe0e30 , ++ 0xe0e31 , ++ 0xe0e32 , ++ 0xe0e33 , ++ 0xe0e34 , ++ 0xe0e35 , ++ 0xe0e36 , ++ 0xe0e37 , ++ 0xe0e38 , ++ 0xe0e39 , ++ 0xe0e3a , ++ 0xe0e3b , ++ 0xe0e3c , ++ 0xe0e3d , ++ 0xe0e3e , ++ 0xe0e3f , ++ 0xe0e40 , ++ 0xe0e41 , ++ 0xe0e42 , ++ 0xe0e43 , ++ 0xe0e44 , ++ 0xe0e45 , ++ 0xe0e46 , ++ 0xe0e47 , ++ 0xe0e48 , ++ 0xe0e49 , ++ 0xe0e4a , ++ 0xe0e4b , ++ 0xe0e4c , ++ 0xe0e4d , ++ 0xe0e4e , ++ 0xe0e4f , ++ 0xe0e50 , ++ 0xe0e51 , ++ 0xe0e52 , ++ 0xe0e53 , ++ 0xe0e54 , ++ 0xe0e55 , ++ 0xe0e56 , ++ 0xe0e57 , ++ 0xe0e58 , ++ 0xe0e59 , ++ 0xe0e5a , ++ 0xe0e5b , ++ 0xe0e5c , ++ 0xe0e5d , ++ 0xe0e5e , ++ 0xe0e5f , ++ 0xe0e60 , ++ 0xe0e61 , ++ 0xe0e62 , ++ 0xe0e63 , ++ 0xe0e64 , ++ 0xe0e65 , ++ 0xe0e66 , ++ 0xe0e67 , ++ 0xe0e68 , ++ 0xe0e69 , ++ 0xe0e6a , ++ 0xe0e6b , ++ 0xe0e6c , ++ 0xe0e6d , ++ 0xe0e6e , ++ 0xe0e6f , ++ 0xe0e70 , ++ 0xe0e71 , ++ 0xe0e72 , ++ 0xe0e73 , ++ 0xe0e74 , ++ 0xe0e75 , ++ 0xe0e76 , ++ 0xe0e77 , ++ 0xe0e78 , ++ 0xe0e79 , ++ 0xe0e7a , ++ 0xe0e7b , ++ 0xe0e7c , ++ 0xe0e7d , ++ 0xe0e7e , ++ 0xe0e7f , ++ 0xe0e80 , ++ 0xe0e81 , ++ 0xe0e82 , ++ 0xe0e83 , ++ 0xe0e84 , ++ 0xe0e85 , ++ 0xe0e86 , ++ 0xe0e87 , ++ 0xe0e88 , ++ 0xe0e89 , ++ 0xe0e8a , ++ 0xe0e8b , ++ 0xe0e8c , ++ 0xe0e8d , ++ 0xe0e8e , ++ 0xe0e8f , ++ 0xe0e90 , ++ 0xe0e91 , ++ 0xe0e92 , ++ 0xe0e93 , ++ 0xe0e94 , ++ 0xe0e95 , ++ 0xe0e96 , ++ 0xe0e97 , ++ 0xe0e98 , ++ 0xe0e99 , ++ 0xe0e9a , ++ 0xe0e9b , ++ 0xe0e9c , ++ 0xe0e9d , ++ 0xe0e9e , ++ 0xe0e9f , ++ 0xe0ea0 , ++ 0xe0ea1 , ++ 0xe0ea2 , ++ 0xe0ea3 , ++ 0xe0ea4 , ++ 0xe0ea5 , ++ 0xe0ea6 , ++ 0xe0ea7 , ++ 0xe0ea8 , ++ 0xe0ea9 , ++ 0xe0eaa , ++ 0xe0eab , ++ 0xe0eac , ++ 0xe0ead , ++ 0xe0eae , ++ 0xe0eaf , ++ 0xe0eb0 , ++ 0xe0eb1 , ++ 0xe0eb2 , ++ 0xe0eb3 , ++ 0xe0eb4 , ++ 0xe0eb5 , ++ 0xe0eb6 , ++ 0xe0eb7 , ++ 0xe0eb8 , ++ 0xe0eb9 , ++ 0xe0eba , ++ 0xe0ebb , ++ 0xe0ebc , ++ 0xe0ebd , ++ 0xe0ebe , ++ 0xe0ebf , ++ 0xe0ec0 , ++ 0xe0ec1 , ++ 0xe0ec2 , ++ 0xe0ec3 , ++ 0xe0ec4 , ++ 0xe0ec5 , ++ 0xe0ec6 , ++ 0xe0ec7 , ++ 0xe0ec8 , ++ 0xe0ec9 , ++ 0xe0eca , ++ 0xe0ecb , ++ 0xe0ecc , ++ 0xe0ecd , ++ 0xe0ece , ++ 0xe0ecf , ++ 0xe0ed0 , ++ 0xe0ed1 , ++ 0xe0ed2 , ++ 0xe0ed3 , ++ 0xe0ed4 , ++ 0xe0ed5 , ++ 0xe0ed6 , ++ 0xe0ed7 , ++ 0xe0ed8 , ++ 0xe0ed9 , ++ 0xe0eda , ++ 0xe0edb , ++ 0xe0edc , ++ 0xe0edd , ++ 0xe0ede , ++ 0xe0edf , ++ 0xe0ee0 , ++ 0xe0ee1 , ++ 0xe0ee2 , ++ 0xe0ee3 , ++ 0xe0ee4 , ++ 0xe0ee5 , ++ 0xe0ee6 , ++ 0xe0ee7 , ++ 0xe0ee8 , ++ 0xe0ee9 , ++ 0xe0eea , ++ 0xe0eeb , ++ 0xe0eec , ++ 0xe0eed , ++ 0xe0eee , ++ 0xe0eef , ++ 0xe0ef0 , ++ 0xe0ef1 , ++ 0xe0ef2 , ++ 0xe0ef3 , ++ 0xe0ef4 , ++ 0xe0ef5 , ++ 0xe0ef6 , ++ 0xe0ef7 , ++ 0xe0ef8 , ++ 0xe0ef9 , ++ 0xe0efa , ++ 0xe0efb , ++ 0xe0efc , ++ 0xe0efd , ++ 0xe0efe , ++ 0xe0eff , ++ 0xe0f00 , ++ 0xe0f01 , ++ 0xe0f02 , ++ 0xe0f03 , ++ 0xe0f04 , ++ 0xe0f05 , ++ 0xe0f06 , ++ 0xe0f07 , ++ 0xe0f08 , ++ 0xe0f09 , ++ 0xe0f0a , ++ 0xe0f0b , ++ 0xe0f0c , ++ 0xe0f0d , ++ 0xe0f0e , ++ 0xe0f0f , ++ 0xe0f10 , ++ 0xe0f11 , ++ 0xe0f12 , ++ 0xe0f13 , ++ 0xe0f14 , ++ 0xe0f15 , ++ 0xe0f16 , ++ 0xe0f17 , ++ 0xe0f18 , ++ 0xe0f19 , ++ 0xe0f1a , ++ 0xe0f1b , ++ 0xe0f1c , ++ 0xe0f1d , ++ 0xe0f1e , ++ 0xe0f1f , ++ 0xe0f20 , ++ 0xe0f21 , ++ 0xe0f22 , ++ 0xe0f23 , ++ 0xe0f24 , ++ 0xe0f25 , ++ 0xe0f26 , ++ 0xe0f27 , ++ 0xe0f28 , ++ 0xe0f29 , ++ 0xe0f2a , ++ 0xe0f2b , ++ 0xe0f2c , ++ 0xe0f2d , ++ 0xe0f2e , ++ 0xe0f2f , ++ 0xe0f30 , ++ 0xe0f31 , ++ 0xe0f32 , ++ 0xe0f33 , ++ 0xe0f34 , ++ 0xe0f35 , ++ 0xe0f36 , ++ 0xe0f37 , ++ 0xe0f38 , ++ 0xe0f39 , ++ 0xe0f3a , ++ 0xe0f3b , ++ 0xe0f3c , ++ 0xe0f3d , ++ 0xe0f3e , ++ 0xe0f3f , ++ 0xe0f40 , ++ 0xe0f41 , ++ 0xe0f42 , ++ 0xe0f43 , ++ 0xe0f44 , ++ 0xe0f45 , ++ 0xe0f46 , ++ 0xe0f47 , ++ 0xe0f48 , ++ 0xe0f49 , ++ 0xe0f4a , ++ 0xe0f4b , ++ 0xe0f4c , ++ 0xe0f4d , ++ 0xe0f4e , ++ 0xe0f4f , ++ 0xe0f50 , ++ 0xe0f51 , ++ 0xe0f52 , ++ 0xe0f53 , ++ 0xe0f54 , ++ 0xe0f55 , ++ 0xe0f56 , ++ 0xe0f57 , ++ 0xe0f58 , ++ 0xe0f59 , ++ 0xe0f5a , ++ 0xe0f5b , ++ 0xe0f5c , ++ 0xe0f5d , ++ 0xe0f5e , ++ 0xe0f5f , ++ 0xe0f60 , ++ 0xe0f61 , ++ 0xe0f62 , ++ 0xe0f63 , ++ 0xe0f64 , ++ 0xe0f65 , ++ 0xe0f66 , ++ 0xe0f67 , ++ 0xe0f68 , ++ 0xe0f69 , ++ 0xe0f6a , ++ 0xe0f6b , ++ 0xe0f6c , ++ 0xe0f6d , ++ 0xe0f6e , ++ 0xe0f6f , ++ 0xe0f70 , ++ 0xe0f71 , ++ 0xe0f72 , ++ 0xe0f73 , ++ 0xe0f74 , ++ 0xe0f75 , ++ 0xe0f76 , ++ 0xe0f77 , ++ 0xe0f78 , ++ 0xe0f79 , ++ 0xe0f7a , ++ 0xe0f7b , ++ 0xe0f7c , ++ 0xe0f7d , ++ 0xe0f7e , ++ 0xe0f7f , ++ 0xe0f80 , ++ 0xe0f81 , ++ 0xe0f82 , ++ 0xe0f83 , ++ 0xe0f84 , ++ 0xe0f85 , ++ 0xe0f86 , ++ 0xe0f87 , ++ 0xe0f88 , ++ 0xe0f89 , ++ 0xe0f8a , ++ 0xe0f8b , ++ 0xe0f8c , ++ 0xe0f8d , ++ 0xe0f8e , ++ 0xe0f8f , ++ 0xe0f90 , ++ 0xe0f91 , ++ 0xe0f92 , ++ 0xe0f93 , ++ 0xe0f94 , ++ 0xe0f95 , ++ 0xe0f96 , ++ 0xe0f97 , ++ 0xe0f98 , ++ 0xe0f99 , ++ 0xe0f9a , ++ 0xe0f9b , ++ 0xe0f9c , ++ 0xe0f9d , ++ 0xe0f9e , ++ 0xe0f9f , ++ 0xe0fa0 , ++ 0xe0fa1 , ++ 0xe0fa2 , ++ 0xe0fa3 , ++ 0xe0fa4 , ++ 0xe0fa5 , ++ 0xe0fa6 , ++ 0xe0fa7 , ++ 0xe0fa8 , ++ 0xe0fa9 , ++ 0xe0faa , ++ 0xe0fab , ++ 0xe0fac , ++ 0xe0fad , ++ 0xe0fae , ++ 0xe0faf , ++ 0xe0fb0 , ++ 0xe0fb1 , ++ 0xe0fb2 , ++ 0xe0fb3 , ++ 0xe0fb4 , ++ 0xe0fb5 , ++ 0xe0fb6 , ++ 0xe0fb7 , ++ 0xe0fb8 , ++ 0xe0fb9 , ++ 0xe0fba , ++ 0xe0fbb , ++ 0xe0fbc , ++ 0xe0fbd , ++ 0xe0fbe , ++ 0xe0fbf , ++ 0xe0fc0 , ++ 0xe0fc1 , ++ 0xe0fc2 , ++ 0xe0fc3 , ++ 0xe0fc4 , ++ 0xe0fc5 , ++ 0xe0fc6 , ++ 0xe0fc7 , ++ 0xe0fc8 , ++ 0xe0fc9 , ++ 0xe0fca , ++ 0xe0fcb , ++ 0xe0fcc , ++ 0xe0fcd , ++ 0xe0fce , ++ 0xe0fcf , ++ 0xe0fd0 , ++ 0xe0fd1 , ++ 0xe0fd2 , ++ 0xe0fd3 , ++ 0xe0fd4 , ++ 0xe0fd5 , ++ 0xe0fd6 , ++ 0xe0fd7 , ++ 0xe0fd8 , ++ 0xe0fd9 , ++ 0xe0fda , ++ 0xe0fdb , ++ 0xe0fdc , ++ 0xe0fdd , ++ 0xe0fde , ++ 0xe0fdf , ++ 0xe0fe0 , ++ 0xe0fe1 , ++ 0xe0fe2 , ++ 0xe0fe3 , ++ 0xe0fe4 , ++ 0xe0fe5 , ++ 0xe0fe6 , ++ 0xe0fe7 , ++ 0xe0fe8 , ++ 0xe0fe9 , ++ 0xe0fea , ++ 0xe0feb , ++ 0xe0fec , ++ 0xe0fed , ++ 0xe0fee , ++ 0xe0fef , ++ 0xe0ff0 , ++ 0xe0ff1 , ++ 0xe0ff2 , ++ 0xe0ff3 , ++ 0xe0ff4 , ++ 0xe0ff5 , ++ 0xe0ff6 , ++ 0xe0ff7 , ++ 0xe0ff8 , ++ 0xe0ff9 , ++ 0xe0ffa , ++ 0xe0ffb , ++ 0xe0ffc , ++ 0xe0ffd , ++ 0xe0ffe , ++ 0xe0fff }; ++ ++static FcBlanks fcBlanks = { ++ 4191, ++ -1, ++ _fcBlanks ++}; ++ +diff --git a/fc-case/fccase.h b/fc-case/fccase.h +new file mode 100644 +index 0000000..5be716d +--- /dev/null ++++ b/fc-case/fccase.h +@@ -0,0 +1,354 @@ ++/* ++ * fontconfig/fc-case/fccase.tmpl.h ++ * ++ * Copyright © 2003 Keith Packard ++ * ++ * Permission to use, copy, modify, distribute, and sell this software and its ++ * documentation for any purpose is hereby granted without fee, provided that ++ * the above copyright notice appear in all copies and that both that ++ * copyright notice and this permission notice appear in supporting ++ * documentation, and that the name of the author(s) not be used in ++ * advertising or publicity pertaining to distribution of the software without ++ * specific, written prior permission. The authors make no ++ * representations about the suitability of this software for any purpose. It ++ * is provided "as is" without express or implied warranty. ++ * ++ * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, ++ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO ++ * EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR ++ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, ++ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER ++ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR ++ * PERFORMANCE OF THIS SOFTWARE. ++ */ ++ ++#define FC_NUM_CASE_FOLD 288 ++#define FC_NUM_CASE_FOLD_CHARS 471 ++#define FC_MAX_CASE_FOLD_CHARS 6 ++#define FC_MAX_CASE_FOLD_EXPAND 4 ++#define FC_MIN_FOLD_CHAR 0x00000041 ++#define FC_MAX_FOLD_CHAR 0x0001e921 ++ ++static const FcCaseFold fcCaseFold[FC_NUM_CASE_FOLD] = { ++ { 0x00000041, FC_CASE_FOLD_RANGE, 0x001a, 32 }, ++ { 0x000000b5, FC_CASE_FOLD_RANGE, 0x0001, 775 }, ++ { 0x000000c0, FC_CASE_FOLD_RANGE, 0x0017, 32 }, ++ { 0x000000d8, FC_CASE_FOLD_RANGE, 0x0007, 32 }, ++ { 0x000000df, FC_CASE_FOLD_FULL, 0x0002, 0 }, ++ { 0x00000100, FC_CASE_FOLD_EVEN_ODD, 0x002f, 1 }, ++ { 0x00000130, FC_CASE_FOLD_FULL, 0x0003, 2 }, ++ { 0x00000132, FC_CASE_FOLD_EVEN_ODD, 0x0005, 1 }, ++ { 0x00000139, FC_CASE_FOLD_EVEN_ODD, 0x000f, 1 }, ++ { 0x00000149, FC_CASE_FOLD_FULL, 0x0003, 5 }, ++ { 0x0000014a, FC_CASE_FOLD_EVEN_ODD, 0x002d, 1 }, ++ { 0x00000178, FC_CASE_FOLD_RANGE, 0x0001, -121 }, ++ { 0x00000179, FC_CASE_FOLD_EVEN_ODD, 0x0005, 1 }, ++ { 0x0000017f, FC_CASE_FOLD_RANGE, 0x0001, -268 }, ++ { 0x00000181, FC_CASE_FOLD_RANGE, 0x0001, 210 }, ++ { 0x00000182, FC_CASE_FOLD_EVEN_ODD, 0x0003, 1 }, ++ { 0x00000186, FC_CASE_FOLD_RANGE, 0x0001, 206 }, ++ { 0x00000187, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 }, ++ { 0x00000189, FC_CASE_FOLD_RANGE, 0x0002, 205 }, ++ { 0x0000018b, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 }, ++ { 0x0000018e, FC_CASE_FOLD_RANGE, 0x0001, 79 }, ++ { 0x0000018f, FC_CASE_FOLD_RANGE, 0x0001, 202 }, ++ { 0x00000190, FC_CASE_FOLD_RANGE, 0x0001, 203 }, ++ { 0x00000191, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 }, ++ { 0x00000193, FC_CASE_FOLD_RANGE, 0x0001, 205 }, ++ { 0x00000194, FC_CASE_FOLD_RANGE, 0x0001, 207 }, ++ { 0x00000196, FC_CASE_FOLD_RANGE, 0x0001, 211 }, ++ { 0x00000197, FC_CASE_FOLD_RANGE, 0x0001, 209 }, ++ { 0x00000198, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 }, ++ { 0x0000019c, FC_CASE_FOLD_RANGE, 0x0001, 211 }, ++ { 0x0000019d, FC_CASE_FOLD_RANGE, 0x0001, 213 }, ++ { 0x0000019f, FC_CASE_FOLD_RANGE, 0x0001, 214 }, ++ { 0x000001a0, FC_CASE_FOLD_EVEN_ODD, 0x0005, 1 }, ++ { 0x000001a6, FC_CASE_FOLD_RANGE, 0x0001, 218 }, ++ { 0x000001a7, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 }, ++ { 0x000001a9, FC_CASE_FOLD_RANGE, 0x0001, 218 }, ++ { 0x000001ac, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 }, ++ { 0x000001ae, FC_CASE_FOLD_RANGE, 0x0001, 218 }, ++ { 0x000001af, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 }, ++ { 0x000001b1, FC_CASE_FOLD_RANGE, 0x0002, 217 }, ++ { 0x000001b3, FC_CASE_FOLD_EVEN_ODD, 0x0003, 1 }, ++ { 0x000001b7, FC_CASE_FOLD_RANGE, 0x0001, 219 }, ++ { 0x000001b8, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 }, ++ { 0x000001bc, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 }, ++ { 0x000001c4, FC_CASE_FOLD_RANGE, 0x0001, 2 }, ++ { 0x000001c5, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 }, ++ { 0x000001c7, FC_CASE_FOLD_RANGE, 0x0001, 2 }, ++ { 0x000001c8, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 }, ++ { 0x000001ca, FC_CASE_FOLD_RANGE, 0x0001, 2 }, ++ { 0x000001cb, FC_CASE_FOLD_EVEN_ODD, 0x0011, 1 }, ++ { 0x000001de, FC_CASE_FOLD_EVEN_ODD, 0x0011, 1 }, ++ { 0x000001f0, FC_CASE_FOLD_FULL, 0x0003, 8 }, ++ { 0x000001f1, FC_CASE_FOLD_RANGE, 0x0001, 2 }, ++ { 0x000001f2, FC_CASE_FOLD_EVEN_ODD, 0x0003, 1 }, ++ { 0x000001f6, FC_CASE_FOLD_RANGE, 0x0001, -97 }, ++ { 0x000001f7, FC_CASE_FOLD_RANGE, 0x0001, -56 }, ++ { 0x000001f8, FC_CASE_FOLD_EVEN_ODD, 0x0027, 1 }, ++ { 0x00000220, FC_CASE_FOLD_RANGE, 0x0001, -130 }, ++ { 0x00000222, FC_CASE_FOLD_EVEN_ODD, 0x0011, 1 }, ++ { 0x0000023a, FC_CASE_FOLD_RANGE, 0x0001, 10795 }, ++ { 0x0000023b, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 }, ++ { 0x0000023d, FC_CASE_FOLD_RANGE, 0x0001, -163 }, ++ { 0x0000023e, FC_CASE_FOLD_RANGE, 0x0001, 10792 }, ++ { 0x00000241, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 }, ++ { 0x00000243, FC_CASE_FOLD_RANGE, 0x0001, -195 }, ++ { 0x00000244, FC_CASE_FOLD_RANGE, 0x0001, 69 }, ++ { 0x00000245, FC_CASE_FOLD_RANGE, 0x0001, 71 }, ++ { 0x00000246, FC_CASE_FOLD_EVEN_ODD, 0x0009, 1 }, ++ { 0x00000345, FC_CASE_FOLD_RANGE, 0x0001, 116 }, ++ { 0x00000370, FC_CASE_FOLD_EVEN_ODD, 0x0003, 1 }, ++ { 0x00000376, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 }, ++ { 0x0000037f, FC_CASE_FOLD_RANGE, 0x0001, 116 }, ++ { 0x00000386, FC_CASE_FOLD_RANGE, 0x0001, 38 }, ++ { 0x00000388, FC_CASE_FOLD_RANGE, 0x0003, 37 }, ++ { 0x0000038c, FC_CASE_FOLD_RANGE, 0x0001, 64 }, ++ { 0x0000038e, FC_CASE_FOLD_RANGE, 0x0002, 63 }, ++ { 0x00000390, FC_CASE_FOLD_FULL, 0x0006, 11 }, ++ { 0x00000391, FC_CASE_FOLD_RANGE, 0x0011, 32 }, ++ { 0x000003a3, FC_CASE_FOLD_RANGE, 0x0009, 32 }, ++ { 0x000003b0, FC_CASE_FOLD_FULL, 0x0006, 17 }, ++ { 0x000003c2, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 }, ++ { 0x000003cf, FC_CASE_FOLD_RANGE, 0x0001, 8 }, ++ { 0x000003d0, FC_CASE_FOLD_RANGE, 0x0001, -30 }, ++ { 0x000003d1, FC_CASE_FOLD_RANGE, 0x0001, -25 }, ++ { 0x000003d5, FC_CASE_FOLD_RANGE, 0x0001, -15 }, ++ { 0x000003d6, FC_CASE_FOLD_RANGE, 0x0001, -22 }, ++ { 0x000003d8, FC_CASE_FOLD_EVEN_ODD, 0x0017, 1 }, ++ { 0x000003f0, FC_CASE_FOLD_RANGE, 0x0001, -54 }, ++ { 0x000003f1, FC_CASE_FOLD_RANGE, 0x0001, -48 }, ++ { 0x000003f4, FC_CASE_FOLD_RANGE, 0x0001, -60 }, ++ { 0x000003f5, FC_CASE_FOLD_RANGE, 0x0001, -64 }, ++ { 0x000003f7, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 }, ++ { 0x000003f9, FC_CASE_FOLD_RANGE, 0x0001, -7 }, ++ { 0x000003fa, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 }, ++ { 0x000003fd, FC_CASE_FOLD_RANGE, 0x0003, -130 }, ++ { 0x00000400, FC_CASE_FOLD_RANGE, 0x0010, 80 }, ++ { 0x00000410, FC_CASE_FOLD_RANGE, 0x0020, 32 }, ++ { 0x00000460, FC_CASE_FOLD_EVEN_ODD, 0x0021, 1 }, ++ { 0x0000048a, FC_CASE_FOLD_EVEN_ODD, 0x0035, 1 }, ++ { 0x000004c0, FC_CASE_FOLD_RANGE, 0x0001, 15 }, ++ { 0x000004c1, FC_CASE_FOLD_EVEN_ODD, 0x000d, 1 }, ++ { 0x000004d0, FC_CASE_FOLD_EVEN_ODD, 0x005f, 1 }, ++ { 0x00000531, FC_CASE_FOLD_RANGE, 0x0026, 48 }, ++ { 0x00000587, FC_CASE_FOLD_FULL, 0x0004, 23 }, ++ { 0x000010a0, FC_CASE_FOLD_RANGE, 0x0026, 7264 }, ++ { 0x000010c7, FC_CASE_FOLD_RANGE, 0x0001, 7264 }, ++ { 0x000010cd, FC_CASE_FOLD_RANGE, 0x0001, 7264 }, ++ { 0x000013f8, FC_CASE_FOLD_RANGE, 0x0006, -8 }, ++ { 0x00001c80, FC_CASE_FOLD_RANGE, 0x0001, -6222 }, ++ { 0x00001c81, FC_CASE_FOLD_RANGE, 0x0001, -6221 }, ++ { 0x00001c82, FC_CASE_FOLD_RANGE, 0x0001, -6212 }, ++ { 0x00001c83, FC_CASE_FOLD_RANGE, 0x0002, -6210 }, ++ { 0x00001c85, FC_CASE_FOLD_RANGE, 0x0001, -6211 }, ++ { 0x00001c86, FC_CASE_FOLD_RANGE, 0x0001, -6204 }, ++ { 0x00001c87, FC_CASE_FOLD_RANGE, 0x0001, -6180 }, ++ { 0x00001c88, FC_CASE_FOLD_RANGE, 0x0001, -30269 }, ++ { 0x00001e00, FC_CASE_FOLD_EVEN_ODD, 0x0095, 1 }, ++ { 0x00001e96, FC_CASE_FOLD_FULL, 0x0003, 27 }, ++ { 0x00001e97, FC_CASE_FOLD_FULL, 0x0003, 30 }, ++ { 0x00001e98, FC_CASE_FOLD_FULL, 0x0003, 33 }, ++ { 0x00001e99, FC_CASE_FOLD_FULL, 0x0003, 36 }, ++ { 0x00001e9a, FC_CASE_FOLD_FULL, 0x0003, 39 }, ++ { 0x00001e9b, FC_CASE_FOLD_RANGE, 0x0001, -58 }, ++ { 0x00001e9e, FC_CASE_FOLD_FULL, 0x0002, 42 }, ++ { 0x00001ea0, FC_CASE_FOLD_EVEN_ODD, 0x005f, 1 }, ++ { 0x00001f08, FC_CASE_FOLD_RANGE, 0x0008, -8 }, ++ { 0x00001f18, FC_CASE_FOLD_RANGE, 0x0006, -8 }, ++ { 0x00001f28, FC_CASE_FOLD_RANGE, 0x0008, -8 }, ++ { 0x00001f38, FC_CASE_FOLD_RANGE, 0x0008, -8 }, ++ { 0x00001f48, FC_CASE_FOLD_RANGE, 0x0006, -8 }, ++ { 0x00001f50, FC_CASE_FOLD_FULL, 0x0004, 44 }, ++ { 0x00001f52, FC_CASE_FOLD_FULL, 0x0006, 48 }, ++ { 0x00001f54, FC_CASE_FOLD_FULL, 0x0006, 54 }, ++ { 0x00001f56, FC_CASE_FOLD_FULL, 0x0006, 60 }, ++ { 0x00001f59, FC_CASE_FOLD_RANGE, 0x0001, -8 }, ++ { 0x00001f5b, FC_CASE_FOLD_RANGE, 0x0001, -8 }, ++ { 0x00001f5d, FC_CASE_FOLD_RANGE, 0x0001, -8 }, ++ { 0x00001f5f, FC_CASE_FOLD_RANGE, 0x0001, -8 }, ++ { 0x00001f68, FC_CASE_FOLD_RANGE, 0x0008, -8 }, ++ { 0x00001f80, FC_CASE_FOLD_FULL, 0x0005, 66 }, ++ { 0x00001f81, FC_CASE_FOLD_FULL, 0x0005, 71 }, ++ { 0x00001f82, FC_CASE_FOLD_FULL, 0x0005, 76 }, ++ { 0x00001f83, FC_CASE_FOLD_FULL, 0x0005, 81 }, ++ { 0x00001f84, FC_CASE_FOLD_FULL, 0x0005, 86 }, ++ { 0x00001f85, FC_CASE_FOLD_FULL, 0x0005, 91 }, ++ { 0x00001f86, FC_CASE_FOLD_FULL, 0x0005, 96 }, ++ { 0x00001f87, FC_CASE_FOLD_FULL, 0x0005, 101 }, ++ { 0x00001f88, FC_CASE_FOLD_FULL, 0x0005, 106 }, ++ { 0x00001f89, FC_CASE_FOLD_FULL, 0x0005, 111 }, ++ { 0x00001f8a, FC_CASE_FOLD_FULL, 0x0005, 116 }, ++ { 0x00001f8b, FC_CASE_FOLD_FULL, 0x0005, 121 }, ++ { 0x00001f8c, FC_CASE_FOLD_FULL, 0x0005, 126 }, ++ { 0x00001f8d, FC_CASE_FOLD_FULL, 0x0005, 131 }, ++ { 0x00001f8e, FC_CASE_FOLD_FULL, 0x0005, 136 }, ++ { 0x00001f8f, FC_CASE_FOLD_FULL, 0x0005, 141 }, ++ { 0x00001f90, FC_CASE_FOLD_FULL, 0x0005, 146 }, ++ { 0x00001f91, FC_CASE_FOLD_FULL, 0x0005, 151 }, ++ { 0x00001f92, FC_CASE_FOLD_FULL, 0x0005, 156 }, ++ { 0x00001f93, FC_CASE_FOLD_FULL, 0x0005, 161 }, ++ { 0x00001f94, FC_CASE_FOLD_FULL, 0x0005, 166 }, ++ { 0x00001f95, FC_CASE_FOLD_FULL, 0x0005, 171 }, ++ { 0x00001f96, FC_CASE_FOLD_FULL, 0x0005, 176 }, ++ { 0x00001f97, FC_CASE_FOLD_FULL, 0x0005, 181 }, ++ { 0x00001f98, FC_CASE_FOLD_FULL, 0x0005, 186 }, ++ { 0x00001f99, FC_CASE_FOLD_FULL, 0x0005, 191 }, ++ { 0x00001f9a, FC_CASE_FOLD_FULL, 0x0005, 196 }, ++ { 0x00001f9b, FC_CASE_FOLD_FULL, 0x0005, 201 }, ++ { 0x00001f9c, FC_CASE_FOLD_FULL, 0x0005, 206 }, ++ { 0x00001f9d, FC_CASE_FOLD_FULL, 0x0005, 211 }, ++ { 0x00001f9e, FC_CASE_FOLD_FULL, 0x0005, 216 }, ++ { 0x00001f9f, FC_CASE_FOLD_FULL, 0x0005, 221 }, ++ { 0x00001fa0, FC_CASE_FOLD_FULL, 0x0005, 226 }, ++ { 0x00001fa1, FC_CASE_FOLD_FULL, 0x0005, 231 }, ++ { 0x00001fa2, FC_CASE_FOLD_FULL, 0x0005, 236 }, ++ { 0x00001fa3, FC_CASE_FOLD_FULL, 0x0005, 241 }, ++ { 0x00001fa4, FC_CASE_FOLD_FULL, 0x0005, 246 }, ++ { 0x00001fa5, FC_CASE_FOLD_FULL, 0x0005, 251 }, ++ { 0x00001fa6, FC_CASE_FOLD_FULL, 0x0005, 256 }, ++ { 0x00001fa7, FC_CASE_FOLD_FULL, 0x0005, 261 }, ++ { 0x00001fa8, FC_CASE_FOLD_FULL, 0x0005, 266 }, ++ { 0x00001fa9, FC_CASE_FOLD_FULL, 0x0005, 271 }, ++ { 0x00001faa, FC_CASE_FOLD_FULL, 0x0005, 276 }, ++ { 0x00001fab, FC_CASE_FOLD_FULL, 0x0005, 281 }, ++ { 0x00001fac, FC_CASE_FOLD_FULL, 0x0005, 286 }, ++ { 0x00001fad, FC_CASE_FOLD_FULL, 0x0005, 291 }, ++ { 0x00001fae, FC_CASE_FOLD_FULL, 0x0005, 296 }, ++ { 0x00001faf, FC_CASE_FOLD_FULL, 0x0005, 301 }, ++ { 0x00001fb2, FC_CASE_FOLD_FULL, 0x0005, 306 }, ++ { 0x00001fb3, FC_CASE_FOLD_FULL, 0x0004, 311 }, ++ { 0x00001fb4, FC_CASE_FOLD_FULL, 0x0004, 315 }, ++ { 0x00001fb6, FC_CASE_FOLD_FULL, 0x0004, 319 }, ++ { 0x00001fb7, FC_CASE_FOLD_FULL, 0x0006, 323 }, ++ { 0x00001fb8, FC_CASE_FOLD_RANGE, 0x0002, -8 }, ++ { 0x00001fba, FC_CASE_FOLD_RANGE, 0x0002, -74 }, ++ { 0x00001fbc, FC_CASE_FOLD_FULL, 0x0004, 329 }, ++ { 0x00001fbe, FC_CASE_FOLD_RANGE, 0x0001, -7173 }, ++ { 0x00001fc2, FC_CASE_FOLD_FULL, 0x0005, 333 }, ++ { 0x00001fc3, FC_CASE_FOLD_FULL, 0x0004, 338 }, ++ { 0x00001fc4, FC_CASE_FOLD_FULL, 0x0004, 342 }, ++ { 0x00001fc6, FC_CASE_FOLD_FULL, 0x0004, 346 }, ++ { 0x00001fc7, FC_CASE_FOLD_FULL, 0x0006, 350 }, ++ { 0x00001fc8, FC_CASE_FOLD_RANGE, 0x0004, -86 }, ++ { 0x00001fcc, FC_CASE_FOLD_FULL, 0x0004, 356 }, ++ { 0x00001fd2, FC_CASE_FOLD_FULL, 0x0006, 360 }, ++ { 0x00001fd3, FC_CASE_FOLD_FULL, 0x0006, 366 }, ++ { 0x00001fd6, FC_CASE_FOLD_FULL, 0x0004, 372 }, ++ { 0x00001fd7, FC_CASE_FOLD_FULL, 0x0006, 376 }, ++ { 0x00001fd8, FC_CASE_FOLD_RANGE, 0x0002, -8 }, ++ { 0x00001fda, FC_CASE_FOLD_RANGE, 0x0002, -100 }, ++ { 0x00001fe2, FC_CASE_FOLD_FULL, 0x0006, 382 }, ++ { 0x00001fe3, FC_CASE_FOLD_FULL, 0x0006, 388 }, ++ { 0x00001fe4, FC_CASE_FOLD_FULL, 0x0004, 394 }, ++ { 0x00001fe6, FC_CASE_FOLD_FULL, 0x0004, 398 }, ++ { 0x00001fe7, FC_CASE_FOLD_FULL, 0x0006, 402 }, ++ { 0x00001fe8, FC_CASE_FOLD_RANGE, 0x0002, -8 }, ++ { 0x00001fea, FC_CASE_FOLD_RANGE, 0x0002, -112 }, ++ { 0x00001fec, FC_CASE_FOLD_RANGE, 0x0001, -7 }, ++ { 0x00001ff2, FC_CASE_FOLD_FULL, 0x0005, 408 }, ++ { 0x00001ff3, FC_CASE_FOLD_FULL, 0x0004, 413 }, ++ { 0x00001ff4, FC_CASE_FOLD_FULL, 0x0004, 417 }, ++ { 0x00001ff6, FC_CASE_FOLD_FULL, 0x0004, 421 }, ++ { 0x00001ff7, FC_CASE_FOLD_FULL, 0x0006, 425 }, ++ { 0x00001ff8, FC_CASE_FOLD_RANGE, 0x0002, -128 }, ++ { 0x00001ffa, FC_CASE_FOLD_RANGE, 0x0002, -126 }, ++ { 0x00001ffc, FC_CASE_FOLD_FULL, 0x0004, 431 }, ++ { 0x00002126, FC_CASE_FOLD_RANGE, 0x0001, -7517 }, ++ { 0x0000212a, FC_CASE_FOLD_RANGE, 0x0001, -8383 }, ++ { 0x0000212b, FC_CASE_FOLD_RANGE, 0x0001, -8262 }, ++ { 0x00002132, FC_CASE_FOLD_RANGE, 0x0001, 28 }, ++ { 0x00002160, FC_CASE_FOLD_RANGE, 0x0010, 16 }, ++ { 0x00002183, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 }, ++ { 0x000024b6, FC_CASE_FOLD_RANGE, 0x001a, 26 }, ++ { 0x00002c00, FC_CASE_FOLD_RANGE, 0x002f, 48 }, ++ { 0x00002c60, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 }, ++ { 0x00002c62, FC_CASE_FOLD_RANGE, 0x0001, -10743 }, ++ { 0x00002c63, FC_CASE_FOLD_RANGE, 0x0001, -3814 }, ++ { 0x00002c64, FC_CASE_FOLD_RANGE, 0x0001, -10727 }, ++ { 0x00002c67, FC_CASE_FOLD_EVEN_ODD, 0x0005, 1 }, ++ { 0x00002c6d, FC_CASE_FOLD_RANGE, 0x0001, -10780 }, ++ { 0x00002c6e, FC_CASE_FOLD_RANGE, 0x0001, -10749 }, ++ { 0x00002c6f, FC_CASE_FOLD_RANGE, 0x0001, -10783 }, ++ { 0x00002c70, FC_CASE_FOLD_RANGE, 0x0001, -10782 }, ++ { 0x00002c72, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 }, ++ { 0x00002c75, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 }, ++ { 0x00002c7e, FC_CASE_FOLD_RANGE, 0x0002, -10815 }, ++ { 0x00002c80, FC_CASE_FOLD_EVEN_ODD, 0x0063, 1 }, ++ { 0x00002ceb, FC_CASE_FOLD_EVEN_ODD, 0x0003, 1 }, ++ { 0x00002cf2, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 }, ++ { 0x0000a640, FC_CASE_FOLD_EVEN_ODD, 0x002d, 1 }, ++ { 0x0000a680, FC_CASE_FOLD_EVEN_ODD, 0x001b, 1 }, ++ { 0x0000a722, FC_CASE_FOLD_EVEN_ODD, 0x000d, 1 }, ++ { 0x0000a732, FC_CASE_FOLD_EVEN_ODD, 0x003d, 1 }, ++ { 0x0000a779, FC_CASE_FOLD_EVEN_ODD, 0x0003, 1 }, ++ { 0x0000a77d, FC_CASE_FOLD_RANGE, 0x0001, 30204 }, ++ { 0x0000a77e, FC_CASE_FOLD_EVEN_ODD, 0x0009, 1 }, ++ { 0x0000a78b, FC_CASE_FOLD_EVEN_ODD, 0x0001, 1 }, ++ { 0x0000a78d, FC_CASE_FOLD_RANGE, 0x0001, 23256 }, ++ { 0x0000a790, FC_CASE_FOLD_EVEN_ODD, 0x0003, 1 }, ++ { 0x0000a796, FC_CASE_FOLD_EVEN_ODD, 0x0013, 1 }, ++ { 0x0000a7aa, FC_CASE_FOLD_RANGE, 0x0001, 23228 }, ++ { 0x0000a7ab, FC_CASE_FOLD_RANGE, 0x0001, 23217 }, ++ { 0x0000a7ac, FC_CASE_FOLD_RANGE, 0x0001, 23221 }, ++ { 0x0000a7ad, FC_CASE_FOLD_RANGE, 0x0001, 23231 }, ++ { 0x0000a7ae, FC_CASE_FOLD_RANGE, 0x0001, 23228 }, ++ { 0x0000a7b0, FC_CASE_FOLD_RANGE, 0x0001, 23278 }, ++ { 0x0000a7b1, FC_CASE_FOLD_RANGE, 0x0001, 23254 }, ++ { 0x0000a7b2, FC_CASE_FOLD_RANGE, 0x0001, 23275 }, ++ { 0x0000a7b3, FC_CASE_FOLD_RANGE, 0x0001, 928 }, ++ { 0x0000a7b4, FC_CASE_FOLD_EVEN_ODD, 0x0003, 1 }, ++ { 0x0000ab70, FC_CASE_FOLD_RANGE, 0x0050, 26672 }, ++ { 0x0000fb00, FC_CASE_FOLD_FULL, 0x0002, 435 }, ++ { 0x0000fb01, FC_CASE_FOLD_FULL, 0x0002, 437 }, ++ { 0x0000fb02, FC_CASE_FOLD_FULL, 0x0002, 439 }, ++ { 0x0000fb03, FC_CASE_FOLD_FULL, 0x0003, 441 }, ++ { 0x0000fb04, FC_CASE_FOLD_FULL, 0x0003, 444 }, ++ { 0x0000fb05, FC_CASE_FOLD_FULL, 0x0002, 447 }, ++ { 0x0000fb06, FC_CASE_FOLD_FULL, 0x0002, 449 }, ++ { 0x0000fb13, FC_CASE_FOLD_FULL, 0x0004, 451 }, ++ { 0x0000fb14, FC_CASE_FOLD_FULL, 0x0004, 455 }, ++ { 0x0000fb15, FC_CASE_FOLD_FULL, 0x0004, 459 }, ++ { 0x0000fb16, FC_CASE_FOLD_FULL, 0x0004, 463 }, ++ { 0x0000fb17, FC_CASE_FOLD_FULL, 0x0004, 467 }, ++ { 0x0000ff21, FC_CASE_FOLD_RANGE, 0x001a, 32 }, ++ { 0x00010400, FC_CASE_FOLD_RANGE, 0x0028, 40 }, ++ { 0x000104b0, FC_CASE_FOLD_RANGE, 0x0024, 40 }, ++ { 0x00010c80, FC_CASE_FOLD_RANGE, 0x0033, 64 }, ++ { 0x000118a0, FC_CASE_FOLD_RANGE, 0x0020, 32 }, ++ { 0x0001e900, FC_CASE_FOLD_RANGE, 0x0022, 34 }, ++}; ++ ++static const FcChar8 fcCaseFoldChars[FC_NUM_CASE_FOLD_CHARS] = { ++0x73,0x73,0x69,0xcc,0x87,0xca,0xbc,0x6e,0x6a,0xcc,0x8c,0xce,0xb9,0xcc,0x88,0xcc, ++0x81,0xcf,0x85,0xcc,0x88,0xcc,0x81,0xd5,0xa5,0xd6,0x82,0x68,0xcc,0xb1,0x74,0xcc, ++0x88,0x77,0xcc,0x8a,0x79,0xcc,0x8a,0x61,0xca,0xbe,0x73,0x73,0xcf,0x85,0xcc,0x93, ++0xcf,0x85,0xcc,0x93,0xcc,0x80,0xcf,0x85,0xcc,0x93,0xcc,0x81,0xcf,0x85,0xcc,0x93, ++0xcd,0x82,0xe1,0xbc,0x80,0xce,0xb9,0xe1,0xbc,0x81,0xce,0xb9,0xe1,0xbc,0x82,0xce, ++0xb9,0xe1,0xbc,0x83,0xce,0xb9,0xe1,0xbc,0x84,0xce,0xb9,0xe1,0xbc,0x85,0xce,0xb9, ++0xe1,0xbc,0x86,0xce,0xb9,0xe1,0xbc,0x87,0xce,0xb9,0xe1,0xbc,0x80,0xce,0xb9,0xe1, ++0xbc,0x81,0xce,0xb9,0xe1,0xbc,0x82,0xce,0xb9,0xe1,0xbc,0x83,0xce,0xb9,0xe1,0xbc, ++0x84,0xce,0xb9,0xe1,0xbc,0x85,0xce,0xb9,0xe1,0xbc,0x86,0xce,0xb9,0xe1,0xbc,0x87, ++0xce,0xb9,0xe1,0xbc,0xa0,0xce,0xb9,0xe1,0xbc,0xa1,0xce,0xb9,0xe1,0xbc,0xa2,0xce, ++0xb9,0xe1,0xbc,0xa3,0xce,0xb9,0xe1,0xbc,0xa4,0xce,0xb9,0xe1,0xbc,0xa5,0xce,0xb9, ++0xe1,0xbc,0xa6,0xce,0xb9,0xe1,0xbc,0xa7,0xce,0xb9,0xe1,0xbc,0xa0,0xce,0xb9,0xe1, ++0xbc,0xa1,0xce,0xb9,0xe1,0xbc,0xa2,0xce,0xb9,0xe1,0xbc,0xa3,0xce,0xb9,0xe1,0xbc, ++0xa4,0xce,0xb9,0xe1,0xbc,0xa5,0xce,0xb9,0xe1,0xbc,0xa6,0xce,0xb9,0xe1,0xbc,0xa7, ++0xce,0xb9,0xe1,0xbd,0xa0,0xce,0xb9,0xe1,0xbd,0xa1,0xce,0xb9,0xe1,0xbd,0xa2,0xce, ++0xb9,0xe1,0xbd,0xa3,0xce,0xb9,0xe1,0xbd,0xa4,0xce,0xb9,0xe1,0xbd,0xa5,0xce,0xb9, ++0xe1,0xbd,0xa6,0xce,0xb9,0xe1,0xbd,0xa7,0xce,0xb9,0xe1,0xbd,0xa0,0xce,0xb9,0xe1, ++0xbd,0xa1,0xce,0xb9,0xe1,0xbd,0xa2,0xce,0xb9,0xe1,0xbd,0xa3,0xce,0xb9,0xe1,0xbd, ++0xa4,0xce,0xb9,0xe1,0xbd,0xa5,0xce,0xb9,0xe1,0xbd,0xa6,0xce,0xb9,0xe1,0xbd,0xa7, ++0xce,0xb9,0xe1,0xbd,0xb0,0xce,0xb9,0xce,0xb1,0xce,0xb9,0xce,0xac,0xce,0xb9,0xce, ++0xb1,0xcd,0x82,0xce,0xb1,0xcd,0x82,0xce,0xb9,0xce,0xb1,0xce,0xb9,0xe1,0xbd,0xb4, ++0xce,0xb9,0xce,0xb7,0xce,0xb9,0xce,0xae,0xce,0xb9,0xce,0xb7,0xcd,0x82,0xce,0xb7, ++0xcd,0x82,0xce,0xb9,0xce,0xb7,0xce,0xb9,0xce,0xb9,0xcc,0x88,0xcc,0x80,0xce,0xb9, ++0xcc,0x88,0xcc,0x81,0xce,0xb9,0xcd,0x82,0xce,0xb9,0xcc,0x88,0xcd,0x82,0xcf,0x85, ++0xcc,0x88,0xcc,0x80,0xcf,0x85,0xcc,0x88,0xcc,0x81,0xcf,0x81,0xcc,0x93,0xcf,0x85, ++0xcd,0x82,0xcf,0x85,0xcc,0x88,0xcd,0x82,0xe1,0xbd,0xbc,0xce,0xb9,0xcf,0x89,0xce, ++0xb9,0xcf,0x8e,0xce,0xb9,0xcf,0x89,0xcd,0x82,0xcf,0x89,0xcd,0x82,0xce,0xb9,0xcf, ++0x89,0xce,0xb9,0x66,0x66,0x66,0x69,0x66,0x6c,0x66,0x66,0x69,0x66,0x66,0x6c,0x73, ++0x74,0x73,0x74,0xd5,0xb4,0xd5,0xb6,0xd5,0xb4,0xd5,0xa5,0xd5,0xb4,0xd5,0xab,0xd5, ++0xbe,0xd5,0xb6,0xd5,0xb4,0xd5,0xad ++}; +diff --git a/fc-glyphname/fcglyphname.h b/fc-glyphname/fcglyphname.h +new file mode 100644 +index 0000000..f9e5343 +--- /dev/null ++++ b/fc-glyphname/fcglyphname.h +@@ -0,0 +1,781 @@ ++/* ++ * fontconfig/fc-glyphname/fcglyphname.tmpl.h ++ * ++ * Copyright © 2003 Keith Packard ++ * ++ * Permission to use, copy, modify, distribute, and sell this software and its ++ * documentation for any purpose is hereby granted without fee, provided that ++ * the above copyright notice appear in all copies and that both that ++ * copyright notice and this permission notice appear in supporting ++ * documentation, and that the name of the author(s) not be used in ++ * advertising or publicity pertaining to distribution of the software without ++ * specific, written prior permission. The authors make no ++ * representations about the suitability of this software for any purpose. It ++ * is provided "as is" without express or implied warranty. ++ * ++ * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, ++ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO ++ * EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR ++ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, ++ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER ++ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR ++ * PERFORMANCE OF THIS SOFTWARE. ++ */ ++ ++/* 201 glyphnames in 271 entries, 74% occupancy */ ++ ++#define FC_GLYPHNAME_HASH 271 ++#define FC_GLYPHNAME_REHASH 269 ++#define FC_GLYPHNAME_MAXLEN 4 ++ ++typedef int16_t FcGlyphId; ++ ++static const struct { const FcChar32 ucs; const FcChar8 name[5]; } _fc_glyph_names[201] = { ++ { 0x2701, "a1" }, ++ { 0x2721, "a10" }, ++ { 0x275e, "a100" }, ++ { 0x2761, "a101" }, ++ { 0x2762, "a102" }, ++ { 0x2763, "a103" }, ++ { 0x2764, "a104" }, ++ { 0x2710, "a105" }, ++ { 0x2765, "a106" }, ++ { 0x2766, "a107" }, ++ { 0x2767, "a108" }, ++ { 0x2660, "a109" }, ++ { 0x261b, "a11" }, ++ { 0x2665, "a110" }, ++ { 0x2666, "a111" }, ++ { 0x2663, "a112" }, ++ { 0x2709, "a117" }, ++ { 0x2708, "a118" }, ++ { 0x2707, "a119" }, ++ { 0x261e, "a12" }, ++ { 0x2460, "a120" }, ++ { 0x2461, "a121" }, ++ { 0x2462, "a122" }, ++ { 0x2463, "a123" }, ++ { 0x2464, "a124" }, ++ { 0x2465, "a125" }, ++ { 0x2466, "a126" }, ++ { 0x2467, "a127" }, ++ { 0x2468, "a128" }, ++ { 0x2469, "a129" }, ++ { 0x270c, "a13" }, ++ { 0x2776, "a130" }, ++ { 0x2777, "a131" }, ++ { 0x2778, "a132" }, ++ { 0x2779, "a133" }, ++ { 0x277a, "a134" }, ++ { 0x277b, "a135" }, ++ { 0x277c, "a136" }, ++ { 0x277d, "a137" }, ++ { 0x277e, "a138" }, ++ { 0x277f, "a139" }, ++ { 0x270d, "a14" }, ++ { 0x2780, "a140" }, ++ { 0x2781, "a141" }, ++ { 0x2782, "a142" }, ++ { 0x2783, "a143" }, ++ { 0x2784, "a144" }, ++ { 0x2785, "a145" }, ++ { 0x2786, "a146" }, ++ { 0x2787, "a147" }, ++ { 0x2788, "a148" }, ++ { 0x2789, "a149" }, ++ { 0x270e, "a15" }, ++ { 0x278a, "a150" }, ++ { 0x278b, "a151" }, ++ { 0x278c, "a152" }, ++ { 0x278d, "a153" }, ++ { 0x278e, "a154" }, ++ { 0x278f, "a155" }, ++ { 0x2790, "a156" }, ++ { 0x2791, "a157" }, ++ { 0x2792, "a158" }, ++ { 0x2793, "a159" }, ++ { 0x270f, "a16" }, ++ { 0x2794, "a160" }, ++ { 0x2192, "a161" }, ++ { 0x27a3, "a162" }, ++ { 0x2194, "a163" }, ++ { 0x2195, "a164" }, ++ { 0x2799, "a165" }, ++ { 0x279b, "a166" }, ++ { 0x279c, "a167" }, ++ { 0x279d, "a168" }, ++ { 0x279e, "a169" }, ++ { 0x2711, "a17" }, ++ { 0x279f, "a170" }, ++ { 0x27a0, "a171" }, ++ { 0x27a1, "a172" }, ++ { 0x27a2, "a173" }, ++ { 0x27a4, "a174" }, ++ { 0x27a5, "a175" }, ++ { 0x27a6, "a176" }, ++ { 0x27a7, "a177" }, ++ { 0x27a8, "a178" }, ++ { 0x27a9, "a179" }, ++ { 0x2712, "a18" }, ++ { 0x27ab, "a180" }, ++ { 0x27ad, "a181" }, ++ { 0x27af, "a182" }, ++ { 0x27b2, "a183" }, ++ { 0x27b3, "a184" }, ++ { 0x27b5, "a185" }, ++ { 0x27b8, "a186" }, ++ { 0x27ba, "a187" }, ++ { 0x27bb, "a188" }, ++ { 0x27bc, "a189" }, ++ { 0x2713, "a19" }, ++ { 0x27bd, "a190" }, ++ { 0x27be, "a191" }, ++ { 0x279a, "a192" }, ++ { 0x27aa, "a193" }, ++ { 0x27b6, "a194" }, ++ { 0x27b9, "a195" }, ++ { 0x2798, "a196" }, ++ { 0x27b4, "a197" }, ++ { 0x27b7, "a198" }, ++ { 0x27ac, "a199" }, ++ { 0x2702, "a2" }, ++ { 0x2714, "a20" }, ++ { 0x27ae, "a200" }, ++ { 0x27b1, "a201" }, ++ { 0x2703, "a202" }, ++ { 0x2750, "a203" }, ++ { 0x2752, "a204" }, ++ { 0x276e, "a205" }, ++ { 0x2770, "a206" }, ++ { 0x2715, "a21" }, ++ { 0x2716, "a22" }, ++ { 0x2717, "a23" }, ++ { 0x2718, "a24" }, ++ { 0x2719, "a25" }, ++ { 0x271a, "a26" }, ++ { 0x271b, "a27" }, ++ { 0x271c, "a28" }, ++ { 0x2722, "a29" }, ++ { 0x2704, "a3" }, ++ { 0x2723, "a30" }, ++ { 0x2724, "a31" }, ++ { 0x2725, "a32" }, ++ { 0x2726, "a33" }, ++ { 0x2727, "a34" }, ++ { 0x2605, "a35" }, ++ { 0x2729, "a36" }, ++ { 0x272a, "a37" }, ++ { 0x272b, "a38" }, ++ { 0x272c, "a39" }, ++ { 0x260e, "a4" }, ++ { 0x272d, "a40" }, ++ { 0x272e, "a41" }, ++ { 0x272f, "a42" }, ++ { 0x2730, "a43" }, ++ { 0x2731, "a44" }, ++ { 0x2732, "a45" }, ++ { 0x2733, "a46" }, ++ { 0x2734, "a47" }, ++ { 0x2735, "a48" }, ++ { 0x2736, "a49" }, ++ { 0x2706, "a5" }, ++ { 0x2737, "a50" }, ++ { 0x2738, "a51" }, ++ { 0x2739, "a52" }, ++ { 0x273a, "a53" }, ++ { 0x273b, "a54" }, ++ { 0x273c, "a55" }, ++ { 0x273d, "a56" }, ++ { 0x273e, "a57" }, ++ { 0x273f, "a58" }, ++ { 0x2740, "a59" }, ++ { 0x271d, "a6" }, ++ { 0x2741, "a60" }, ++ { 0x2742, "a61" }, ++ { 0x2743, "a62" }, ++ { 0x2744, "a63" }, ++ { 0x2745, "a64" }, ++ { 0x2746, "a65" }, ++ { 0x2747, "a66" }, ++ { 0x2748, "a67" }, ++ { 0x2749, "a68" }, ++ { 0x274a, "a69" }, ++ { 0x271e, "a7" }, ++ { 0x274b, "a70" }, ++ { 0x25cf, "a71" }, ++ { 0x274d, "a72" }, ++ { 0x25a0, "a73" }, ++ { 0x274f, "a74" }, ++ { 0x2751, "a75" }, ++ { 0x25b2, "a76" }, ++ { 0x25bc, "a77" }, ++ { 0x25c6, "a78" }, ++ { 0x2756, "a79" }, ++ { 0x271f, "a8" }, ++ { 0x25d7, "a81" }, ++ { 0x2758, "a82" }, ++ { 0x2759, "a83" }, ++ { 0x275a, "a84" }, ++ { 0x276f, "a85" }, ++ { 0x2771, "a86" }, ++ { 0x2772, "a87" }, ++ { 0x2773, "a88" }, ++ { 0x2768, "a89" }, ++ { 0x2720, "a9" }, ++ { 0x2769, "a90" }, ++ { 0x276c, "a91" }, ++ { 0x276d, "a92" }, ++ { 0x276a, "a93" }, ++ { 0x276b, "a94" }, ++ { 0x2774, "a95" }, ++ { 0x2775, "a96" }, ++ { 0x275b, "a97" }, ++ { 0x275c, "a98" }, ++ { 0x275d, "a99" }, ++}; ++static const FcGlyphId _fc_name_to_ucs[271] = { ++ 123, ++ 81, ++ 198, ++ 154, ++ 142, ++ 186, ++ 82, ++ -1, ++ 143, ++ 172, ++ 181, ++ 79, ++ 153, ++ 191, ++ -1, ++ -1, ++ 80, ++ 195, ++ 179, ++ 170, ++ 151, ++ 129, ++ 101, ++ 194, ++ 85, ++ 102, ++ 73, ++ 171, ++ 99, ++ -1, ++ -1, ++ 100, ++ 196, ++ -1, ++ 189, ++ 163, ++ 110, ++ 199, ++ -1, ++ -1, ++ 59, ++ 50, ++ -1, ++ 60, ++ 75, ++ -1, ++ 51, ++ -1, ++ -1, ++ 58, ++ -1, ++ 61, ++ 55, ++ -1, ++ 192, ++ 56, ++ 62, ++ -1, ++ 53, ++ 166, ++ 113, ++ 54, ++ -1, ++ 157, ++ 33, ++ 188, ++ 177, ++ 21, ++ -1, ++ -1, ++ 31, ++ -1, ++ -1, ++ 32, ++ -1, ++ -1, ++ 24, ++ 160, ++ -1, ++ 38, ++ -1, ++ -1, ++ 26, ++ -1, ++ 161, ++ 27, ++ 197, ++ 94, ++ 95, ++ 105, ++ 106, ++ 90, ++ 91, ++ 92, ++ 93, ++ 86, ++ 87, ++ 88, ++ 89, ++ 28, ++ 29, ++ 39, ++ 40, ++ 10, ++ 11, ++ 17, ++ 18, ++ 6, ++ 7, ++ 8, ++ 9, ++ 2, ++ 3, ++ 4, ++ 5, ++ -1, ++ -1, ++ 114, ++ 108, ++ 146, ++ 74, ++ -1, ++ 117, ++ 115, ++ 118, ++ 156, ++ 119, ++ -1, ++ 120, ++ -1, ++ 121, ++ 131, ++ 122, ++ -1, ++ 109, ++ -1, ++ 124, ++ 141, ++ 134, ++ 174, ++ 144, ++ -1, ++ 137, ++ 155, ++ 138, ++ -1, ++ 64, ++ -1, ++ 140, ++ 152, ++ 65, ++ -1, ++ 111, ++ -1, ++ 57, ++ 162, ++ -1, ++ -1, ++ 67, ++ -1, ++ -1, ++ 150, ++ 68, ++ -1, ++ 167, ++ -1, ++ 69, ++ 164, ++ -1, ++ 116, ++ 70, ++ -1, ++ -1, ++ 148, ++ 71, ++ -1, ++ -1, ++ 184, ++ 72, ++ 149, ++ 176, ++ 193, ++ 34, ++ 182, ++ 145, ++ -1, ++ 83, ++ 187, ++ -1, ++ 103, ++ 84, ++ 104, ++ 200, ++ 63, ++ 37, ++ 41, ++ 52, ++ 19, ++ 30, ++ 1, ++ 12, ++ 97, ++ 35, ++ 98, ++ 135, ++ 46, ++ 36, ++ 47, ++ 96, ++ 48, ++ 159, ++ 49, ++ -1, ++ 42, ++ 112, ++ 43, ++ 173, ++ 44, ++ 168, ++ 45, ++ -1, ++ 20, ++ 183, ++ 16, ++ 147, ++ 22, ++ 178, ++ 23, ++ -1, ++ 15, ++ -1, ++ 25, ++ 190, ++ 13, ++ 139, ++ 14, ++ -1, ++ -1, ++ -1, ++ 128, ++ 107, ++ 125, ++ -1, ++ 0, ++ 158, ++ 169, ++ 136, ++ 126, ++ -1, ++ -1, ++ 180, ++ 127, ++ 77, ++ -1, ++ -1, ++ 132, ++ -1, ++ 78, ++ -1, ++ 133, ++ -1, ++ 165, ++ 66, ++ 130, ++ -1, ++ -1, ++ -1, ++ 76, ++ -1, ++ 185, ++ 175, ++}; ++static const FcGlyphId _fc_ucs_to_name[271] = { ++ 56, ++ 135, ++ 19, ++ 138, ++ 58, ++ 140, ++ 59, ++ 142, ++ 60, ++ 144, ++ 61, ++ 146, ++ 62, ++ 149, ++ 64, ++ 151, ++ 152, ++ 153, ++ 154, ++ 155, ++ 156, ++ 157, ++ 159, ++ 160, ++ 161, ++ 162, ++ 163, ++ 131, ++ 165, ++ 166, ++ 167, ++ 168, ++ 170, ++ -1, ++ 172, ++ -1, ++ 174, ++ 112, ++ 175, ++ 113, ++ -1, ++ 173, ++ -1, ++ 179, ++ -1, ++ 182, ++ 183, ++ 158, ++ 198, ++ 199, ++ 200, ++ 2, ++ -1, ++ -1, ++ 3, ++ 4, ++ 5, ++ 6, ++ 8, ++ 9, ++ 10, ++ 189, ++ 164, ++ 194, ++ 195, ++ 192, ++ 193, ++ 114, ++ 11, ++ 115, ++ 186, ++ 15, ++ 188, ++ 13, ++ 14, ++ 31, ++ 32, ++ 33, ++ 34, ++ 35, ++ 36, ++ 37, ++ 38, ++ 39, ++ 40, ++ 42, ++ 43, ++ 44, ++ 45, ++ 46, ++ 47, ++ 48, ++ 49, ++ 50, ++ 51, ++ 53, ++ 54, ++ 55, ++ 20, ++ 21, ++ 22, ++ 23, ++ 24, ++ 25, ++ 26, ++ 27, ++ 28, ++ 29, ++ -1, ++ 103, ++ 69, ++ 99, ++ 70, ++ 71, ++ 72, ++ 73, ++ 75, ++ 76, ++ 77, ++ 78, ++ 66, ++ 79, ++ 80, ++ 81, ++ 82, ++ 83, ++ 84, ++ 100, ++ 86, ++ 106, ++ 87, ++ 109, ++ 88, ++ -1, ++ 110, ++ 89, ++ 90, ++ 104, ++ 91, ++ 101, ++ 105, ++ 92, ++ 102, ++ 93, ++ 94, ++ 95, ++ 97, ++ 98, ++ 196, ++ -1, ++ 134, ++ -1, ++ -1, ++ -1, ++ -1, ++ -1, ++ 137, ++ -1, ++ -1, ++ -1, ++ -1, ++ -1, ++ 139, ++ -1, ++ -1, ++ 176, ++ -1, ++ -1, ++ 141, ++ 184, ++ -1, ++ -1, ++ -1, ++ -1, ++ 143, ++ 177, ++ 57, ++ -1, ++ -1, ++ -1, ++ 145, ++ -1, ++ -1, ++ -1, ++ -1, ++ 178, ++ 148, ++ -1, ++ -1, ++ -1, ++ -1, ++ -1, ++ 150, ++ 65, ++ 171, ++ 67, ++ 68, ++ -1, ++ -1, ++ 191, ++ -1, ++ -1, ++ 181, ++ -1, ++ -1, ++ -1, ++ -1, ++ -1, ++ -1, ++ -1, ++ -1, ++ 185, ++ -1, ++ -1, ++ -1, ++ -1, ++ -1, ++ 187, ++ -1, ++ -1, ++ -1, ++ 133, ++ -1, ++ 197, ++ -1, ++ -1, ++ -1, ++ -1, ++ -1, ++ 0, ++ 107, ++ 111, ++ 125, ++ -1, ++ 147, ++ 18, ++ 17, ++ 16, ++ -1, ++ -1, ++ 30, ++ 41, ++ 52, ++ 63, ++ 7, ++ 74, ++ 85, ++ 96, ++ 108, ++ 116, ++ 117, ++ 118, ++ 119, ++ 120, ++ 121, ++ 122, ++ 123, ++ 136, ++ 169, ++ 180, ++ 190, ++ 1, ++ 124, ++ 126, ++ 127, ++ 128, ++ 129, ++ 130, ++ -1, ++ 132, ++ 12, ++}; +diff --git a/fc-lang/fclang.h b/fc-lang/fclang.h +new file mode 100644 +index 0000000..9a49913 +--- /dev/null ++++ b/fc-lang/fclang.h +@@ -0,0 +1,4549 @@ ++/* ++ * fontconfig/fc-lang/fclang.tmpl.h ++ * ++ * Copyright © 2002 Keith Packard ++ * ++ * Permission to use, copy, modify, distribute, and sell this software and its ++ * documentation for any purpose is hereby granted without fee, provided that ++ * the above copyright notice appear in all copies and that both that ++ * copyright notice and this permission notice appear in supporting ++ * documentation, and that the name of the author(s) not be used in ++ * advertising or publicity pertaining to distribution of the software without ++ * specific, written prior permission. The authors make no ++ * representations about the suitability of this software for any purpose. It ++ * is provided "as is" without express or implied warranty. ++ * ++ * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, ++ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO ++ * EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR ++ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, ++ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER ++ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR ++ * PERFORMANCE OF THIS SOFTWARE. ++ */ ++ ++/* total size: 1087 unique leaves: 702 */ ++ ++#define LEAF0 (244 * sizeof (FcLangCharSet)) ++#define OFF0 (LEAF0 + 702 * sizeof (FcCharLeaf)) ++#define NUM0 (OFF0 + 755 * sizeof (uintptr_t)) ++#define SET(n) (n * sizeof (FcLangCharSet) + offsetof (FcLangCharSet, charset)) ++#define OFF(s,o) (OFF0 + o * sizeof (uintptr_t) - SET(s)) ++#define NUM(s,n) (NUM0 + n * sizeof (FcChar16) - SET(s)) ++#define LEAF(o,l) (LEAF0 + l * sizeof (FcCharLeaf) - (OFF0 + o * sizeof (intptr_t))) ++#define fcLangCharSets (fcLangData.langCharSets) ++#define fcLangCharSetIndices (fcLangData.langIndices) ++#define fcLangCharSetIndicesInv (fcLangData.langIndicesInv) ++ ++static const struct { ++ FcLangCharSet langCharSets[244]; ++ FcCharLeaf leaves[702]; ++ uintptr_t leaf_offsets[755]; ++ FcChar16 numbers[755]; ++ FcChar8 langIndices[244]; ++ FcChar8 langIndicesInv[244]; ++} fcLangData = { ++{ ++ { "aa", { FC_REF_CONSTANT, 1, OFF(0,0), NUM(0,0) } }, /* 0 */ ++ { "ab", { FC_REF_CONSTANT, 1, OFF(1,1), NUM(1,1) } }, /* 1 */ ++ { "af", { FC_REF_CONSTANT, 2, OFF(2,2), NUM(2,2) } }, /* 2 */ ++ { "ak", { FC_REF_CONSTANT, 5, OFF(3,4), NUM(3,4) } }, /* 3 */ ++ { "am", { FC_REF_CONSTANT, 2, OFF(4,9), NUM(4,9) } }, /* 4 */ ++ { "an", { FC_REF_CONSTANT, 1, OFF(5,11), NUM(5,11) } }, /* 5 */ ++ { "ar", { FC_REF_CONSTANT, 1, OFF(6,12), NUM(6,12) } }, /* 6 */ ++ { "as", { FC_REF_CONSTANT, 1, OFF(7,13), NUM(7,13) } }, /* 7 */ ++ { "ast", { FC_REF_CONSTANT, 2, OFF(8,14), NUM(8,14) } }, /* 8 */ ++ { "av", { FC_REF_CONSTANT, 1, OFF(9,16), NUM(9,16) } }, /* 9 */ ++ { "ay", { FC_REF_CONSTANT, 1, OFF(10,17), NUM(10,17) } }, /* 10 */ ++ { "az-az", { FC_REF_CONSTANT, 3, OFF(11,18), NUM(11,18) } }, /* 11 */ ++ { "az-ir", { FC_REF_CONSTANT, 1, OFF(12,21), NUM(12,21) } }, /* 12 */ ++ { "ba", { FC_REF_CONSTANT, 1, OFF(13,22), NUM(13,22) } }, /* 13 */ ++ { "be", { FC_REF_CONSTANT, 1, OFF(14,23), NUM(14,23) } }, /* 14 */ ++ { "ber-dz", { FC_REF_CONSTANT, 4, OFF(15,24), NUM(15,24) } }, /* 15 */ ++ { "ber-ma", { FC_REF_CONSTANT, 1, OFF(16,28), NUM(16,28) } }, /* 16 */ ++ { "bg", { FC_REF_CONSTANT, 1, OFF(17,29), NUM(17,29) } }, /* 17 */ ++ { "bh", { FC_REF_CONSTANT, 1, OFF(18,30), NUM(18,30) } }, /* 18 */ ++ { "bho", { FC_REF_CONSTANT, 1, OFF(19,30), NUM(19,30) } }, /* 19 */ ++ { "bi", { FC_REF_CONSTANT, 1, OFF(20,31), NUM(20,31) } }, /* 20 */ ++ { "bin", { FC_REF_CONSTANT, 3, OFF(21,32), NUM(21,32) } }, /* 21 */ ++ { "bm", { FC_REF_CONSTANT, 3, OFF(22,35), NUM(22,35) } }, /* 22 */ ++ { "bn", { FC_REF_CONSTANT, 1, OFF(23,38), NUM(23,38) } }, /* 23 */ ++ { "bo", { FC_REF_CONSTANT, 1, OFF(24,39), NUM(24,39) } }, /* 24 */ ++ { "br", { FC_REF_CONSTANT, 1, OFF(25,40), NUM(25,40) } }, /* 25 */ ++ { "brx", { FC_REF_CONSTANT, 1, OFF(26,41), NUM(26,41) } }, /* 26 */ ++ { "bs", { FC_REF_CONSTANT, 2, OFF(27,42), NUM(27,42) } }, /* 27 */ ++ { "bua", { FC_REF_CONSTANT, 1, OFF(28,44), NUM(28,44) } }, /* 28 */ ++ { "byn", { FC_REF_CONSTANT, 2, OFF(29,45), NUM(29,45) } }, /* 29 */ ++ { "ca", { FC_REF_CONSTANT, 2, OFF(30,47), NUM(30,47) } }, /* 30 */ ++ { "ce", { FC_REF_CONSTANT, 1, OFF(31,16), NUM(31,16) } }, /* 31 */ ++ { "ch", { FC_REF_CONSTANT, 1, OFF(32,49), NUM(32,49) } }, /* 32 */ ++ { "chm", { FC_REF_CONSTANT, 1, OFF(33,50), NUM(33,50) } }, /* 33 */ ++ { "chr", { FC_REF_CONSTANT, 1, OFF(34,51), NUM(34,51) } }, /* 34 */ ++ { "co", { FC_REF_CONSTANT, 2, OFF(35,52), NUM(35,52) } }, /* 35 */ ++ { "crh", { FC_REF_CONSTANT, 2, OFF(36,54), NUM(36,54) } }, /* 36 */ ++ { "cs", { FC_REF_CONSTANT, 2, OFF(37,56), NUM(37,56) } }, /* 37 */ ++ { "csb", { FC_REF_CONSTANT, 2, OFF(38,58), NUM(38,58) } }, /* 38 */ ++ { "cu", { FC_REF_CONSTANT, 1, OFF(39,60), NUM(39,60) } }, /* 39 */ ++ { "cv", { FC_REF_CONSTANT, 2, OFF(40,61), NUM(40,61) } }, /* 40 */ ++ { "cy", { FC_REF_CONSTANT, 3, OFF(41,63), NUM(41,63) } }, /* 41 */ ++ { "da", { FC_REF_CONSTANT, 1, OFF(42,66), NUM(42,66) } }, /* 42 */ ++ { "de", { FC_REF_CONSTANT, 1, OFF(43,67), NUM(43,67) } }, /* 43 */ ++ { "doi", { FC_REF_CONSTANT, 1, OFF(44,68), NUM(44,68) } }, /* 44 */ ++ { "dv", { FC_REF_CONSTANT, 1, OFF(45,69), NUM(45,69) } }, /* 45 */ ++ { "dz", { FC_REF_CONSTANT, 1, OFF(46,39), NUM(46,39) } }, /* 46 */ ++ { "ee", { FC_REF_CONSTANT, 4, OFF(47,70), NUM(47,70) } }, /* 47 */ ++ { "el", { FC_REF_CONSTANT, 1, OFF(48,74), NUM(48,74) } }, /* 48 */ ++ { "en", { FC_REF_CONSTANT, 1, OFF(49,75), NUM(49,75) } }, /* 49 */ ++ { "eo", { FC_REF_CONSTANT, 2, OFF(50,76), NUM(50,76) } }, /* 50 */ ++ { "es", { FC_REF_CONSTANT, 1, OFF(51,11), NUM(51,11) } }, /* 51 */ ++ { "et", { FC_REF_CONSTANT, 2, OFF(52,78), NUM(52,78) } }, /* 52 */ ++ { "eu", { FC_REF_CONSTANT, 1, OFF(53,80), NUM(53,80) } }, /* 53 */ ++ { "fa", { FC_REF_CONSTANT, 1, OFF(54,21), NUM(54,21) } }, /* 54 */ ++ { "fat", { FC_REF_CONSTANT, 5, OFF(55,4), NUM(55,4) } }, /* 55 */ ++ { "ff", { FC_REF_CONSTANT, 3, OFF(56,81), NUM(56,81) } }, /* 56 */ ++ { "fi", { FC_REF_CONSTANT, 2, OFF(57,84), NUM(57,84) } }, /* 57 */ ++ { "fil", { FC_REF_CONSTANT, 1, OFF(58,86), NUM(58,86) } }, /* 58 */ ++ { "fj", { FC_REF_CONSTANT, 1, OFF(59,87), NUM(59,87) } }, /* 59 */ ++ { "fo", { FC_REF_CONSTANT, 1, OFF(60,88), NUM(60,88) } }, /* 60 */ ++ { "fr", { FC_REF_CONSTANT, 2, OFF(61,52), NUM(61,52) } }, /* 61 */ ++ { "fur", { FC_REF_CONSTANT, 1, OFF(62,89), NUM(62,89) } }, /* 62 */ ++ { "fy", { FC_REF_CONSTANT, 1, OFF(63,90), NUM(63,90) } }, /* 63 */ ++ { "ga", { FC_REF_CONSTANT, 3, OFF(64,91), NUM(64,91) } }, /* 64 */ ++ { "gd", { FC_REF_CONSTANT, 1, OFF(65,94), NUM(65,94) } }, /* 65 */ ++ { "gez", { FC_REF_CONSTANT, 2, OFF(66,95), NUM(66,95) } }, /* 66 */ ++ { "gl", { FC_REF_CONSTANT, 1, OFF(67,11), NUM(67,11) } }, /* 67 */ ++ { "gn", { FC_REF_CONSTANT, 3, OFF(68,97), NUM(68,97) } }, /* 68 */ ++ { "gu", { FC_REF_CONSTANT, 1, OFF(69,100), NUM(69,100) } }, /* 69 */ ++ { "gv", { FC_REF_CONSTANT, 1, OFF(70,101), NUM(70,101) } }, /* 70 */ ++ { "ha", { FC_REF_CONSTANT, 3, OFF(71,102), NUM(71,102) } }, /* 71 */ ++ { "haw", { FC_REF_CONSTANT, 3, OFF(72,105), NUM(72,105) } }, /* 72 */ ++ { "he", { FC_REF_CONSTANT, 1, OFF(73,108), NUM(73,108) } }, /* 73 */ ++ { "hi", { FC_REF_CONSTANT, 1, OFF(74,30), NUM(74,30) } }, /* 74 */ ++ { "hne", { FC_REF_CONSTANT, 1, OFF(75,30), NUM(75,30) } }, /* 75 */ ++ { "ho", { FC_REF_CONSTANT, 1, OFF(76,87), NUM(76,87) } }, /* 76 */ ++ { "hr", { FC_REF_CONSTANT, 2, OFF(77,42), NUM(77,42) } }, /* 77 */ ++ { "hsb", { FC_REF_CONSTANT, 2, OFF(78,109), NUM(78,109) } }, /* 78 */ ++ { "ht", { FC_REF_CONSTANT, 1, OFF(79,111), NUM(79,111) } }, /* 79 */ ++ { "hu", { FC_REF_CONSTANT, 2, OFF(80,112), NUM(80,112) } }, /* 80 */ ++ { "hy", { FC_REF_CONSTANT, 1, OFF(81,114), NUM(81,114) } }, /* 81 */ ++ { "hz", { FC_REF_CONSTANT, 3, OFF(82,115), NUM(82,115) } }, /* 82 */ ++ { "ia", { FC_REF_CONSTANT, 1, OFF(83,87), NUM(83,87) } }, /* 83 */ ++ { "id", { FC_REF_CONSTANT, 1, OFF(84,118), NUM(84,118) } }, /* 84 */ ++ { "ie", { FC_REF_CONSTANT, 1, OFF(85,87), NUM(85,87) } }, /* 85 */ ++ { "ig", { FC_REF_CONSTANT, 2, OFF(86,119), NUM(86,119) } }, /* 86 */ ++ { "ii", { FC_REF_CONSTANT, 5, OFF(87,121), NUM(87,121) } }, /* 87 */ ++ { "ik", { FC_REF_CONSTANT, 1, OFF(88,126), NUM(88,126) } }, /* 88 */ ++ { "io", { FC_REF_CONSTANT, 1, OFF(89,87), NUM(89,87) } }, /* 89 */ ++ { "is", { FC_REF_CONSTANT, 1, OFF(90,127), NUM(90,127) } }, /* 90 */ ++ { "it", { FC_REF_CONSTANT, 1, OFF(91,128), NUM(91,128) } }, /* 91 */ ++ { "iu", { FC_REF_CONSTANT, 3, OFF(92,129), NUM(92,129) } }, /* 92 */ ++ { "ja", { FC_REF_CONSTANT, 83, OFF(93,132), NUM(93,132) } }, /* 93 */ ++ { "jv", { FC_REF_CONSTANT, 1, OFF(94,215), NUM(94,215) } }, /* 94 */ ++ { "ka", { FC_REF_CONSTANT, 1, OFF(95,216), NUM(95,216) } }, /* 95 */ ++ { "kaa", { FC_REF_CONSTANT, 1, OFF(96,217), NUM(96,217) } }, /* 96 */ ++ { "kab", { FC_REF_CONSTANT, 4, OFF(97,24), NUM(97,24) } }, /* 97 */ ++ { "ki", { FC_REF_CONSTANT, 2, OFF(98,218), NUM(98,218) } }, /* 98 */ ++ { "kj", { FC_REF_CONSTANT, 1, OFF(99,87), NUM(99,87) } }, /* 99 */ ++ { "kk", { FC_REF_CONSTANT, 1, OFF(100,220), NUM(100,220) } }, /* 100 */ ++ { "kl", { FC_REF_CONSTANT, 2, OFF(101,221), NUM(101,221) } }, /* 101 */ ++ { "km", { FC_REF_CONSTANT, 1, OFF(102,223), NUM(102,223) } }, /* 102 */ ++ { "kn", { FC_REF_CONSTANT, 1, OFF(103,224), NUM(103,224) } }, /* 103 */ ++ { "ko", { FC_REF_CONSTANT, 45, OFF(104,225), NUM(104,225) } }, /* 104 */ ++ { "kok", { FC_REF_CONSTANT, 1, OFF(105,30), NUM(105,30) } }, /* 105 */ ++ { "kr", { FC_REF_CONSTANT, 3, OFF(106,270), NUM(106,270) } }, /* 106 */ ++ { "ks", { FC_REF_CONSTANT, 1, OFF(107,273), NUM(107,273) } }, /* 107 */ ++ { "ku-am", { FC_REF_CONSTANT, 2, OFF(108,274), NUM(108,274) } }, /* 108 */ ++ { "ku-iq", { FC_REF_CONSTANT, 1, OFF(109,276), NUM(109,276) } }, /* 109 */ ++ { "ku-ir", { FC_REF_CONSTANT, 1, OFF(110,276), NUM(110,276) } }, /* 110 */ ++ { "ku-tr", { FC_REF_CONSTANT, 2, OFF(111,277), NUM(111,277) } }, /* 111 */ ++ { "kum", { FC_REF_CONSTANT, 1, OFF(112,279), NUM(112,279) } }, /* 112 */ ++ { "kv", { FC_REF_CONSTANT, 1, OFF(113,280), NUM(113,280) } }, /* 113 */ ++ { "kw", { FC_REF_CONSTANT, 3, OFF(114,281), NUM(114,281) } }, /* 114 */ ++ { "kwm", { FC_REF_CONSTANT, 1, OFF(115,87), NUM(115,87) } }, /* 115 */ ++ { "ky", { FC_REF_CONSTANT, 1, OFF(116,284), NUM(116,284) } }, /* 116 */ ++ { "la", { FC_REF_CONSTANT, 2, OFF(117,285), NUM(117,285) } }, /* 117 */ ++ { "lah", { FC_REF_CONSTANT, 1, OFF(118,287), NUM(118,287) } }, /* 118 */ ++ { "lb", { FC_REF_CONSTANT, 1, OFF(119,288), NUM(119,288) } }, /* 119 */ ++ { "lez", { FC_REF_CONSTANT, 1, OFF(120,16), NUM(120,16) } }, /* 120 */ ++ { "lg", { FC_REF_CONSTANT, 2, OFF(121,289), NUM(121,289) } }, /* 121 */ ++ { "li", { FC_REF_CONSTANT, 1, OFF(122,291), NUM(122,291) } }, /* 122 */ ++ { "ln", { FC_REF_CONSTANT, 4, OFF(123,292), NUM(123,292) } }, /* 123 */ ++ { "lo", { FC_REF_CONSTANT, 1, OFF(124,296), NUM(124,296) } }, /* 124 */ ++ { "lt", { FC_REF_CONSTANT, 2, OFF(125,297), NUM(125,297) } }, /* 125 */ ++ { "lv", { FC_REF_CONSTANT, 2, OFF(126,299), NUM(126,299) } }, /* 126 */ ++ { "mai", { FC_REF_CONSTANT, 1, OFF(127,30), NUM(127,30) } }, /* 127 */ ++ { "mg", { FC_REF_CONSTANT, 1, OFF(128,301), NUM(128,301) } }, /* 128 */ ++ { "mh", { FC_REF_CONSTANT, 2, OFF(129,302), NUM(129,302) } }, /* 129 */ ++ { "mi", { FC_REF_CONSTANT, 3, OFF(130,304), NUM(130,304) } }, /* 130 */ ++ { "mk", { FC_REF_CONSTANT, 1, OFF(131,307), NUM(131,307) } }, /* 131 */ ++ { "ml", { FC_REF_CONSTANT, 1, OFF(132,308), NUM(132,308) } }, /* 132 */ ++ { "mn-cn", { FC_REF_CONSTANT, 1, OFF(133,309), NUM(133,309) } }, /* 133 */ ++ { "mn-mn", { FC_REF_CONSTANT, 1, OFF(134,310), NUM(134,310) } }, /* 134 */ ++ { "mni", { FC_REF_CONSTANT, 1, OFF(135,311), NUM(135,311) } }, /* 135 */ ++ { "mo", { FC_REF_CONSTANT, 4, OFF(136,312), NUM(136,312) } }, /* 136 */ ++ { "mr", { FC_REF_CONSTANT, 1, OFF(137,30), NUM(137,30) } }, /* 137 */ ++ { "ms", { FC_REF_CONSTANT, 1, OFF(138,87), NUM(138,87) } }, /* 138 */ ++ { "mt", { FC_REF_CONSTANT, 2, OFF(139,316), NUM(139,316) } }, /* 139 */ ++ { "my", { FC_REF_CONSTANT, 1, OFF(140,318), NUM(140,318) } }, /* 140 */ ++ { "na", { FC_REF_CONSTANT, 2, OFF(141,319), NUM(141,319) } }, /* 141 */ ++ { "nb", { FC_REF_CONSTANT, 1, OFF(142,321), NUM(142,321) } }, /* 142 */ ++ { "nds", { FC_REF_CONSTANT, 1, OFF(143,67), NUM(143,67) } }, /* 143 */ ++ { "ne", { FC_REF_CONSTANT, 1, OFF(144,322), NUM(144,322) } }, /* 144 */ ++ { "ng", { FC_REF_CONSTANT, 1, OFF(145,87), NUM(145,87) } }, /* 145 */ ++ { "nl", { FC_REF_CONSTANT, 1, OFF(146,323), NUM(146,323) } }, /* 146 */ ++ { "nn", { FC_REF_CONSTANT, 1, OFF(147,324), NUM(147,324) } }, /* 147 */ ++ { "no", { FC_REF_CONSTANT, 1, OFF(148,321), NUM(148,321) } }, /* 148 */ ++ { "nqo", { FC_REF_CONSTANT, 1, OFF(149,325), NUM(149,325) } }, /* 149 */ ++ { "nr", { FC_REF_CONSTANT, 1, OFF(150,87), NUM(150,87) } }, /* 150 */ ++ { "nso", { FC_REF_CONSTANT, 2, OFF(151,326), NUM(151,326) } }, /* 151 */ ++ { "nv", { FC_REF_CONSTANT, 4, OFF(152,328), NUM(152,328) } }, /* 152 */ ++ { "ny", { FC_REF_CONSTANT, 2, OFF(153,332), NUM(153,332) } }, /* 153 */ ++ { "oc", { FC_REF_CONSTANT, 1, OFF(154,334), NUM(154,334) } }, /* 154 */ ++ { "om", { FC_REF_CONSTANT, 1, OFF(155,87), NUM(155,87) } }, /* 155 */ ++ { "or", { FC_REF_CONSTANT, 1, OFF(156,335), NUM(156,335) } }, /* 156 */ ++ { "os", { FC_REF_CONSTANT, 1, OFF(157,279), NUM(157,279) } }, /* 157 */ ++ { "ota", { FC_REF_CONSTANT, 1, OFF(158,336), NUM(158,336) } }, /* 158 */ ++ { "pa", { FC_REF_CONSTANT, 1, OFF(159,337), NUM(159,337) } }, /* 159 */ ++ { "pa-pk", { FC_REF_CONSTANT, 1, OFF(160,287), NUM(160,287) } }, /* 160 */ ++ { "pap-an", { FC_REF_CONSTANT, 1, OFF(161,338), NUM(161,338) } }, /* 161 */ ++ { "pap-aw", { FC_REF_CONSTANT, 1, OFF(162,339), NUM(162,339) } }, /* 162 */ ++ { "pl", { FC_REF_CONSTANT, 2, OFF(163,340), NUM(163,340) } }, /* 163 */ ++ { "ps-af", { FC_REF_CONSTANT, 1, OFF(164,342), NUM(164,342) } }, /* 164 */ ++ { "ps-pk", { FC_REF_CONSTANT, 1, OFF(165,343), NUM(165,343) } }, /* 165 */ ++ { "pt", { FC_REF_CONSTANT, 1, OFF(166,344), NUM(166,344) } }, /* 166 */ ++ { "qu", { FC_REF_CONSTANT, 2, OFF(167,345), NUM(167,345) } }, /* 167 */ ++ { "quz", { FC_REF_CONSTANT, 2, OFF(168,345), NUM(168,345) } }, /* 168 */ ++ { "rm", { FC_REF_CONSTANT, 1, OFF(169,347), NUM(169,347) } }, /* 169 */ ++ { "rn", { FC_REF_CONSTANT, 1, OFF(170,87), NUM(170,87) } }, /* 170 */ ++ { "ro", { FC_REF_CONSTANT, 3, OFF(171,348), NUM(171,348) } }, /* 171 */ ++ { "ru", { FC_REF_CONSTANT, 1, OFF(172,279), NUM(172,279) } }, /* 172 */ ++ { "rw", { FC_REF_CONSTANT, 1, OFF(173,87), NUM(173,87) } }, /* 173 */ ++ { "sa", { FC_REF_CONSTANT, 1, OFF(174,30), NUM(174,30) } }, /* 174 */ ++ { "sah", { FC_REF_CONSTANT, 1, OFF(175,351), NUM(175,351) } }, /* 175 */ ++ { "sat", { FC_REF_CONSTANT, 1, OFF(176,352), NUM(176,352) } }, /* 176 */ ++ { "sc", { FC_REF_CONSTANT, 1, OFF(177,353), NUM(177,353) } }, /* 177 */ ++ { "sco", { FC_REF_CONSTANT, 3, OFF(178,354), NUM(178,354) } }, /* 178 */ ++ { "sd", { FC_REF_CONSTANT, 1, OFF(179,357), NUM(179,357) } }, /* 179 */ ++ { "se", { FC_REF_CONSTANT, 2, OFF(180,358), NUM(180,358) } }, /* 180 */ ++ { "sel", { FC_REF_CONSTANT, 1, OFF(181,279), NUM(181,279) } }, /* 181 */ ++ { "sg", { FC_REF_CONSTANT, 1, OFF(182,360), NUM(182,360) } }, /* 182 */ ++ { "sh", { FC_REF_CONSTANT, 3, OFF(183,361), NUM(183,361) } }, /* 183 */ ++ { "shs", { FC_REF_CONSTANT, 2, OFF(184,364), NUM(184,364) } }, /* 184 */ ++ { "si", { FC_REF_CONSTANT, 1, OFF(185,366), NUM(185,366) } }, /* 185 */ ++ { "sid", { FC_REF_CONSTANT, 2, OFF(186,367), NUM(186,367) } }, /* 186 */ ++ { "sk", { FC_REF_CONSTANT, 2, OFF(187,369), NUM(187,369) } }, /* 187 */ ++ { "sl", { FC_REF_CONSTANT, 2, OFF(188,42), NUM(188,42) } }, /* 188 */ ++ { "sm", { FC_REF_CONSTANT, 2, OFF(189,371), NUM(189,371) } }, /* 189 */ ++ { "sma", { FC_REF_CONSTANT, 1, OFF(190,373), NUM(190,373) } }, /* 190 */ ++ { "smj", { FC_REF_CONSTANT, 1, OFF(191,374), NUM(191,374) } }, /* 191 */ ++ { "smn", { FC_REF_CONSTANT, 2, OFF(192,375), NUM(192,375) } }, /* 192 */ ++ { "sms", { FC_REF_CONSTANT, 3, OFF(193,377), NUM(193,377) } }, /* 193 */ ++ { "sn", { FC_REF_CONSTANT, 1, OFF(194,87), NUM(194,87) } }, /* 194 */ ++ { "so", { FC_REF_CONSTANT, 1, OFF(195,87), NUM(195,87) } }, /* 195 */ ++ { "sq", { FC_REF_CONSTANT, 1, OFF(196,380), NUM(196,380) } }, /* 196 */ ++ { "sr", { FC_REF_CONSTANT, 1, OFF(197,381), NUM(197,381) } }, /* 197 */ ++ { "ss", { FC_REF_CONSTANT, 1, OFF(198,87), NUM(198,87) } }, /* 198 */ ++ { "st", { FC_REF_CONSTANT, 1, OFF(199,87), NUM(199,87) } }, /* 199 */ ++ { "su", { FC_REF_CONSTANT, 1, OFF(200,118), NUM(200,118) } }, /* 200 */ ++ { "sv", { FC_REF_CONSTANT, 1, OFF(201,382), NUM(201,382) } }, /* 201 */ ++ { "sw", { FC_REF_CONSTANT, 1, OFF(202,87), NUM(202,87) } }, /* 202 */ ++ { "syr", { FC_REF_CONSTANT, 1, OFF(203,383), NUM(203,383) } }, /* 203 */ ++ { "ta", { FC_REF_CONSTANT, 1, OFF(204,384), NUM(204,384) } }, /* 204 */ ++ { "te", { FC_REF_CONSTANT, 1, OFF(205,385), NUM(205,385) } }, /* 205 */ ++ { "tg", { FC_REF_CONSTANT, 1, OFF(206,386), NUM(206,386) } }, /* 206 */ ++ { "th", { FC_REF_CONSTANT, 1, OFF(207,387), NUM(207,387) } }, /* 207 */ ++ { "ti-er", { FC_REF_CONSTANT, 2, OFF(208,45), NUM(208,45) } }, /* 208 */ ++ { "ti-et", { FC_REF_CONSTANT, 2, OFF(209,367), NUM(209,367) } }, /* 209 */ ++ { "tig", { FC_REF_CONSTANT, 2, OFF(210,388), NUM(210,388) } }, /* 210 */ ++ { "tk", { FC_REF_CONSTANT, 2, OFF(211,390), NUM(211,390) } }, /* 211 */ ++ { "tl", { FC_REF_CONSTANT, 1, OFF(212,86), NUM(212,86) } }, /* 212 */ ++ { "tn", { FC_REF_CONSTANT, 2, OFF(213,326), NUM(213,326) } }, /* 213 */ ++ { "to", { FC_REF_CONSTANT, 2, OFF(214,371), NUM(214,371) } }, /* 214 */ ++ { "tr", { FC_REF_CONSTANT, 2, OFF(215,392), NUM(215,392) } }, /* 215 */ ++ { "ts", { FC_REF_CONSTANT, 1, OFF(216,87), NUM(216,87) } }, /* 216 */ ++ { "tt", { FC_REF_CONSTANT, 1, OFF(217,394), NUM(217,394) } }, /* 217 */ ++ { "tw", { FC_REF_CONSTANT, 5, OFF(218,4), NUM(218,4) } }, /* 218 */ ++ { "ty", { FC_REF_CONSTANT, 3, OFF(219,395), NUM(219,395) } }, /* 219 */ ++ { "tyv", { FC_REF_CONSTANT, 1, OFF(220,284), NUM(220,284) } }, /* 220 */ ++ { "ug", { FC_REF_CONSTANT, 1, OFF(221,398), NUM(221,398) } }, /* 221 */ ++ { "uk", { FC_REF_CONSTANT, 1, OFF(222,399), NUM(222,399) } }, /* 222 */ ++ { "ur", { FC_REF_CONSTANT, 1, OFF(223,287), NUM(223,287) } }, /* 223 */ ++ { "uz", { FC_REF_CONSTANT, 1, OFF(224,87), NUM(224,87) } }, /* 224 */ ++ { "ve", { FC_REF_CONSTANT, 2, OFF(225,400), NUM(225,400) } }, /* 225 */ ++ { "vi", { FC_REF_CONSTANT, 4, OFF(226,402), NUM(226,402) } }, /* 226 */ ++ { "vo", { FC_REF_CONSTANT, 1, OFF(227,406), NUM(227,406) } }, /* 227 */ ++ { "vot", { FC_REF_CONSTANT, 2, OFF(228,407), NUM(228,407) } }, /* 228 */ ++ { "wa", { FC_REF_CONSTANT, 1, OFF(229,409), NUM(229,409) } }, /* 229 */ ++ { "wal", { FC_REF_CONSTANT, 2, OFF(230,367), NUM(230,367) } }, /* 230 */ ++ { "wen", { FC_REF_CONSTANT, 2, OFF(231,410), NUM(231,410) } }, /* 231 */ ++ { "wo", { FC_REF_CONSTANT, 2, OFF(232,412), NUM(232,412) } }, /* 232 */ ++ { "xh", { FC_REF_CONSTANT, 1, OFF(233,87), NUM(233,87) } }, /* 233 */ ++ { "yap", { FC_REF_CONSTANT, 1, OFF(234,414), NUM(234,414) } }, /* 234 */ ++ { "yi", { FC_REF_CONSTANT, 1, OFF(235,108), NUM(235,108) } }, /* 235 */ ++ { "yo", { FC_REF_CONSTANT, 4, OFF(236,415), NUM(236,415) } }, /* 236 */ ++ { "za", { FC_REF_CONSTANT, 1, OFF(237,87), NUM(237,87) } }, /* 237 */ ++ { "zh-cn", { FC_REF_CONSTANT, 82, OFF(238,419), NUM(238,419) } }, /* 238 */ ++ { "zh-hk", { FC_REF_CONSTANT, 171, OFF(239,501), NUM(239,501) } }, /* 239 */ ++ { "zh-mo", { FC_REF_CONSTANT, 171, OFF(240,501), NUM(240,501) } }, /* 240 */ ++ { "zh-sg", { FC_REF_CONSTANT, 82, OFF(241,419), NUM(241,419) } }, /* 241 */ ++ { "zh-tw", { FC_REF_CONSTANT, 83, OFF(242,672), NUM(242,672) } }, /* 242 */ ++ { "zu", { FC_REF_CONSTANT, 1, OFF(243,87), NUM(243,87) } }, /* 243 */ ++}, ++{ ++ { { /* 0 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x08104404, 0x08104404, ++ } }, ++ { { /* 1 */ ++ 0xffff8002, 0xffffffff, 0x8002ffff, 0x00000000, ++ 0xc0000000, 0xf0fc33c0, 0x03000000, 0x00000003, ++ } }, ++ { { /* 2 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x0810cf00, 0x0810cf00, ++ } }, ++ { { /* 3 */ ++ 0x00000000, 0x00000000, 0x00000200, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 4 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x00220008, 0x00220008, ++ } }, ++ { { /* 5 */ ++ 0x00000000, 0x00000300, 0x00000000, 0x00000300, ++ 0x00010040, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 6 */ ++ 0x00000000, 0x00000000, 0x08100000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 7 */ ++ 0x00000048, 0x00000200, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 8 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x30000000, 0x00000000, 0x03000000, ++ } }, ++ { { /* 9 */ ++ 0xff7fff7f, 0xff01ff7f, 0x00003d7f, 0xffff7fff, ++ 0xffff3d7f, 0x003d7fff, 0xff7f7f00, 0x00ff7fff, ++ } }, ++ { { /* 10 */ ++ 0x003d7fff, 0xffffffff, 0x007fff7f, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 11 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x140a2202, 0x140a2202, ++ } }, ++ { { /* 12 */ ++ 0x00000000, 0x07fffffe, 0x000007fe, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 13 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0xfff99fee, 0xd3c4fdff, 0xb000399f, 0x00030000, ++ } }, ++ { { /* 14 */ ++ 0x00000000, 0x00c00030, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 15 */ ++ 0xffff0042, 0xffffffff, 0x0002ffff, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 16 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x10028010, 0x10028010, ++ } }, ++ { { /* 17 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x10400080, 0x10400080, ++ } }, ++ { { /* 18 */ ++ 0xc0000000, 0x00030000, 0xc0000000, 0x00000000, ++ 0x00008000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 19 */ ++ 0x00000000, 0x00000000, 0x02000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 20 */ ++ 0x00000000, 0x07ffffde, 0x001009f6, 0x40000000, ++ 0x01000040, 0x00008200, 0x00001000, 0x00000000, ++ } }, ++ { { /* 21 */ ++ 0xffff0000, 0xffffffff, 0x0000ffff, 0x00000000, ++ 0x030c0000, 0x0c00cc0f, 0x03000000, 0x00000300, ++ } }, ++ { { /* 22 */ ++ 0xffff4040, 0xffffffff, 0x4040ffff, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 23 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 24 */ ++ 0x00003000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00110000, 0x00000000, 0x00000000, 0x000000c0, ++ } }, ++ { { /* 25 */ ++ 0x00000000, 0x00000000, 0x08000000, 0x00000008, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 26 */ ++ 0x00003000, 0x00000030, 0x00000000, 0x0000300c, ++ 0x000c0000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 27 */ ++ 0x00000000, 0x3a8b0000, 0x9e78e6b9, 0x0000802e, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 28 */ ++ 0xffff0000, 0xffffd7ff, 0x0000d7ff, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 29 */ ++ 0xffffffe0, 0x83ffffff, 0x00003fff, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 30 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x10008200, 0x10008200, ++ } }, ++ { { /* 31 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x060c3303, 0x060c3303, ++ } }, ++ { { /* 32 */ ++ 0x00000003, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 33 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x03000000, 0x00003000, 0x00000000, ++ } }, ++ { { /* 34 */ ++ 0x00000000, 0x00000000, 0x00000c00, 0x00000000, ++ 0x20010040, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 35 */ ++ 0x00000000, 0x00000000, 0x08100000, 0x00040000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 36 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0xfff99fee, 0xd3c5fdff, 0xb000399f, 0x00000000, ++ } }, ++ { { /* 37 */ ++ 0x00000000, 0x00000000, 0xfffffeff, 0x3d7e03ff, ++ 0xfeff0003, 0x03ffffff, 0x00000000, 0x00000000, ++ } }, ++ { { /* 38 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x12120404, 0x12120404, ++ } }, ++ { { /* 39 */ ++ 0xfff99fee, 0xf3e5fdff, 0x0007399f, 0x0001ffff, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 40 */ ++ 0x000330c0, 0x00000000, 0x00000000, 0x60000003, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 41 */ ++ 0xffff0002, 0xffffffff, 0x0002ffff, 0x00000000, ++ 0x00000000, 0x0c00c000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 42 */ ++ 0xff7fff7f, 0xff01ff00, 0x3d7f3d7f, 0xffff7fff, ++ 0xffff0000, 0x003d7fff, 0xff7f7f3d, 0x00ff7fff, ++ } }, ++ { { /* 43 */ ++ 0x003d7fff, 0xffffffff, 0x007fff00, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 44 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x140ca381, 0x140ca381, ++ } }, ++ { { /* 45 */ ++ 0x00000000, 0x80000000, 0x00000001, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 46 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x10020004, 0x10020004, ++ } }, ++ { { /* 47 */ ++ 0xffff0002, 0xffffffff, 0x0002ffff, 0x00000000, ++ 0x00000000, 0x00000030, 0x000c0000, 0x030300c0, ++ } }, ++ { { /* 48 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0xffffffff, 0xffffffff, 0x001fffff, ++ } }, ++ { { /* 49 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x1a10cfc5, 0x9a10cfc5, ++ } }, ++ { { /* 50 */ ++ 0x00000000, 0x00000000, 0x000c0000, 0x01000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 51 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x10420084, 0x10420084, ++ } }, ++ { { /* 52 */ ++ 0xc0000000, 0x00030000, 0xc0000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 53 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x24082202, 0x24082202, ++ } }, ++ { { /* 54 */ ++ 0x0c00f000, 0x00000000, 0x03000180, 0x6000c033, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 55 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x021c0a08, 0x021c0a08, ++ } }, ++ { { /* 56 */ ++ 0x00000030, 0x00000000, 0x0000001e, 0x18000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 57 */ ++ 0xfdffa966, 0xffffdfff, 0xa965dfff, 0x03ffffff, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 58 */ ++ 0x0000000c, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 59 */ ++ 0xffff0002, 0xffffffff, 0x0002ffff, 0x00000000, ++ 0x00000000, 0x00000c00, 0x00c00000, 0x000c0000, ++ } }, ++ { { /* 60 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x0010c604, 0x8010c604, ++ } }, ++ { { /* 61 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x01f00000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 62 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x0000003f, 0x00000000, 0x00000000, 0x000c0000, ++ } }, ++ { { /* 63 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x25082262, 0x25082262, ++ } }, ++ { { /* 64 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x90400010, 0x10400010, ++ } }, ++ { { /* 65 */ ++ 0xfff99fec, 0xf3e5fdff, 0xf807399f, 0x0000ffff, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 66 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0xffffffff, 0x0001ffff, 0x00000000, 0x00000000, ++ } }, ++ { { /* 67 */ ++ 0x0c000000, 0x00000000, 0x00000c00, 0x00000000, ++ 0x00170240, 0x00040000, 0x001fe000, 0x00000000, ++ } }, ++ { { /* 68 */ ++ 0x00000000, 0x00000000, 0x08500000, 0x00000008, ++ 0x00000800, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 69 */ ++ 0x00001003, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 70 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0xffffd740, 0xfffffffb, 0x00007fff, 0x00000000, ++ } }, ++ { { /* 71 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x00528f81, 0x00528f81, ++ } }, ++ { { /* 72 */ ++ 0x30000300, 0x00300030, 0x30000000, 0x00003000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 73 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x10600010, 0x10600010, ++ } }, ++ { { /* 74 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x60000003, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 75 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x10020000, 0x10020000, ++ } }, ++ { { /* 76 */ ++ 0x00000000, 0x00000000, 0x00000c00, 0x00000000, ++ 0x20000402, 0x00180000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 77 */ ++ 0x00000000, 0x00000000, 0x00880000, 0x00040000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 78 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x00400030, 0x00400030, ++ } }, ++ { { /* 79 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x0e1e7707, 0x0e1e7707, ++ } }, ++ { { /* 80 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x25092042, 0x25092042, ++ } }, ++ { { /* 81 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x02041107, 0x02041107, ++ } }, ++ { { /* 82 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x9c508e14, 0x1c508e14, ++ } }, ++ { { /* 83 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x04082202, 0x04082202, ++ } }, ++ { { /* 84 */ ++ 0x00000c00, 0x00000003, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 85 */ ++ 0xc0000c0c, 0x00000000, 0x00c00003, 0x00000c03, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 86 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x020c1383, 0x020c1383, ++ } }, ++ { { /* 87 */ ++ 0xff7fff7f, 0xff01ff7f, 0x00003d7f, 0x00ff00ff, ++ 0x00ff3d7f, 0x003d7fff, 0xff7f7f00, 0x00ff7f00, ++ } }, ++ { { /* 88 */ ++ 0x003d7f00, 0xffff01ff, 0x007fff7f, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 89 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x040a2202, 0x042a220a, ++ } }, ++ { { /* 90 */ ++ 0x00000000, 0x00000200, 0x00000000, 0x00000200, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 91 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x20000000, 0x00000000, 0x02000000, ++ } }, ++ { { /* 92 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0xfffbafee, 0xf3edfdff, 0x00013bbf, 0x00000001, ++ } }, ++ { { /* 93 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x00000080, 0x00000080, ++ } }, ++ { { /* 94 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x03000402, 0x00180000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 95 */ ++ 0x00000000, 0x00000000, 0x00880000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 96 */ ++ 0x000c0003, 0x00000c00, 0x00003000, 0x00000c00, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 97 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x08000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 98 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0xffff0000, 0x000007ff, ++ } }, ++ { { /* 99 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x00080000, 0x00080000, ++ } }, ++ { { /* 100 */ ++ 0x0c0030c0, 0x00000000, 0x0300001e, 0x66000003, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 101 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x00040100, 0x00040100, ++ } }, ++ { { /* 102 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x14482202, 0x14482202, ++ } }, ++ { { /* 103 */ ++ 0x00000000, 0x00000000, 0x00030000, 0x00030000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 104 */ ++ 0x00000000, 0xfffe0000, 0x007fffff, 0xfffffffe, ++ 0x000000ff, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 105 */ ++ 0x00000000, 0x00008000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 106 */ ++ 0x000c0000, 0x00000000, 0x00000c00, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 107 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x00000200, 0x00000200, ++ } }, ++ { { /* 108 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00003c00, 0x00000030, ++ } }, ++ { { /* 109 */ ++ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, ++ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, ++ } }, ++ { { /* 110 */ ++ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, ++ 0x00001fff, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 111 */ ++ 0xffff4002, 0xffffffff, 0x4002ffff, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 112 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x64092242, 0x64092242, ++ } }, ++ { { /* 113 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x060cb301, 0x060cb301, ++ } }, ++ { { /* 114 */ ++ 0x00000c7e, 0x031f8000, 0x0063f200, 0x000df840, ++ 0x00037e08, 0x08000dfa, 0x0df901bf, 0x5437e400, ++ } }, ++ { { /* 115 */ ++ 0x00000025, 0x40006fc0, 0x27f91be4, 0xdee00000, ++ 0x007ff83f, 0x00007f7f, 0x00000000, 0x00000000, ++ } }, ++ { { /* 116 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x007f8000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 117 */ ++ 0x000000a7, 0x00000000, 0xfffffffe, 0xffffffff, ++ 0x780fffff, 0xfffffffe, 0xffffffff, 0x787fffff, ++ } }, ++ { { /* 118 */ ++ 0x03506f8b, 0x1b042042, 0x62808020, 0x400a0000, ++ 0x10341b41, 0x04003812, 0x03608c02, 0x08454038, ++ } }, ++ { { /* 119 */ ++ 0x2403c002, 0x15108000, 0x1229e040, 0x80280000, ++ 0x28002800, 0x8060c002, 0x2080040c, 0x05284002, ++ } }, ++ { { /* 120 */ ++ 0x82042a00, 0x02000818, 0x10008200, 0x20700020, ++ 0x03022000, 0x40a41000, 0x0420a020, 0x00000080, ++ } }, ++ { { /* 121 */ ++ 0x80040011, 0x00000400, 0x04012b78, 0x11a23920, ++ 0x02842460, 0x00c01021, 0x20002050, 0x07400042, ++ } }, ++ { { /* 122 */ ++ 0x208205c9, 0x0fc10230, 0x08402480, 0x00258018, ++ 0x88000080, 0x42120609, 0xa32002a8, 0x40040094, ++ } }, ++ { { /* 123 */ ++ 0x00c00024, 0x8e000001, 0x059e058a, 0x013b0001, ++ 0x85000010, 0x08080000, 0x02d07d04, 0x018d9838, ++ } }, ++ { { /* 124 */ ++ 0x8803f310, 0x03000840, 0x00000704, 0x30080500, ++ 0x00001000, 0x20040000, 0x00000003, 0x04040002, ++ } }, ++ { { /* 125 */ ++ 0x000100d0, 0x40028000, 0x00088040, 0x00000000, ++ 0x34000210, 0x00400e00, 0x00000020, 0x00000008, ++ } }, ++ { { /* 126 */ ++ 0x00000040, 0x00060000, 0x00000000, 0x00100100, ++ 0x00000080, 0x00000000, 0x4c000000, 0x240d0009, ++ } }, ++ { { /* 127 */ ++ 0x80048000, 0x00010180, 0x00020484, 0x00000400, ++ 0x00000804, 0x00000008, 0x80004800, 0x16800000, ++ } }, ++ { { /* 128 */ ++ 0x00200065, 0x00120410, 0x44920403, 0x40000200, ++ 0x10880008, 0x40080100, 0x00001482, 0x00074800, ++ } }, ++ { { /* 129 */ ++ 0x14608200, 0x00024e84, 0x00128380, 0x20184520, ++ 0x0240041c, 0x0a001120, 0x00180a00, 0x88000800, ++ } }, ++ { { /* 130 */ ++ 0x01000002, 0x00008001, 0x04000040, 0x80000040, ++ 0x08040000, 0x00000000, 0x00001202, 0x00000002, ++ } }, ++ { { /* 131 */ ++ 0x00000000, 0x00000004, 0x21910000, 0x00000858, ++ 0xbf8013a0, 0x8279401c, 0xa8041054, 0xc5004282, ++ } }, ++ { { /* 132 */ ++ 0x0402ce56, 0xfc020000, 0x40200d21, 0x00028030, ++ 0x00010000, 0x01081202, 0x00000000, 0x00410003, ++ } }, ++ { { /* 133 */ ++ 0x00404080, 0x00000200, 0x00010000, 0x00000000, ++ 0x00000000, 0x00000000, 0x60000000, 0x480241ea, ++ } }, ++ { { /* 134 */ ++ 0x2000104c, 0x2109a820, 0x00200020, 0x7b1c0008, ++ 0x10a0840a, 0x01c028c0, 0x00000608, 0x04c00000, ++ } }, ++ { { /* 135 */ ++ 0x80398412, 0x40a200e0, 0x02080000, 0x12030a04, ++ 0x008d1833, 0x02184602, 0x13803028, 0x00200801, ++ } }, ++ { { /* 136 */ ++ 0x20440000, 0x000005a1, 0x00050800, 0x0020a328, ++ 0x80100000, 0x10040649, 0x10020020, 0x00090180, ++ } }, ++ { { /* 137 */ ++ 0x8c008202, 0x00000000, 0x00205910, 0x0041410c, ++ 0x00004004, 0x40441290, 0x00010080, 0x01040000, ++ } }, ++ { { /* 138 */ ++ 0x04070000, 0x89108040, 0x00282a81, 0x82420000, ++ 0x51a20411, 0x32220800, 0x2b0d2220, 0x40c83003, ++ } }, ++ { { /* 139 */ ++ 0x82020082, 0x80008900, 0x10a00200, 0x08004100, ++ 0x09041108, 0x000405a6, 0x0c018000, 0x04104002, ++ } }, ++ { { /* 140 */ ++ 0x00002000, 0x44003000, 0x01000004, 0x00008200, ++ 0x00000008, 0x00044010, 0x00002002, 0x00001040, ++ } }, ++ { { /* 141 */ ++ 0x00000000, 0xca008000, 0x02828020, 0x00b1100c, ++ 0x12824280, 0x22013030, 0x00808820, 0x040013e4, ++ } }, ++ { { /* 142 */ ++ 0x801840c0, 0x1000a1a1, 0x00000004, 0x0050c200, ++ 0x00c20082, 0x00104840, 0x10400080, 0xa3140000, ++ } }, ++ { { /* 143 */ ++ 0xa8a02301, 0x24123d00, 0x80030200, 0xc0028022, ++ 0x34a10000, 0x00408005, 0x00190010, 0x882a0000, ++ } }, ++ { { /* 144 */ ++ 0x00080018, 0x33000402, 0x9002010a, 0x00000000, ++ 0x00800020, 0x00010100, 0x84040810, 0x04004000, ++ } }, ++ { { /* 145 */ ++ 0x10006020, 0x00000000, 0x00000000, 0x30a02000, ++ 0x00000004, 0x00000000, 0x01000800, 0x20000000, ++ } }, ++ { { /* 146 */ ++ 0x02000000, 0x02000602, 0x80000800, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 147 */ ++ 0x00000010, 0x44040083, 0x00081000, 0x0818824c, ++ 0x00400e00, 0x8c300000, 0x08146001, 0x00000000, ++ } }, ++ { { /* 148 */ ++ 0x00828000, 0x41900000, 0x84804006, 0x24010001, ++ 0x02400108, 0x9b080006, 0x00201602, 0x0009012e, ++ } }, ++ { { /* 149 */ ++ 0x40800800, 0x48000420, 0x10000032, 0x01904440, ++ 0x02000100, 0x10048000, 0x00020000, 0x08820802, ++ } }, ++ { { /* 150 */ ++ 0x08080ba0, 0x00009242, 0x00400000, 0xc0008080, ++ 0x20410001, 0x04400000, 0x60020820, 0x00100000, ++ } }, ++ { { /* 151 */ ++ 0x00108046, 0x01001805, 0x90100000, 0x00014010, ++ 0x00000010, 0x00000000, 0x0000000b, 0x00008800, ++ } }, ++ { { /* 152 */ ++ 0x00000000, 0x00001000, 0x00000000, 0x20018800, ++ 0x00004600, 0x06002000, 0x00000100, 0x00000000, ++ } }, ++ { { /* 153 */ ++ 0x00000000, 0x10400042, 0x02004000, 0x00004280, ++ 0x80000400, 0x00020000, 0x00000008, 0x00000020, ++ } }, ++ { { /* 154 */ ++ 0x00000040, 0x20600400, 0x0a000180, 0x02040280, ++ 0x00000000, 0x00409001, 0x02000004, 0x00003200, ++ } }, ++ { { /* 155 */ ++ 0x88000000, 0x80404800, 0x00000010, 0x00040008, ++ 0x00000a90, 0x00000200, 0x00002000, 0x40002001, ++ } }, ++ { { /* 156 */ ++ 0x00000048, 0x00100000, 0x00000000, 0x00000001, ++ 0x00000008, 0x20010080, 0x00000000, 0x00400040, ++ } }, ++ { { /* 157 */ ++ 0x85000000, 0x0c8f0108, 0x32129000, 0x80090420, ++ 0x00024000, 0x40040800, 0x092000a0, 0x00100204, ++ } }, ++ { { /* 158 */ ++ 0x00002000, 0x00000000, 0x00440004, 0x6c000000, ++ 0x000000d0, 0x80004000, 0x88800440, 0x41144018, ++ } }, ++ { { /* 159 */ ++ 0x80001a02, 0x14000001, 0x00000001, 0x0000004a, ++ 0x00000000, 0x00083000, 0x08000000, 0x0008a024, ++ } }, ++ { { /* 160 */ ++ 0x00300004, 0x00140000, 0x20000000, 0x00001800, ++ 0x00020002, 0x04000000, 0x00000002, 0x00000100, ++ } }, ++ { { /* 161 */ ++ 0x00004002, 0x54000000, 0x60400300, 0x00002120, ++ 0x0000a022, 0x00000000, 0x81060803, 0x08010200, ++ } }, ++ { { /* 162 */ ++ 0x04004800, 0xb0044000, 0x0000a005, 0x04500800, ++ 0x800c000a, 0x0000c000, 0x10000800, 0x02408021, ++ } }, ++ { { /* 163 */ ++ 0x08020000, 0x00001040, 0x00540a40, 0x00000000, ++ 0x00800880, 0x01020002, 0x00000211, 0x00000010, ++ } }, ++ { { /* 164 */ ++ 0x00000000, 0x80000002, 0x00002000, 0x00080001, ++ 0x09840a00, 0x40000080, 0x00400000, 0x49000080, ++ } }, ++ { { /* 165 */ ++ 0x0e102831, 0x06098807, 0x40011014, 0x02620042, ++ 0x06000000, 0x88062000, 0x04068400, 0x08108301, ++ } }, ++ { { /* 166 */ ++ 0x08000012, 0x40004840, 0x00300402, 0x00012000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 167 */ ++ 0x00000000, 0x00400000, 0x00000000, 0x00a54400, ++ 0x40004420, 0x20000310, 0x00041002, 0x18000000, ++ } }, ++ { { /* 168 */ ++ 0x00a1002a, 0x00080000, 0x40400000, 0x00900000, ++ 0x21401200, 0x04048626, 0x40005048, 0x21100000, ++ } }, ++ { { /* 169 */ ++ 0x040005a4, 0x000a0000, 0x00214000, 0x07010800, ++ 0x34000000, 0x00080100, 0x00080040, 0x10182508, ++ } }, ++ { { /* 170 */ ++ 0xc0805100, 0x02c01400, 0x00000080, 0x00448040, ++ 0x20000800, 0x210a8000, 0x08800000, 0x00020060, ++ } }, ++ { { /* 171 */ ++ 0x00004004, 0x00400100, 0x01040200, 0x00800000, ++ 0x00000000, 0x00000000, 0x10081400, 0x00008000, ++ } }, ++ { { /* 172 */ ++ 0x00004000, 0x20000000, 0x08800200, 0x00001000, ++ 0x00000000, 0x01000000, 0x00000810, 0x00000000, ++ } }, ++ { { /* 173 */ ++ 0x00020000, 0x20200000, 0x00000000, 0x00000000, ++ 0x00000010, 0x00001c40, 0x00002000, 0x08000210, ++ } }, ++ { { /* 174 */ ++ 0x00000000, 0x00000000, 0x54014000, 0x02000800, ++ 0x00200400, 0x00000000, 0x00002080, 0x00004000, ++ } }, ++ { { /* 175 */ ++ 0x10000004, 0x00000000, 0x00000000, 0x00000000, ++ 0x00002000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 176 */ ++ 0x00000000, 0x00000000, 0x28881041, 0x0081010a, ++ 0x00400800, 0x00000800, 0x10208026, 0x61000000, ++ } }, ++ { { /* 177 */ ++ 0x00050080, 0x00000000, 0x80000000, 0x80040000, ++ 0x044088c2, 0x00080480, 0x00040000, 0x00000048, ++ } }, ++ { { /* 178 */ ++ 0x8188410d, 0x141a2400, 0x40310000, 0x000f4249, ++ 0x41283280, 0x80053011, 0x00400880, 0x410060c0, ++ } }, ++ { { /* 179 */ ++ 0x2a004013, 0x02000002, 0x11000000, 0x00850040, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 180 */ ++ 0x00000000, 0x00800000, 0x04000440, 0x00000402, ++ 0x60001000, 0x99909f87, 0x5808049d, 0x10002445, ++ } }, ++ { { /* 181 */ ++ 0x00000100, 0x00000000, 0x00000000, 0x00910050, ++ 0x00000420, 0x00080008, 0x20000000, 0x00288002, ++ } }, ++ { { /* 182 */ ++ 0x00008400, 0x00000400, 0x00000000, 0x00100000, ++ 0x00002000, 0x00000800, 0x80043400, 0x21000004, ++ } }, ++ { { /* 183 */ ++ 0x20000208, 0x01000600, 0x00000010, 0x00000000, ++ 0x48000000, 0x14060008, 0x00124020, 0x20812800, ++ } }, ++ { { /* 184 */ ++ 0xa419804b, 0x01064009, 0x10386ca4, 0x85a0620b, ++ 0x00000010, 0x01000448, 0x00004400, 0x20a02102, ++ } }, ++ { { /* 185 */ ++ 0x00000000, 0x00000000, 0x00147000, 0x01a01404, ++ 0x10040000, 0x01000000, 0x3002f180, 0x00000008, ++ } }, ++ { { /* 186 */ ++ 0x00002000, 0x00100000, 0x08000010, 0x00020004, ++ 0x01000029, 0x00002000, 0x00000000, 0x10082000, ++ } }, ++ { { /* 187 */ ++ 0x00000000, 0x0004d041, 0x08000800, 0x00200000, ++ 0x00401000, 0x00004000, 0x00000000, 0x00000002, ++ } }, ++ { { /* 188 */ ++ 0x01000000, 0x00000000, 0x00020000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 189 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00800000, ++ 0x000a0a01, 0x0004002c, 0x01000080, 0x00000000, ++ } }, ++ { { /* 190 */ ++ 0x10000000, 0x08040400, 0x08012010, 0x2569043c, ++ 0x1a10c460, 0x08800009, 0x000210f0, 0x08c5050c, ++ } }, ++ { { /* 191 */ ++ 0x10000481, 0x00040080, 0x42040000, 0x00100204, ++ 0x00000000, 0x00000000, 0x00080000, 0x88080000, ++ } }, ++ { { /* 192 */ ++ 0x010f016c, 0x18002000, 0x41307000, 0x00000080, ++ 0x00000000, 0x00000100, 0x88000000, 0x70048004, ++ } }, ++ { { /* 193 */ ++ 0x00081420, 0x00000100, 0x00000000, 0x00000000, ++ 0x02400000, 0x00001000, 0x00050070, 0x00000000, ++ } }, ++ { { /* 194 */ ++ 0x000c4000, 0x00010000, 0x04000000, 0x00000000, ++ 0x00000000, 0x01000100, 0x01000010, 0x00000400, ++ } }, ++ { { /* 195 */ ++ 0x00000000, 0x10020000, 0x04100024, 0x00000000, ++ 0x00000000, 0x00004000, 0x00000000, 0x00000100, ++ } }, ++ { { /* 196 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00100020, ++ } }, ++ { { /* 197 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00008000, 0x00100000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 198 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x80000000, ++ 0x00880000, 0x0c000040, 0x02040010, 0x00000000, ++ } }, ++ { { /* 199 */ ++ 0x00080000, 0x08000000, 0x00000000, 0x00000004, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 200 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x00000300, 0x00000300, ++ } }, ++ { { /* 201 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0xffff0000, 0x0001ffff, ++ } }, ++ { { /* 202 */ ++ 0xffff0002, 0xffffffff, 0x0002ffff, 0x00000000, ++ 0x0c0c0000, 0x000cc00c, 0x03000000, 0x00000000, ++ } }, ++ { { /* 203 */ ++ 0x00000000, 0x00000300, 0x00000000, 0x00000300, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 204 */ ++ 0xffff0000, 0xffffffff, 0x0040ffff, 0x00000000, ++ 0x0c0c0000, 0x0c00000c, 0x03000000, 0x00000300, ++ } }, ++ { { /* 205 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x0d10646e, 0x0d10646e, ++ } }, ++ { { /* 206 */ ++ 0x00000000, 0x01000300, 0x00000000, 0x00000300, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 207 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x9fffffff, 0xffcffee7, 0x0000003f, 0x00000000, ++ } }, ++ { { /* 208 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0xfffddfec, 0xc3effdff, 0x40603ddf, 0x00000003, ++ } }, ++ { { /* 209 */ ++ 0x00000000, 0xfffe0000, 0xffffffff, 0xffffffef, ++ 0x00007fff, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 210 */ ++ 0x3eff0793, 0x1303b011, 0x11102801, 0x05930000, ++ 0xb0111e7b, 0x3b019703, 0x00a01112, 0x306b9593, ++ } }, ++ { { /* 211 */ ++ 0x1102b051, 0x11303201, 0x011102b0, 0xb879300a, ++ 0x30011306, 0x00800010, 0x100b0113, 0x93000011, ++ } }, ++ { { /* 212 */ ++ 0x00102b03, 0x05930000, 0xb051746b, 0x3b011323, ++ 0x00001030, 0x70000000, 0x1303b011, 0x11102900, ++ } }, ++ { { /* 213 */ ++ 0x00012180, 0xb0153000, 0x3001030e, 0x02000030, ++ 0x10230111, 0x13000000, 0x10106b81, 0x01130300, ++ } }, ++ { { /* 214 */ ++ 0x30111013, 0x00000100, 0x22b85530, 0x30000000, ++ 0x9702b011, 0x113afb07, 0x011303b0, 0x00000021, ++ } }, ++ { { /* 215 */ ++ 0x3b0d1b00, 0x03b01138, 0x11330113, 0x13000001, ++ 0x111c2b05, 0x00000100, 0xb0111000, 0x2a011300, ++ } }, ++ { { /* 216 */ ++ 0x02b01930, 0x10100001, 0x11000000, 0x10300301, ++ 0x07130230, 0x0011146b, 0x2b051300, 0x8fb8f974, ++ } }, ++ { { /* 217 */ ++ 0x103b0113, 0x00000000, 0xd9700000, 0x01134ab0, ++ 0x0011103b, 0x00001103, 0x2ab15930, 0x10000111, ++ } }, ++ { { /* 218 */ ++ 0x11010000, 0x00100b01, 0x01130000, 0x0000102b, ++ 0x20000101, 0x02a01110, 0x30210111, 0x0102b059, ++ } }, ++ { { /* 219 */ ++ 0x19300000, 0x011307b0, 0xb011383b, 0x00000003, ++ 0x00000000, 0x383b0d13, 0x0103b011, 0x00001000, ++ } }, ++ { { /* 220 */ ++ 0x01130000, 0x00101020, 0x00000100, 0x00000110, ++ 0x30000000, 0x00021811, 0x00100000, 0x01110000, ++ } }, ++ { { /* 221 */ ++ 0x00000023, 0x0b019300, 0x00301110, 0x302b0111, ++ 0x13c7b011, 0x01303b01, 0x00000280, 0xb0113000, ++ } }, ++ { { /* 222 */ ++ 0x2b011383, 0x03b01130, 0x300a0011, 0x1102b011, ++ 0x00002000, 0x01110100, 0xa011102b, 0x2b011302, ++ } }, ++ { { /* 223 */ ++ 0x01000010, 0x30000001, 0x13029011, 0x11302b01, ++ 0x000066b0, 0xb0113000, 0x6b07d302, 0x07b0113a, ++ } }, ++ { { /* 224 */ ++ 0x00200103, 0x13000000, 0x11386b05, 0x011303b0, ++ 0x000010b8, 0x2b051b00, 0x03000110, 0x10000000, ++ } }, ++ { { /* 225 */ ++ 0x1102a011, 0x79700a01, 0x0111a2b0, 0x0000100a, ++ 0x00011100, 0x00901110, 0x00090111, 0x93000000, ++ } }, ++ { { /* 226 */ ++ 0xf9f2bb05, 0x011322b0, 0x2001323b, 0x00000000, ++ 0x06b05930, 0x303b0193, 0x1123a011, 0x11700000, ++ } }, ++ { { /* 227 */ ++ 0x001102b0, 0x00001010, 0x03011301, 0x00000110, ++ 0x162b0793, 0x01010010, 0x11300000, 0x01110200, ++ } }, ++ { { /* 228 */ ++ 0xb0113029, 0x00000000, 0x0eb05130, 0x383b0513, ++ 0x0303b011, 0x00000100, 0x01930000, 0x00001039, ++ } }, ++ { { /* 229 */ ++ 0x3b000302, 0x00000000, 0x00230113, 0x00000000, ++ 0x00100000, 0x00010000, 0x90113020, 0x00000002, ++ } }, ++ { { /* 230 */ ++ 0x00000000, 0x10000000, 0x11020000, 0x00000301, ++ 0x01130000, 0xb079b02b, 0x3b011323, 0x02b01130, ++ } }, ++ { { /* 231 */ ++ 0xf0210111, 0x1343b0d9, 0x11303b01, 0x011103b0, ++ 0xb0517020, 0x20011322, 0x01901110, 0x300b0111, ++ } }, ++ { { /* 232 */ ++ 0x9302b011, 0x0016ab01, 0x01130100, 0xb0113021, ++ 0x29010302, 0x02b03130, 0x30000000, 0x1b42b819, ++ } }, ++ { { /* 233 */ ++ 0x11383301, 0x00000330, 0x00000020, 0x33051300, ++ 0x00001110, 0x00000000, 0x93000000, 0x01302305, ++ } }, ++ { { /* 234 */ ++ 0x00010100, 0x30111010, 0x00000100, 0x02301130, ++ 0x10100001, 0x11000000, 0x00000000, 0x85130200, ++ } }, ++ { { /* 235 */ ++ 0x10111003, 0x2b011300, 0x63b87730, 0x303b0113, ++ 0x11a2b091, 0x7b300201, 0x011357f0, 0xf0d1702b, ++ } }, ++ { { /* 236 */ ++ 0x1b0111e3, 0x0ab97130, 0x303b0113, 0x13029001, ++ 0x11302b01, 0x071302b0, 0x3011302b, 0x23011303, ++ } }, ++ { { /* 237 */ ++ 0x02b01130, 0x30ab0113, 0x11feb411, 0x71300901, ++ 0x05d347b8, 0xb011307b, 0x21015303, 0x00001110, ++ } }, ++ { { /* 238 */ ++ 0x306b0513, 0x1102b011, 0x00103301, 0x05130000, ++ 0xa01038eb, 0x30000102, 0x02b01110, 0x30200013, ++ } }, ++ { { /* 239 */ ++ 0x0102b071, 0x00101000, 0x01130000, 0x1011100b, ++ 0x2b011300, 0x00000000, 0x366b0593, 0x1303b095, ++ } }, ++ { { /* 240 */ ++ 0x01103b01, 0x00000200, 0xb0113000, 0x20000103, ++ 0x01000010, 0x30000000, 0x030ab011, 0x00101001, ++ } }, ++ { { /* 241 */ ++ 0x01110100, 0x00000003, 0x23011302, 0x03000010, ++ 0x10000000, 0x01000000, 0x00100000, 0x00000290, ++ } }, ++ { { /* 242 */ ++ 0x30113000, 0x7b015386, 0x03b01130, 0x00210151, ++ 0x13000000, 0x11303b01, 0x001102b0, 0x00011010, ++ } }, ++ { { /* 243 */ ++ 0x2b011302, 0x02001110, 0x10000000, 0x0102b011, ++ 0x11300100, 0x000102b0, 0x00011010, 0x2b011100, ++ } }, ++ { { /* 244 */ ++ 0x02101110, 0x002b0113, 0x93000000, 0x11302b03, ++ 0x011302b0, 0x0000303b, 0x00000002, 0x03b01930, ++ } }, ++ { { /* 245 */ ++ 0x102b0113, 0x0103b011, 0x11300000, 0x011302b0, ++ 0x00001021, 0x00010102, 0x00000010, 0x102b0113, ++ } }, ++ { { /* 246 */ ++ 0x01020011, 0x11302000, 0x011102b0, 0x30113001, ++ 0x00000002, 0x02b01130, 0x303b0313, 0x0103b011, ++ } }, ++ { { /* 247 */ ++ 0x00002000, 0x05130000, 0xb011303b, 0x10001102, ++ 0x00000110, 0x142b0113, 0x01000001, 0x01100000, ++ } }, ++ { { /* 248 */ ++ 0x00010280, 0xb0113000, 0x10000102, 0x00000010, ++ 0x10230113, 0x93021011, 0x11100b05, 0x01130030, ++ } }, ++ { { /* 249 */ ++ 0xb051702b, 0x3b011323, 0x00000030, 0x30000000, ++ 0x1303b011, 0x11102b01, 0x01010330, 0xb011300a, ++ } }, ++ { { /* 250 */ ++ 0x20000102, 0x00000000, 0x10000011, 0x9300a011, ++ 0x00102b05, 0x00000200, 0x90111000, 0x29011100, ++ } }, ++ { { /* 251 */ ++ 0x00b01110, 0x30000000, 0x1302b011, 0x11302b21, ++ 0x000103b0, 0x00000020, 0x2b051300, 0x02b01130, ++ } }, ++ { { /* 252 */ ++ 0x103b0113, 0x13002011, 0x11322b21, 0x00130280, ++ 0xa0113028, 0x0a011102, 0x02921130, 0x30210111, ++ } }, ++ { { /* 253 */ ++ 0x13020011, 0x11302b01, 0x03d30290, 0x3011122b, ++ 0x2b011302, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 254 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00004000, 0x00000000, 0x20000000, 0x00000000, ++ } }, ++ { { /* 255 */ ++ 0x00000000, 0x00000000, 0x00003000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 256 */ ++ 0x00000000, 0x040001df, 0x80800176, 0x420c0000, ++ 0x01020140, 0x44008200, 0x00041018, 0x00000000, ++ } }, ++ { { /* 257 */ ++ 0xffff0000, 0xffff27bf, 0x000027bf, 0x00000000, ++ 0x00000000, 0x0c000000, 0x03000000, 0x000000c0, ++ } }, ++ { { /* 258 */ ++ 0x3c000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 259 */ ++ 0x00000000, 0x061ef5c0, 0x000001f6, 0x40000000, ++ 0x01040040, 0x00208210, 0x00005040, 0x00000000, ++ } }, ++ { { /* 260 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x08004480, 0x08004480, ++ } }, ++ { { /* 261 */ ++ 0x00000000, 0x00000000, 0xc0000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 262 */ ++ 0xffff0002, 0xffffffff, 0x0002ffff, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 263 */ ++ 0xffff0042, 0xffffffff, 0x0042ffff, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x000000c0, ++ } }, ++ { { /* 264 */ ++ 0x00000000, 0x000c0000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 265 */ ++ 0xffff0002, 0xffffffff, 0x0002ffff, 0x00000000, ++ 0x00000000, 0x0000c00c, 0x00000000, 0x00000000, ++ } }, ++ { { /* 266 */ ++ 0x000c0003, 0x00003c00, 0x0000f000, 0x00003c00, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 267 */ ++ 0x00000000, 0x040001de, 0x00000176, 0x42000000, ++ 0x01020140, 0x44008200, 0x00041008, 0x00000000, ++ } }, ++ { { /* 268 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x98504f14, 0x18504f14, ++ } }, ++ { { /* 269 */ ++ 0x00000000, 0x00000000, 0x00000c00, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 270 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x00480910, 0x00480910, ++ } }, ++ { { /* 271 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x0c186606, 0x0c186606, ++ } }, ++ { { /* 272 */ ++ 0x0c000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00010040, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 273 */ ++ 0x00001006, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 274 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0xfef02596, 0x3bffecae, 0x30003f5f, 0x00000000, ++ } }, ++ { { /* 275 */ ++ 0x03c03030, 0x0000c000, 0x00000000, 0x600c0c03, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 276 */ ++ 0x000c3003, 0x18c00c0c, 0x00c03060, 0x60000c03, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 277 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x00100002, 0x00100002, ++ } }, ++ { { /* 278 */ ++ 0x00000003, 0x18000000, 0x00003060, 0x00000c00, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 279 */ ++ 0x00000000, 0x00300000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 280 */ ++ 0xfdffb729, 0x000001ff, 0xb7290000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 281 */ ++ 0xfffddfec, 0xc3fffdff, 0x00803dcf, 0x00000003, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 282 */ ++ 0x00000000, 0xffffffff, 0xffffffff, 0x00ffffff, ++ 0xffffffff, 0x000003ff, 0x00000000, 0x00000000, ++ } }, ++ { { /* 283 */ ++ 0xffff0002, 0xffffffff, 0x0002ffff, 0x00000000, ++ 0x00000000, 0x0000c000, 0x00000000, 0x00000300, ++ } }, ++ { { /* 284 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000010, ++ 0xfff99fee, 0xf3c5fdff, 0xb000798f, 0x0002ffc0, ++ } }, ++ { { /* 285 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x00004004, 0x00004004, ++ } }, ++ { { /* 286 */ ++ 0x0f000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 287 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x02045101, 0x02045101, ++ } }, ++ { { /* 288 */ ++ 0x00000c00, 0x000000c3, 0x00000000, 0x18000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 289 */ ++ 0xffffffff, 0x0007f6fb, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 290 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000300, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 291 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x011c0661, 0x011c0661, ++ } }, ++ { { /* 292 */ ++ 0xfff98fee, 0xc3e5fdff, 0x0001398f, 0x0001fff0, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 293 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x1c58af16, 0x1c58af16, ++ } }, ++ { { /* 294 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x115c0671, 0x115c0671, ++ } }, ++ { { /* 295 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0xffffffff, 0x07ffffff, ++ } }, ++ { { /* 296 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x00100400, 0x00100400, ++ } }, ++ { { /* 297 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000003, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 298 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x00082202, 0x00082202, ++ } }, ++ { { /* 299 */ ++ 0x03000030, 0x0000c000, 0x00000006, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000c00, ++ } }, ++ { { /* 300 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x10000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 301 */ ++ 0x00000002, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 302 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00300000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 303 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x040c2383, 0x040c2383, ++ } }, ++ { { /* 304 */ ++ 0xfff99fee, 0xf3cdfdff, 0xb0c0398f, 0x00000003, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 305 */ ++ 0x00000000, 0x07ffffc6, 0x000001fe, 0x40000000, ++ 0x01000040, 0x0000a000, 0x00001000, 0x00000000, ++ } }, ++ { { /* 306 */ ++ 0xfff987e0, 0xd36dfdff, 0x1e003987, 0x001f0000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 307 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x160e2302, 0x160e2302, ++ } }, ++ { { /* 308 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x00020000, 0x00020000, ++ } }, ++ { { /* 309 */ ++ 0x030000f0, 0x00000000, 0x0c00001e, 0x1e000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 310 */ ++ 0x00000000, 0x07ffffde, 0x000005f6, 0x50000000, ++ 0x05480262, 0x10000a00, 0x00013000, 0x00000000, ++ } }, ++ { { /* 311 */ ++ 0x00000000, 0x07ffffde, 0x000005f6, 0x50000000, ++ 0x05480262, 0x10000a00, 0x00052000, 0x00000000, ++ } }, ++ { { /* 312 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x143c278f, 0x143c278f, ++ } }, ++ { { /* 313 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000100, 0x00000000, ++ } }, ++ { { /* 314 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x02045301, 0x02045301, ++ } }, ++ { { /* 315 */ ++ 0xffff0002, 0xffffffff, 0x0002ffff, 0x00000000, ++ 0x00300000, 0x0c00c030, 0x03000000, 0x00000000, ++ } }, ++ { { /* 316 */ ++ 0xfff987ee, 0xf325fdff, 0x00013987, 0x0001fff0, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 317 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x02041101, 0x02041101, ++ } }, ++ { { /* 318 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00800000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 319 */ ++ 0x30000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00040000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 320 */ ++ 0x00000000, 0x07fffdd6, 0x000005f6, 0xec000000, ++ 0x0200b4d9, 0x480a8640, 0x00000000, 0x00000000, ++ } }, ++ { { /* 321 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x00000002, 0x00000002, ++ } }, ++ { { /* 322 */ ++ 0x00033000, 0x00000000, 0x00000c00, 0x600000c3, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 323 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x1850cc14, 0x1850cc14, ++ } }, ++ { { /* 324 */ ++ 0xffff8f04, 0xffffffff, 0x8f04ffff, 0x00000000, ++ 0x030c0000, 0x0c00cc0f, 0x03000000, 0x00000300, ++ } }, ++ { { /* 325 */ ++ 0x00000000, 0x00800000, 0x03bffbaa, 0x03bffbaa, ++ 0x00000000, 0x00000000, 0x00002202, 0x00002202, ++ } }, ++ { { /* 326 */ ++ 0x00080000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 327 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0xfc7e3fec, 0x2ffbffbf, 0x7f5f847f, 0x00040000, ++ } }, ++ { { /* 328 */ ++ 0xff7fff7f, 0xff01ff7f, 0x3d7f3d7f, 0xffff7fff, ++ 0xffff3d7f, 0x003d7fff, 0xff7f7f3d, 0x00ff7fff, ++ } }, ++ { { /* 329 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x24182212, 0x24182212, ++ } }, ++ { { /* 330 */ ++ 0x0000f000, 0x66000000, 0x00300180, 0x60000033, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 331 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x00408030, 0x00408030, ++ } }, ++ { { /* 332 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x00020032, 0x00020032, ++ } }, ++ { { /* 333 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x00000016, 0x00000016, ++ } }, ++ { { /* 334 */ ++ 0x00033000, 0x00000000, 0x00000c00, 0x60000003, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 335 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x00200034, 0x00200034, ++ } }, ++ { { /* 336 */ ++ 0x00033000, 0x00000000, 0x00000c00, 0x60000003, ++ 0x00000000, 0x00800000, 0x00000000, 0x0000c3f0, ++ } }, ++ { { /* 337 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00040000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 338 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x00000880, 0x00000880, ++ } }, ++ { { /* 339 */ ++ 0xfdff8f04, 0xfdff01ff, 0x8f0401ff, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 340 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x10400a33, 0x10400a33, ++ } }, ++ { { /* 341 */ ++ 0xffff0000, 0xffff1fff, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 342 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0xd63dc7e8, 0xc3bfc718, 0x00803dc7, 0x00000000, ++ } }, ++ { { /* 343 */ ++ 0xfffddfee, 0xc3effdff, 0x00603ddf, 0x00000003, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 344 */ ++ 0xffff0002, 0xffffffff, 0x0002ffff, 0x00000000, ++ 0x0c0c0000, 0x00cc0000, 0x00000000, 0x0000c00c, ++ } }, ++ { { /* 345 */ ++ 0xfffffffe, 0x87ffffff, 0x00007fff, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 346 */ ++ 0xff7fff7f, 0xff01ff00, 0x00003d7f, 0xffff7fff, ++ 0x00ff0000, 0x003d7f7f, 0xff7f7f00, 0x00ff7f00, ++ } }, ++ { { /* 347 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x30400090, 0x30400090, ++ } }, ++ { { /* 348 */ ++ 0x00000000, 0x00000000, 0xc0000180, 0x60000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 349 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x18404084, 0x18404084, ++ } }, ++ { { /* 350 */ ++ 0xffff0002, 0xffffffff, 0x0002ffff, 0x00000000, ++ 0x00c00000, 0x0c00c00c, 0x03000000, 0x00000000, ++ } }, ++ { { /* 351 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x00008000, 0x00008000, ++ } }, ++ { { /* 352 */ ++ 0x00000000, 0x041ed5c0, 0x0000077e, 0x40000000, ++ 0x01000040, 0x4000a000, 0x002109c0, 0x00000000, ++ } }, ++ { { /* 353 */ ++ 0xffff00d0, 0xffffffff, 0x00d0ffff, 0x00000000, ++ 0x00030000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 354 */ ++ 0x000c0000, 0x30000000, 0x00000c30, 0x00030000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 355 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x263c370f, 0x263c370f, ++ } }, ++ { { /* 356 */ ++ 0x0003000c, 0x00000300, 0x00000000, 0x00000300, ++ 0x00000000, 0x00018003, 0x00000000, 0x00000000, ++ } }, ++ { { /* 357 */ ++ 0x0800024f, 0x00000008, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 358 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0xffffffff, 0xffffffff, 0x03ffffff, ++ } }, ++ { { /* 359 */ ++ 0x00000000, 0x00000000, 0x077dfffe, 0x077dfffe, ++ 0x00000000, 0x00000000, 0x10400010, 0x10400010, ++ } }, ++ { { /* 360 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x10400010, 0x10400010, ++ } }, ++ { { /* 361 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x081047a4, 0x081047a4, ++ } }, ++ { { /* 362 */ ++ 0x0c0030c0, 0x00000000, 0x0f30001e, 0x66000003, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 363 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x000a0a09, 0x000a0a09, ++ } }, ++ { { /* 364 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x00400810, 0x00400810, ++ } }, ++ { { /* 365 */ ++ 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe, ++ 0x00000000, 0x00000000, 0x0e3c770f, 0x0e3c770f, ++ } }, ++ { { /* 366 */ ++ 0x0c000000, 0x00000300, 0x00000018, 0x00000300, ++ 0x00000000, 0x00000000, 0x001fe000, 0x03000000, ++ } }, ++ { { /* 367 */ ++ 0x0000100f, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 368 */ ++ 0x00000000, 0xc0000000, 0x00000000, 0x0000000c, ++ 0x00000000, 0x33000000, 0x00003000, 0x00000000, ++ } }, ++ { { /* 369 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000280, 0x00000000, ++ } }, ++ { { /* 370 */ ++ 0x7f7b7f8b, 0xef553db4, 0xf35dfba8, 0x400b0243, ++ 0x8d3efb40, 0x8c2c7bf7, 0xe3fa6eff, 0xa8ed1d3a, ++ } }, ++ { { /* 371 */ ++ 0xcf83e602, 0x35558cf5, 0xffabe048, 0xd85992b9, ++ 0x2892ab18, 0x8020d7e9, 0xf583c438, 0x450ae74a, ++ } }, ++ { { /* 372 */ ++ 0x9714b000, 0x54007762, 0x1420d188, 0xc8c01020, ++ 0x00002121, 0x0c0413a8, 0x04408000, 0x082870c0, ++ } }, ++ { { /* 373 */ ++ 0x000408c0, 0x80000002, 0x14722b7b, 0x3bfb7924, ++ 0x1ae43327, 0x38ef9835, 0x28029ad1, 0xbf69a813, ++ } }, ++ { { /* 374 */ ++ 0x2fc665cf, 0xafc96b11, 0x5053340f, 0xa00486a2, ++ 0xe8090106, 0xc00e3f0f, 0x81450a88, 0xc6010010, ++ } }, ++ { { /* 375 */ ++ 0x26e1a161, 0xce00444b, 0xd4eec7aa, 0x85bbcadf, ++ 0xa5203a74, 0x8840436c, 0x8bd23f06, 0x3befff79, ++ } }, ++ { { /* 376 */ ++ 0xe8eff75a, 0x5b36fbcb, 0x1bfd0d49, 0x39ee0154, ++ 0x2e75d855, 0xa91abfd8, 0xf6bff3d7, 0xb40c67e0, ++ } }, ++ { { /* 377 */ ++ 0x081382c2, 0xd08bd49d, 0x1061065a, 0x59e074f2, ++ 0xb3128f9f, 0x6aaa0080, 0xb05e3230, 0x60ac9d7a, ++ } }, ++ { { /* 378 */ ++ 0xc900d303, 0x8a563098, 0x13907000, 0x18421f14, ++ 0x0008c060, 0x10808008, 0xec900400, 0xe6332817, ++ } }, ++ { { /* 379 */ ++ 0x90000758, 0x4e09f708, 0xfc83f485, 0x18c8af53, ++ 0x080c187c, 0x01146adf, 0xa734c80c, 0x2710a011, ++ } }, ++ { { /* 380 */ ++ 0x422228c5, 0x00210413, 0x41123010, 0x40001820, ++ 0xc60c022b, 0x10000300, 0x00220022, 0x02495810, ++ } }, ++ { { /* 381 */ ++ 0x9670a094, 0x1792eeb0, 0x05f2cb96, 0x23580025, ++ 0x42cc25de, 0x4a04cf38, 0x359f0c40, 0x8a001128, ++ } }, ++ { { /* 382 */ ++ 0x910a13fa, 0x10560229, 0x04200641, 0x84f00484, ++ 0x0c040000, 0x412c0400, 0x11541206, 0x00020a4b, ++ } }, ++ { { /* 383 */ ++ 0x00c00200, 0x00940000, 0xbfbb0001, 0x242b167c, ++ 0x7fa89bbb, 0xe3790c7f, 0xe00d10f4, 0x9f014132, ++ } }, ++ { { /* 384 */ ++ 0x35728652, 0xff1210b4, 0x4223cf27, 0x8602c06b, ++ 0x1fd33106, 0xa1aa3a0c, 0x02040812, 0x08012572, ++ } }, ++ { { /* 385 */ ++ 0x485040cc, 0x601062d0, 0x29001c80, 0x00109a00, ++ 0x22000004, 0x00800000, 0x68002020, 0x609ecbe6, ++ } }, ++ { { /* 386 */ ++ 0x3f73916e, 0x398260c0, 0x48301034, 0xbd5c0006, ++ 0xd6fb8cd1, 0x43e820e1, 0x084e0600, 0xc4d00500, ++ } }, ++ { { /* 387 */ ++ 0x89aa8d1f, 0x1602a6e1, 0x21ed0001, 0x1a8b3656, ++ 0x13a51fb7, 0x30a06502, 0x23c7b278, 0xe9226c93, ++ } }, ++ { { /* 388 */ ++ 0x3a74e47f, 0x98208fe3, 0x2625280e, 0xbf49bf9c, ++ 0xac543218, 0x1916b949, 0xb5220c60, 0x0659fbc1, ++ } }, ++ { { /* 389 */ ++ 0x8420e343, 0x800008d9, 0x20225500, 0x00a10184, ++ 0x20104800, 0x40801380, 0x00160d04, 0x80200040, ++ } }, ++ { { /* 390 */ ++ 0x8de7fd40, 0xe0985436, 0x091e7b8b, 0xd249fec8, ++ 0x8dee0611, 0xba221937, 0x9fdd77f4, 0xf0daf3ec, ++ } }, ++ { { /* 391 */ ++ 0xec424386, 0x26048d3f, 0xc021fa6c, 0x0cc2628e, ++ 0x0145d785, 0x559977ad, 0x4045e250, 0xa154260b, ++ } }, ++ { { /* 392 */ ++ 0x58199827, 0xa4103443, 0x411405f2, 0x07002280, ++ 0x426600b4, 0x15a17210, 0x41856025, 0x00000054, ++ } }, ++ { { /* 393 */ ++ 0x01040201, 0xcb70c820, 0x6a629320, 0x0095184c, ++ 0x9a8b1880, 0x3201aab2, 0x00c4d87a, 0x04c3f3e5, ++ } }, ++ { { /* 394 */ ++ 0xa238d44d, 0x5072a1a1, 0x84fc980a, 0x44d1c152, ++ 0x20c21094, 0x42104180, 0x3a000000, 0xd29d0240, ++ } }, ++ { { /* 395 */ ++ 0xa8b12f01, 0x2432bd40, 0xd04bd34d, 0xd0ada723, ++ 0x75a10a92, 0x01e9adac, 0x771f801a, 0xa01b9225, ++ } }, ++ { { /* 396 */ ++ 0x20cadfa1, 0x738c0602, 0x003b577f, 0x00d00bff, ++ 0x0088806a, 0x0029a1c4, 0x05242a05, 0x16234009, ++ } }, ++ { { /* 397 */ ++ 0x80056822, 0xa2112011, 0x64900004, 0x13824849, ++ 0x193023d5, 0x08922980, 0x88115402, 0xa0042001, ++ } }, ++ { { /* 398 */ ++ 0x81800400, 0x60228502, 0x0b010090, 0x12020022, ++ 0x00834011, 0x00001a01, 0x00000000, 0x00000000, ++ } }, ++ { { /* 399 */ ++ 0x00000000, 0x4684009f, 0x020012c8, 0x1a0004fc, ++ 0x0c4c2ede, 0x80b80402, 0x0afca826, 0x22288c02, ++ } }, ++ { { /* 400 */ ++ 0x8f7ba0e0, 0x2135c7d6, 0xf8b106c7, 0x62550713, ++ 0x8a19936e, 0xfb0e6efa, 0x48f91630, 0x7debcd2f, ++ } }, ++ { { /* 401 */ ++ 0x4e845892, 0x7a2e4ca0, 0x561eedea, 0x1190c649, ++ 0xe83a5324, 0x8124cfdb, 0x634218f1, 0x1a8a5853, ++ } }, ++ { { /* 402 */ ++ 0x24d37420, 0x0514aa3b, 0x89586018, 0xc0004800, ++ 0x91018268, 0x2cd684a4, 0xc4ba8886, 0x02100377, ++ } }, ++ { { /* 403 */ ++ 0x00388244, 0x404aae11, 0x510028c0, 0x15146044, ++ 0x10007310, 0x02480082, 0x40060205, 0x0000c003, ++ } }, ++ { { /* 404 */ ++ 0x0c020000, 0x02200008, 0x40009000, 0xd161b800, ++ 0x32744621, 0x3b8af800, 0x8b00050f, 0x2280bbd0, ++ } }, ++ { { /* 405 */ ++ 0x07690600, 0x00438040, 0x50005420, 0x250c41d0, ++ 0x83108410, 0x02281101, 0x00304008, 0x020040a1, ++ } }, ++ { { /* 406 */ ++ 0x20000040, 0xabe31500, 0xaa443180, 0xc624c2c6, ++ 0x8004ac13, 0x03d1b000, 0x4285611e, 0x1d9ff303, ++ } }, ++ { { /* 407 */ ++ 0x78e8440a, 0xc3925e26, 0x00852000, 0x4000b001, ++ 0x88424a90, 0x0c8dca04, 0x4203a705, 0x000422a1, ++ } }, ++ { { /* 408 */ ++ 0x0c018668, 0x10795564, 0xdea00002, 0x40c12000, ++ 0x5001488b, 0x04000380, 0x50040000, 0x80d0c05d, ++ } }, ++ { { /* 409 */ ++ 0x970aa010, 0x4dafbb20, 0x1e10d921, 0x83140460, ++ 0xa6d68848, 0x733fd83b, 0x497427bc, 0x92130ddc, ++ } }, ++ { { /* 410 */ ++ 0x8ba1142b, 0xd1392e75, 0x50503009, 0x69008808, ++ 0x024a49d4, 0x80164010, 0x89d7e564, 0x5316c020, ++ } }, ++ { { /* 411 */ ++ 0x86002b92, 0x15e0a345, 0x0c03008b, 0xe200196e, ++ 0x80067031, 0xa82916a5, 0x18802000, 0xe1487aac, ++ } }, ++ { { /* 412 */ ++ 0xb5d63207, 0x5f9132e8, 0x20e550a1, 0x10807c00, ++ 0x9d8a7280, 0x421f00aa, 0x02310e22, 0x04941100, ++ } }, ++ { { /* 413 */ ++ 0x40080022, 0x5c100010, 0xfcc80343, 0x0580a1a5, ++ 0x04008433, 0x6e080080, 0x81262a4b, 0x2901aad8, ++ } }, ++ { { /* 414 */ ++ 0x4490684d, 0xba880009, 0x00820040, 0x87d10000, ++ 0xb1e6215b, 0x80083161, 0xc2400800, 0xa600a069, ++ } }, ++ { { /* 415 */ ++ 0x4a328d58, 0x550a5d71, 0x2d579aa0, 0x4aa64005, ++ 0x30b12021, 0x01123fc6, 0x260a10c2, 0x50824462, ++ } }, ++ { { /* 416 */ ++ 0x80409880, 0x810004c0, 0x00002003, 0x38180000, ++ 0xf1a60200, 0x720e4434, 0x92e035a2, 0x09008101, ++ } }, ++ { { /* 417 */ ++ 0x00000400, 0x00008885, 0x00000000, 0x00804000, ++ 0x00000000, 0x00004040, 0x00000000, 0x00000000, ++ } }, ++ { { /* 418 */ ++ 0x00000000, 0x08000000, 0x00000082, 0x00000000, ++ 0x88000004, 0xe7efbfff, 0xffbfffff, 0xfdffefef, ++ } }, ++ { { /* 419 */ ++ 0xbffefbff, 0x057fffff, 0x85b30034, 0x42164706, ++ 0xe4105402, 0xb3058092, 0x81305422, 0x180b4263, ++ } }, ++ { { /* 420 */ ++ 0x13f5387b, 0xa9ea07e5, 0x05143c4c, 0x80020600, ++ 0xbd481ad9, 0xf496ee37, 0x7ec0705f, 0x355fbfb2, ++ } }, ++ { { /* 421 */ ++ 0x455fe644, 0x41469000, 0x063b1d40, 0xfe1362a1, ++ 0x39028505, 0x0c080548, 0x0000144f, 0x58183488, ++ } }, ++ { { /* 422 */ ++ 0xd8153077, 0x4bfbbd0e, 0x85008a90, 0xe61dc100, ++ 0xb386ed14, 0x639bff72, 0xd9befd92, 0x0a92887b, ++ } }, ++ { { /* 423 */ ++ 0x1cb2d3fe, 0x177ab980, 0xdc1782c9, 0x3980fffb, ++ 0x590c4260, 0x37df0f01, 0xb15094a3, 0x23070623, ++ } }, ++ { { /* 424 */ ++ 0x3102f85a, 0x310201f0, 0x1e820040, 0x056a3a0a, ++ 0x12805b84, 0xa7148002, 0xa04b2612, 0x90011069, ++ } }, ++ { { /* 425 */ ++ 0x848a1000, 0x3f801802, 0x42400708, 0x4e140110, ++ 0x180080b0, 0x0281c510, 0x10298202, 0x88000210, ++ } }, ++ { { /* 426 */ ++ 0x00420020, 0x11000280, 0x4413e000, 0xfe025804, ++ 0x30283c07, 0x04739798, 0xcb13ced1, 0x431f6210, ++ } }, ++ { { /* 427 */ ++ 0x55ac278d, 0xc892422e, 0x02885380, 0x78514039, ++ 0x8088292c, 0x2428b900, 0x080e0c41, 0x42004421, ++ } }, ++ { { /* 428 */ ++ 0x08680408, 0x12040006, 0x02903031, 0xe0855b3e, ++ 0x10442936, 0x10822814, 0x83344266, 0x531b013c, ++ } }, ++ { { /* 429 */ ++ 0x0e0d0404, 0x00510c22, 0xc0000012, 0x88000040, ++ 0x0000004a, 0x00000000, 0x5447dff6, 0x00088868, ++ } }, ++ { { /* 430 */ ++ 0x00000081, 0x40000000, 0x00000100, 0x02000000, ++ 0x00080600, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 431 */ ++ 0x00000080, 0x00000040, 0x00000000, 0x00001040, ++ 0x00000000, 0xf7fdefff, 0xfffeff7f, 0xfffffbff, ++ } }, ++ { { /* 432 */ ++ 0xbffffdff, 0x00ffffff, 0x042012c2, 0x07080c06, ++ 0x01101624, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 433 */ ++ 0xe0000000, 0xfffffffe, 0x7f79ffff, 0x00f928df, ++ 0x80120c32, 0xd53a0008, 0xecc2d858, 0x2fa89d18, ++ } }, ++ { { /* 434 */ ++ 0xe0109620, 0x2622d60c, 0x02060f97, 0x9055b240, ++ 0x501180a2, 0x04049800, 0x00004000, 0x00000000, ++ } }, ++ { { /* 435 */ ++ 0x00000000, 0x00000000, 0x00000000, 0xfffffbc0, ++ 0xdffbeffe, 0x62430b08, 0xfb3b41b6, 0x23896f74, ++ } }, ++ { { /* 436 */ ++ 0xecd7ae7f, 0x5960e047, 0x098fa096, 0xa030612c, ++ 0x2aaa090d, 0x4f7bd44e, 0x388bc4b2, 0x6110a9c6, ++ } }, ++ { { /* 437 */ ++ 0x42000014, 0x0202800c, 0x6485fe48, 0xe3f7d63e, ++ 0x0c073aa0, 0x0430e40c, 0x1002f680, 0x00000000, ++ } }, ++ { { /* 438 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00100000, ++ 0x00004000, 0x00004000, 0x00000100, 0x00000000, ++ } }, ++ { { /* 439 */ ++ 0x00000000, 0x40000000, 0x00000000, 0x00000400, ++ 0x00008000, 0x00000000, 0x00400400, 0x00000000, ++ } }, ++ { { /* 440 */ ++ 0x00000000, 0x40000000, 0x00000000, 0x00000800, ++ 0xfebdffe0, 0xffffffff, 0xfbe77f7f, 0xf7ffffbf, ++ } }, ++ { { /* 441 */ ++ 0xefffffff, 0xdff7ff7e, 0xfbdff6f7, 0x804fbffe, ++ 0x00000000, 0x00000000, 0x00000000, 0x7fffef00, ++ } }, ++ { { /* 442 */ ++ 0xb6f7ff7f, 0xb87e4406, 0x88313bf5, 0x00f41796, ++ 0x1391a960, 0x72490080, 0x0024f2f3, 0x42c88701, ++ } }, ++ { { /* 443 */ ++ 0x5048e3d3, 0x43052400, 0x4a4c0000, 0x10580227, ++ 0x01162820, 0x0014a809, 0x00000000, 0x00683ec0, ++ } }, ++ { { /* 444 */ ++ 0x00000000, 0x00000000, 0x00000000, 0xffe00000, ++ 0xfddbb7ff, 0x000000f7, 0xc72e4000, 0x00000180, ++ } }, ++ { { /* 445 */ ++ 0x00012000, 0x00004000, 0x00300000, 0xb4f7ffa8, ++ 0x03ffadf3, 0x00000120, 0x00000000, 0x00000000, ++ } }, ++ { { /* 446 */ ++ 0x00000000, 0x00000000, 0x00000000, 0xfffbf000, ++ 0xfdcf9df7, 0x15c301bf, 0x810a1827, 0x0a00a842, ++ } }, ++ { { /* 447 */ ++ 0x80088108, 0x18048008, 0x0012a3be, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 448 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x90000000, ++ 0xdc3769e6, 0x3dff6bff, 0xf3f9fcf8, 0x00000004, ++ } }, ++ { { /* 449 */ ++ 0x80000000, 0xe7eebf6f, 0x5da2dffe, 0xc00b3fd8, ++ 0xa00c0984, 0x69100040, 0xb912e210, 0x5a0086a5, ++ } }, ++ { { /* 450 */ ++ 0x02896800, 0x6a809005, 0x00030010, 0x80000000, ++ 0x8e001ff9, 0x00000001, 0x00000000, 0x00000000, ++ } }, ++ { { /* 451 */ ++ 0x00000080, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 452 */ ++ 0x00000000, 0x00000000, 0x00001000, 0x64080010, ++ 0x00480000, 0x10000020, 0x80000102, 0x08000010, ++ } }, ++ { { /* 453 */ ++ 0x00000040, 0x40000000, 0x00020000, 0x01852002, ++ 0x00800010, 0x80002022, 0x084444a2, 0x480e0000, ++ } }, ++ { { /* 454 */ ++ 0x04000200, 0x02202008, 0x80004380, 0x04000000, ++ 0x00000002, 0x12231420, 0x2058003a, 0x00200060, ++ } }, ++ { { /* 455 */ ++ 0x10002508, 0x040d0028, 0x00000009, 0x00008004, ++ 0x00800000, 0x42000001, 0x00000000, 0x09040000, ++ } }, ++ { { /* 456 */ ++ 0x02008000, 0x01402001, 0x00000000, 0x00000008, ++ 0x00000000, 0x00000001, 0x00021008, 0x04000000, ++ } }, ++ { { /* 457 */ ++ 0x00100100, 0x80040080, 0x00002000, 0x00000008, ++ 0x08040601, 0x01000012, 0x10000000, 0x49001024, ++ } }, ++ { { /* 458 */ ++ 0x0180004a, 0x00100600, 0x50840800, 0x000000c0, ++ 0x00800000, 0x20000800, 0x40000000, 0x08050000, ++ } }, ++ { { /* 459 */ ++ 0x02004000, 0x02000804, 0x01000004, 0x18060001, ++ 0x02400001, 0x40000002, 0x20800014, 0x000c1000, ++ } }, ++ { { /* 460 */ ++ 0x00222000, 0x00000000, 0x00100000, 0x00000000, ++ 0x00000000, 0x00000000, 0x10422800, 0x00000800, ++ } }, ++ { { /* 461 */ ++ 0x20080000, 0x00040000, 0x80025040, 0x20208604, ++ 0x00028020, 0x80102020, 0x080820c0, 0x10880800, ++ } }, ++ { { /* 462 */ ++ 0x00000000, 0x00000000, 0x00200109, 0x00100000, ++ 0x00000000, 0x81022700, 0x40c21404, 0x84010882, ++ } }, ++ { { /* 463 */ ++ 0x00004010, 0x00000000, 0x03000000, 0x00000008, ++ 0x00080000, 0x00000000, 0x10800001, 0x06002020, ++ } }, ++ { { /* 464 */ ++ 0x00000010, 0x02000000, 0x00880020, 0x00008424, ++ 0x00000000, 0x88000000, 0x81000100, 0x04000000, ++ } }, ++ { { /* 465 */ ++ 0x00004218, 0x00040000, 0x00000000, 0x80005080, ++ 0x00010000, 0x00040000, 0x08008000, 0x02008000, ++ } }, ++ { { /* 466 */ ++ 0x00020000, 0x00000000, 0x00000001, 0x04000401, ++ 0x00100000, 0x12200004, 0x00000000, 0x18100000, ++ } }, ++ { { /* 467 */ ++ 0x00000000, 0x00000800, 0x00000000, 0x00004000, ++ 0x00800000, 0x04000000, 0x82000002, 0x00042000, ++ } }, ++ { { /* 468 */ ++ 0x00080006, 0x00000000, 0x00000000, 0x04000000, ++ 0x80008000, 0x00810001, 0xa0000000, 0x00100410, ++ } }, ++ { { /* 469 */ ++ 0x00400218, 0x88084080, 0x00260008, 0x00800404, ++ 0x00000020, 0x00000000, 0x00000000, 0x00000200, ++ } }, ++ { { /* 470 */ ++ 0x00a08048, 0x00000000, 0x08000000, 0x04000000, ++ 0x00000000, 0x00000000, 0x00018000, 0x00200000, ++ } }, ++ { { /* 471 */ ++ 0x01000000, 0x00000000, 0x00000000, 0x10000000, ++ 0x00000000, 0x00000000, 0x00200000, 0x00102000, ++ } }, ++ { { /* 472 */ ++ 0x00000801, 0x00000000, 0x00000000, 0x00020000, ++ 0x08000000, 0x00002000, 0x20010000, 0x04002000, ++ } }, ++ { { /* 473 */ ++ 0x40000040, 0x50202400, 0x000a0020, 0x00040420, ++ 0x00000200, 0x00000080, 0x80000000, 0x00000020, ++ } }, ++ { { /* 474 */ ++ 0x20008000, 0x00200010, 0x00000000, 0x00000000, ++ 0x00400000, 0x01100000, 0x00020000, 0x80000010, ++ } }, ++ { { /* 475 */ ++ 0x02000000, 0x00801000, 0x00000000, 0x48058000, ++ 0x20c94000, 0x60000000, 0x00000001, 0x00000000, ++ } }, ++ { { /* 476 */ ++ 0x00004090, 0x48000000, 0x08000000, 0x28802000, ++ 0x00000002, 0x00014000, 0x00002000, 0x00002002, ++ } }, ++ { { /* 477 */ ++ 0x00010200, 0x00100000, 0x00000000, 0x00800000, ++ 0x10020000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 478 */ ++ 0x00000010, 0x00000402, 0x0c000000, 0x01000400, ++ 0x01000021, 0x00000000, 0x00004000, 0x00004000, ++ } }, ++ { { /* 479 */ ++ 0x00000000, 0x00800000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x02000020, ++ } }, ++ { { /* 480 */ ++ 0x00000100, 0x08000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00002000, 0x00000000, ++ } }, ++ { { /* 481 */ ++ 0x00006000, 0x00000000, 0x00000000, 0x00000400, ++ 0x04000040, 0x003c0180, 0x00000200, 0x00102000, ++ } }, ++ { { /* 482 */ ++ 0x00000800, 0x101000c0, 0x00800000, 0x00000000, ++ 0x00008000, 0x02200000, 0x00020020, 0x00000000, ++ } }, ++ { { /* 483 */ ++ 0x00000000, 0x01000000, 0x00000000, 0x20100000, ++ 0x00080000, 0x00000141, 0x02001002, 0x40400001, ++ } }, ++ { { /* 484 */ ++ 0x00580000, 0x00000002, 0x00003000, 0x00002400, ++ 0x00988000, 0x00040010, 0x00002800, 0x00000008, ++ } }, ++ { { /* 485 */ ++ 0x40080004, 0x00000020, 0x20080000, 0x02060a00, ++ 0x00010040, 0x14010200, 0x40800000, 0x08031000, ++ } }, ++ { { /* 486 */ ++ 0x40020020, 0x0000202c, 0x2014a008, 0x00000000, ++ 0x80040200, 0x82020012, 0x00400000, 0x20000000, ++ } }, ++ { { /* 487 */ ++ 0x00000000, 0x00000000, 0x00000004, 0x04000000, ++ 0x00000000, 0x00000000, 0x40800100, 0x00000000, ++ } }, ++ { { /* 488 */ ++ 0x00000008, 0x04000040, 0x00000001, 0x000c0200, ++ 0x00000000, 0x08000400, 0x00000000, 0x080c0001, ++ } }, ++ { { /* 489 */ ++ 0x00000400, 0x00000000, 0x00000000, 0x00200000, ++ 0x80000000, 0x00001000, 0x00000200, 0x01000800, ++ } }, ++ { { /* 490 */ ++ 0x00000000, 0x00000800, 0x00000000, 0x40000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x04040000, ++ } }, ++ { { /* 491 */ ++ 0x00000000, 0x00000000, 0x00000040, 0x00002000, ++ 0xa0000000, 0x00000000, 0x08000008, 0x00080000, ++ } }, ++ { { /* 492 */ ++ 0x00000020, 0x00000000, 0x40000400, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00008000, ++ } }, ++ { { /* 493 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000800, 0x00000000, 0x00000000, 0x00200000, ++ } }, ++ { { /* 494 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x04000000, ++ 0x00000008, 0x00000000, 0x00010000, 0x1b000000, ++ } }, ++ { { /* 495 */ ++ 0x00007000, 0x00000000, 0x10000000, 0x00000000, ++ 0x00000000, 0x00000080, 0x80000000, 0x00000000, ++ } }, ++ { { /* 496 */ ++ 0x00000000, 0x00020000, 0x00000000, 0x00200000, ++ 0x40000000, 0x00000010, 0x00800000, 0x00000008, ++ } }, ++ { { /* 497 */ ++ 0x00000000, 0x00000000, 0x02000000, 0x20000010, ++ 0x00000080, 0x00000000, 0x00010000, 0x00000000, ++ } }, ++ { { /* 498 */ ++ 0x00000000, 0x02000000, 0x00000000, 0x00000000, ++ 0x20000000, 0x00000040, 0x00200028, 0x00000000, ++ } }, ++ { { /* 499 */ ++ 0x00000000, 0x00020000, 0x00000000, 0x02000000, ++ 0x00000000, 0x02000000, 0x40020000, 0x51000040, ++ } }, ++ { { /* 500 */ ++ 0x00000080, 0x04040000, 0x00000000, 0x10000000, ++ 0x00022000, 0x00100000, 0x20000000, 0x00000082, ++ } }, ++ { { /* 501 */ ++ 0x40000000, 0x00010000, 0x00002000, 0x00000000, ++ 0x00000240, 0x00000000, 0x00000000, 0x00000008, ++ } }, ++ { { /* 502 */ ++ 0x00000000, 0x00010000, 0x00000810, 0x00080880, ++ 0x00004000, 0x00000000, 0x00000000, 0x00020000, ++ } }, ++ { { /* 503 */ ++ 0x00000000, 0x00400020, 0x00000000, 0x00000082, ++ 0x00000000, 0x00020001, 0x00000000, 0x00000000, ++ } }, ++ { { /* 504 */ ++ 0x40000018, 0x00000004, 0x00000000, 0x00000000, ++ 0x01000000, 0x00400000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 505 */ ++ 0x00000001, 0x00400000, 0x00000000, 0x00080002, ++ 0x00000400, 0x00040000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 506 */ ++ 0x00000800, 0x00000800, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000100, 0x00000000, ++ } }, ++ { { /* 507 */ ++ 0x00000000, 0x00200000, 0x00000000, 0x04108000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000002, ++ } }, ++ { { /* 508 */ ++ 0x00000000, 0x02800000, 0x04000000, 0x00000000, ++ 0x00000000, 0x00000004, 0x00000000, 0x00000400, ++ } }, ++ { { /* 509 */ ++ 0x00000000, 0x00000000, 0x10000000, 0x00040000, ++ 0x00400000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 510 */ ++ 0x00200000, 0x00000200, 0x00000000, 0x10000000, ++ 0x00000000, 0x00000000, 0x2a000000, 0x00000000, ++ } }, ++ { { /* 511 */ ++ 0x00400000, 0x00000000, 0x00400000, 0x00000000, ++ 0x00000002, 0x40000000, 0x00000000, 0x00400000, ++ } }, ++ { { /* 512 */ ++ 0x40000000, 0x00001000, 0x00000000, 0x00000000, ++ 0x00000202, 0x02000000, 0x80000000, 0x00020000, ++ } }, ++ { { /* 513 */ ++ 0x00000020, 0x00000800, 0x00020421, 0x00020000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00400000, ++ } }, ++ { { /* 514 */ ++ 0x00200000, 0x00000000, 0x00000001, 0x00000000, ++ 0x00000084, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 515 */ ++ 0x00000000, 0x00004400, 0x00000002, 0x00100000, ++ 0x00000000, 0x00000000, 0x00008200, 0x00000000, ++ } }, ++ { { /* 516 */ ++ 0x00000000, 0x12000000, 0x00000100, 0x00000001, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 517 */ ++ 0x00000020, 0x08100000, 0x000a0400, 0x00000081, ++ 0x00006000, 0x00120000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 518 */ ++ 0x00000004, 0x08000000, 0x00004000, 0x044000c0, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 519 */ ++ 0x40001000, 0x00000000, 0x01000001, 0x05000000, ++ 0x00080000, 0x02000000, 0x00000800, 0x00000000, ++ } }, ++ { { /* 520 */ ++ 0x00000100, 0x00000000, 0x00000000, 0x00000000, ++ 0x00002002, 0x01020000, 0x00800000, 0x00000000, ++ } }, ++ { { /* 521 */ ++ 0x00000040, 0x00004000, 0x01000000, 0x00000004, ++ 0x00020000, 0x00000000, 0x00000010, 0x00000000, ++ } }, ++ { { /* 522 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00080000, 0x00010000, 0x30000300, 0x00000400, ++ } }, ++ { { /* 523 */ ++ 0x00000800, 0x02000000, 0x00000000, 0x00008000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 524 */ ++ 0x00200000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x000040c0, 0x00002200, 0x12002000, ++ } }, ++ { { /* 525 */ ++ 0x00000000, 0x00000020, 0x20000000, 0x00000000, ++ 0x00000200, 0x00080800, 0x1000a000, 0x00000000, ++ } }, ++ { { /* 526 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00004000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 527 */ ++ 0x00000000, 0x00000000, 0x00004280, 0x01000000, ++ 0x00800000, 0x00000008, 0x00000000, 0x00000000, ++ } }, ++ { { /* 528 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000002, ++ 0x00000000, 0x20400000, 0x00000040, 0x00000000, ++ } }, ++ { { /* 529 */ ++ 0x00800080, 0x00800000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00400020, 0x00000000, 0x00008000, ++ } }, ++ { { /* 530 */ ++ 0x01000000, 0x00000040, 0x00000000, 0x00400000, ++ 0x00000000, 0x00000440, 0x00000000, 0x00800000, ++ } }, ++ { { /* 531 */ ++ 0x01000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00080000, 0x00000000, ++ } }, ++ { { /* 532 */ ++ 0x01000000, 0x00000001, 0x00000000, 0x00020000, ++ 0x00000000, 0x20002000, 0x00000000, 0x00000004, ++ } }, ++ { { /* 533 */ ++ 0x00000008, 0x00100000, 0x00000000, 0x00010000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 534 */ ++ 0x00000004, 0x00008000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00008000, ++ } }, ++ { { /* 535 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000040, 0x00000000, 0x00004000, 0x00000000, ++ } }, ++ { { /* 536 */ ++ 0x00000010, 0x00002000, 0x40000040, 0x00000000, ++ 0x10000000, 0x00000000, 0x00008080, 0x00000000, ++ } }, ++ { { /* 537 */ ++ 0x00000000, 0x00000000, 0x00000080, 0x00000000, ++ 0x00100080, 0x000000a0, 0x00000000, 0x00000000, ++ } }, ++ { { /* 538 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00100000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 539 */ ++ 0x00000000, 0x00000000, 0x00001000, 0x00000000, ++ 0x0001000a, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 540 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x08002000, 0x00000000, ++ } }, ++ { { /* 541 */ ++ 0x00000808, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 542 */ ++ 0x00004000, 0x00002400, 0x00008000, 0x40000000, ++ 0x00000001, 0x00002000, 0x04000000, 0x00040004, ++ } }, ++ { { /* 543 */ ++ 0x00000000, 0x00002000, 0x00000000, 0x00000000, ++ 0x00000000, 0x1c200000, 0x00000000, 0x02000000, ++ } }, ++ { { /* 544 */ ++ 0x00000000, 0x00080000, 0x00400000, 0x00000002, ++ 0x00000000, 0x00000100, 0x00000000, 0x00000000, ++ } }, ++ { { /* 545 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00400000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 546 */ ++ 0x00004100, 0x00000400, 0x20200010, 0x00004004, ++ 0x00000000, 0x42000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 547 */ ++ 0x00000080, 0x00000000, 0x00000121, 0x00000200, ++ 0x000000b0, 0x80002000, 0x00000000, 0x00010000, ++ } }, ++ { { /* 548 */ ++ 0x00000010, 0x000000c0, 0x08100000, 0x00000020, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 549 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x02000000, 0x00000404, 0x00000000, 0x00000000, ++ } }, ++ { { /* 550 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00400000, 0x00000008, 0x00000000, 0x00000000, ++ } }, ++ { { /* 551 */ ++ 0x00000000, 0x00000002, 0x00020000, 0x00002000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00204000, ++ } }, ++ { { /* 552 */ ++ 0x00000000, 0x00100000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00800000, 0x00000100, 0x00000001, ++ } }, ++ { { /* 553 */ ++ 0x10000000, 0x01000000, 0x00002400, 0x00000004, ++ 0x00000000, 0x00000000, 0x00000020, 0x00000002, ++ } }, ++ { { /* 554 */ ++ 0x00010000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 555 */ ++ 0x00000000, 0x00002400, 0x00000000, 0x00000000, ++ 0x00004802, 0x00000000, 0x00000000, 0x80022000, ++ } }, ++ { { /* 556 */ ++ 0x00001004, 0x04208000, 0x20000020, 0x00040000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 557 */ ++ 0x00000000, 0x00100000, 0x40010000, 0x00000000, ++ 0x00080000, 0x00000000, 0x00100211, 0x00000000, ++ } }, ++ { { /* 558 */ ++ 0x00001400, 0x00000000, 0x00000000, 0x00000000, ++ 0x00610000, 0x80008c00, 0x00000000, 0x00000000, ++ } }, ++ { { /* 559 */ ++ 0x00000100, 0x00000040, 0x00000000, 0x00000004, ++ 0x00004000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 560 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000400, 0x00000000, ++ } }, ++ { { /* 561 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000210, 0x00000000, 0x00000000, ++ } }, ++ { { /* 562 */ ++ 0x00000000, 0x00000020, 0x00000002, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 563 */ ++ 0x00004000, 0x00000000, 0x00000000, 0x02000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 564 */ ++ 0x00000000, 0x00000000, 0x00080002, 0x01000020, ++ 0x00400000, 0x00200000, 0x00008000, 0x00000000, ++ } }, ++ { { /* 565 */ ++ 0x00000000, 0x00020000, 0x00000000, 0xc0020000, ++ 0x10000000, 0x00000080, 0x00000000, 0x00000000, ++ } }, ++ { { /* 566 */ ++ 0x00000210, 0x00000000, 0x00001000, 0x04480000, ++ 0x20000000, 0x00000004, 0x00800000, 0x02000000, ++ } }, ++ { { /* 567 */ ++ 0x00000000, 0x08006000, 0x00001000, 0x00000000, ++ 0x00000000, 0x00100000, 0x00000000, 0x00000400, ++ } }, ++ { { /* 568 */ ++ 0x00100000, 0x00000000, 0x10000000, 0x08608000, ++ 0x00000000, 0x00000000, 0x00080002, 0x00000000, ++ } }, ++ { { /* 569 */ ++ 0x00000000, 0x20000000, 0x00008020, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 570 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x10000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 571 */ ++ 0x00000000, 0x00100000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 572 */ ++ 0x00000000, 0x00000400, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 573 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x02000000, ++ } }, ++ { { /* 574 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000080, 0x00000000, ++ } }, ++ { { /* 575 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000002, 0x00000000, 0x00000000, ++ } }, ++ { { /* 576 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00008000, 0x00000000, ++ } }, ++ { { /* 577 */ ++ 0x00000000, 0x00000000, 0x00000008, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000400, 0x00000000, ++ } }, ++ { { /* 578 */ ++ 0x00000000, 0x00000000, 0x00220000, 0x00000004, ++ 0x00000000, 0x00040000, 0x00000004, 0x00000000, ++ } }, ++ { { /* 579 */ ++ 0x00000000, 0x00000000, 0x00001000, 0x00000080, ++ 0x00002000, 0x00000000, 0x00000000, 0x00004000, ++ } }, ++ { { /* 580 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00100000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 581 */ ++ 0x00000000, 0x00020000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 582 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00200000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 583 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x04000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 584 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000200, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 585 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000001, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 586 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00080000, 0x00000000, ++ } }, ++ { { /* 587 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x01000000, 0x00000000, 0x00000400, ++ } }, ++ { { /* 588 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000080, 0x00000000, 0x00000000, ++ } }, ++ { { /* 589 */ ++ 0x00000000, 0x00000800, 0x00000100, 0x40000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 590 */ ++ 0x00000000, 0x00200000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 591 */ ++ 0x00000000, 0x00000000, 0x01000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 592 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x04000000, 0x00000000, ++ } }, ++ { { /* 593 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00001000, 0x00000000, ++ } }, ++ { { /* 594 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000400, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 595 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x04040000, ++ } }, ++ { { /* 596 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000020, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 597 */ ++ 0x00000000, 0x00000000, 0x00800000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 598 */ ++ 0x00000000, 0x00200000, 0x40000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 599 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x20000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 600 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x04000000, ++ 0x00000000, 0x00000001, 0x00000000, 0x00000000, ++ } }, ++ { { /* 601 */ ++ 0x00000000, 0x40000000, 0x02000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 602 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00080000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 603 */ ++ 0x00000000, 0x00000010, 0x00000000, 0x00000000, ++ 0x00000000, 0x20000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 604 */ ++ 0x00000000, 0x00000000, 0x20000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 605 */ ++ 0x00000080, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000004, ++ } }, ++ { { /* 606 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00002000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 607 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x10000001, 0x00000000, ++ } }, ++ { { /* 608 */ ++ 0x00008000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 609 */ ++ 0x00000000, 0x00000000, 0x00004040, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 610 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00042400, 0x00000000, ++ } }, ++ { { /* 611 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x02000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 612 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000080, ++ } }, ++ { { /* 613 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000020, ++ } }, ++ { { /* 614 */ ++ 0x00000000, 0x00000001, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 615 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00020000, 0x00000000, ++ } }, ++ { { /* 616 */ ++ 0x00000000, 0x00000000, 0x00002000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 617 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ 0x01000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 618 */ ++ 0x00000000, 0x00040000, 0x08000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 619 */ ++ 0xc373ff8b, 0x1b0f6840, 0xf34ce9ac, 0xc0080200, ++ 0xca3e795c, 0x06487976, 0xf7f02fdf, 0xa8ff033a, ++ } }, ++ { { /* 620 */ ++ 0x233fef37, 0xfd59b004, 0xfffff3ca, 0xfff9de9f, ++ 0x7df7abff, 0x8eecc000, 0xffdbeebf, 0x45fad003, ++ } }, ++ { { /* 621 */ ++ 0xdffefae1, 0x10abbfef, 0xfcaaffeb, 0x24fdef3f, ++ 0x7f7678ad, 0xedfff00c, 0x2cfacff6, 0xeb6bf7f9, ++ } }, ++ { { /* 622 */ ++ 0x95bf1ffd, 0xbfbf6677, 0xfeb43bfb, 0x11e27bae, ++ 0x41bea681, 0x72c31435, 0x71917d70, 0x276b0003, ++ } }, ++ { { /* 623 */ ++ 0x70cf57cb, 0x0def4732, 0xfc747eda, 0xbdb4fe06, ++ 0x8bca3f9f, 0x58007e49, 0xebec228f, 0xddbb8a5c, ++ } }, ++ { { /* 624 */ ++ 0xb6e7ef60, 0xf293a40f, 0x549e37bb, 0x9bafd04b, ++ 0xf7d4c414, 0x0a1430b0, 0x88d02f08, 0x192fff7e, ++ } }, ++ { { /* 625 */ ++ 0xfb07ffda, 0x7beb7ff1, 0x0010c5ef, 0xfdff99ff, ++ 0x056779d7, 0xfdcbffe7, 0x4040c3ff, 0xbd8e6ff7, ++ } }, ++ { { /* 626 */ ++ 0x0497dffa, 0x5bfff4c0, 0xd0e7ed7b, 0xf8e0047e, ++ 0xb73eff9f, 0x882e7dfe, 0xbe7ffffd, 0xf6c483fe, ++ } }, ++ { { /* 627 */ ++ 0xb8fdf357, 0xef7dd680, 0x47885767, 0xc3dfff7d, ++ 0x37a9f0ff, 0x70fc7de0, 0xec9a3f6f, 0x86814cb3, ++ } }, ++ { { /* 628 */ ++ 0xdd5c3f9e, 0x4819f70d, 0x0007fea3, 0x38ffaf56, ++ 0xefb8980d, 0xb760403d, 0x9035d8ce, 0x3fff72bf, ++ } }, ++ { { /* 629 */ ++ 0x7a117ff7, 0xabfff7bb, 0x6fbeff00, 0xfe72a93c, ++ 0xf11bcfef, 0xf40adb6b, 0xef7ec3e6, 0xf6109b9c, ++ } }, ++ { { /* 630 */ ++ 0x16f4f048, 0x5182feb5, 0x15bbc7b1, 0xfbdf6e87, ++ 0x63cde43f, 0x7e7ec1ff, 0x7d5ffdeb, 0xfcfe777b, ++ } }, ++ { { /* 631 */ ++ 0xdbea960b, 0x53e86229, 0xfdef37df, 0xbd8136f5, ++ 0xfcbddc18, 0xffffd2e4, 0xffe03fd7, 0xabf87f6f, ++ } }, ++ { { /* 632 */ ++ 0x6ed99bae, 0xf115f5fb, 0xbdfb79a9, 0xadaf5a3c, ++ 0x1facdbba, 0x837971fc, 0xc35f7cf7, 0x0567dfff, ++ } }, ++ { { /* 633 */ ++ 0x8467ff9a, 0xdf8b1534, 0x3373f9f3, 0x5e1af7bd, ++ 0xa03fbf40, 0x01ebffff, 0xcfdddfc0, 0xabd37500, ++ } }, ++ { { /* 634 */ ++ 0xeed6f8c3, 0xb7ff43fd, 0x42275eaf, 0xf6869bac, ++ 0xf6bc27d7, 0x35b7f787, 0xe176aacd, 0xe29f49e7, ++ } }, ++ { { /* 635 */ ++ 0xaff2545c, 0x61d82b3f, 0xbbb8fc3b, 0x7b7dffcf, ++ 0x1ce0bf95, 0x43ff7dfd, 0xfffe5ff6, 0xc4ced3ef, ++ } }, ++ { { /* 636 */ ++ 0xadbc8db6, 0x11eb63dc, 0x23d0df59, 0xf3dbbeb4, ++ 0xdbc71fe7, 0xfae4ff63, 0x63f7b22b, 0xadbaed3b, ++ } }, ++ { { /* 637 */ ++ 0x7efffe01, 0x02bcfff7, 0xef3932ff, 0x8005fffc, ++ 0xbcf577fb, 0xfff7010d, 0xbf3afffb, 0xdfff0057, ++ } }, ++ { { /* 638 */ ++ 0xbd7def7b, 0xc8d4db88, 0xed7cfff3, 0x56ff5dee, ++ 0xac5f7e0d, 0xd57fff96, 0xc1403fee, 0xffe76ff9, ++ } }, ++ { { /* 639 */ ++ 0x8e77779b, 0xe45d6ebf, 0x5f1f6fcf, 0xfedfe07f, ++ 0x01fed7db, 0xfb7bff00, 0x1fdfffd4, 0xfffff800, ++ } }, ++ { { /* 640 */ ++ 0x007bfb8f, 0x7f5cbf00, 0x07f3ffff, 0x3de7eba0, ++ 0xfbd7f7bf, 0x6003ffbf, 0xbfedfffd, 0x027fefbb, ++ } }, ++ { { /* 641 */ ++ 0xddfdfe40, 0xe2f9fdff, 0xfb1f680b, 0xaffdfbe3, ++ 0xf7ed9fa4, 0xf80f7a7d, 0x0fd5eebe, 0xfd9fbb5d, ++ } }, ++ { { /* 642 */ ++ 0x3bf9f2db, 0xebccfe7f, 0x73fa876a, 0x9ffc95fc, ++ 0xfaf7109f, 0xbbcdddb7, 0xeccdf87e, 0x3c3ff366, ++ } }, ++ { { /* 643 */ ++ 0xb03ffffd, 0x067ee9f7, 0xfe0696ae, 0x5fd7d576, ++ 0xa3f33fd1, 0x6fb7cf07, 0x7f449fd1, 0xd3dd7b59, ++ } }, ++ { { /* 644 */ ++ 0xa9bdaf3b, 0xff3a7dcf, 0xf6ebfbe0, 0xffffb401, ++ 0xb7bf7afa, 0x0ffdc000, 0xff1fff7f, 0x95fffefc, ++ } }, ++ { { /* 645 */ ++ 0xb5dc0000, 0x3f3eef63, 0x001bfb7f, 0xfbf6e800, ++ 0xb8df9eef, 0x003fff9f, 0xf5ff7bd0, 0x3fffdfdb, ++ } }, ++ { { /* 646 */ ++ 0x00bffdf0, 0xbbbd8420, 0xffdedf37, 0x0ff3ff6d, ++ 0x5efb604c, 0xfafbfffb, 0x0219fe5e, 0xf9de79f4, ++ } }, ++ { { /* 647 */ ++ 0xebfaa7f7, 0xff3401eb, 0xef73ebd3, 0xc040afd7, ++ 0xdcff72bb, 0x2fd8f17f, 0xfe0bb8ec, 0x1f0bdda3, ++ } }, ++ { { /* 648 */ ++ 0x47cf8f1d, 0xffdeb12b, 0xda737fee, 0xcbc424ff, ++ 0xcbf2f75d, 0xb4edecfd, 0x4dddbff9, 0xfb8d99dd, ++ } }, ++ { { /* 649 */ ++ 0xaf7bbb7f, 0xc959ddfb, 0xfab5fc4f, 0x6d5fafe3, ++ 0x3f7dffff, 0xffdb7800, 0x7effb6ff, 0x022ffbaf, ++ } }, ++ { { /* 650 */ ++ 0xefc7ff9b, 0xffffffa5, 0xc7000007, 0xfff1f7ff, ++ 0x01bf7ffd, 0xfdbcdc00, 0xffffbff5, 0x3effff7f, ++ } }, ++ { { /* 651 */ ++ 0xbe000029, 0xff7ff9ff, 0xfd7e6efb, 0x039ecbff, ++ 0xfbdde300, 0xf6dfccff, 0x117fffff, 0xfbf6f800, ++ } }, ++ { { /* 652 */ ++ 0xd73ce7ef, 0xdfeffeef, 0xedbfc00b, 0xfdcdfedf, ++ 0x40fd7bf5, 0xb75fffff, 0xf930ffdf, 0xdc97fbdf, ++ } }, ++ { { /* 653 */ ++ 0xbff2fef3, 0xdfbf8fdf, 0xede6177f, 0x35530f7f, ++ 0x877e447c, 0x45bbfa12, 0x779eede0, 0xbfd98017, ++ } }, ++ { { /* 654 */ ++ 0xde897e55, 0x0447c16f, 0xf75d7ade, 0x290557ff, ++ 0xfe9586f7, 0xf32f97b3, 0x9f75cfff, 0xfb1771f7, ++ } }, ++ { { /* 655 */ ++ 0xee1934ee, 0xef6137cc, 0xef4c9fd6, 0xfbddd68f, ++ 0x6def7b73, 0xa431d7fe, 0x97d75e7f, 0xffd80f5b, ++ } }, ++ { { /* 656 */ ++ 0x7bce9d83, 0xdcff22ec, 0xef87763d, 0xfdeddfe7, ++ 0xa0fc4fff, 0xdbfc3b77, 0x7fdc3ded, 0xf5706fa9, ++ } }, ++ { { /* 657 */ ++ 0x2c403ffb, 0x847fff7f, 0xdeb7ec57, 0xf22fe69c, ++ 0xd5b50feb, 0xede7afeb, 0xfff08c2f, 0xe8f0537f, ++ } }, ++ { { /* 658 */ ++ 0xb5ffb99d, 0xe78fff66, 0xbe10d981, 0xe3c19c7c, ++ 0x27339cd1, 0xff6d0cbc, 0xefb7fcb7, 0xffffa0df, ++ } }, ++ { { /* 659 */ ++ 0xfe7bbf0b, 0x353fa3ff, 0x97cd13cc, 0xfb277637, ++ 0x7e6ccfd6, 0xed31ec50, 0xfc1c677c, 0x5fbff6fa, ++ } }, ++ { { /* 660 */ ++ 0xae2f0fba, 0x7ffea3ad, 0xde74fcf0, 0xf200ffef, ++ 0xfea2fbbf, 0xbcff3daf, 0x5fb9f694, 0x3f8ff3ad, ++ } }, ++ { { /* 661 */ ++ 0xa01ff26c, 0x01bfffef, 0x70057728, 0xda03ff35, ++ 0xc7fad2f9, 0x5c1d3fbf, 0xec33ff3a, 0xfe9cb7af, ++ } }, ++ { { /* 662 */ ++ 0x7a9f5236, 0xe722bffa, 0xfcff9ff7, 0xb61d2fbb, ++ 0x1dfded06, 0xefdf7dd7, 0xf166eb23, 0x0dc07ed9, ++ } }, ++ { { /* 663 */ ++ 0xdfbf3d3d, 0xba83c945, 0x9dd07dd1, 0xcf737b87, ++ 0xc3f59ff3, 0xc5fedf0d, 0x83020cb3, 0xaec0e879, ++ } }, ++ { { /* 664 */ ++ 0x6f0fc773, 0x093ffd7d, 0x0157fff1, 0x01ff62fb, ++ 0x3bf3fdb4, 0x43b2b013, 0xff305ed3, 0xeb9f0fff, ++ } }, ++ { { /* 665 */ ++ 0xf203feef, 0xfb893fef, 0x9e9937a9, 0xa72cdef9, ++ 0xc1f63733, 0xfe3e812e, 0xf2f75d20, 0x69d7d585, ++ } }, ++ { { /* 666 */ ++ 0xffffffff, 0xff6fdb07, 0xd97fc4ff, 0xbe0fefce, ++ 0xf05ef17b, 0xffb7f6cf, 0xef845ef7, 0x0edfd7cb, ++ } }, ++ { { /* 667 */ ++ 0xfcffff08, 0xffffee3f, 0xd7ff13ff, 0x7ffdaf0f, ++ 0x1ffabdc7, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 668 */ ++ 0x00000000, 0xe7400000, 0xf933bd38, 0xfeed7feb, ++ 0x7c767fe8, 0xffefb3f7, 0xd8b7feaf, 0xfbbfff6f, ++ } }, ++ { { /* 669 */ ++ 0xdbf7f8fb, 0xe2f91752, 0x754785c8, 0xe3ef9090, ++ 0x3f6d9ef4, 0x0536ee2e, 0x7ff3f7bc, 0x7f3fa07b, ++ } }, ++ { { /* 670 */ ++ 0xeb600567, 0x6601babe, 0x583ffcd8, 0x87dfcaf7, ++ 0xffa0bfcd, 0xfebf5bcd, 0xefa7b6fd, 0xdf9c77ef, ++ } }, ++ { { /* 671 */ ++ 0xf8773fb7, 0xb7fc9d27, 0xdfefcab5, 0xf1b6fb5a, ++ 0xef1fec39, 0x7ffbfbbf, 0xdafe000d, 0x4e7fbdfb, ++ } }, ++ { { /* 672 */ ++ 0x5ac033ff, 0x9ffebff5, 0x005fffbf, 0xfdf80000, ++ 0x6ffdffca, 0xa001cffd, 0xfbf2dfff, 0xff7fdfbf, ++ } }, ++ { { /* 673 */ ++ 0x080ffeda, 0xbfffba08, 0xeed77afd, 0x67f9fbeb, ++ 0xff93e044, 0x9f57df97, 0x08dffef7, 0xfedfdf80, ++ } }, ++ { { /* 674 */ ++ 0xf7feffc5, 0x6803fffb, 0x6bfa67fb, 0x5fe27fff, ++ 0xff73ffff, 0xe7fb87df, 0xf7a7ebfd, 0xefc7bf7e, ++ } }, ++ { { /* 675 */ ++ 0xdf821ef3, 0xdf7e76ff, 0xda7d79c9, 0x1e9befbe, ++ 0x77fb7ce0, 0xfffb87be, 0xffdb1bff, 0x4fe03f5c, ++ } }, ++ { { /* 676 */ ++ 0x5f0e7fff, 0xddbf77ff, 0xfffff04f, 0x0ff8ffff, ++ 0xfddfa3be, 0xfffdfc1c, 0xfb9e1f7d, 0xdedcbdff, ++ } }, ++ { { /* 677 */ ++ 0xbafb3f6f, 0xfbefdf7f, 0x2eec7d1b, 0xf2f7af8e, ++ 0xcfee7b0f, 0x77c61d96, 0xfff57e07, 0x7fdfd982, ++ } }, ++ { { /* 678 */ ++ 0xc7ff5ee6, 0x79effeee, 0xffcf9a56, 0xde5efe5f, ++ 0xf9e8896e, 0xe6c4f45e, 0xbe7c0001, 0xdddf3b7f, ++ } }, ++ { { /* 679 */ ++ 0xe9efd59d, 0xde5334ac, 0x4bf7f573, 0x9eff7b4f, ++ 0x476eb8fe, 0xff450dfb, 0xfbfeabfd, 0xddffe9d7, ++ } }, ++ { { /* 680 */ ++ 0x7fffedf7, 0x7eebddfd, 0xb7ffcfe7, 0xef91bde9, ++ 0xd77c5d75, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 681 */ ++ 0x00000000, 0xfa800000, 0xb4f1ffee, 0x2fefbf76, ++ 0x77bfb677, 0xfffd9fbf, 0xf6ae95bf, 0x7f3b75ff, ++ } }, ++ { { /* 682 */ ++ 0x0af9a7f5, 0x00000000, 0x00000000, 0x2bddfbd0, ++ 0x9a7ff633, 0xd6fcfdab, 0xbfebf9e6, 0xf41fdfdf, ++ } }, ++ { { /* 683 */ ++ 0xffffa6fd, 0xf37b4aff, 0xfef97fb7, 0x1d5cb6ff, ++ 0xe5ff7ff6, 0x24041f7b, 0xf99ebe05, 0xdff2dbe3, ++ } }, ++ { { /* 684 */ ++ 0xfdff6fef, 0xcbfcd679, 0xefffebfd, 0x0000001f, ++ 0x98000000, 0x8017e148, 0x00fe6a74, 0xfdf16d7f, ++ } }, ++ { { /* 685 */ ++ 0xfef3b87f, 0xf176e01f, 0x7b3fee96, 0xfffdeb8d, ++ 0xcbb3adff, 0xe17f84ef, 0xbff04daa, 0xfe3fbf3f, ++ } }, ++ { { /* 686 */ ++ 0xffd7ebff, 0xcf7fffdf, 0x85edfffb, 0x07bcd73f, ++ 0xfe0faeff, 0x76bffdaf, 0x37bbfaef, 0xa3ba7fdc, ++ } }, ++ { { /* 687 */ ++ 0x56f7b6ff, 0xe7df60f8, 0x4cdfff61, 0xff45b0fb, ++ 0x3ffa7ded, 0x18fc1fff, 0xe3afffff, 0xdf83c7d3, ++ } }, ++ { { /* 688 */ ++ 0xef7dfb57, 0x1378efff, 0x5ff7fec0, 0x5ee334bb, ++ 0xeff6f70d, 0x00bfd7fe, 0xf7f7f59d, 0xffe051de, ++ } }, ++ { { /* 689 */ ++ 0x037ffec9, 0xbfef5f01, 0x60a79ff1, 0xf1ffef1d, ++ 0x0000000f, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++ { { /* 690 */ ++ 0x00000000, 0x00000000, 0x00000000, 0x3c800000, ++ 0xd91ffb4d, 0xfee37b3a, 0xdc7f3fe9, 0x0000003f, ++ } }, ++ { { /* 691 */ ++ 0x50000000, 0xbe07f51f, 0xf91bfc1d, 0x71ffbc1e, ++ 0x5bbe6ff9, 0x9b1b5796, 0xfffc7fff, 0xafe7872e, ++ } }, ++ { { /* 692 */ ++ 0xf34febf5, 0xe725dffd, 0x5d440bdc, 0xfddd5747, ++ 0x7790ed3f, 0x8ac87d7f, 0xf3f9fafa, 0xef4b202a, ++ } }, ++ { { /* 693 */ ++ 0x79cff5ff, 0x0ba5abd3, 0xfb8ff77a, 0x001f8ebd, ++ 0x00000000, 0xfd4ef300, 0x88001a57, 0x7654aeac, ++ } }, ++ { { /* 694 */ ++ 0xcdff17ad, 0xf42fffb2, 0xdbff5baa, 0x00000002, ++ 0x73c00000, 0x2e3ff9ea, 0xbbfffa8e, 0xffd376bc, ++ } }, ++ { { /* 695 */ ++ 0x7e72eefe, 0xe7f77ebd, 0xcefdf77f, 0x00000ff5, ++ 0x00000000, 0xdb9ba900, 0x917fa4c7, 0x7ecef8ca, ++ } }, ++ { { /* 696 */ ++ 0xc7e77d7a, 0xdcaecbbd, 0x8f76fd7e, 0x7cf391d3, ++ 0x4c2f01e5, 0xa360ed77, 0x5ef807db, 0x21811df7, ++ } }, ++ { { /* 697 */ ++ 0x309c6be0, 0xfade3b3a, 0xc3f57f53, 0x07ba61cd, ++ 0x00000000, 0x00000000, 0x00000000, 0xbefe26e0, ++ } }, ++ { { /* 698 */ ++ 0xebb503f9, 0xe9cbe36d, 0xbfde9c2f, 0xabbf9f83, ++ 0xffd51ff7, 0xdffeb7df, 0xffeffdae, 0xeffdfb7e, ++ } }, ++ { { /* 699 */ ++ 0x6ebfaaff, 0x00000000, 0x00000000, 0xb6200000, ++ 0xbe9e7fcd, 0x58f162b3, 0xfd7bf10d, 0xbefde9f1, ++ } }, ++ { { /* 700 */ ++ 0x5f6dc6c3, 0x69ffff3d, 0xfbf4ffcf, 0x4ff7dcfb, ++ 0x11372000, 0x00000015, 0x00000000, 0x00000000, ++ } }, ++ { { /* 701 */ ++ 0x00003000, 0x00000000, 0x00000000, 0x00000000, ++ 0x00000000, 0x00000000, 0x00000000, 0x00000000, ++ } }, ++}, ++{ ++ /* aa */ ++ LEAF( 0, 0), ++ /* ab */ ++ LEAF( 1, 1), ++ /* af */ ++ LEAF( 2, 2), LEAF( 2, 3), ++ /* ak */ ++ LEAF( 4, 4), LEAF( 4, 5), LEAF( 4, 6), LEAF( 4, 7), ++ LEAF( 4, 8), ++ /* am */ ++ LEAF( 9, 9), LEAF( 9, 10), ++ /* an */ ++ LEAF( 11, 11), ++ /* ar */ ++ LEAF( 12, 12), ++ /* as */ ++ LEAF( 13, 13), ++ /* ast */ ++ LEAF( 14, 11), LEAF( 14, 14), ++ /* av */ ++ LEAF( 16, 15), ++ /* ay */ ++ LEAF( 17, 16), ++ /* az_az */ ++ LEAF( 18, 17), LEAF( 18, 18), LEAF( 18, 19), ++ /* az_ir */ ++ LEAF( 21, 20), ++ /* ba */ ++ LEAF( 22, 21), ++ /* be */ ++ LEAF( 23, 22), ++ /* ber_dz */ ++ LEAF( 24, 23), LEAF( 24, 24), LEAF( 24, 25), LEAF( 24, 26), ++ /* ber_ma */ ++ LEAF( 28, 27), ++ /* bg */ ++ LEAF( 29, 28), ++ /* bh */ ++ LEAF( 30, 29), ++ /* bi */ ++ LEAF( 31, 30), ++ /* bin */ ++ LEAF( 32, 31), LEAF( 32, 32), LEAF( 32, 33), ++ /* bm */ ++ LEAF( 35, 23), LEAF( 35, 34), LEAF( 35, 35), ++ /* bn */ ++ LEAF( 38, 36), ++ /* bo */ ++ LEAF( 39, 37), ++ /* br */ ++ LEAF( 40, 38), ++ /* brx */ ++ LEAF( 41, 39), ++ /* bs */ ++ LEAF( 42, 23), LEAF( 42, 40), ++ /* bua */ ++ LEAF( 44, 41), ++ /* byn */ ++ LEAF( 45, 42), LEAF( 45, 43), ++ /* ca */ ++ LEAF( 47, 44), LEAF( 47, 45), ++ /* ch */ ++ LEAF( 49, 46), ++ /* chm */ ++ LEAF( 50, 47), ++ /* chr */ ++ LEAF( 51, 48), ++ /* co */ ++ LEAF( 52, 49), LEAF( 52, 50), ++ /* crh */ ++ LEAF( 54, 51), LEAF( 54, 52), ++ /* cs */ ++ LEAF( 56, 53), LEAF( 56, 54), ++ /* csb */ ++ LEAF( 58, 55), LEAF( 58, 56), ++ /* cu */ ++ LEAF( 60, 57), ++ /* cv */ ++ LEAF( 61, 58), LEAF( 61, 59), ++ /* cy */ ++ LEAF( 63, 60), LEAF( 63, 61), LEAF( 63, 62), ++ /* da */ ++ LEAF( 66, 63), ++ /* de */ ++ LEAF( 67, 64), ++ /* doi */ ++ LEAF( 68, 65), ++ /* dv */ ++ LEAF( 69, 66), ++ /* ee */ ++ LEAF( 70, 31), LEAF( 70, 67), LEAF( 70, 68), LEAF( 70, 69), ++ /* el */ ++ LEAF( 74, 70), ++ /* en */ ++ LEAF( 75, 71), ++ /* eo */ ++ LEAF( 76, 23), LEAF( 76, 72), ++ /* et */ ++ LEAF( 78, 73), LEAF( 78, 74), ++ /* eu */ ++ LEAF( 80, 75), ++ /* ff */ ++ LEAF( 81, 23), LEAF( 81, 76), LEAF( 81, 77), ++ /* fi */ ++ LEAF( 84, 78), LEAF( 84, 74), ++ /* fil */ ++ LEAF( 86, 79), ++ /* fj */ ++ LEAF( 87, 23), ++ /* fo */ ++ LEAF( 88, 80), ++ /* fur */ ++ LEAF( 89, 81), ++ /* fy */ ++ LEAF( 90, 82), ++ /* ga */ ++ LEAF( 91, 83), LEAF( 91, 84), LEAF( 91, 85), ++ /* gd */ ++ LEAF( 94, 86), ++ /* gez */ ++ LEAF( 95, 87), LEAF( 95, 88), ++ /* gn */ ++ LEAF( 97, 89), LEAF( 97, 90), LEAF( 97, 91), ++ /* gu */ ++ LEAF(100, 92), ++ /* gv */ ++ LEAF(101, 93), ++ /* ha */ ++ LEAF(102, 23), LEAF(102, 94), LEAF(102, 95), ++ /* haw */ ++ LEAF(105, 23), LEAF(105, 96), LEAF(105, 97), ++ /* he */ ++ LEAF(108, 98), ++ /* hsb */ ++ LEAF(109, 99), LEAF(109,100), ++ /* ht */ ++ LEAF(111,101), ++ /* hu */ ++ LEAF(112,102), LEAF(112,103), ++ /* hy */ ++ LEAF(114,104), ++ /* hz */ ++ LEAF(115, 23), LEAF(115,105), LEAF(115,106), ++ /* id */ ++ LEAF(118,107), ++ /* ig */ ++ LEAF(119, 23), LEAF(119,108), ++ /* ii */ ++ LEAF(121,109), LEAF(121,109), LEAF(121,109), LEAF(121,109), ++ LEAF(121,110), ++ /* ik */ ++ LEAF(126,111), ++ /* is */ ++ LEAF(127,112), ++ /* it */ ++ LEAF(128,113), ++ /* iu */ ++ LEAF(129,114), LEAF(129,115), LEAF(129,116), ++ /* ja */ ++ LEAF(132,117), LEAF(132,118), LEAF(132,119), LEAF(132,120), ++ LEAF(132,121), LEAF(132,122), LEAF(132,123), LEAF(132,124), ++ LEAF(132,125), LEAF(132,126), LEAF(132,127), LEAF(132,128), ++ LEAF(132,129), LEAF(132,130), LEAF(132,131), LEAF(132,132), ++ LEAF(132,133), LEAF(132,134), LEAF(132,135), LEAF(132,136), ++ LEAF(132,137), LEAF(132,138), LEAF(132,139), LEAF(132,140), ++ LEAF(132,141), LEAF(132,142), LEAF(132,143), LEAF(132,144), ++ LEAF(132,145), LEAF(132,146), LEAF(132,147), LEAF(132,148), ++ LEAF(132,149), LEAF(132,150), LEAF(132,151), LEAF(132,152), ++ LEAF(132,153), LEAF(132,154), LEAF(132,155), LEAF(132,156), ++ LEAF(132,157), LEAF(132,158), LEAF(132,159), LEAF(132,160), ++ LEAF(132,161), LEAF(132,162), LEAF(132,163), LEAF(132,164), ++ LEAF(132,165), LEAF(132,166), LEAF(132,167), LEAF(132,168), ++ LEAF(132,169), LEAF(132,170), LEAF(132,171), LEAF(132,172), ++ LEAF(132,173), LEAF(132,174), LEAF(132,175), LEAF(132,176), ++ LEAF(132,177), LEAF(132,178), LEAF(132,179), LEAF(132,180), ++ LEAF(132,181), LEAF(132,182), LEAF(132,183), LEAF(132,184), ++ LEAF(132,185), LEAF(132,186), LEAF(132,187), LEAF(132,188), ++ LEAF(132,189), LEAF(132,190), LEAF(132,191), LEAF(132,192), ++ LEAF(132,193), LEAF(132,194), LEAF(132,195), LEAF(132,196), ++ LEAF(132,197), LEAF(132,198), LEAF(132,199), ++ /* jv */ ++ LEAF(215,200), ++ /* ka */ ++ LEAF(216,201), ++ /* kaa */ ++ LEAF(217,202), ++ /* ki */ ++ LEAF(218, 23), LEAF(218,203), ++ /* kk */ ++ LEAF(220,204), ++ /* kl */ ++ LEAF(221,205), LEAF(221,206), ++ /* km */ ++ LEAF(223,207), ++ /* kn */ ++ LEAF(224,208), ++ /* ko */ ++ LEAF(225,209), LEAF(225,210), LEAF(225,211), LEAF(225,212), ++ LEAF(225,213), LEAF(225,214), LEAF(225,215), LEAF(225,216), ++ LEAF(225,217), LEAF(225,218), LEAF(225,219), LEAF(225,220), ++ LEAF(225,221), LEAF(225,222), LEAF(225,223), LEAF(225,224), ++ LEAF(225,225), LEAF(225,226), LEAF(225,227), LEAF(225,228), ++ LEAF(225,229), LEAF(225,230), LEAF(225,231), LEAF(225,232), ++ LEAF(225,233), LEAF(225,234), LEAF(225,235), LEAF(225,236), ++ LEAF(225,237), LEAF(225,238), LEAF(225,239), LEAF(225,240), ++ LEAF(225,241), LEAF(225,242), LEAF(225,243), LEAF(225,244), ++ LEAF(225,245), LEAF(225,246), LEAF(225,247), LEAF(225,248), ++ LEAF(225,249), LEAF(225,250), LEAF(225,251), LEAF(225,252), ++ LEAF(225,253), ++ /* kr */ ++ LEAF(270, 23), LEAF(270,254), LEAF(270,255), ++ /* ks */ ++ LEAF(273,256), ++ /* ku_am */ ++ LEAF(274,257), LEAF(274,258), ++ /* ku_iq */ ++ LEAF(276,259), ++ /* ku_tr */ ++ LEAF(277,260), LEAF(277,261), ++ /* kum */ ++ LEAF(279,262), ++ /* kv */ ++ LEAF(280,263), ++ /* kw */ ++ LEAF(281, 23), LEAF(281, 96), LEAF(281,264), ++ /* ky */ ++ LEAF(284,265), ++ /* la */ ++ LEAF(285, 23), LEAF(285,266), ++ /* lah */ ++ LEAF(287,267), ++ /* lb */ ++ LEAF(288,268), ++ /* lg */ ++ LEAF(289, 23), LEAF(289,269), ++ /* li */ ++ LEAF(291,270), ++ /* ln */ ++ LEAF(292,271), LEAF(292,272), LEAF(292, 6), LEAF(292,273), ++ /* lo */ ++ LEAF(296,274), ++ /* lt */ ++ LEAF(297, 23), LEAF(297,275), ++ /* lv */ ++ LEAF(299, 23), LEAF(299,276), ++ /* mg */ ++ LEAF(301,277), ++ /* mh */ ++ LEAF(302, 23), LEAF(302,278), ++ /* mi */ ++ LEAF(304, 23), LEAF(304, 96), LEAF(304,279), ++ /* mk */ ++ LEAF(307,280), ++ /* ml */ ++ LEAF(308,281), ++ /* mn_cn */ ++ LEAF(309,282), ++ /* mn_mn */ ++ LEAF(310,283), ++ /* mni */ ++ LEAF(311,284), ++ /* mo */ ++ LEAF(312,285), LEAF(312, 58), LEAF(312,286), LEAF(312,262), ++ /* mt */ ++ LEAF(316,287), LEAF(316,288), ++ /* my */ ++ LEAF(318,289), ++ /* na */ ++ LEAF(319, 4), LEAF(319,290), ++ /* nb */ ++ LEAF(321,291), ++ /* ne */ ++ LEAF(322,292), ++ /* nl */ ++ LEAF(323,293), ++ /* nn */ ++ LEAF(324,294), ++ /* nqo */ ++ LEAF(325,295), ++ /* nso */ ++ LEAF(326,296), LEAF(326,297), ++ /* nv */ ++ LEAF(328,298), LEAF(328,299), LEAF(328,300), LEAF(328,301), ++ /* ny */ ++ LEAF(332, 23), LEAF(332,302), ++ /* oc */ ++ LEAF(334,303), ++ /* or */ ++ LEAF(335,304), ++ /* ota */ ++ LEAF(336,305), ++ /* pa */ ++ LEAF(337,306), ++ /* pap_an */ ++ LEAF(338,307), ++ /* pap_aw */ ++ LEAF(339,308), ++ /* pl */ ++ LEAF(340, 99), LEAF(340,309), ++ /* ps_af */ ++ LEAF(342,310), ++ /* ps_pk */ ++ LEAF(343,311), ++ /* pt */ ++ LEAF(344,312), ++ /* qu */ ++ LEAF(345,308), LEAF(345,313), ++ /* rm */ ++ LEAF(347,314), ++ /* ro */ ++ LEAF(348,285), LEAF(348, 58), LEAF(348,286), ++ /* sah */ ++ LEAF(351,315), ++ /* sat */ ++ LEAF(352,316), ++ /* sc */ ++ LEAF(353,317), ++ /* sco */ ++ LEAF(354, 23), LEAF(354,318), LEAF(354,319), ++ /* sd */ ++ LEAF(357,320), ++ /* se */ ++ LEAF(358,321), LEAF(358,322), ++ /* sg */ ++ LEAF(360,323), ++ /* sh */ ++ LEAF(361, 23), LEAF(361, 40), LEAF(361,324), ++ /* shs */ ++ LEAF(364,325), LEAF(364,326), ++ /* si */ ++ LEAF(366,327), ++ /* sid */ ++ LEAF(367,328), LEAF(367, 10), ++ /* sk */ ++ LEAF(369,329), LEAF(369,330), ++ /* sm */ ++ LEAF(371, 23), LEAF(371, 97), ++ /* sma */ ++ LEAF(373,331), ++ /* smj */ ++ LEAF(374,332), ++ /* smn */ ++ LEAF(375,333), LEAF(375,334), ++ /* sms */ ++ LEAF(377,335), LEAF(377,336), LEAF(377,337), ++ /* sq */ ++ LEAF(380,338), ++ /* sr */ ++ LEAF(381,339), ++ /* sv */ ++ LEAF(382,340), ++ /* syr */ ++ LEAF(383,341), ++ /* ta */ ++ LEAF(384,342), ++ /* te */ ++ LEAF(385,343), ++ /* tg */ ++ LEAF(386,344), ++ /* th */ ++ LEAF(387,345), ++ /* tig */ ++ LEAF(388,346), LEAF(388, 43), ++ /* tk */ ++ LEAF(390,347), LEAF(390,348), ++ /* tr */ ++ LEAF(392,349), LEAF(392, 52), ++ /* tt */ ++ LEAF(394,350), ++ /* ty */ ++ LEAF(395,351), LEAF(395, 96), LEAF(395,300), ++ /* ug */ ++ LEAF(398,352), ++ /* uk */ ++ LEAF(399,353), ++ /* ve */ ++ LEAF(400, 23), LEAF(400,354), ++ /* vi */ ++ LEAF(402,355), LEAF(402,356), LEAF(402,357), LEAF(402,358), ++ /* vo */ ++ LEAF(406,359), ++ /* vot */ ++ LEAF(407,360), LEAF(407, 74), ++ /* wa */ ++ LEAF(409,361), ++ /* wen */ ++ LEAF(410, 99), LEAF(410,362), ++ /* wo */ ++ LEAF(412,363), LEAF(412,269), ++ /* yap */ ++ LEAF(414,364), ++ /* yo */ ++ LEAF(415,365), LEAF(415,366), LEAF(415,367), LEAF(415,368), ++ /* zh_cn */ ++ LEAF(419,369), LEAF(419,370), LEAF(419,371), LEAF(419,372), ++ LEAF(419,373), LEAF(419,374), LEAF(419,375), LEAF(419,376), ++ LEAF(419,377), LEAF(419,378), LEAF(419,379), LEAF(419,380), ++ LEAF(419,381), LEAF(419,382), LEAF(419,383), LEAF(419,384), ++ LEAF(419,385), LEAF(419,386), LEAF(419,387), LEAF(419,388), ++ LEAF(419,389), LEAF(419,390), LEAF(419,391), LEAF(419,392), ++ LEAF(419,393), LEAF(419,394), LEAF(419,395), LEAF(419,396), ++ LEAF(419,397), LEAF(419,398), LEAF(419,399), LEAF(419,400), ++ LEAF(419,401), LEAF(419,402), LEAF(419,403), LEAF(419,404), ++ LEAF(419,405), LEAF(419,406), LEAF(419,407), LEAF(419,408), ++ LEAF(419,409), LEAF(419,410), LEAF(419,411), LEAF(419,412), ++ LEAF(419,413), LEAF(419,414), LEAF(419,415), LEAF(419,416), ++ LEAF(419,417), LEAF(419,418), LEAF(419,419), LEAF(419,420), ++ LEAF(419,421), LEAF(419,422), LEAF(419,423), LEAF(419,424), ++ LEAF(419,425), LEAF(419,426), LEAF(419,427), LEAF(419,428), ++ LEAF(419,429), LEAF(419,430), LEAF(419,431), LEAF(419,432), ++ LEAF(419,433), LEAF(419,434), LEAF(419,435), LEAF(419,436), ++ LEAF(419,437), LEAF(419,438), LEAF(419,439), LEAF(419,440), ++ LEAF(419,441), LEAF(419,442), LEAF(419,443), LEAF(419,444), ++ LEAF(419,445), LEAF(419,446), LEAF(419,447), LEAF(419,448), ++ LEAF(419,449), LEAF(419,450), ++ /* zh_hk */ ++ LEAF(501,451), LEAF(501,452), LEAF(501,453), LEAF(501,454), ++ LEAF(501,455), LEAF(501,456), LEAF(501,457), LEAF(501,458), ++ LEAF(501,459), LEAF(501,460), LEAF(501,461), LEAF(501,462), ++ LEAF(501,463), LEAF(501,464), LEAF(501,465), LEAF(501,466), ++ LEAF(501,467), LEAF(501,468), LEAF(501,469), LEAF(501,470), ++ LEAF(501,471), LEAF(501,472), LEAF(501,473), LEAF(501,474), ++ LEAF(501,475), LEAF(501,476), LEAF(501,477), LEAF(501,478), ++ LEAF(501,479), LEAF(501,480), LEAF(501,481), LEAF(501,482), ++ LEAF(501,483), LEAF(501,484), LEAF(501,485), LEAF(501,486), ++ LEAF(501,487), LEAF(501,488), LEAF(501,489), LEAF(501,490), ++ LEAF(501,491), LEAF(501,492), LEAF(501,493), LEAF(501,494), ++ LEAF(501,495), LEAF(501,496), LEAF(501,497), LEAF(501,498), ++ LEAF(501,499), LEAF(501,500), LEAF(501,501), LEAF(501,502), ++ LEAF(501,503), LEAF(501,504), LEAF(501,505), LEAF(501,506), ++ LEAF(501,507), LEAF(501,508), LEAF(501,509), LEAF(501,510), ++ LEAF(501,511), LEAF(501,512), LEAF(501,513), LEAF(501,514), ++ LEAF(501,515), LEAF(501,516), LEAF(501,517), LEAF(501,518), ++ LEAF(501,519), LEAF(501,520), LEAF(501,521), LEAF(501,522), ++ LEAF(501,523), LEAF(501,524), LEAF(501,525), LEAF(501,526), ++ LEAF(501,527), LEAF(501,528), LEAF(501,529), LEAF(501,530), ++ LEAF(501,531), LEAF(501,532), LEAF(501,533), LEAF(501,534), ++ LEAF(501,535), LEAF(501,536), LEAF(501,537), LEAF(501,538), ++ LEAF(501,539), LEAF(501,540), LEAF(501,541), LEAF(501,542), ++ LEAF(501,543), LEAF(501,544), LEAF(501,545), LEAF(501,546), ++ LEAF(501,547), LEAF(501,548), LEAF(501,549), LEAF(501,550), ++ LEAF(501,551), LEAF(501,552), LEAF(501,553), LEAF(501,554), ++ LEAF(501,555), LEAF(501,556), LEAF(501,557), LEAF(501,558), ++ LEAF(501,559), LEAF(501,560), LEAF(501,561), LEAF(501,562), ++ LEAF(501,563), LEAF(501,564), LEAF(501,565), LEAF(501,566), ++ LEAF(501,567), LEAF(501,568), LEAF(501,569), LEAF(501,570), ++ LEAF(501,571), LEAF(501,572), LEAF(501,573), LEAF(501,574), ++ LEAF(501,575), LEAF(501,576), LEAF(501,577), LEAF(501,578), ++ LEAF(501,579), LEAF(501,580), LEAF(501,581), LEAF(501,582), ++ LEAF(501,583), LEAF(501,318), LEAF(501,584), LEAF(501,585), ++ LEAF(501,586), LEAF(501,587), LEAF(501,588), LEAF(501,589), ++ LEAF(501,590), LEAF(501, 3), LEAF(501,591), LEAF(501,592), ++ LEAF(501,593), LEAF(501,594), LEAF(501,595), LEAF(501,596), ++ LEAF(501,580), LEAF(501,597), LEAF(501,598), LEAF(501,599), ++ LEAF(501,600), LEAF(501,601), LEAF(501,602), LEAF(501,603), ++ LEAF(501,604), LEAF(501,605), LEAF(501,606), LEAF(501,607), ++ LEAF(501,608), LEAF(501,609), LEAF(501,610), LEAF(501,611), ++ LEAF(501,612), LEAF(501,613), LEAF(501,614), LEAF(501,615), ++ LEAF(501,616), LEAF(501,617), LEAF(501,618), ++ /* zh_tw */ ++ LEAF(672,619), LEAF(672,620), LEAF(672,621), LEAF(672,622), ++ LEAF(672,623), LEAF(672,624), LEAF(672,625), LEAF(672,626), ++ LEAF(672,627), LEAF(672,628), LEAF(672,629), LEAF(672,630), ++ LEAF(672,631), LEAF(672,632), LEAF(672,633), LEAF(672,634), ++ LEAF(672,635), LEAF(672,636), LEAF(672,637), LEAF(672,638), ++ LEAF(672,639), LEAF(672,640), LEAF(672,641), LEAF(672,642), ++ LEAF(672,643), LEAF(672,644), LEAF(672,645), LEAF(672,646), ++ LEAF(672,647), LEAF(672,648), LEAF(672,649), LEAF(672,650), ++ LEAF(672,651), LEAF(672,652), LEAF(672,653), LEAF(672,654), ++ LEAF(672,655), LEAF(672,656), LEAF(672,657), LEAF(672,658), ++ LEAF(672,659), LEAF(672,660), LEAF(672,661), LEAF(672,662), ++ LEAF(672,663), LEAF(672,664), LEAF(672,665), LEAF(672,666), ++ LEAF(672,667), LEAF(672,668), LEAF(672,669), LEAF(672,670), ++ LEAF(672,671), LEAF(672,672), LEAF(672,673), LEAF(672,674), ++ LEAF(672,675), LEAF(672,676), LEAF(672,677), LEAF(672,678), ++ LEAF(672,679), LEAF(672,680), LEAF(672,681), LEAF(672,682), ++ LEAF(672,683), LEAF(672,684), LEAF(672,685), LEAF(672,686), ++ LEAF(672,687), LEAF(672,688), LEAF(672,689), LEAF(672,690), ++ LEAF(672,691), LEAF(672,692), LEAF(672,693), LEAF(672,694), ++ LEAF(672,695), LEAF(672,696), LEAF(672,697), LEAF(672,698), ++ LEAF(672,699), LEAF(672,700), LEAF(672,701), ++}, ++{ ++ /* aa */ ++ 0x0000, ++ /* ab */ ++ 0x0004, ++ /* af */ ++ 0x0000, 0x0001, ++ /* ak */ ++ 0x0000, 0x0001, 0x0002, 0x0003, 0x001e, ++ /* am */ ++ 0x0012, 0x0013, ++ /* an */ ++ 0x0000, ++ /* ar */ ++ 0x0006, ++ /* as */ ++ 0x0009, ++ /* ast */ ++ 0x0000, 0x001e, ++ /* av */ ++ 0x0004, ++ /* ay */ ++ 0x0000, ++ /* az_az */ ++ 0x0000, 0x0001, 0x0002, ++ /* az_ir */ ++ 0x0006, ++ /* ba */ ++ 0x0004, ++ /* be */ ++ 0x0004, ++ /* ber_dz */ ++ 0x0000, 0x0001, 0x0002, 0x001e, ++ /* ber_ma */ ++ 0x002d, ++ /* bg */ ++ 0x0004, ++ /* bh */ ++ 0x0009, ++ /* bi */ ++ 0x0000, ++ /* bin */ ++ 0x0000, 0x0003, 0x001e, ++ /* bm */ ++ 0x0000, 0x0001, 0x0002, ++ /* bn */ ++ 0x0009, ++ /* bo */ ++ 0x000f, ++ /* br */ ++ 0x0000, ++ /* brx */ ++ 0x0009, ++ /* bs */ ++ 0x0000, 0x0001, ++ /* bua */ ++ 0x0004, ++ /* byn */ ++ 0x0012, 0x0013, ++ /* ca */ ++ 0x0000, 0x0001, ++ /* ch */ ++ 0x0000, ++ /* chm */ ++ 0x0004, ++ /* chr */ ++ 0x0013, ++ /* co */ ++ 0x0000, 0x0001, ++ /* crh */ ++ 0x0000, 0x0001, ++ /* cs */ ++ 0x0000, 0x0001, ++ /* csb */ ++ 0x0000, 0x0001, ++ /* cu */ ++ 0x0004, ++ /* cv */ ++ 0x0001, 0x0004, ++ /* cy */ ++ 0x0000, 0x0001, 0x001e, ++ /* da */ ++ 0x0000, ++ /* de */ ++ 0x0000, ++ /* doi */ ++ 0x0009, ++ /* dv */ ++ 0x0007, ++ /* ee */ ++ 0x0000, 0x0001, 0x0002, 0x0003, ++ /* el */ ++ 0x0003, ++ /* en */ ++ 0x0000, ++ /* eo */ ++ 0x0000, 0x0001, ++ /* et */ ++ 0x0000, 0x0001, ++ /* eu */ ++ 0x0000, ++ /* ff */ ++ 0x0000, 0x0001, 0x0002, ++ /* fi */ ++ 0x0000, 0x0001, ++ /* fil */ ++ 0x0000, ++ /* fj */ ++ 0x0000, ++ /* fo */ ++ 0x0000, ++ /* fur */ ++ 0x0000, ++ /* fy */ ++ 0x0000, ++ /* ga */ ++ 0x0000, 0x0001, 0x001e, ++ /* gd */ ++ 0x0000, ++ /* gez */ ++ 0x0012, 0x0013, ++ /* gn */ ++ 0x0000, 0x0001, 0x001e, ++ /* gu */ ++ 0x000a, ++ /* gv */ ++ 0x0000, ++ /* ha */ ++ 0x0000, 0x0001, 0x0002, ++ /* haw */ ++ 0x0000, 0x0001, 0x0002, ++ /* he */ ++ 0x0005, ++ /* hsb */ ++ 0x0000, 0x0001, ++ /* ht */ ++ 0x0000, ++ /* hu */ ++ 0x0000, 0x0001, ++ /* hy */ ++ 0x0005, ++ /* hz */ ++ 0x0000, 0x0003, 0x001e, ++ /* id */ ++ 0x0000, ++ /* ig */ ++ 0x0000, 0x001e, ++ /* ii */ ++ 0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, ++ /* ik */ ++ 0x0004, ++ /* is */ ++ 0x0000, ++ /* it */ ++ 0x0000, ++ /* iu */ ++ 0x0014, 0x0015, 0x0016, ++ /* ja */ ++ 0x0030, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, ++ 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, ++ 0x005d, 0x005e, 0x005f, 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, ++ 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, ++ 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, ++ 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, ++ 0x007d, 0x007e, 0x007f, 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, ++ 0x0085, 0x0086, 0x0087, 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, ++ 0x008d, 0x008e, 0x008f, 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, ++ 0x0095, 0x0096, 0x0097, 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, ++ 0x009d, 0x009e, 0x009f, ++ /* jv */ ++ 0x0000, ++ /* ka */ ++ 0x0010, ++ /* kaa */ ++ 0x0004, ++ /* ki */ ++ 0x0000, 0x0001, ++ /* kk */ ++ 0x0004, ++ /* kl */ ++ 0x0000, 0x0001, ++ /* km */ ++ 0x0017, ++ /* kn */ ++ 0x000c, ++ /* ko */ ++ 0x0031, 0x00ac, 0x00ad, 0x00ae, 0x00af, 0x00b0, 0x00b1, 0x00b2, ++ 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7, 0x00b8, 0x00b9, 0x00ba, ++ 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf, 0x00c0, 0x00c1, 0x00c2, ++ 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7, 0x00c8, 0x00c9, 0x00ca, ++ 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf, 0x00d0, 0x00d1, 0x00d2, ++ 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7, ++ /* kr */ ++ 0x0000, 0x0001, 0x0002, ++ /* ks */ ++ 0x0006, ++ /* ku_am */ ++ 0x0004, 0x0005, ++ /* ku_iq */ ++ 0x0006, ++ /* ku_tr */ ++ 0x0000, 0x0001, ++ /* kum */ ++ 0x0004, ++ /* kv */ ++ 0x0004, ++ /* kw */ ++ 0x0000, 0x0001, 0x0002, ++ /* ky */ ++ 0x0004, ++ /* la */ ++ 0x0000, 0x0001, ++ /* lah */ ++ 0x0006, ++ /* lb */ ++ 0x0000, ++ /* lg */ ++ 0x0000, 0x0001, ++ /* li */ ++ 0x0000, ++ /* ln */ ++ 0x0000, 0x0001, 0x0002, 0x0003, ++ /* lo */ ++ 0x000e, ++ /* lt */ ++ 0x0000, 0x0001, ++ /* lv */ ++ 0x0000, 0x0001, ++ /* mg */ ++ 0x0000, ++ /* mh */ ++ 0x0000, 0x0001, ++ /* mi */ ++ 0x0000, 0x0001, 0x001e, ++ /* mk */ ++ 0x0004, ++ /* ml */ ++ 0x000d, ++ /* mn_cn */ ++ 0x0018, ++ /* mn_mn */ ++ 0x0004, ++ /* mni */ ++ 0x0009, ++ /* mo */ ++ 0x0000, 0x0001, 0x0002, 0x0004, ++ /* mt */ ++ 0x0000, 0x0001, ++ /* my */ ++ 0x0010, ++ /* na */ ++ 0x0000, 0x0001, ++ /* nb */ ++ 0x0000, ++ /* ne */ ++ 0x0009, ++ /* nl */ ++ 0x0000, ++ /* nn */ ++ 0x0000, ++ /* nqo */ ++ 0x0007, ++ /* nso */ ++ 0x0000, 0x0001, ++ /* nv */ ++ 0x0000, 0x0001, 0x0002, 0x0003, ++ /* ny */ ++ 0x0000, 0x0001, ++ /* oc */ ++ 0x0000, ++ /* or */ ++ 0x000b, ++ /* ota */ ++ 0x0006, ++ /* pa */ ++ 0x000a, ++ /* pap_an */ ++ 0x0000, ++ /* pap_aw */ ++ 0x0000, ++ /* pl */ ++ 0x0000, 0x0001, ++ /* ps_af */ ++ 0x0006, ++ /* ps_pk */ ++ 0x0006, ++ /* pt */ ++ 0x0000, ++ /* qu */ ++ 0x0000, 0x0002, ++ /* rm */ ++ 0x0000, ++ /* ro */ ++ 0x0000, 0x0001, 0x0002, ++ /* sah */ ++ 0x0004, ++ /* sat */ ++ 0x0009, ++ /* sc */ ++ 0x0000, ++ /* sco */ ++ 0x0000, 0x0001, 0x0002, ++ /* sd */ ++ 0x0006, ++ /* se */ ++ 0x0000, 0x0001, ++ /* sg */ ++ 0x0000, ++ /* sh */ ++ 0x0000, 0x0001, 0x0004, ++ /* shs */ ++ 0x0000, 0x0003, ++ /* si */ ++ 0x000d, ++ /* sid */ ++ 0x0012, 0x0013, ++ /* sk */ ++ 0x0000, 0x0001, ++ /* sm */ ++ 0x0000, 0x0002, ++ /* sma */ ++ 0x0000, ++ /* smj */ ++ 0x0000, ++ /* smn */ ++ 0x0000, 0x0001, ++ /* sms */ ++ 0x0000, 0x0001, 0x0002, ++ /* sq */ ++ 0x0000, ++ /* sr */ ++ 0x0004, ++ /* sv */ ++ 0x0000, ++ /* syr */ ++ 0x0007, ++ /* ta */ ++ 0x000b, ++ /* te */ ++ 0x000c, ++ /* tg */ ++ 0x0004, ++ /* th */ ++ 0x000e, ++ /* tig */ ++ 0x0012, 0x0013, ++ /* tk */ ++ 0x0000, 0x0001, ++ /* tr */ ++ 0x0000, 0x0001, ++ /* tt */ ++ 0x0004, ++ /* ty */ ++ 0x0000, 0x0001, 0x0002, ++ /* ug */ ++ 0x0006, ++ /* uk */ ++ 0x0004, ++ /* ve */ ++ 0x0000, 0x001e, ++ /* vi */ ++ 0x0000, 0x0001, 0x0003, 0x001e, ++ /* vo */ ++ 0x0000, ++ /* vot */ ++ 0x0000, 0x0001, ++ /* wa */ ++ 0x0000, ++ /* wen */ ++ 0x0000, 0x0001, ++ /* wo */ ++ 0x0000, 0x0001, ++ /* yap */ ++ 0x0000, ++ /* yo */ ++ 0x0000, 0x0001, 0x0003, 0x001e, ++ /* zh_cn */ ++ 0x0002, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, ++ 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, ++ 0x005d, 0x005e, 0x005f, 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, ++ 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, ++ 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, ++ 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, ++ 0x007d, 0x007e, 0x007f, 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, ++ 0x0085, 0x0086, 0x0087, 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, ++ 0x008d, 0x008e, 0x008f, 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, ++ 0x0095, 0x0096, 0x0097, 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, ++ 0x009e, 0x009f, ++ /* zh_hk */ ++ 0x0030, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003a, ++ 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, 0x0040, 0x0041, 0x0042, ++ 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004a, ++ 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, ++ 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, ++ 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, 0x0060, 0x0061, 0x0062, ++ 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, ++ 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, ++ 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, ++ 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, 0x0080, 0x0081, 0x0082, ++ 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, 0x0088, 0x0089, 0x008a, ++ 0x008b, 0x008c, 0x008d, 0x008e, 0x008f, 0x0090, 0x0091, 0x0092, ++ 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, 0x0098, 0x0099, 0x009a, ++ 0x009b, 0x009c, 0x009d, 0x009e, 0x009f, 0x0200, 0x0201, 0x0203, ++ 0x0207, 0x020c, 0x020d, 0x020e, 0x020f, 0x0210, 0x0211, 0x0219, ++ 0x021a, 0x021c, 0x021d, 0x0220, 0x0221, 0x022a, 0x022b, 0x022c, ++ 0x022d, 0x022f, 0x0232, 0x0235, 0x0236, 0x023c, 0x023e, 0x023f, ++ 0x0244, 0x024d, 0x024e, 0x0251, 0x0255, 0x025e, 0x0262, 0x0266, ++ 0x0267, 0x0268, 0x0269, 0x0272, 0x0275, 0x0276, 0x0277, 0x0278, ++ 0x0279, 0x027a, 0x027d, 0x0280, 0x0281, 0x0282, 0x0283, 0x0289, ++ 0x028a, 0x028b, 0x028c, 0x028d, 0x028e, 0x0294, 0x0297, 0x0298, ++ 0x029a, 0x029d, 0x02a6, ++ /* zh_tw */ ++ 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, ++ 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, ++ 0x005e, 0x005f, 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, ++ 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, ++ 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, ++ 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, ++ 0x007e, 0x007f, 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, ++ 0x0086, 0x0087, 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, ++ 0x008e, 0x008f, 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, ++ 0x0096, 0x0097, 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, ++ 0x009e, 0x009f, 0x00fa, ++}, ++{ ++ 0, /* aa */ ++ 1, /* ab */ ++ 2, /* af */ ++ 190, /* ak */ ++ 3, /* am */ ++ 191, /* an */ ++ 4, /* ar */ ++ 5, /* as */ ++ 6, /* ast */ ++ 7, /* av */ ++ 8, /* ay */ ++ 9, /* az_az */ ++ 10, /* az_ir */ ++ 11, /* ba */ ++ 13, /* be */ ++ 192, /* ber_dz */ ++ 193, /* ber_ma */ ++ 14, /* bg */ ++ 15, /* bh */ ++ 16, /* bho */ ++ 17, /* bi */ ++ 18, /* bin */ ++ 12, /* bm */ ++ 19, /* bn */ ++ 20, /* bo */ ++ 21, /* br */ ++ 240, /* brx */ ++ 22, /* bs */ ++ 23, /* bua */ ++ 194, /* byn */ ++ 24, /* ca */ ++ 25, /* ce */ ++ 26, /* ch */ ++ 27, /* chm */ ++ 28, /* chr */ ++ 29, /* co */ ++ 195, /* crh */ ++ 30, /* cs */ ++ 196, /* csb */ ++ 31, /* cu */ ++ 32, /* cv */ ++ 33, /* cy */ ++ 34, /* da */ ++ 35, /* de */ ++ 242, /* doi */ ++ 197, /* dv */ ++ 36, /* dz */ ++ 198, /* ee */ ++ 37, /* el */ ++ 38, /* en */ ++ 39, /* eo */ ++ 40, /* es */ ++ 41, /* et */ ++ 42, /* eu */ ++ 43, /* fa */ ++ 199, /* fat */ ++ 48, /* ff */ ++ 44, /* fi */ ++ 200, /* fil */ ++ 45, /* fj */ ++ 46, /* fo */ ++ 47, /* fr */ ++ 49, /* fur */ ++ 50, /* fy */ ++ 51, /* ga */ ++ 52, /* gd */ ++ 53, /* gez */ ++ 54, /* gl */ ++ 55, /* gn */ ++ 56, /* gu */ ++ 57, /* gv */ ++ 58, /* ha */ ++ 59, /* haw */ ++ 60, /* he */ ++ 61, /* hi */ ++ 201, /* hne */ ++ 62, /* ho */ ++ 63, /* hr */ ++ 202, /* hsb */ ++ 203, /* ht */ ++ 64, /* hu */ ++ 65, /* hy */ ++ 204, /* hz */ ++ 66, /* ia */ ++ 68, /* id */ ++ 69, /* ie */ ++ 67, /* ig */ ++ 205, /* ii */ ++ 70, /* ik */ ++ 71, /* io */ ++ 72, /* is */ ++ 73, /* it */ ++ 74, /* iu */ ++ 75, /* ja */ ++ 206, /* jv */ ++ 76, /* ka */ ++ 77, /* kaa */ ++ 207, /* kab */ ++ 78, /* ki */ ++ 208, /* kj */ ++ 79, /* kk */ ++ 80, /* kl */ ++ 81, /* km */ ++ 82, /* kn */ ++ 83, /* ko */ ++ 84, /* kok */ ++ 209, /* kr */ ++ 85, /* ks */ ++ 86, /* ku_am */ ++ 210, /* ku_iq */ ++ 87, /* ku_ir */ ++ 211, /* ku_tr */ ++ 88, /* kum */ ++ 89, /* kv */ ++ 90, /* kw */ ++ 212, /* kwm */ ++ 91, /* ky */ ++ 92, /* la */ ++ 238, /* lah */ ++ 93, /* lb */ ++ 94, /* lez */ ++ 213, /* lg */ ++ 214, /* li */ ++ 95, /* ln */ ++ 96, /* lo */ ++ 97, /* lt */ ++ 98, /* lv */ ++ 215, /* mai */ ++ 99, /* mg */ ++ 100, /* mh */ ++ 101, /* mi */ ++ 102, /* mk */ ++ 103, /* ml */ ++ 104, /* mn_cn */ ++ 216, /* mn_mn */ ++ 243, /* mni */ ++ 105, /* mo */ ++ 106, /* mr */ ++ 217, /* ms */ ++ 107, /* mt */ ++ 108, /* my */ ++ 218, /* na */ ++ 109, /* nb */ ++ 110, /* nds */ ++ 111, /* ne */ ++ 219, /* ng */ ++ 112, /* nl */ ++ 113, /* nn */ ++ 114, /* no */ ++ 239, /* nqo */ ++ 115, /* nr */ ++ 116, /* nso */ ++ 220, /* nv */ ++ 117, /* ny */ ++ 118, /* oc */ ++ 119, /* om */ ++ 120, /* or */ ++ 121, /* os */ ++ 221, /* ota */ ++ 122, /* pa */ ++ 222, /* pa_pk */ ++ 223, /* pap_an */ ++ 224, /* pap_aw */ ++ 123, /* pl */ ++ 124, /* ps_af */ ++ 125, /* ps_pk */ ++ 126, /* pt */ ++ 225, /* qu */ ++ 226, /* quz */ ++ 127, /* rm */ ++ 227, /* rn */ ++ 128, /* ro */ ++ 129, /* ru */ ++ 228, /* rw */ ++ 130, /* sa */ ++ 131, /* sah */ ++ 241, /* sat */ ++ 229, /* sc */ ++ 132, /* sco */ ++ 230, /* sd */ ++ 133, /* se */ ++ 134, /* sel */ ++ 231, /* sg */ ++ 135, /* sh */ ++ 136, /* shs */ ++ 137, /* si */ ++ 232, /* sid */ ++ 138, /* sk */ ++ 139, /* sl */ ++ 140, /* sm */ ++ 141, /* sma */ ++ 142, /* smj */ ++ 143, /* smn */ ++ 144, /* sms */ ++ 233, /* sn */ ++ 145, /* so */ ++ 146, /* sq */ ++ 147, /* sr */ ++ 148, /* ss */ ++ 149, /* st */ ++ 234, /* su */ ++ 150, /* sv */ ++ 151, /* sw */ ++ 152, /* syr */ ++ 153, /* ta */ ++ 154, /* te */ ++ 155, /* tg */ ++ 156, /* th */ ++ 157, /* ti_er */ ++ 158, /* ti_et */ ++ 159, /* tig */ ++ 160, /* tk */ ++ 161, /* tl */ ++ 162, /* tn */ ++ 163, /* to */ ++ 164, /* tr */ ++ 165, /* ts */ ++ 166, /* tt */ ++ 167, /* tw */ ++ 235, /* ty */ ++ 168, /* tyv */ ++ 169, /* ug */ ++ 170, /* uk */ ++ 171, /* ur */ ++ 172, /* uz */ ++ 173, /* ve */ ++ 174, /* vi */ ++ 175, /* vo */ ++ 176, /* vot */ ++ 177, /* wa */ ++ 236, /* wal */ ++ 178, /* wen */ ++ 179, /* wo */ ++ 180, /* xh */ ++ 181, /* yap */ ++ 182, /* yi */ ++ 183, /* yo */ ++ 237, /* za */ ++ 184, /* zh_cn */ ++ 185, /* zh_hk */ ++ 186, /* zh_mo */ ++ 187, /* zh_sg */ ++ 188, /* zh_tw */ ++ 189, /* zu */ ++}, ++{ ++ 0, /* aa */ ++ 1, /* ab */ ++ 2, /* af */ ++ 4, /* am */ ++ 6, /* ar */ ++ 7, /* as */ ++ 8, /* ast */ ++ 9, /* av */ ++ 10, /* ay */ ++ 11, /* az_az */ ++ 12, /* az_ir */ ++ 13, /* ba */ ++ 22, /* bm */ ++ 14, /* be */ ++ 17, /* bg */ ++ 18, /* bh */ ++ 19, /* bho */ ++ 20, /* bi */ ++ 21, /* bin */ ++ 23, /* bn */ ++ 24, /* bo */ ++ 25, /* br */ ++ 27, /* bs */ ++ 28, /* bua */ ++ 30, /* ca */ ++ 31, /* ce */ ++ 32, /* ch */ ++ 33, /* chm */ ++ 34, /* chr */ ++ 35, /* co */ ++ 37, /* cs */ ++ 39, /* cu */ ++ 40, /* cv */ ++ 41, /* cy */ ++ 42, /* da */ ++ 43, /* de */ ++ 46, /* dz */ ++ 48, /* el */ ++ 49, /* en */ ++ 50, /* eo */ ++ 51, /* es */ ++ 52, /* et */ ++ 53, /* eu */ ++ 54, /* fa */ ++ 57, /* fi */ ++ 59, /* fj */ ++ 60, /* fo */ ++ 61, /* fr */ ++ 56, /* ff */ ++ 62, /* fur */ ++ 63, /* fy */ ++ 64, /* ga */ ++ 65, /* gd */ ++ 66, /* gez */ ++ 67, /* gl */ ++ 68, /* gn */ ++ 69, /* gu */ ++ 70, /* gv */ ++ 71, /* ha */ ++ 72, /* haw */ ++ 73, /* he */ ++ 74, /* hi */ ++ 76, /* ho */ ++ 77, /* hr */ ++ 80, /* hu */ ++ 81, /* hy */ ++ 83, /* ia */ ++ 86, /* ig */ ++ 84, /* id */ ++ 85, /* ie */ ++ 88, /* ik */ ++ 89, /* io */ ++ 90, /* is */ ++ 91, /* it */ ++ 92, /* iu */ ++ 93, /* ja */ ++ 95, /* ka */ ++ 96, /* kaa */ ++ 98, /* ki */ ++ 100, /* kk */ ++ 101, /* kl */ ++ 102, /* km */ ++ 103, /* kn */ ++ 104, /* ko */ ++ 105, /* kok */ ++ 107, /* ks */ ++ 108, /* ku_am */ ++ 110, /* ku_ir */ ++ 112, /* kum */ ++ 113, /* kv */ ++ 114, /* kw */ ++ 116, /* ky */ ++ 117, /* la */ ++ 119, /* lb */ ++ 120, /* lez */ ++ 123, /* ln */ ++ 124, /* lo */ ++ 125, /* lt */ ++ 126, /* lv */ ++ 128, /* mg */ ++ 129, /* mh */ ++ 130, /* mi */ ++ 131, /* mk */ ++ 132, /* ml */ ++ 133, /* mn_cn */ ++ 136, /* mo */ ++ 137, /* mr */ ++ 139, /* mt */ ++ 140, /* my */ ++ 142, /* nb */ ++ 143, /* nds */ ++ 144, /* ne */ ++ 146, /* nl */ ++ 147, /* nn */ ++ 148, /* no */ ++ 150, /* nr */ ++ 151, /* nso */ ++ 153, /* ny */ ++ 154, /* oc */ ++ 155, /* om */ ++ 156, /* or */ ++ 157, /* os */ ++ 159, /* pa */ ++ 163, /* pl */ ++ 164, /* ps_af */ ++ 165, /* ps_pk */ ++ 166, /* pt */ ++ 169, /* rm */ ++ 171, /* ro */ ++ 172, /* ru */ ++ 174, /* sa */ ++ 175, /* sah */ ++ 178, /* sco */ ++ 180, /* se */ ++ 181, /* sel */ ++ 183, /* sh */ ++ 184, /* shs */ ++ 185, /* si */ ++ 187, /* sk */ ++ 188, /* sl */ ++ 189, /* sm */ ++ 190, /* sma */ ++ 191, /* smj */ ++ 192, /* smn */ ++ 193, /* sms */ ++ 195, /* so */ ++ 196, /* sq */ ++ 197, /* sr */ ++ 198, /* ss */ ++ 199, /* st */ ++ 201, /* sv */ ++ 202, /* sw */ ++ 203, /* syr */ ++ 204, /* ta */ ++ 205, /* te */ ++ 206, /* tg */ ++ 207, /* th */ ++ 208, /* ti_er */ ++ 209, /* ti_et */ ++ 210, /* tig */ ++ 211, /* tk */ ++ 212, /* tl */ ++ 213, /* tn */ ++ 214, /* to */ ++ 215, /* tr */ ++ 216, /* ts */ ++ 217, /* tt */ ++ 218, /* tw */ ++ 220, /* tyv */ ++ 221, /* ug */ ++ 222, /* uk */ ++ 223, /* ur */ ++ 224, /* uz */ ++ 225, /* ve */ ++ 226, /* vi */ ++ 227, /* vo */ ++ 228, /* vot */ ++ 229, /* wa */ ++ 231, /* wen */ ++ 232, /* wo */ ++ 233, /* xh */ ++ 234, /* yap */ ++ 235, /* yi */ ++ 236, /* yo */ ++ 238, /* zh_cn */ ++ 239, /* zh_hk */ ++ 240, /* zh_mo */ ++ 241, /* zh_sg */ ++ 242, /* zh_tw */ ++ 243, /* zu */ ++ 3, /* ak */ ++ 5, /* an */ ++ 15, /* ber_dz */ ++ 16, /* ber_ma */ ++ 29, /* byn */ ++ 36, /* crh */ ++ 38, /* csb */ ++ 45, /* dv */ ++ 47, /* ee */ ++ 55, /* fat */ ++ 58, /* fil */ ++ 75, /* hne */ ++ 78, /* hsb */ ++ 79, /* ht */ ++ 82, /* hz */ ++ 87, /* ii */ ++ 94, /* jv */ ++ 97, /* kab */ ++ 99, /* kj */ ++ 106, /* kr */ ++ 109, /* ku_iq */ ++ 111, /* ku_tr */ ++ 115, /* kwm */ ++ 121, /* lg */ ++ 122, /* li */ ++ 127, /* mai */ ++ 134, /* mn_mn */ ++ 138, /* ms */ ++ 141, /* na */ ++ 145, /* ng */ ++ 152, /* nv */ ++ 158, /* ota */ ++ 160, /* pa_pk */ ++ 161, /* pap_an */ ++ 162, /* pap_aw */ ++ 167, /* qu */ ++ 168, /* quz */ ++ 170, /* rn */ ++ 173, /* rw */ ++ 177, /* sc */ ++ 179, /* sd */ ++ 182, /* sg */ ++ 186, /* sid */ ++ 194, /* sn */ ++ 200, /* su */ ++ 219, /* ty */ ++ 230, /* wal */ ++ 237, /* za */ ++ 118, /* lah */ ++ 149, /* nqo */ ++ 26, /* brx */ ++ 176, /* sat */ ++ 44, /* doi */ ++ 135, /* mni */ ++} ++}; ++ ++#define NUM_LANG_CHAR_SET 244 ++#define NUM_LANG_SET_MAP 8 ++ ++static const FcChar32 fcLangCountrySets[][NUM_LANG_SET_MAP] = { ++ { 0x00000600, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, /* az */ ++ { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000003, 0x00000000, }, /* ber */ ++ { 0x00000000, 0x00000000, 0x00c00000, 0x00000000, 0x00000000, 0x00000000, 0x000c0000, 0x00000000, }, /* ku */ ++ { 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x00000000, 0x00000000, 0x01000000, 0x00000000, }, /* mn */ ++ { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x40000000, 0x00000000, }, /* pa */ ++ { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000001, }, /* pap */ ++ { 0x00000000, 0x00000000, 0x00000000, 0x30000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, /* ps */ ++ { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x60000000, 0x00000000, 0x00000000, 0x00000000, }, /* ti */ ++ { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x1f000000, 0x00000000, 0x00000000, }, /* zh */ ++}; ++ ++#define NUM_COUNTRY_SET 9 ++ ++static const FcLangCharSetRange fcLangCharSetRanges[] = { ++ ++ { 0, 12 }, /* a */ ++ { 13, 29 }, /* b */ ++ { 30, 41 }, /* c */ ++ { 42, 46 }, /* d */ ++ { 47, 53 }, /* e */ ++ { 54, 63 }, /* f */ ++ { 64, 70 }, /* g */ ++ { 71, 82 }, /* h */ ++ { 83, 92 }, /* i */ ++ { 93, 94 }, /* j */ ++ { 95, 116 }, /* k */ ++ { 117, 126 }, /* l */ ++ { 127, 140 }, /* m */ ++ { 141, 153 }, /* n */ ++ { 154, 158 }, /* o */ ++ { 159, 166 }, /* p */ ++ { 167, 168 }, /* q */ ++ { 169, 173 }, /* r */ ++ { 174, 203 }, /* s */ ++ { 204, 220 }, /* t */ ++ { 221, 224 }, /* u */ ++ { 225, 228 }, /* v */ ++ { 229, 232 }, /* w */ ++ { 233, 233 }, /* x */ ++ { 234, 236 }, /* y */ ++ { 237, 243 }, /* z */ ++}; ++ +diff --git a/src/fcobjshash.h b/src/fcobjshash.h +new file mode 100644 +index 0000000..5a4d1ea +--- /dev/null ++++ b/src/fcobjshash.h +@@ -0,0 +1,328 @@ ++/* ANSI-C code produced by gperf version 3.0.4 */ ++/* Command-line: gperf -m 100 fcobjshash.gperf */ ++/* Computed positions: -k'2-3' */ ++ ++#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ ++ && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ ++ && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ ++ && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ ++ && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ ++ && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ ++ && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ ++ && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ ++ && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ ++ && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ ++ && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ ++ && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ ++ && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ ++ && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ ++ && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ ++ && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ ++ && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ ++ && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ ++ && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ ++ && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ ++ && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ ++ && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ ++ && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) ++/* The character set is not based on ISO-646. */ ++#error "gperf generated tables don't work with this execution character set. Please report a bug to ." ++#endif ++ ++#line 1 "fcobjshash.gperf" ++ ++#line 13 "fcobjshash.gperf" ++struct FcObjectTypeInfo { ++int name; ++int id; ++}; ++#include ++/* maximum key range = 56, duplicates = 0 */ ++ ++#ifdef __GNUC__ ++__inline ++#else ++#ifdef __cplusplus ++inline ++#endif ++#endif ++static unsigned int ++FcObjectTypeHash (register const char *str, register unsigned int len) ++{ ++ static const unsigned char asso_values[] = ++ { ++ 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, ++ 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, ++ 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, ++ 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, ++ 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, ++ 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, ++ 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, ++ 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, ++ 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, ++ 60, 60, 60, 60, 60, 60, 60, 21, 30, 3, ++ 36, 45, 60, 3, 15, 0, 60, 60, 0, 9, ++ 9, 0, 21, 60, 0, 0, 15, 0, 60, 60, ++ 0, 15, 24, 60, 60, 60, 60, 60, 60, 60, ++ 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, ++ 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, ++ 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, ++ 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, ++ 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, ++ 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, ++ 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, ++ 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, ++ 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, ++ 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, ++ 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, ++ 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, ++ 60, 60, 60, 60, 60, 60 ++ }; ++ return len + asso_values[(unsigned char)str[2]] + asso_values[(unsigned char)str[1]]; ++} ++ ++struct FcObjectTypeNamePool_t ++ { ++ char FcObjectTypeNamePool_str4[sizeof("file")]; ++ char FcObjectTypeNamePool_str5[sizeof("color")]; ++ char FcObjectTypeNamePool_str7[sizeof("foundry")]; ++ char FcObjectTypeNamePool_str8[sizeof("fullname")]; ++ char FcObjectTypeNamePool_str9[sizeof("pixelsize")]; ++ char FcObjectTypeNamePool_str10[sizeof("prgname")]; ++ char FcObjectTypeNamePool_str12[sizeof("fullnamelang")]; ++ char FcObjectTypeNamePool_str13[sizeof("globaladvance")]; ++ char FcObjectTypeNamePool_str14[sizeof("postscriptname")]; ++ char FcObjectTypeNamePool_str16[sizeof("hinting")]; ++ char FcObjectTypeNamePool_str17[sizeof("minspace")]; ++ char FcObjectTypeNamePool_str18[sizeof("hintstyle")]; ++ char FcObjectTypeNamePool_str19[sizeof("fontformat")]; ++ char FcObjectTypeNamePool_str20[sizeof("fontversion")]; ++ char FcObjectTypeNamePool_str21[sizeof("fontfeatures")]; ++ char FcObjectTypeNamePool_str22[sizeof("outline")]; ++ char FcObjectTypeNamePool_str23[sizeof("autohint")]; ++ char FcObjectTypeNamePool_str24[sizeof("dpi")]; ++ char FcObjectTypeNamePool_str25[sizeof("hash")]; ++ char FcObjectTypeNamePool_str26[sizeof("slant")]; ++ char FcObjectTypeNamePool_str27[sizeof("aspect")]; ++ char FcObjectTypeNamePool_str28[sizeof("size")]; ++ char FcObjectTypeNamePool_str29[sizeof("scale")]; ++ char FcObjectTypeNamePool_str30[sizeof("symbol")]; ++ char FcObjectTypeNamePool_str31[sizeof("rasterizer")]; ++ char FcObjectTypeNamePool_str32[sizeof("scalable")]; ++ char FcObjectTypeNamePool_str33[sizeof("antialias")]; ++ char FcObjectTypeNamePool_str34[sizeof("lang")]; ++ char FcObjectTypeNamePool_str35[sizeof("style")]; ++ char FcObjectTypeNamePool_str36[sizeof("family")]; ++ char FcObjectTypeNamePool_str37[sizeof("rgba")]; ++ char FcObjectTypeNamePool_str38[sizeof("namelang")]; ++ char FcObjectTypeNamePool_str39[sizeof("stylelang")]; ++ char FcObjectTypeNamePool_str40[sizeof("familylang")]; ++ char FcObjectTypeNamePool_str41[sizeof("width")]; ++ char FcObjectTypeNamePool_str42[sizeof("matrix")]; ++ char FcObjectTypeNamePool_str43[sizeof("charset")]; ++ char FcObjectTypeNamePool_str45[sizeof("charwidth")]; ++ char FcObjectTypeNamePool_str46[sizeof("charheight")]; ++ char FcObjectTypeNamePool_str47[sizeof("embolden")]; ++ char FcObjectTypeNamePool_str48[sizeof("lcdfilter")]; ++ char FcObjectTypeNamePool_str49[sizeof("spacing")]; ++ char FcObjectTypeNamePool_str50[sizeof("index")]; ++ char FcObjectTypeNamePool_str51[sizeof("weight")]; ++ char FcObjectTypeNamePool_str52[sizeof("capability")]; ++ char FcObjectTypeNamePool_str53[sizeof("embeddedbitmap")]; ++ char FcObjectTypeNamePool_str58[sizeof("decorative")]; ++ char FcObjectTypeNamePool_str59[sizeof("verticallayout")]; ++ }; ++static const struct FcObjectTypeNamePool_t FcObjectTypeNamePool_contents = ++ { ++ "file", ++ "color", ++ "foundry", ++ "fullname", ++ "pixelsize", ++ "prgname", ++ "fullnamelang", ++ "globaladvance", ++ "postscriptname", ++ "hinting", ++ "minspace", ++ "hintstyle", ++ "fontformat", ++ "fontversion", ++ "fontfeatures", ++ "outline", ++ "autohint", ++ "dpi", ++ "hash", ++ "slant", ++ "aspect", ++ "size", ++ "scale", ++ "symbol", ++ "rasterizer", ++ "scalable", ++ "antialias", ++ "lang", ++ "style", ++ "family", ++ "rgba", ++ "namelang", ++ "stylelang", ++ "familylang", ++ "width", ++ "matrix", ++ "charset", ++ "charwidth", ++ "charheight", ++ "embolden", ++ "lcdfilter", ++ "spacing", ++ "index", ++ "weight", ++ "capability", ++ "embeddedbitmap", ++ "decorative", ++ "verticallayout" ++ }; ++#define FcObjectTypeNamePool ((const char *) &FcObjectTypeNamePool_contents) ++#ifdef __GNUC__ ++__inline ++#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ ++__attribute__ ((__gnu_inline__)) ++#endif ++#endif ++const struct FcObjectTypeInfo * ++FcObjectTypeLookup (register const char *str, register unsigned int len) ++{ ++ enum ++ { ++ TOTAL_KEYWORDS = 48, ++ MIN_WORD_LENGTH = 3, ++ MAX_WORD_LENGTH = 14, ++ MIN_HASH_VALUE = 4, ++ MAX_HASH_VALUE = 59 ++ }; ++ ++ static const struct FcObjectTypeInfo wordlist[] = ++ { ++ {-1}, {-1}, {-1}, {-1}, ++#line 38 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str4,FC_FILE_OBJECT}, ++#line 64 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str5,FC_COLOR_OBJECT}, ++ {-1}, ++#line 31 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str7,FC_FOUNDRY_OBJECT}, ++#line 22 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str8,FC_FULLNAME_OBJECT}, ++#line 29 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str9,FC_PIXEL_SIZE_OBJECT}, ++#line 61 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str10,FC_PRGNAME_OBJECT}, ++ {-1}, ++#line 23 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str12,FC_FULLNAMELANG_OBJECT}, ++#line 37 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str13,FC_GLOBAL_ADVANCE_OBJECT}, ++#line 63 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str14,FC_POSTSCRIPT_NAME_OBJECT}, ++ {-1}, ++#line 34 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str16,FC_HINTING_OBJECT}, ++#line 46 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str17,FC_MINSPACE_OBJECT}, ++#line 33 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str18,FC_HINT_STYLE_OBJECT}, ++#line 54 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str19,FC_FONTFORMAT_OBJECT}, ++#line 52 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str20,FC_FONTVERSION_OBJECT}, ++#line 60 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str21,FC_FONT_FEATURES_OBJECT}, ++#line 41 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str22,FC_OUTLINE_OBJECT}, ++#line 36 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str23,FC_AUTOHINT_OBJECT}, ++#line 43 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str24,FC_DPI_OBJECT}, ++#line 62 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str25,FC_HASH_OBJECT}, ++#line 24 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str26,FC_SLANT_OBJECT}, ++#line 28 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str27,FC_ASPECT_OBJECT}, ++#line 27 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str28,FC_SIZE_OBJECT}, ++#line 45 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str29,FC_SCALE_OBJECT}, ++#line 65 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str30,FC_SYMBOL_OBJECT}, ++#line 40 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str31,FC_RASTERIZER_OBJECT}, ++#line 42 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str32,FC_SCALABLE_OBJECT}, ++#line 32 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str33,FC_ANTIALIAS_OBJECT}, ++#line 51 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str34,FC_LANG_OBJECT}, ++#line 20 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str35,FC_STYLE_OBJECT}, ++#line 18 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str36,FC_FAMILY_OBJECT}, ++#line 44 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str37,FC_RGBA_OBJECT}, ++#line 59 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str38,FC_NAMELANG_OBJECT}, ++#line 21 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str39,FC_STYLELANG_OBJECT}, ++#line 19 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str40,FC_FAMILYLANG_OBJECT}, ++#line 26 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str41,FC_WIDTH_OBJECT}, ++#line 49 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str42,FC_MATRIX_OBJECT}, ++#line 50 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str43,FC_CHARSET_OBJECT}, ++ {-1}, ++#line 47 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str45,FC_CHAR_WIDTH_OBJECT}, ++#line 48 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str46,FC_CHAR_HEIGHT_OBJECT}, ++#line 55 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str47,FC_EMBOLDEN_OBJECT}, ++#line 58 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str48,FC_LCD_FILTER_OBJECT}, ++#line 30 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str49,FC_SPACING_OBJECT}, ++#line 39 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str50,FC_INDEX_OBJECT}, ++#line 25 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str51,FC_WEIGHT_OBJECT}, ++#line 53 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str52,FC_CAPABILITY_OBJECT}, ++#line 56 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str53,FC_EMBEDDED_BITMAP_OBJECT}, ++ {-1}, {-1}, {-1}, {-1}, ++#line 57 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str58,FC_DECORATIVE_OBJECT}, ++#line 35 "fcobjshash.gperf" ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str59,FC_VERTICAL_LAYOUT_OBJECT} ++ }; ++ ++ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) ++ { ++ register int key = FcObjectTypeHash (str, len); ++ ++ if (key <= MAX_HASH_VALUE && key >= 0) ++ { ++ register int o = wordlist[key].name; ++ if (o >= 0) ++ { ++ register const char *s = o + FcObjectTypeNamePool; ++ ++ if (*str == *s && !strcmp (str + 1, s + 1)) ++ return &wordlist[key]; ++ } ++ } ++ } ++ return 0; ++} +diff --git a/src/fcstdint.h b/src/fcstdint.h +new file mode 100644 +index 0000000..ff8e647 +--- /dev/null ++++ b/src/fcstdint.h +@@ -0,0 +1,9 @@ ++#ifndef _FONTCONFIG_SRC_FCSTDINT_H ++#define _FONTCONFIG_SRC_FCSTDINT_H 1 ++#ifndef _GENERATED_STDINT_H ++#define _GENERATED_STDINT_H "fontconfig 2.12.1" ++/* generated using gnu compiler gcc (GCC) 6.1.1 20160621 (Red Hat 6.1.1-3) */ ++#define _STDINT_HAVE_STDINT_H 1 ++#include ++#endif ++#endif +-- +2.10.1 + diff --git a/pkg/fontconfig/rev b/pkg/fontconfig/rev new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/pkg/fontconfig/rev @@ -0,0 +1 @@ +1 diff --git a/pkg/fontconfig/src b/pkg/fontconfig/src new file mode 160000 index 00000000..6b222c52 --- /dev/null +++ b/pkg/fontconfig/src @@ -0,0 +1 @@ +Subproject commit 6b222c52cdede497ffed629853f947948052dfc7 diff --git a/pkg/freetype/gen.rc b/pkg/freetype/gen.rc new file mode 100644 index 00000000..ce88630a --- /dev/null +++ b/pkg/freetype/gen.rc @@ -0,0 +1,43 @@ +cflags\ + -Wall\ + -D FT2_BUILD_LIBRARY\ + -D FT_CONFIG_OPTION_SYSTEM_ZLIB\ + -D HAVE_FCNTL_H\ + -D HAVE_STDINT_H\ + -D HAVE_UNISTD_H\ + -isystem '$builddir'/pkg/zlib/include\ + -I '$srcdir'/builds/unix\ + -I '$srcdir'/include/freetype/config\ + -I '$srcdir'/include + +cc src/gzip/ftgzip.c '||' pkg/zlib/headers +lib libfreetype.a builds/unix/ftsystem.c src/^(\ + base/^(\ + ftdebug.c ftbase.c ftbbox.c ftbdf.c ftbitmap.c ftcid.c\ + ftfntfmt.c ftfstype.c ftgasp.c ftglyph.c ftgxval.c ftlcdfil.c\ + ftmm.c ftotval.c ftpatent.c ftpfr.c ftstroke.c ftsynth.c\ + fttype1.c ftwinfnt.c ftinit.c\ + )\ + autofit/autofit.c\ + bdf/bdf.c\ + bzip2/ftbzip2.c\ + cache/ftcache.c\ + cff/cff.c\ + cid/type1cid.c\ + gzip/ftgzip.c.o\ + lzw/ftlzw.c\ + pcf/pcf.c\ + pfr/pfr.c\ + psaux/psaux.c\ + pshinter/pshinter.c\ + psnames/psnames.c\ + raster/raster.c\ + sfnt/sfnt.c\ + smooth/smooth.c\ + truetype/truetype.c\ + type1/type1.c\ + type42/type42.c\ + winfonts/winfnt.c\ +) '$builddir'/pkg/zlib/libz.a + +fetch git diff --git a/pkg/freetype/rev b/pkg/freetype/rev new file mode 100644 index 00000000..00750edc --- /dev/null +++ b/pkg/freetype/rev @@ -0,0 +1 @@ +3 diff --git a/pkg/freetype/src b/pkg/freetype/src new file mode 160000 index 00000000..f9b1871d --- /dev/null +++ b/pkg/freetype/src @@ -0,0 +1 @@ +Subproject commit f9b1871ded4df726ed962e5eae535c9918705a3d diff --git a/pkg/fribidi/.gitignore b/pkg/fribidi/.gitignore new file mode 100644 index 00000000..012dc66e --- /dev/null +++ b/pkg/fribidi/.gitignore @@ -0,0 +1 @@ +/tools.ninja diff --git a/pkg/fribidi/config.h b/pkg/fribidi/config.h new file mode 100644 index 00000000..60024eab --- /dev/null +++ b/pkg/fribidi/config.h @@ -0,0 +1,19 @@ +#include + +/* #undef DEBUG */ +/* #undef HAVE_ASM_PAGE_H */ +#define HAVE_MEMORY_H 1 +#define HAVE_STRINGIZE 1 +#define LT_OBJDIR ".libs/" +#define PACKAGE_BUGREPORT "http://bugs.freedesktop.org/enter_bug.cgi?product=fribidi" +#define PACKAGE_NAME "GNU FriBidi" +#define PACKAGE_STRING "GNU FriBidi 0.19.7" +#define PACKAGE_TARNAME "fribidi" +#define PACKAGE_URL "http://fribidi.org/" +#define PACKAGE_VERSION "0.19.7" +#define SIZEOF_INT 4 +#define SIZEOF_SHORT 2 +#define SIZEOF_VOID_P 8 +#define SIZEOF_WCHAR_T 4 +#define USE_SIMPLE_MALLOC 1 +/* #undef const */ diff --git a/pkg/fribidi/fribidi-config.h b/pkg/fribidi/fribidi-config.h new file mode 100644 index 00000000..d7791240 --- /dev/null +++ b/pkg/fribidi/fribidi-config.h @@ -0,0 +1,26 @@ +/* lib/fribidi-config.h. Generated from fribidi-config.h.in by configure. */ +/* Not copyrighted, in public domain. */ +#ifndef FRIBIDI_CONFIG_H +#define FRIBIDI_CONFIG_H + +#define FRIBIDI "fribidi" +#define FRIBIDI_NAME "GNU FriBidi" +#define FRIBIDI_BUGREPORT "http://bugs.freedesktop.org/enter_bug.cgi?product=fribidi" + +#define FRIBIDI_VERSION "0.19.7" +#define FRIBIDI_MAJOR_VERSION 0 +#define FRIBIDI_MINOR_VERSION 19 +#define FRIBIDI_MICRO_VERSION 7 +#define FRIBIDI_INTERFACE_VERSION 3 +#define FRIBIDI_INTERFACE_VERSION_STRING "3" + +/* Define to 1 if you want charset conversion codes in the library */ +#define FRIBIDI_CHARSETS 0 + +/* Define to 1 if you want to use glib */ +#define FRIBIDI_USE_GLIB 0 + +/* The size of a `int', as computed by sizeof. */ +#define FRIBIDI_SIZEOF_INT 4 + +#endif /* FRIBIDI_CONFIG_H */ diff --git a/pkg/fribidi/gen.rc b/pkg/fribidi/gen.rc new file mode 100644 index 00000000..18d55075 --- /dev/null +++ b/pkg/fribidi/gen.rc @@ -0,0 +1,63 @@ +cflags\ + -D HAVE_CONFIG_H\ + -I include\ + -I '$dir' \ + -I '$outdir' \ + -I '$outdir'/include\ + -I '$srcdir'/lib + +{ + cc gen.tab/packtab.c + exe gen-unicode-version gen.tab/gen-unicode-version.c + for(t in bidi-type joining-type arabic-shaping mirroring) + exe gen-$t-tab -d '$dir'/headers gen.tab/^(gen-$t-tab.c packtab.c.o) +} >tools.ninja ; subninja tools.ninja + +set compression 2 + +rule gentool '$outdir/$tool $args $in >$out.tmp && mv $out.tmp $out' +fn gentool { + tool=$1 + out=$2 + shift 2 + build '$outdir'/$out gentool '$srcdir'/gen.tab/unidata/$* '|' '$outdir'/gen-$tool + with tool gen-$tool +} + +gentool unicode-version include/fribidi-unicode-version.h BidiMirroring.txt +gentool bidi-type-tab bidi-type.tab.i UnicodeData.txt ; with args '$compression' +gentool joining-type-tab joining-type.tab.i UnicodeData.txt ArabicShaping.txt ; with args '$compression' +gentool arabic-shaping-tab arabic-shaping.tab.i UnicodeData.txt ; with args '$compression' +gentool mirroring-tab mirroring.tab.i BidiMirroring.txt ; with args '$compression' + +hdrs=(\ + fribidi.h fribidi-arabic.h fribidi-begindecls.h\ + fribidi-bidi.h fribidi-bidi-types.h fribidi-bidi-types-list.h\ + fribidi-common.h fribidi-deprecated.h fribidi-enddecls.h fribidi-flags.h\ + fribidi-joining.h fribidi-joining-types.h fribidi-joining-types-list.h\ + fribidi-mirroring.h fribidi-shape.h fribidi-types.h fribidi-unicode.h\ +) +for(hdr in $hdrs) + build '$outdir'/include/$hdr copy '$srcdir'/lib/$hdr +build '$outdir'/include/fribidi-config.h copy '$dir'/fribidi-config.h +phony headers '$outdir'/include/^($hdrs fribidi-config.h fribidi-unicode-version.h) + +phony deps\ + '$outdir'/^(bidi-type joining-type arabic-shaping mirroring)^.tab.i\ + '$dir'/headers + +lib libfribidi.a -d '$dir'/deps lib/^(\ + fribidi.c\ + fribidi-arabic.c\ + fribidi-bidi.c\ + fribidi-bidi-types.c\ + fribidi-deprecated.c\ + fribidi-joining.c\ + fribidi-joining-types.c\ + fribidi-mem.c\ + fribidi-mirroring.c\ + fribidi-run.c\ + fribidi-shape.c\ +) + +fetch git diff --git a/pkg/fribidi/rev b/pkg/fribidi/rev new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/pkg/fribidi/rev @@ -0,0 +1 @@ +1 diff --git a/pkg/fribidi/src b/pkg/fribidi/src new file mode 160000 index 00000000..1a6935cd --- /dev/null +++ b/pkg/fribidi/src @@ -0,0 +1 @@ +Subproject commit 1a6935cd8cd7d907fb3c5f3bcae174bee727c83d diff --git a/pkg/gen.rc b/pkg/gen.rc new file mode 100644 index 00000000..1dfedf29 --- /dev/null +++ b/pkg/gen.rc @@ -0,0 +1,82 @@ +subgen alsa-lib +subgen alsa-utils +subgen awk +subgen bc +subgen bzip2 +subgen ccid +subgen curl +subgen dmenu +subgen e2fsprogs +subgen efibootmgr +subgen efivar +subgen expat +subgen ffmpeg +subgen file +subgen fontconfig +subgen freetype +subgen fribidi +subgen git +subgen hostap +subgen ii +subgen iproute2 +subgen kbd +subgen less +subgen libass +subgen libdrm +subgen libevdev +subgen libevent +subgen libffi +subgen libfuse +subgen libnl +subgen libpciaccess +subgen libressl +subgen libtermkey +subgen libusb +subgen libxkbcommon +subgen loksh +subgen lpeg +subgen lua +subgen make +subgen man-pages-posix +subgen mc +subgen mdocml +subgen mpv +subgen msmtp +subgen nasm +subgen ncurses +subgen ninja +subgen openbsd +subgen openssh +subgen pcre +subgen pcsc +subgen perp +subgen pigz +subgen pixman +subgen plan9fonts +subgen plan9port +subgen python +subgen qbe +subgen sbase +subgen scc +subgen sdhcp +subgen sinit +subgen skeleton +subgen sshfs +subgen st +subgen swc +subgen terminus-font +subgen the_silver_searcher +subgen transmission +subgen tz +subgen ubase +subgen unzip +subgen util-linux +subgen velox +subgen vis +subgen wayland +subgen wayland-protocols +subgen wld +subgen xkeyboard-config +subgen xz +subgen youtube-dl +subgen zlib diff --git a/pkg/git/commands.txt b/pkg/git/commands.txt new file mode 100644 index 00000000..a5d3f05a --- /dev/null +++ b/pkg/git/commands.txt @@ -0,0 +1,151 @@ +# diff --git a/pkg/git/gen.rc b/pkg/git/gen.rc new file mode 100644 index 00000000..12a5e772 --- /dev/null +++ b/pkg/git/gen.rc @@ -0,0 +1,381 @@ +cflags\ + -include '$dir'/config.h\ + -isystem '$builddir'/pkg/curl/include\ + -isystem '$builddir'/pkg/libressl/include\ + -isystem '$builddir'/pkg/zlib/include\ + -I '$srcdir' \ + -I '$srcdir'/compat/regex\ + -I '$outdir' + +rule cmdlist 'wd=$$PWD && cd $srcdir && ./generate-cmdlist.sh $$wd/$in >$$wd/$out.tmp && mv $$wd/$out.tmp $$wd/$out' +build '$outdir'/common-cmds.h cmdlist '$srcdir'/command-list.txt '|' '$srcdir'/Documentation/`{grep -v '^#' commands.txt} + +phony deps '$outdir'/common-cmds.h pkg/^(curl libressl zlib)^/headers + +cc exec_cmd.c '||' '$dir'/deps ; with cflags '$cflags ''-DPREFIX=""''' +cc common-main.c '||' '$dir'/deps +cc compat/regex/regex.c '||' '$dir'/deps ; with cflags '$cflags -DGAWK -DNO_MBSUPPORT' + +# src/Makefile:/^LIB_OBJS.\+= +lib libgit.a -d '$dir'/deps\ + abspath.c\ + advice.c\ + alias.c\ + alloc.c\ + apply.c\ + archive-tar.c\ + archive-zip.c\ + archive.c\ + argv-array.c\ + attr.c\ + base85.c\ + bisect.c\ + blob.c\ + branch.c\ + bulk-checkin.c\ + bundle.c\ + cache-tree.c\ + color.c\ + column.c\ + combine-diff.c\ + commit.c\ + compat/obstack.c\ + compat/regex/regex.c.o\ + compat/terminal.c\ + config.c\ + connect.c\ + connected.c\ + convert.c\ + copy.c\ + credential.c\ + csum-file.c\ + ctype.c\ + date.c\ + decorate.c\ + diff-delta.c\ + diff-lib.c\ + diff-no-index.c\ + diff.c\ + diffcore-break.c\ + diffcore-delta.c\ + diffcore-order.c\ + diffcore-pickaxe.c\ + diffcore-rename.c\ + dir.c\ + dir-iterator.c\ + editor.c\ + entry.c\ + environment.c\ + ewah/bitmap.c\ + ewah/ewah_bitmap.c\ + ewah/ewah_io.c\ + ewah/ewah_rlw.c\ + exec_cmd.c.o\ + fetch-pack.c\ + fsck.c\ + gettext.c\ + gpg-interface.c\ + graph.c\ + grep.c\ + hashmap.c\ + help.c\ + hex.c\ + ident.c\ + kwset.c\ + levenshtein.c\ + line-log.c\ + line-range.c\ + list-objects.c\ + ll-merge.c\ + lockfile.c\ + log-tree.c\ + mailinfo.c\ + mailmap.c\ + match-trees.c\ + merge-blobs.c\ + merge-recursive.c\ + merge.c\ + mergesort.c\ + mru.c\ + name-hash.c\ + notes-cache.c\ + notes-merge.c\ + notes-utils.c\ + notes.c\ + object.c\ + pack-bitmap-write.c\ + pack-bitmap.c\ + pack-check.c\ + pack-objects.c\ + pack-revindex.c\ + pack-write.c\ + pager.c\ + parse-options-cb.c\ + parse-options.c\ + patch-delta.c\ + patch-ids.c\ + path.c\ + pathspec.c\ + pkt-line.c\ + preload-index.c\ + pretty.c\ + prio-queue.c\ + progress.c\ + prompt.c\ + quote.c\ + reachable.c\ + read-cache.c\ + ref-filter.c\ + reflog-walk.c\ + refs.c\ + refs/files-backend.c\ + refs/iterator.c\ + remote.c\ + replace_object.c\ + rerere.c\ + resolve-undo.c\ + revision.c\ + run-command.c\ + send-pack.c\ + sequencer.c\ + server-info.c\ + setup.c\ + sha1-array.c\ + sha1-lookup.c\ + sha1_file.c\ + sha1_name.c\ + shallow.c\ + sideband.c\ + sigchain.c\ + split-index.c\ + strbuf.c\ + streaming.c\ + string-list.c\ + submodule-config.c\ + submodule.c\ + symlinks.c\ + tag.c\ + tempfile.c\ + tmp-objdir.c\ + trace.c\ + trailer.c\ + transport-helper.c\ + transport.c\ + tree-diff.c\ + tree-walk.c\ + tree.c\ + unpack-trees.c\ + url.c\ + urlmatch.c\ + usage.c\ + userdiff.c\ + utf8.c\ + varint.c\ + version.c\ + versioncmp.c\ + walker.c\ + wildmatch.c\ + worktree.c\ + wrapper.c\ + write_or_die.c\ + ws.c\ + wt-status.c\ + xdiff-interface.c\ + zlib.c\ + \ + thread-utils.c\ + libxdiff.a\ + '$builddir'/pkg/^(libressl/libcrypto.a.d zlib/libz.a) + +# src/Makefile:/^XDIFF_OBJS.\+= +lib libxdiff.a xdiff/^(\ + xdiffi.c\ + xprepare.c\ + xutils.c\ + xemit.c\ + xmerge.c\ + xpatience.c\ + xhistogram.c\ +) + +# src/Makefile:/^BUILTIN_OBJS.\+= +exe git -d '$dir'/deps git.c common-main.c.o builtin/^(\ + add.c\ + am.c\ + annotate.c\ + apply.c\ + archive.c\ + bisect--helper.c\ + blame.c\ + branch.c\ + bundle.c\ + cat-file.c\ + check-attr.c\ + check-ignore.c\ + check-mailmap.c\ + check-ref-format.c\ + checkout-index.c\ + checkout.c\ + clean.c\ + clone.c\ + column.c\ + commit-tree.c\ + commit.c\ + config.c\ + count-objects.c\ + credential.c\ + describe.c\ + diff-files.c\ + diff-index.c\ + diff-tree.c\ + diff.c\ + fast-export.c\ + fetch-pack.c\ + fetch.c\ + fmt-merge-msg.c\ + for-each-ref.c\ + fsck.c\ + gc.c\ + get-tar-commit-id.c\ + grep.c\ + hash-object.c\ + help.c\ + index-pack.c\ + init-db.c\ + interpret-trailers.c\ + log.c\ + ls-files.c\ + ls-remote.c\ + ls-tree.c\ + mailinfo.c\ + mailsplit.c\ + merge.c\ + merge-base.c\ + merge-file.c\ + merge-index.c\ + merge-ours.c\ + merge-recursive.c\ + merge-tree.c\ + mktag.c\ + mktree.c\ + mv.c\ + name-rev.c\ + notes.c\ + pack-objects.c\ + pack-redundant.c\ + pack-refs.c\ + patch-id.c\ + prune-packed.c\ + prune.c\ + pull.c\ + push.c\ + read-tree.c\ + receive-pack.c\ + reflog.c\ + remote.c\ + remote-ext.c\ + remote-fd.c\ + repack.c\ + replace.c\ + rerere.c\ + reset.c\ + rev-list.c\ + rev-parse.c\ + revert.c\ + rm.c\ + send-pack.c\ + shortlog.c\ + show-branch.c\ + show-ref.c\ + stripspace.c\ + submodule--helper.c\ + symbolic-ref.c\ + tag.c\ + unpack-file.c\ + unpack-objects.c\ + update-index.c\ + update-ref.c\ + update-server-info.c\ + upload-archive.c\ + var.c\ + verify-commit.c\ + verify-pack.c\ + verify-tag.c\ + worktree.c\ + write-tree.c\ +) libgit.a.d +file bin/git '$outdir'/git 755 + +fn x { + name=$1 + shift + if(~ $#* 0) srcs=$name.c + if not srcs=$* + exe git-$name -d '$dir'/deps $srcs common-main.c.o libgit.a.d + file libexec/git-core/git-$name '$outdir'/git-$name 755 +} + +# src/Makefile:/^PROGRAM_OBJS./+= +x credential-store +x daemon +x fast-import +x http-backend +x imap-send imap-send.c '$builddir'/pkg/libressl/libssl.a.d +x sh-i18n--envsubst +x shell +x show-index +x upload-pack +# git-remote-testsvn is intentionally omitted. + +x remote-http remote-curl.c http.c http-walker.c '$builddir'/pkg/curl/libcurl.a.d +for(remote in https ftp ftps) sym libexec/git-core/git-remote-$remote git-remote-http + +rule sh_gen 'sed -f $dir/sh_gen.sed $in >$out.tmp && mv $out.tmp $out' +fn x { + name=$1 + mode=$2 + shift + build '$outdir'/git-$name sh_gen '$srcdir'/git-$name.sh '|' '$dir'/sh_gen.sed + file libexec/git-core/git-$name '$outdir'/git-$name $mode +} + +# src/Makefile:/^SCRIPT_SH.\+= +x bisect 755 +x difftool--helper 755 +x filter-branch 755 +x merge-octopus 755 +x merge-one-file 755 +x merge-resolve 755 +x mergetool 755 +x quiltimport 755 +x rebase 755 +x remote-testgit 755 +x request-pull 755 +x stash 755 +x submodule 755 +x web--browse 755 + +# src/Makefile:/^SCRIPT_LIB.\+= +x mergetool--lib 644 +x parse-remote 644 +x rebase--am 644 +x rebase--interactive 644 +x rebase--merge 644 +x sh-setup 644 +x sh-i18n 644 + +for(exe in git-^(shell upload-pack)) + sym bin/$exe ../libexec/git-core/$exe +for(exe in git-^(receive-pack upload-archive)) + sym bin/$exe git + +# templates +dir share/git-core/templates/branches 755 +file share/git-core/templates/description '$srcdir'/templates/this--description 644 +file share/git-core/templates/info/exclude '$srcdir'/templates/info--exclude 644 +# Skip the sample hooks and install an empty directory instead. +dir share/git-core/templates/hooks 755 + +# TODO: Build and install man pages. + +fetch git diff --git a/pkg/git/patch/0001-Drop-dashes-from-builtin-invocations-in-scripts.patch b/pkg/git/patch/0001-Drop-dashes-from-builtin-invocations-in-scripts.patch new file mode 100644 index 00000000..717f8b13 --- /dev/null +++ b/pkg/git/patch/0001-Drop-dashes-from-builtin-invocations-in-scripts.patch @@ -0,0 +1,107 @@ +From b8d3b9e40f00194a25797f606aeebf946b38eba2 Mon Sep 17 00:00:00 2001 +From: Michael Forney +Date: Sat, 3 Dec 2016 00:41:41 -0800 +Subject: [PATCH] Drop dashes from builtin invocations in scripts + +--- + git-merge-octopus.sh | 2 +- + git-merge-one-file.sh | 8 ++++---- + git-merge-resolve.sh | 2 +- + git-parse-remote.sh | 2 +- + git-submodule.sh | 6 +++--- + 5 files changed, 10 insertions(+), 10 deletions(-) + +diff --git a/git-merge-octopus.sh b/git-merge-octopus.sh +index bcf0d92..6c390d6 100755 +--- a/git-merge-octopus.sh ++++ b/git-merge-octopus.sh +@@ -100,7 +100,7 @@ do + if test $? -ne 0 + then + gettextln "Simple merge did not work, trying automatic merge." +- git-merge-index -o git-merge-one-file -a || ++ git merge-index -o git-merge-one-file -a || + OCTOPUS_FAILURE=1 + next=$(git write-tree 2>/dev/null) + fi +diff --git a/git-merge-one-file.sh b/git-merge-one-file.sh +index 424b034..9879c59 100755 +--- a/git-merge-one-file.sh ++++ b/git-merge-one-file.sh +@@ -115,16 +115,16 @@ case "${1:-.}${2:-.}${3:-.}" in + ;; + esac + +- src1=$(git-unpack-file $2) +- src2=$(git-unpack-file $3) ++ src1=$(git unpack-file $2) ++ src2=$(git unpack-file $3) + case "$1" in + '') + echo "Added $4 in both, but differently." +- orig=$(git-unpack-file e69de29bb2d1d6434b8b29ae775ad8c2e48c5391) ++ orig=$(git unpack-file e69de29bb2d1d6434b8b29ae775ad8c2e48c5391) + ;; + *) + echo "Auto-merging $4" +- orig=$(git-unpack-file $1) ++ orig=$(git unpack-file $1) + ;; + esac + +diff --git a/git-merge-resolve.sh b/git-merge-resolve.sh +index c9da747..343fe7b 100755 +--- a/git-merge-resolve.sh ++++ b/git-merge-resolve.sh +@@ -45,7 +45,7 @@ then + exit 0 + else + echo "Simple merge failed, trying Automatic merge." +- if git-merge-index -o git-merge-one-file -a ++ if git merge-index -o git-merge-one-file -a + then + exit 0 + else +diff --git a/git-parse-remote.sh b/git-parse-remote.sh +index d3c3998..dcfa271 100644 +--- a/git-parse-remote.sh ++++ b/git-parse-remote.sh +@@ -2,7 +2,7 @@ + # upstream branch that should be pulled by "git pull" from the current + # branch. + +-# git-ls-remote could be called from outside a git managed repository; ++# git ls-remote could be called from outside a git managed repository; + # this would fail in that case and would issue an error message. + GIT_DIR=$(git rev-parse -q --git-dir) || :; + +diff --git a/git-submodule.sh b/git-submodule.sh +index a024a13..4aac71f 100755 +--- a/git-submodule.sh ++++ b/git-submodule.sh +@@ -843,7 +843,7 @@ cmd_summary() { + test $status != A && test $ignore_config = all && continue + fi + # Also show added or modified modules which are checked out +- GIT_DIR="$sm_path/.git" git-rev-parse --git-dir >/dev/null 2>&1 && ++ GIT_DIR="$sm_path/.git" git rev-parse --git-dir >/dev/null 2>&1 && + printf '%s\n' "$sm_path" + done + ) +@@ -877,11 +877,11 @@ cmd_summary() { + missing_dst= + + test $mod_src = 160000 && +- ! GIT_DIR="$name/.git" git-rev-parse -q --verify $sha1_src^0 >/dev/null && ++ ! GIT_DIR="$name/.git" git rev-parse -q --verify $sha1_src^0 >/dev/null && + missing_src=t + + test $mod_dst = 160000 && +- ! GIT_DIR="$name/.git" git-rev-parse -q --verify $sha1_dst^0 >/dev/null && ++ ! GIT_DIR="$name/.git" git rev-parse -q --verify $sha1_dst^0 >/dev/null && + missing_dst=t + + display_name=$(git submodule--helper relative-path "$name" "$wt_prefix") +-- +2.10.2 + diff --git a/pkg/git/rev b/pkg/git/rev new file mode 100644 index 00000000..45a4fb75 --- /dev/null +++ b/pkg/git/rev @@ -0,0 +1 @@ +8 diff --git a/pkg/git/sh_gen.sed b/pkg/git/sh_gen.sed new file mode 100644 index 00000000..ea0f0f21 --- /dev/null +++ b/pkg/git/sh_gen.sed @@ -0,0 +1,10 @@ +s|@SHELL_PATH@|/bin/sh| +s|@@DIFF@@|diff| +s|@@LOCALEDIR@@|/share/locale|g +s|@@NO_CURL@@||g +s|@@USE_GETTEXT_SCHEME@@||g +/^\# @@BROKEN_PATH_FIX@@$/d +s|@@GITWEBDIR@@|/share/gitweb|g +s|@@PERL@@|/bin/perl|g +s|@@SANE_TEXT_GREP@@||g +s|@@PAGER_ENV@@|LESS=FRX LV=-c|g diff --git a/pkg/git/src b/pkg/git/src new file mode 160000 index 00000000..454cb6bd --- /dev/null +++ b/pkg/git/src @@ -0,0 +1 @@ +Subproject commit 454cb6bd52a4de614a3633e4f547af03d5c3b640 diff --git a/pkg/hostap/config.h b/pkg/hostap/config.h new file mode 100644 index 00000000..75c66698 --- /dev/null +++ b/pkg/hostap/config.h @@ -0,0 +1,17 @@ +#define CONFIG_BACKEND_FILE +#define CONFIG_CTRL_IFACE +#define CONFIG_CTRL_IFACE_DIR "/run/wpa_supplicant" +#define CONFIG_CTRL_IFACE_UNIX +#define CONFIG_DRIVER_NL80211 +#define CONFIG_ELOOP_POLL +#define CONFIG_IBSS_RSN +#define CONFIG_LIBNL20 +#define CONFIG_LIBNL32 +#define CONFIG_NO_CONFIG_BLOBS +#define CONFIG_NO_CONFIG_WRITE +#define CONFIG_NO_RADIUS +#define CONFIG_NO_VLAN +#define CONFIG_PEERKEY +#define CONFIG_SHA256 +#define CONFIG_SME +#define CONFIG_TDLS diff --git a/pkg/hostap/gen.rc b/pkg/hostap/gen.rc new file mode 100644 index 00000000..5c53f336 --- /dev/null +++ b/pkg/hostap/gen.rc @@ -0,0 +1,88 @@ +cflags\ + -include '$dir'/config.h\ + -isystem '$builddir'/pkg/libressl/include\ + -isystem '$builddir'/pkg/libnl/include\ + -I '$srcdir'/src/utils\ + -I '$srcdir'/src + +phony deps pkg/^(libressl libnl)^/headers + +lib libcommon.a -d '$dir'/deps src/utils/^(common.c eloop.c os_unix.c wpa_debug.c) + +exe bin/wpa_supplicant -d '$dir'/deps\ + src/ap/^(\ + wpa_auth.c\ + wpa_auth_ie.c\ + pmksa_cache_auth.c\ + peerkey_auth.c\ + )\ + src/common/^(\ + ctrl_iface_common.c\ + hw_features_common.c\ + ieee802_11_common.c\ + wpa_common.c\ + )\ + src/crypto/^(\ + aes-omac1.c\ + crypto_openssl.c\ + random.c\ + sha1-prf.c\ + sha256-prf.c\ + tls_none.c\ + )\ + src/drivers/^(\ + driver_common.c\ + driver_nl80211.c\ + driver_nl80211_capa.c\ + driver_nl80211_event.c\ + driver_nl80211_monitor.c\ + driver_nl80211_scan.c\ + drivers.c\ + linux_ioctl.c\ + netlink.c\ + rfkill.c\ + )\ + src/l2_packet/l2_packet_linux.c\ + src/rsn_supp/^(\ + peerkey.c\ + pmksa_cache.c\ + preauth.c\ + tdls.c\ + wpa.c\ + wpa_ie.c\ + )\ + src/utils/^(radiotap.c wpabuf.c)\ + wpa_supplicant/^(\ + blacklist.c\ + bss.c\ + config.c\ + config_file.c\ + ctrl_iface.c\ + ctrl_iface_unix.c\ + eap_register.c\ + events.c\ + ibss_rsn.c\ + main.c\ + notify.c\ + scan.c\ + sme.c\ + wmm_ac.c\ + wpa_supplicant.c\ + wpas_glue.c\ + )\ + libcommon.a\ + '$builddir'/pkg/^(\ + libressl/libcrypto.a\ + openbsd/libbsd.a\ + libnl/^(libnl-3.a libnl-genl-3.a)\ + ) +file bin/wpa_supplicant '$outdir'/bin/wpa_supplicant 755 + +exe bin/wpa_cli -d '$dir'/deps\ + src/common/^(cli.c wpa_ctrl.c)\ + src/utils/edit_simple.c\ + wpa_supplicant/wpa_cli.c\ + libcommon.a +file bin/wpa_cli '$outdir'/bin/wpa_cli 755 + +fetch git diff --git a/pkg/hostap/patch/0001-LibreSSL-Fix-dh5-code.patch b/pkg/hostap/patch/0001-LibreSSL-Fix-dh5-code.patch new file mode 100644 index 00000000..4477adb3 --- /dev/null +++ b/pkg/hostap/patch/0001-LibreSSL-Fix-dh5-code.patch @@ -0,0 +1,38 @@ +From ae1639dc00fe116c88403c7c23bdd76181191c7a Mon Sep 17 00:00:00 2001 +From: Christian Neukirchen +Date: Wed, 5 Oct 2016 16:35:48 +0200 +Subject: [PATCH] LibreSSL: Fix dh5 code + +Add LibreSSL check to old OpenSSL #ifdef guard as DH_{get0,set0}_key() +is not implemented in LibreSSL. + +Signed-off-by: Christian Neukirchen +--- + src/crypto/crypto_openssl.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/crypto/crypto_openssl.c b/src/crypto/crypto_openssl.c +index 19e0e2b..b3d1b07 100644 +--- a/src/crypto/crypto_openssl.c ++++ b/src/crypto/crypto_openssl.c +@@ -611,7 +611,7 @@ void crypto_cipher_deinit(struct crypto_cipher *ctx) + + void * dh5_init(struct wpabuf **priv, struct wpabuf **publ) + { +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) + DH *dh; + struct wpabuf *pubkey = NULL, *privkey = NULL; + size_t publen, privlen; +@@ -712,7 +712,7 @@ err: + + void * dh5_init_fixed(const struct wpabuf *priv, const struct wpabuf *publ) + { +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) + DH *dh; + + dh = DH_new(); +-- +2.10.1 + diff --git a/pkg/hostap/rev b/pkg/hostap/rev new file mode 100644 index 00000000..0cfbf088 --- /dev/null +++ b/pkg/hostap/rev @@ -0,0 +1 @@ +2 diff --git a/pkg/hostap/src b/pkg/hostap/src new file mode 160000 index 00000000..2462f347 --- /dev/null +++ b/pkg/hostap/src @@ -0,0 +1 @@ +Subproject commit 2462f347bca0a7cce7e06ff88adbe3aa47c52d54 diff --git a/pkg/ii/gen.rc b/pkg/ii/gen.rc new file mode 100644 index 00000000..9b8f8e56 --- /dev/null +++ b/pkg/ii/gen.rc @@ -0,0 +1,9 @@ +cflags\ + -Wall\ + -D 'VERSION=''"1.7-12-g714bd0c"''' + +exe ii ii.c +file bin/ii '$outdir'/ii 755 +file share/man/man1/ii.1 '$srcdir'/ii.1 644 + +fetch git diff --git a/pkg/ii/rev b/pkg/ii/rev new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/pkg/ii/rev @@ -0,0 +1 @@ +1 diff --git a/pkg/ii/src b/pkg/ii/src new file mode 160000 index 00000000..714bd0cb --- /dev/null +++ b/pkg/ii/src @@ -0,0 +1 @@ +Subproject commit 714bd0cb6ae1eae57ca69b4dbe9fb5243c7a9456 diff --git a/pkg/iproute2/gen.rc b/pkg/iproute2/gen.rc new file mode 100644 index 00000000..2b27d2f5 --- /dev/null +++ b/pkg/iproute2/gen.rc @@ -0,0 +1,52 @@ +cflags\ + -Wall '-Wformat=2' -Wmissing-declarations -Wmissing-prototypes\ + -Wold-style-definition -Wstrict-prototypes\ + -D _GNU_SOURCE\ + -D HAVE_SETNS\ + -I '$srcdir'/include\ + -I '$srcdir'/misc + +lib libnetlink.a lib/^(\ + libgenl.c ll_map.c libnetlink.c\ + \ + utils.c rt_names.c ll_types.c ll_proto.c ll_addr.c\ + inet_proto.c namespace.c json_writer.c\ + names.c color.c\ + (dnet ipx mpls)^_ntop.c (dnet ipx mpls)^_pton.c\ +) + +exe bin/ip ip/^(\ + ip.c ipaddress.c ipaddrlabel.c iproute.c iprule.c ipnetns.c\ + rtm_map.c iptunnel.c ip6tunnel.c tunnel.c ipneigh.c ipntable.c iplink.c\ + ipmaddr.c ipmonitor.c ipmroute.c ipprefix.c iptuntap.c iptoken.c\ + ipxfrm.c xfrm_state.c xfrm_policy.c xfrm_monitor.c\ + iplink_vlan.c link_veth.c link_gre.c iplink_can.c\ + iplink_macvlan.c ipl2tp.c link_vti.c link_vti6.c\ + iplink_vxlan.c tcp_metrics.c iplink_ipoib.c ipnetconf.c link_ip6tnl.c\ + link_iptnl.c link_gre6.c iplink_bond.c iplink_bond_slave.c iplink_hsr.c\ + iplink_bridge.c iplink_bridge_slave.c ipfou.c iplink_ipvlan.c\ + iplink_geneve.c iplink_vrf.c iproute_lwtunnel.c ipmacsec.c ipila.c\ +) libnetlink.a + +exe bin/bridge\ + bridge/^(bridge.c fdb.c monitor.c link.c mdb.c vlan.c)\ + libnetlink.a + +yacc ssfilter '$srcdir'/misc/ssfilter.y +exe bin/ss misc/ss.c '$outdir'/ssfilter.tab.c libnetlink.a + +for(exe in bin/^(ip bridge ss)) file $exe '$outdir'/$exe 755 +man=(\ + bridge ip ss\ + ip-^(\ + addrlabel fou gue l2tp macsec maddress monitor mroute neighbour\ + netconf netns ntable rule tcp_metrics token tunnel xfrm\ + )\ +) for(man in man/man8/$man.8) file share/$man '$srcdir'/$man 644 +for(man in ip-address ip-link ip-route) { + build '$outdir'/$man.8 sed '$srcdir'/man/man8/$man.8.in ; with\ + expr s,@SYSCONFDIR@,/etc,g + file share/man/man8/$man.8 '$outdir'/$man.8 644 +} + +fetch git diff --git a/pkg/iproute2/patch/0001-Remove-redundant-linux-in-6-.h-includes.patch b/pkg/iproute2/patch/0001-Remove-redundant-linux-in-6-.h-includes.patch new file mode 100644 index 00000000..5c970a38 --- /dev/null +++ b/pkg/iproute2/patch/0001-Remove-redundant-linux-in-6-.h-includes.patch @@ -0,0 +1,66 @@ +From 26ae3ca3f65a72f980c4e7821944c796be0494a7 Mon Sep 17 00:00:00 2001 +From: Michael Forney +Date: Sat, 25 Apr 2015 17:37:46 +0000 +Subject: [PATCH] Remove redundant linux/in{,6}.h includes + +--- + include/linux/if_bridge.h | 1 - + include/linux/if_tunnel.h | 2 -- + include/linux/netfilter.h | 2 -- + include/linux/xfrm.h | 1 - + 4 files changed, 6 deletions(-) + +diff --git a/include/linux/if_bridge.h b/include/linux/if_bridge.h +index d9c76fe..016b4cc 100644 +--- a/include/linux/if_bridge.h ++++ b/include/linux/if_bridge.h +@@ -15,7 +15,6 @@ + + #include + #include +-#include + + #define SYSFS_BRIDGE_ATTR "bridge" + #define SYSFS_BRIDGE_FDB "brforward" +diff --git a/include/linux/if_tunnel.h b/include/linux/if_tunnel.h +index 24aa175..19d557d 100644 +--- a/include/linux/if_tunnel.h ++++ b/include/linux/if_tunnel.h +@@ -2,9 +2,7 @@ + #define _IF_TUNNEL_H_ + + #include +-#include + #include +-#include + #include + + +diff --git a/include/linux/netfilter.h b/include/linux/netfilter.h +index b71b4c9..3e4e6ae 100644 +--- a/include/linux/netfilter.h ++++ b/include/linux/netfilter.h +@@ -4,8 +4,6 @@ + #include + + #include +-#include +-#include + + /* Responses from hook functions. */ + #define NF_DROP 0 +diff --git a/include/linux/xfrm.h b/include/linux/xfrm.h +index d09be24..237e9ad 100644 +--- a/include/linux/xfrm.h ++++ b/include/linux/xfrm.h +@@ -1,7 +1,6 @@ + #ifndef _LINUX_XFRM_H + #define _LINUX_XFRM_H + +-#include + #include + + /* All of the structures in this file may not change size as they are +-- +2.10.0 + diff --git a/pkg/iproute2/rev b/pkg/iproute2/rev new file mode 100644 index 00000000..00750edc --- /dev/null +++ b/pkg/iproute2/rev @@ -0,0 +1 @@ +3 diff --git a/pkg/iproute2/src b/pkg/iproute2/src new file mode 160000 index 00000000..63ec17a3 --- /dev/null +++ b/pkg/iproute2/src @@ -0,0 +1 @@ +Subproject commit 63ec17a3da8138e6e363e7d89cab4a797d90fa33 diff --git a/pkg/kbd/config.h b/pkg/kbd/config.h new file mode 100644 index 00000000..0931f0c3 --- /dev/null +++ b/pkg/kbd/config.h @@ -0,0 +1,31 @@ +#include + +#define PACKAGE "kbd" +#define PACKAGE_BUGREPORT "gladkov.alexey@gmail.com" +#define PACKAGE_NAME "kbd" +#define PACKAGE_STRING "kbd 2.0.3" +#define PACKAGE_TARNAME "kbd" +#define PACKAGE_URL "http://kbd-project.org/" +#define PACKAGE_VERSION "2.0.3" +#define VERSION "2.0.3" + +/* features */ +/* #undef ENABLE_NLS */ + +/* headers */ +#define HAVE_LIBINTL_H 1 +#define HAVE_MEMORY_H 1 +#define HAVE_SYS_DIR_H 1 +#define HAVE_SYS_FILE_H 1 +#define HAVE_SYS_IOCTL_H 1 +/* #undef HAVE_NDIR_H */ +/* #undef HAVE_SYS_NDIR_H */ + +/* functions */ +#define HAVE_ICONV 1 +#define HAVE_DCGETTEXT 1 +#define HAVE_GETTEXT 1 + +/* misc */ +#define YYTEXT_POINTER 1 +/* #undef LT_OBJDIR */ diff --git a/pkg/kbd/gen.rc b/pkg/kbd/gen.rc new file mode 100644 index 00000000..fd2c3578 --- /dev/null +++ b/pkg/kbd/gen.rc @@ -0,0 +1,74 @@ +cflags\ + -D 'DATADIR=''"/share/kbd"''' \ + -I include\ + -I '$dir' \ + -I '$srcdir' \ + -I '$srcdir'/src\ + -I '$srcdir'/src/libkeymap\ + -I '$srcdir'/src/libkeymap/keymap + +lib libcommon.a src/^(getfd.c xmalloc.c kbd_error.c) +lib libfont.a src/^(kdfontop.c kdmapop.c loadunimap.c psffontop.c utf8.c) +lib libkeymap.a src/libkeymap/^(\ + analyze.c\ + array.c\ + common.c\ + diacr.c\ + dump.c\ + findfile.c\ + func.c\ + kernel.c\ + kmap.c\ + ksyms.c\ + loadkeys.c\ + modifiers.c\ + parser.c\ + summary.c\ +) + +# old: loadunimap mapscrn +# optional: clrunmap getunimap setlogcons setvesablank setpalette screendump +# i386/x86_64 only: resizecons +# ubase: chvt + +fn x { + sect=$1 + exe=$2 + shift 2 + exe $exe src/$exe.c $* libcommon.a libfont.a libkeymap.a + file bin/$exe '$outdir'/$exe 755 + if(~ $sect ?~) { + sect=`{printf %s $sect | cut -c -1} + build '$outdir'/$exe.$sect sed '$srcdir'/docs/man/man$sect/$exe.$sect.in ; with\ + expr s,@DATADIR@,/share/kbd,g + man='$outdir'/$exe.$sect + } + if not man='$srcdir'/docs/man/man$sect/$exe.$sect + if(~ $sect [18]) file share/man/man$sect/$exe.$sect $man 644 + status=() +} + +x 1 deallocvt +x 1~ dumpkeys +x 1 fgconsole +x 8 getkeycodes +x 1 kbd_mode +x - kbdinfo +x 1~ loadkeys +x 1 openvt +x 1 psfxtable +x 8~ setfont src/mapscrn.c +x 8 setkeycodes +x 8 setvtrgb +x 8 showconsolefont +x 1 showkey + +# keymap data +keymaps=`{grep -v '^#' keymaps.txt} +for(keymap in keymaps/$keymaps) { + build '$outdir'/$keymap.gz gzip '$srcdir'/data/$keymap + file share/kbd/$keymap.gz '$outdir'/$keymap.gz 644 +} +sym share/kbd/keymaps/ppc mac + +fetch git diff --git a/pkg/kbd/keymaps.txt b/pkg/kbd/keymaps.txt new file mode 100644 index 00000000..b419eb0c --- /dev/null +++ b/pkg/kbd/keymaps.txt @@ -0,0 +1,239 @@ +# +Date: Mon, 16 May 2016 22:58:17 -0700 +Subject: [PATCH] Import pre-generated {analyze,parser}.{c,h} from kbd-2.0.3 + distribution archive + +This avoids a dependency on bison and flex. +--- + src/libkeymap/analyze.c | 2896 +++++++++++++++++++++++++++++++++++++++++++++++ + src/libkeymap/analyze.h | 368 ++++++ + src/libkeymap/parser.c | 2238 ++++++++++++++++++++++++++++++++++++ + src/libkeymap/parser.h | 172 +++ + 4 files changed, 5674 insertions(+) + create mode 100644 src/libkeymap/analyze.c + create mode 100644 src/libkeymap/analyze.h + create mode 100644 src/libkeymap/parser.c + create mode 100644 src/libkeymap/parser.h + +diff --git a/src/libkeymap/analyze.c b/src/libkeymap/analyze.c +new file mode 100644 +index 0000000..527d507 +--- /dev/null ++++ b/src/libkeymap/analyze.c +@@ -0,0 +1,2896 @@ ++#line 15 "analyze.l" ++#include "keymap.h" ++int stack_push(struct lk_ctx *ctx, lkfile_t *fp, void *scanner); ++int stack_pop(struct lk_ctx *ctx, void *scanner); ++ ++ ++ ++#line 9 "analyze.c" ++ ++#define YY_INT_ALIGNED short int ++ ++/* A lexical scanner generated by flex */ ++ ++#define FLEX_SCANNER ++#define YY_FLEX_MAJOR_VERSION 2 ++#define YY_FLEX_MINOR_VERSION 5 ++#define YY_FLEX_SUBMINOR_VERSION 37 ++#if YY_FLEX_SUBMINOR_VERSION > 0 ++#define FLEX_BETA ++#endif ++ ++/* First, we deal with platform-specific or compiler-specific issues. */ ++ ++/* begin standard C headers. */ ++#include ++#include ++#include ++#include ++ ++/* end standard C headers. */ ++ ++/* flex integer type definitions */ ++ ++#ifndef FLEXINT_H ++#define FLEXINT_H ++ ++/* C99 systems have . Non-C99 systems may or may not. */ ++ ++#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L ++ ++/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, ++ * if you want the limit (max/min) macros for int types. ++ */ ++#ifndef __STDC_LIMIT_MACROS ++#define __STDC_LIMIT_MACROS 1 ++#endif ++ ++#include ++typedef int8_t flex_int8_t; ++typedef uint8_t flex_uint8_t; ++typedef int16_t flex_int16_t; ++typedef uint16_t flex_uint16_t; ++typedef int32_t flex_int32_t; ++typedef uint32_t flex_uint32_t; ++#else ++typedef signed char flex_int8_t; ++typedef short int flex_int16_t; ++typedef int flex_int32_t; ++typedef unsigned char flex_uint8_t; ++typedef unsigned short int flex_uint16_t; ++typedef unsigned int flex_uint32_t; ++ ++/* Limits of integral types. */ ++#ifndef INT8_MIN ++#define INT8_MIN (-128) ++#endif ++#ifndef INT16_MIN ++#define INT16_MIN (-32767-1) ++#endif ++#ifndef INT32_MIN ++#define INT32_MIN (-2147483647-1) ++#endif ++#ifndef INT8_MAX ++#define INT8_MAX (127) ++#endif ++#ifndef INT16_MAX ++#define INT16_MAX (32767) ++#endif ++#ifndef INT32_MAX ++#define INT32_MAX (2147483647) ++#endif ++#ifndef UINT8_MAX ++#define UINT8_MAX (255U) ++#endif ++#ifndef UINT16_MAX ++#define UINT16_MAX (65535U) ++#endif ++#ifndef UINT32_MAX ++#define UINT32_MAX (4294967295U) ++#endif ++ ++#endif /* ! C99 */ ++ ++#endif /* ! FLEXINT_H */ ++ ++#ifdef __cplusplus ++ ++/* The "const" storage-class-modifier is valid. */ ++#define YY_USE_CONST ++ ++#else /* ! __cplusplus */ ++ ++/* C99 requires __STDC__ to be defined as 1. */ ++#if defined (__STDC__) ++ ++#define YY_USE_CONST ++ ++#endif /* defined (__STDC__) */ ++#endif /* ! __cplusplus */ ++ ++#ifdef YY_USE_CONST ++#define yyconst const ++#else ++#define yyconst ++#endif ++ ++/* Returned upon end-of-file. */ ++#define YY_NULL 0 ++ ++/* Promotes a possibly negative, possibly signed char to an unsigned ++ * integer for use as an array index. If the signed char is negative, ++ * we want to instead treat it as an 8-bit unsigned char, hence the ++ * double cast. ++ */ ++#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) ++ ++#ifndef YY_GNUC_PREREQ ++# if defined __GNUC__ && defined __GNUC_MINOR__ ++# define YY_GNUC_PREREQ(maj, min) \ ++ ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) ++# else ++# define YY_GNUC_PREREQ(maj, min) 0 ++# endif ++# if YY_GNUC_PREREQ(2, 5) ++# define YY_ATTRIBUTE_NORETURN __attribute__ ((__noreturn__)) ++# define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__)) ++# else ++# define YY_ATTRIBUTE_NORETURN /* __attribute__ ((__noreturn__)) */ ++# define YY_ATTRIBUTE_UNUSED /* __attribute__ ((__unused__)) */ ++# endif ++#endif ++ ++/* An opaque pointer. */ ++#ifndef YY_TYPEDEF_YY_SCANNER_T ++#define YY_TYPEDEF_YY_SCANNER_T ++typedef void* yyscan_t; ++#endif ++ ++/* For convenience, these vars (plus the bison vars far below) ++ are macros in the reentrant scanner. */ ++#define yyin yyg->yyin_r ++#define yyout yyg->yyout_r ++#define yyextra yyg->yyextra_r ++#define yyleng yyg->yyleng_r ++#define yytext yyg->yytext_r ++#define yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno) ++#define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column) ++#define yy_flex_debug yyg->yy_flex_debug_r ++ ++/* Enter a start condition. This macro really ought to take a parameter, ++ * but we do it the disgusting crufty way forced on us by the ()-less ++ * definition of BEGIN. ++ */ ++#define BEGIN yyg->yy_start = 1 + 2 * ++ ++/* Translate the current start state into a value that can be later handed ++ * to BEGIN to return to the state. The YYSTATE alias is for lex ++ * compatibility. ++ */ ++#define YY_START ((yyg->yy_start - 1) / 2) ++#define YYSTATE YY_START ++ ++/* Action number for EOF rule of a given start state. */ ++#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) ++ ++/* Special action meaning "start processing a new file". */ ++#define YY_NEW_FILE yyrestart(yyin ,yyscanner ) ++ ++#define YY_END_OF_BUFFER_CHAR 0 ++ ++/* Size of default input buffer. */ ++#ifndef YY_BUF_SIZE ++#define YY_BUF_SIZE 16384 ++#endif ++ ++/* The state buf must be large enough to hold one state per character in the main buffer. ++ */ ++#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) ++ ++#ifndef YY_TYPEDEF_YY_BUFFER_STATE ++#define YY_TYPEDEF_YY_BUFFER_STATE ++typedef struct yy_buffer_state *YY_BUFFER_STATE; ++#endif ++ ++#ifndef YY_TYPEDEF_YY_SIZE_T ++#define YY_TYPEDEF_YY_SIZE_T ++typedef size_t yy_size_t; ++#endif ++ ++#define EOB_ACT_CONTINUE_SCAN 0 ++#define EOB_ACT_END_OF_FILE 1 ++#define EOB_ACT_LAST_MATCH 2 ++ ++ #define YY_LESS_LINENO(n) ++ ++/* Return all but the first "n" matched characters back to the input stream. */ ++#define yyless(n) \ ++ do \ ++ { \ ++ /* Undo effects of setting up yytext. */ \ ++ int yyless_macro_arg = (n); \ ++ YY_LESS_LINENO(yyless_macro_arg);\ ++ *yy_cp = yyg->yy_hold_char; \ ++ YY_RESTORE_YY_MORE_OFFSET \ ++ yyg->yy_c_buf_p = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ ++ YY_DO_BEFORE_ACTION; /* set up yytext again */ \ ++ } \ ++ while ( 0 ) ++ ++#define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner ) ++ ++#ifndef YY_STRUCT_YY_BUFFER_STATE ++#define YY_STRUCT_YY_BUFFER_STATE ++struct yy_buffer_state ++ { ++ FILE *yy_input_file; ++ ++ char *yy_ch_buf; /* input buffer */ ++ char *yy_buf_pos; /* current position in input buffer */ ++ ++ /* Size of input buffer in bytes, not including room for EOB ++ * characters. ++ */ ++ yy_size_t yy_buf_size; ++ ++ /* Number of characters read into yy_ch_buf, not including EOB ++ * characters. ++ */ ++ yy_size_t yy_n_chars; ++ ++ /* Whether we "own" the buffer - i.e., we know we created it, ++ * and can realloc() it to grow it, and should free() it to ++ * delete it. ++ */ ++ int yy_is_our_buffer; ++ ++ /* Whether this is an "interactive" input source; if so, and ++ * if we're using stdio for input, then we want to use getc() ++ * instead of fread(), to make sure we stop fetching input after ++ * each newline. ++ */ ++ int yy_is_interactive; ++ ++ /* Whether we're considered to be at the beginning of a line. ++ * If so, '^' rules will be active on the next match, otherwise ++ * not. ++ */ ++ int yy_at_bol; ++ ++ int yy_bs_lineno; /**< The line count. */ ++ int yy_bs_column; /**< The column count. */ ++ ++ /* Whether to try to fill the input buffer when we reach the ++ * end of it. ++ */ ++ int yy_fill_buffer; ++ ++ int yy_buffer_status; ++ ++#define YY_BUFFER_NEW 0 ++#define YY_BUFFER_NORMAL 1 ++ /* When an EOF's been seen but there's still some text to process ++ * then we mark the buffer as YY_EOF_PENDING, to indicate that we ++ * shouldn't try reading from the input source any more. We might ++ * still have a bunch of tokens to match, though, because of ++ * possible backing-up. ++ * ++ * When we actually see the EOF, we change the status to "new" ++ * (via yyrestart()), so that the user can continue scanning by ++ * just pointing yyin at a new input file. ++ */ ++#define YY_BUFFER_EOF_PENDING 2 ++ ++ }; ++#endif /* !YY_STRUCT_YY_BUFFER_STATE */ ++ ++/* We provide macros for accessing buffer states in case in the ++ * future we want to put the buffer states in a more general ++ * "scanner state". ++ * ++ * Returns the top of the stack, or NULL. ++ */ ++#define YY_CURRENT_BUFFER ( yyg->yy_buffer_stack \ ++ ? yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] \ ++ : NULL) ++ ++/* Same as previous macro, but useful when we know that the buffer stack is not ++ * NULL or when we need an lvalue. For internal use only. ++ */ ++#define YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] ++ ++void yyrestart (FILE *input_file ,yyscan_t yyscanner ); ++void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner ); ++YY_BUFFER_STATE yy_create_buffer (FILE *file,int size ,yyscan_t yyscanner ); ++void yy_delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner ); ++void yy_flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner ); ++void yypush_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner ); ++void yypop_buffer_state (yyscan_t yyscanner ); ++ ++static void yyensure_buffer_stack (yyscan_t yyscanner ); ++static void yy_load_buffer_state (yyscan_t yyscanner ); ++static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner ); ++ ++#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER ,yyscanner) ++ ++YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner ); ++YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner ); ++YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner ); ++ ++void *yyalloc (yy_size_t ,yyscan_t yyscanner ); ++void *yyrealloc (void *,yy_size_t ,yyscan_t yyscanner ); ++void yyfree (void * ,yyscan_t yyscanner ); ++ ++#define yy_new_buffer yy_create_buffer ++ ++#define yy_set_interactive(is_interactive) \ ++ { \ ++ if ( ! YY_CURRENT_BUFFER ){ \ ++ yyensure_buffer_stack (yyscanner); \ ++ YY_CURRENT_BUFFER_LVALUE = \ ++ yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \ ++ } \ ++ YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ ++ } ++ ++#define yy_set_bol(at_bol) \ ++ { \ ++ if ( ! YY_CURRENT_BUFFER ){\ ++ yyensure_buffer_stack (yyscanner); \ ++ YY_CURRENT_BUFFER_LVALUE = \ ++ yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \ ++ } \ ++ YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ ++ } ++ ++#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) ++ ++/* Begin user sect3 */ ++ ++#define yywrap(yyscanner) 1 ++#define YY_SKIP_YYWRAP ++ ++typedef unsigned char YY_CHAR; ++ ++typedef int yy_state_type; ++ ++#define yytext_ptr yytext_r ++ ++static yy_state_type yy_get_previous_state (yyscan_t yyscanner ); ++static yy_state_type yy_try_NUL_trans (yy_state_type current_state ,yyscan_t yyscanner); ++static int yy_get_next_buffer (yyscan_t yyscanner ); ++static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner ) YY_ATTRIBUTE_NORETURN; ++ ++/* Done after the current pattern has been matched and before the ++ * corresponding action - sets up yytext. ++ */ ++#define YY_DO_BEFORE_ACTION \ ++ yyg->yytext_ptr = yy_bp; \ ++ yyleng = (size_t) (yy_cp - yy_bp); \ ++ yyg->yy_hold_char = *yy_cp; \ ++ *yy_cp = '\0'; \ ++ yyg->yy_c_buf_p = yy_cp; ++ ++#define YY_NUM_RULES 48 ++#define YY_END_OF_BUFFER 49 ++/* This struct is not used in this scanner, ++ but its presence is necessary. */ ++struct yy_trans_info ++ { ++ flex_int32_t yy_verify; ++ flex_int32_t yy_nxt; ++ }; ++static yyconst flex_int16_t yy_accept[504] = ++ { 0, ++ 0, 0, 0, 0, 45, 45, 0, 0, 49, 47, ++ 6, 5, 47, 40, 47, 16, 15, 14, 12, 12, ++ 8, 47, 47, 47, 47, 47, 47, 47, 47, 47, ++ 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, ++ 47, 13, 13, 13, 13, 13, 13, 13, 13, 13, ++ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, ++ 13, 45, 46, 48, 3, 48, 6, 0, 7, 0, ++ 0, 12, 0, 12, 0, 33, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, ++ 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, ++ ++ 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, ++ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, ++ 13, 13, 13, 13, 13, 13, 13, 10, 13, 13, ++ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, ++ 13, 13, 13, 45, 42, 41, 43, 44, 0, 3, ++ 39, 0, 39, 0, 12, 23, 0, 23, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ ++ 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, ++ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, ++ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, ++ 13, 13, 13, 13, 13, 13, 13, 13, 41, 2, ++ 38, 37, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, ++ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, ++ ++ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, ++ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, ++ 13, 13, 13, 13, 13, 13, 41, 37, 0, 0, ++ 24, 0, 0, 0, 0, 27, 28, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, ++ 21, 0, 21, 0, 0, 34, 0, 0, 0, 0, ++ 0, 0, 0, 21, 0, 13, 13, 13, 13, 13, ++ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, ++ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, ++ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, ++ ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 25, 26, 9, ++ 9, 11, 0, 0, 0, 0, 0, 0, 0, 9, ++ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, ++ 13, 13, 13, 13, 13, 13, 13, 13, 13, 9, ++ 9, 13, 13, 13, 13, 13, 13, 13, 9, 0, ++ 0, 17, 32, 22, 0, 0, 19, 18, 31, 0, ++ 1, 13, 13, 13, 13, 13, 13, 13, 13, 13, ++ 13, 13, 1, 0, 0, 0, 0, 0, 1, 13, ++ 13, 13, 13, 13, 0, 29, 13, 13, 0, 13, ++ ++ 30, 13, 0 ++ } ; ++ ++static yyconst flex_int32_t yy_ec[256] = ++ { 0, ++ 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ++ 1, 2, 4, 5, 6, 1, 1, 1, 7, 1, ++ 1, 1, 8, 9, 10, 1, 1, 11, 12, 12, ++ 12, 12, 12, 12, 12, 13, 13, 1, 1, 1, ++ 14, 1, 1, 1, 15, 16, 17, 18, 19, 20, ++ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, ++ 24, 31, 32, 33, 34, 24, 24, 35, 36, 24, ++ 1, 37, 1, 1, 38, 1, 39, 16, 40, 41, ++ ++ 42, 43, 44, 45, 46, 24, 47, 48, 49, 50, ++ 51, 52, 24, 53, 54, 55, 56, 24, 24, 35, ++ 57, 24, 1, 1, 1, 1, 1, 1, 1, 1, ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ++ ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ++ 1, 1, 1, 1, 1 ++ } ; ++ ++static yyconst flex_int32_t yy_meta[58] = ++ { 0, ++ 1, 1, 2, 1, 3, 1, 1, 1, 1, 1, ++ 4, 4, 4, 1, 4, 4, 4, 4, 4, 4, ++ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, ++ 5, 5, 5, 5, 5, 5, 3, 5, 4, 4, ++ 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, ++ 5, 5, 5, 5, 5, 5, 5 ++ } ; ++ ++static yyconst flex_int16_t yy_base[517] = ++ { 0, ++ 0, 0, 57, 0, 110, 111, 721, 720, 724, 727, ++ 721, 727, 719, 727, 684, 727, 727, 727, 106, 108, ++ 727, 96, 110, 94, 110, 96, 105, 118, 105, 122, ++ 717, 110, 123, 668, 668, 675, 666, 667, 82, 663, ++ 659, 134, 0, 157, 106, 150, 131, 141, 158, 142, ++ 162, 151, 156, 661, 661, 668, 659, 660, 130, 656, ++ 652, 0, 727, 209, 727, 195, 703, 701, 727, 696, ++ 211, 172, 0, 213, 154, 727, 164, 672, 686, 200, ++ 669, 647, 659, 180, 644, 665, 642, 658, 636, 727, ++ 677, 652, 667, 658, 642, 634, 727, 0, 652, 629, ++ ++ 727, 177, 182, 632, 644, 184, 629, 628, 640, 622, ++ 639, 631, 623, 619, 0, 184, 0, 198, 644, 658, ++ 208, 641, 619, 631, 191, 616, 637, 614, 630, 608, ++ 0, 649, 624, 639, 630, 614, 606, 0, 624, 601, ++ 205, 209, 604, 616, 194, 601, 600, 612, 594, 611, ++ 603, 595, 591, 0, 727, 236, 727, 727, 201, 727, ++ 727, 639, 638, 238, 0, 241, 242, 244, 612, 612, ++ 612, 608, 614, 585, 585, 585, 581, 587, 727, 239, ++ 241, 611, 587, 612, 608, 587, 583, 0, 613, 588, ++ 245, 572, 572, 572, 568, 574, 573, 93, 574, 576, ++ ++ 572, 578, 253, 247, 257, 584, 584, 584, 580, 586, ++ 557, 557, 557, 553, 559, 0, 244, 259, 583, 559, ++ 584, 580, 559, 555, 585, 560, 259, 544, 544, 544, ++ 540, 546, 545, 235, 546, 548, 544, 550, 261, 727, ++ 727, 727, 293, 247, 557, 534, 533, 553, 552, 554, ++ 551, 261, 262, 264, 530, 527, 276, 550, 563, 526, ++ 537, 524, 535, 545, 522, 538, 542, 514, 518, 0, ++ 541, 518, 512, 510, 509, 511, 508, 258, 504, 508, ++ 519, 507, 501, 505, 506, 522, 275, 499, 498, 518, ++ 517, 519, 516, 283, 278, 280, 495, 492, 289, 515, ++ ++ 528, 491, 502, 489, 500, 510, 487, 503, 507, 479, ++ 483, 506, 483, 477, 475, 474, 476, 473, 269, 469, ++ 473, 484, 472, 466, 470, 471, 727, 727, 511, 281, ++ 727, 495, 497, 483, 485, 727, 727, 468, 467, 469, ++ 468, 455, 457, 489, 476, 464, 452, 462, 450, 727, ++ 293, 480, 297, 456, 0, 727, 454, 456, 443, 445, ++ 454, 453, 441, 277, 448, 0, 294, 469, 471, 457, ++ 459, 0, 0, 442, 441, 443, 442, 429, 431, 463, ++ 450, 438, 426, 436, 424, 0, 305, 454, 307, 430, ++ 0, 428, 430, 417, 419, 428, 427, 415, 289, 422, ++ ++ 317, 442, 431, 444, 436, 415, 414, 404, 403, 415, ++ 408, 436, 422, 411, 398, 409, 396, 727, 727, 417, ++ 394, 727, 401, 391, 403, 396, 401, 400, 387, 386, ++ 319, 416, 405, 418, 410, 389, 388, 378, 377, 389, ++ 382, 410, 396, 385, 372, 383, 370, 0, 0, 391, ++ 368, 375, 365, 377, 370, 375, 374, 361, 360, 312, ++ 393, 727, 727, 727, 369, 368, 727, 727, 727, 364, ++ 396, 313, 370, 0, 0, 0, 329, 327, 0, 0, ++ 0, 326, 363, 322, 330, 305, 304, 303, 354, 324, ++ 321, 298, 297, 296, 312, 727, 313, 0, 332, 334, ++ ++ 727, 0, 727, 373, 378, 383, 388, 390, 395, 400, ++ 405, 346, 340, 273, 134, 122 ++ } ; ++ ++static yyconst flex_int16_t yy_def[517] = ++ { 0, ++ 503, 1, 503, 3, 504, 504, 505, 505, 503, 503, ++ 503, 503, 506, 503, 507, 503, 503, 503, 503, 503, ++ 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, ++ 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, ++ 503, 508, 508, 508, 508, 508, 508, 508, 508, 508, ++ 508, 508, 508, 508, 508, 508, 508, 508, 508, 508, ++ 508, 509, 503, 503, 503, 510, 503, 506, 503, 503, ++ 511, 503, 512, 503, 503, 503, 503, 503, 503, 503, ++ 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, ++ 503, 503, 503, 503, 503, 503, 503, 513, 503, 503, ++ ++ 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, ++ 503, 503, 503, 503, 508, 508, 508, 508, 508, 508, ++ 508, 508, 508, 508, 508, 508, 508, 508, 508, 508, ++ 508, 508, 508, 508, 508, 508, 508, 508, 508, 508, ++ 508, 508, 508, 508, 508, 508, 508, 508, 508, 508, ++ 508, 508, 508, 509, 503, 503, 503, 503, 510, 503, ++ 503, 503, 503, 503, 512, 503, 503, 503, 503, 503, ++ 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, ++ 503, 503, 503, 503, 503, 503, 503, 514, 503, 503, ++ 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, ++ ++ 503, 503, 508, 508, 508, 508, 508, 508, 508, 508, ++ 508, 508, 508, 508, 508, 508, 508, 508, 508, 508, ++ 508, 508, 508, 508, 508, 508, 508, 508, 508, 508, ++ 508, 508, 508, 508, 508, 508, 508, 508, 503, 503, ++ 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, ++ 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, ++ 503, 503, 503, 503, 503, 503, 503, 503, 503, 515, ++ 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, ++ 503, 503, 503, 503, 503, 508, 508, 508, 508, 508, ++ 508, 508, 508, 508, 508, 508, 508, 508, 508, 508, ++ ++ 508, 508, 508, 508, 508, 508, 508, 508, 508, 508, ++ 508, 508, 508, 508, 508, 508, 508, 508, 508, 508, ++ 508, 508, 508, 508, 508, 508, 503, 503, 503, 503, ++ 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, ++ 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, ++ 503, 503, 503, 503, 516, 503, 503, 503, 503, 503, ++ 503, 503, 503, 503, 503, 508, 508, 508, 508, 508, ++ 508, 508, 508, 508, 508, 508, 508, 508, 508, 508, ++ 508, 508, 508, 508, 508, 508, 508, 508, 508, 508, ++ 508, 508, 508, 508, 508, 508, 508, 508, 508, 508, ++ ++ 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, ++ 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, ++ 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, ++ 508, 508, 508, 508, 508, 508, 508, 508, 508, 508, ++ 508, 508, 508, 508, 508, 508, 508, 508, 508, 508, ++ 508, 508, 508, 508, 508, 508, 508, 508, 508, 503, ++ 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, ++ 503, 508, 508, 508, 508, 508, 508, 508, 508, 508, ++ 508, 508, 508, 503, 503, 503, 503, 503, 503, 508, ++ 508, 508, 508, 508, 503, 503, 508, 508, 503, 508, ++ ++ 503, 508, 0, 503, 503, 503, 503, 503, 503, 503, ++ 503, 503, 503, 503, 503, 503 ++ } ; ++ ++static yyconst flex_int16_t yy_nxt[785] = ++ { 0, ++ 10, 11, 12, 13, 14, 13, 15, 16, 17, 18, ++ 19, 20, 20, 21, 22, 10, 23, 10, 10, 24, ++ 10, 10, 10, 10, 25, 10, 10, 10, 26, 27, ++ 10, 28, 29, 30, 10, 10, 31, 10, 32, 33, ++ 10, 10, 34, 10, 10, 35, 36, 10, 10, 10, ++ 37, 38, 10, 39, 40, 41, 10, 10, 11, 12, ++ 13, 14, 13, 15, 16, 17, 18, 19, 20, 20, ++ 21, 42, 43, 44, 43, 43, 45, 43, 43, 43, ++ 43, 46, 43, 43, 43, 47, 48, 43, 49, 50, ++ 51, 43, 43, 31, 10, 52, 53, 43, 43, 54, ++ ++ 43, 43, 55, 56, 43, 43, 43, 57, 58, 43, ++ 59, 60, 61, 43, 63, 63, 72, 72, 74, 74, ++ 74, 75, 86, 90, 78, 422, 112, 76, 88, 98, ++ 91, 79, 280, 97, 127, 102, 113, 355, 80, 93, ++ 73, 281, 81, 77, 87, 90, 64, 64, 82, 76, ++ 94, 89, 92, 99, 83, 97, 128, 103, 131, 116, ++ 84, 104, 95, 76, 85, 117, 132, 105, 129, 98, ++ 138, 119, 96, 106, 151, 100, 141, 107, 120, 134, ++ 131, 118, 72, 72, 152, 121, 166, 117, 133, 122, ++ 135, 130, 138, 139, 143, 123, 167, 160, 142, 160, ++ ++ 144, 124, 136, 160, 117, 240, 145, 125, 167, 167, ++ 146, 126, 137, 155, 167, 140, 203, 163, 168, 156, ++ 156, 164, 164, 74, 74, 74, 171, 172, 176, 177, ++ 204, 167, 194, 195, 208, 209, 191, 204, 204, 213, ++ 214, 204, 230, 231, 242, 157, 239, 239, 243, 243, ++ 244, 244, 205, 244, 244, 258, 244, 260, 158, 204, ++ 300, 245, 244, 227, 246, 259, 244, 261, 244, 330, ++ 301, 327, 327, 286, 321, 302, 270, 288, 244, 244, ++ 262, 244, 244, 322, 287, 303, 336, 247, 273, 263, ++ 287, 337, 330, 338, 287, 340, 287, 367, 304, 328, ++ ++ 289, 336, 314, 329, 329, 336, 337, 305, 372, 374, ++ 337, 376, 401, 373, 372, 339, 372, 341, 418, 373, ++ 367, 373, 418, 419, 418, 431, 460, 419, 460, 419, ++ 448, 375, 448, 377, 401, 449, 448, 449, 484, 490, ++ 495, 449, 497, 188, 499, 500, 501, 431, 502, 165, ++ 498, 498, 498, 498, 460, 489, 472, 496, 496, 496, ++ 484, 490, 496, 495, 489, 497, 499, 500, 494, 493, ++ 501, 492, 502, 62, 62, 62, 62, 62, 65, 65, ++ 65, 65, 65, 68, 68, 68, 68, 68, 70, 491, ++ 70, 70, 70, 115, 115, 154, 154, 489, 154, 154, ++ ++ 159, 159, 159, 159, 159, 162, 488, 162, 162, 162, ++ 487, 486, 485, 481, 480, 479, 483, 476, 475, 474, ++ 482, 481, 481, 480, 479, 480, 479, 480, 479, 476, ++ 475, 474, 474, 478, 477, 476, 475, 474, 473, 469, ++ 468, 467, 471, 464, 463, 462, 470, 469, 469, 468, ++ 467, 468, 467, 468, 467, 464, 463, 462, 462, 466, ++ 465, 464, 463, 462, 461, 459, 458, 457, 456, 455, ++ 454, 453, 452, 451, 450, 447, 446, 445, 444, 443, ++ 442, 441, 440, 439, 438, 437, 436, 435, 434, 433, ++ 432, 430, 429, 428, 427, 426, 425, 424, 423, 421, ++ ++ 420, 417, 416, 415, 414, 413, 412, 411, 410, 409, ++ 408, 407, 406, 405, 404, 403, 402, 328, 391, 400, ++ 399, 386, 398, 397, 396, 395, 394, 393, 392, 366, ++ 391, 391, 390, 389, 388, 387, 386, 386, 385, 384, ++ 383, 382, 381, 380, 379, 378, 371, 370, 369, 368, ++ 366, 366, 366, 356, 365, 364, 350, 363, 362, 361, ++ 360, 359, 358, 357, 331, 356, 356, 354, 353, 352, ++ 351, 350, 350, 349, 348, 347, 346, 345, 344, 343, ++ 342, 335, 334, 333, 332, 331, 331, 331, 326, 325, ++ 324, 323, 320, 319, 318, 317, 316, 315, 313, 312, ++ ++ 311, 310, 309, 308, 307, 306, 299, 298, 297, 296, ++ 295, 294, 293, 292, 291, 290, 285, 284, 283, 282, ++ 279, 278, 277, 276, 275, 274, 272, 271, 269, 268, ++ 267, 266, 265, 264, 257, 256, 255, 254, 253, 252, ++ 251, 250, 249, 248, 241, 241, 238, 237, 236, 235, ++ 234, 233, 216, 232, 229, 228, 226, 225, 224, 223, ++ 222, 221, 220, 219, 218, 217, 216, 216, 215, 212, ++ 211, 210, 207, 206, 202, 201, 200, 199, 198, 197, ++ 179, 196, 193, 192, 190, 189, 187, 186, 185, 184, ++ 183, 182, 181, 180, 179, 179, 178, 175, 174, 173, ++ ++ 170, 169, 161, 69, 67, 153, 138, 150, 131, 149, ++ 148, 147, 114, 97, 111, 90, 110, 109, 108, 101, ++ 71, 69, 67, 503, 66, 66, 9, 503, 503, 503, ++ 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, ++ 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, ++ 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, ++ 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, ++ 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, ++ 503, 503, 503, 503 ++ } ; ++ ++static yyconst flex_int16_t yy_chk[785] = ++ { 0, ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ++ 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, ++ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, ++ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, ++ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, ++ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, ++ ++ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, ++ 3, 3, 3, 3, 5, 6, 19, 19, 20, 20, ++ 20, 22, 24, 26, 23, 516, 39, 22, 25, 30, ++ 27, 23, 198, 29, 45, 32, 39, 515, 23, 28, ++ 19, 198, 23, 22, 24, 26, 5, 6, 23, 22, ++ 28, 25, 27, 30, 23, 29, 45, 32, 47, 42, ++ 23, 33, 28, 32, 23, 42, 48, 33, 46, 51, ++ 50, 44, 28, 33, 59, 30, 52, 33, 44, 49, ++ 47, 42, 72, 72, 59, 44, 75, 42, 48, 44, ++ 49, 46, 50, 51, 53, 44, 77, 66, 52, 66, ++ ++ 53, 44, 49, 159, 52, 159, 53, 44, 75, 102, ++ 53, 44, 49, 64, 103, 51, 116, 71, 77, 64, ++ 64, 71, 71, 74, 74, 74, 80, 80, 84, 84, ++ 118, 102, 106, 106, 121, 121, 103, 141, 116, 125, ++ 125, 142, 145, 145, 164, 64, 156, 156, 164, 164, ++ 166, 167, 118, 168, 191, 180, 204, 181, 64, 141, ++ 217, 166, 203, 142, 168, 180, 205, 181, 227, 244, ++ 217, 239, 239, 203, 234, 218, 514, 205, 166, 167, ++ 181, 168, 191, 234, 204, 218, 252, 168, 191, 181, ++ 203, 252, 244, 253, 205, 254, 227, 287, 218, 243, ++ ++ 205, 257, 227, 243, 243, 278, 257, 218, 294, 295, ++ 278, 296, 330, 294, 299, 253, 319, 254, 351, 299, ++ 287, 319, 353, 351, 364, 367, 401, 353, 431, 364, ++ 387, 295, 389, 296, 330, 387, 399, 389, 460, 472, ++ 484, 399, 490, 513, 495, 497, 499, 367, 500, 512, ++ 494, 493, 492, 491, 401, 489, 431, 488, 487, 486, ++ 460, 472, 485, 484, 483, 490, 495, 497, 482, 478, ++ 499, 477, 500, 504, 504, 504, 504, 504, 505, 505, ++ 505, 505, 505, 506, 506, 506, 506, 506, 507, 473, ++ 507, 507, 507, 508, 508, 509, 509, 471, 509, 509, ++ ++ 510, 510, 510, 510, 510, 511, 470, 511, 511, 511, ++ 466, 465, 461, 459, 458, 457, 456, 455, 454, 453, ++ 452, 451, 450, 447, 446, 445, 444, 443, 442, 441, ++ 440, 439, 438, 437, 436, 435, 434, 433, 432, 430, ++ 429, 428, 427, 426, 425, 424, 423, 421, 420, 417, ++ 416, 415, 414, 413, 412, 411, 410, 409, 408, 407, ++ 406, 405, 404, 403, 402, 400, 398, 397, 396, 395, ++ 394, 393, 392, 390, 388, 385, 384, 383, 382, 381, ++ 380, 379, 378, 377, 376, 375, 374, 371, 370, 369, ++ 368, 365, 363, 362, 361, 360, 359, 358, 357, 354, ++ ++ 352, 349, 348, 347, 346, 345, 344, 343, 342, 341, ++ 340, 339, 338, 335, 334, 333, 332, 329, 326, 325, ++ 324, 323, 322, 321, 320, 318, 317, 316, 315, 314, ++ 313, 312, 311, 310, 309, 308, 307, 306, 305, 304, ++ 303, 302, 301, 300, 298, 297, 293, 292, 291, 290, ++ 289, 288, 286, 285, 284, 283, 282, 281, 280, 279, ++ 277, 276, 275, 274, 273, 272, 271, 269, 268, 267, ++ 266, 265, 264, 263, 262, 261, 260, 259, 258, 256, ++ 255, 251, 250, 249, 248, 247, 246, 245, 238, 237, ++ 236, 235, 233, 232, 231, 230, 229, 228, 226, 225, ++ ++ 224, 223, 222, 221, 220, 219, 215, 214, 213, 212, ++ 211, 210, 209, 208, 207, 206, 202, 201, 200, 199, ++ 197, 196, 195, 194, 193, 192, 190, 189, 187, 186, ++ 185, 184, 183, 182, 178, 177, 176, 175, 174, 173, ++ 172, 171, 170, 169, 163, 162, 153, 152, 151, 150, ++ 149, 148, 147, 146, 144, 143, 140, 139, 137, 136, ++ 135, 134, 133, 132, 130, 129, 128, 127, 126, 124, ++ 123, 122, 120, 119, 114, 113, 112, 111, 110, 109, ++ 108, 107, 105, 104, 100, 99, 96, 95, 94, 93, ++ 92, 91, 89, 88, 87, 86, 85, 83, 82, 81, ++ ++ 79, 78, 70, 68, 67, 61, 60, 58, 57, 56, ++ 55, 54, 41, 40, 38, 37, 36, 35, 34, 31, ++ 15, 13, 11, 9, 8, 7, 503, 503, 503, 503, ++ 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, ++ 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, ++ 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, ++ 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, ++ 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, ++ 503, 503, 503, 503 ++ } ; ++ ++/* The intent behind this definition is that it'll catch ++ * any uses of REJECT which flex missed. ++ */ ++#define REJECT reject_used_but_not_detected ++#define yymore() yymore_used_but_not_detected ++#define YY_MORE_ADJ 0 ++#define YY_RESTORE_YY_MORE_OFFSET ++#line 1 "analyze.l" ++#line 2 "analyze.l" ++#include ++#include /* readlink */ ++ ++#include "nls.h" ++#include "kbd.h" ++#include "contextP.h" ++#include "ksyms.h" ++#include "paths.h" ++ ++#include "parser.h" ++ ++#define YY_NO_INPUT 1 ++#line 32 "analyze.l" ++int ++stack_push(struct lk_ctx *ctx, lkfile_t *fp, void *scanner) ++{ ++ int i = 0; ++ ++ while (ctx->stack[i]) i++; ++ ++ if (i == MAX_INCLUDE_DEPTH) { ++ ERR(ctx, _("includes are nested too deeply")); ++ return -1; ++ } ++ ++ ctx->stack[i] = fp; ++ ++ yypush_buffer_state(yy_create_buffer(fp->fd,YY_BUF_SIZE,scanner),scanner); ++ return 0; ++} ++ ++int ++stack_pop(struct lk_ctx *ctx, void *scanner) ++{ ++ int i = 0; ++ ++ while (ctx->stack[i]) i++; ++ if (!i) ++ return 0; ++ i--; ++ ++ /* ++ * The top of stack is input file for library. No need to close it. ++ */ ++ if (i) { ++ lk_fpclose(ctx->stack[i]); ++ free(ctx->stack[i]); ++ } ++ ctx->stack[i] = NULL; ++ ++ yypop_buffer_state(scanner); ++ return 0; ++} ++ ++/* ++ * Where shall we look for an include file? ++ * Current strategy (undocumented, may change): ++ * ++ * 1. Look for a user-specified LOADKEYS_INCLUDE_PATH ++ * 2. Try . and ../include and ../../include ++ * 3. Try D and D/../include and D/../../include ++ * where D is the directory from where we are loading the current file. ++ * 4. Try KD/include and KD/#/include where KD = DATADIR/KEYMAPDIR. ++ * ++ * Expected layout: ++ * KD has subdirectories amiga, atari, i386, mac, sun, include ++ * KD/include contains architecture-independent stuff ++ * like strings and iso-8859-x compose tables. ++ * KD/i386 has subdirectories qwerty, ... and include; ++ * this latter include dir contains stuff with keycode=... ++ * ++ * (Of course, if the present setup turns out to be reasonable, ++ * then later also the other architectures will grow and get ++ * subdirectories, and the hard-coded i386 below will go again.) ++ * ++ * People that dislike a dozen lookups for loadkeys ++ * can easily do "loadkeys file_with_includes; dumpkeys > my_keymap" ++ * and afterwards use only "loadkeys /fullpath/mykeymap", where no ++ * lookups are required. ++ */ ++static const char *const include_dirpath0[] = { "", 0 }; ++static const char *const include_dirpath1[] = { "", "../include/", "../../include/", 0 }; ++static const char *const include_dirpath3[] = { ++ DATADIR "/" KEYMAPDIR "/include/", ++ DATADIR "/" KEYMAPDIR "/i386/include/", ++ DATADIR "/" KEYMAPDIR "/mac/include/", 0 ++}; ++ ++static const char *const include_suffixes[] = { "", ".inc", 0 }; ++ ++static int ++find_incl_file_near_fn(struct lk_ctx *ctx, char *s, char *fn, lkfile_t *fp) ++{ ++ const char *include_dirpath2[] = { 0, 0, 0, 0 }; ++ char *t, *te, *t1 = NULL, *t2 = NULL; ++ int len, rc = 1; ++ ++ if (!fn) ++ return 1; ++ ++ t = strdup(fn); ++ if (t == NULL) ++ goto nomem; ++ ++ te = strrchr(t, '/'); ++ if (te) { ++ te[1] = 0; ++ len = strlen(t); ++ include_dirpath2[0] = t; ++ include_dirpath2[1] = t1 = malloc(len + 12); ++ include_dirpath2[2] = t2 = malloc(len + 15); ++ ++ if (t1 == NULL || t2 == NULL) ++ goto nomem; ++ ++ strcpy(t1, t); ++ strcat(t1, "../include/"); ++ strcpy(t2, t); ++ strcat(t2, "../../include/"); ++ rc = lk_findfile(s, include_dirpath2, include_suffixes, fp); ++ free(t1); ++ free(t2); ++ } ++ free(t); ++ return rc; ++ ++nomem: ERR(ctx, _("out of memory")); ++ if (t1) free(t1); ++ if (t2) free(t2); ++ if (t) free(t); ++ return -1; ++} ++ ++static int ++find_standard_incl_file(struct lk_ctx *ctx, char *s, lkfile_t *fp) ++{ ++ char *pathname; ++ int rc = 1; ++ int i = 0; ++ ++ while (ctx->stack[i]) i++; ++ if (i == 0) ++ return -1; ++ i--; ++ pathname = ctx->stack[i]->pathname; ++ ++ if (lk_findfile(s, include_dirpath1, include_suffixes, fp)) { ++ if ((rc = find_incl_file_near_fn(ctx, s, pathname, fp)) == -1) ++ return rc; ++ } ++ ++ /* If filename is a symlink, also look near its target. */ ++ if (rc) { ++ char buf[MAXPATHLEN], path[MAXPATHLEN], *ptr; ++ unsigned int n; ++ ++ n = readlink(pathname, buf, sizeof(buf)); ++ if (n > 0 && n < sizeof(buf)) { ++ buf[n] = 0; ++ if (buf[0] == '/') { ++ rc = find_incl_file_near_fn(ctx, s, buf, fp); ++ ++ } else if (strlen(pathname) + n < sizeof(path)) { ++ strcpy(path, pathname); ++ path[sizeof(path) - 1] = 0; ++ ptr = strrchr(path, '/'); ++ if (ptr) ++ ptr[1] = 0; ++ strcat(path, buf); ++ rc = find_incl_file_near_fn(ctx, s, path, fp); ++ } ++ } ++ } ++ ++ if (rc) ++ rc = lk_findfile(s, include_dirpath3, include_suffixes, fp); ++ return rc; ++} ++ ++static int ++find_incl_file(struct lk_ctx *ctx, char *s, lkfile_t *fp) ++{ ++ char *ev; ++ ++ if (!s || !*s) ++ return 1; ++ ++ if (*s == '/') /* no path required */ ++ return (lk_findfile(s, include_dirpath0, include_suffixes, fp)); ++ ++ if ((ev = getenv("LOADKEYS_INCLUDE_PATH")) != NULL) { ++ /* try user-specified path */ ++ const char *user_dir[2] = { 0, 0 }; ++ while (ev) { ++ int rc; ++ char *t = strchr(ev, ':'); ++ char sv = 0; ++ if (t) { ++ sv = *t; ++ *t = 0; ++ } ++ user_dir[0] = ev; ++ if (*ev) ++ rc = lk_findfile(s, user_dir, include_suffixes, fp); ++ else /* empty string denotes system path */ ++ rc = find_standard_incl_file(ctx, s, fp); ++ ++ if (rc <= 0) ++ return rc; ++ if (t) ++ *t++ = sv; ++ ev = t; ++ } ++ return 1; ++ } ++ return find_standard_incl_file(ctx, s, fp); ++} ++ ++static int ++open_include(struct lk_ctx *ctx, char *s, yyscan_t scanner) ++{ ++ int rc; ++ lkfile_t *fp; ++ ++ INFO(ctx, _("switching to %s"), s); ++ ++ fp = malloc(sizeof(lkfile_t)); ++ if (!fp) { ++ ERR(ctx, _("out of memory")); ++ return -1; ++ } ++ memset(fp, 0, sizeof(lkfile_t)); ++ ++ rc = find_incl_file(ctx, s, fp); ++ if (rc > 0) { ++ ERR(ctx, _("cannot open include file %s"), s); ++ free(s); ++ return -1; ++ } else if (rc == -1) { ++ free(s); ++ return -1; ++ } ++ ++ free(s); ++ ++ return stack_push(ctx, fp, scanner); ++} ++ ++ ++ ++ ++#line 1048 "analyze.c" ++ ++#define INITIAL 0 ++#define RVALUE 1 ++#define STR 2 ++#define INCLSTR 3 ++ ++#ifndef YY_NO_UNISTD_H ++/* Special case for "unistd.h", since it is non-ANSI. We include it way ++ * down here because we want the user's section 1 to have been scanned first. ++ * The user has a chance to override it with an option. ++ */ ++#include ++#endif ++ ++#define YY_EXTRA_TYPE struct lk_ctx * ++ ++/* Holds the entire state of the reentrant scanner. */ ++struct yyguts_t ++ { ++ ++ /* User-defined. Not touched by flex. */ ++ YY_EXTRA_TYPE yyextra_r; ++ ++ /* The rest are the same as the globals declared in the non-reentrant scanner. */ ++ FILE *yyin_r, *yyout_r; ++ size_t yy_buffer_stack_top; /**< index of top of stack. */ ++ size_t yy_buffer_stack_max; /**< capacity of stack. */ ++ YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */ ++ char yy_hold_char; ++ yy_size_t yy_n_chars; ++ yy_size_t yyleng_r; ++ char *yy_c_buf_p; ++ int yy_init; ++ int yy_start; ++ int yy_did_buffer_switch_on_eof; ++ int yy_start_stack_ptr; ++ int yy_start_stack_depth; ++ int *yy_start_stack; ++ yy_state_type yy_last_accepting_state; ++ char* yy_last_accepting_cpos; ++ ++ int yylineno_r; ++ int yy_flex_debug_r; ++ ++ char *yytext_r; ++ int yy_more_flag; ++ int yy_more_len; ++ ++ YYSTYPE * yylval_r; ++ ++ }; /* end struct yyguts_t */ ++ ++static int yy_init_globals (yyscan_t yyscanner ); ++ ++ /* This must go here because YYSTYPE and YYLTYPE are included ++ * from bison output in section 1.*/ ++ # define yylval yyg->yylval_r ++ ++int yylex_init (yyscan_t* scanner); ++ ++int yylex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner); ++ ++/* Accessor methods to globals. ++ These are made visible to non-reentrant scanners for convenience. */ ++ ++int yylex_destroy (yyscan_t yyscanner ); ++ ++int yyget_debug (yyscan_t yyscanner ); ++ ++void yyset_debug (int debug_flag ,yyscan_t yyscanner ); ++ ++YY_EXTRA_TYPE yyget_extra (yyscan_t yyscanner ); ++ ++void yyset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner ); ++ ++FILE *yyget_in (yyscan_t yyscanner ); ++ ++void yyset_in (FILE * in_str ,yyscan_t yyscanner ); ++ ++FILE *yyget_out (yyscan_t yyscanner ); ++ ++void yyset_out (FILE * out_str ,yyscan_t yyscanner ); ++ ++yy_size_t yyget_leng (yyscan_t yyscanner ); ++ ++char *yyget_text (yyscan_t yyscanner ); ++ ++int yyget_lineno (yyscan_t yyscanner ); ++ ++void yyset_lineno (int line_number ,yyscan_t yyscanner ); ++ ++int yyget_column (yyscan_t yyscanner ); ++ ++void yyset_column (int column_no ,yyscan_t yyscanner ); ++ ++YYSTYPE * yyget_lval (yyscan_t yyscanner ); ++ ++void yyset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner ); ++ ++/* Macros after this point can all be overridden by user definitions in ++ * section 1. ++ */ ++ ++#ifndef YY_SKIP_YYWRAP ++#ifdef __cplusplus ++extern "C" int yywrap (yyscan_t yyscanner ); ++#else ++extern int yywrap (yyscan_t yyscanner ); ++#endif ++#endif ++ ++#ifndef yytext_ptr ++static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner); ++#endif ++ ++#ifdef YY_NEED_STRLEN ++static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner); ++#endif ++ ++#ifndef YY_NO_INPUT ++ ++#ifdef __cplusplus ++static int yyinput (yyscan_t yyscanner ); ++#else ++static int input (yyscan_t yyscanner ); ++#endif ++ ++#endif ++ ++ static void yy_push_state (int new_state ,yyscan_t yyscanner); ++ ++ static void yy_pop_state (yyscan_t yyscanner ); ++ ++/* Amount of stuff to slurp up with each read. */ ++#ifndef YY_READ_BUF_SIZE ++#define YY_READ_BUF_SIZE 8192 ++#endif ++ ++/* Copy whatever the last rule matched to the standard output. */ ++#ifndef ECHO ++/* This used to be an fputs(), but since the string might contain NUL's, ++ * we now use fwrite(). ++ */ ++#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) ++#endif ++ ++/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, ++ * is returned in "result". ++ */ ++#ifndef YY_INPUT ++#define YY_INPUT(buf,result,max_size) \ ++ if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ ++ { \ ++ int c = '*'; \ ++ size_t n; \ ++ for ( n = 0; n < max_size && \ ++ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ ++ buf[n] = (char) c; \ ++ if ( c == '\n' ) \ ++ buf[n++] = (char) c; \ ++ if ( c == EOF && ferror( yyin ) ) \ ++ YY_FATAL_ERROR( "input in flex scanner failed" ); \ ++ result = n; \ ++ } \ ++ else \ ++ { \ ++ errno=0; \ ++ while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ ++ { \ ++ if( errno != EINTR) \ ++ { \ ++ YY_FATAL_ERROR( "input in flex scanner failed" ); \ ++ break; \ ++ } \ ++ errno=0; \ ++ clearerr(yyin); \ ++ } \ ++ }\ ++\ ++ ++#endif ++ ++/* No semi-colon after return; correct usage is to write "yyterminate();" - ++ * we don't want an extra ';' after the "return" because that will cause ++ * some compilers to complain about unreachable statements. ++ */ ++#ifndef yyterminate ++#define yyterminate() return YY_NULL ++#endif ++ ++/* Number of entries by which start-condition stack grows. */ ++#ifndef YY_START_STACK_INCR ++#define YY_START_STACK_INCR 25 ++#endif ++ ++/* Report a fatal error. */ ++#ifndef YY_FATAL_ERROR ++#define YY_FATAL_ERROR(msg) yy_fatal_error( msg , yyscanner) ++#endif ++ ++/* end tables serialization structures and prototypes */ ++ ++/* Default declaration of generated scanner - a define so the user can ++ * easily add parameters. ++ */ ++#ifndef YY_DECL ++#define YY_DECL_IS_OURS 1 ++ ++extern int yylex \ ++ (YYSTYPE * yylval_param ,yyscan_t yyscanner); ++ ++#define YY_DECL int yylex \ ++ (YYSTYPE * yylval_param , yyscan_t yyscanner) ++#endif /* !YY_DECL */ ++ ++/* Code executed at the beginning of each rule, after yytext and yyleng ++ * have been set up. ++ */ ++#ifndef YY_USER_ACTION ++#define YY_USER_ACTION ++#endif ++ ++/* Code executed at the end of each rule. */ ++#ifndef YY_BREAK ++#define YY_BREAK break; ++#endif ++ ++#define YY_RULE_SETUP \ ++ YY_USER_ACTION ++ ++/** The main scanner function which does all the work. ++ */ ++YY_DECL ++{ ++ register yy_state_type yy_current_state; ++ register char *yy_cp, *yy_bp; ++ register int yy_act; ++ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; ++ ++#line 306 "analyze.l" ++ ++ ++#line 1291 "analyze.c" ++ ++ yylval = yylval_param; ++ ++ if ( !yyg->yy_init ) ++ { ++ yyg->yy_init = 1; ++ ++#ifdef YY_USER_INIT ++ YY_USER_INIT; ++#endif ++ ++ if ( ! yyg->yy_start ) ++ yyg->yy_start = 1; /* first start state */ ++ ++ if ( ! yyin ) ++ yyin = stdin; ++ ++ if ( ! yyout ) ++ yyout = stdout; ++ ++ if ( ! YY_CURRENT_BUFFER ) { ++ yyensure_buffer_stack (yyscanner); ++ YY_CURRENT_BUFFER_LVALUE = ++ yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); ++ } ++ ++ yy_load_buffer_state(yyscanner ); ++ } ++ ++ while ( 1 ) /* loops until end-of-file is reached */ ++ { ++ yy_cp = yyg->yy_c_buf_p; ++ ++ /* Support of yytext. */ ++ *yy_cp = yyg->yy_hold_char; ++ ++ /* yy_bp points to the position in yy_ch_buf of the start of ++ * the current run. ++ */ ++ yy_bp = yy_cp; ++ ++ yy_current_state = yyg->yy_start; ++yy_match: ++ do ++ { ++ register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ; ++ if ( yy_accept[yy_current_state] ) ++ { ++ yyg->yy_last_accepting_state = yy_current_state; ++ yyg->yy_last_accepting_cpos = yy_cp; ++ } ++ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) ++ { ++ yy_current_state = (int) yy_def[yy_current_state]; ++ if ( yy_current_state >= 504 ) ++ yy_c = yy_meta[(unsigned int) yy_c]; ++ } ++ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++ ++yy_cp; ++ } ++ while ( yy_current_state != 503 ); ++ yy_cp = yyg->yy_last_accepting_cpos; ++ yy_current_state = yyg->yy_last_accepting_state; ++ ++yy_find_action: ++ yy_act = yy_accept[yy_current_state]; ++ ++ YY_DO_BEFORE_ACTION; ++ ++do_action: /* This label is used only to access EOF actions. */ ++ ++ switch ( yy_act ) ++ { /* beginning of action switch */ ++ case 0: /* must back up */ ++ /* undo the effects of YY_DO_BEFORE_ACTION */ ++ *yy_cp = yyg->yy_hold_char; ++ yy_cp = yyg->yy_last_accepting_cpos; ++ yy_current_state = yyg->yy_last_accepting_state; ++ goto yy_find_action; ++ ++case 1: ++YY_RULE_SETUP ++#line 308 "analyze.l" ++{ ++ yy_push_state(INCLSTR, yyscanner); ++ } ++ YY_BREAK ++case 2: ++YY_RULE_SETUP ++#line 311 "analyze.l" ++{ ++ char *s = strndup(yytext+1, strlen(yytext)-2); ++ if (s == NULL) { ++ ERR(yyextra, _("out of memory")); ++ return(ERROR); ++ } ++ ++ if (open_include(yyextra, s, yyscanner) == -1) ++ return(ERROR); ++ ++ while (((struct yyguts_t*)yyscanner)->yy_start_stack_ptr) { ++ yy_pop_state(yyscanner); ++ } ++ } ++ YY_BREAK ++case 3: ++/* rule 3 can match eol */ ++YY_RULE_SETUP ++#line 325 "analyze.l" ++{ ++ ERR(yyextra, _("expected filename between quotes")); ++ return(ERROR); ++ } ++ YY_BREAK ++case YY_STATE_EOF(INITIAL): ++case YY_STATE_EOF(RVALUE): ++case YY_STATE_EOF(STR): ++case YY_STATE_EOF(INCLSTR): ++#line 329 "analyze.l" ++{ ++ stack_pop(yyextra, yyscanner); ++ if (!YY_CURRENT_BUFFER) ++ yyterminate(); ++ } ++ YY_BREAK ++case 4: ++/* rule 4 can match eol */ ++YY_RULE_SETUP ++#line 334 "analyze.l" ++{ ++ yyset_lineno(yyget_lineno(yyscanner) + 1,yyscanner); ++ } ++ YY_BREAK ++case 5: ++/* rule 5 can match eol */ ++YY_RULE_SETUP ++#line 337 "analyze.l" ++{ ++ yyset_lineno(yyget_lineno(yyscanner) + 1,yyscanner); ++ ++ while (((struct yyguts_t*)yyscanner)->yy_start_stack_ptr) { ++ yy_pop_state(yyscanner); ++ } ++ return(EOL); ++ } ++ YY_BREAK ++case 6: ++YY_RULE_SETUP ++#line 345 "analyze.l" ++; /* do nothing */ ++ YY_BREAK ++case 7: ++/* rule 7 can match eol */ ++*yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */ ++yyg->yy_c_buf_p = yy_cp -= 1; ++YY_DO_BEFORE_ACTION; /* set up yytext again */ ++YY_RULE_SETUP ++#line 346 "analyze.l" ++; /* do nothing */ ++ YY_BREAK ++case 8: ++YY_RULE_SETUP ++#line 347 "analyze.l" ++{ ++ yy_push_state(RVALUE, yyscanner); ++ lk_array_empty(yyextra->key_line); ++ return(EQUALS); ++ } ++ YY_BREAK ++case 9: ++YY_RULE_SETUP ++#line 352 "analyze.l" ++{ ++ yy_push_state(RVALUE, yyscanner); ++ return(STRING); ++ } ++ YY_BREAK ++case 10: ++YY_RULE_SETUP ++#line 356 "analyze.l" ++{ ++ yy_push_state(RVALUE, yyscanner); ++ return(TO); ++ } ++ YY_BREAK ++case 11: ++YY_RULE_SETUP ++#line 360 "analyze.l" ++{ ++ yylval->num = strtol(yytext + 1, NULL, 16); ++ if (yylval->num >= 0xf000) { ++ ERR(yyextra, _("unicode keysym out of range: %s"), ++ yytext); ++ return(ERROR); ++ } ++ return(UNUMBER); ++ } ++ YY_BREAK ++case 12: ++YY_RULE_SETUP ++#line 369 "analyze.l" ++{ ++ yylval->num = strtol(yytext, NULL, 0); ++ return(NUMBER); ++ } ++ YY_BREAK ++case 13: ++YY_RULE_SETUP ++#line 373 "analyze.l" ++{ return((yylval->num = ksymtocode(yyextra, yytext, TO_AUTO)) == -1 ? ERROR : LITERAL); } ++ YY_BREAK ++case 14: ++YY_RULE_SETUP ++#line 374 "analyze.l" ++{ return(DASH); } ++ YY_BREAK ++case 15: ++YY_RULE_SETUP ++#line 375 "analyze.l" ++{ return(COMMA); } ++ YY_BREAK ++case 16: ++YY_RULE_SETUP ++#line 376 "analyze.l" ++{ return(PLUS); } ++ YY_BREAK ++case 17: ++YY_RULE_SETUP ++#line 377 "analyze.l" ++{ return(CHARSET); } ++ YY_BREAK ++case 18: ++YY_RULE_SETUP ++#line 378 "analyze.l" ++{ return(KEYMAPS); } ++ YY_BREAK ++case 19: ++YY_RULE_SETUP ++#line 379 "analyze.l" ++{ return(KEYCODE); } ++ YY_BREAK ++case 20: ++YY_RULE_SETUP ++#line 380 "analyze.l" ++{ return(PLAIN); } ++ YY_BREAK ++case 21: ++YY_RULE_SETUP ++#line 381 "analyze.l" ++{ return(SHIFT); } ++ YY_BREAK ++case 22: ++YY_RULE_SETUP ++#line 382 "analyze.l" ++{ return(CONTROL); } ++ YY_BREAK ++case 23: ++YY_RULE_SETUP ++#line 383 "analyze.l" ++{ return(ALT); } ++ YY_BREAK ++case 24: ++YY_RULE_SETUP ++#line 384 "analyze.l" ++{ return(ALTGR); } ++ YY_BREAK ++case 25: ++YY_RULE_SETUP ++#line 385 "analyze.l" ++{ return(SHIFTL); } ++ YY_BREAK ++case 26: ++YY_RULE_SETUP ++#line 386 "analyze.l" ++{ return(SHIFTR); } ++ YY_BREAK ++case 27: ++YY_RULE_SETUP ++#line 387 "analyze.l" ++{ return(CTRLL); } ++ YY_BREAK ++case 28: ++YY_RULE_SETUP ++#line 388 "analyze.l" ++{ return(CTRLR); } ++ YY_BREAK ++case 29: ++YY_RULE_SETUP ++#line 389 "analyze.l" ++{ return(CAPSSHIFT); } ++ YY_BREAK ++case 30: ++YY_RULE_SETUP ++#line 390 "analyze.l" ++{ return(ALT_IS_META); } ++ YY_BREAK ++case 31: ++YY_RULE_SETUP ++#line 391 "analyze.l" ++{ return(STRINGS); } ++ YY_BREAK ++case 32: ++YY_RULE_SETUP ++#line 392 "analyze.l" ++{ return(COMPOSE); } ++ YY_BREAK ++case 33: ++YY_RULE_SETUP ++#line 393 "analyze.l" ++{ return(AS); } ++ YY_BREAK ++case 34: ++YY_RULE_SETUP ++#line 394 "analyze.l" ++{ return(USUAL); } ++ YY_BREAK ++case 35: ++YY_RULE_SETUP ++#line 395 "analyze.l" ++{ return(ON); } ++ YY_BREAK ++case 36: ++YY_RULE_SETUP ++#line 396 "analyze.l" ++{ return(FOR); } ++ YY_BREAK ++case 37: ++YY_RULE_SETUP ++#line 397 "analyze.l" ++{ ++ yylval->num = strtol(yytext + 2, NULL, 8); ++ return(CCHAR); ++ } ++ YY_BREAK ++case 38: ++YY_RULE_SETUP ++#line 401 "analyze.l" ++{ ++ yylval->num = (unsigned char) yytext[2]; ++ return(CCHAR); ++ } ++ YY_BREAK ++case 39: ++YY_RULE_SETUP ++#line 405 "analyze.l" ++{ ++ yylval->num = (unsigned char) yytext[1]; ++ return(CCHAR); ++ } ++ YY_BREAK ++case 40: ++YY_RULE_SETUP ++#line 409 "analyze.l" ++{ ++ yylval->str.data[0] = '\0'; ++ yylval->str.len = 0; ++ ++ yy_push_state(STR, yyscanner); ++ } ++ YY_BREAK ++case 41: ++YY_RULE_SETUP ++#line 415 "analyze.l" ++{ ++ if (yylval->str.len == MAX_PARSER_STRING) { ++ ERR(yyextra, _("string too long")); ++ return(ERROR); ++ } ++ yylval->str.data[yylval->str.len++] = strtol(yytext + 1, NULL, 8); ++ } ++ YY_BREAK ++case 42: ++YY_RULE_SETUP ++#line 422 "analyze.l" ++{ ++ if (yylval->str.len == MAX_PARSER_STRING) { ++ ERR(yyextra, _("string too long")); ++ return(ERROR); ++ } ++ yylval->str.data[yylval->str.len++] = '"'; ++ } ++ YY_BREAK ++case 43: ++YY_RULE_SETUP ++#line 429 "analyze.l" ++{ ++ if (yylval->str.len == MAX_PARSER_STRING) { ++ ERR(yyextra, _("string too long")); ++ return(ERROR); ++ } ++ yylval->str.data[yylval->str.len++] = '\\'; ++ } ++ YY_BREAK ++case 44: ++YY_RULE_SETUP ++#line 436 "analyze.l" ++{ ++ if (yylval->str.len == MAX_PARSER_STRING) { ++ ERR(yyextra, _("string too long")); ++ return(ERROR); ++ } ++ yylval->str.data[yylval->str.len++] = '\n'; ++ } ++ YY_BREAK ++case 45: ++/* rule 45 can match eol */ ++YY_RULE_SETUP ++#line 443 "analyze.l" ++{ ++ int len = strlen(yytext); ++ ++ if (yylval->str.len + len >= MAX_PARSER_STRING) { ++ ERR(yyextra, _("string too long")); ++ return(ERROR); ++ } ++ ++ strcpy((char *) yylval->str.data + yylval->str.len, yytext); ++ yylval->str.len += len; ++ } ++ YY_BREAK ++case 46: ++YY_RULE_SETUP ++#line 454 "analyze.l" ++{ ++ yylval->str.data[yylval->str.len] = '\0'; ++ while (((struct yyguts_t*)yyscanner)->yy_start_stack_ptr) { ++ yy_pop_state(yyscanner); ++ } ++ return(STRLITERAL); ++ } ++ YY_BREAK ++case 47: ++YY_RULE_SETUP ++#line 461 "analyze.l" ++{ ++ return(ERROR); ++ } ++ YY_BREAK ++case 48: ++YY_RULE_SETUP ++#line 464 "analyze.l" ++ECHO; ++ YY_BREAK ++#line 1735 "analyze.c" ++ ++ case YY_END_OF_BUFFER: ++ { ++ /* Amount of text matched not including the EOB char. */ ++ int yy_amount_of_matched_text = (int) (yy_cp - yyg->yytext_ptr) - 1; ++ ++ /* Undo the effects of YY_DO_BEFORE_ACTION. */ ++ *yy_cp = yyg->yy_hold_char; ++ YY_RESTORE_YY_MORE_OFFSET ++ ++ if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) ++ { ++ /* We're scanning a new file or input source. It's ++ * possible that this happened because the user ++ * just pointed yyin at a new source and called ++ * yylex(). If so, then we have to assure ++ * consistency between YY_CURRENT_BUFFER and our ++ * globals. Here is the right place to do so, because ++ * this is the first action (other than possibly a ++ * back-up) that will match for the new input source. ++ */ ++ yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; ++ YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; ++ YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; ++ } ++ ++ /* Note that here we test for yy_c_buf_p "<=" to the position ++ * of the first EOB in the buffer, since yy_c_buf_p will ++ * already have been incremented past the NUL character ++ * (since all states make transitions on EOB to the ++ * end-of-buffer state). Contrast this with the test ++ * in input(). ++ */ ++ if ( yyg->yy_c_buf_p <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] ) ++ { /* This was really a NUL. */ ++ yy_state_type yy_next_state; ++ ++ yyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched_text; ++ ++ yy_current_state = yy_get_previous_state( yyscanner ); ++ ++ /* Okay, we're now positioned to make the NUL ++ * transition. We couldn't have ++ * yy_get_previous_state() go ahead and do it ++ * for us because it doesn't know how to deal ++ * with the possibility of jamming (and we don't ++ * want to build jamming into it because then it ++ * will run more slowly). ++ */ ++ ++ yy_next_state = yy_try_NUL_trans( yy_current_state , yyscanner); ++ ++ yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; ++ ++ if ( yy_next_state ) ++ { ++ /* Consume the NUL. */ ++ yy_cp = ++yyg->yy_c_buf_p; ++ yy_current_state = yy_next_state; ++ goto yy_match; ++ } ++ ++ else ++ { ++ yy_cp = yyg->yy_last_accepting_cpos; ++ yy_current_state = yyg->yy_last_accepting_state; ++ goto yy_find_action; ++ } ++ } ++ ++ else switch ( yy_get_next_buffer( yyscanner ) ) ++ { ++ case EOB_ACT_END_OF_FILE: ++ { ++ yyg->yy_did_buffer_switch_on_eof = 0; ++ ++ if ( yywrap(yyscanner ) ) ++ { ++ /* Note: because we've taken care in ++ * yy_get_next_buffer() to have set up ++ * yytext, we can now set up ++ * yy_c_buf_p so that if some total ++ * hoser (like flex itself) wants to ++ * call the scanner after we return the ++ * YY_NULL, it'll still work - another ++ * YY_NULL will get returned. ++ */ ++ yyg->yy_c_buf_p = yyg->yytext_ptr + YY_MORE_ADJ; ++ ++ yy_act = YY_STATE_EOF(YY_START); ++ goto do_action; ++ } ++ ++ else ++ { ++ if ( ! yyg->yy_did_buffer_switch_on_eof ) ++ YY_NEW_FILE; ++ } ++ break; ++ } ++ ++ case EOB_ACT_CONTINUE_SCAN: ++ yyg->yy_c_buf_p = ++ yyg->yytext_ptr + yy_amount_of_matched_text; ++ ++ yy_current_state = yy_get_previous_state( yyscanner ); ++ ++ yy_cp = yyg->yy_c_buf_p; ++ yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; ++ goto yy_match; ++ ++ case EOB_ACT_LAST_MATCH: ++ yyg->yy_c_buf_p = ++ &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars]; ++ ++ yy_current_state = yy_get_previous_state( yyscanner ); ++ ++ yy_cp = yyg->yy_c_buf_p; ++ yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; ++ goto yy_find_action; ++ } ++ break; ++ } ++ ++ default: ++ YY_FATAL_ERROR( ++ "fatal flex scanner internal error--no action found" ); ++ } /* end of action switch */ ++ } /* end of scanning one token */ ++} /* end of yylex */ ++ ++/* yy_get_next_buffer - try to read in a new buffer ++ * ++ * Returns a code representing an action: ++ * EOB_ACT_LAST_MATCH - ++ * EOB_ACT_CONTINUE_SCAN - continue scanning from current position ++ * EOB_ACT_END_OF_FILE - end of file ++ */ ++static int yy_get_next_buffer (yyscan_t yyscanner) ++{ ++ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; ++ register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; ++ register char *source = yyg->yytext_ptr; ++ register int number_to_move, i; ++ int ret_val; ++ ++ if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] ) ++ YY_FATAL_ERROR( ++ "fatal flex scanner internal error--end of buffer missed" ); ++ ++ if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) ++ { /* Don't try to fill the buffer, so this is an EOF. */ ++ if ( yyg->yy_c_buf_p - yyg->yytext_ptr - YY_MORE_ADJ == 1 ) ++ { ++ /* We matched a single character, the EOB, so ++ * treat this as a final EOF. ++ */ ++ return EOB_ACT_END_OF_FILE; ++ } ++ ++ else ++ { ++ /* We matched some text prior to the EOB, first ++ * process it. ++ */ ++ return EOB_ACT_LAST_MATCH; ++ } ++ } ++ ++ /* Try to read more data. */ ++ ++ /* First move last chars to start of buffer. */ ++ number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1; ++ ++ for ( i = 0; i < number_to_move; ++i ) ++ *(dest++) = *(source++); ++ ++ if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) ++ /* don't do the read, it's not guaranteed to return an EOF, ++ * just force an EOF ++ */ ++ YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0; ++ ++ else ++ { ++ yy_size_t num_to_read = ++ YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; ++ ++ while ( num_to_read <= 0 ) ++ { /* Not enough room in the buffer - grow it. */ ++ ++ /* just a shorter name for the current buffer */ ++ YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE; ++ ++ int yy_c_buf_p_offset = ++ (int) (yyg->yy_c_buf_p - b->yy_ch_buf); ++ ++ if ( b->yy_is_our_buffer ) ++ { ++ yy_size_t new_size = b->yy_buf_size * 2; ++ ++ if ( new_size <= 0 ) ++ b->yy_buf_size += b->yy_buf_size / 8; ++ else ++ b->yy_buf_size *= 2; ++ ++ b->yy_ch_buf = (char *) ++ /* Include room in for 2 EOB chars. */ ++ yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ,yyscanner ); ++ } ++ else ++ /* Can't grow it, we don't own it. */ ++ b->yy_ch_buf = 0; ++ ++ if ( ! b->yy_ch_buf ) ++ YY_FATAL_ERROR( ++ "fatal error - scanner input buffer overflow" ); ++ ++ yyg->yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset]; ++ ++ num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - ++ number_to_move - 1; ++ ++ } ++ ++ if ( num_to_read > YY_READ_BUF_SIZE ) ++ num_to_read = YY_READ_BUF_SIZE; ++ ++ /* Read in more data. */ ++ YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), ++ yyg->yy_n_chars, num_to_read ); ++ ++ YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars; ++ } ++ ++ if ( yyg->yy_n_chars == 0 ) ++ { ++ if ( number_to_move == YY_MORE_ADJ ) ++ { ++ ret_val = EOB_ACT_END_OF_FILE; ++ yyrestart(yyin ,yyscanner); ++ } ++ ++ else ++ { ++ ret_val = EOB_ACT_LAST_MATCH; ++ YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = ++ YY_BUFFER_EOF_PENDING; ++ } ++ } ++ ++ else ++ ret_val = EOB_ACT_CONTINUE_SCAN; ++ ++ if ((yy_size_t) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { ++ /* Extend the array by 50%, plus the number we really need. */ ++ yy_size_t new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1); ++ YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ,yyscanner ); ++ if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) ++ YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); ++ } ++ ++ yyg->yy_n_chars += number_to_move; ++ YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] = YY_END_OF_BUFFER_CHAR; ++ YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR; ++ ++ yyg->yytext_ptr = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; ++ ++ return ret_val; ++} ++ ++/* yy_get_previous_state - get the state just before the EOB char was reached */ ++ ++ static yy_state_type yy_get_previous_state (yyscan_t yyscanner) ++{ ++ register yy_state_type yy_current_state; ++ register char *yy_cp; ++ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; ++ ++ yy_current_state = yyg->yy_start; ++ ++ for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++yy_cp ) ++ { ++ register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); ++ if ( yy_accept[yy_current_state] ) ++ { ++ yyg->yy_last_accepting_state = yy_current_state; ++ yyg->yy_last_accepting_cpos = yy_cp; ++ } ++ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) ++ { ++ yy_current_state = (int) yy_def[yy_current_state]; ++ if ( yy_current_state >= 504 ) ++ yy_c = yy_meta[(unsigned int) yy_c]; ++ } ++ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++ } ++ ++ return yy_current_state; ++} ++ ++/* yy_try_NUL_trans - try to make a transition on the NUL character ++ * ++ * synopsis ++ * next_state = yy_try_NUL_trans( current_state ); ++ */ ++ static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state , yyscan_t yyscanner) ++{ ++ register int yy_is_jam; ++ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */ ++ register char *yy_cp = yyg->yy_c_buf_p; ++ ++ register YY_CHAR yy_c = 1; ++ if ( yy_accept[yy_current_state] ) ++ { ++ yyg->yy_last_accepting_state = yy_current_state; ++ yyg->yy_last_accepting_cpos = yy_cp; ++ } ++ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) ++ { ++ yy_current_state = (int) yy_def[yy_current_state]; ++ if ( yy_current_state >= 504 ) ++ yy_c = yy_meta[(unsigned int) yy_c]; ++ } ++ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++ yy_is_jam = (yy_current_state == 503); ++ ++ (void)yyg; ++ return yy_is_jam ? 0 : yy_current_state; ++} ++ ++#ifndef YY_NO_INPUT ++#ifdef __cplusplus ++ static int yyinput (yyscan_t yyscanner) ++#else ++ static int input (yyscan_t yyscanner) ++#endif ++ ++{ ++ int c; ++ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; ++ ++ *yyg->yy_c_buf_p = yyg->yy_hold_char; ++ ++ if ( *yyg->yy_c_buf_p == YY_END_OF_BUFFER_CHAR ) ++ { ++ /* yy_c_buf_p now points to the character we want to return. ++ * If this occurs *before* the EOB characters, then it's a ++ * valid NUL; if not, then we've hit the end of the buffer. ++ */ ++ if ( yyg->yy_c_buf_p < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] ) ++ /* This was really a NUL. */ ++ *yyg->yy_c_buf_p = '\0'; ++ ++ else ++ { /* need more input */ ++ yy_size_t offset = yyg->yy_c_buf_p - yyg->yytext_ptr; ++ ++yyg->yy_c_buf_p; ++ ++ switch ( yy_get_next_buffer( yyscanner ) ) ++ { ++ case EOB_ACT_LAST_MATCH: ++ /* This happens because yy_g_n_b() ++ * sees that we've accumulated a ++ * token and flags that we need to ++ * try matching the token before ++ * proceeding. But for input(), ++ * there's no matching to consider. ++ * So convert the EOB_ACT_LAST_MATCH ++ * to EOB_ACT_END_OF_FILE. ++ */ ++ ++ /* Reset buffer status. */ ++ yyrestart(yyin ,yyscanner); ++ ++ /*FALLTHROUGH*/ ++ ++ case EOB_ACT_END_OF_FILE: ++ { ++ if ( yywrap(yyscanner ) ) ++ return EOF; ++ ++ if ( ! yyg->yy_did_buffer_switch_on_eof ) ++ YY_NEW_FILE; ++#ifdef __cplusplus ++ return yyinput(yyscanner); ++#else ++ return input(yyscanner); ++#endif ++ } ++ ++ case EOB_ACT_CONTINUE_SCAN: ++ yyg->yy_c_buf_p = yyg->yytext_ptr + offset; ++ break; ++ } ++ } ++ } ++ ++ c = *(unsigned char *) yyg->yy_c_buf_p; /* cast for 8-bit char's */ ++ *yyg->yy_c_buf_p = '\0'; /* preserve yytext */ ++ yyg->yy_hold_char = *++yyg->yy_c_buf_p; ++ ++ return c; ++} ++#endif /* ifndef YY_NO_INPUT */ ++ ++/** Immediately switch to a different input stream. ++ * @param input_file A readable stream. ++ * @param yyscanner The scanner object. ++ * @note This function does not reset the start condition to @c INITIAL . ++ */ ++ void yyrestart (FILE * input_file , yyscan_t yyscanner) ++{ ++ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; ++ ++ if ( ! YY_CURRENT_BUFFER ){ ++ yyensure_buffer_stack (yyscanner); ++ YY_CURRENT_BUFFER_LVALUE = ++ yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); ++ } ++ ++ yy_init_buffer(YY_CURRENT_BUFFER,input_file ,yyscanner); ++ yy_load_buffer_state(yyscanner ); ++} ++ ++/** Switch to a different input buffer. ++ * @param new_buffer The new input buffer. ++ * @param yyscanner The scanner object. ++ */ ++ void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner) ++{ ++ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; ++ ++ /* TODO. We should be able to replace this entire function body ++ * with ++ * yypop_buffer_state(); ++ * yypush_buffer_state(new_buffer); ++ */ ++ yyensure_buffer_stack (yyscanner); ++ if ( YY_CURRENT_BUFFER == new_buffer ) ++ return; ++ ++ if ( YY_CURRENT_BUFFER ) ++ { ++ /* Flush out information for old buffer. */ ++ *yyg->yy_c_buf_p = yyg->yy_hold_char; ++ YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p; ++ YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars; ++ } ++ ++ YY_CURRENT_BUFFER_LVALUE = new_buffer; ++ yy_load_buffer_state(yyscanner ); ++ ++ /* We don't actually know whether we did this switch during ++ * EOF (yywrap()) processing, but the only time this flag ++ * is looked at is after yywrap() is called, so it's safe ++ * to go ahead and always set it. ++ */ ++ yyg->yy_did_buffer_switch_on_eof = 1; ++} ++ ++static void yy_load_buffer_state (yyscan_t yyscanner) ++{ ++ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; ++ yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; ++ yyg->yytext_ptr = yyg->yy_c_buf_p = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; ++ yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; ++ yyg->yy_hold_char = *yyg->yy_c_buf_p; ++} ++ ++/** Allocate and initialize an input buffer state. ++ * @param file A readable stream. ++ * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. ++ * @param yyscanner The scanner object. ++ * @return the allocated buffer state. ++ */ ++ YY_BUFFER_STATE yy_create_buffer (FILE * file, int size , yyscan_t yyscanner) ++{ ++ YY_BUFFER_STATE b; ++ ++ b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ,yyscanner ); ++ if ( ! b ) ++ YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); ++ ++ b->yy_buf_size = size; ++ ++ /* yy_ch_buf has to be 2 characters longer than the size given because ++ * we need to put in 2 end-of-buffer characters. ++ */ ++ b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 ,yyscanner ); ++ if ( ! b->yy_ch_buf ) ++ YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); ++ ++ b->yy_is_our_buffer = 1; ++ ++ yy_init_buffer(b,file ,yyscanner); ++ ++ return b; ++} ++ ++/** Destroy the buffer. ++ * @param b a buffer created with yy_create_buffer() ++ * @param yyscanner The scanner object. ++ */ ++ void yy_delete_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner) ++{ ++ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; ++ ++ if ( ! b ) ++ return; ++ ++ if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ ++ YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; ++ ++ if ( b->yy_is_our_buffer ) ++ yyfree((void *) b->yy_ch_buf ,yyscanner ); ++ ++ yyfree((void *) b ,yyscanner ); ++} ++ ++/* Initializes or reinitializes a buffer. ++ * This function is sometimes called more than once on the same buffer, ++ * such as during a yyrestart() or at EOF. ++ */ ++ static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file , yyscan_t yyscanner) ++ ++{ ++ int oerrno = errno; ++ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; ++ ++ yy_flush_buffer(b ,yyscanner); ++ ++ b->yy_input_file = file; ++ b->yy_fill_buffer = 1; ++ ++ /* If b is the current buffer, then yy_init_buffer was _probably_ ++ * called from yyrestart() or through yy_get_next_buffer. ++ * In that case, we don't want to reset the lineno or column. ++ */ ++ if (b != YY_CURRENT_BUFFER){ ++ b->yy_bs_lineno = 1; ++ b->yy_bs_column = 0; ++ } ++ ++ b->yy_is_interactive = 0; ++ ++ errno = oerrno; ++} ++ ++/** Discard all buffered characters. On the next scan, YY_INPUT will be called. ++ * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. ++ * @param yyscanner The scanner object. ++ */ ++ void yy_flush_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner) ++{ ++ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; ++ if ( ! b ) ++ return; ++ ++ b->yy_n_chars = 0; ++ ++ /* We always need two end-of-buffer characters. The first causes ++ * a transition to the end-of-buffer state. The second causes ++ * a jam in that state. ++ */ ++ b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; ++ b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; ++ ++ b->yy_buf_pos = &b->yy_ch_buf[0]; ++ ++ b->yy_at_bol = 1; ++ b->yy_buffer_status = YY_BUFFER_NEW; ++ ++ if ( b == YY_CURRENT_BUFFER ) ++ yy_load_buffer_state(yyscanner ); ++} ++ ++/** Pushes the new state onto the stack. The new state becomes ++ * the current state. This function will allocate the stack ++ * if necessary. ++ * @param new_buffer The new state. ++ * @param yyscanner The scanner object. ++ */ ++void yypush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner) ++{ ++ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; ++ if (new_buffer == NULL) ++ return; ++ ++ yyensure_buffer_stack(yyscanner); ++ ++ /* This block is copied from yy_switch_to_buffer. */ ++ if ( YY_CURRENT_BUFFER ) ++ { ++ /* Flush out information for old buffer. */ ++ *yyg->yy_c_buf_p = yyg->yy_hold_char; ++ YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p; ++ YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars; ++ } ++ ++ /* Only push if top exists. Otherwise, replace top. */ ++ if (YY_CURRENT_BUFFER) ++ yyg->yy_buffer_stack_top++; ++ YY_CURRENT_BUFFER_LVALUE = new_buffer; ++ ++ /* copied from yy_switch_to_buffer. */ ++ yy_load_buffer_state(yyscanner ); ++ yyg->yy_did_buffer_switch_on_eof = 1; ++} ++ ++/** Removes and deletes the top of the stack, if present. ++ * The next element becomes the new top. ++ * @param yyscanner The scanner object. ++ */ ++void yypop_buffer_state (yyscan_t yyscanner) ++{ ++ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; ++ if (!YY_CURRENT_BUFFER) ++ return; ++ ++ yy_delete_buffer(YY_CURRENT_BUFFER ,yyscanner); ++ YY_CURRENT_BUFFER_LVALUE = NULL; ++ if (yyg->yy_buffer_stack_top > 0) ++ --yyg->yy_buffer_stack_top; ++ ++ if (YY_CURRENT_BUFFER) { ++ yy_load_buffer_state(yyscanner ); ++ yyg->yy_did_buffer_switch_on_eof = 1; ++ } ++} ++ ++/* Allocates the stack if it does not exist. ++ * Guarantees space for at least one push. ++ */ ++static void yyensure_buffer_stack (yyscan_t yyscanner) ++{ ++ yy_size_t num_to_alloc; ++ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; ++ ++ if (!yyg->yy_buffer_stack) { ++ ++ /* First allocation is just for 2 elements, since we don't know if this ++ * scanner will even need a stack. We use 2 instead of 1 to avoid an ++ * immediate realloc on the next call. ++ */ ++ num_to_alloc = 1; ++ yyg->yy_buffer_stack = (struct yy_buffer_state**)yyalloc ++ (num_to_alloc * sizeof(struct yy_buffer_state*) ++ , yyscanner); ++ if ( ! yyg->yy_buffer_stack ) ++ YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); ++ ++ memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*)); ++ ++ yyg->yy_buffer_stack_max = num_to_alloc; ++ yyg->yy_buffer_stack_top = 0; ++ return; ++ } ++ ++ if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){ ++ ++ /* Increase the buffer to prepare for a possible push. */ ++ int grow_size = 8 /* arbitrary grow size */; ++ ++ num_to_alloc = yyg->yy_buffer_stack_max + grow_size; ++ yyg->yy_buffer_stack = (struct yy_buffer_state**)yyrealloc ++ (yyg->yy_buffer_stack, ++ num_to_alloc * sizeof(struct yy_buffer_state*) ++ , yyscanner); ++ if ( ! yyg->yy_buffer_stack ) ++ YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); ++ ++ /* zero only the new slots.*/ ++ memset(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_size * sizeof(struct yy_buffer_state*)); ++ yyg->yy_buffer_stack_max = num_to_alloc; ++ } ++} ++ ++/** Setup the input buffer state to scan directly from a user-specified character buffer. ++ * @param base the character buffer ++ * @param size the size in bytes of the character buffer ++ * @param yyscanner The scanner object. ++ * @return the newly allocated buffer state object. ++ */ ++YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size , yyscan_t yyscanner) ++{ ++ YY_BUFFER_STATE b; ++ ++ if ( size < 2 || ++ base[size-2] != YY_END_OF_BUFFER_CHAR || ++ base[size-1] != YY_END_OF_BUFFER_CHAR ) ++ /* They forgot to leave room for the EOB's. */ ++ return 0; ++ ++ b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ,yyscanner ); ++ if ( ! b ) ++ YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); ++ ++ b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ ++ b->yy_buf_pos = b->yy_ch_buf = base; ++ b->yy_is_our_buffer = 0; ++ b->yy_input_file = 0; ++ b->yy_n_chars = b->yy_buf_size; ++ b->yy_is_interactive = 0; ++ b->yy_at_bol = 1; ++ b->yy_fill_buffer = 0; ++ b->yy_buffer_status = YY_BUFFER_NEW; ++ ++ yy_switch_to_buffer(b ,yyscanner ); ++ ++ return b; ++} ++ ++/** Setup the input buffer state to scan a string. The next call to yylex() will ++ * scan from a @e copy of @a str. ++ * @param yystr a NUL-terminated string to scan ++ * @param yyscanner The scanner object. ++ * @return the newly allocated buffer state object. ++ * @note If you want to scan bytes that may contain NUL values, then use ++ * yy_scan_bytes() instead. ++ */ ++YY_BUFFER_STATE yy_scan_string (yyconst char * yystr , yyscan_t yyscanner) ++{ ++ ++ return yy_scan_bytes(yystr,strlen(yystr) ,yyscanner); ++} ++ ++/** Setup the input buffer state to scan the given bytes. The next call to yylex() will ++ * scan from a @e copy of @a bytes. ++ * @param yybytes the byte buffer to scan ++ * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. ++ * @param yyscanner The scanner object. ++ * @return the newly allocated buffer state object. ++ */ ++YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len , yyscan_t yyscanner) ++{ ++ YY_BUFFER_STATE b; ++ char *buf; ++ yy_size_t n; ++ yy_size_t i; ++ ++ /* Get memory for full buffer, including space for trailing EOB's. */ ++ n = _yybytes_len + 2; ++ buf = (char *) yyalloc(n ,yyscanner ); ++ if ( ! buf ) ++ YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); ++ ++ for ( i = 0; i < _yybytes_len; ++i ) ++ buf[i] = yybytes[i]; ++ ++ buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; ++ ++ b = yy_scan_buffer(buf,n ,yyscanner); ++ if ( ! b ) ++ YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); ++ ++ /* It's okay to grow etc. this buffer, and we should throw it ++ * away when we're done. ++ */ ++ b->yy_is_our_buffer = 1; ++ ++ return b; ++} ++ ++ static void yy_push_state (int new_state , yyscan_t yyscanner) ++{ ++ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; ++ if ( yyg->yy_start_stack_ptr >= yyg->yy_start_stack_depth ) ++ { ++ yy_size_t new_size; ++ ++ yyg->yy_start_stack_depth += YY_START_STACK_INCR; ++ new_size = yyg->yy_start_stack_depth * sizeof( int ); ++ ++ if ( ! yyg->yy_start_stack ) ++ yyg->yy_start_stack = (int *) yyalloc(new_size ,yyscanner ); ++ ++ else ++ yyg->yy_start_stack = (int *) yyrealloc((void *) yyg->yy_start_stack,new_size ,yyscanner ); ++ ++ if ( ! yyg->yy_start_stack ) ++ YY_FATAL_ERROR( "out of memory expanding start-condition stack" ); ++ } ++ ++ yyg->yy_start_stack[yyg->yy_start_stack_ptr++] = YY_START; ++ ++ BEGIN(new_state); ++} ++ ++ static void yy_pop_state (yyscan_t yyscanner) ++{ ++ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; ++ if ( --yyg->yy_start_stack_ptr < 0 ) ++ YY_FATAL_ERROR( "start-condition stack underflow" ); ++ ++ BEGIN(yyg->yy_start_stack[yyg->yy_start_stack_ptr]); ++} ++ ++#ifndef YY_EXIT_FAILURE ++#define YY_EXIT_FAILURE 2 ++#endif ++ ++static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner YY_ATTRIBUTE_UNUSED) ++{ ++ (void) fprintf( stderr, "%s\n", msg ); ++ exit( YY_EXIT_FAILURE ); ++} ++ ++/* Redefine yyless() so it works in section 3 code. */ ++ ++#undef yyless ++#define yyless(n) \ ++ do \ ++ { \ ++ /* Undo effects of setting up yytext. */ \ ++ int yyless_macro_arg = (n); \ ++ YY_LESS_LINENO(yyless_macro_arg);\ ++ yytext[yyleng] = yyg->yy_hold_char; \ ++ yyg->yy_c_buf_p = yytext + yyless_macro_arg; \ ++ yyg->yy_hold_char = *yyg->yy_c_buf_p; \ ++ *yyg->yy_c_buf_p = '\0'; \ ++ yyleng = yyless_macro_arg; \ ++ } \ ++ while ( 0 ) ++ ++/* Accessor methods (get/set functions) to struct members. */ ++ ++/** Get the user-defined data for this scanner. ++ * @param yyscanner The scanner object. ++ */ ++YY_EXTRA_TYPE yyget_extra (yyscan_t yyscanner) ++{ ++ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; ++ return yyextra; ++} ++ ++/** Get the current line number. ++ * @param yyscanner The scanner object. ++ */ ++int yyget_lineno (yyscan_t yyscanner) ++{ ++ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; ++ ++ if (! YY_CURRENT_BUFFER) ++ return 0; ++ ++ return yylineno; ++} ++ ++/** Get the current column number. ++ * @param yyscanner The scanner object. ++ */ ++int yyget_column (yyscan_t yyscanner) ++{ ++ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; ++ ++ if (! YY_CURRENT_BUFFER) ++ return 0; ++ ++ return yycolumn; ++} ++ ++/** Get the input stream. ++ * @param yyscanner The scanner object. ++ */ ++FILE *yyget_in (yyscan_t yyscanner) ++{ ++ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; ++ return yyin; ++} ++ ++/** Get the output stream. ++ * @param yyscanner The scanner object. ++ */ ++FILE *yyget_out (yyscan_t yyscanner) ++{ ++ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; ++ return yyout; ++} ++ ++/** Get the length of the current token. ++ * @param yyscanner The scanner object. ++ */ ++yy_size_t yyget_leng (yyscan_t yyscanner) ++{ ++ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; ++ return yyleng; ++} ++ ++/** Get the current token. ++ * @param yyscanner The scanner object. ++ */ ++ ++char *yyget_text (yyscan_t yyscanner) ++{ ++ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; ++ return yytext; ++} ++ ++/** Set the user-defined data. This data is never touched by the scanner. ++ * @param user_defined The data to be associated with this scanner. ++ * @param yyscanner The scanner object. ++ */ ++void yyset_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner) ++{ ++ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; ++ yyextra = user_defined ; ++} ++ ++/** Set the current line number. ++ * @param line_number ++ * @param yyscanner The scanner object. ++ */ ++void yyset_lineno (int line_number , yyscan_t yyscanner) ++{ ++ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; ++ ++ /* lineno is only valid if an input buffer exists. */ ++ if (! YY_CURRENT_BUFFER ) ++ YY_FATAL_ERROR( "yyset_lineno called with no buffer" ); ++ ++ yylineno = line_number; ++} ++ ++/** Set the current column. ++ * @param line_number ++ * @param yyscanner The scanner object. ++ */ ++void yyset_column (int column_no , yyscan_t yyscanner) ++{ ++ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; ++ ++ /* column is only valid if an input buffer exists. */ ++ if (! YY_CURRENT_BUFFER ) ++ YY_FATAL_ERROR( "yyset_column called with no buffer" ); ++ ++ yycolumn = column_no; ++} ++ ++/** Set the input stream. This does not discard the current ++ * input buffer. ++ * @param in_str A readable stream. ++ * @param yyscanner The scanner object. ++ * @see yy_switch_to_buffer ++ */ ++void yyset_in (FILE * in_str , yyscan_t yyscanner) ++{ ++ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; ++ yyin = in_str ; ++} ++ ++void yyset_out (FILE * out_str , yyscan_t yyscanner) ++{ ++ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; ++ yyout = out_str ; ++} ++ ++int yyget_debug (yyscan_t yyscanner) ++{ ++ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; ++ return yy_flex_debug; ++} ++ ++void yyset_debug (int bdebug , yyscan_t yyscanner) ++{ ++ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; ++ yy_flex_debug = bdebug ; ++} ++ ++/* Accessor methods for yylval and yylloc */ ++ ++YYSTYPE * yyget_lval (yyscan_t yyscanner) ++{ ++ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; ++ return yylval; ++} ++ ++void yyset_lval (YYSTYPE * yylval_param , yyscan_t yyscanner) ++{ ++ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; ++ yylval = yylval_param; ++} ++ ++/* User-visible API */ ++ ++/* yylex_init is special because it creates the scanner itself, so it is ++ * the ONLY reentrant function that doesn't take the scanner as the last argument. ++ * That's why we explicitly handle the declaration, instead of using our macros. ++ */ ++ ++int yylex_init(yyscan_t* ptr_yy_globals) ++ ++{ ++ if (ptr_yy_globals == NULL){ ++ errno = EINVAL; ++ return 1; ++ } ++ ++ *ptr_yy_globals = (yyscan_t) yyalloc ( sizeof( struct yyguts_t ), NULL ); ++ ++ if (*ptr_yy_globals == NULL){ ++ errno = ENOMEM; ++ return 1; ++ } ++ ++ /* By setting to 0xAA, we expose bugs in yy_init_globals. Leave at 0x00 for releases. */ ++ memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t)); ++ ++ return yy_init_globals ( *ptr_yy_globals ); ++} ++ ++/* yylex_init_extra has the same functionality as yylex_init, but follows the ++ * convention of taking the scanner as the last argument. Note however, that ++ * this is a *pointer* to a scanner, as it will be allocated by this call (and ++ * is the reason, too, why this function also must handle its own declaration). ++ * The user defined value in the first argument will be available to yyalloc in ++ * the yyextra field. ++ */ ++ ++int yylex_init_extra(YY_EXTRA_TYPE yy_user_defined,yyscan_t* ptr_yy_globals ) ++ ++{ ++ struct yyguts_t dummy_yyguts; ++ ++ yyset_extra (yy_user_defined, &dummy_yyguts); ++ ++ if (ptr_yy_globals == NULL){ ++ errno = EINVAL; ++ return 1; ++ } ++ ++ *ptr_yy_globals = (yyscan_t) yyalloc ( sizeof( struct yyguts_t ), &dummy_yyguts ); ++ ++ if (*ptr_yy_globals == NULL){ ++ errno = ENOMEM; ++ return 1; ++ } ++ ++ /* By setting to 0xAA, we expose bugs in ++ yy_init_globals. Leave at 0x00 for releases. */ ++ memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t)); ++ ++ yyset_extra (yy_user_defined, *ptr_yy_globals); ++ ++ return yy_init_globals ( *ptr_yy_globals ); ++} ++ ++static int yy_init_globals (yyscan_t yyscanner) ++{ ++ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; ++ /* Initialization is the same as for the non-reentrant scanner. ++ * This function is called from yylex_destroy(), so don't allocate here. ++ */ ++ ++ yyg->yy_buffer_stack = 0; ++ yyg->yy_buffer_stack_top = 0; ++ yyg->yy_buffer_stack_max = 0; ++ yyg->yy_c_buf_p = (char *) 0; ++ yyg->yy_init = 0; ++ yyg->yy_start = 0; ++ ++ yyg->yy_start_stack_ptr = 0; ++ yyg->yy_start_stack_depth = 0; ++ yyg->yy_start_stack = NULL; ++ ++/* Defined in main.c */ ++#ifdef YY_STDINIT ++ yyin = stdin; ++ yyout = stdout; ++#else ++ yyin = (FILE *) 0; ++ yyout = (FILE *) 0; ++#endif ++ ++ /* For future reference: Set errno on error, since we are called by ++ * yylex_init() ++ */ ++ return 0; ++} ++ ++/* yylex_destroy is for both reentrant and non-reentrant scanners. */ ++int yylex_destroy (yyscan_t yyscanner) ++{ ++ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; ++ ++ /* Pop the buffer stack, destroying each element. */ ++ while(YY_CURRENT_BUFFER){ ++ yy_delete_buffer(YY_CURRENT_BUFFER ,yyscanner ); ++ YY_CURRENT_BUFFER_LVALUE = NULL; ++ yypop_buffer_state(yyscanner); ++ } ++ ++ /* Destroy the stack itself. */ ++ yyfree(yyg->yy_buffer_stack ,yyscanner); ++ yyg->yy_buffer_stack = NULL; ++ ++ /* Destroy the start condition stack. */ ++ yyfree(yyg->yy_start_stack ,yyscanner ); ++ yyg->yy_start_stack = NULL; ++ ++ /* Reset the globals. This is important in a non-reentrant scanner so the next time ++ * yylex() is called, initialization will occur. */ ++ yy_init_globals( yyscanner); ++ ++ /* Destroy the main struct (reentrant only). */ ++ yyfree ( yyscanner , yyscanner ); ++ yyscanner = NULL; ++ return 0; ++} ++ ++/* ++ * Internal utility routines. ++ */ ++ ++#ifndef yytext_ptr ++static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yyscanner YY_ATTRIBUTE_UNUSED) ++{ ++ register int i; ++ for ( i = 0; i < n; ++i ) ++ s1[i] = s2[i]; ++} ++#endif ++ ++#ifdef YY_NEED_STRLEN ++static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner YY_ATTRIBUTE_UNUSED) ++{ ++ register int n; ++ for ( n = 0; s[n]; ++n ) ++ ; ++ ++ return n; ++} ++#endif ++ ++void *yyalloc (yy_size_t size , yyscan_t yyscanner YY_ATTRIBUTE_UNUSED) ++{ ++ return (void *) malloc( size ); ++} ++ ++void *yyrealloc (void * ptr, yy_size_t size , yyscan_t yyscanner YY_ATTRIBUTE_UNUSED) ++{ ++ /* The cast to (char *) in the following accommodates both ++ * implementations that use char* generic pointers, and those ++ * that use void* generic pointers. It works with the latter ++ * because both ANSI C and C++ allow castless assignment from ++ * any pointer type to void*, and deal with argument conversions ++ * as though doing an assignment. ++ */ ++ return (void *) realloc( (char *) ptr, size ); ++} ++ ++void yyfree (void * ptr , yyscan_t yyscanner YY_ATTRIBUTE_UNUSED) ++{ ++ free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ ++} ++ ++#define YYTABLES_NAME "yytables" ++ ++#line 464 "analyze.l" ++ ++ ++ +diff --git a/src/libkeymap/analyze.h b/src/libkeymap/analyze.h +new file mode 100644 +index 0000000..eb8ea5d +--- /dev/null ++++ b/src/libkeymap/analyze.h +@@ -0,0 +1,368 @@ ++#ifndef yyHEADER_H ++#define yyHEADER_H 1 ++#define yyIN_HEADER 1 ++ ++#line 15 "/home/legion/scm/.kbd/kbd/src/libkeymap/analyze.l" ++#include "keymap.h" ++int stack_push(struct lk_ctx *ctx, lkfile_t *fp, void *scanner); ++int stack_pop(struct lk_ctx *ctx, void *scanner); ++ ++ ++ ++#line 13 "/home/legion/scm/.kbd/kbd/src/libkeymap/analyze.h" ++ ++#define YY_INT_ALIGNED short int ++ ++/* A lexical scanner generated by flex */ ++ ++#define FLEX_SCANNER ++#define YY_FLEX_MAJOR_VERSION 2 ++#define YY_FLEX_MINOR_VERSION 5 ++#define YY_FLEX_SUBMINOR_VERSION 37 ++#if YY_FLEX_SUBMINOR_VERSION > 0 ++#define FLEX_BETA ++#endif ++ ++/* First, we deal with platform-specific or compiler-specific issues. */ ++ ++/* begin standard C headers. */ ++#include ++#include ++#include ++#include ++ ++/* end standard C headers. */ ++ ++/* flex integer type definitions */ ++ ++#ifndef FLEXINT_H ++#define FLEXINT_H ++ ++/* C99 systems have . Non-C99 systems may or may not. */ ++ ++#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L ++ ++/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, ++ * if you want the limit (max/min) macros for int types. ++ */ ++#ifndef __STDC_LIMIT_MACROS ++#define __STDC_LIMIT_MACROS 1 ++#endif ++ ++#include ++typedef int8_t flex_int8_t; ++typedef uint8_t flex_uint8_t; ++typedef int16_t flex_int16_t; ++typedef uint16_t flex_uint16_t; ++typedef int32_t flex_int32_t; ++typedef uint32_t flex_uint32_t; ++#else ++typedef signed char flex_int8_t; ++typedef short int flex_int16_t; ++typedef int flex_int32_t; ++typedef unsigned char flex_uint8_t; ++typedef unsigned short int flex_uint16_t; ++typedef unsigned int flex_uint32_t; ++ ++/* Limits of integral types. */ ++#ifndef INT8_MIN ++#define INT8_MIN (-128) ++#endif ++#ifndef INT16_MIN ++#define INT16_MIN (-32767-1) ++#endif ++#ifndef INT32_MIN ++#define INT32_MIN (-2147483647-1) ++#endif ++#ifndef INT8_MAX ++#define INT8_MAX (127) ++#endif ++#ifndef INT16_MAX ++#define INT16_MAX (32767) ++#endif ++#ifndef INT32_MAX ++#define INT32_MAX (2147483647) ++#endif ++#ifndef UINT8_MAX ++#define UINT8_MAX (255U) ++#endif ++#ifndef UINT16_MAX ++#define UINT16_MAX (65535U) ++#endif ++#ifndef UINT32_MAX ++#define UINT32_MAX (4294967295U) ++#endif ++ ++#endif /* ! C99 */ ++ ++#endif /* ! FLEXINT_H */ ++ ++#ifdef __cplusplus ++ ++/* The "const" storage-class-modifier is valid. */ ++#define YY_USE_CONST ++ ++#else /* ! __cplusplus */ ++ ++/* C99 requires __STDC__ to be defined as 1. */ ++#if defined (__STDC__) ++ ++#define YY_USE_CONST ++ ++#endif /* defined (__STDC__) */ ++#endif /* ! __cplusplus */ ++ ++#ifdef YY_USE_CONST ++#define yyconst const ++#else ++#define yyconst ++#endif ++ ++#ifndef YY_GNUC_PREREQ ++# if defined __GNUC__ && defined __GNUC_MINOR__ ++# define YY_GNUC_PREREQ(maj, min) \ ++ ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) ++# else ++# define YY_GNUC_PREREQ(maj, min) 0 ++# endif ++# if YY_GNUC_PREREQ(2, 5) ++# define YY_ATTRIBUTE_NORETURN __attribute__ ((__noreturn__)) ++# define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__)) ++# else ++# define YY_ATTRIBUTE_NORETURN /* __attribute__ ((__noreturn__)) */ ++# define YY_ATTRIBUTE_UNUSED /* __attribute__ ((__unused__)) */ ++# endif ++#endif ++ ++/* An opaque pointer. */ ++#ifndef YY_TYPEDEF_YY_SCANNER_T ++#define YY_TYPEDEF_YY_SCANNER_T ++typedef void* yyscan_t; ++#endif ++ ++/* For convenience, these vars (plus the bison vars far below) ++ are macros in the reentrant scanner. */ ++#define yyin yyg->yyin_r ++#define yyout yyg->yyout_r ++#define yyextra yyg->yyextra_r ++#define yyleng yyg->yyleng_r ++#define yytext yyg->yytext_r ++#define yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno) ++#define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column) ++#define yy_flex_debug yyg->yy_flex_debug_r ++ ++/* Size of default input buffer. */ ++#ifndef YY_BUF_SIZE ++#define YY_BUF_SIZE 16384 ++#endif ++ ++#ifndef YY_TYPEDEF_YY_BUFFER_STATE ++#define YY_TYPEDEF_YY_BUFFER_STATE ++typedef struct yy_buffer_state *YY_BUFFER_STATE; ++#endif ++ ++#ifndef YY_TYPEDEF_YY_SIZE_T ++#define YY_TYPEDEF_YY_SIZE_T ++typedef size_t yy_size_t; ++#endif ++ ++#ifndef YY_STRUCT_YY_BUFFER_STATE ++#define YY_STRUCT_YY_BUFFER_STATE ++struct yy_buffer_state ++ { ++ FILE *yy_input_file; ++ ++ char *yy_ch_buf; /* input buffer */ ++ char *yy_buf_pos; /* current position in input buffer */ ++ ++ /* Size of input buffer in bytes, not including room for EOB ++ * characters. ++ */ ++ yy_size_t yy_buf_size; ++ ++ /* Number of characters read into yy_ch_buf, not including EOB ++ * characters. ++ */ ++ yy_size_t yy_n_chars; ++ ++ /* Whether we "own" the buffer - i.e., we know we created it, ++ * and can realloc() it to grow it, and should free() it to ++ * delete it. ++ */ ++ int yy_is_our_buffer; ++ ++ /* Whether this is an "interactive" input source; if so, and ++ * if we're using stdio for input, then we want to use getc() ++ * instead of fread(), to make sure we stop fetching input after ++ * each newline. ++ */ ++ int yy_is_interactive; ++ ++ /* Whether we're considered to be at the beginning of a line. ++ * If so, '^' rules will be active on the next match, otherwise ++ * not. ++ */ ++ int yy_at_bol; ++ ++ int yy_bs_lineno; /**< The line count. */ ++ int yy_bs_column; /**< The column count. */ ++ ++ /* Whether to try to fill the input buffer when we reach the ++ * end of it. ++ */ ++ int yy_fill_buffer; ++ ++ int yy_buffer_status; ++ ++ }; ++#endif /* !YY_STRUCT_YY_BUFFER_STATE */ ++ ++void yyrestart (FILE *input_file ,yyscan_t yyscanner ); ++void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner ); ++YY_BUFFER_STATE yy_create_buffer (FILE *file,int size ,yyscan_t yyscanner ); ++void yy_delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner ); ++void yy_flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner ); ++void yypush_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner ); ++void yypop_buffer_state (yyscan_t yyscanner ); ++ ++YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner ); ++YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner ); ++YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner ); ++ ++void *yyalloc (yy_size_t ,yyscan_t yyscanner ); ++void *yyrealloc (void *,yy_size_t ,yyscan_t yyscanner ); ++void yyfree (void * ,yyscan_t yyscanner ); ++ ++/* Begin user sect3 */ ++ ++#define yywrap(yyscanner) 1 ++#define YY_SKIP_YYWRAP ++ ++#define yytext_ptr yytext_r ++ ++#ifdef YY_HEADER_EXPORT_START_CONDITIONS ++#define INITIAL 0 ++#define RVALUE 1 ++#define STR 2 ++#define INCLSTR 3 ++ ++#endif ++ ++#ifndef YY_NO_UNISTD_H ++/* Special case for "unistd.h", since it is non-ANSI. We include it way ++ * down here because we want the user's section 1 to have been scanned first. ++ * The user has a chance to override it with an option. ++ */ ++#include ++#endif ++ ++#define YY_EXTRA_TYPE struct lk_ctx * ++ ++int yylex_init (yyscan_t* scanner); ++ ++int yylex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner); ++ ++/* Accessor methods to globals. ++ These are made visible to non-reentrant scanners for convenience. */ ++ ++int yylex_destroy (yyscan_t yyscanner ); ++ ++int yyget_debug (yyscan_t yyscanner ); ++ ++void yyset_debug (int debug_flag ,yyscan_t yyscanner ); ++ ++YY_EXTRA_TYPE yyget_extra (yyscan_t yyscanner ); ++ ++void yyset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner ); ++ ++FILE *yyget_in (yyscan_t yyscanner ); ++ ++void yyset_in (FILE * in_str ,yyscan_t yyscanner ); ++ ++FILE *yyget_out (yyscan_t yyscanner ); ++ ++void yyset_out (FILE * out_str ,yyscan_t yyscanner ); ++ ++yy_size_t yyget_leng (yyscan_t yyscanner ); ++ ++char *yyget_text (yyscan_t yyscanner ); ++ ++int yyget_lineno (yyscan_t yyscanner ); ++ ++void yyset_lineno (int line_number ,yyscan_t yyscanner ); ++ ++int yyget_column (yyscan_t yyscanner ); ++ ++void yyset_column (int column_no ,yyscan_t yyscanner ); ++ ++YYSTYPE * yyget_lval (yyscan_t yyscanner ); ++ ++void yyset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner ); ++ ++/* Macros after this point can all be overridden by user definitions in ++ * section 1. ++ */ ++ ++#ifndef YY_SKIP_YYWRAP ++#ifdef __cplusplus ++extern "C" int yywrap (yyscan_t yyscanner ); ++#else ++extern int yywrap (yyscan_t yyscanner ); ++#endif ++#endif ++ ++#ifndef yytext_ptr ++static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner); ++#endif ++ ++#ifdef YY_NEED_STRLEN ++static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner); ++#endif ++ ++#ifndef YY_NO_INPUT ++ ++#endif ++ ++/* Amount of stuff to slurp up with each read. */ ++#ifndef YY_READ_BUF_SIZE ++#define YY_READ_BUF_SIZE 8192 ++#endif ++ ++/* Number of entries by which start-condition stack grows. */ ++#ifndef YY_START_STACK_INCR ++#define YY_START_STACK_INCR 25 ++#endif ++ ++/* Default declaration of generated scanner - a define so the user can ++ * easily add parameters. ++ */ ++#ifndef YY_DECL ++#define YY_DECL_IS_OURS 1 ++ ++extern int yylex \ ++ (YYSTYPE * yylval_param ,yyscan_t yyscanner); ++ ++#define YY_DECL int yylex \ ++ (YYSTYPE * yylval_param , yyscan_t yyscanner) ++#endif /* !YY_DECL */ ++ ++/* yy_get_previous_state - get the state just before the EOB char was reached */ ++ ++#undef YY_NEW_FILE ++#undef YY_FLUSH_BUFFER ++#undef yy_set_bol ++#undef yy_new_buffer ++#undef yy_set_interactive ++#undef YY_DO_BEFORE_ACTION ++ ++#ifdef YY_DECL_IS_OURS ++#undef YY_DECL_IS_OURS ++#undef YY_DECL ++#endif ++ ++#line 464 "/home/legion/scm/.kbd/kbd/src/libkeymap/analyze.l" ++ ++ ++#line 367 "/home/legion/scm/.kbd/kbd/src/libkeymap/analyze.h" ++#undef yyIN_HEADER ++#endif /* yyHEADER_H */ +diff --git a/src/libkeymap/parser.c b/src/libkeymap/parser.c +new file mode 100644 +index 0000000..62a9436 +--- /dev/null ++++ b/src/libkeymap/parser.c +@@ -0,0 +1,2238 @@ ++/* A Bison parser, made by GNU Bison 2.7.1. */ ++ ++/* Bison implementation for Yacc-like parsers in C ++ ++ Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. ++ ++ 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 . */ ++ ++/* As a special exception, you may create a larger work that contains ++ part or all of the Bison parser skeleton and distribute that work ++ under terms of your choice, so long as that work isn't itself a ++ parser generator using the skeleton or a modified version thereof ++ as a parser skeleton. Alternatively, if you modify or redistribute ++ the parser skeleton itself, you may (at your option) remove this ++ special exception, which will cause the skeleton and the resulting ++ Bison output files to be licensed under the GNU General Public ++ License without this special exception. ++ ++ This special exception was added by the Free Software Foundation in ++ version 2.2 of Bison. */ ++ ++/* C LALR(1) parser skeleton written by Richard Stallman, by ++ simplifying the original so-called "semantic" parser. */ ++ ++/* All symbols defined below should begin with yy or YY, to avoid ++ infringing on user name space. This should be done even for local ++ variables, as they might otherwise be expanded by user macros. ++ There are some unavoidable exceptions within include files to ++ define necessary library symbols; they are noted "INFRINGES ON ++ USER NAME SPACE" below. */ ++ ++/* Identify Bison output. */ ++#define YYBISON 1 ++ ++/* Bison version. */ ++#define YYBISON_VERSION "2.7.1" ++ ++/* Skeleton name. */ ++#define YYSKELETON_NAME "yacc.c" ++ ++/* Pure parsers. */ ++#define YYPURE 1 ++ ++/* Push parsers. */ ++#define YYPUSH 0 ++ ++/* Pull parsers. */ ++#define YYPULL 1 ++ ++ ++ ++ ++/* Copy the first part of user declarations. */ ++/* Line 371 of yacc.c */ ++#line 12 "parser.y" ++ ++#define YY_HEADER_EXPORT_START_CONDITIONS 1 ++ ++#include "nls.h" ++#include "kbd.h" ++ ++#include "contextP.h" ++#include "ksyms.h" ++#include "modifiers.h" ++ ++#include "parser.h" ++#include "analyze.h" ++ ++/* Line 371 of yacc.c */ ++#line 82 "parser.c" ++ ++# ifndef YY_NULL ++# if defined __cplusplus && 201103L <= __cplusplus ++# define YY_NULL nullptr ++# else ++# define YY_NULL 0 ++# endif ++# endif ++ ++/* Enabling verbose error messages. */ ++#ifdef YYERROR_VERBOSE ++# undef YYERROR_VERBOSE ++# define YYERROR_VERBOSE 1 ++#else ++# define YYERROR_VERBOSE 1 ++#endif ++ ++/* In a future release of Bison, this section will be replaced ++ by #include "y.tab.h". */ ++#ifndef YY_YY_Y_TAB_H_INCLUDED ++# define YY_YY_Y_TAB_H_INCLUDED ++/* Enabling traces. */ ++#ifndef YYDEBUG ++# define YYDEBUG 1 ++#endif ++#if YYDEBUG ++extern int yydebug; ++#endif ++/* "%code requires" blocks. */ ++/* Line 387 of yacc.c */ ++#line 26 "parser.y" ++ ++#include "keymap.h" ++ ++#ifndef STRDATA_STRUCT ++#define STRDATA_STRUCT ++#define MAX_PARSER_STRING 512 ++struct strdata { ++ unsigned int len; ++ unsigned char data[MAX_PARSER_STRING]; ++}; ++#endif ++ ++ ++/* Line 387 of yacc.c */ ++#line 128 "parser.c" ++ ++/* Tokens. */ ++#ifndef YYTOKENTYPE ++# define YYTOKENTYPE ++ /* Put the tokens into the symbol table, so that GDB and other debuggers ++ know about them. */ ++ enum yytokentype { ++ EOL = 258, ++ NUMBER = 259, ++ LITERAL = 260, ++ CHARSET = 261, ++ KEYMAPS = 262, ++ KEYCODE = 263, ++ EQUALS = 264, ++ PLAIN = 265, ++ SHIFT = 266, ++ CONTROL = 267, ++ ALT = 268, ++ ALTGR = 269, ++ SHIFTL = 270, ++ SHIFTR = 271, ++ CTRLL = 272, ++ CTRLR = 273, ++ CAPSSHIFT = 274, ++ COMMA = 275, ++ DASH = 276, ++ STRING = 277, ++ STRLITERAL = 278, ++ COMPOSE = 279, ++ TO = 280, ++ CCHAR = 281, ++ ERROR = 282, ++ PLUS = 283, ++ UNUMBER = 284, ++ ALT_IS_META = 285, ++ STRINGS = 286, ++ AS = 287, ++ USUAL = 288, ++ ON = 289, ++ FOR = 290 ++ }; ++#endif ++/* Tokens. */ ++#define EOL 258 ++#define NUMBER 259 ++#define LITERAL 260 ++#define CHARSET 261 ++#define KEYMAPS 262 ++#define KEYCODE 263 ++#define EQUALS 264 ++#define PLAIN 265 ++#define SHIFT 266 ++#define CONTROL 267 ++#define ALT 268 ++#define ALTGR 269 ++#define SHIFTL 270 ++#define SHIFTR 271 ++#define CTRLL 272 ++#define CTRLR 273 ++#define CAPSSHIFT 274 ++#define COMMA 275 ++#define DASH 276 ++#define STRING 277 ++#define STRLITERAL 278 ++#define COMPOSE 279 ++#define TO 280 ++#define CCHAR 281 ++#define ERROR 282 ++#define PLUS 283 ++#define UNUMBER 284 ++#define ALT_IS_META 285 ++#define STRINGS 286 ++#define AS 287 ++#define USUAL 288 ++#define ON 289 ++#define FOR 290 ++ ++ ++ ++#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED ++typedef union YYSTYPE ++{ ++/* Line 387 of yacc.c */ ++#line 58 "parser.y" ++ ++ long long int num; ++ struct strdata str; ++ ++ ++/* Line 387 of yacc.c */ ++#line 219 "parser.c" ++} YYSTYPE; ++# define YYSTYPE_IS_TRIVIAL 1 ++# define yystype YYSTYPE /* obsolescent; will be withdrawn */ ++# define YYSTYPE_IS_DECLARED 1 ++#endif ++ ++ ++#ifdef YYPARSE_PARAM ++#if defined __STDC__ || defined __cplusplus ++int yyparse (void *YYPARSE_PARAM); ++#else ++int yyparse (); ++#endif ++#else /* ! YYPARSE_PARAM */ ++#if defined __STDC__ || defined __cplusplus ++int yyparse (void *scanner, struct lk_ctx *ctx); ++#else ++int yyparse (); ++#endif ++#endif /* ! YYPARSE_PARAM */ ++ ++#endif /* !YY_YY_Y_TAB_H_INCLUDED */ ++ ++/* Copy the second part of user declarations. */ ++/* Line 390 of yacc.c */ ++#line 71 "parser.y" ++ ++static int ++yyerror(yyscan_t scanner __attribute__ ((unused)), ++ struct lk_ctx *ctx, const char *s) ++{ ++ ERR(ctx, "%s", s); ++ return 0; ++} ++ ++static int ++strings_as_usual(struct lk_ctx *ctx) ++{ ++ /* ++ * 26 strings, mostly inspired by the VT100 family ++ */ ++ char *stringvalues[30] = { ++ /* F1 .. F20 */ ++ "\033[[A", "\033[[B", "\033[[C", "\033[[D", "\033[[E", ++ "\033[17~", "\033[18~", "\033[19~", "\033[20~", "\033[21~", ++ "\033[23~", "\033[24~", "\033[25~", "\033[26~", ++ "\033[28~", "\033[29~", ++ "\033[31~", "\033[32~", "\033[33~", "\033[34~", ++ /* Find, Insert, Remove, Select, Prior */ ++ "\033[1~", "\033[2~", "\033[3~", "\033[4~", "\033[5~", ++ /* Next, Macro, Help, Do, Pause */ ++ "\033[6~", 0, 0, 0, 0 ++ }; ++ int i; ++ ++ for (i = 0; i < 30; i++) { ++ if (stringvalues[i]) { ++ struct kbsentry ke; ++ ke.kb_func = i; ++ strncpy((char *)ke.kb_string, stringvalues[i], ++ sizeof(ke.kb_string)); ++ ke.kb_string[sizeof(ke.kb_string) - 1] = 0; ++ ++ if (lk_add_func(ctx, &ke) == -1) ++ return -1; ++ } ++ } ++ return 0; ++} ++ ++static int ++compose_as_usual(struct lk_ctx *ctx, char *charset) ++{ ++ if (charset && strcmp(charset, "iso-8859-1")) { ++ ERR(ctx, _("loadkeys: don't know how to compose for %s"), charset); ++ return -1; ++ ++ } else { ++ struct ccc { ++ unsigned char c1, c2, c3; ++ } def_latin1_composes[68] = { ++ { '`', 'A', 0300 }, { '`', 'a', 0340 }, ++ { '\'', 'A', 0301 }, { '\'', 'a', 0341 }, ++ { '^', 'A', 0302 }, { '^', 'a', 0342 }, ++ { '~', 'A', 0303 }, { '~', 'a', 0343 }, ++ { '"', 'A', 0304 }, { '"', 'a', 0344 }, ++ { 'O', 'A', 0305 }, { 'o', 'a', 0345 }, ++ { '0', 'A', 0305 }, { '0', 'a', 0345 }, ++ { 'A', 'A', 0305 }, { 'a', 'a', 0345 }, ++ { 'A', 'E', 0306 }, { 'a', 'e', 0346 }, ++ { ',', 'C', 0307 }, { ',', 'c', 0347 }, ++ { '`', 'E', 0310 }, { '`', 'e', 0350 }, ++ { '\'', 'E', 0311 }, { '\'', 'e', 0351 }, ++ { '^', 'E', 0312 }, { '^', 'e', 0352 }, ++ { '"', 'E', 0313 }, { '"', 'e', 0353 }, ++ { '`', 'I', 0314 }, { '`', 'i', 0354 }, ++ { '\'', 'I', 0315 }, { '\'', 'i', 0355 }, ++ { '^', 'I', 0316 }, { '^', 'i', 0356 }, ++ { '"', 'I', 0317 }, { '"', 'i', 0357 }, ++ { '-', 'D', 0320 }, { '-', 'd', 0360 }, ++ { '~', 'N', 0321 }, { '~', 'n', 0361 }, ++ { '`', 'O', 0322 }, { '`', 'o', 0362 }, ++ { '\'', 'O', 0323 }, { '\'', 'o', 0363 }, ++ { '^', 'O', 0324 }, { '^', 'o', 0364 }, ++ { '~', 'O', 0325 }, { '~', 'o', 0365 }, ++ { '"', 'O', 0326 }, { '"', 'o', 0366 }, ++ { '/', 'O', 0330 }, { '/', 'o', 0370 }, ++ { '`', 'U', 0331 }, { '`', 'u', 0371 }, ++ { '\'', 'U', 0332 }, { '\'', 'u', 0372 }, ++ { '^', 'U', 0333 }, { '^', 'u', 0373 }, ++ { '"', 'U', 0334 }, { '"', 'u', 0374 }, ++ { '\'', 'Y', 0335 }, { '\'', 'y', 0375 }, ++ { 'T', 'H', 0336 }, { 't', 'h', 0376 }, ++ { 's', 's', 0337 }, { '"', 'y', 0377 }, ++ { 's', 'z', 0337 }, { 'i', 'j', 0377 } ++ }; ++ int i; ++ for (i = 0; i < 68; i++) { ++ struct lk_kbdiacr ptr; ++ struct ccc c = def_latin1_composes[i]; ++ ++ ptr.diacr = c.c1; ++ ptr.base = c.c2; ++ ptr.result = c.c3; ++ ++ if (lk_append_compose(ctx, &ptr) == -1) ++ return -1; ++ } ++ } ++ return 0; ++} ++ ++ ++/* Line 390 of yacc.c */ ++#line 354 "parser.c" ++ ++#ifdef short ++# undef short ++#endif ++ ++#ifdef YYTYPE_UINT8 ++typedef YYTYPE_UINT8 yytype_uint8; ++#else ++typedef unsigned char yytype_uint8; ++#endif ++ ++#ifdef YYTYPE_INT8 ++typedef YYTYPE_INT8 yytype_int8; ++#elif (defined __STDC__ || defined __C99__FUNC__ \ ++ || defined __cplusplus || defined _MSC_VER) ++typedef signed char yytype_int8; ++#else ++typedef short int yytype_int8; ++#endif ++ ++#ifdef YYTYPE_UINT16 ++typedef YYTYPE_UINT16 yytype_uint16; ++#else ++typedef unsigned short int yytype_uint16; ++#endif ++ ++#ifdef YYTYPE_INT16 ++typedef YYTYPE_INT16 yytype_int16; ++#else ++typedef short int yytype_int16; ++#endif ++ ++#ifndef YYSIZE_T ++# ifdef __SIZE_TYPE__ ++# define YYSIZE_T __SIZE_TYPE__ ++# elif defined size_t ++# define YYSIZE_T size_t ++# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ ++ || defined __cplusplus || defined _MSC_VER) ++# include /* INFRINGES ON USER NAME SPACE */ ++# define YYSIZE_T size_t ++# else ++# define YYSIZE_T unsigned int ++# endif ++#endif ++ ++#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) ++ ++#ifndef YY_ ++# if defined YYENABLE_NLS && YYENABLE_NLS ++# if ENABLE_NLS ++# include /* INFRINGES ON USER NAME SPACE */ ++# define YY_(Msgid) dgettext ("bison-runtime", Msgid) ++# endif ++# endif ++# ifndef YY_ ++# define YY_(Msgid) Msgid ++# endif ++#endif ++ ++#ifndef __attribute__ ++/* This feature is available in gcc versions 2.5 and later. */ ++# if (! defined __GNUC__ || __GNUC__ < 2 \ ++ || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)) ++# define __attribute__(Spec) /* empty */ ++# endif ++#endif ++ ++/* Suppress unused-variable warnings by "using" E. */ ++#if ! defined lint || defined __GNUC__ ++# define YYUSE(E) ((void) (E)) ++#else ++# define YYUSE(E) /* empty */ ++#endif ++ ++ ++/* Identity function, used to suppress warnings about constant conditions. */ ++#ifndef lint ++# define YYID(N) (N) ++#else ++#if (defined __STDC__ || defined __C99__FUNC__ \ ++ || defined __cplusplus || defined _MSC_VER) ++static int ++YYID (int yyi) ++#else ++static int ++YYID (yyi) ++ int yyi; ++#endif ++{ ++ return yyi; ++} ++#endif ++ ++#if ! defined yyoverflow || YYERROR_VERBOSE ++ ++/* The parser invokes alloca or malloc; define the necessary symbols. */ ++ ++# ifdef YYSTACK_USE_ALLOCA ++# if YYSTACK_USE_ALLOCA ++# ifdef __GNUC__ ++# define YYSTACK_ALLOC __builtin_alloca ++# elif defined __BUILTIN_VA_ARG_INCR ++# include /* INFRINGES ON USER NAME SPACE */ ++# elif defined _AIX ++# define YYSTACK_ALLOC __alloca ++# elif defined _MSC_VER ++# include /* INFRINGES ON USER NAME SPACE */ ++# define alloca _alloca ++# else ++# define YYSTACK_ALLOC alloca ++# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ ++ || defined __cplusplus || defined _MSC_VER) ++# include /* INFRINGES ON USER NAME SPACE */ ++ /* Use EXIT_SUCCESS as a witness for stdlib.h. */ ++# ifndef EXIT_SUCCESS ++# define EXIT_SUCCESS 0 ++# endif ++# endif ++# endif ++# endif ++# endif ++ ++# ifdef YYSTACK_ALLOC ++ /* Pacify GCC's `empty if-body' warning. */ ++# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) ++# ifndef YYSTACK_ALLOC_MAXIMUM ++ /* The OS might guarantee only one guard page at the bottom of the stack, ++ and a page size can be as small as 4096 bytes. So we cannot safely ++ invoke alloca (N) if N exceeds 4096. Use a slightly smaller number ++ to allow for a few compiler-allocated temporary stack slots. */ ++# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ ++# endif ++# else ++# define YYSTACK_ALLOC YYMALLOC ++# define YYSTACK_FREE YYFREE ++# ifndef YYSTACK_ALLOC_MAXIMUM ++# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM ++# endif ++# if (defined __cplusplus && ! defined EXIT_SUCCESS \ ++ && ! ((defined YYMALLOC || defined malloc) \ ++ && (defined YYFREE || defined free))) ++# include /* INFRINGES ON USER NAME SPACE */ ++# ifndef EXIT_SUCCESS ++# define EXIT_SUCCESS 0 ++# endif ++# endif ++# ifndef YYMALLOC ++# define YYMALLOC malloc ++# if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ ++ || defined __cplusplus || defined _MSC_VER) ++void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ ++# endif ++# endif ++# ifndef YYFREE ++# define YYFREE free ++# if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ ++ || defined __cplusplus || defined _MSC_VER) ++void free (void *); /* INFRINGES ON USER NAME SPACE */ ++# endif ++# endif ++# endif ++#endif /* ! defined yyoverflow || YYERROR_VERBOSE */ ++ ++ ++#if (! defined yyoverflow \ ++ && (! defined __cplusplus \ ++ || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) ++ ++/* A type that is properly aligned for any stack member. */ ++union yyalloc ++{ ++ yytype_int16 yyss_alloc; ++ YYSTYPE yyvs_alloc; ++}; ++ ++/* The size of the maximum gap between one aligned stack and the next. */ ++# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) ++ ++/* The size of an array large to enough to hold all stacks, each with ++ N elements. */ ++# define YYSTACK_BYTES(N) \ ++ ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ ++ + YYSTACK_GAP_MAXIMUM) ++ ++# define YYCOPY_NEEDED 1 ++ ++/* Relocate STACK from its old location to the new one. The ++ local variables YYSIZE and YYSTACKSIZE give the old and new number of ++ elements in the stack, and YYPTR gives the new location of the ++ stack. Advance YYPTR to a properly aligned location for the next ++ stack. */ ++# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ ++ do \ ++ { \ ++ YYSIZE_T yynewbytes; \ ++ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ ++ Stack = &yyptr->Stack_alloc; \ ++ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ ++ yyptr += yynewbytes / sizeof (*yyptr); \ ++ } \ ++ while (YYID (0)) ++ ++#endif ++ ++#if defined YYCOPY_NEEDED && YYCOPY_NEEDED ++/* Copy COUNT objects from SRC to DST. The source and destination do ++ not overlap. */ ++# ifndef YYCOPY ++# if defined __GNUC__ && 1 < __GNUC__ ++# define YYCOPY(Dst, Src, Count) \ ++ __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) ++# else ++# define YYCOPY(Dst, Src, Count) \ ++ do \ ++ { \ ++ YYSIZE_T yyi; \ ++ for (yyi = 0; yyi < (Count); yyi++) \ ++ (Dst)[yyi] = (Src)[yyi]; \ ++ } \ ++ while (YYID (0)) ++# endif ++# endif ++#endif /* !YYCOPY_NEEDED */ ++ ++/* YYFINAL -- State number of the termination state. */ ++#define YYFINAL 2 ++/* YYLAST -- Last index in YYTABLE. */ ++#define YYLAST 86 ++ ++/* YYNTOKENS -- Number of terminals. */ ++#define YYNTOKENS 36 ++/* YYNNTS -- Number of nonterminals. */ ++#define YYNNTS 19 ++/* YYNRULES -- Number of rules. */ ++#define YYNRULES 50 ++/* YYNRULES -- Number of states. */ ++#define YYNSTATES 91 ++ ++/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ ++#define YYUNDEFTOK 2 ++#define YYMAXUTOK 290 ++ ++#define YYTRANSLATE(YYX) \ ++ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) ++ ++/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ ++static const yytype_uint8 yytranslate[] = ++{ ++ 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, ++ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, ++ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, ++ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, ++ 35 ++}; ++ ++#if YYDEBUG ++/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in ++ YYRHS. */ ++static const yytype_uint8 yyprhs[] = ++{ ++ 0, 0, 3, 4, 7, 9, 11, 13, 15, 17, ++ 19, 21, 23, 25, 29, 32, 37, 44, 49, 53, ++ 57, 59, 63, 65, 71, 78, 85, 87, 89, 95, ++ 102, 109, 112, 114, 116, 118, 120, 122, 124, 126, ++ 128, 130, 132, 133, 136, 138, 140, 143, 145, 148, ++ 150 ++}; ++ ++/* YYRHS -- A `-1'-separated list of the rules' RHS. */ ++static const yytype_int8 yyrhs[] = ++{ ++ 37, 0, -1, -1, 37, 38, -1, 3, -1, 39, ++ -1, 40, -1, 41, -1, 42, -1, 43, -1, 49, ++ -1, 46, -1, 47, -1, 6, 23, 3, -1, 30, ++ 3, -1, 31, 32, 33, 3, -1, 24, 32, 33, ++ 35, 23, 3, -1, 24, 32, 33, 3, -1, 7, ++ 44, 3, -1, 44, 20, 45, -1, 45, -1, 4, ++ 21, 4, -1, 4, -1, 22, 5, 9, 23, 3, ++ -1, 24, 48, 48, 25, 48, 3, -1, 24, 48, ++ 48, 25, 54, 3, -1, 26, -1, 29, -1, 8, ++ 4, 9, 52, 3, -1, 50, 8, 4, 9, 54, ++ 3, -1, 10, 8, 4, 9, 54, 3, -1, 50, ++ 51, -1, 51, -1, 11, -1, 12, -1, 13, -1, ++ 14, -1, 15, -1, 16, -1, 17, -1, 18, -1, ++ 19, -1, -1, 53, 52, -1, 54, -1, 4, -1, ++ 28, 4, -1, 29, -1, 28, 29, -1, 5, -1, ++ 28, 5, -1 ++}; ++ ++/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ ++static const yytype_uint16 yyrline[] = ++{ ++ 0, 180, 180, 181, 183, 184, 185, 186, 187, 188, ++ 189, 190, 191, 193, 210, 215, 222, 227, 233, 238, ++ 239, 241, 249, 255, 275, 285, 296, 297, 299, 359, ++ 365, 372, 373, 375, 376, 377, 378, 379, 380, 381, ++ 382, 383, 387, 388, 390, 396, 397, 398, 399, 400, ++ 401 ++}; ++#endif ++ ++#if YYDEBUG || YYERROR_VERBOSE || 1 ++/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. ++ First, the terminals, then, starting at YYNTOKENS, nonterminals. */ ++static const char *const yytname[] = ++{ ++ "$end", "error", "$undefined", "EOL", "NUMBER", "LITERAL", "CHARSET", ++ "KEYMAPS", "KEYCODE", "EQUALS", "PLAIN", "SHIFT", "CONTROL", "ALT", ++ "ALTGR", "SHIFTL", "SHIFTR", "CTRLL", "CTRLR", "CAPSSHIFT", "COMMA", ++ "DASH", "STRING", "STRLITERAL", "COMPOSE", "TO", "CCHAR", "ERROR", ++ "PLUS", "UNUMBER", "ALT_IS_META", "STRINGS", "AS", "USUAL", "ON", "FOR", ++ "$accept", "keytable", "line", "charsetline", "altismetaline", ++ "usualstringsline", "usualcomposeline", "keymapline", "range", "range0", ++ "strline", "compline", "compsym", "singleline", "modifiers", "modifier", ++ "rvalue0", "rvalue1", "rvalue", YY_NULL ++}; ++#endif ++ ++# ifdef YYPRINT ++/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to ++ token YYLEX-NUM. */ ++static const yytype_uint16 yytoknum[] = ++{ ++ 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, ++ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, ++ 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, ++ 285, 286, 287, 288, 289, 290 ++}; ++# endif ++ ++/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ ++static const yytype_uint8 yyr1[] = ++{ ++ 0, 36, 37, 37, 38, 38, 38, 38, 38, 38, ++ 38, 38, 38, 39, 40, 41, 42, 42, 43, 44, ++ 44, 45, 45, 46, 47, 47, 48, 48, 49, 49, ++ 49, 50, 50, 51, 51, 51, 51, 51, 51, 51, ++ 51, 51, 52, 52, 53, 54, 54, 54, 54, 54, ++ 54 ++}; ++ ++/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ ++static const yytype_uint8 yyr2[] = ++{ ++ 0, 2, 0, 2, 1, 1, 1, 1, 1, 1, ++ 1, 1, 1, 3, 2, 4, 6, 4, 3, 3, ++ 1, 3, 1, 5, 6, 6, 1, 1, 5, 6, ++ 6, 2, 1, 1, 1, 1, 1, 1, 1, 1, ++ 1, 1, 0, 2, 1, 1, 2, 1, 2, 1, ++ 2 ++}; ++ ++/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. ++ Performed when YYTABLE doesn't specify something else to do. Zero ++ means the default is an error. */ ++static const yytype_uint8 yydefact[] = ++{ ++ 2, 0, 1, 4, 0, 0, 0, 0, 33, 34, ++ 35, 36, 37, 38, 39, 40, 41, 0, 0, 0, ++ 0, 3, 5, 6, 7, 8, 9, 11, 12, 10, ++ 0, 32, 0, 22, 0, 20, 0, 0, 0, 26, ++ 27, 0, 0, 14, 0, 0, 31, 13, 0, 18, ++ 0, 42, 0, 0, 0, 0, 0, 0, 21, 19, ++ 45, 49, 0, 47, 0, 42, 44, 0, 0, 17, ++ 0, 0, 15, 0, 46, 50, 48, 28, 43, 0, ++ 23, 0, 27, 0, 0, 0, 30, 16, 24, 25, ++ 29 ++}; ++ ++/* YYDEFGOTO[NTERM-NUM]. */ ++static const yytype_int8 yydefgoto[] = ++{ ++ -1, 1, 21, 22, 23, 24, 25, 26, 34, 35, ++ 27, 28, 42, 29, 30, 31, 64, 65, 66 ++}; ++ ++/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing ++ STATE-NUM. */ ++#define YYPACT_NINF -42 ++static const yytype_int8 yypact[] = ++{ ++ -42, 3, -42, -42, -21, 4, 8, -1, -42, -42, ++ -42, -42, -42, -42, -42, -42, -42, 26, 12, 37, ++ 10, -42, -42, -42, -42, -42, -42, -42, -42, -42, ++ 50, -42, 47, 30, 34, -42, 43, 49, 46, -42, ++ -42, 23, 20, -42, 24, 55, -42, -42, 66, -42, ++ 4, 19, 62, 51, -3, 48, 69, 67, -42, -42, ++ -42, -42, 31, -42, 72, 19, -42, 19, 74, -42, ++ 56, 0, -42, 19, -42, -42, -42, -42, -42, 75, ++ -42, 77, -42, 78, 79, 80, -42, -42, -42, -42, ++ -42 ++}; ++ ++/* YYPGOTO[NTERM-NUM]. */ ++static const yytype_int8 yypgoto[] = ++{ ++ -42, -42, -42, -42, -42, -42, -42, -42, -42, 35, ++ -42, -42, -41, -42, -42, 54, 21, -42, -28 ++}; ++ ++/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If ++ positive, shift that token. If negative, reduce the rule which ++ number is the opposite. If YYTABLE_NINF, syntax error. */ ++#define YYTABLE_NINF -1 ++static const yytype_uint8 yytable[] = ++{ ++ 69, 55, 32, 2, 60, 61, 3, 37, 33, 4, ++ 5, 6, 36, 7, 8, 9, 10, 11, 12, 13, ++ 14, 15, 16, 60, 61, 17, 39, 18, 62, 82, ++ 83, 38, 70, 19, 20, 74, 75, 49, 39, 79, ++ 43, 40, 44, 84, 41, 85, 39, 62, 63, 40, ++ 47, 48, 51, 52, 50, 53, 54, 56, 45, 57, ++ 76, 8, 9, 10, 11, 12, 13, 14, 15, 16, ++ 58, 67, 72, 71, 68, 77, 73, 80, 86, 81, ++ 87, 88, 89, 90, 46, 59, 78 ++}; ++ ++#define yypact_value_is_default(Yystate) \ ++ (!!((Yystate) == (-42))) ++ ++#define yytable_value_is_error(Yytable_value) \ ++ YYID (0) ++ ++static const yytype_uint8 yycheck[] = ++{ ++ 3, 42, 23, 0, 4, 5, 3, 8, 4, 6, ++ 7, 8, 4, 10, 11, 12, 13, 14, 15, 16, ++ 17, 18, 19, 4, 5, 22, 26, 24, 28, 29, ++ 71, 5, 35, 30, 31, 4, 5, 3, 26, 67, ++ 3, 29, 32, 71, 32, 73, 26, 28, 29, 29, ++ 3, 21, 9, 4, 20, 9, 33, 33, 8, 4, ++ 29, 11, 12, 13, 14, 15, 16, 17, 18, 19, ++ 4, 9, 3, 25, 23, 3, 9, 3, 3, 23, ++ 3, 3, 3, 3, 30, 50, 65 ++}; ++ ++/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing ++ symbol of state STATE-NUM. */ ++static const yytype_uint8 yystos[] = ++{ ++ 0, 37, 0, 3, 6, 7, 8, 10, 11, 12, ++ 13, 14, 15, 16, 17, 18, 19, 22, 24, 30, ++ 31, 38, 39, 40, 41, 42, 43, 46, 47, 49, ++ 50, 51, 23, 4, 44, 45, 4, 8, 5, 26, ++ 29, 32, 48, 3, 32, 8, 51, 3, 21, 3, ++ 20, 9, 4, 9, 33, 48, 33, 4, 4, 45, ++ 4, 5, 28, 29, 52, 53, 54, 9, 23, 3, ++ 35, 25, 3, 9, 4, 5, 29, 3, 52, 54, ++ 3, 23, 29, 48, 54, 54, 3, 3, 3, 3, ++ 3 ++}; ++ ++#define yyerrok (yyerrstatus = 0) ++#define yyclearin (yychar = YYEMPTY) ++#define YYEMPTY (-2) ++#define YYEOF 0 ++ ++#define YYACCEPT goto yyacceptlab ++#define YYABORT goto yyabortlab ++#define YYERROR goto yyerrorlab ++ ++ ++/* Like YYERROR except do call yyerror. This remains here temporarily ++ to ease the transition to the new meaning of YYERROR, for GCC. ++ Once GCC version 2 has supplanted version 1, this can go. However, ++ YYFAIL appears to be in use. Nevertheless, it is formally deprecated ++ in Bison 2.4.2's NEWS entry, where a plan to phase it out is ++ discussed. */ ++ ++#define YYFAIL goto yyerrlab ++#if defined YYFAIL ++ /* This is here to suppress warnings from the GCC cpp's ++ -Wunused-macros. Normally we don't worry about that warning, but ++ some users do, and we want to make it easy for users to remove ++ YYFAIL uses, which will produce warnings from Bison 2.5. */ ++#endif ++ ++#define YYRECOVERING() (!!yyerrstatus) ++ ++#define YYBACKUP(Token, Value) \ ++do \ ++ if (yychar == YYEMPTY) \ ++ { \ ++ yychar = (Token); \ ++ yylval = (Value); \ ++ YYPOPSTACK (yylen); \ ++ yystate = *yyssp; \ ++ goto yybackup; \ ++ } \ ++ else \ ++ { \ ++ yyerror (scanner, ctx, YY_("syntax error: cannot back up")); \ ++ YYERROR; \ ++ } \ ++while (YYID (0)) ++ ++/* Error token number */ ++#define YYTERROR 1 ++#define YYERRCODE 256 ++ ++ ++/* This macro is provided for backward compatibility. */ ++#ifndef YY_LOCATION_PRINT ++# define YY_LOCATION_PRINT(File, Loc) ((void) 0) ++#endif ++ ++ ++/* YYLEX -- calling `yylex' with the right arguments. */ ++#ifdef YYLEX_PARAM ++# define YYLEX yylex (&yylval, YYLEX_PARAM) ++#else ++# define YYLEX yylex (&yylval, scanner) ++#endif ++ ++/* Enable debugging if requested. */ ++#if YYDEBUG ++ ++# ifndef YYFPRINTF ++# include /* INFRINGES ON USER NAME SPACE */ ++# define YYFPRINTF fprintf ++# endif ++ ++# define YYDPRINTF(Args) \ ++do { \ ++ if (yydebug) \ ++ YYFPRINTF Args; \ ++} while (YYID (0)) ++ ++# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ ++do { \ ++ if (yydebug) \ ++ { \ ++ YYFPRINTF (stderr, "%s ", Title); \ ++ yy_symbol_print (stderr, \ ++ Type, Value, scanner, ctx); \ ++ YYFPRINTF (stderr, "\n"); \ ++ } \ ++} while (YYID (0)) ++ ++ ++/*--------------------------------. ++| Print this symbol on YYOUTPUT. | ++`--------------------------------*/ ++ ++/*ARGSUSED*/ ++#if (defined __STDC__ || defined __C99__FUNC__ \ ++ || defined __cplusplus || defined _MSC_VER) ++static void ++yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, void *scanner, struct lk_ctx *ctx) ++#else ++static void ++yy_symbol_value_print (yyoutput, yytype, yyvaluep, scanner, ctx) ++ FILE *yyoutput; ++ int yytype; ++ YYSTYPE const * const yyvaluep; ++ void *scanner; ++ struct lk_ctx *ctx; ++#endif ++{ ++ FILE *yyo = yyoutput; ++ YYUSE (yyo); ++ if (!yyvaluep) ++ return; ++ YYUSE (scanner); ++ YYUSE (ctx); ++# ifdef YYPRINT ++ if (yytype < YYNTOKENS) ++ YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); ++# else ++ YYUSE (yyoutput); ++# endif ++ YYUSE (yytype); ++} ++ ++ ++/*--------------------------------. ++| Print this symbol on YYOUTPUT. | ++`--------------------------------*/ ++ ++#if (defined __STDC__ || defined __C99__FUNC__ \ ++ || defined __cplusplus || defined _MSC_VER) ++static void ++yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, void *scanner, struct lk_ctx *ctx) ++#else ++static void ++yy_symbol_print (yyoutput, yytype, yyvaluep, scanner, ctx) ++ FILE *yyoutput; ++ int yytype; ++ YYSTYPE const * const yyvaluep; ++ void *scanner; ++ struct lk_ctx *ctx; ++#endif ++{ ++ if (yytype < YYNTOKENS) ++ YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); ++ else ++ YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); ++ ++ yy_symbol_value_print (yyoutput, yytype, yyvaluep, scanner, ctx); ++ YYFPRINTF (yyoutput, ")"); ++} ++ ++/*------------------------------------------------------------------. ++| yy_stack_print -- Print the state stack from its BOTTOM up to its | ++| TOP (included). | ++`------------------------------------------------------------------*/ ++ ++#if (defined __STDC__ || defined __C99__FUNC__ \ ++ || defined __cplusplus || defined _MSC_VER) ++static void ++yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) ++#else ++static void ++yy_stack_print (yybottom, yytop) ++ yytype_int16 *yybottom; ++ yytype_int16 *yytop; ++#endif ++{ ++ YYFPRINTF (stderr, "Stack now"); ++ for (; yybottom <= yytop; yybottom++) ++ { ++ int yybot = *yybottom; ++ YYFPRINTF (stderr, " %d", yybot); ++ } ++ YYFPRINTF (stderr, "\n"); ++} ++ ++# define YY_STACK_PRINT(Bottom, Top) \ ++do { \ ++ if (yydebug) \ ++ yy_stack_print ((Bottom), (Top)); \ ++} while (YYID (0)) ++ ++ ++/*------------------------------------------------. ++| Report that the YYRULE is going to be reduced. | ++`------------------------------------------------*/ ++ ++#if (defined __STDC__ || defined __C99__FUNC__ \ ++ || defined __cplusplus || defined _MSC_VER) ++static void ++yy_reduce_print (YYSTYPE *yyvsp, int yyrule, void *scanner, struct lk_ctx *ctx) ++#else ++static void ++yy_reduce_print (yyvsp, yyrule, scanner, ctx) ++ YYSTYPE *yyvsp; ++ int yyrule; ++ void *scanner; ++ struct lk_ctx *ctx; ++#endif ++{ ++ int yynrhs = yyr2[yyrule]; ++ int yyi; ++ unsigned long int yylno = yyrline[yyrule]; ++ YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", ++ yyrule - 1, yylno); ++ /* The symbols being reduced. */ ++ for (yyi = 0; yyi < yynrhs; yyi++) ++ { ++ YYFPRINTF (stderr, " $%d = ", yyi + 1); ++ yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], ++ &(yyvsp[(yyi + 1) - (yynrhs)]) ++ , scanner, ctx); ++ YYFPRINTF (stderr, "\n"); ++ } ++} ++ ++# define YY_REDUCE_PRINT(Rule) \ ++do { \ ++ if (yydebug) \ ++ yy_reduce_print (yyvsp, Rule, scanner, ctx); \ ++} while (YYID (0)) ++ ++/* Nonzero means print parse trace. It is left uninitialized so that ++ multiple parsers can coexist. */ ++int yydebug; ++#else /* !YYDEBUG */ ++# define YYDPRINTF(Args) ++# define YY_SYMBOL_PRINT(Title, Type, Value, Location) ++# define YY_STACK_PRINT(Bottom, Top) ++# define YY_REDUCE_PRINT(Rule) ++#endif /* !YYDEBUG */ ++ ++ ++/* YYINITDEPTH -- initial size of the parser's stacks. */ ++#ifndef YYINITDEPTH ++# define YYINITDEPTH 200 ++#endif ++ ++/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only ++ if the built-in stack extension method is used). ++ ++ Do not make this value too large; the results are undefined if ++ YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) ++ evaluated with infinite-precision integer arithmetic. */ ++ ++#ifndef YYMAXDEPTH ++# define YYMAXDEPTH 10000 ++#endif ++ ++ ++#if YYERROR_VERBOSE ++ ++# ifndef yystrlen ++# if defined __GLIBC__ && defined _STRING_H ++# define yystrlen strlen ++# else ++/* Return the length of YYSTR. */ ++#if (defined __STDC__ || defined __C99__FUNC__ \ ++ || defined __cplusplus || defined _MSC_VER) ++static YYSIZE_T ++yystrlen (const char *yystr) ++#else ++static YYSIZE_T ++yystrlen (yystr) ++ const char *yystr; ++#endif ++{ ++ YYSIZE_T yylen; ++ for (yylen = 0; yystr[yylen]; yylen++) ++ continue; ++ return yylen; ++} ++# endif ++# endif ++ ++# ifndef yystpcpy ++# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE ++# define yystpcpy stpcpy ++# else ++/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in ++ YYDEST. */ ++#if (defined __STDC__ || defined __C99__FUNC__ \ ++ || defined __cplusplus || defined _MSC_VER) ++static char * ++yystpcpy (char *yydest, const char *yysrc) ++#else ++static char * ++yystpcpy (yydest, yysrc) ++ char *yydest; ++ const char *yysrc; ++#endif ++{ ++ char *yyd = yydest; ++ const char *yys = yysrc; ++ ++ while ((*yyd++ = *yys++) != '\0') ++ continue; ++ ++ return yyd - 1; ++} ++# endif ++# endif ++ ++# ifndef yytnamerr ++/* Copy to YYRES the contents of YYSTR after stripping away unnecessary ++ quotes and backslashes, so that it's suitable for yyerror. The ++ heuristic is that double-quoting is unnecessary unless the string ++ contains an apostrophe, a comma, or backslash (other than ++ backslash-backslash). YYSTR is taken from yytname. If YYRES is ++ null, do not copy; instead, return the length of what the result ++ would have been. */ ++static YYSIZE_T ++yytnamerr (char *yyres, const char *yystr) ++{ ++ if (*yystr == '"') ++ { ++ YYSIZE_T yyn = 0; ++ char const *yyp = yystr; ++ ++ for (;;) ++ switch (*++yyp) ++ { ++ case '\'': ++ case ',': ++ goto do_not_strip_quotes; ++ ++ case '\\': ++ if (*++yyp != '\\') ++ goto do_not_strip_quotes; ++ /* Fall through. */ ++ default: ++ if (yyres) ++ yyres[yyn] = *yyp; ++ yyn++; ++ break; ++ ++ case '"': ++ if (yyres) ++ yyres[yyn] = '\0'; ++ return yyn; ++ } ++ do_not_strip_quotes: ; ++ } ++ ++ if (! yyres) ++ return yystrlen (yystr); ++ ++ return yystpcpy (yyres, yystr) - yyres; ++} ++# endif ++ ++/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message ++ about the unexpected token YYTOKEN for the state stack whose top is ++ YYSSP. ++ ++ Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is ++ not large enough to hold the message. In that case, also set ++ *YYMSG_ALLOC to the required number of bytes. Return 2 if the ++ required number of bytes is too large to store. */ ++static int ++yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, ++ yytype_int16 *yyssp, int yytoken) ++{ ++ YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]); ++ YYSIZE_T yysize = yysize0; ++ enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; ++ /* Internationalized format string. */ ++ const char *yyformat = YY_NULL; ++ /* Arguments of yyformat. */ ++ char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; ++ /* Number of reported tokens (one for the "unexpected", one per ++ "expected"). */ ++ int yycount = 0; ++ ++ /* There are many possibilities here to consider: ++ - Assume YYFAIL is not used. It's too flawed to consider. See ++ ++ for details. YYERROR is fine as it does not invoke this ++ function. ++ - If this state is a consistent state with a default action, then ++ the only way this function was invoked is if the default action ++ is an error action. In that case, don't check for expected ++ tokens because there are none. ++ - The only way there can be no lookahead present (in yychar) is if ++ this state is a consistent state with a default action. Thus, ++ detecting the absence of a lookahead is sufficient to determine ++ that there is no unexpected or expected token to report. In that ++ case, just report a simple "syntax error". ++ - Don't assume there isn't a lookahead just because this state is a ++ consistent state with a default action. There might have been a ++ previous inconsistent state, consistent state with a non-default ++ action, or user semantic action that manipulated yychar. ++ - Of course, the expected token list depends on states to have ++ correct lookahead information, and it depends on the parser not ++ to perform extra reductions after fetching a lookahead from the ++ scanner and before detecting a syntax error. Thus, state merging ++ (from LALR or IELR) and default reductions corrupt the expected ++ token list. However, the list is correct for canonical LR with ++ one exception: it will still contain any token that will not be ++ accepted due to an error action in a later state. ++ */ ++ if (yytoken != YYEMPTY) ++ { ++ int yyn = yypact[*yyssp]; ++ yyarg[yycount++] = yytname[yytoken]; ++ if (!yypact_value_is_default (yyn)) ++ { ++ /* Start YYX at -YYN if negative to avoid negative indexes in ++ YYCHECK. In other words, skip the first -YYN actions for ++ this state because they are default actions. */ ++ int yyxbegin = yyn < 0 ? -yyn : 0; ++ /* Stay within bounds of both yycheck and yytname. */ ++ int yychecklim = YYLAST - yyn + 1; ++ int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; ++ int yyx; ++ ++ for (yyx = yyxbegin; yyx < yyxend; ++yyx) ++ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR ++ && !yytable_value_is_error (yytable[yyx + yyn])) ++ { ++ if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) ++ { ++ yycount = 1; ++ yysize = yysize0; ++ break; ++ } ++ yyarg[yycount++] = yytname[yyx]; ++ { ++ YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]); ++ if (! (yysize <= yysize1 ++ && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) ++ return 2; ++ yysize = yysize1; ++ } ++ } ++ } ++ } ++ ++ switch (yycount) ++ { ++# define YYCASE_(N, S) \ ++ case N: \ ++ yyformat = S; \ ++ break ++ YYCASE_(0, YY_("syntax error")); ++ YYCASE_(1, YY_("syntax error, unexpected %s")); ++ YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); ++ YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); ++ YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); ++ YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); ++# undef YYCASE_ ++ } ++ ++ { ++ YYSIZE_T yysize1 = yysize + yystrlen (yyformat); ++ if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) ++ return 2; ++ yysize = yysize1; ++ } ++ ++ if (*yymsg_alloc < yysize) ++ { ++ *yymsg_alloc = 2 * yysize; ++ if (! (yysize <= *yymsg_alloc ++ && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) ++ *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; ++ return 1; ++ } ++ ++ /* Avoid sprintf, as that infringes on the user's name space. ++ Don't have undefined behavior even if the translation ++ produced a string with the wrong number of "%s"s. */ ++ { ++ char *yyp = *yymsg; ++ int yyi = 0; ++ while ((*yyp = *yyformat) != '\0') ++ if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) ++ { ++ yyp += yytnamerr (yyp, yyarg[yyi++]); ++ yyformat += 2; ++ } ++ else ++ { ++ yyp++; ++ yyformat++; ++ } ++ } ++ return 0; ++} ++#endif /* YYERROR_VERBOSE */ ++ ++/*-----------------------------------------------. ++| Release the memory associated to this symbol. | ++`-----------------------------------------------*/ ++ ++/*ARGSUSED*/ ++#if (defined __STDC__ || defined __C99__FUNC__ \ ++ || defined __cplusplus || defined _MSC_VER) ++static void ++yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, void *scanner, struct lk_ctx *ctx) ++#else ++static void ++yydestruct (yymsg, yytype, yyvaluep, scanner, ctx) ++ const char *yymsg; ++ int yytype; ++ YYSTYPE *yyvaluep; ++ void *scanner; ++ struct lk_ctx *ctx; ++#endif ++{ ++ YYUSE (yyvaluep); ++ YYUSE (scanner); ++ YYUSE (ctx); ++ ++ if (!yymsg) ++ yymsg = "Deleting"; ++ YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); ++ ++ YYUSE (yytype); ++} ++ ++ ++ ++ ++/*----------. ++| yyparse. | ++`----------*/ ++ ++#ifdef YYPARSE_PARAM ++#if (defined __STDC__ || defined __C99__FUNC__ \ ++ || defined __cplusplus || defined _MSC_VER) ++int ++yyparse (void *YYPARSE_PARAM) ++#else ++int ++yyparse (YYPARSE_PARAM) ++ void *YYPARSE_PARAM; ++#endif ++#else /* ! YYPARSE_PARAM */ ++#if (defined __STDC__ || defined __C99__FUNC__ \ ++ || defined __cplusplus || defined _MSC_VER) ++int ++yyparse (void *scanner, struct lk_ctx *ctx) ++#else ++int ++yyparse (scanner, ctx) ++ void *scanner; ++ struct lk_ctx *ctx; ++#endif ++#endif ++{ ++/* The lookahead symbol. */ ++int yychar; ++ ++ ++#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ ++/* Suppress an incorrect diagnostic about yylval being uninitialized. */ ++# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ ++ _Pragma ("GCC diagnostic push") \ ++ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ ++ _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") ++# define YY_IGNORE_MAYBE_UNINITIALIZED_END \ ++ _Pragma ("GCC diagnostic pop") ++#else ++/* Default value used for initialization, for pacifying older GCCs ++ or non-GCC compilers. */ ++static YYSTYPE yyval_default; ++# define YY_INITIAL_VALUE(Value) = Value ++#endif ++#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN ++# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN ++# define YY_IGNORE_MAYBE_UNINITIALIZED_END ++#endif ++#ifndef YY_INITIAL_VALUE ++# define YY_INITIAL_VALUE(Value) /* Nothing. */ ++#endif ++ ++/* The semantic value of the lookahead symbol. */ ++YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); ++ ++ /* Number of syntax errors so far. */ ++ int yynerrs; ++ ++ int yystate; ++ /* Number of tokens to shift before error messages enabled. */ ++ int yyerrstatus; ++ ++ /* The stacks and their tools: ++ `yyss': related to states. ++ `yyvs': related to semantic values. ++ ++ Refer to the stacks through separate pointers, to allow yyoverflow ++ to reallocate them elsewhere. */ ++ ++ /* The state stack. */ ++ yytype_int16 yyssa[YYINITDEPTH]; ++ yytype_int16 *yyss; ++ yytype_int16 *yyssp; ++ ++ /* The semantic value stack. */ ++ YYSTYPE yyvsa[YYINITDEPTH]; ++ YYSTYPE *yyvs; ++ YYSTYPE *yyvsp; ++ ++ YYSIZE_T yystacksize; ++ ++ int yyn; ++ int yyresult; ++ /* Lookahead token as an internal (translated) token number. */ ++ int yytoken = 0; ++ /* The variables used to return semantic value and location from the ++ action routines. */ ++ YYSTYPE yyval; ++ ++#if YYERROR_VERBOSE ++ /* Buffer for error messages, and its allocated size. */ ++ char yymsgbuf[128]; ++ char *yymsg = yymsgbuf; ++ YYSIZE_T yymsg_alloc = sizeof yymsgbuf; ++#endif ++ ++#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) ++ ++ /* The number of symbols on the RHS of the reduced rule. ++ Keep to zero when no symbol should be popped. */ ++ int yylen = 0; ++ ++ yyssp = yyss = yyssa; ++ yyvsp = yyvs = yyvsa; ++ yystacksize = YYINITDEPTH; ++ ++ YYDPRINTF ((stderr, "Starting parse\n")); ++ ++ yystate = 0; ++ yyerrstatus = 0; ++ yynerrs = 0; ++ yychar = YYEMPTY; /* Cause a token to be read. */ ++ goto yysetstate; ++ ++/*------------------------------------------------------------. ++| yynewstate -- Push a new state, which is found in yystate. | ++`------------------------------------------------------------*/ ++ yynewstate: ++ /* In all cases, when you get here, the value and location stacks ++ have just been pushed. So pushing a state here evens the stacks. */ ++ yyssp++; ++ ++ yysetstate: ++ *yyssp = yystate; ++ ++ if (yyss + yystacksize - 1 <= yyssp) ++ { ++ /* Get the current used size of the three stacks, in elements. */ ++ YYSIZE_T yysize = yyssp - yyss + 1; ++ ++#ifdef yyoverflow ++ { ++ /* Give user a chance to reallocate the stack. Use copies of ++ these so that the &'s don't force the real ones into ++ memory. */ ++ YYSTYPE *yyvs1 = yyvs; ++ yytype_int16 *yyss1 = yyss; ++ ++ /* Each stack pointer address is followed by the size of the ++ data in use in that stack, in bytes. This used to be a ++ conditional around just the two extra args, but that might ++ be undefined if yyoverflow is a macro. */ ++ yyoverflow (YY_("memory exhausted"), ++ &yyss1, yysize * sizeof (*yyssp), ++ &yyvs1, yysize * sizeof (*yyvsp), ++ &yystacksize); ++ ++ yyss = yyss1; ++ yyvs = yyvs1; ++ } ++#else /* no yyoverflow */ ++# ifndef YYSTACK_RELOCATE ++ goto yyexhaustedlab; ++# else ++ /* Extend the stack our own way. */ ++ if (YYMAXDEPTH <= yystacksize) ++ goto yyexhaustedlab; ++ yystacksize *= 2; ++ if (YYMAXDEPTH < yystacksize) ++ yystacksize = YYMAXDEPTH; ++ ++ { ++ yytype_int16 *yyss1 = yyss; ++ union yyalloc *yyptr = ++ (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); ++ if (! yyptr) ++ goto yyexhaustedlab; ++ YYSTACK_RELOCATE (yyss_alloc, yyss); ++ YYSTACK_RELOCATE (yyvs_alloc, yyvs); ++# undef YYSTACK_RELOCATE ++ if (yyss1 != yyssa) ++ YYSTACK_FREE (yyss1); ++ } ++# endif ++#endif /* no yyoverflow */ ++ ++ yyssp = yyss + yysize - 1; ++ yyvsp = yyvs + yysize - 1; ++ ++ YYDPRINTF ((stderr, "Stack size increased to %lu\n", ++ (unsigned long int) yystacksize)); ++ ++ if (yyss + yystacksize - 1 <= yyssp) ++ YYABORT; ++ } ++ ++ YYDPRINTF ((stderr, "Entering state %d\n", yystate)); ++ ++ if (yystate == YYFINAL) ++ YYACCEPT; ++ ++ goto yybackup; ++ ++/*-----------. ++| yybackup. | ++`-----------*/ ++yybackup: ++ ++ /* Do appropriate processing given the current state. Read a ++ lookahead token if we need one and don't already have one. */ ++ ++ /* First try to decide what to do without reference to lookahead token. */ ++ yyn = yypact[yystate]; ++ if (yypact_value_is_default (yyn)) ++ goto yydefault; ++ ++ /* Not known => get a lookahead token if don't already have one. */ ++ ++ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ ++ if (yychar == YYEMPTY) ++ { ++ YYDPRINTF ((stderr, "Reading a token: ")); ++ yychar = YYLEX; ++ } ++ ++ if (yychar <= YYEOF) ++ { ++ yychar = yytoken = YYEOF; ++ YYDPRINTF ((stderr, "Now at end of input.\n")); ++ } ++ else ++ { ++ yytoken = YYTRANSLATE (yychar); ++ YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); ++ } ++ ++ /* If the proper action on seeing token YYTOKEN is to reduce or to ++ detect an error, take that action. */ ++ yyn += yytoken; ++ if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) ++ goto yydefault; ++ yyn = yytable[yyn]; ++ if (yyn <= 0) ++ { ++ if (yytable_value_is_error (yyn)) ++ goto yyerrlab; ++ yyn = -yyn; ++ goto yyreduce; ++ } ++ ++ /* Count tokens shifted since error; after three, turn off error ++ status. */ ++ if (yyerrstatus) ++ yyerrstatus--; ++ ++ /* Shift the lookahead token. */ ++ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); ++ ++ /* Discard the shifted token. */ ++ yychar = YYEMPTY; ++ ++ yystate = yyn; ++ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN ++ *++yyvsp = yylval; ++ YY_IGNORE_MAYBE_UNINITIALIZED_END ++ ++ goto yynewstate; ++ ++ ++/*-----------------------------------------------------------. ++| yydefault -- do the default action for the current state. | ++`-----------------------------------------------------------*/ ++yydefault: ++ yyn = yydefact[yystate]; ++ if (yyn == 0) ++ goto yyerrlab; ++ goto yyreduce; ++ ++ ++/*-----------------------------. ++| yyreduce -- Do a reduction. | ++`-----------------------------*/ ++yyreduce: ++ /* yyn is the number of a rule to reduce with. */ ++ yylen = yyr2[yyn]; ++ ++ /* If YYLEN is nonzero, implement the default value of the action: ++ `$$ = $1'. ++ ++ Otherwise, the following line sets YYVAL to garbage. ++ This behavior is undocumented and Bison ++ users should not rely upon it. Assigning to YYVAL ++ unconditionally makes the parser a bit smaller, and it avoids a ++ GCC warning that YYVAL may be used uninitialized. */ ++ yyval = yyvsp[1-yylen]; ++ ++ ++ YY_REDUCE_PRINT (yyn); ++ switch (yyn) ++ { ++ case 13: ++/* Line 1787 of yacc.c */ ++#line 194 "parser.y" ++ { ++ if (lk_set_charset(ctx, (char *) (yyvsp[(2) - (3)].str).data)) { ++ ERR(ctx, ++ _("unknown charset %s - ignoring charset request\n"), ++ (char *) (yyvsp[(2) - (3)].str).data); ++ YYERROR; ++ } ++ ctx->keywords |= LK_KEYWORD_CHARSET; ++ ++ /* Unicode: The first 256 code points were made ++ identical to the content of ISO 8859-1 */ ++ if (ctx->flags & LK_FLAG_PREFER_UNICODE && ++ !strcasecmp((char *) (yyvsp[(2) - (3)].str).data, "iso-8859-1")) ++ ctx->flags ^= LK_FLAG_PREFER_UNICODE; ++ } ++ break; ++ ++ case 14: ++/* Line 1787 of yacc.c */ ++#line 211 "parser.y" ++ { ++ ctx->keywords |= LK_KEYWORD_ALTISMETA; ++ } ++ break; ++ ++ case 15: ++/* Line 1787 of yacc.c */ ++#line 216 "parser.y" ++ { ++ if (strings_as_usual(ctx) == -1) ++ YYERROR; ++ ctx->keywords |= LK_KEYWORD_STRASUSUAL; ++ } ++ break; ++ ++ case 16: ++/* Line 1787 of yacc.c */ ++#line 223 "parser.y" ++ { ++ if (compose_as_usual(ctx, (char *) (yyvsp[(5) - (6)].str).data) == -1) ++ YYERROR; ++ } ++ break; ++ ++ case 17: ++/* Line 1787 of yacc.c */ ++#line 228 "parser.y" ++ { ++ if (compose_as_usual(ctx, 0) == -1) ++ YYERROR; ++ } ++ break; ++ ++ case 18: ++/* Line 1787 of yacc.c */ ++#line 234 "parser.y" ++ { ++ ctx->keywords |= LK_KEYWORD_KEYMAPS; ++ } ++ break; ++ ++ case 21: ++/* Line 1787 of yacc.c */ ++#line 242 "parser.y" ++ { ++ int i; ++ for (i = (yyvsp[(1) - (3)].num); i <= (yyvsp[(3) - (3)].num); i++) { ++ if (lk_add_map(ctx, i) == -1) ++ YYERROR; ++ } ++ } ++ break; ++ ++ case 22: ++/* Line 1787 of yacc.c */ ++#line 250 "parser.y" ++ { ++ if (lk_add_map(ctx, (yyvsp[(1) - (1)].num)) == -1) ++ YYERROR; ++ } ++ break; ++ ++ case 23: ++/* Line 1787 of yacc.c */ ++#line 256 "parser.y" ++ { ++ struct kbsentry ke; ++ ++ if (KTYP((yyvsp[(2) - (5)].num)) != KT_FN) { ++ ERR(ctx, _("'%s' is not a function key symbol"), ++ get_sym(ctx, KTYP((yyvsp[(2) - (5)].num)), KVAL((yyvsp[(2) - (5)].num)))); ++ YYERROR; ++ } ++ ++ ke.kb_func = KVAL((yyvsp[(2) - (5)].num)); ++ strncpy((char *) ke.kb_string, ++ (char *) (yyvsp[(4) - (5)].str).data, ++ sizeof(ke.kb_string)); ++ ke.kb_string[sizeof(ke.kb_string) - 1] = 0; ++ ++ if (lk_add_func(ctx, &ke) == -1) ++ YYERROR; ++ } ++ break; ++ ++ case 24: ++/* Line 1787 of yacc.c */ ++#line 276 "parser.y" ++ { ++ struct lk_kbdiacr ptr; ++ ptr.diacr = (yyvsp[(2) - (6)].num); ++ ptr.base = (yyvsp[(3) - (6)].num); ++ ptr.result = (yyvsp[(5) - (6)].num); ++ ++ if (lk_append_compose(ctx, &ptr) == -1) ++ YYERROR; ++ } ++ break; ++ ++ case 25: ++/* Line 1787 of yacc.c */ ++#line 286 "parser.y" ++ { ++ struct lk_kbdiacr ptr; ++ ptr.diacr = (yyvsp[(2) - (6)].num); ++ ptr.base = (yyvsp[(3) - (6)].num); ++ ptr.result = (yyvsp[(5) - (6)].num); ++ ++ if (lk_append_compose(ctx, &ptr) == -1) ++ YYERROR; ++ } ++ break; ++ ++ case 26: ++/* Line 1787 of yacc.c */ ++#line 296 "parser.y" ++ { (yyval.num) = (yyvsp[(1) - (1)].num); } ++ break; ++ ++ case 27: ++/* Line 1787 of yacc.c */ ++#line 297 "parser.y" ++ { (yyval.num) = (yyvsp[(1) - (1)].num) ^ 0xf000; } ++ break; ++ ++ case 28: ++/* Line 1787 of yacc.c */ ++#line 300 "parser.y" ++ { ++ unsigned int j, i, keycode; ++ int *val; ++ ++ if (ctx->key_line->count == 1) { ++ char one = 1; ++ /* Some files do not have a keymaps line, and ++ * we have to wait until all input has been read ++ * before we know which maps to fill. */ ++ lk_array_set(ctx->key_constant, (yyvsp[(2) - (5)].num), &one); ++ ++ /* On the other hand, we now have include files, ++ * and it should be possible to override lines ++ * from an include file. So, kill old defs. */ ++ for (j = 0; j < ctx->keymap->total; j++) { ++ if (!lk_map_exists(ctx, j)) ++ continue; ++ ++ if (lk_del_key(ctx, j, (yyvsp[(2) - (5)].num)) < 0) ++ YYERROR; ++ } ++ } ++ ++ if (ctx->keywords & LK_KEYWORD_KEYMAPS) { ++ i = 0; ++ ++ for (j = 0; j < ctx->keymap->total; j++) { ++ if (!lk_map_exists(ctx, j)) ++ continue; ++ ++ if (ctx->key_line->count != 1 || i == 0) { ++ keycode = K_HOLE; ++ ++ if (i < ctx->key_line->count) { ++ val = lk_array_get(ctx->key_line, i); ++ keycode = *val; ++ } ++ ++ if (lk_add_key(ctx, j, (yyvsp[(2) - (5)].num), keycode) < 0) ++ YYERROR; ++ } ++ i++; ++ } ++ ++ if (i < ctx->key_line->count) { ++ ERR(ctx, _("too many (%d) entries on one line"), ++ ctx->key_line->count); ++ YYERROR; ++ } ++ } else { ++ for (i = 0; i < ctx->key_line->count; i++) { ++ val = lk_array_get(ctx->key_line, i); ++ ++ if (lk_add_key(ctx, i, (yyvsp[(2) - (5)].num), *val) < 0) ++ YYERROR; ++ } ++ } ++ } ++ break; ++ ++ case 29: ++/* Line 1787 of yacc.c */ ++#line 360 "parser.y" ++ { ++ if (lk_add_key(ctx, ctx->mod, (yyvsp[(3) - (6)].num), (yyvsp[(5) - (6)].num)) < 0) ++ YYERROR; ++ ctx->mod = 0; ++ } ++ break; ++ ++ case 30: ++/* Line 1787 of yacc.c */ ++#line 366 "parser.y" ++ { ++ if (lk_add_key(ctx, 0, (yyvsp[(3) - (6)].num), (yyvsp[(5) - (6)].num)) < 0) ++ YYERROR; ++ ctx->mod = 0; ++ } ++ break; ++ ++ case 33: ++/* Line 1787 of yacc.c */ ++#line 375 "parser.y" ++ { ctx->mod |= M_SHIFT; } ++ break; ++ ++ case 34: ++/* Line 1787 of yacc.c */ ++#line 376 "parser.y" ++ { ctx->mod |= M_CTRL; } ++ break; ++ ++ case 35: ++/* Line 1787 of yacc.c */ ++#line 377 "parser.y" ++ { ctx->mod |= M_ALT; } ++ break; ++ ++ case 36: ++/* Line 1787 of yacc.c */ ++#line 378 "parser.y" ++ { ctx->mod |= M_ALTGR; } ++ break; ++ ++ case 37: ++/* Line 1787 of yacc.c */ ++#line 379 "parser.y" ++ { ctx->mod |= M_SHIFTL; } ++ break; ++ ++ case 38: ++/* Line 1787 of yacc.c */ ++#line 380 "parser.y" ++ { ctx->mod |= M_SHIFTR; } ++ break; ++ ++ case 39: ++/* Line 1787 of yacc.c */ ++#line 381 "parser.y" ++ { ctx->mod |= M_CTRLL; } ++ break; ++ ++ case 40: ++/* Line 1787 of yacc.c */ ++#line 382 "parser.y" ++ { ctx->mod |= M_CTRLR; } ++ break; ++ ++ case 41: ++/* Line 1787 of yacc.c */ ++#line 383 "parser.y" ++ { ctx->mod |= M_CAPSSHIFT; } ++ break; ++ ++ case 44: ++/* Line 1787 of yacc.c */ ++#line 391 "parser.y" ++ { ++ int val = (yyvsp[(1) - (1)].num); ++ lk_array_append(ctx->key_line, &val); ++ } ++ break; ++ ++ case 45: ++/* Line 1787 of yacc.c */ ++#line 396 "parser.y" ++ { (yyval.num) = convert_code(ctx, (yyvsp[(1) - (1)].num), TO_AUTO); } ++ break; ++ ++ case 46: ++/* Line 1787 of yacc.c */ ++#line 397 "parser.y" ++ { (yyval.num) = add_capslock(ctx, (yyvsp[(2) - (2)].num)); } ++ break; ++ ++ case 47: ++/* Line 1787 of yacc.c */ ++#line 398 "parser.y" ++ { (yyval.num) = convert_code(ctx, (yyvsp[(1) - (1)].num)^0xf000, TO_AUTO); } ++ break; ++ ++ case 48: ++/* Line 1787 of yacc.c */ ++#line 399 "parser.y" ++ { (yyval.num) = add_capslock(ctx, (yyvsp[(2) - (2)].num)^0xf000); } ++ break; ++ ++ case 49: ++/* Line 1787 of yacc.c */ ++#line 400 "parser.y" ++ { (yyval.num) = (yyvsp[(1) - (1)].num); } ++ break; ++ ++ case 50: ++/* Line 1787 of yacc.c */ ++#line 401 "parser.y" ++ { (yyval.num) = add_capslock(ctx, (yyvsp[(2) - (2)].num)); } ++ break; ++ ++ ++/* Line 1787 of yacc.c */ ++#line 1979 "parser.c" ++ default: break; ++ } ++ /* User semantic actions sometimes alter yychar, and that requires ++ that yytoken be updated with the new translation. We take the ++ approach of translating immediately before every use of yytoken. ++ One alternative is translating here after every semantic action, ++ but that translation would be missed if the semantic action invokes ++ YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or ++ if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an ++ incorrect destructor might then be invoked immediately. In the ++ case of YYERROR or YYBACKUP, subsequent parser actions might lead ++ to an incorrect destructor call or verbose syntax error message ++ before the lookahead is translated. */ ++ YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); ++ ++ YYPOPSTACK (yylen); ++ yylen = 0; ++ YY_STACK_PRINT (yyss, yyssp); ++ ++ *++yyvsp = yyval; ++ ++ /* Now `shift' the result of the reduction. Determine what state ++ that goes to, based on the state we popped back to and the rule ++ number reduced by. */ ++ ++ yyn = yyr1[yyn]; ++ ++ yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; ++ if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) ++ yystate = yytable[yystate]; ++ else ++ yystate = yydefgoto[yyn - YYNTOKENS]; ++ ++ goto yynewstate; ++ ++ ++/*------------------------------------. ++| yyerrlab -- here on detecting error | ++`------------------------------------*/ ++yyerrlab: ++ /* Make sure we have latest lookahead translation. See comments at ++ user semantic actions for why this is necessary. */ ++ yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); ++ ++ /* If not already recovering from an error, report this error. */ ++ if (!yyerrstatus) ++ { ++ ++yynerrs; ++#if ! YYERROR_VERBOSE ++ yyerror (scanner, ctx, YY_("syntax error")); ++#else ++# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ ++ yyssp, yytoken) ++ { ++ char const *yymsgp = YY_("syntax error"); ++ int yysyntax_error_status; ++ yysyntax_error_status = YYSYNTAX_ERROR; ++ if (yysyntax_error_status == 0) ++ yymsgp = yymsg; ++ else if (yysyntax_error_status == 1) ++ { ++ if (yymsg != yymsgbuf) ++ YYSTACK_FREE (yymsg); ++ yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc); ++ if (!yymsg) ++ { ++ yymsg = yymsgbuf; ++ yymsg_alloc = sizeof yymsgbuf; ++ yysyntax_error_status = 2; ++ } ++ else ++ { ++ yysyntax_error_status = YYSYNTAX_ERROR; ++ yymsgp = yymsg; ++ } ++ } ++ yyerror (scanner, ctx, yymsgp); ++ if (yysyntax_error_status == 2) ++ goto yyexhaustedlab; ++ } ++# undef YYSYNTAX_ERROR ++#endif ++ } ++ ++ ++ ++ if (yyerrstatus == 3) ++ { ++ /* If just tried and failed to reuse lookahead token after an ++ error, discard it. */ ++ ++ if (yychar <= YYEOF) ++ { ++ /* Return failure if at end of input. */ ++ if (yychar == YYEOF) ++ YYABORT; ++ } ++ else ++ { ++ yydestruct ("Error: discarding", ++ yytoken, &yylval, scanner, ctx); ++ yychar = YYEMPTY; ++ } ++ } ++ ++ /* Else will try to reuse lookahead token after shifting the error ++ token. */ ++ goto yyerrlab1; ++ ++ ++/*---------------------------------------------------. ++| yyerrorlab -- error raised explicitly by YYERROR. | ++`---------------------------------------------------*/ ++yyerrorlab: ++ ++ /* Pacify compilers like GCC when the user code never invokes ++ YYERROR and the label yyerrorlab therefore never appears in user ++ code. */ ++ if (/*CONSTCOND*/ 0) ++ goto yyerrorlab; ++ ++ /* Do not reclaim the symbols of the rule which action triggered ++ this YYERROR. */ ++ YYPOPSTACK (yylen); ++ yylen = 0; ++ YY_STACK_PRINT (yyss, yyssp); ++ yystate = *yyssp; ++ goto yyerrlab1; ++ ++ ++/*-------------------------------------------------------------. ++| yyerrlab1 -- common code for both syntax error and YYERROR. | ++`-------------------------------------------------------------*/ ++yyerrlab1: ++ yyerrstatus = 3; /* Each real token shifted decrements this. */ ++ ++ for (;;) ++ { ++ yyn = yypact[yystate]; ++ if (!yypact_value_is_default (yyn)) ++ { ++ yyn += YYTERROR; ++ if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) ++ { ++ yyn = yytable[yyn]; ++ if (0 < yyn) ++ break; ++ } ++ } ++ ++ /* Pop the current state because it cannot handle the error token. */ ++ if (yyssp == yyss) ++ YYABORT; ++ ++ ++ yydestruct ("Error: popping", ++ yystos[yystate], yyvsp, scanner, ctx); ++ YYPOPSTACK (1); ++ yystate = *yyssp; ++ YY_STACK_PRINT (yyss, yyssp); ++ } ++ ++ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN ++ *++yyvsp = yylval; ++ YY_IGNORE_MAYBE_UNINITIALIZED_END ++ ++ ++ /* Shift the error token. */ ++ YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); ++ ++ yystate = yyn; ++ goto yynewstate; ++ ++ ++/*-------------------------------------. ++| yyacceptlab -- YYACCEPT comes here. | ++`-------------------------------------*/ ++yyacceptlab: ++ yyresult = 0; ++ goto yyreturn; ++ ++/*-----------------------------------. ++| yyabortlab -- YYABORT comes here. | ++`-----------------------------------*/ ++yyabortlab: ++ yyresult = 1; ++ goto yyreturn; ++ ++#if !defined yyoverflow || YYERROR_VERBOSE ++/*-------------------------------------------------. ++| yyexhaustedlab -- memory exhaustion comes here. | ++`-------------------------------------------------*/ ++yyexhaustedlab: ++ yyerror (scanner, ctx, YY_("memory exhausted")); ++ yyresult = 2; ++ /* Fall through. */ ++#endif ++ ++yyreturn: ++ if (yychar != YYEMPTY) ++ { ++ /* Make sure we have latest lookahead translation. See comments at ++ user semantic actions for why this is necessary. */ ++ yytoken = YYTRANSLATE (yychar); ++ yydestruct ("Cleanup: discarding lookahead", ++ yytoken, &yylval, scanner, ctx); ++ } ++ /* Do not reclaim the symbols of the rule which action triggered ++ this YYABORT or YYACCEPT. */ ++ YYPOPSTACK (yylen); ++ YY_STACK_PRINT (yyss, yyssp); ++ while (yyssp != yyss) ++ { ++ yydestruct ("Cleanup: popping", ++ yystos[*yyssp], yyvsp, scanner, ctx); ++ YYPOPSTACK (1); ++ } ++#ifndef yyoverflow ++ if (yyss != yyssa) ++ YYSTACK_FREE (yyss); ++#endif ++#if YYERROR_VERBOSE ++ if (yymsg != yymsgbuf) ++ YYSTACK_FREE (yymsg); ++#endif ++ /* Make sure YYID is used. */ ++ return YYID (yyresult); ++} ++ ++ ++/* Line 2050 of yacc.c */ ++#line 403 "parser.y" ++ ++ ++int ++lk_parse_keymap(struct lk_ctx *ctx, lkfile_t *f) ++{ ++ yyscan_t scanner; ++ int rc = -1; ++ ++ ctx->mod = 0; ++ ++ yylex_init(&scanner); ++ yylex_init_extra(ctx, &scanner); ++ ++ INFO(ctx, _("Loading %s"), f->pathname); ++ ++ if (stack_push(ctx, f, scanner) == -1) ++ goto fail; ++ ++ if (yyparse(scanner, ctx)) ++ goto fail; ++ ++ rc = 0; ++ ++ stack_pop(ctx, scanner); ++ ++ fail: yylex_destroy(scanner); ++ return rc; ++} +diff --git a/src/libkeymap/parser.h b/src/libkeymap/parser.h +new file mode 100644 +index 0000000..99251df +--- /dev/null ++++ b/src/libkeymap/parser.h +@@ -0,0 +1,172 @@ ++/* A Bison parser, made by GNU Bison 2.7.1. */ ++ ++/* Bison interface for Yacc-like parsers in C ++ ++ Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. ++ ++ 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 . */ ++ ++/* As a special exception, you may create a larger work that contains ++ part or all of the Bison parser skeleton and distribute that work ++ under terms of your choice, so long as that work isn't itself a ++ parser generator using the skeleton or a modified version thereof ++ as a parser skeleton. Alternatively, if you modify or redistribute ++ the parser skeleton itself, you may (at your option) remove this ++ special exception, which will cause the skeleton and the resulting ++ Bison output files to be licensed under the GNU General Public ++ License without this special exception. ++ ++ This special exception was added by the Free Software Foundation in ++ version 2.2 of Bison. */ ++ ++#ifndef YY_YY_PARSER_H_INCLUDED ++# define YY_YY_PARSER_H_INCLUDED ++/* Enabling traces. */ ++#ifndef YYDEBUG ++# define YYDEBUG 1 ++#endif ++#if YYDEBUG ++extern int yydebug; ++#endif ++/* "%code requires" blocks. */ ++/* Line 2053 of yacc.c */ ++#line 26 "parser.y" ++ ++#include "keymap.h" ++ ++#ifndef STRDATA_STRUCT ++#define STRDATA_STRUCT ++#define MAX_PARSER_STRING 512 ++struct strdata { ++ unsigned int len; ++ unsigned char data[MAX_PARSER_STRING]; ++}; ++#endif ++ ++ ++/* Line 2053 of yacc.c */ ++#line 60 "parser.h" ++ ++/* Tokens. */ ++#ifndef YYTOKENTYPE ++# define YYTOKENTYPE ++ /* Put the tokens into the symbol table, so that GDB and other debuggers ++ know about them. */ ++ enum yytokentype { ++ EOL = 258, ++ NUMBER = 259, ++ LITERAL = 260, ++ CHARSET = 261, ++ KEYMAPS = 262, ++ KEYCODE = 263, ++ EQUALS = 264, ++ PLAIN = 265, ++ SHIFT = 266, ++ CONTROL = 267, ++ ALT = 268, ++ ALTGR = 269, ++ SHIFTL = 270, ++ SHIFTR = 271, ++ CTRLL = 272, ++ CTRLR = 273, ++ CAPSSHIFT = 274, ++ COMMA = 275, ++ DASH = 276, ++ STRING = 277, ++ STRLITERAL = 278, ++ COMPOSE = 279, ++ TO = 280, ++ CCHAR = 281, ++ ERROR = 282, ++ PLUS = 283, ++ UNUMBER = 284, ++ ALT_IS_META = 285, ++ STRINGS = 286, ++ AS = 287, ++ USUAL = 288, ++ ON = 289, ++ FOR = 290 ++ }; ++#endif ++/* Tokens. */ ++#define EOL 258 ++#define NUMBER 259 ++#define LITERAL 260 ++#define CHARSET 261 ++#define KEYMAPS 262 ++#define KEYCODE 263 ++#define EQUALS 264 ++#define PLAIN 265 ++#define SHIFT 266 ++#define CONTROL 267 ++#define ALT 268 ++#define ALTGR 269 ++#define SHIFTL 270 ++#define SHIFTR 271 ++#define CTRLL 272 ++#define CTRLR 273 ++#define CAPSSHIFT 274 ++#define COMMA 275 ++#define DASH 276 ++#define STRING 277 ++#define STRLITERAL 278 ++#define COMPOSE 279 ++#define TO 280 ++#define CCHAR 281 ++#define ERROR 282 ++#define PLUS 283 ++#define UNUMBER 284 ++#define ALT_IS_META 285 ++#define STRINGS 286 ++#define AS 287 ++#define USUAL 288 ++#define ON 289 ++#define FOR 290 ++ ++ ++ ++#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED ++typedef union YYSTYPE ++{ ++/* Line 2053 of yacc.c */ ++#line 58 "parser.y" ++ ++ long long int num; ++ struct strdata str; ++ ++ ++/* Line 2053 of yacc.c */ ++#line 151 "parser.h" ++} YYSTYPE; ++# define YYSTYPE_IS_TRIVIAL 1 ++# define yystype YYSTYPE /* obsolescent; will be withdrawn */ ++# define YYSTYPE_IS_DECLARED 1 ++#endif ++ ++ ++#ifdef YYPARSE_PARAM ++#if defined __STDC__ || defined __cplusplus ++int yyparse (void *YYPARSE_PARAM); ++#else ++int yyparse (); ++#endif ++#else /* ! YYPARSE_PARAM */ ++#if defined __STDC__ || defined __cplusplus ++int yyparse (void *scanner, struct lk_ctx *ctx); ++#else ++int yyparse (); ++#endif ++#endif /* ! YYPARSE_PARAM */ ++ ++#endif /* !YY_YY_PARSER_H_INCLUDED */ +-- +2.6.2 + diff --git a/pkg/kbd/rev b/pkg/kbd/rev new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/pkg/kbd/rev @@ -0,0 +1 @@ +1 diff --git a/pkg/kbd/src b/pkg/kbd/src new file mode 160000 index 00000000..f1cbca04 --- /dev/null +++ b/pkg/kbd/src @@ -0,0 +1 @@ +Subproject commit f1cbca04b4b9ae782ed8b4391b682615cb77d99a diff --git a/pkg/less/.gitignore b/pkg/less/.gitignore new file mode 100644 index 00000000..937c7e72 --- /dev/null +++ b/pkg/less/.gitignore @@ -0,0 +1,2 @@ +/less-481.tar.gz +/src diff --git a/pkg/less/defines.h b/pkg/less/defines.h new file mode 100644 index 00000000..5dc06828 --- /dev/null +++ b/pkg/less/defines.h @@ -0,0 +1,99 @@ +#include + +#define BINDIR "/bin" +#define SYSDIR "/etc" + +#define SECURE SECURE_COMPILE +#define SHELL_ESCAPE (!SECURE) +#define EXAMINE (!SECURE) +#define TAB_COMPLETE_FILENAME (!SECURE) +#define CMD_HISTORY 1 +#define HILITE_SEARCH 1 +#define EDITOR (!SECURE) +#define TAGS (!SECURE) +#define USERFILE (!SECURE) +#define GLOB (!SECURE) +#define PIPEC (!SECURE) +#define LOGFILE (!SECURE) +#define GNU_OPTIONS 1 +#define ONLY_RETURN 0 +#define LESSKEYFILE ".less" +#define LESSKEYFILE_SYS SYSDIR "/sysless" +#define DEF_LESSKEYINFILE ".lesskey" +#define LESSHISTFILE ".lesshst" +#define MSDOS_COMPILER 0 +#define PATHNAME_SEP "/" +#define TGETENT_OK 1 +/* #undef HAVE_SGSTAT_H */ +#define HAVE_PERROR 1 +#define HAVE_TIME 1 +#define HAVE_SHELL 1 +#define DEF_METACHARS "; *?\t\n'\"()<>[]|&^`#\\$%=~" +#define DEF_METAESCAPE "\\" +#define HAVE_DUP 1 +#if 0 /* old sizes for small memory machines */ +#define CMDBUF_SIZE 512 /* Buffer for multichar commands */ +#define UNGOT_SIZE 100 /* Max chars to unget() */ +#define LINEBUF_SIZE 1024 /* Max size of line in input file */ +#define OUTBUF_SIZE 1024 /* Output buffer */ +#define PROMPT_SIZE 200 /* Max size of prompt string */ +#define TERMBUF_SIZE 2048 /* Termcap buffer for tgetent */ +#define TERMSBUF_SIZE 1024 /* Buffer to hold termcap strings */ +#define TAGLINE_SIZE 512 /* Max size of line in tags file */ +#define TABSTOP_MAX 32 /* Max number of custom tab stops */ +#else /* more reasonable sizes for modern machines */ +#define CMDBUF_SIZE 2048 /* Buffer for multichar commands */ +#define UNGOT_SIZE 200 /* Max chars to unget() */ +#define LINEBUF_SIZE 1024 /* Initial max size of line in input file */ +#define OUTBUF_SIZE 1024 /* Output buffer */ +#define PROMPT_SIZE 2048 /* Max size of prompt string */ +#define TERMBUF_SIZE 2048 /* Termcap buffer for tgetent */ +#define TERMSBUF_SIZE 1024 /* Buffer to hold termcap strings */ +#define TAGLINE_SIZE 1024 /* Max size of line in tags file */ +#define TABSTOP_MAX 128 /* Max number of custom tab stops */ +#endif +#define EDIT_PGM "vi" +#define HAVE_CONST 1 +#define HAVE_FLOAT 1 +/* #undef HAVE_GNU_REGEX */ +#define HAVE_LOCALE 1 +#define HAVE_MEMORY_H 1 +#define HAVE_OSPEED 1 +/* #undef HAVE_PCRE */ +#define HAVE_POSIX_REGCOMP 1 +/* #undef HAVE_REGCMP */ +/* #undef HAVE_REGEXEC2 */ +/* #undef HAVE_RE_COMP */ +/* #undef HAVE_SIGSETMASK */ +#define HAVE_SIGSET_T 1 +#define HAVE_STAT_INO 1 +#define HAVE_SYS_ERRLIST 1 +#define HAVE_SYS_IOCTL_H 1 +/* #undef HAVE_SYS_STREAM_H */ +#define HAVE_TERMCAP_H 1 +#define HAVE_TERMIOS_FUNCS 1 +/* #undef HAVE_TERMIO_H */ +#define HAVE_UPPER_LOWER 1 +/* #undef HAVE_V8_REGCOMP */ +#define HAVE_VALUES_H 1 +#define HAVE_VOID 1 +/* #undef MUST_DEFINE_ERRNO */ +/* #undef MUST_DEFINE_OSPEED */ +/* #undef NO_REGEX */ +#define PACKAGE_BUGREPORT "" +#define PACKAGE_NAME "less" +#define PACKAGE_STRING "less 1" +#define PACKAGE_TARNAME "less" +#define PACKAGE_URL "" +#define PACKAGE_VERSION "1" +#define SECURE_COMPILE 0 +/* #undef STAT_MACROS_BROKEN */ +#define TIME_WITH_SYS_TIME 1 +#ifndef _DARWIN_USE_64_BIT_INODE +# define _DARWIN_USE_64_BIT_INODE 1 +#endif +/* #undef _FILE_OFFSET_BITS */ +/* #undef _LARGE_FILES */ +/* #undef const */ +/* #undef off_t */ +/* #undef size_t */ diff --git a/pkg/less/gen.rc b/pkg/less/gen.rc new file mode 100644 index 00000000..ee0d16b4 --- /dev/null +++ b/pkg/less/gen.rc @@ -0,0 +1,17 @@ +cflags\ + -isystem '$builddir'/pkg/ncurses/include\ + -I include\ + -I '$dir' + +exe less -d pkg/ncurses/headers\ + main.c screen.c brac.c ch.c charset.c cmdbuf.c\ + command.c cvt.c decode.c edit.c filename.c forwback.c\ + help.c ifile.c input.c jump.c line.c linenum.c\ + lsystem.c mark.c optfunc.c option.c opttbl.c os.c\ + output.c pattern.c position.c prompt.c search.c signal.c\ + tags.c ttyin.c version.c\ + '$builddir'/pkg/ncurses/libncurses.a +file bin/less '$outdir'/less 755 +file share/man/man1/less.1 '$srcdir'/less.nro 644 + +fetch curl diff --git a/pkg/less/rev b/pkg/less/rev new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/pkg/less/rev @@ -0,0 +1 @@ +1 diff --git a/pkg/less/sha256 b/pkg/less/sha256 new file mode 100644 index 00000000..f404456f --- /dev/null +++ b/pkg/less/sha256 @@ -0,0 +1 @@ +3fa38f2cf5e9e040bb44fffaa6c76a84506e379e47f5a04686ab78102090dda5 less-481.tar.gz diff --git a/pkg/less/url b/pkg/less/url new file mode 100644 index 00000000..1d361f40 --- /dev/null +++ b/pkg/less/url @@ -0,0 +1 @@ +url = "http://www.greenwoodsoftware.com/less/less-481.tar.gz" diff --git a/pkg/libass/config.h b/pkg/libass/config.h new file mode 100644 index 00000000..71715af2 --- /dev/null +++ b/pkg/libass/config.h @@ -0,0 +1,25 @@ +#include + +/* #undef CONFIG_ASM */ +/* #undef CONFIG_CORETEXT */ +/* #undef CONFIG_DIRECTWRITE */ +/* #undef CONFIG_FONTCONFIG */ +#define CONFIG_FREETYPE 1 +#define CONFIG_FRIBIDI 1 +/* #undef CONFIG_HARFBUZZ */ +#define CONFIG_ICONV 1 +/* #undef CONFIG_LARGE_TILES */ +/* #undef CONFIG_LIBPNG */ +#define CONFIG_RASTERIZER 1 +#define HAVE_LIBM 1 +#define HAVE_MEMORY_H 1 +#define HAVE__BOOL 1 +#define LT_OBJDIR ".libs/" +#define PACKAGE "libass" +#define PACKAGE_BUGREPORT "" +#define PACKAGE_NAME "libass" +#define PACKAGE_STRING "libass 0.13.4" +#define PACKAGE_TARNAME "libass" +#define PACKAGE_URL "" +#define PACKAGE_VERSION "0.13.4" +#define VERSION "0.13.4" diff --git a/pkg/libass/gen.rc b/pkg/libass/gen.rc new file mode 100644 index 00000000..bc116e15 --- /dev/null +++ b/pkg/libass/gen.rc @@ -0,0 +1,27 @@ +cflags\ + -isystem '$builddir'/pkg/fribidi/include\ + -isystem pkg/freetype/src/include\ + -I include\ + -I '$dir' + +hdrs=(ass.h ass_types.h) +for(hdr in $hdrs) + build '$outdir'/include/ass/$hdr copy '$srcdir'/libass/$hdr +phony headers '$outdir'/include/ass/$hdrs + +phony deps '$builddir'/pkg/freetype/fetch.stamp pkg/fribidi/headers + +lib libass.a -d '$dir'/deps libass/^(\ + ass.c ass_cache.c ass_font.c ass_fontselect.c ass_render.c\ + ass_utils.c ass_bitmap.c ass_blur.c ass_library.c\ + ass_drawing.c\ + ass_parse.c ass_render_api.c ass_shaper.c\ + ass_strtod.c ass_fontconfig.c\ + ass_string.c\ + ass_rasterizer.c ass_rasterizer_c.c\ +) '$builddir'/pkg/^(\ + freetype/libfreetype.a.d\ + fribidi/libfribidi.a\ +) + +fetch git diff --git a/pkg/libass/rev b/pkg/libass/rev new file mode 100644 index 00000000..00750edc --- /dev/null +++ b/pkg/libass/rev @@ -0,0 +1 @@ +3 diff --git a/pkg/libass/src b/pkg/libass/src new file mode 160000 index 00000000..8551555c --- /dev/null +++ b/pkg/libass/src @@ -0,0 +1 @@ +Subproject commit 8551555c86f50f978f9ddd55a8d20bceb80d92fc diff --git a/pkg/libdrm/config.h b/pkg/libdrm/config.h new file mode 100644 index 00000000..e6cf51e8 --- /dev/null +++ b/pkg/libdrm/config.h @@ -0,0 +1,61 @@ +#include + +/* #undef CRAY_STACKSEG_END */ +/* #undef C_ALLOCA */ +#define HAVE_ALLOCA 1 +#define HAVE_ALLOCA_H 1 +/* #undef HAVE_AMDGPU */ +/* #undef HAVE_CAIRO */ +/* #undef HAVE_CUNIT */ +/* #undef HAVE_EXYNOS */ +/* #undef HAVE_FREEDRENO */ +/* #undef HAVE_FREEDRENO_KGSL */ +/* #undef HAVE_INSTALL_TESTS */ +#define HAVE_LIBDRM_ATOMIC_PRIMITIVES 1 +/* #undef HAVE_LIBUDEV */ +/* #undef HAVE_LIB_ATOMIC_OPS */ +#define HAVE_MEMORY_H 1 +/* #undef HAVE_OMAP */ +/* #undef HAVE_SYS_SYSCTL_H */ +/* #undef HAVE_TEGRA */ +/* #undef HAVE_VALGRIND */ +/* #undef HAVE_VC4 */ +#define HAVE_VISIBILITY 1 +/* #undef HAVE_VMWGFX */ +#define LT_OBJDIR ".libs/" +/* #undef MAJOR_IN_MKDEV */ +/* #undef MAJOR_IN_SYSMACROS */ +#define PACKAGE "libdrm" +#define PACKAGE_BUGREPORT "https://bugs.freedesktop.org/enter_bug.cgi?product=DRI" +#define PACKAGE_NAME "libdrm" +#define PACKAGE_STRING "libdrm 2.4.74" +#define PACKAGE_TARNAME "libdrm" +#define PACKAGE_URL "" +#define PACKAGE_VERSION "2.4.74" +/* #undef STACK_DIRECTION */ +/* #undef UDEV */ +#ifndef _ALL_SOURCE +# define _ALL_SOURCE 1 +#endif +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif +#ifndef _POSIX_PTHREAD_SEMANTICS +# define _POSIX_PTHREAD_SEMANTICS 1 +#endif +#ifndef _TANDEM_SOURCE +# define _TANDEM_SOURCE 1 +#endif +#ifndef __EXTENSIONS__ +# define __EXTENSIONS__ 1 +#endif +#define VERSION "2.4.74" +#ifndef _DARWIN_USE_64_BIT_INODE +# define _DARWIN_USE_64_BIT_INODE 1 +#endif +/* #undef _FILE_OFFSET_BITS */ +/* #undef _LARGE_FILES */ +/* #undef _MINIX */ +/* #undef _POSIX_1_SOURCE */ +/* #undef _POSIX_SOURCE */ +/* #undef size_t */ diff --git a/pkg/libdrm/gen.rc b/pkg/libdrm/gen.rc new file mode 100644 index 00000000..26806e70 --- /dev/null +++ b/pkg/libdrm/gen.rc @@ -0,0 +1,38 @@ +cflags\ + -D HAVE_CONFIG_H\ + -I include\ + -I '$dir' \ + -I '$srcdir' \ + -I '$srcdir'/include/drm + +lib libdrm.a\ + xf86drm.c\ + xf86drmHash.c\ + xf86drmRandom.c\ + xf86drmSL.c\ + xf86drmMode.c + +if(~ intel $config_video_drivers) { + cflags -D 'HAVE_INTEL=1' -isystem pkg/libpciaccess/src/include + lib libdrm_intel.a -d '$builddir'/pkg/libpciaccess/fetch.stamp intel/^(\ + intel_bufmgr.c\ + intel_bufmgr_fake.c\ + intel_bufmgr_gem.c\ + intel_decode.c\ + mm.c\ + ) '$builddir'/pkg/libpciaccess/libpciaccess.a +} + +if(~ nouveau $config_video_drivers) { + cflags -D 'HAVE_NOUVEAU=1' + lib libdrm_nouveau.a nouveau/^(\ + nouveau.c\ + pushbuf.c\ + bufctx.c\ + abi16.c\ + ) +} + +status=() + +fetch git diff --git a/pkg/libdrm/rev b/pkg/libdrm/rev new file mode 100644 index 00000000..7ed6ff82 --- /dev/null +++ b/pkg/libdrm/rev @@ -0,0 +1 @@ +5 diff --git a/pkg/libdrm/src b/pkg/libdrm/src new file mode 160000 index 00000000..dae413e4 --- /dev/null +++ b/pkg/libdrm/src @@ -0,0 +1 @@ +Subproject commit dae413e43866d36500538c2801cc66a5a89e426d diff --git a/pkg/libevdev/config.h b/pkg/libevdev/config.h new file mode 100644 index 00000000..54528629 --- /dev/null +++ b/pkg/libevdev/config.h @@ -0,0 +1,30 @@ +#include + +#define HAVE_MEMORY_H 1 +#define LT_OBJDIR ".libs/" +#define PACKAGE "libevdev" +#define PACKAGE_BUGREPORT "https://bugs.freedesktop.org/enter_bug.cgi?product=libevdev" +#define PACKAGE_NAME "libevdev" +#define PACKAGE_STRING "libevdev 1.5.5" +#define PACKAGE_TARNAME "libevdev" +#define PACKAGE_URL "http://freedesktop.org/wiki/Software/libevdev/" +#define PACKAGE_VERSION "1.5.5" +#ifndef _ALL_SOURCE +# define _ALL_SOURCE 1 +#endif +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif +#ifndef _POSIX_PTHREAD_SEMANTICS +# define _POSIX_PTHREAD_SEMANTICS 1 +#endif +#ifndef _TANDEM_SOURCE +# define _TANDEM_SOURCE 1 +#endif +#ifndef __EXTENSIONS__ +# define __EXTENSIONS__ 1 +#endif +#define VERSION "1.5.5" +/* #undef _MINIX */ +/* #undef _POSIX_1_SOURCE */ +/* #undef _POSIX_SOURCE */ diff --git a/pkg/libevdev/gen.rc b/pkg/libevdev/gen.rc new file mode 100644 index 00000000..c65456b9 --- /dev/null +++ b/pkg/libevdev/gen.rc @@ -0,0 +1,16 @@ +cflags\ + -I include\ + -I '$dir' \ + -I '$srcdir' + +hdrs=libevdev/libevdev.h +for(hdr in $hdrs) { + build '$outdir'/include/$hdr copy '$srcdir'/$hdr + file include/$hdr '$srcdir'/$hdr 644 +} +phony headers '$outdir'/include/$hdrs + +lib libevdev.a libevdev/^(libevdev.c libevdev-names.c) +file lib/libevdev.a '$outdir'/libevdev.a 644 + +fetch git diff --git a/pkg/libevdev/patch/0001-Add-generated-event-names.h.patch b/pkg/libevdev/patch/0001-Add-generated-event-names.h.patch new file mode 100644 index 00000000..109ea0bb --- /dev/null +++ b/pkg/libevdev/patch/0001-Add-generated-event-names.h.patch @@ -0,0 +1,1445 @@ +From 9da8997d2076c0fc8b948125039bfb3ec281d90d Mon Sep 17 00:00:00 2001 +From: Michael Forney +Date: Sun, 26 Jun 2016 23:53:20 -0700 +Subject: [PATCH] Add generated event-names.h + +This file was generated by the make-event-names.py script. +--- + libevdev/event-names.h | 1425 ++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 1425 insertions(+) + create mode 100644 libevdev/event-names.h + +diff --git a/libevdev/event-names.h b/libevdev/event-names.h +new file mode 100644 +index 0000000..b9ede79 +--- /dev/null ++++ b/libevdev/event-names.h +@@ -0,0 +1,1425 @@ ++/* THIS FILE IS GENERATED, DO NOT EDIT */ ++ ++#ifndef EVENT_NAMES_H ++#define EVENT_NAMES_H ++ ++static const char * const ev_map[EV_MAX + 1] = { ++ [EV_SYN] = "EV_SYN", ++ [EV_KEY] = "EV_KEY", ++ [EV_REL] = "EV_REL", ++ [EV_ABS] = "EV_ABS", ++ [EV_MSC] = "EV_MSC", ++ [EV_SW] = "EV_SW", ++ [EV_LED] = "EV_LED", ++ [EV_SND] = "EV_SND", ++ [EV_REP] = "EV_REP", ++ [EV_FF] = "EV_FF", ++ [EV_PWR] = "EV_PWR", ++ [EV_FF_STATUS] = "EV_FF_STATUS", ++ [EV_MAX] = "EV_MAX", ++}; ++ ++static const char * const rel_map[REL_MAX + 1] = { ++ [REL_X] = "REL_X", ++ [REL_Y] = "REL_Y", ++ [REL_Z] = "REL_Z", ++ [REL_RX] = "REL_RX", ++ [REL_RY] = "REL_RY", ++ [REL_RZ] = "REL_RZ", ++ [REL_HWHEEL] = "REL_HWHEEL", ++ [REL_DIAL] = "REL_DIAL", ++ [REL_WHEEL] = "REL_WHEEL", ++ [REL_MISC] = "REL_MISC", ++ [REL_MAX] = "REL_MAX", ++}; ++ ++static const char * const abs_map[ABS_MAX + 1] = { ++ [ABS_X] = "ABS_X", ++ [ABS_Y] = "ABS_Y", ++ [ABS_Z] = "ABS_Z", ++ [ABS_RX] = "ABS_RX", ++ [ABS_RY] = "ABS_RY", ++ [ABS_RZ] = "ABS_RZ", ++ [ABS_THROTTLE] = "ABS_THROTTLE", ++ [ABS_RUDDER] = "ABS_RUDDER", ++ [ABS_WHEEL] = "ABS_WHEEL", ++ [ABS_GAS] = "ABS_GAS", ++ [ABS_BRAKE] = "ABS_BRAKE", ++ [ABS_HAT0X] = "ABS_HAT0X", ++ [ABS_HAT0Y] = "ABS_HAT0Y", ++ [ABS_HAT1X] = "ABS_HAT1X", ++ [ABS_HAT1Y] = "ABS_HAT1Y", ++ [ABS_HAT2X] = "ABS_HAT2X", ++ [ABS_HAT2Y] = "ABS_HAT2Y", ++ [ABS_HAT3X] = "ABS_HAT3X", ++ [ABS_HAT3Y] = "ABS_HAT3Y", ++ [ABS_PRESSURE] = "ABS_PRESSURE", ++ [ABS_DISTANCE] = "ABS_DISTANCE", ++ [ABS_TILT_X] = "ABS_TILT_X", ++ [ABS_TILT_Y] = "ABS_TILT_Y", ++ [ABS_TOOL_WIDTH] = "ABS_TOOL_WIDTH", ++ [ABS_VOLUME] = "ABS_VOLUME", ++ [ABS_MISC] = "ABS_MISC", ++ [ABS_MT_SLOT] = "ABS_MT_SLOT", ++ [ABS_MT_TOUCH_MAJOR] = "ABS_MT_TOUCH_MAJOR", ++ [ABS_MT_TOUCH_MINOR] = "ABS_MT_TOUCH_MINOR", ++ [ABS_MT_WIDTH_MAJOR] = "ABS_MT_WIDTH_MAJOR", ++ [ABS_MT_WIDTH_MINOR] = "ABS_MT_WIDTH_MINOR", ++ [ABS_MT_ORIENTATION] = "ABS_MT_ORIENTATION", ++ [ABS_MT_POSITION_X] = "ABS_MT_POSITION_X", ++ [ABS_MT_POSITION_Y] = "ABS_MT_POSITION_Y", ++ [ABS_MT_TOOL_TYPE] = "ABS_MT_TOOL_TYPE", ++ [ABS_MT_BLOB_ID] = "ABS_MT_BLOB_ID", ++ [ABS_MT_TRACKING_ID] = "ABS_MT_TRACKING_ID", ++ [ABS_MT_PRESSURE] = "ABS_MT_PRESSURE", ++ [ABS_MT_DISTANCE] = "ABS_MT_DISTANCE", ++ [ABS_MT_TOOL_X] = "ABS_MT_TOOL_X", ++ [ABS_MT_TOOL_Y] = "ABS_MT_TOOL_Y", ++ [ABS_MAX] = "ABS_MAX", ++}; ++ ++static const char * const key_map[KEY_MAX + 1] = { ++ [KEY_RESERVED] = "KEY_RESERVED", ++ [KEY_ESC] = "KEY_ESC", ++ [KEY_1] = "KEY_1", ++ [KEY_2] = "KEY_2", ++ [KEY_3] = "KEY_3", ++ [KEY_4] = "KEY_4", ++ [KEY_5] = "KEY_5", ++ [KEY_6] = "KEY_6", ++ [KEY_7] = "KEY_7", ++ [KEY_8] = "KEY_8", ++ [KEY_9] = "KEY_9", ++ [KEY_0] = "KEY_0", ++ [KEY_MINUS] = "KEY_MINUS", ++ [KEY_EQUAL] = "KEY_EQUAL", ++ [KEY_BACKSPACE] = "KEY_BACKSPACE", ++ [KEY_TAB] = "KEY_TAB", ++ [KEY_Q] = "KEY_Q", ++ [KEY_W] = "KEY_W", ++ [KEY_E] = "KEY_E", ++ [KEY_R] = "KEY_R", ++ [KEY_T] = "KEY_T", ++ [KEY_Y] = "KEY_Y", ++ [KEY_U] = "KEY_U", ++ [KEY_I] = "KEY_I", ++ [KEY_O] = "KEY_O", ++ [KEY_P] = "KEY_P", ++ [KEY_LEFTBRACE] = "KEY_LEFTBRACE", ++ [KEY_RIGHTBRACE] = "KEY_RIGHTBRACE", ++ [KEY_ENTER] = "KEY_ENTER", ++ [KEY_LEFTCTRL] = "KEY_LEFTCTRL", ++ [KEY_A] = "KEY_A", ++ [KEY_S] = "KEY_S", ++ [KEY_D] = "KEY_D", ++ [KEY_F] = "KEY_F", ++ [KEY_G] = "KEY_G", ++ [KEY_H] = "KEY_H", ++ [KEY_J] = "KEY_J", ++ [KEY_K] = "KEY_K", ++ [KEY_L] = "KEY_L", ++ [KEY_SEMICOLON] = "KEY_SEMICOLON", ++ [KEY_APOSTROPHE] = "KEY_APOSTROPHE", ++ [KEY_GRAVE] = "KEY_GRAVE", ++ [KEY_LEFTSHIFT] = "KEY_LEFTSHIFT", ++ [KEY_BACKSLASH] = "KEY_BACKSLASH", ++ [KEY_Z] = "KEY_Z", ++ [KEY_X] = "KEY_X", ++ [KEY_C] = "KEY_C", ++ [KEY_V] = "KEY_V", ++ [KEY_B] = "KEY_B", ++ [KEY_N] = "KEY_N", ++ [KEY_M] = "KEY_M", ++ [KEY_COMMA] = "KEY_COMMA", ++ [KEY_DOT] = "KEY_DOT", ++ [KEY_SLASH] = "KEY_SLASH", ++ [KEY_RIGHTSHIFT] = "KEY_RIGHTSHIFT", ++ [KEY_KPASTERISK] = "KEY_KPASTERISK", ++ [KEY_LEFTALT] = "KEY_LEFTALT", ++ [KEY_SPACE] = "KEY_SPACE", ++ [KEY_CAPSLOCK] = "KEY_CAPSLOCK", ++ [KEY_F1] = "KEY_F1", ++ [KEY_F2] = "KEY_F2", ++ [KEY_F3] = "KEY_F3", ++ [KEY_F4] = "KEY_F4", ++ [KEY_F5] = "KEY_F5", ++ [KEY_F6] = "KEY_F6", ++ [KEY_F7] = "KEY_F7", ++ [KEY_F8] = "KEY_F8", ++ [KEY_F9] = "KEY_F9", ++ [KEY_F10] = "KEY_F10", ++ [KEY_NUMLOCK] = "KEY_NUMLOCK", ++ [KEY_SCROLLLOCK] = "KEY_SCROLLLOCK", ++ [KEY_KP7] = "KEY_KP7", ++ [KEY_KP8] = "KEY_KP8", ++ [KEY_KP9] = "KEY_KP9", ++ [KEY_KPMINUS] = "KEY_KPMINUS", ++ [KEY_KP4] = "KEY_KP4", ++ [KEY_KP5] = "KEY_KP5", ++ [KEY_KP6] = "KEY_KP6", ++ [KEY_KPPLUS] = "KEY_KPPLUS", ++ [KEY_KP1] = "KEY_KP1", ++ [KEY_KP2] = "KEY_KP2", ++ [KEY_KP3] = "KEY_KP3", ++ [KEY_KP0] = "KEY_KP0", ++ [KEY_KPDOT] = "KEY_KPDOT", ++ [KEY_ZENKAKUHANKAKU] = "KEY_ZENKAKUHANKAKU", ++ [KEY_102ND] = "KEY_102ND", ++ [KEY_F11] = "KEY_F11", ++ [KEY_F12] = "KEY_F12", ++ [KEY_RO] = "KEY_RO", ++ [KEY_KATAKANA] = "KEY_KATAKANA", ++ [KEY_HIRAGANA] = "KEY_HIRAGANA", ++ [KEY_HENKAN] = "KEY_HENKAN", ++ [KEY_KATAKANAHIRAGANA] = "KEY_KATAKANAHIRAGANA", ++ [KEY_MUHENKAN] = "KEY_MUHENKAN", ++ [KEY_KPJPCOMMA] = "KEY_KPJPCOMMA", ++ [KEY_KPENTER] = "KEY_KPENTER", ++ [KEY_RIGHTCTRL] = "KEY_RIGHTCTRL", ++ [KEY_KPSLASH] = "KEY_KPSLASH", ++ [KEY_SYSRQ] = "KEY_SYSRQ", ++ [KEY_RIGHTALT] = "KEY_RIGHTALT", ++ [KEY_LINEFEED] = "KEY_LINEFEED", ++ [KEY_HOME] = "KEY_HOME", ++ [KEY_UP] = "KEY_UP", ++ [KEY_PAGEUP] = "KEY_PAGEUP", ++ [KEY_LEFT] = "KEY_LEFT", ++ [KEY_RIGHT] = "KEY_RIGHT", ++ [KEY_END] = "KEY_END", ++ [KEY_DOWN] = "KEY_DOWN", ++ [KEY_PAGEDOWN] = "KEY_PAGEDOWN", ++ [KEY_INSERT] = "KEY_INSERT", ++ [KEY_DELETE] = "KEY_DELETE", ++ [KEY_MACRO] = "KEY_MACRO", ++ [KEY_MUTE] = "KEY_MUTE", ++ [KEY_VOLUMEDOWN] = "KEY_VOLUMEDOWN", ++ [KEY_VOLUMEUP] = "KEY_VOLUMEUP", ++ [KEY_POWER] = "KEY_POWER", ++ [KEY_KPEQUAL] = "KEY_KPEQUAL", ++ [KEY_KPPLUSMINUS] = "KEY_KPPLUSMINUS", ++ [KEY_PAUSE] = "KEY_PAUSE", ++ [KEY_SCALE] = "KEY_SCALE", ++ [KEY_KPCOMMA] = "KEY_KPCOMMA", ++ [KEY_HANGEUL] = "KEY_HANGEUL", ++ [KEY_HANJA] = "KEY_HANJA", ++ [KEY_YEN] = "KEY_YEN", ++ [KEY_LEFTMETA] = "KEY_LEFTMETA", ++ [KEY_RIGHTMETA] = "KEY_RIGHTMETA", ++ [KEY_COMPOSE] = "KEY_COMPOSE", ++ [KEY_STOP] = "KEY_STOP", ++ [KEY_AGAIN] = "KEY_AGAIN", ++ [KEY_PROPS] = "KEY_PROPS", ++ [KEY_UNDO] = "KEY_UNDO", ++ [KEY_FRONT] = "KEY_FRONT", ++ [KEY_COPY] = "KEY_COPY", ++ [KEY_OPEN] = "KEY_OPEN", ++ [KEY_PASTE] = "KEY_PASTE", ++ [KEY_FIND] = "KEY_FIND", ++ [KEY_CUT] = "KEY_CUT", ++ [KEY_HELP] = "KEY_HELP", ++ [KEY_MENU] = "KEY_MENU", ++ [KEY_CALC] = "KEY_CALC", ++ [KEY_SETUP] = "KEY_SETUP", ++ [KEY_SLEEP] = "KEY_SLEEP", ++ [KEY_WAKEUP] = "KEY_WAKEUP", ++ [KEY_FILE] = "KEY_FILE", ++ [KEY_SENDFILE] = "KEY_SENDFILE", ++ [KEY_DELETEFILE] = "KEY_DELETEFILE", ++ [KEY_XFER] = "KEY_XFER", ++ [KEY_PROG1] = "KEY_PROG1", ++ [KEY_PROG2] = "KEY_PROG2", ++ [KEY_WWW] = "KEY_WWW", ++ [KEY_MSDOS] = "KEY_MSDOS", ++ [KEY_COFFEE] = "KEY_COFFEE", ++ [KEY_ROTATE_DISPLAY] = "KEY_ROTATE_DISPLAY", ++ [KEY_CYCLEWINDOWS] = "KEY_CYCLEWINDOWS", ++ [KEY_MAIL] = "KEY_MAIL", ++ [KEY_BOOKMARKS] = "KEY_BOOKMARKS", ++ [KEY_COMPUTER] = "KEY_COMPUTER", ++ [KEY_BACK] = "KEY_BACK", ++ [KEY_FORWARD] = "KEY_FORWARD", ++ [KEY_CLOSECD] = "KEY_CLOSECD", ++ [KEY_EJECTCD] = "KEY_EJECTCD", ++ [KEY_EJECTCLOSECD] = "KEY_EJECTCLOSECD", ++ [KEY_NEXTSONG] = "KEY_NEXTSONG", ++ [KEY_PLAYPAUSE] = "KEY_PLAYPAUSE", ++ [KEY_PREVIOUSSONG] = "KEY_PREVIOUSSONG", ++ [KEY_STOPCD] = "KEY_STOPCD", ++ [KEY_RECORD] = "KEY_RECORD", ++ [KEY_REWIND] = "KEY_REWIND", ++ [KEY_PHONE] = "KEY_PHONE", ++ [KEY_ISO] = "KEY_ISO", ++ [KEY_CONFIG] = "KEY_CONFIG", ++ [KEY_HOMEPAGE] = "KEY_HOMEPAGE", ++ [KEY_REFRESH] = "KEY_REFRESH", ++ [KEY_EXIT] = "KEY_EXIT", ++ [KEY_MOVE] = "KEY_MOVE", ++ [KEY_EDIT] = "KEY_EDIT", ++ [KEY_SCROLLUP] = "KEY_SCROLLUP", ++ [KEY_SCROLLDOWN] = "KEY_SCROLLDOWN", ++ [KEY_KPLEFTPAREN] = "KEY_KPLEFTPAREN", ++ [KEY_KPRIGHTPAREN] = "KEY_KPRIGHTPAREN", ++ [KEY_NEW] = "KEY_NEW", ++ [KEY_REDO] = "KEY_REDO", ++ [KEY_F13] = "KEY_F13", ++ [KEY_F14] = "KEY_F14", ++ [KEY_F15] = "KEY_F15", ++ [KEY_F16] = "KEY_F16", ++ [KEY_F17] = "KEY_F17", ++ [KEY_F18] = "KEY_F18", ++ [KEY_F19] = "KEY_F19", ++ [KEY_F20] = "KEY_F20", ++ [KEY_F21] = "KEY_F21", ++ [KEY_F22] = "KEY_F22", ++ [KEY_F23] = "KEY_F23", ++ [KEY_F24] = "KEY_F24", ++ [KEY_PLAYCD] = "KEY_PLAYCD", ++ [KEY_PAUSECD] = "KEY_PAUSECD", ++ [KEY_PROG3] = "KEY_PROG3", ++ [KEY_PROG4] = "KEY_PROG4", ++ [KEY_DASHBOARD] = "KEY_DASHBOARD", ++ [KEY_SUSPEND] = "KEY_SUSPEND", ++ [KEY_CLOSE] = "KEY_CLOSE", ++ [KEY_PLAY] = "KEY_PLAY", ++ [KEY_FASTFORWARD] = "KEY_FASTFORWARD", ++ [KEY_BASSBOOST] = "KEY_BASSBOOST", ++ [KEY_PRINT] = "KEY_PRINT", ++ [KEY_HP] = "KEY_HP", ++ [KEY_CAMERA] = "KEY_CAMERA", ++ [KEY_SOUND] = "KEY_SOUND", ++ [KEY_QUESTION] = "KEY_QUESTION", ++ [KEY_EMAIL] = "KEY_EMAIL", ++ [KEY_CHAT] = "KEY_CHAT", ++ [KEY_SEARCH] = "KEY_SEARCH", ++ [KEY_CONNECT] = "KEY_CONNECT", ++ [KEY_FINANCE] = "KEY_FINANCE", ++ [KEY_SPORT] = "KEY_SPORT", ++ [KEY_SHOP] = "KEY_SHOP", ++ [KEY_ALTERASE] = "KEY_ALTERASE", ++ [KEY_CANCEL] = "KEY_CANCEL", ++ [KEY_BRIGHTNESSDOWN] = "KEY_BRIGHTNESSDOWN", ++ [KEY_BRIGHTNESSUP] = "KEY_BRIGHTNESSUP", ++ [KEY_MEDIA] = "KEY_MEDIA", ++ [KEY_SWITCHVIDEOMODE] = "KEY_SWITCHVIDEOMODE", ++ [KEY_KBDILLUMTOGGLE] = "KEY_KBDILLUMTOGGLE", ++ [KEY_KBDILLUMDOWN] = "KEY_KBDILLUMDOWN", ++ [KEY_KBDILLUMUP] = "KEY_KBDILLUMUP", ++ [KEY_SEND] = "KEY_SEND", ++ [KEY_REPLY] = "KEY_REPLY", ++ [KEY_FORWARDMAIL] = "KEY_FORWARDMAIL", ++ [KEY_SAVE] = "KEY_SAVE", ++ [KEY_DOCUMENTS] = "KEY_DOCUMENTS", ++ [KEY_BATTERY] = "KEY_BATTERY", ++ [KEY_BLUETOOTH] = "KEY_BLUETOOTH", ++ [KEY_WLAN] = "KEY_WLAN", ++ [KEY_UWB] = "KEY_UWB", ++ [KEY_UNKNOWN] = "KEY_UNKNOWN", ++ [KEY_VIDEO_NEXT] = "KEY_VIDEO_NEXT", ++ [KEY_VIDEO_PREV] = "KEY_VIDEO_PREV", ++ [KEY_BRIGHTNESS_CYCLE] = "KEY_BRIGHTNESS_CYCLE", ++ [KEY_BRIGHTNESS_AUTO] = "KEY_BRIGHTNESS_AUTO", ++ [KEY_DISPLAY_OFF] = "KEY_DISPLAY_OFF", ++ [KEY_WWAN] = "KEY_WWAN", ++ [KEY_RFKILL] = "KEY_RFKILL", ++ [KEY_MICMUTE] = "KEY_MICMUTE", ++ [KEY_OK] = "KEY_OK", ++ [KEY_SELECT] = "KEY_SELECT", ++ [KEY_GOTO] = "KEY_GOTO", ++ [KEY_CLEAR] = "KEY_CLEAR", ++ [KEY_POWER2] = "KEY_POWER2", ++ [KEY_OPTION] = "KEY_OPTION", ++ [KEY_INFO] = "KEY_INFO", ++ [KEY_TIME] = "KEY_TIME", ++ [KEY_VENDOR] = "KEY_VENDOR", ++ [KEY_ARCHIVE] = "KEY_ARCHIVE", ++ [KEY_PROGRAM] = "KEY_PROGRAM", ++ [KEY_CHANNEL] = "KEY_CHANNEL", ++ [KEY_FAVORITES] = "KEY_FAVORITES", ++ [KEY_EPG] = "KEY_EPG", ++ [KEY_PVR] = "KEY_PVR", ++ [KEY_MHP] = "KEY_MHP", ++ [KEY_LANGUAGE] = "KEY_LANGUAGE", ++ [KEY_TITLE] = "KEY_TITLE", ++ [KEY_SUBTITLE] = "KEY_SUBTITLE", ++ [KEY_ANGLE] = "KEY_ANGLE", ++ [KEY_ZOOM] = "KEY_ZOOM", ++ [KEY_MODE] = "KEY_MODE", ++ [KEY_KEYBOARD] = "KEY_KEYBOARD", ++ [KEY_SCREEN] = "KEY_SCREEN", ++ [KEY_PC] = "KEY_PC", ++ [KEY_TV] = "KEY_TV", ++ [KEY_TV2] = "KEY_TV2", ++ [KEY_VCR] = "KEY_VCR", ++ [KEY_VCR2] = "KEY_VCR2", ++ [KEY_SAT] = "KEY_SAT", ++ [KEY_SAT2] = "KEY_SAT2", ++ [KEY_CD] = "KEY_CD", ++ [KEY_TAPE] = "KEY_TAPE", ++ [KEY_RADIO] = "KEY_RADIO", ++ [KEY_TUNER] = "KEY_TUNER", ++ [KEY_PLAYER] = "KEY_PLAYER", ++ [KEY_TEXT] = "KEY_TEXT", ++ [KEY_DVD] = "KEY_DVD", ++ [KEY_AUX] = "KEY_AUX", ++ [KEY_MP3] = "KEY_MP3", ++ [KEY_AUDIO] = "KEY_AUDIO", ++ [KEY_VIDEO] = "KEY_VIDEO", ++ [KEY_DIRECTORY] = "KEY_DIRECTORY", ++ [KEY_LIST] = "KEY_LIST", ++ [KEY_MEMO] = "KEY_MEMO", ++ [KEY_CALENDAR] = "KEY_CALENDAR", ++ [KEY_RED] = "KEY_RED", ++ [KEY_GREEN] = "KEY_GREEN", ++ [KEY_YELLOW] = "KEY_YELLOW", ++ [KEY_BLUE] = "KEY_BLUE", ++ [KEY_CHANNELUP] = "KEY_CHANNELUP", ++ [KEY_CHANNELDOWN] = "KEY_CHANNELDOWN", ++ [KEY_FIRST] = "KEY_FIRST", ++ [KEY_LAST] = "KEY_LAST", ++ [KEY_AB] = "KEY_AB", ++ [KEY_NEXT] = "KEY_NEXT", ++ [KEY_RESTART] = "KEY_RESTART", ++ [KEY_SLOW] = "KEY_SLOW", ++ [KEY_SHUFFLE] = "KEY_SHUFFLE", ++ [KEY_BREAK] = "KEY_BREAK", ++ [KEY_PREVIOUS] = "KEY_PREVIOUS", ++ [KEY_DIGITS] = "KEY_DIGITS", ++ [KEY_TEEN] = "KEY_TEEN", ++ [KEY_TWEN] = "KEY_TWEN", ++ [KEY_VIDEOPHONE] = "KEY_VIDEOPHONE", ++ [KEY_GAMES] = "KEY_GAMES", ++ [KEY_ZOOMIN] = "KEY_ZOOMIN", ++ [KEY_ZOOMOUT] = "KEY_ZOOMOUT", ++ [KEY_ZOOMRESET] = "KEY_ZOOMRESET", ++ [KEY_WORDPROCESSOR] = "KEY_WORDPROCESSOR", ++ [KEY_EDITOR] = "KEY_EDITOR", ++ [KEY_SPREADSHEET] = "KEY_SPREADSHEET", ++ [KEY_GRAPHICSEDITOR] = "KEY_GRAPHICSEDITOR", ++ [KEY_PRESENTATION] = "KEY_PRESENTATION", ++ [KEY_DATABASE] = "KEY_DATABASE", ++ [KEY_NEWS] = "KEY_NEWS", ++ [KEY_VOICEMAIL] = "KEY_VOICEMAIL", ++ [KEY_ADDRESSBOOK] = "KEY_ADDRESSBOOK", ++ [KEY_MESSENGER] = "KEY_MESSENGER", ++ [KEY_DISPLAYTOGGLE] = "KEY_DISPLAYTOGGLE", ++ [KEY_SPELLCHECK] = "KEY_SPELLCHECK", ++ [KEY_LOGOFF] = "KEY_LOGOFF", ++ [KEY_DOLLAR] = "KEY_DOLLAR", ++ [KEY_EURO] = "KEY_EURO", ++ [KEY_FRAMEBACK] = "KEY_FRAMEBACK", ++ [KEY_FRAMEFORWARD] = "KEY_FRAMEFORWARD", ++ [KEY_CONTEXT_MENU] = "KEY_CONTEXT_MENU", ++ [KEY_MEDIA_REPEAT] = "KEY_MEDIA_REPEAT", ++ [KEY_10CHANNELSUP] = "KEY_10CHANNELSUP", ++ [KEY_10CHANNELSDOWN] = "KEY_10CHANNELSDOWN", ++ [KEY_IMAGES] = "KEY_IMAGES", ++ [KEY_DEL_EOL] = "KEY_DEL_EOL", ++ [KEY_DEL_EOS] = "KEY_DEL_EOS", ++ [KEY_INS_LINE] = "KEY_INS_LINE", ++ [KEY_DEL_LINE] = "KEY_DEL_LINE", ++ [KEY_FN] = "KEY_FN", ++ [KEY_FN_ESC] = "KEY_FN_ESC", ++ [KEY_FN_F1] = "KEY_FN_F1", ++ [KEY_FN_F2] = "KEY_FN_F2", ++ [KEY_FN_F3] = "KEY_FN_F3", ++ [KEY_FN_F4] = "KEY_FN_F4", ++ [KEY_FN_F5] = "KEY_FN_F5", ++ [KEY_FN_F6] = "KEY_FN_F6", ++ [KEY_FN_F7] = "KEY_FN_F7", ++ [KEY_FN_F8] = "KEY_FN_F8", ++ [KEY_FN_F9] = "KEY_FN_F9", ++ [KEY_FN_F10] = "KEY_FN_F10", ++ [KEY_FN_F11] = "KEY_FN_F11", ++ [KEY_FN_F12] = "KEY_FN_F12", ++ [KEY_FN_1] = "KEY_FN_1", ++ [KEY_FN_2] = "KEY_FN_2", ++ [KEY_FN_D] = "KEY_FN_D", ++ [KEY_FN_E] = "KEY_FN_E", ++ [KEY_FN_F] = "KEY_FN_F", ++ [KEY_FN_S] = "KEY_FN_S", ++ [KEY_FN_B] = "KEY_FN_B", ++ [KEY_BRL_DOT1] = "KEY_BRL_DOT1", ++ [KEY_BRL_DOT2] = "KEY_BRL_DOT2", ++ [KEY_BRL_DOT3] = "KEY_BRL_DOT3", ++ [KEY_BRL_DOT4] = "KEY_BRL_DOT4", ++ [KEY_BRL_DOT5] = "KEY_BRL_DOT5", ++ [KEY_BRL_DOT6] = "KEY_BRL_DOT6", ++ [KEY_BRL_DOT7] = "KEY_BRL_DOT7", ++ [KEY_BRL_DOT8] = "KEY_BRL_DOT8", ++ [KEY_BRL_DOT9] = "KEY_BRL_DOT9", ++ [KEY_BRL_DOT10] = "KEY_BRL_DOT10", ++ [KEY_NUMERIC_0] = "KEY_NUMERIC_0", ++ [KEY_NUMERIC_1] = "KEY_NUMERIC_1", ++ [KEY_NUMERIC_2] = "KEY_NUMERIC_2", ++ [KEY_NUMERIC_3] = "KEY_NUMERIC_3", ++ [KEY_NUMERIC_4] = "KEY_NUMERIC_4", ++ [KEY_NUMERIC_5] = "KEY_NUMERIC_5", ++ [KEY_NUMERIC_6] = "KEY_NUMERIC_6", ++ [KEY_NUMERIC_7] = "KEY_NUMERIC_7", ++ [KEY_NUMERIC_8] = "KEY_NUMERIC_8", ++ [KEY_NUMERIC_9] = "KEY_NUMERIC_9", ++ [KEY_NUMERIC_STAR] = "KEY_NUMERIC_STAR", ++ [KEY_NUMERIC_POUND] = "KEY_NUMERIC_POUND", ++ [KEY_NUMERIC_A] = "KEY_NUMERIC_A", ++ [KEY_NUMERIC_B] = "KEY_NUMERIC_B", ++ [KEY_NUMERIC_C] = "KEY_NUMERIC_C", ++ [KEY_NUMERIC_D] = "KEY_NUMERIC_D", ++ [KEY_CAMERA_FOCUS] = "KEY_CAMERA_FOCUS", ++ [KEY_WPS_BUTTON] = "KEY_WPS_BUTTON", ++ [KEY_TOUCHPAD_TOGGLE] = "KEY_TOUCHPAD_TOGGLE", ++ [KEY_TOUCHPAD_ON] = "KEY_TOUCHPAD_ON", ++ [KEY_TOUCHPAD_OFF] = "KEY_TOUCHPAD_OFF", ++ [KEY_CAMERA_ZOOMIN] = "KEY_CAMERA_ZOOMIN", ++ [KEY_CAMERA_ZOOMOUT] = "KEY_CAMERA_ZOOMOUT", ++ [KEY_CAMERA_UP] = "KEY_CAMERA_UP", ++ [KEY_CAMERA_DOWN] = "KEY_CAMERA_DOWN", ++ [KEY_CAMERA_LEFT] = "KEY_CAMERA_LEFT", ++ [KEY_CAMERA_RIGHT] = "KEY_CAMERA_RIGHT", ++ [KEY_ATTENDANT_ON] = "KEY_ATTENDANT_ON", ++ [KEY_ATTENDANT_OFF] = "KEY_ATTENDANT_OFF", ++ [KEY_ATTENDANT_TOGGLE] = "KEY_ATTENDANT_TOGGLE", ++ [KEY_LIGHTS_TOGGLE] = "KEY_LIGHTS_TOGGLE", ++ [KEY_ALS_TOGGLE] = "KEY_ALS_TOGGLE", ++ [KEY_BUTTONCONFIG] = "KEY_BUTTONCONFIG", ++ [KEY_TASKMANAGER] = "KEY_TASKMANAGER", ++ [KEY_JOURNAL] = "KEY_JOURNAL", ++ [KEY_CONTROLPANEL] = "KEY_CONTROLPANEL", ++ [KEY_APPSELECT] = "KEY_APPSELECT", ++ [KEY_SCREENSAVER] = "KEY_SCREENSAVER", ++ [KEY_VOICECOMMAND] = "KEY_VOICECOMMAND", ++ [KEY_BRIGHTNESS_MIN] = "KEY_BRIGHTNESS_MIN", ++ [KEY_BRIGHTNESS_MAX] = "KEY_BRIGHTNESS_MAX", ++ [KEY_KBDINPUTASSIST_PREV] = "KEY_KBDINPUTASSIST_PREV", ++ [KEY_KBDINPUTASSIST_NEXT] = "KEY_KBDINPUTASSIST_NEXT", ++ [KEY_KBDINPUTASSIST_PREVGROUP] = "KEY_KBDINPUTASSIST_PREVGROUP", ++ [KEY_KBDINPUTASSIST_NEXTGROUP] = "KEY_KBDINPUTASSIST_NEXTGROUP", ++ [KEY_KBDINPUTASSIST_ACCEPT] = "KEY_KBDINPUTASSIST_ACCEPT", ++ [KEY_KBDINPUTASSIST_CANCEL] = "KEY_KBDINPUTASSIST_CANCEL", ++ [KEY_MAX] = "KEY_MAX", ++ [BTN_0] = "BTN_0", ++ [BTN_1] = "BTN_1", ++ [BTN_2] = "BTN_2", ++ [BTN_3] = "BTN_3", ++ [BTN_4] = "BTN_4", ++ [BTN_5] = "BTN_5", ++ [BTN_6] = "BTN_6", ++ [BTN_7] = "BTN_7", ++ [BTN_8] = "BTN_8", ++ [BTN_9] = "BTN_9", ++ [BTN_LEFT] = "BTN_LEFT", ++ [BTN_RIGHT] = "BTN_RIGHT", ++ [BTN_MIDDLE] = "BTN_MIDDLE", ++ [BTN_SIDE] = "BTN_SIDE", ++ [BTN_EXTRA] = "BTN_EXTRA", ++ [BTN_FORWARD] = "BTN_FORWARD", ++ [BTN_BACK] = "BTN_BACK", ++ [BTN_TASK] = "BTN_TASK", ++ [BTN_TRIGGER] = "BTN_TRIGGER", ++ [BTN_THUMB] = "BTN_THUMB", ++ [BTN_THUMB2] = "BTN_THUMB2", ++ [BTN_TOP] = "BTN_TOP", ++ [BTN_TOP2] = "BTN_TOP2", ++ [BTN_PINKIE] = "BTN_PINKIE", ++ [BTN_BASE] = "BTN_BASE", ++ [BTN_BASE2] = "BTN_BASE2", ++ [BTN_BASE3] = "BTN_BASE3", ++ [BTN_BASE4] = "BTN_BASE4", ++ [BTN_BASE5] = "BTN_BASE5", ++ [BTN_BASE6] = "BTN_BASE6", ++ [BTN_DEAD] = "BTN_DEAD", ++ [BTN_SOUTH] = "BTN_SOUTH", ++ [BTN_EAST] = "BTN_EAST", ++ [BTN_C] = "BTN_C", ++ [BTN_NORTH] = "BTN_NORTH", ++ [BTN_WEST] = "BTN_WEST", ++ [BTN_Z] = "BTN_Z", ++ [BTN_TL] = "BTN_TL", ++ [BTN_TR] = "BTN_TR", ++ [BTN_TL2] = "BTN_TL2", ++ [BTN_TR2] = "BTN_TR2", ++ [BTN_SELECT] = "BTN_SELECT", ++ [BTN_START] = "BTN_START", ++ [BTN_MODE] = "BTN_MODE", ++ [BTN_THUMBL] = "BTN_THUMBL", ++ [BTN_THUMBR] = "BTN_THUMBR", ++ [BTN_TOOL_PEN] = "BTN_TOOL_PEN", ++ [BTN_TOOL_RUBBER] = "BTN_TOOL_RUBBER", ++ [BTN_TOOL_BRUSH] = "BTN_TOOL_BRUSH", ++ [BTN_TOOL_PENCIL] = "BTN_TOOL_PENCIL", ++ [BTN_TOOL_AIRBRUSH] = "BTN_TOOL_AIRBRUSH", ++ [BTN_TOOL_FINGER] = "BTN_TOOL_FINGER", ++ [BTN_TOOL_MOUSE] = "BTN_TOOL_MOUSE", ++ [BTN_TOOL_LENS] = "BTN_TOOL_LENS", ++ [BTN_TOOL_QUINTTAP] = "BTN_TOOL_QUINTTAP", ++ [BTN_TOUCH] = "BTN_TOUCH", ++ [BTN_STYLUS] = "BTN_STYLUS", ++ [BTN_STYLUS2] = "BTN_STYLUS2", ++ [BTN_TOOL_DOUBLETAP] = "BTN_TOOL_DOUBLETAP", ++ [BTN_TOOL_TRIPLETAP] = "BTN_TOOL_TRIPLETAP", ++ [BTN_TOOL_QUADTAP] = "BTN_TOOL_QUADTAP", ++ [BTN_GEAR_DOWN] = "BTN_GEAR_DOWN", ++ [BTN_GEAR_UP] = "BTN_GEAR_UP", ++ [BTN_DPAD_LEFT] = "BTN_DPAD_LEFT", ++ [BTN_TRIGGER_HAPPY2] = "BTN_TRIGGER_HAPPY2", ++ [BTN_TRIGGER_HAPPY1] = "BTN_TRIGGER_HAPPY1", ++ [BTN_DPAD_UP] = "BTN_DPAD_UP", ++ [BTN_TRIGGER_HAPPY3] = "BTN_TRIGGER_HAPPY3", ++ [BTN_TRIGGER_HAPPY4] = "BTN_TRIGGER_HAPPY4", ++ [BTN_TRIGGER_HAPPY5] = "BTN_TRIGGER_HAPPY5", ++ [BTN_TRIGGER_HAPPY6] = "BTN_TRIGGER_HAPPY6", ++ [BTN_TRIGGER_HAPPY7] = "BTN_TRIGGER_HAPPY7", ++ [BTN_TRIGGER_HAPPY8] = "BTN_TRIGGER_HAPPY8", ++ [BTN_TRIGGER_HAPPY9] = "BTN_TRIGGER_HAPPY9", ++ [BTN_TRIGGER_HAPPY10] = "BTN_TRIGGER_HAPPY10", ++ [BTN_TRIGGER_HAPPY11] = "BTN_TRIGGER_HAPPY11", ++ [BTN_TRIGGER_HAPPY12] = "BTN_TRIGGER_HAPPY12", ++ [BTN_TRIGGER_HAPPY13] = "BTN_TRIGGER_HAPPY13", ++ [BTN_TRIGGER_HAPPY14] = "BTN_TRIGGER_HAPPY14", ++ [BTN_TRIGGER_HAPPY15] = "BTN_TRIGGER_HAPPY15", ++ [BTN_TRIGGER_HAPPY16] = "BTN_TRIGGER_HAPPY16", ++ [BTN_TRIGGER_HAPPY17] = "BTN_TRIGGER_HAPPY17", ++ [BTN_TRIGGER_HAPPY18] = "BTN_TRIGGER_HAPPY18", ++ [BTN_TRIGGER_HAPPY19] = "BTN_TRIGGER_HAPPY19", ++ [BTN_DPAD_RIGHT] = "BTN_DPAD_RIGHT", ++ [BTN_TRIGGER_HAPPY21] = "BTN_TRIGGER_HAPPY21", ++ [BTN_TRIGGER_HAPPY22] = "BTN_TRIGGER_HAPPY22", ++ [BTN_TRIGGER_HAPPY23] = "BTN_TRIGGER_HAPPY23", ++ [BTN_TRIGGER_HAPPY24] = "BTN_TRIGGER_HAPPY24", ++ [BTN_TRIGGER_HAPPY25] = "BTN_TRIGGER_HAPPY25", ++ [BTN_TRIGGER_HAPPY26] = "BTN_TRIGGER_HAPPY26", ++ [BTN_TRIGGER_HAPPY27] = "BTN_TRIGGER_HAPPY27", ++ [BTN_TRIGGER_HAPPY28] = "BTN_TRIGGER_HAPPY28", ++ [BTN_TRIGGER_HAPPY29] = "BTN_TRIGGER_HAPPY29", ++ [BTN_TRIGGER_HAPPY30] = "BTN_TRIGGER_HAPPY30", ++ [BTN_TRIGGER_HAPPY31] = "BTN_TRIGGER_HAPPY31", ++ [BTN_TRIGGER_HAPPY32] = "BTN_TRIGGER_HAPPY32", ++ [BTN_TRIGGER_HAPPY33] = "BTN_TRIGGER_HAPPY33", ++ [BTN_TRIGGER_HAPPY34] = "BTN_TRIGGER_HAPPY34", ++ [BTN_TRIGGER_HAPPY35] = "BTN_TRIGGER_HAPPY35", ++ [BTN_TRIGGER_HAPPY36] = "BTN_TRIGGER_HAPPY36", ++ [BTN_TRIGGER_HAPPY37] = "BTN_TRIGGER_HAPPY37", ++ [BTN_TRIGGER_HAPPY38] = "BTN_TRIGGER_HAPPY38", ++ [BTN_TRIGGER_HAPPY39] = "BTN_TRIGGER_HAPPY39", ++ [BTN_TRIGGER_HAPPY40] = "BTN_TRIGGER_HAPPY40", ++ [BTN_TRIGGER_HAPPY20] = "BTN_TRIGGER_HAPPY20", ++ [BTN_DPAD_DOWN] = "BTN_DPAD_DOWN", ++}; ++ ++static const char * const led_map[LED_MAX + 1] = { ++ [LED_NUML] = "LED_NUML", ++ [LED_CAPSL] = "LED_CAPSL", ++ [LED_SCROLLL] = "LED_SCROLLL", ++ [LED_COMPOSE] = "LED_COMPOSE", ++ [LED_KANA] = "LED_KANA", ++ [LED_SLEEP] = "LED_SLEEP", ++ [LED_SUSPEND] = "LED_SUSPEND", ++ [LED_MUTE] = "LED_MUTE", ++ [LED_MISC] = "LED_MISC", ++ [LED_MAIL] = "LED_MAIL", ++ [LED_CHARGING] = "LED_CHARGING", ++ [LED_MAX] = "LED_MAX", ++}; ++ ++static const char * const snd_map[SND_MAX + 1] = { ++ [SND_CLICK] = "SND_CLICK", ++ [SND_BELL] = "SND_BELL", ++ [SND_TONE] = "SND_TONE", ++ [SND_MAX] = "SND_MAX", ++}; ++ ++static const char * const msc_map[MSC_MAX + 1] = { ++ [MSC_SERIAL] = "MSC_SERIAL", ++ [MSC_PULSELED] = "MSC_PULSELED", ++ [MSC_GESTURE] = "MSC_GESTURE", ++ [MSC_RAW] = "MSC_RAW", ++ [MSC_SCAN] = "MSC_SCAN", ++ [MSC_TIMESTAMP] = "MSC_TIMESTAMP", ++ [MSC_MAX] = "MSC_MAX", ++}; ++ ++static const char * const sw_map[SW_MAX + 1] = { ++ [SW_LID] = "SW_LID", ++ [SW_TABLET_MODE] = "SW_TABLET_MODE", ++ [SW_HEADPHONE_INSERT] = "SW_HEADPHONE_INSERT", ++ [SW_RFKILL_ALL] = "SW_RFKILL_ALL", ++ [SW_MICROPHONE_INSERT] = "SW_MICROPHONE_INSERT", ++ [SW_DOCK] = "SW_DOCK", ++ [SW_LINEOUT_INSERT] = "SW_LINEOUT_INSERT", ++ [SW_JACK_PHYSICAL_INSERT] = "SW_JACK_PHYSICAL_INSERT", ++ [SW_VIDEOOUT_INSERT] = "SW_VIDEOOUT_INSERT", ++ [SW_CAMERA_LENS_COVER] = "SW_CAMERA_LENS_COVER", ++ [SW_KEYPAD_SLIDE] = "SW_KEYPAD_SLIDE", ++ [SW_FRONT_PROXIMITY] = "SW_FRONT_PROXIMITY", ++ [SW_ROTATE_LOCK] = "SW_ROTATE_LOCK", ++ [SW_LINEIN_INSERT] = "SW_LINEIN_INSERT", ++ [SW_MUTE_DEVICE] = "SW_MUTE_DEVICE", ++ [SW_MAX] = "SW_MAX", ++}; ++ ++static const char * const ff_map[FF_MAX + 1] = { ++ [FF_STATUS_STOPPED] = "FF_STATUS_STOPPED", ++ [FF_STATUS_MAX] = "FF_STATUS_MAX", ++ [FF_AUTOCENTER] = "FF_AUTOCENTER", ++ [FF_GAIN] = "FF_GAIN", ++ [FF_RUMBLE] = "FF_RUMBLE", ++ [FF_PERIODIC] = "FF_PERIODIC", ++ [FF_CONSTANT] = "FF_CONSTANT", ++ [FF_SPRING] = "FF_SPRING", ++ [FF_FRICTION] = "FF_FRICTION", ++ [FF_DAMPER] = "FF_DAMPER", ++ [FF_INERTIA] = "FF_INERTIA", ++ [FF_RAMP] = "FF_RAMP", ++ [FF_SQUARE] = "FF_SQUARE", ++ [FF_TRIANGLE] = "FF_TRIANGLE", ++ [FF_SINE] = "FF_SINE", ++ [FF_SAW_UP] = "FF_SAW_UP", ++ [FF_SAW_DOWN] = "FF_SAW_DOWN", ++ [FF_CUSTOM] = "FF_CUSTOM", ++ [FF_MAX] = "FF_MAX", ++}; ++ ++static const char * const syn_map[SYN_MAX + 1] = { ++ [SYN_REPORT] = "SYN_REPORT", ++ [SYN_CONFIG] = "SYN_CONFIG", ++ [SYN_MT_REPORT] = "SYN_MT_REPORT", ++ [SYN_DROPPED] = "SYN_DROPPED", ++ [SYN_MAX] = "SYN_MAX", ++}; ++ ++static const char * const rep_map[REP_MAX + 1] = { ++ [REP_DELAY] = "REP_DELAY", ++ [REP_MAX] = "REP_MAX", ++}; ++ ++static const char * const input_prop_map[INPUT_PROP_MAX + 1] = { ++ [INPUT_PROP_POINTER] = "INPUT_PROP_POINTER", ++ [INPUT_PROP_DIRECT] = "INPUT_PROP_DIRECT", ++ [INPUT_PROP_BUTTONPAD] = "INPUT_PROP_BUTTONPAD", ++ [INPUT_PROP_SEMI_MT] = "INPUT_PROP_SEMI_MT", ++ [INPUT_PROP_TOPBUTTONPAD] = "INPUT_PROP_TOPBUTTONPAD", ++ [INPUT_PROP_POINTING_STICK] = "INPUT_PROP_POINTING_STICK", ++ [INPUT_PROP_ACCELEROMETER] = "INPUT_PROP_ACCELEROMETER", ++ [INPUT_PROP_MAX] = "INPUT_PROP_MAX", ++}; ++ ++static const char * const * const event_type_map[EV_MAX + 1] = { ++ [EV_REL] = rel_map, ++ [EV_ABS] = abs_map, ++ [EV_KEY] = key_map, ++ [EV_LED] = led_map, ++ [EV_SND] = snd_map, ++ [EV_MSC] = msc_map, ++ [EV_SW] = sw_map, ++ [EV_FF] = ff_map, ++ [EV_SYN] = syn_map, ++ [EV_REP] = rep_map, ++}; ++ ++#if __clang__ ++#pragma clang diagnostic push ++#pragma clang diagnostic ignored "-Winitializer-overrides" ++#else ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Woverride-init" ++#endif ++static const int ev_max[EV_MAX + 1] = { ++ [0 ... EV_MAX] = -1, ++ [EV_REL] = REL_MAX, ++ [EV_ABS] = ABS_MAX, ++ [EV_KEY] = KEY_MAX, ++ [EV_LED] = LED_MAX, ++ [EV_SND] = SND_MAX, ++ [EV_MSC] = MSC_MAX, ++ [EV_SW] = SW_MAX, ++ [EV_FF] = FF_MAX, ++ [EV_SYN] = SYN_MAX, ++ [EV_REP] = REP_MAX, ++}; ++#if __clang__ ++#pragma clang diagnostic pop /* "-Winitializer-overrides" */ ++#else ++#pragma GCC diagnostic pop /* "-Woverride-init" */ ++#endif ++ ++struct name_entry { ++ const char *name; ++ unsigned int value; ++}; ++ ++static const struct name_entry ev_names[] = { ++ { .name = "EV_ABS", .value = EV_ABS }, ++ { .name = "EV_FF", .value = EV_FF }, ++ { .name = "EV_FF_STATUS", .value = EV_FF_STATUS }, ++ { .name = "EV_KEY", .value = EV_KEY }, ++ { .name = "EV_LED", .value = EV_LED }, ++ { .name = "EV_MAX", .value = EV_MAX }, ++ { .name = "EV_MSC", .value = EV_MSC }, ++ { .name = "EV_PWR", .value = EV_PWR }, ++ { .name = "EV_REL", .value = EV_REL }, ++ { .name = "EV_REP", .value = EV_REP }, ++ { .name = "EV_SND", .value = EV_SND }, ++ { .name = "EV_SW", .value = EV_SW }, ++ { .name = "EV_SYN", .value = EV_SYN }, ++}; ++ ++static const struct name_entry code_names[] = { ++ { .name = "ABS_BRAKE", .value = ABS_BRAKE }, ++ { .name = "ABS_DISTANCE", .value = ABS_DISTANCE }, ++ { .name = "ABS_GAS", .value = ABS_GAS }, ++ { .name = "ABS_HAT0X", .value = ABS_HAT0X }, ++ { .name = "ABS_HAT0Y", .value = ABS_HAT0Y }, ++ { .name = "ABS_HAT1X", .value = ABS_HAT1X }, ++ { .name = "ABS_HAT1Y", .value = ABS_HAT1Y }, ++ { .name = "ABS_HAT2X", .value = ABS_HAT2X }, ++ { .name = "ABS_HAT2Y", .value = ABS_HAT2Y }, ++ { .name = "ABS_HAT3X", .value = ABS_HAT3X }, ++ { .name = "ABS_HAT3Y", .value = ABS_HAT3Y }, ++ { .name = "ABS_MAX", .value = ABS_MAX }, ++ { .name = "ABS_MISC", .value = ABS_MISC }, ++ { .name = "ABS_MT_BLOB_ID", .value = ABS_MT_BLOB_ID }, ++ { .name = "ABS_MT_DISTANCE", .value = ABS_MT_DISTANCE }, ++ { .name = "ABS_MT_ORIENTATION", .value = ABS_MT_ORIENTATION }, ++ { .name = "ABS_MT_POSITION_X", .value = ABS_MT_POSITION_X }, ++ { .name = "ABS_MT_POSITION_Y", .value = ABS_MT_POSITION_Y }, ++ { .name = "ABS_MT_PRESSURE", .value = ABS_MT_PRESSURE }, ++ { .name = "ABS_MT_SLOT", .value = ABS_MT_SLOT }, ++ { .name = "ABS_MT_TOOL_TYPE", .value = ABS_MT_TOOL_TYPE }, ++ { .name = "ABS_MT_TOOL_X", .value = ABS_MT_TOOL_X }, ++ { .name = "ABS_MT_TOOL_Y", .value = ABS_MT_TOOL_Y }, ++ { .name = "ABS_MT_TOUCH_MAJOR", .value = ABS_MT_TOUCH_MAJOR }, ++ { .name = "ABS_MT_TOUCH_MINOR", .value = ABS_MT_TOUCH_MINOR }, ++ { .name = "ABS_MT_TRACKING_ID", .value = ABS_MT_TRACKING_ID }, ++ { .name = "ABS_MT_WIDTH_MAJOR", .value = ABS_MT_WIDTH_MAJOR }, ++ { .name = "ABS_MT_WIDTH_MINOR", .value = ABS_MT_WIDTH_MINOR }, ++ { .name = "ABS_PRESSURE", .value = ABS_PRESSURE }, ++ { .name = "ABS_RUDDER", .value = ABS_RUDDER }, ++ { .name = "ABS_RX", .value = ABS_RX }, ++ { .name = "ABS_RY", .value = ABS_RY }, ++ { .name = "ABS_RZ", .value = ABS_RZ }, ++ { .name = "ABS_THROTTLE", .value = ABS_THROTTLE }, ++ { .name = "ABS_TILT_X", .value = ABS_TILT_X }, ++ { .name = "ABS_TILT_Y", .value = ABS_TILT_Y }, ++ { .name = "ABS_TOOL_WIDTH", .value = ABS_TOOL_WIDTH }, ++ { .name = "ABS_VOLUME", .value = ABS_VOLUME }, ++ { .name = "ABS_WHEEL", .value = ABS_WHEEL }, ++ { .name = "ABS_X", .value = ABS_X }, ++ { .name = "ABS_Y", .value = ABS_Y }, ++ { .name = "ABS_Z", .value = ABS_Z }, ++ { .name = "BTN_0", .value = BTN_0 }, ++ { .name = "BTN_1", .value = BTN_1 }, ++ { .name = "BTN_2", .value = BTN_2 }, ++ { .name = "BTN_3", .value = BTN_3 }, ++ { .name = "BTN_4", .value = BTN_4 }, ++ { .name = "BTN_5", .value = BTN_5 }, ++ { .name = "BTN_6", .value = BTN_6 }, ++ { .name = "BTN_7", .value = BTN_7 }, ++ { .name = "BTN_8", .value = BTN_8 }, ++ { .name = "BTN_9", .value = BTN_9 }, ++ { .name = "BTN_A", .value = BTN_A }, ++ { .name = "BTN_B", .value = BTN_B }, ++ { .name = "BTN_BACK", .value = BTN_BACK }, ++ { .name = "BTN_BASE", .value = BTN_BASE }, ++ { .name = "BTN_BASE2", .value = BTN_BASE2 }, ++ { .name = "BTN_BASE3", .value = BTN_BASE3 }, ++ { .name = "BTN_BASE4", .value = BTN_BASE4 }, ++ { .name = "BTN_BASE5", .value = BTN_BASE5 }, ++ { .name = "BTN_BASE6", .value = BTN_BASE6 }, ++ { .name = "BTN_C", .value = BTN_C }, ++ { .name = "BTN_DEAD", .value = BTN_DEAD }, ++ { .name = "BTN_DPAD_DOWN", .value = BTN_DPAD_DOWN }, ++ { .name = "BTN_DPAD_LEFT", .value = BTN_DPAD_LEFT }, ++ { .name = "BTN_DPAD_RIGHT", .value = BTN_DPAD_RIGHT }, ++ { .name = "BTN_DPAD_UP", .value = BTN_DPAD_UP }, ++ { .name = "BTN_EAST", .value = BTN_EAST }, ++ { .name = "BTN_EXTRA", .value = BTN_EXTRA }, ++ { .name = "BTN_FORWARD", .value = BTN_FORWARD }, ++ { .name = "BTN_GEAR_DOWN", .value = BTN_GEAR_DOWN }, ++ { .name = "BTN_GEAR_UP", .value = BTN_GEAR_UP }, ++ { .name = "BTN_LEFT", .value = BTN_LEFT }, ++ { .name = "BTN_MIDDLE", .value = BTN_MIDDLE }, ++ { .name = "BTN_MODE", .value = BTN_MODE }, ++ { .name = "BTN_NORTH", .value = BTN_NORTH }, ++ { .name = "BTN_PINKIE", .value = BTN_PINKIE }, ++ { .name = "BTN_RIGHT", .value = BTN_RIGHT }, ++ { .name = "BTN_SELECT", .value = BTN_SELECT }, ++ { .name = "BTN_SIDE", .value = BTN_SIDE }, ++ { .name = "BTN_SOUTH", .value = BTN_SOUTH }, ++ { .name = "BTN_START", .value = BTN_START }, ++ { .name = "BTN_STYLUS", .value = BTN_STYLUS }, ++ { .name = "BTN_STYLUS2", .value = BTN_STYLUS2 }, ++ { .name = "BTN_TASK", .value = BTN_TASK }, ++ { .name = "BTN_THUMB", .value = BTN_THUMB }, ++ { .name = "BTN_THUMB2", .value = BTN_THUMB2 }, ++ { .name = "BTN_THUMBL", .value = BTN_THUMBL }, ++ { .name = "BTN_THUMBR", .value = BTN_THUMBR }, ++ { .name = "BTN_TL", .value = BTN_TL }, ++ { .name = "BTN_TL2", .value = BTN_TL2 }, ++ { .name = "BTN_TOOL_AIRBRUSH", .value = BTN_TOOL_AIRBRUSH }, ++ { .name = "BTN_TOOL_BRUSH", .value = BTN_TOOL_BRUSH }, ++ { .name = "BTN_TOOL_DOUBLETAP", .value = BTN_TOOL_DOUBLETAP }, ++ { .name = "BTN_TOOL_FINGER", .value = BTN_TOOL_FINGER }, ++ { .name = "BTN_TOOL_LENS", .value = BTN_TOOL_LENS }, ++ { .name = "BTN_TOOL_MOUSE", .value = BTN_TOOL_MOUSE }, ++ { .name = "BTN_TOOL_PEN", .value = BTN_TOOL_PEN }, ++ { .name = "BTN_TOOL_PENCIL", .value = BTN_TOOL_PENCIL }, ++ { .name = "BTN_TOOL_QUADTAP", .value = BTN_TOOL_QUADTAP }, ++ { .name = "BTN_TOOL_QUINTTAP", .value = BTN_TOOL_QUINTTAP }, ++ { .name = "BTN_TOOL_RUBBER", .value = BTN_TOOL_RUBBER }, ++ { .name = "BTN_TOOL_TRIPLETAP", .value = BTN_TOOL_TRIPLETAP }, ++ { .name = "BTN_TOP", .value = BTN_TOP }, ++ { .name = "BTN_TOP2", .value = BTN_TOP2 }, ++ { .name = "BTN_TOUCH", .value = BTN_TOUCH }, ++ { .name = "BTN_TR", .value = BTN_TR }, ++ { .name = "BTN_TR2", .value = BTN_TR2 }, ++ { .name = "BTN_TRIGGER", .value = BTN_TRIGGER }, ++ { .name = "BTN_TRIGGER_HAPPY1", .value = BTN_TRIGGER_HAPPY1 }, ++ { .name = "BTN_TRIGGER_HAPPY10", .value = BTN_TRIGGER_HAPPY10 }, ++ { .name = "BTN_TRIGGER_HAPPY11", .value = BTN_TRIGGER_HAPPY11 }, ++ { .name = "BTN_TRIGGER_HAPPY12", .value = BTN_TRIGGER_HAPPY12 }, ++ { .name = "BTN_TRIGGER_HAPPY13", .value = BTN_TRIGGER_HAPPY13 }, ++ { .name = "BTN_TRIGGER_HAPPY14", .value = BTN_TRIGGER_HAPPY14 }, ++ { .name = "BTN_TRIGGER_HAPPY15", .value = BTN_TRIGGER_HAPPY15 }, ++ { .name = "BTN_TRIGGER_HAPPY16", .value = BTN_TRIGGER_HAPPY16 }, ++ { .name = "BTN_TRIGGER_HAPPY17", .value = BTN_TRIGGER_HAPPY17 }, ++ { .name = "BTN_TRIGGER_HAPPY18", .value = BTN_TRIGGER_HAPPY18 }, ++ { .name = "BTN_TRIGGER_HAPPY19", .value = BTN_TRIGGER_HAPPY19 }, ++ { .name = "BTN_TRIGGER_HAPPY2", .value = BTN_TRIGGER_HAPPY2 }, ++ { .name = "BTN_TRIGGER_HAPPY20", .value = BTN_TRIGGER_HAPPY20 }, ++ { .name = "BTN_TRIGGER_HAPPY21", .value = BTN_TRIGGER_HAPPY21 }, ++ { .name = "BTN_TRIGGER_HAPPY22", .value = BTN_TRIGGER_HAPPY22 }, ++ { .name = "BTN_TRIGGER_HAPPY23", .value = BTN_TRIGGER_HAPPY23 }, ++ { .name = "BTN_TRIGGER_HAPPY24", .value = BTN_TRIGGER_HAPPY24 }, ++ { .name = "BTN_TRIGGER_HAPPY25", .value = BTN_TRIGGER_HAPPY25 }, ++ { .name = "BTN_TRIGGER_HAPPY26", .value = BTN_TRIGGER_HAPPY26 }, ++ { .name = "BTN_TRIGGER_HAPPY27", .value = BTN_TRIGGER_HAPPY27 }, ++ { .name = "BTN_TRIGGER_HAPPY28", .value = BTN_TRIGGER_HAPPY28 }, ++ { .name = "BTN_TRIGGER_HAPPY29", .value = BTN_TRIGGER_HAPPY29 }, ++ { .name = "BTN_TRIGGER_HAPPY3", .value = BTN_TRIGGER_HAPPY3 }, ++ { .name = "BTN_TRIGGER_HAPPY30", .value = BTN_TRIGGER_HAPPY30 }, ++ { .name = "BTN_TRIGGER_HAPPY31", .value = BTN_TRIGGER_HAPPY31 }, ++ { .name = "BTN_TRIGGER_HAPPY32", .value = BTN_TRIGGER_HAPPY32 }, ++ { .name = "BTN_TRIGGER_HAPPY33", .value = BTN_TRIGGER_HAPPY33 }, ++ { .name = "BTN_TRIGGER_HAPPY34", .value = BTN_TRIGGER_HAPPY34 }, ++ { .name = "BTN_TRIGGER_HAPPY35", .value = BTN_TRIGGER_HAPPY35 }, ++ { .name = "BTN_TRIGGER_HAPPY36", .value = BTN_TRIGGER_HAPPY36 }, ++ { .name = "BTN_TRIGGER_HAPPY37", .value = BTN_TRIGGER_HAPPY37 }, ++ { .name = "BTN_TRIGGER_HAPPY38", .value = BTN_TRIGGER_HAPPY38 }, ++ { .name = "BTN_TRIGGER_HAPPY39", .value = BTN_TRIGGER_HAPPY39 }, ++ { .name = "BTN_TRIGGER_HAPPY4", .value = BTN_TRIGGER_HAPPY4 }, ++ { .name = "BTN_TRIGGER_HAPPY40", .value = BTN_TRIGGER_HAPPY40 }, ++ { .name = "BTN_TRIGGER_HAPPY5", .value = BTN_TRIGGER_HAPPY5 }, ++ { .name = "BTN_TRIGGER_HAPPY6", .value = BTN_TRIGGER_HAPPY6 }, ++ { .name = "BTN_TRIGGER_HAPPY7", .value = BTN_TRIGGER_HAPPY7 }, ++ { .name = "BTN_TRIGGER_HAPPY8", .value = BTN_TRIGGER_HAPPY8 }, ++ { .name = "BTN_TRIGGER_HAPPY9", .value = BTN_TRIGGER_HAPPY9 }, ++ { .name = "BTN_WEST", .value = BTN_WEST }, ++ { .name = "BTN_X", .value = BTN_X }, ++ { .name = "BTN_Y", .value = BTN_Y }, ++ { .name = "BTN_Z", .value = BTN_Z }, ++ { .name = "FF_AUTOCENTER", .value = FF_AUTOCENTER }, ++ { .name = "FF_CONSTANT", .value = FF_CONSTANT }, ++ { .name = "FF_CUSTOM", .value = FF_CUSTOM }, ++ { .name = "FF_DAMPER", .value = FF_DAMPER }, ++ { .name = "FF_FRICTION", .value = FF_FRICTION }, ++ { .name = "FF_GAIN", .value = FF_GAIN }, ++ { .name = "FF_INERTIA", .value = FF_INERTIA }, ++ { .name = "FF_MAX", .value = FF_MAX }, ++ { .name = "FF_PERIODIC", .value = FF_PERIODIC }, ++ { .name = "FF_RAMP", .value = FF_RAMP }, ++ { .name = "FF_RUMBLE", .value = FF_RUMBLE }, ++ { .name = "FF_SAW_DOWN", .value = FF_SAW_DOWN }, ++ { .name = "FF_SAW_UP", .value = FF_SAW_UP }, ++ { .name = "FF_SINE", .value = FF_SINE }, ++ { .name = "FF_SPRING", .value = FF_SPRING }, ++ { .name = "FF_SQUARE", .value = FF_SQUARE }, ++ { .name = "FF_STATUS_MAX", .value = FF_STATUS_MAX }, ++ { .name = "FF_STATUS_STOPPED", .value = FF_STATUS_STOPPED }, ++ { .name = "FF_TRIANGLE", .value = FF_TRIANGLE }, ++ { .name = "KEY_0", .value = KEY_0 }, ++ { .name = "KEY_1", .value = KEY_1 }, ++ { .name = "KEY_102ND", .value = KEY_102ND }, ++ { .name = "KEY_10CHANNELSDOWN", .value = KEY_10CHANNELSDOWN }, ++ { .name = "KEY_10CHANNELSUP", .value = KEY_10CHANNELSUP }, ++ { .name = "KEY_2", .value = KEY_2 }, ++ { .name = "KEY_3", .value = KEY_3 }, ++ { .name = "KEY_4", .value = KEY_4 }, ++ { .name = "KEY_5", .value = KEY_5 }, ++ { .name = "KEY_6", .value = KEY_6 }, ++ { .name = "KEY_7", .value = KEY_7 }, ++ { .name = "KEY_8", .value = KEY_8 }, ++ { .name = "KEY_9", .value = KEY_9 }, ++ { .name = "KEY_A", .value = KEY_A }, ++ { .name = "KEY_AB", .value = KEY_AB }, ++ { .name = "KEY_ADDRESSBOOK", .value = KEY_ADDRESSBOOK }, ++ { .name = "KEY_AGAIN", .value = KEY_AGAIN }, ++ { .name = "KEY_ALS_TOGGLE", .value = KEY_ALS_TOGGLE }, ++ { .name = "KEY_ALTERASE", .value = KEY_ALTERASE }, ++ { .name = "KEY_ANGLE", .value = KEY_ANGLE }, ++ { .name = "KEY_APOSTROPHE", .value = KEY_APOSTROPHE }, ++ { .name = "KEY_APPSELECT", .value = KEY_APPSELECT }, ++ { .name = "KEY_ARCHIVE", .value = KEY_ARCHIVE }, ++ { .name = "KEY_ATTENDANT_OFF", .value = KEY_ATTENDANT_OFF }, ++ { .name = "KEY_ATTENDANT_ON", .value = KEY_ATTENDANT_ON }, ++ { .name = "KEY_ATTENDANT_TOGGLE", .value = KEY_ATTENDANT_TOGGLE }, ++ { .name = "KEY_AUDIO", .value = KEY_AUDIO }, ++ { .name = "KEY_AUX", .value = KEY_AUX }, ++ { .name = "KEY_B", .value = KEY_B }, ++ { .name = "KEY_BACK", .value = KEY_BACK }, ++ { .name = "KEY_BACKSLASH", .value = KEY_BACKSLASH }, ++ { .name = "KEY_BACKSPACE", .value = KEY_BACKSPACE }, ++ { .name = "KEY_BASSBOOST", .value = KEY_BASSBOOST }, ++ { .name = "KEY_BATTERY", .value = KEY_BATTERY }, ++ { .name = "KEY_BLUE", .value = KEY_BLUE }, ++ { .name = "KEY_BLUETOOTH", .value = KEY_BLUETOOTH }, ++ { .name = "KEY_BOOKMARKS", .value = KEY_BOOKMARKS }, ++ { .name = "KEY_BREAK", .value = KEY_BREAK }, ++ { .name = "KEY_BRIGHTNESSDOWN", .value = KEY_BRIGHTNESSDOWN }, ++ { .name = "KEY_BRIGHTNESSUP", .value = KEY_BRIGHTNESSUP }, ++ { .name = "KEY_BRIGHTNESS_AUTO", .value = KEY_BRIGHTNESS_AUTO }, ++ { .name = "KEY_BRIGHTNESS_CYCLE", .value = KEY_BRIGHTNESS_CYCLE }, ++ { .name = "KEY_BRIGHTNESS_MAX", .value = KEY_BRIGHTNESS_MAX }, ++ { .name = "KEY_BRIGHTNESS_MIN", .value = KEY_BRIGHTNESS_MIN }, ++ { .name = "KEY_BRL_DOT1", .value = KEY_BRL_DOT1 }, ++ { .name = "KEY_BRL_DOT10", .value = KEY_BRL_DOT10 }, ++ { .name = "KEY_BRL_DOT2", .value = KEY_BRL_DOT2 }, ++ { .name = "KEY_BRL_DOT3", .value = KEY_BRL_DOT3 }, ++ { .name = "KEY_BRL_DOT4", .value = KEY_BRL_DOT4 }, ++ { .name = "KEY_BRL_DOT5", .value = KEY_BRL_DOT5 }, ++ { .name = "KEY_BRL_DOT6", .value = KEY_BRL_DOT6 }, ++ { .name = "KEY_BRL_DOT7", .value = KEY_BRL_DOT7 }, ++ { .name = "KEY_BRL_DOT8", .value = KEY_BRL_DOT8 }, ++ { .name = "KEY_BRL_DOT9", .value = KEY_BRL_DOT9 }, ++ { .name = "KEY_BUTTONCONFIG", .value = KEY_BUTTONCONFIG }, ++ { .name = "KEY_C", .value = KEY_C }, ++ { .name = "KEY_CALC", .value = KEY_CALC }, ++ { .name = "KEY_CALENDAR", .value = KEY_CALENDAR }, ++ { .name = "KEY_CAMERA", .value = KEY_CAMERA }, ++ { .name = "KEY_CAMERA_DOWN", .value = KEY_CAMERA_DOWN }, ++ { .name = "KEY_CAMERA_FOCUS", .value = KEY_CAMERA_FOCUS }, ++ { .name = "KEY_CAMERA_LEFT", .value = KEY_CAMERA_LEFT }, ++ { .name = "KEY_CAMERA_RIGHT", .value = KEY_CAMERA_RIGHT }, ++ { .name = "KEY_CAMERA_UP", .value = KEY_CAMERA_UP }, ++ { .name = "KEY_CAMERA_ZOOMIN", .value = KEY_CAMERA_ZOOMIN }, ++ { .name = "KEY_CAMERA_ZOOMOUT", .value = KEY_CAMERA_ZOOMOUT }, ++ { .name = "KEY_CANCEL", .value = KEY_CANCEL }, ++ { .name = "KEY_CAPSLOCK", .value = KEY_CAPSLOCK }, ++ { .name = "KEY_CD", .value = KEY_CD }, ++ { .name = "KEY_CHANNEL", .value = KEY_CHANNEL }, ++ { .name = "KEY_CHANNELDOWN", .value = KEY_CHANNELDOWN }, ++ { .name = "KEY_CHANNELUP", .value = KEY_CHANNELUP }, ++ { .name = "KEY_CHAT", .value = KEY_CHAT }, ++ { .name = "KEY_CLEAR", .value = KEY_CLEAR }, ++ { .name = "KEY_CLOSE", .value = KEY_CLOSE }, ++ { .name = "KEY_CLOSECD", .value = KEY_CLOSECD }, ++ { .name = "KEY_COFFEE", .value = KEY_COFFEE }, ++ { .name = "KEY_COMMA", .value = KEY_COMMA }, ++ { .name = "KEY_COMPOSE", .value = KEY_COMPOSE }, ++ { .name = "KEY_COMPUTER", .value = KEY_COMPUTER }, ++ { .name = "KEY_CONFIG", .value = KEY_CONFIG }, ++ { .name = "KEY_CONNECT", .value = KEY_CONNECT }, ++ { .name = "KEY_CONTEXT_MENU", .value = KEY_CONTEXT_MENU }, ++ { .name = "KEY_CONTROLPANEL", .value = KEY_CONTROLPANEL }, ++ { .name = "KEY_COPY", .value = KEY_COPY }, ++ { .name = "KEY_CUT", .value = KEY_CUT }, ++ { .name = "KEY_CYCLEWINDOWS", .value = KEY_CYCLEWINDOWS }, ++ { .name = "KEY_D", .value = KEY_D }, ++ { .name = "KEY_DASHBOARD", .value = KEY_DASHBOARD }, ++ { .name = "KEY_DATABASE", .value = KEY_DATABASE }, ++ { .name = "KEY_DELETE", .value = KEY_DELETE }, ++ { .name = "KEY_DELETEFILE", .value = KEY_DELETEFILE }, ++ { .name = "KEY_DEL_EOL", .value = KEY_DEL_EOL }, ++ { .name = "KEY_DEL_EOS", .value = KEY_DEL_EOS }, ++ { .name = "KEY_DEL_LINE", .value = KEY_DEL_LINE }, ++ { .name = "KEY_DIGITS", .value = KEY_DIGITS }, ++ { .name = "KEY_DIRECTORY", .value = KEY_DIRECTORY }, ++ { .name = "KEY_DISPLAYTOGGLE", .value = KEY_DISPLAYTOGGLE }, ++ { .name = "KEY_DISPLAY_OFF", .value = KEY_DISPLAY_OFF }, ++ { .name = "KEY_DOCUMENTS", .value = KEY_DOCUMENTS }, ++ { .name = "KEY_DOLLAR", .value = KEY_DOLLAR }, ++ { .name = "KEY_DOT", .value = KEY_DOT }, ++ { .name = "KEY_DOWN", .value = KEY_DOWN }, ++ { .name = "KEY_DVD", .value = KEY_DVD }, ++ { .name = "KEY_E", .value = KEY_E }, ++ { .name = "KEY_EDIT", .value = KEY_EDIT }, ++ { .name = "KEY_EDITOR", .value = KEY_EDITOR }, ++ { .name = "KEY_EJECTCD", .value = KEY_EJECTCD }, ++ { .name = "KEY_EJECTCLOSECD", .value = KEY_EJECTCLOSECD }, ++ { .name = "KEY_EMAIL", .value = KEY_EMAIL }, ++ { .name = "KEY_END", .value = KEY_END }, ++ { .name = "KEY_ENTER", .value = KEY_ENTER }, ++ { .name = "KEY_EPG", .value = KEY_EPG }, ++ { .name = "KEY_EQUAL", .value = KEY_EQUAL }, ++ { .name = "KEY_ESC", .value = KEY_ESC }, ++ { .name = "KEY_EURO", .value = KEY_EURO }, ++ { .name = "KEY_EXIT", .value = KEY_EXIT }, ++ { .name = "KEY_F", .value = KEY_F }, ++ { .name = "KEY_F1", .value = KEY_F1 }, ++ { .name = "KEY_F10", .value = KEY_F10 }, ++ { .name = "KEY_F11", .value = KEY_F11 }, ++ { .name = "KEY_F12", .value = KEY_F12 }, ++ { .name = "KEY_F13", .value = KEY_F13 }, ++ { .name = "KEY_F14", .value = KEY_F14 }, ++ { .name = "KEY_F15", .value = KEY_F15 }, ++ { .name = "KEY_F16", .value = KEY_F16 }, ++ { .name = "KEY_F17", .value = KEY_F17 }, ++ { .name = "KEY_F18", .value = KEY_F18 }, ++ { .name = "KEY_F19", .value = KEY_F19 }, ++ { .name = "KEY_F2", .value = KEY_F2 }, ++ { .name = "KEY_F20", .value = KEY_F20 }, ++ { .name = "KEY_F21", .value = KEY_F21 }, ++ { .name = "KEY_F22", .value = KEY_F22 }, ++ { .name = "KEY_F23", .value = KEY_F23 }, ++ { .name = "KEY_F24", .value = KEY_F24 }, ++ { .name = "KEY_F3", .value = KEY_F3 }, ++ { .name = "KEY_F4", .value = KEY_F4 }, ++ { .name = "KEY_F5", .value = KEY_F5 }, ++ { .name = "KEY_F6", .value = KEY_F6 }, ++ { .name = "KEY_F7", .value = KEY_F7 }, ++ { .name = "KEY_F8", .value = KEY_F8 }, ++ { .name = "KEY_F9", .value = KEY_F9 }, ++ { .name = "KEY_FASTFORWARD", .value = KEY_FASTFORWARD }, ++ { .name = "KEY_FAVORITES", .value = KEY_FAVORITES }, ++ { .name = "KEY_FILE", .value = KEY_FILE }, ++ { .name = "KEY_FINANCE", .value = KEY_FINANCE }, ++ { .name = "KEY_FIND", .value = KEY_FIND }, ++ { .name = "KEY_FIRST", .value = KEY_FIRST }, ++ { .name = "KEY_FN", .value = KEY_FN }, ++ { .name = "KEY_FN_1", .value = KEY_FN_1 }, ++ { .name = "KEY_FN_2", .value = KEY_FN_2 }, ++ { .name = "KEY_FN_B", .value = KEY_FN_B }, ++ { .name = "KEY_FN_D", .value = KEY_FN_D }, ++ { .name = "KEY_FN_E", .value = KEY_FN_E }, ++ { .name = "KEY_FN_ESC", .value = KEY_FN_ESC }, ++ { .name = "KEY_FN_F", .value = KEY_FN_F }, ++ { .name = "KEY_FN_F1", .value = KEY_FN_F1 }, ++ { .name = "KEY_FN_F10", .value = KEY_FN_F10 }, ++ { .name = "KEY_FN_F11", .value = KEY_FN_F11 }, ++ { .name = "KEY_FN_F12", .value = KEY_FN_F12 }, ++ { .name = "KEY_FN_F2", .value = KEY_FN_F2 }, ++ { .name = "KEY_FN_F3", .value = KEY_FN_F3 }, ++ { .name = "KEY_FN_F4", .value = KEY_FN_F4 }, ++ { .name = "KEY_FN_F5", .value = KEY_FN_F5 }, ++ { .name = "KEY_FN_F6", .value = KEY_FN_F6 }, ++ { .name = "KEY_FN_F7", .value = KEY_FN_F7 }, ++ { .name = "KEY_FN_F8", .value = KEY_FN_F8 }, ++ { .name = "KEY_FN_F9", .value = KEY_FN_F9 }, ++ { .name = "KEY_FN_S", .value = KEY_FN_S }, ++ { .name = "KEY_FORWARD", .value = KEY_FORWARD }, ++ { .name = "KEY_FORWARDMAIL", .value = KEY_FORWARDMAIL }, ++ { .name = "KEY_FRAMEBACK", .value = KEY_FRAMEBACK }, ++ { .name = "KEY_FRAMEFORWARD", .value = KEY_FRAMEFORWARD }, ++ { .name = "KEY_FRONT", .value = KEY_FRONT }, ++ { .name = "KEY_G", .value = KEY_G }, ++ { .name = "KEY_GAMES", .value = KEY_GAMES }, ++ { .name = "KEY_GOTO", .value = KEY_GOTO }, ++ { .name = "KEY_GRAPHICSEDITOR", .value = KEY_GRAPHICSEDITOR }, ++ { .name = "KEY_GRAVE", .value = KEY_GRAVE }, ++ { .name = "KEY_GREEN", .value = KEY_GREEN }, ++ { .name = "KEY_H", .value = KEY_H }, ++ { .name = "KEY_HANGEUL", .value = KEY_HANGEUL }, ++ { .name = "KEY_HANJA", .value = KEY_HANJA }, ++ { .name = "KEY_HELP", .value = KEY_HELP }, ++ { .name = "KEY_HENKAN", .value = KEY_HENKAN }, ++ { .name = "KEY_HIRAGANA", .value = KEY_HIRAGANA }, ++ { .name = "KEY_HOME", .value = KEY_HOME }, ++ { .name = "KEY_HOMEPAGE", .value = KEY_HOMEPAGE }, ++ { .name = "KEY_HP", .value = KEY_HP }, ++ { .name = "KEY_I", .value = KEY_I }, ++ { .name = "KEY_IMAGES", .value = KEY_IMAGES }, ++ { .name = "KEY_INFO", .value = KEY_INFO }, ++ { .name = "KEY_INSERT", .value = KEY_INSERT }, ++ { .name = "KEY_INS_LINE", .value = KEY_INS_LINE }, ++ { .name = "KEY_ISO", .value = KEY_ISO }, ++ { .name = "KEY_J", .value = KEY_J }, ++ { .name = "KEY_JOURNAL", .value = KEY_JOURNAL }, ++ { .name = "KEY_K", .value = KEY_K }, ++ { .name = "KEY_KATAKANA", .value = KEY_KATAKANA }, ++ { .name = "KEY_KATAKANAHIRAGANA", .value = KEY_KATAKANAHIRAGANA }, ++ { .name = "KEY_KBDILLUMDOWN", .value = KEY_KBDILLUMDOWN }, ++ { .name = "KEY_KBDILLUMTOGGLE", .value = KEY_KBDILLUMTOGGLE }, ++ { .name = "KEY_KBDILLUMUP", .value = KEY_KBDILLUMUP }, ++ { .name = "KEY_KBDINPUTASSIST_ACCEPT", .value = KEY_KBDINPUTASSIST_ACCEPT }, ++ { .name = "KEY_KBDINPUTASSIST_CANCEL", .value = KEY_KBDINPUTASSIST_CANCEL }, ++ { .name = "KEY_KBDINPUTASSIST_NEXT", .value = KEY_KBDINPUTASSIST_NEXT }, ++ { .name = "KEY_KBDINPUTASSIST_NEXTGROUP", .value = KEY_KBDINPUTASSIST_NEXTGROUP }, ++ { .name = "KEY_KBDINPUTASSIST_PREV", .value = KEY_KBDINPUTASSIST_PREV }, ++ { .name = "KEY_KBDINPUTASSIST_PREVGROUP", .value = KEY_KBDINPUTASSIST_PREVGROUP }, ++ { .name = "KEY_KEYBOARD", .value = KEY_KEYBOARD }, ++ { .name = "KEY_KP0", .value = KEY_KP0 }, ++ { .name = "KEY_KP1", .value = KEY_KP1 }, ++ { .name = "KEY_KP2", .value = KEY_KP2 }, ++ { .name = "KEY_KP3", .value = KEY_KP3 }, ++ { .name = "KEY_KP4", .value = KEY_KP4 }, ++ { .name = "KEY_KP5", .value = KEY_KP5 }, ++ { .name = "KEY_KP6", .value = KEY_KP6 }, ++ { .name = "KEY_KP7", .value = KEY_KP7 }, ++ { .name = "KEY_KP8", .value = KEY_KP8 }, ++ { .name = "KEY_KP9", .value = KEY_KP9 }, ++ { .name = "KEY_KPASTERISK", .value = KEY_KPASTERISK }, ++ { .name = "KEY_KPCOMMA", .value = KEY_KPCOMMA }, ++ { .name = "KEY_KPDOT", .value = KEY_KPDOT }, ++ { .name = "KEY_KPENTER", .value = KEY_KPENTER }, ++ { .name = "KEY_KPEQUAL", .value = KEY_KPEQUAL }, ++ { .name = "KEY_KPJPCOMMA", .value = KEY_KPJPCOMMA }, ++ { .name = "KEY_KPLEFTPAREN", .value = KEY_KPLEFTPAREN }, ++ { .name = "KEY_KPMINUS", .value = KEY_KPMINUS }, ++ { .name = "KEY_KPPLUS", .value = KEY_KPPLUS }, ++ { .name = "KEY_KPPLUSMINUS", .value = KEY_KPPLUSMINUS }, ++ { .name = "KEY_KPRIGHTPAREN", .value = KEY_KPRIGHTPAREN }, ++ { .name = "KEY_KPSLASH", .value = KEY_KPSLASH }, ++ { .name = "KEY_L", .value = KEY_L }, ++ { .name = "KEY_LANGUAGE", .value = KEY_LANGUAGE }, ++ { .name = "KEY_LAST", .value = KEY_LAST }, ++ { .name = "KEY_LEFT", .value = KEY_LEFT }, ++ { .name = "KEY_LEFTALT", .value = KEY_LEFTALT }, ++ { .name = "KEY_LEFTBRACE", .value = KEY_LEFTBRACE }, ++ { .name = "KEY_LEFTCTRL", .value = KEY_LEFTCTRL }, ++ { .name = "KEY_LEFTMETA", .value = KEY_LEFTMETA }, ++ { .name = "KEY_LEFTSHIFT", .value = KEY_LEFTSHIFT }, ++ { .name = "KEY_LIGHTS_TOGGLE", .value = KEY_LIGHTS_TOGGLE }, ++ { .name = "KEY_LINEFEED", .value = KEY_LINEFEED }, ++ { .name = "KEY_LIST", .value = KEY_LIST }, ++ { .name = "KEY_LOGOFF", .value = KEY_LOGOFF }, ++ { .name = "KEY_M", .value = KEY_M }, ++ { .name = "KEY_MACRO", .value = KEY_MACRO }, ++ { .name = "KEY_MAIL", .value = KEY_MAIL }, ++ { .name = "KEY_MAX", .value = KEY_MAX }, ++ { .name = "KEY_MEDIA", .value = KEY_MEDIA }, ++ { .name = "KEY_MEDIA_REPEAT", .value = KEY_MEDIA_REPEAT }, ++ { .name = "KEY_MEMO", .value = KEY_MEMO }, ++ { .name = "KEY_MENU", .value = KEY_MENU }, ++ { .name = "KEY_MESSENGER", .value = KEY_MESSENGER }, ++ { .name = "KEY_MHP", .value = KEY_MHP }, ++ { .name = "KEY_MICMUTE", .value = KEY_MICMUTE }, ++ { .name = "KEY_MINUS", .value = KEY_MINUS }, ++ { .name = "KEY_MODE", .value = KEY_MODE }, ++ { .name = "KEY_MOVE", .value = KEY_MOVE }, ++ { .name = "KEY_MP3", .value = KEY_MP3 }, ++ { .name = "KEY_MSDOS", .value = KEY_MSDOS }, ++ { .name = "KEY_MUHENKAN", .value = KEY_MUHENKAN }, ++ { .name = "KEY_MUTE", .value = KEY_MUTE }, ++ { .name = "KEY_N", .value = KEY_N }, ++ { .name = "KEY_NEW", .value = KEY_NEW }, ++ { .name = "KEY_NEWS", .value = KEY_NEWS }, ++ { .name = "KEY_NEXT", .value = KEY_NEXT }, ++ { .name = "KEY_NEXTSONG", .value = KEY_NEXTSONG }, ++ { .name = "KEY_NUMERIC_0", .value = KEY_NUMERIC_0 }, ++ { .name = "KEY_NUMERIC_1", .value = KEY_NUMERIC_1 }, ++ { .name = "KEY_NUMERIC_2", .value = KEY_NUMERIC_2 }, ++ { .name = "KEY_NUMERIC_3", .value = KEY_NUMERIC_3 }, ++ { .name = "KEY_NUMERIC_4", .value = KEY_NUMERIC_4 }, ++ { .name = "KEY_NUMERIC_5", .value = KEY_NUMERIC_5 }, ++ { .name = "KEY_NUMERIC_6", .value = KEY_NUMERIC_6 }, ++ { .name = "KEY_NUMERIC_7", .value = KEY_NUMERIC_7 }, ++ { .name = "KEY_NUMERIC_8", .value = KEY_NUMERIC_8 }, ++ { .name = "KEY_NUMERIC_9", .value = KEY_NUMERIC_9 }, ++ { .name = "KEY_NUMERIC_A", .value = KEY_NUMERIC_A }, ++ { .name = "KEY_NUMERIC_B", .value = KEY_NUMERIC_B }, ++ { .name = "KEY_NUMERIC_C", .value = KEY_NUMERIC_C }, ++ { .name = "KEY_NUMERIC_D", .value = KEY_NUMERIC_D }, ++ { .name = "KEY_NUMERIC_POUND", .value = KEY_NUMERIC_POUND }, ++ { .name = "KEY_NUMERIC_STAR", .value = KEY_NUMERIC_STAR }, ++ { .name = "KEY_NUMLOCK", .value = KEY_NUMLOCK }, ++ { .name = "KEY_O", .value = KEY_O }, ++ { .name = "KEY_OK", .value = KEY_OK }, ++ { .name = "KEY_OPEN", .value = KEY_OPEN }, ++ { .name = "KEY_OPTION", .value = KEY_OPTION }, ++ { .name = "KEY_P", .value = KEY_P }, ++ { .name = "KEY_PAGEDOWN", .value = KEY_PAGEDOWN }, ++ { .name = "KEY_PAGEUP", .value = KEY_PAGEUP }, ++ { .name = "KEY_PASTE", .value = KEY_PASTE }, ++ { .name = "KEY_PAUSE", .value = KEY_PAUSE }, ++ { .name = "KEY_PAUSECD", .value = KEY_PAUSECD }, ++ { .name = "KEY_PC", .value = KEY_PC }, ++ { .name = "KEY_PHONE", .value = KEY_PHONE }, ++ { .name = "KEY_PLAY", .value = KEY_PLAY }, ++ { .name = "KEY_PLAYCD", .value = KEY_PLAYCD }, ++ { .name = "KEY_PLAYER", .value = KEY_PLAYER }, ++ { .name = "KEY_PLAYPAUSE", .value = KEY_PLAYPAUSE }, ++ { .name = "KEY_POWER", .value = KEY_POWER }, ++ { .name = "KEY_POWER2", .value = KEY_POWER2 }, ++ { .name = "KEY_PRESENTATION", .value = KEY_PRESENTATION }, ++ { .name = "KEY_PREVIOUS", .value = KEY_PREVIOUS }, ++ { .name = "KEY_PREVIOUSSONG", .value = KEY_PREVIOUSSONG }, ++ { .name = "KEY_PRINT", .value = KEY_PRINT }, ++ { .name = "KEY_PROG1", .value = KEY_PROG1 }, ++ { .name = "KEY_PROG2", .value = KEY_PROG2 }, ++ { .name = "KEY_PROG3", .value = KEY_PROG3 }, ++ { .name = "KEY_PROG4", .value = KEY_PROG4 }, ++ { .name = "KEY_PROGRAM", .value = KEY_PROGRAM }, ++ { .name = "KEY_PROPS", .value = KEY_PROPS }, ++ { .name = "KEY_PVR", .value = KEY_PVR }, ++ { .name = "KEY_Q", .value = KEY_Q }, ++ { .name = "KEY_QUESTION", .value = KEY_QUESTION }, ++ { .name = "KEY_R", .value = KEY_R }, ++ { .name = "KEY_RADIO", .value = KEY_RADIO }, ++ { .name = "KEY_RECORD", .value = KEY_RECORD }, ++ { .name = "KEY_RED", .value = KEY_RED }, ++ { .name = "KEY_REDO", .value = KEY_REDO }, ++ { .name = "KEY_REFRESH", .value = KEY_REFRESH }, ++ { .name = "KEY_REPLY", .value = KEY_REPLY }, ++ { .name = "KEY_RESERVED", .value = KEY_RESERVED }, ++ { .name = "KEY_RESTART", .value = KEY_RESTART }, ++ { .name = "KEY_REWIND", .value = KEY_REWIND }, ++ { .name = "KEY_RFKILL", .value = KEY_RFKILL }, ++ { .name = "KEY_RIGHT", .value = KEY_RIGHT }, ++ { .name = "KEY_RIGHTALT", .value = KEY_RIGHTALT }, ++ { .name = "KEY_RIGHTBRACE", .value = KEY_RIGHTBRACE }, ++ { .name = "KEY_RIGHTCTRL", .value = KEY_RIGHTCTRL }, ++ { .name = "KEY_RIGHTMETA", .value = KEY_RIGHTMETA }, ++ { .name = "KEY_RIGHTSHIFT", .value = KEY_RIGHTSHIFT }, ++ { .name = "KEY_RO", .value = KEY_RO }, ++ { .name = "KEY_ROTATE_DISPLAY", .value = KEY_ROTATE_DISPLAY }, ++ { .name = "KEY_S", .value = KEY_S }, ++ { .name = "KEY_SAT", .value = KEY_SAT }, ++ { .name = "KEY_SAT2", .value = KEY_SAT2 }, ++ { .name = "KEY_SAVE", .value = KEY_SAVE }, ++ { .name = "KEY_SCALE", .value = KEY_SCALE }, ++ { .name = "KEY_SCREEN", .value = KEY_SCREEN }, ++ { .name = "KEY_SCREENSAVER", .value = KEY_SCREENSAVER }, ++ { .name = "KEY_SCROLLDOWN", .value = KEY_SCROLLDOWN }, ++ { .name = "KEY_SCROLLLOCK", .value = KEY_SCROLLLOCK }, ++ { .name = "KEY_SCROLLUP", .value = KEY_SCROLLUP }, ++ { .name = "KEY_SEARCH", .value = KEY_SEARCH }, ++ { .name = "KEY_SELECT", .value = KEY_SELECT }, ++ { .name = "KEY_SEMICOLON", .value = KEY_SEMICOLON }, ++ { .name = "KEY_SEND", .value = KEY_SEND }, ++ { .name = "KEY_SENDFILE", .value = KEY_SENDFILE }, ++ { .name = "KEY_SETUP", .value = KEY_SETUP }, ++ { .name = "KEY_SHOP", .value = KEY_SHOP }, ++ { .name = "KEY_SHUFFLE", .value = KEY_SHUFFLE }, ++ { .name = "KEY_SLASH", .value = KEY_SLASH }, ++ { .name = "KEY_SLEEP", .value = KEY_SLEEP }, ++ { .name = "KEY_SLOW", .value = KEY_SLOW }, ++ { .name = "KEY_SOUND", .value = KEY_SOUND }, ++ { .name = "KEY_SPACE", .value = KEY_SPACE }, ++ { .name = "KEY_SPELLCHECK", .value = KEY_SPELLCHECK }, ++ { .name = "KEY_SPORT", .value = KEY_SPORT }, ++ { .name = "KEY_SPREADSHEET", .value = KEY_SPREADSHEET }, ++ { .name = "KEY_STOP", .value = KEY_STOP }, ++ { .name = "KEY_STOPCD", .value = KEY_STOPCD }, ++ { .name = "KEY_SUBTITLE", .value = KEY_SUBTITLE }, ++ { .name = "KEY_SUSPEND", .value = KEY_SUSPEND }, ++ { .name = "KEY_SWITCHVIDEOMODE", .value = KEY_SWITCHVIDEOMODE }, ++ { .name = "KEY_SYSRQ", .value = KEY_SYSRQ }, ++ { .name = "KEY_T", .value = KEY_T }, ++ { .name = "KEY_TAB", .value = KEY_TAB }, ++ { .name = "KEY_TAPE", .value = KEY_TAPE }, ++ { .name = "KEY_TASKMANAGER", .value = KEY_TASKMANAGER }, ++ { .name = "KEY_TEEN", .value = KEY_TEEN }, ++ { .name = "KEY_TEXT", .value = KEY_TEXT }, ++ { .name = "KEY_TIME", .value = KEY_TIME }, ++ { .name = "KEY_TITLE", .value = KEY_TITLE }, ++ { .name = "KEY_TOUCHPAD_OFF", .value = KEY_TOUCHPAD_OFF }, ++ { .name = "KEY_TOUCHPAD_ON", .value = KEY_TOUCHPAD_ON }, ++ { .name = "KEY_TOUCHPAD_TOGGLE", .value = KEY_TOUCHPAD_TOGGLE }, ++ { .name = "KEY_TUNER", .value = KEY_TUNER }, ++ { .name = "KEY_TV", .value = KEY_TV }, ++ { .name = "KEY_TV2", .value = KEY_TV2 }, ++ { .name = "KEY_TWEN", .value = KEY_TWEN }, ++ { .name = "KEY_U", .value = KEY_U }, ++ { .name = "KEY_UNDO", .value = KEY_UNDO }, ++ { .name = "KEY_UNKNOWN", .value = KEY_UNKNOWN }, ++ { .name = "KEY_UP", .value = KEY_UP }, ++ { .name = "KEY_UWB", .value = KEY_UWB }, ++ { .name = "KEY_V", .value = KEY_V }, ++ { .name = "KEY_VCR", .value = KEY_VCR }, ++ { .name = "KEY_VCR2", .value = KEY_VCR2 }, ++ { .name = "KEY_VENDOR", .value = KEY_VENDOR }, ++ { .name = "KEY_VIDEO", .value = KEY_VIDEO }, ++ { .name = "KEY_VIDEOPHONE", .value = KEY_VIDEOPHONE }, ++ { .name = "KEY_VIDEO_NEXT", .value = KEY_VIDEO_NEXT }, ++ { .name = "KEY_VIDEO_PREV", .value = KEY_VIDEO_PREV }, ++ { .name = "KEY_VOICECOMMAND", .value = KEY_VOICECOMMAND }, ++ { .name = "KEY_VOICEMAIL", .value = KEY_VOICEMAIL }, ++ { .name = "KEY_VOLUMEDOWN", .value = KEY_VOLUMEDOWN }, ++ { .name = "KEY_VOLUMEUP", .value = KEY_VOLUMEUP }, ++ { .name = "KEY_W", .value = KEY_W }, ++ { .name = "KEY_WAKEUP", .value = KEY_WAKEUP }, ++ { .name = "KEY_WLAN", .value = KEY_WLAN }, ++ { .name = "KEY_WORDPROCESSOR", .value = KEY_WORDPROCESSOR }, ++ { .name = "KEY_WPS_BUTTON", .value = KEY_WPS_BUTTON }, ++ { .name = "KEY_WWAN", .value = KEY_WWAN }, ++ { .name = "KEY_WWW", .value = KEY_WWW }, ++ { .name = "KEY_X", .value = KEY_X }, ++ { .name = "KEY_XFER", .value = KEY_XFER }, ++ { .name = "KEY_Y", .value = KEY_Y }, ++ { .name = "KEY_YELLOW", .value = KEY_YELLOW }, ++ { .name = "KEY_YEN", .value = KEY_YEN }, ++ { .name = "KEY_Z", .value = KEY_Z }, ++ { .name = "KEY_ZENKAKUHANKAKU", .value = KEY_ZENKAKUHANKAKU }, ++ { .name = "KEY_ZOOM", .value = KEY_ZOOM }, ++ { .name = "KEY_ZOOMIN", .value = KEY_ZOOMIN }, ++ { .name = "KEY_ZOOMOUT", .value = KEY_ZOOMOUT }, ++ { .name = "KEY_ZOOMRESET", .value = KEY_ZOOMRESET }, ++ { .name = "LED_CAPSL", .value = LED_CAPSL }, ++ { .name = "LED_CHARGING", .value = LED_CHARGING }, ++ { .name = "LED_COMPOSE", .value = LED_COMPOSE }, ++ { .name = "LED_KANA", .value = LED_KANA }, ++ { .name = "LED_MAIL", .value = LED_MAIL }, ++ { .name = "LED_MAX", .value = LED_MAX }, ++ { .name = "LED_MISC", .value = LED_MISC }, ++ { .name = "LED_MUTE", .value = LED_MUTE }, ++ { .name = "LED_NUML", .value = LED_NUML }, ++ { .name = "LED_SCROLLL", .value = LED_SCROLLL }, ++ { .name = "LED_SLEEP", .value = LED_SLEEP }, ++ { .name = "LED_SUSPEND", .value = LED_SUSPEND }, ++ { .name = "MSC_GESTURE", .value = MSC_GESTURE }, ++ { .name = "MSC_MAX", .value = MSC_MAX }, ++ { .name = "MSC_PULSELED", .value = MSC_PULSELED }, ++ { .name = "MSC_RAW", .value = MSC_RAW }, ++ { .name = "MSC_SCAN", .value = MSC_SCAN }, ++ { .name = "MSC_SERIAL", .value = MSC_SERIAL }, ++ { .name = "MSC_TIMESTAMP", .value = MSC_TIMESTAMP }, ++ { .name = "REL_DIAL", .value = REL_DIAL }, ++ { .name = "REL_HWHEEL", .value = REL_HWHEEL }, ++ { .name = "REL_MAX", .value = REL_MAX }, ++ { .name = "REL_MISC", .value = REL_MISC }, ++ { .name = "REL_RX", .value = REL_RX }, ++ { .name = "REL_RY", .value = REL_RY }, ++ { .name = "REL_RZ", .value = REL_RZ }, ++ { .name = "REL_WHEEL", .value = REL_WHEEL }, ++ { .name = "REL_X", .value = REL_X }, ++ { .name = "REL_Y", .value = REL_Y }, ++ { .name = "REL_Z", .value = REL_Z }, ++ { .name = "REP_DELAY", .value = REP_DELAY }, ++ { .name = "REP_MAX", .value = REP_MAX }, ++ { .name = "SND_BELL", .value = SND_BELL }, ++ { .name = "SND_CLICK", .value = SND_CLICK }, ++ { .name = "SND_MAX", .value = SND_MAX }, ++ { .name = "SND_TONE", .value = SND_TONE }, ++ { .name = "SW_CAMERA_LENS_COVER", .value = SW_CAMERA_LENS_COVER }, ++ { .name = "SW_DOCK", .value = SW_DOCK }, ++ { .name = "SW_FRONT_PROXIMITY", .value = SW_FRONT_PROXIMITY }, ++ { .name = "SW_HEADPHONE_INSERT", .value = SW_HEADPHONE_INSERT }, ++ { .name = "SW_JACK_PHYSICAL_INSERT", .value = SW_JACK_PHYSICAL_INSERT }, ++ { .name = "SW_KEYPAD_SLIDE", .value = SW_KEYPAD_SLIDE }, ++ { .name = "SW_LID", .value = SW_LID }, ++ { .name = "SW_LINEIN_INSERT", .value = SW_LINEIN_INSERT }, ++ { .name = "SW_LINEOUT_INSERT", .value = SW_LINEOUT_INSERT }, ++ { .name = "SW_MAX", .value = SW_MAX }, ++ { .name = "SW_MICROPHONE_INSERT", .value = SW_MICROPHONE_INSERT }, ++ { .name = "SW_MUTE_DEVICE", .value = SW_MUTE_DEVICE }, ++ { .name = "SW_RFKILL_ALL", .value = SW_RFKILL_ALL }, ++ { .name = "SW_ROTATE_LOCK", .value = SW_ROTATE_LOCK }, ++ { .name = "SW_TABLET_MODE", .value = SW_TABLET_MODE }, ++ { .name = "SW_VIDEOOUT_INSERT", .value = SW_VIDEOOUT_INSERT }, ++ { .name = "SYN_CONFIG", .value = SYN_CONFIG }, ++ { .name = "SYN_DROPPED", .value = SYN_DROPPED }, ++ { .name = "SYN_MAX", .value = SYN_MAX }, ++ { .name = "SYN_MT_REPORT", .value = SYN_MT_REPORT }, ++ { .name = "SYN_REPORT", .value = SYN_REPORT }, ++}; ++ ++static const struct name_entry prop_names[] = { ++ { .name = "INPUT_PROP_ACCELEROMETER", .value = INPUT_PROP_ACCELEROMETER }, ++ { .name = "INPUT_PROP_BUTTONPAD", .value = INPUT_PROP_BUTTONPAD }, ++ { .name = "INPUT_PROP_DIRECT", .value = INPUT_PROP_DIRECT }, ++ { .name = "INPUT_PROP_MAX", .value = INPUT_PROP_MAX }, ++ { .name = "INPUT_PROP_POINTER", .value = INPUT_PROP_POINTER }, ++ { .name = "INPUT_PROP_POINTING_STICK", .value = INPUT_PROP_POINTING_STICK }, ++ { .name = "INPUT_PROP_SEMI_MT", .value = INPUT_PROP_SEMI_MT }, ++ { .name = "INPUT_PROP_TOPBUTTONPAD", .value = INPUT_PROP_TOPBUTTONPAD }, ++}; ++ ++#endif /* EVENT_NAMES_H */ +-- +2.11.0 + diff --git a/pkg/libevdev/rev b/pkg/libevdev/rev new file mode 100644 index 00000000..00750edc --- /dev/null +++ b/pkg/libevdev/rev @@ -0,0 +1 @@ +3 diff --git a/pkg/libevdev/src b/pkg/libevdev/src new file mode 160000 index 00000000..452847a3 --- /dev/null +++ b/pkg/libevdev/src @@ -0,0 +1 @@ +Subproject commit 452847a31471e5b4e13aa544cd74d3933b63793d diff --git a/pkg/libevent/config.h b/pkg/libevent/config.h new file mode 100644 index 00000000..8b729bcf --- /dev/null +++ b/pkg/libevent/config.h @@ -0,0 +1,149 @@ +/* don't use config-posix.h here, this file gets processed by make-event-config.sed */ + +/* disabled to prevent building extra backends */ +/* #undef HAVE_POLL */ +/* #undef HAVE_SELECT */ + +/* #undef DISABLE_DEBUG_MODE */ +#define DISABLE_MM_REPLACEMENT 1 +/* #undef DISABLE_THREAD_SUPPORT */ +/* #undef HAVE_ARC4RANDOM */ +/* #undef HAVE_ARC4RANDOM_BUF */ +#define HAVE_ARPA_INET_H 1 +#define HAVE_CLOCK_GETTIME 1 +/* #undef HAVE_DECL_CTL_KERN */ +/* #undef HAVE_DECL_KERN_ARND */ +/* #undef HAVE_DECL_KERN_RANDOM */ +/* #undef HAVE_DECL_RANDOM_UUID */ +/* #undef HAVE_DEVPOLL */ +#define HAVE_DLFCN_H 1 +#define HAVE_EPOLL 1 +#define HAVE_EPOLL_CTL 1 +#define HAVE_EVENTFD 1 +/* #undef HAVE_EVENT_PORTS */ +#define HAVE_FCNTL 1 +#define HAVE_FCNTL_H 1 +#define HAVE_FD_MASK 1 +#define HAVE_GETADDRINFO 1 +#define HAVE_GETEGID 1 +#define HAVE_GETEUID 1 +/* #undef HAVE_GETHOSTBYNAME_R */ +/* #undef HAVE_GETHOSTBYNAME_R_3_ARG */ +/* #undef HAVE_GETHOSTBYNAME_R_5_ARG */ +/* #undef HAVE_GETHOSTBYNAME_R_6_ARG */ +#define HAVE_GETNAMEINFO 1 +#define HAVE_GETPROTOBYNUMBER 1 +/* #undef HAVE_GETSERVBYNAME */ +#define HAVE_GETTIMEOFDAY 1 +#define HAVE_INET_ATON 1 +#define HAVE_INET_NTOP 1 +#define HAVE_INET_PTON 1 +#define HAVE_INTTYPES_H 1 +#define HAVE_ISSETUGID 1 +/* #undef HAVE_KQUEUE */ +/* #undef HAVE_LIBZ */ +#define HAVE_MEMORY_H 1 +#define HAVE_MMAP 1 +#define HAVE_NETDB_H 1 +/* #undef HAVE_NETINET_IN6_H */ +#define HAVE_NETINET_IN_H 1 +/* #undef HAVE_OPENSSL */ +/* #undef HAVE_OPENSSL_BIO_H */ +#define HAVE_PIPE 1 +#define HAVE_POLL_H 1 +/* #undef HAVE_PORT_CREATE */ +/* #undef HAVE_PORT_H */ +/* #undef HAVE_PTHREAD */ +#define HAVE_PTHREADS 1 +#define HAVE_PUTENV 1 +#define HAVE_SA_FAMILY_T 1 +#define HAVE_SENDFILE 1 +#define HAVE_SETENV 1 +#define HAVE_SETFD 1 +#define HAVE_SIGACTION 1 +#define HAVE_SIGNAL 1 +#define HAVE_SPLICE 1 +#define HAVE_STDARG_H 1 +#define HAVE_STDDEF_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_STDLIB_H 1 +#define HAVE_STRINGS_H 1 +#define HAVE_STRING_H 1 +#define HAVE_STRLCPY 1 +#define HAVE_STRSEP 1 +#define HAVE_STRTOK_R 1 +#define HAVE_STRTOLL 1 +#define HAVE_STRUCT_ADDRINFO 1 +#define HAVE_STRUCT_IN6_ADDR 1 +#define HAVE_STRUCT_IN6_ADDR_S6_ADDR16 1 +#define HAVE_STRUCT_IN6_ADDR_S6_ADDR32 1 +#define HAVE_STRUCT_SOCKADDR_IN6 1 +/* #undef HAVE_STRUCT_SOCKADDR_IN6_SIN6_LEN */ +/* #undef HAVE_STRUCT_SOCKADDR_IN_SIN_LEN */ +#define HAVE_STRUCT_SOCKADDR_STORAGE 1 +#define HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY 1 +/* #undef HAVE_STRUCT_SOCKADDR_STORAGE___SS_FAMILY */ +/* #undef HAVE_SYSCTL */ +/* #undef HAVE_SYS_DEVPOLL_H */ +#define HAVE_SYS_EPOLL_H 1 +#define HAVE_SYS_EVENTFD_H 1 +/* #undef HAVE_SYS_EVENT_H */ +#define HAVE_SYS_IOCTL_H 1 +#define HAVE_SYS_MMAN_H 1 +#define HAVE_SYS_PARAM_H 1 +/* #undef HAVE_SYS_QUEUE_H */ +#define HAVE_SYS_SELECT_H 1 +#define HAVE_SYS_SENDFILE_H 1 +#define HAVE_SYS_SOCKET_H 1 +#define HAVE_SYS_STAT_H 1 +/* #undef HAVE_SYS_SYSCTL_H */ +#define HAVE_SYS_TIME_H 1 +#define HAVE_SYS_TYPES_H 1 +#define HAVE_SYS_UIO_H 1 +#define HAVE_SYS_WAIT_H 1 +/* #undef HAVE_TAILQFOREACH */ +#define HAVE_TIMERADD 1 +#define HAVE_TIMERCLEAR 1 +#define HAVE_TIMERCMP 1 +#define HAVE_TIMERISSET 1 +#define HAVE_UINT16_T 1 +#define HAVE_UINT32_T 1 +#define HAVE_UINT64_T 1 +#define HAVE_UINT8_T 1 +#define HAVE_UINTPTR_T 1 +#define HAVE_UMASK 1 +#define HAVE_UNISTD_H 1 +#define HAVE_UNSETENV 1 +#define HAVE_VASPRINTF 1 +/* #undef HAVE_WORKING_KQUEUE */ +/* #undef HAVE_ZLIB_H */ +#define LT_OBJDIR ".libs/" +#define NUMERIC_VERSION 0x02001600 +#define PACKAGE "libevent" +#define PACKAGE_BUGREPORT "" +#define PACKAGE_NAME "" +#define PACKAGE_STRING "" +#define PACKAGE_TARNAME "" +#define PACKAGE_URL "" +#define PACKAGE_VERSION "" +/* #undef PTHREAD_CREATE_JOINABLE */ +#define SIZEOF_INT 4 +#define SIZEOF_LONG 8 +#define SIZEOF_LONG_LONG 8 +#define SIZEOF_OFF_T 8 +#define SIZEOF_PTHREAD_T 8 +#define SIZEOF_SHORT 2 +#define SIZEOF_SIZE_T 8 +#define SIZEOF_VOID_P 8 +#define STDC_HEADERS 1 +#define TIME_WITH_SYS_TIME 1 +#define VERSION "2.0.22-stable" +/* #undef __func__ */ +/* #undef const */ +#ifndef __cplusplus +/* #undef inline */ +#endif +/* #undef pid_t */ +/* #undef size_t */ +/* #undef socklen_t */ +/* #undef ssize_t */ diff --git a/pkg/libevent/gen.rc b/pkg/libevent/gen.rc new file mode 100644 index 00000000..1a9fb3c3 --- /dev/null +++ b/pkg/libevent/gen.rc @@ -0,0 +1,23 @@ +cflags\ + -I '$outdir'/include\ + -I '$srcdir'/include\ + -I include\ + -idirafter pkg/openbsd/src/sys + +build '$outdir'/include/event2/event-config.h\ + sed '$dir'/config.h '|' '$srcdir'/make-event-config.sed +with expr '-f $srcdir/make-event-config.sed' + +phony headers '$outdir'/include/event2/event-config.h + +lib libevent.a -d '$dir'/headers\ + event.c evthread.c buffer.c \ + bufferevent.c bufferevent_sock.c bufferevent_filter.c \ + bufferevent_pair.c listener.c bufferevent_ratelim.c \ + evmap.c log.c evutil.c evutil_rand.c strlcpy.c\ + \ + epoll.c signal.c\ + \ + event_tagging.c http.c evdns.c evrpc.c + +fetch git diff --git a/pkg/libevent/rev b/pkg/libevent/rev new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/pkg/libevent/rev @@ -0,0 +1 @@ +1 diff --git a/pkg/libevent/src b/pkg/libevent/src new file mode 160000 index 00000000..c51b159c --- /dev/null +++ b/pkg/libevent/src @@ -0,0 +1 @@ +Subproject commit c51b159cff9f5e86696f5b9a4c6f517276056258 diff --git a/pkg/libffi/fficonfig.h b/pkg/libffi/fficonfig.h new file mode 100644 index 00000000..e49b5af1 --- /dev/null +++ b/pkg/libffi/fficonfig.h @@ -0,0 +1,68 @@ +#include + +/* #undef AC_APPLE_UNIVERSAL_BUILD */ +/* #undef CRAY_STACKSEG_END */ +/* #undef C_ALLOCA */ +#define EH_FRAME_FLAGS "aw" +/* #undef FFI_DEBUG */ +/* #undef FFI_EXEC_TRAMPOLINE_TABLE */ +/* #undef FFI_MMAP_EXEC_EMUTRAMP_PAX */ +/* #undef FFI_MMAP_EXEC_WRIT */ +/* #undef FFI_NO_RAW_API */ +/* #undef FFI_NO_STRUCTS */ +#define HAVE_ALLOCA 1 +#define HAVE_ALLOCA_H 1 +#define HAVE_AS_ASCII_PSEUDO_OP 1 +#define HAVE_AS_CFI_PSEUDO_OP 1 +/* #undef HAVE_AS_REGISTER_PSEUDO_OP */ +/* #undef HAVE_AS_SPARC_UA_PCREL */ +#define HAVE_AS_STRING_PSEUDO_OP 1 +#define HAVE_AS_X86_64_UNWIND_SECTION_TYPE 1 +#define HAVE_AS_X86_PCREL 1 +#define HAVE_HIDDEN_VISIBILITY_ATTRIBUTE 1 +#define HAVE_LONG_DOUBLE 1 +/* #undef HAVE_LONG_DOUBLE_VARIANT */ +#define HAVE_MEMORY_H 1 +#define HAVE_MKOSTEMP 1 +#define HAVE_MMAP_ANON 1 +#define HAVE_MMAP_DEV_ZERO 1 +#define HAVE_MMAP_FILE 1 +/* #undef HAVE_RO_EH_FRAME */ +#define LT_OBJDIR ".libs/" +#define PACKAGE "libffi" +#define PACKAGE_BUGREPORT "http://github.com/atgreen/libffi/issues" +#define PACKAGE_NAME "libffi" +#define PACKAGE_STRING "libffi 3.2.1" +#define PACKAGE_TARNAME "libffi" +#define PACKAGE_URL "" +#define PACKAGE_VERSION "3.2.1" +#define SIZEOF_DOUBLE 8 +#define SIZEOF_LONG_DOUBLE 16 +#define SIZEOF_SIZE_T 8 +/* #undef STACK_DIRECTION */ +/* #undef SYMBOL_UNDERSCORE */ +/* #undef USING_PURIFY */ +#define VERSION "3.2.1" +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif +/* #undef size_t */ +#ifdef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE +#ifdef LIBFFI_ASM +#define FFI_HIDDEN(name) .hidden name +#else +#define FFI_HIDDEN __attribute__ ((visibility ("hidden"))) +#endif +#else +#ifdef LIBFFI_ASM +#define FFI_HIDDEN(name) +#else +#define FFI_HIDDEN +#endif +#endif diff --git a/pkg/libffi/gen.rc b/pkg/libffi/gen.rc new file mode 100644 index 00000000..3c182720 --- /dev/null +++ b/pkg/libffi/gen.rc @@ -0,0 +1,26 @@ +cflags\ + -I include\ + -I '$dir' \ + -I '$outdir'/include\ + -I '$srcdir'/include + +build '$outdir'/include/ffi.h sed '$srcdir'/include/ffi.h.in ; exprs=(\ + -e s,@VERSION@,3.2.1,\ + -e s,@TARGET@,X86_64,\ + -e s,@HAVE_LONG_DOUBLE@,1,\ + -e s,@HAVE_LONG_DOUBLE_VARIANT@,0,\ + -e s,@FFI_EXEC_TRAMPOLINE_TABLE@,0,\ +) with expr $"exprs +build '$outdir'/include/ffitarget.h copy '$srcdir'/src/x86/ffitarget.h + +hdrs=include/^(ffi.h ffitarget.h) +phony headers '$outdir'/$hdrs +for(hdr in $hdrs) file $hdr '$outdir'/$hdr 644 + +lib libffi.a -d '$dir'/headers src/^(\ + prep_cif.c types.c raw_api.c java_raw_api.c closures.c\ + x86/^(ffi64.c unix64.S ffi.c sysv.S)\ +) +file lib/libffi.a '$outdir'/libffi.a 644 + +fetch git diff --git a/pkg/libffi/rev b/pkg/libffi/rev new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/pkg/libffi/rev @@ -0,0 +1 @@ +1 diff --git a/pkg/libffi/src b/pkg/libffi/src new file mode 160000 index 00000000..20562ac0 --- /dev/null +++ b/pkg/libffi/src @@ -0,0 +1 @@ +Subproject commit 20562ac0427c3578250d04c6e34fb0127d4551cf diff --git a/pkg/libfuse/config.h b/pkg/libfuse/config.h new file mode 100644 index 00000000..a4dfbf5a --- /dev/null +++ b/pkg/libfuse/config.h @@ -0,0 +1,22 @@ +#include + +#define FUSERMOUNT_DIR "/bin" +#define IGNORE_MTAB + +#define HAVE_MEMORY_H 1 +#define HAVE_SETXATTR 1 +#define HAVE_SPLICE 1 +#define HAVE_STRUCT_STAT_ST_ATIM 1 +/* #undef HAVE_STRUCT_STAT_ST_ATIMESPEC */ +#define HAVE_VMSPLICE 1 +#define ICONV_CONST +/* #undef IGNORE_MTAB */ +#define LT_OBJDIR ".libs/" +#define PACKAGE "fuse" +#define PACKAGE_BUGREPORT "" +#define PACKAGE_NAME "fuse" +#define PACKAGE_STRING "fuse 2.9.7" +#define PACKAGE_TARNAME "fuse" +#define PACKAGE_URL "" +#define PACKAGE_VERSION "2.9.7" +#define VERSION "2.9.7" diff --git a/pkg/libfuse/gen.rc b/pkg/libfuse/gen.rc new file mode 100644 index 00000000..096ac3e0 --- /dev/null +++ b/pkg/libfuse/gen.rc @@ -0,0 +1,33 @@ +cflags\ + -D '_FILE_OFFSET_BITS=64' \ + -D 'FUSE_USE_VERSION=26' \ + -I include\ + -I '$dir' \ + -I '$srcdir'/include\ + -I '$srcdir'/lib + +cc lib/mount_util.c + +exe fusermount util/fusermount.c lib/mount_util.c.o +file bin/fusermount '$outdir'/fusermount 4755 +file share/man/man1/fusermount.1 '$srcdir'/doc/fusermount.1 644 + +lib libfuse.a lib/^(\ + fuse.c\ + fuse_kern_chan.c\ + fuse_loop.c\ + fuse_loop_mt.c\ + fuse_lowlevel.c\ + fuse_mt.c\ + fuse_opt.c\ + fuse_session.c\ + fuse_signals.c\ + buffer.c\ + cuse_lowlevel.c\ + helper.c\ + modules/subdir.c\ + \ + mount.c mount_util.c.o\ +) + +fetch git diff --git a/pkg/libfuse/patch/0001-Fix-poll.h-include.patch b/pkg/libfuse/patch/0001-Fix-poll.h-include.patch new file mode 100644 index 00000000..193a7b12 --- /dev/null +++ b/pkg/libfuse/patch/0001-Fix-poll.h-include.patch @@ -0,0 +1,25 @@ +From 8926abd905339e40bf096c904d900caa42e3262f Mon Sep 17 00:00:00 2001 +From: Michael Forney +Date: Fri, 15 Jul 2016 19:21:28 -0700 +Subject: [PATCH] Fix poll.h include + +--- + lib/mount.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/mount.c b/lib/mount.c +index 227a408..0fc7d15 100644 +--- a/lib/mount.c ++++ b/lib/mount.c +@@ -20,7 +20,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + #include +-- +2.9.1 + diff --git a/pkg/libfuse/rev b/pkg/libfuse/rev new file mode 100644 index 00000000..0cfbf088 --- /dev/null +++ b/pkg/libfuse/rev @@ -0,0 +1 @@ +2 diff --git a/pkg/libfuse/src b/pkg/libfuse/src new file mode 160000 index 00000000..df499bf1 --- /dev/null +++ b/pkg/libfuse/src @@ -0,0 +1 @@ +Subproject commit df499bf1ce634f6e67d4d366c4475d32143f00f0 diff --git a/pkg/libnl/defs.h b/pkg/libnl/defs.h new file mode 100644 index 00000000..6c422830 --- /dev/null +++ b/pkg/libnl/defs.h @@ -0,0 +1,20 @@ +#include + +/* #undef DISABLE_PTHREADS */ +#define HAVE_LIBM 1 +#define HAVE_LIBPTHREAD 1 +#define HAVE_MEMORY_H 1 +#define LT_OBJDIR ".libs/" +#define NL_DEBUG 1 +#define PACKAGE "libnl" +#define PACKAGE_BUGREPORT "" +#define PACKAGE_NAME "libnl" +#define PACKAGE_STRING "libnl 3.2.28" +#define PACKAGE_TARNAME "libnl" +#define PACKAGE_URL "http://www.infradead.org/~tgr/libnl/" +#define PACKAGE_VERSION "3.2.28" +#define VERSION "3.2.28" +/* #undef const */ +#ifndef __cplusplus +/* #undef inline */ +#endif diff --git a/pkg/libnl/gen.rc b/pkg/libnl/gen.rc new file mode 100644 index 00000000..35e846b8 --- /dev/null +++ b/pkg/libnl/gen.rc @@ -0,0 +1,52 @@ +cflags\ + -D _GNU_SOURCE\ + -D 'SYSCONFDIR=''"/etc/libnl"''' \ + -isystem include\ + -I '$dir' \ + -I '$outdir'/include\ + -I '$srcdir'/include\ + -I '$srcdir'/include/linux-private + +hdrs=include/netlink/^(\ + addr.h\ + attr.h\ + cache.h\ + data.h\ + errno.h\ + handlers.h\ + genl/^(ctrl.h genl.h)\ + hash.h\ + list.h\ + msg.h\ + netlink.h\ + netlink-compat.h\ + netlink-kernel.h\ + object.h\ + socket.h\ + types.h\ + utils.h\ +) +for(hdr in $hdrs) build '$outdir'/$hdr copy '$srcdir'/$hdr +build '$outdir'/include/netlink/version.h sed '$srcdir'/include/netlink/version.h.in ; exprs=(\ + -e s,@PACKAGE_STRING@,'''libnl 3.2.27''',\ + -e s,@PACKAGE_VERSION@,3.2.27,\ + -e s,@MAJ_VERSION@,3,\ + -e s,@MIN_VERSION@,2,\ + -e s,@MIC_VERSION@,27,\ + -e s,@LT_CURRENT@,222,\ + -e s,@LT_REVISION@,0,\ + -e s,@LT_AGE@,22,\ +) with expr $"exprs +hdrs=($hdrs include/netlink/version.h) +phony headers '$outdir'/$hdrs + +lib libnl-3.a -d '$dir'/headers lib/^(\ + addr.c attr.c cache.c cache_mngr.c cache_mngt.c data.c\ + error.c handlers.c msg.c nl.c object.c socket.c utils.c\ + version.c hash.c hashtable.c\ +) + +lib libnl-genl-3.a -d '$dir'/headers\ + lib/genl/^(ctrl.c family.c genl.c mngt.c) + +fetch git diff --git a/pkg/libnl/rev b/pkg/libnl/rev new file mode 100644 index 00000000..0cfbf088 --- /dev/null +++ b/pkg/libnl/rev @@ -0,0 +1 @@ +2 diff --git a/pkg/libnl/src b/pkg/libnl/src new file mode 160000 index 00000000..656f381c --- /dev/null +++ b/pkg/libnl/src @@ -0,0 +1 @@ +Subproject commit 656f381ccf58785319bb0236595c896125d33ed0 diff --git a/pkg/libpciaccess/config.h b/pkg/libpciaccess/config.h new file mode 100644 index 00000000..d325750e --- /dev/null +++ b/pkg/libpciaccess/config.h @@ -0,0 +1,46 @@ +#include + +#define HAVE_ERR_H 1 +/* #undef HAVE_MACHINE_MTRR_H */ +/* #undef HAVE_MACHINE_SYSARCH_H */ +#define HAVE_MEMORY_H 1 +/* #undef HAVE_MTRR */ +/* #undef HAVE_PCI_IO_PC_DOMAIN */ +/* #undef HAVE_ZLIB */ +/* #undef LINUX_ROM */ +#define LT_OBJDIR ".libs/" +#define PACKAGE "libpciaccess" +#define PACKAGE_BUGREPORT "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=libpciaccess" +#define PACKAGE_NAME "libpciaccess" +#define PACKAGE_STRING "libpciaccess 0.13.4" +#define PACKAGE_TARNAME "libpciaccess" +#define PACKAGE_URL "" +#define PACKAGE_VERSION "0.13.4" +#define PACKAGE_VERSION_MAJOR 0 +#define PACKAGE_VERSION_MINOR 13 +#define PACKAGE_VERSION_PATCHLEVEL 4 +#define PCIIDS_PATH "/share/hwdata" +#ifndef _ALL_SOURCE +# define _ALL_SOURCE 1 +#endif +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif +#ifndef _POSIX_PTHREAD_SEMANTICS +# define _POSIX_PTHREAD_SEMANTICS 1 +#endif +#ifndef _TANDEM_SOURCE +# define _TANDEM_SOURCE 1 +#endif +#ifndef __EXTENSIONS__ +# define __EXTENSIONS__ 1 +#endif +#define VERSION "0.13.4" +#ifndef _DARWIN_USE_64_BIT_INODE +# define _DARWIN_USE_64_BIT_INODE 1 +#endif +/* #undef _FILE_OFFSET_BITS */ +/* #undef _LARGE_FILES */ +/* #undef _MINIX */ +/* #undef _POSIX_1_SOURCE */ +/* #undef _POSIX_SOURCE */ diff --git a/pkg/libpciaccess/gen.rc b/pkg/libpciaccess/gen.rc new file mode 100644 index 00000000..ab0fb6ff --- /dev/null +++ b/pkg/libpciaccess/gen.rc @@ -0,0 +1,20 @@ +cflags\ + -D HAVE_CONFIG_H\ + -I include\ + -I '$dir' \ + -I '$srcdir'/include + +lib libpciaccess.a src/^(\ + common_bridge.c\ + common_iterator.c\ + common_init.c\ + common_interface.c\ + common_io.c\ + common_capability.c\ + common_device_name.c\ + common_map.c\ + common_vgaarb.c\ + linux_sysfs.c linux_devmem.c\ +) + +fetch git diff --git a/pkg/libpciaccess/patch/0001-linux_sysfs.c-Include-limits.h-for-PATH_MAX.patch b/pkg/libpciaccess/patch/0001-linux_sysfs.c-Include-limits.h-for-PATH_MAX.patch new file mode 100644 index 00000000..c9a955b2 --- /dev/null +++ b/pkg/libpciaccess/patch/0001-linux_sysfs.c-Include-limits.h-for-PATH_MAX.patch @@ -0,0 +1,30 @@ +From a371658cdd5df0ca35cce64de9694edd27106a06 Mon Sep 17 00:00:00 2001 +From: Felix Janda +Date: Fri, 1 May 2015 16:36:50 +0200 +Subject: [PATCH] linux_sysfs.c: Include for PATH_MAX + +Fixes compilation with musl libc. + +Tested-by: Bernd Kuhls +Signed-off-by: Felix Janda +Reviewed-by: Alan Coopersmith +Signed-off-by: Alan Coopersmith +--- + src/linux_sysfs.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/linux_sysfs.c b/src/linux_sysfs.c +index 50d94cf..3f95e53 100644 +--- a/src/linux_sysfs.c ++++ b/src/linux_sysfs.c +@@ -45,6 +45,7 @@ + #include + #include + #include ++#include + #include + #include + #include +-- +2.9.0 + diff --git a/pkg/libpciaccess/rev b/pkg/libpciaccess/rev new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/pkg/libpciaccess/rev @@ -0,0 +1 @@ +1 diff --git a/pkg/libpciaccess/src b/pkg/libpciaccess/src new file mode 160000 index 00000000..bbd1acdd --- /dev/null +++ b/pkg/libpciaccess/src @@ -0,0 +1 @@ +Subproject commit bbd1acdd1d25b9a68f4b7913a4094af20d7cf78f diff --git a/pkg/libressl/gen.rc b/pkg/libressl/gen.rc new file mode 100644 index 00000000..f2ba83f3 --- /dev/null +++ b/pkg/libressl/gen.rc @@ -0,0 +1,307 @@ +cflags\ + -Wno-attributes\ + -D LIBRESSL_INTERNAL\ + -D OPENSSL_NO_HW_PADLOCK\ + -D OPENSSL_NO_ASM\ + -D '''__warn_references(sym,msg)=''' \ + -isystem pkg/openbsd/include\ + -I '$outdir'/include\ + -I '$outdir'/internal\ + -I '$srcdir'/src/lib/libcrypto\ + -I '$srcdir'/src/lib/libcrypto/asn1\ + -I '$srcdir'/src/lib/libcrypto/evp\ + -I '$srcdir'/src/lib/libcrypto/modes + +srchdrs=(\ + libcrypto/^(\ + aes/aes.h\ + asn1/asn1.h\ + asn1/asn1_mac.h\ + asn1/asn1t.h\ + bf/blowfish.h\ + bio/bio.h\ + bn/bn.h\ + buffer/buffer.h\ + camellia/camellia.h\ + cast/cast.h\ + chacha/chacha.h\ + cmac/cmac.h\ + comp/comp.h\ + conf/conf.h\ + conf/conf_api.h\ + crypto.h\ + des/des.h\ + dh/dh.h\ + dsa/dsa.h\ + dso/dso.h\ + ec/ec.h\ + ecdh/ecdh.h\ + ecdsa/ecdsa.h\ + engine/engine.h\ + err/err.h\ + evp/evp.h\ + gost/gost.h\ + hmac/hmac.h\ + idea/idea.h\ + krb5/krb5_asn.h\ + lhash/lhash.h\ + md4/md4.h\ + md5/md5.h\ + modes/modes.h\ + objects/objects.h\ + ocsp/ocsp.h\ + opensslfeatures.h\ + opensslv.h\ + ossl_typ.h\ + pem/pem.h\ + pem/pem2.h\ + pkcs12/pkcs12.h\ + pkcs7/pkcs7.h\ + poly1305/poly1305.h\ + rand/rand.h\ + rc2/rc2.h\ + rc4/rc4.h\ + ripemd/ripemd.h\ + rsa/rsa.h\ + sha/sha.h\ + stack/safestack.h\ + stack/stack.h\ + ts/ts.h\ + txt_db/txt_db.h\ + ui/ui.h\ + ui/ui_compat.h\ + whrlpool/whrlpool.h\ + x509/x509.h\ + x509/x509_vfy.h\ + x509v3/x509v3.h\ + \ + objects/obj_mac.h\ + )\ + libssl/^(srtp.h ssl.h ssl2.h ssl3.h ssl23.h tls1.h dtls1.h)\ + libcrypto/arch/amd64/opensslconf.h\ +) +hdrs=() +for(srchdr in $srchdrs) { + base=`{basename $srchdr} + hdr='$outdir'/include/openssl/$base + hdrs=($hdrs $hdr) + build $hdr copy '$srcdir'/src/lib/$srchdr + file include/openssl/$base '$srcdir'/src/lib/$srchdr 644 +} +phony headers $hdrs + +# src/lib/libcrypto/crypto/Makefile +lib libcrypto.a -d '$dir'/headers src/lib/libcrypto/^(\ + cryptlib.c malloc-wrapper.c mem_dbg.c cversion.c ex_data.c cpt_err.c\ + o_time.c o_str.c o_init.c\ + mem_clr.c\ + aes/^(\ + aes_misc.c aes_ecb.c aes_cfb.c aes_ofb.c\ + aes_ctr.c aes_ige.c aes_wrap.c\ + )\ + asn1/^(\ + a_object.c a_bitstr.c a_time.c a_int.c a_octet.c\ + a_print.c a_type.c a_dup.c a_d2i_fp.c a_i2d_fp.c\ + a_enum.c a_utf8.c a_sign.c a_digest.c a_verify.c a_mbstr.c a_strex.c\ + x_algor.c x_val.c x_pubkey.c x_sig.c x_req.c x_attrib.c x_bignum.c\ + x_long.c x_name.c x_x509.c x_x509a.c x_crl.c x_info.c x_spki.c nsseq.c\ + x_nx509.c d2i_pu.c d2i_pr.c i2d_pu.c i2d_pr.c\ + t_req.c t_x509.c t_x509a.c t_crl.c t_pkey.c t_spki.c t_bitst.c\ + tasn_new.c tasn_fre.c tasn_enc.c tasn_dec.c tasn_utl.c tasn_typ.c\ + tasn_prn.c ameth_lib.c\ + f_int.c f_string.c n_pkey.c\ + f_enum.c x_pkey.c a_bool.c x_exten.c bio_asn1.c bio_ndef.c asn_mime.c\ + asn1_gen.c asn1_par.c asn1_lib.c asn1_err.c a_bytes.c a_strnid.c\ + evp_asn1.c asn_pack.c p5_pbe.c p5_pbev2.c p8_pkey.c asn_moid.c\ + a_set.c\ + a_time_tm.c\ + )\ + bf/^(bf_skey.c bf_ecb.c bf_cfb64.c bf_ofb64.c)\ + bio/^(\ + bio_lib.c bio_cb.c bio_err.c\ + bss_mem.c bss_null.c bss_fd.c\ + bss_file.c bss_sock.c bss_conn.c\ + bf_null.c bf_buff.c b_print.c b_dump.c\ + b_posix.c b_sock.c bss_acpt.c bf_nbio.c bss_log.c bss_bio.c\ + bss_dgram.c\ + )\ + bn/^(\ + bn_add.c bn_div.c bn_exp.c bn_lib.c bn_ctx.c bn_mul.c bn_mod.c\ + bn_print.c bn_rand.c bn_shift.c bn_word.c bn_blind.c\ + bn_kron.c bn_sqrt.c bn_gcd.c bn_prime.c bn_err.c bn_sqr.c\ + bn_recp.c bn_mont.c bn_mpi.c bn_exp2.c bn_gf2m.c bn_nist.c\ + bn_depr.c bn_const.c bn_x931p.c\ + )\ + buffer/^(buffer.c buf_err.c buf_str.c)\ + camellia/^(cmll_cfb.c cmll_ctr.c cmll_ecb.c cmll_ofb.c)\ + cast/^(c_skey.c c_ecb.c c_enc.c c_cfb64.c c_ofb64.c)\ + chacha/chacha.c\ + cmac/^(cmac.c cm_ameth.c cm_pmeth.c)\ + comp/^(comp_lib.c comp_err.c c_rle.c c_zlib.c)\ + conf/^(\ + conf_err.c conf_lib.c conf_api.c conf_def.c conf_mod.c\ + conf_mall.c conf_sap.c\ + )\ + des/^(\ + cbc_cksm.c cbc_enc.c cfb64enc.c cfb_enc.c\ + ecb3_enc.c ecb_enc.c enc_read.c enc_writ.c\ + fcrypt.c ofb64enc.c ofb_enc.c pcbc_enc.c\ + qud_cksm.c rand_key.c set_key.c xcbc_enc.c\ + str2key.c cfb64ede.c ofb64ede.c ede_cbcm_enc.c\ + )\ + dh/^(\ + dh_asn1.c dh_gen.c dh_key.c dh_lib.c dh_check.c dh_err.c dh_depr.c\ + dh_ameth.c dh_pmeth.c dh_prn.c\ + )\ + dsa/^(\ + dsa_gen.c dsa_key.c dsa_lib.c dsa_asn1.c dsa_vrf.c dsa_sign.c\ + dsa_err.c dsa_ossl.c dsa_depr.c dsa_ameth.c dsa_pmeth.c dsa_prn.c\ + )\ + dso/^(\ + dso_dlfcn.c dso_err.c dso_lib.c dso_null.c\ + dso_openssl.c\ + )\ + ec/^(\ + ec_lib.c ecp_smpl.c ecp_mont.c ecp_nist.c ec_cvt.c ec_mult.c\ + ec_err.c ec_curve.c ec_check.c ec_print.c ec_asn1.c ec_key.c\ + ec2_smpl.c ec2_mult.c ec_ameth.c ec_pmeth.c eck_prn.c\ + ecp_nistp224.c ecp_nistp256.c ecp_nistp521.c ecp_nistputil.c\ + ecp_oct.c ec2_oct.c ec_oct.c\ + )\ + ecdh/^(ech_lib.c ech_key.c ech_err.c)\ + ecdsa/^(ecs_lib.c ecs_asn1.c ecs_ossl.c ecs_sign.c ecs_vrf.c ecs_err.c)\ + engine/^(\ + eng_err.c eng_lib.c eng_list.c eng_init.c eng_ctrl.c\ + eng_table.c eng_pkey.c eng_fat.c eng_all.c\ + tb_rsa.c tb_dsa.c tb_ecdsa.c tb_dh.c tb_ecdh.c tb_rand.c tb_store.c\ + tb_cipher.c tb_digest.c tb_pkmeth.c tb_asnmth.c\ + eng_openssl.c eng_cnf.c eng_dyn.c\ + )\ + err/^(err.c err_all.c err_prn.c)\ + evp/^(\ + encode.c digest.c evp_enc.c evp_key.c\ + e_des.c e_bf.c e_idea.c e_des3.c e_camellia.c\ + e_rc4.c e_aes.c names.c\ + e_xcbc_d.c e_rc2.c e_cast.c\ + m_null.c m_md4.c m_md5.c m_sha1.c m_wp.c\ + m_dss.c m_dss1.c m_ripemd.c m_ecdsa.c\ + p_open.c p_seal.c p_sign.c p_verify.c p_lib.c p_enc.c p_dec.c\ + bio_md.c bio_b64.c bio_enc.c evp_err.c e_null.c\ + c_all.c evp_lib.c\ + evp_pkey.c evp_pbe.c p5_crpt.c p5_crpt2.c\ + e_old.c pmeth_lib.c pmeth_fn.c pmeth_gn.c m_sigver.c\ + e_aes_cbc_hmac_sha1.c e_rc4_hmac_md5.c\ + e_chacha.c evp_aead.c e_chacha20poly1305.c\ + e_gost2814789.c m_gost2814789.c m_gostr341194.c m_streebog.c\ + )\ + gost/^(\ + gost2814789.c gost89_keywrap.c gost89_params.c gost89imit_ameth.c\ + gost89imit_pmeth.c gost_asn1.c gost_err.c gostr341001.c\ + gostr341001_ameth.c gostr341001_key.c gostr341001_params.c\ + gostr341001_pmeth.c gostr341194.c streebog.c\ + )\ + hmac/^(hmac.c hm_ameth.c hm_pmeth.c)\ + idea/^(i_cbc.c i_cfb64.c i_ofb64.c i_ecb.c i_skey.c)\ + krb5/krb5_asn.c\ + lhash/^(lhash.c lh_stats.c)\ + md4/^(md4_dgst.c md4_one.c)\ + md5/^(md5_dgst.c md5_one.c)\ + modes/^(cbc128.c ctr128.c cts128.c cfb128.c ofb128.c gcm128.c ccm128.c xts128.c)\ + objects/^(o_names.c obj_dat.c obj_lib.c obj_err.c obj_xref.c)\ + ocsp/^(\ + ocsp_asn.c ocsp_ext.c ocsp_ht.c ocsp_lib.c ocsp_cl.c\ + ocsp_srv.c ocsp_prn.c ocsp_vfy.c ocsp_err.c\ + )\ + pem/^(\ + pem_sign.c pem_seal.c pem_info.c pem_lib.c pem_all.c pem_err.c\ + pem_x509.c pem_xaux.c pem_oth.c pem_pk8.c pem_pkey.c pvkfmt.c\ + )\ + pkcs12/^(\ + p12_add.c p12_asn.c p12_attr.c p12_crpt.c p12_crt.c p12_decr.c\ + p12_init.c p12_key.c p12_kiss.c p12_mutl.c\ + p12_utl.c p12_npas.c pk12err.c p12_p8d.c p12_p8e.c\ + )\ + pkcs7/^(\ + pk7_asn1.c pk7_lib.c pkcs7err.c pk7_doit.c pk7_smime.c pk7_attr.c\ + pk7_mime.c bio_pk7.c\ + )\ + poly1305/poly1305.c\ + rand/^(randfile.c rand_lib.c rand_err.c)\ + rc2/^(rc2_ecb.c rc2_skey.c rc2_cbc.c rc2cfb64.c rc2ofb64.c)\ + ripemd/^(rmd_dgst.c rmd_one.c)\ + rsa/^(\ + rsa_eay.c rsa_gen.c rsa_lib.c rsa_sign.c rsa_saos.c rsa_err.c\ + rsa_pk1.c rsa_ssl.c rsa_none.c rsa_oaep.c rsa_chk.c\ + rsa_pss.c rsa_x931.c rsa_asn1.c rsa_depr.c rsa_ameth.c rsa_prn.c\ + rsa_pmeth.c rsa_crpt.c\ + )\ + sha/^(sha1dgst.c sha1_one.c sha256.c sha512.c)\ + stack/stack.c\ + ts/^(\ + ts_err.c ts_req_utils.c ts_req_print.c ts_rsp_utils.c ts_rsp_print.c\ + ts_rsp_sign.c ts_rsp_verify.c ts_verify_ctx.c ts_lib.c ts_conf.c\ + ts_asn1.c\ + )\ + txt_db/txt_db.c\ + ui/^(ui_err.c ui_lib.c ui_openssl.c ui_util.c)\ + whrlpool/wp_dgst.c\ + x509/^(\ + x509_def.c x509_d2.c x509_r2x.c x509_cmp.c\ + x509_obj.c x509_req.c x509spki.c x509_vfy.c\ + x509_set.c x509cset.c x509rset.c x509_err.c\ + x509name.c x509_v3.c x509_ext.c x509_att.c\ + x509type.c x509_lu.c x_all.c x509_txt.c\ + x509_trs.c by_file.c by_dir.c by_mem.c x509_vpm.c\ + )\ + x509v3/^(\ + v3_bcons.c v3_bitst.c v3_conf.c v3_extku.c v3_ia5.c v3_lib.c\ + v3_prn.c v3_utl.c v3err.c v3_genn.c v3_alt.c v3_skey.c v3_akey.c v3_pku.c\ + v3_int.c v3_enum.c v3_sxnet.c v3_cpols.c v3_crld.c v3_purp.c v3_info.c\ + v3_ocsp.c v3_akeya.c v3_pmaps.c v3_pcons.c v3_ncons.c v3_pcia.c v3_pci.c\ + pcy_cache.c pcy_node.c pcy_data.c pcy_map.c pcy_tree.c pcy_lib.c\ + )\ + \ + aes/^(aes_core.c aes_cbc.c)\ + bf/^(bf_enc.c)\ + bn/^(bn_asm.c)\ + camellia/^(camellia.c cmll_cbc.c cmll_misc.c)\ + des/^(des_enc.c fcrypt_b.c)\ + rc4/^(rc4_enc.c rc4_skey.c)\ + whrlpool/^(wp_block.c)\ +) '$builddir'/pkg/openbsd/libbsd.a +file lib/libcrypto.a '$outdir'/libcrypto.a 644 + +# src/lib/libssl/ssl/Makefile +lib libssl.a src/lib/libssl/^(\ + s3_srvr.c s3_clnt.c s3_lib.c s3_pkt.c s3_both.c \ + s23_srvr.c s23_clnt.c s23_lib.c s23_pkt.c \ + t1_meth.c t1_srvr.c t1_clnt.c t1_lib.c t1_enc.c \ + d1_meth.c d1_srvr.c d1_clnt.c d1_lib.c d1_pkt.c \ + d1_both.c d1_enc.c d1_srtp.c \ + ssl_lib.c ssl_err2.c ssl_cert.c ssl_sess.c \ + ssl_ciph.c ssl_stat.c ssl_rsa.c \ + ssl_asn1.c ssl_txt.c ssl_algs.c \ + bio_ssl.c ssl_err.c t1_reneg.c \ + pqueue.c\ + \ + s3_cbc.c\ + bs_ber.c bs_cbb.c bs_cbs.c\ +) libcrypto.a.d +file lib/libssl.a '$outdir'/libssl.a 644 + +# src/usr.bin/openssl/Makefile +exe openssl src/usr.bin/openssl/^(\ + apps.c apps_posix.c asn1pars.c ca.c certhash.c ciphers.c crl.c\ + crl2p7.c dgst.c dh.c dhparam.c dsa.c dsaparam.c ec.c ecparam.c enc.c\ + errstr.c gendh.c gendsa.c genpkey.c genrsa.c nseq.c ocsp.c\ + openssl.c passwd.c pkcs12.c pkcs7.c pkcs8.c pkey.c pkeyparam.c\ + pkeyutl.c prime.c rand.c req.c rsa.c rsautl.c s_cb.c s_client.c\ + s_server.c s_socket.c s_time.c sess_id.c smime.c speed.c spkac.c ts.c\ + verify.c version.c x509.c\ +) libssl.a.d libcrypto.a.d +file bin/openssl '$outdir'/openssl 755 +file share/man/man1/openssl.1 '$srcdir'/src/usr.bin/openssl/openssl.1 644 + +file share/libressl/cert.pem '$srcdir'/src/lib/libcrypto/cert.pem 644 + +fetch git diff --git a/pkg/libressl/patch/0001-Add-generated-obj_-dat-mac-.h-from-libressl-2.5.0-di.patch b/pkg/libressl/patch/0001-Add-generated-obj_-dat-mac-.h-from-libressl-2.5.0-di.patch new file mode 100644 index 00000000..e1ecf6ad --- /dev/null +++ b/pkg/libressl/patch/0001-Add-generated-obj_-dat-mac-.h-from-libressl-2.5.0-di.patch @@ -0,0 +1,9450 @@ +From 9e633f64197625448e65ad2f86cb033bc12b2c4a Mon Sep 17 00:00:00 2001 +From: Michael Forney +Date: Tue, 14 Jun 2016 21:17:48 -0700 +Subject: [PATCH] Add generated obj_{dat,mac}.h from libressl 2.5.0 + distribution + +--- + src/lib/libcrypto/objects/obj_dat.h | 5266 +++++++++++++++++++++++++++++++++++ + src/lib/libcrypto/objects/obj_mac.h | 4156 +++++++++++++++++++++++++++ + 2 files changed, 9422 insertions(+) + create mode 100644 src/lib/libcrypto/objects/obj_dat.h + create mode 100644 src/lib/libcrypto/objects/obj_mac.h + +diff --git a/src/lib/libcrypto/objects/obj_dat.h b/src/lib/libcrypto/objects/obj_dat.h +new file mode 100644 +index 0000000..fdb826a +--- /dev/null ++++ b/src/lib/libcrypto/objects/obj_dat.h +@@ -0,0 +1,5266 @@ ++/* crypto/objects/obj_dat.h */ ++ ++/* THIS FILE IS GENERATED FROM objects.h by obj_dat.pl via the ++ * following command: ++ * perl obj_dat.pl obj_mac.h obj_dat.h ++ */ ++ ++/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) ++ * All rights reserved. ++ * ++ * This package is an SSL implementation written ++ * by Eric Young (eay@cryptsoft.com). ++ * The implementation was written so as to conform with Netscapes SSL. ++ * ++ * This library is free for commercial and non-commercial use as long as ++ * the following conditions are aheared to. The following conditions ++ * apply to all code found in this distribution, be it the RC4, RSA, ++ * lhash, DES, etc., code; not just the SSL code. The SSL documentation ++ * included with this distribution is covered by the same copyright terms ++ * except that the holder is Tim Hudson (tjh@cryptsoft.com). ++ * ++ * Copyright remains Eric Young's, and as such any Copyright notices in ++ * the code are not to be removed. ++ * If this package is used in a product, Eric Young should be given attribution ++ * as the author of the parts of the library used. ++ * This can be in the form of a textual message at program startup or ++ * in documentation (online or textual) provided with the package. ++ * ++ * 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 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. All advertising materials mentioning features or use of this software ++ * must display the following acknowledgement: ++ * "This product includes cryptographic software written by ++ * Eric Young (eay@cryptsoft.com)" ++ * The word 'cryptographic' can be left out if the rouines from the library ++ * being used are not cryptographic related :-). ++ * 4. If you include any Windows specific code (or a derivative thereof) from ++ * the apps directory (application code) you must include an acknowledgement: ++ * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" ++ * ++ * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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. ++ * ++ * The licence and distribution terms for any publically available version or ++ * derivative of this code cannot be changed. i.e. this code cannot simply be ++ * copied and put under another distribution licence ++ * [including the GNU Public Licence.] ++ */ ++ ++#define NUM_NID 950 ++#define NUM_SN 943 ++#define NUM_LN 943 ++#define NUM_OBJ 884 ++ ++static const unsigned char lvalues[6199]={ ++0x2A,0x86,0x48,0x86,0xF7,0x0D, /* [ 0] OBJ_rsadsi */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01, /* [ 6] OBJ_pkcs */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x02, /* [ 13] OBJ_md2 */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x05, /* [ 21] OBJ_md5 */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x03,0x04, /* [ 29] OBJ_rc4 */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x01,/* [ 37] OBJ_rsaEncryption */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x02,/* [ 46] OBJ_md2WithRSAEncryption */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x04,/* [ 55] OBJ_md5WithRSAEncryption */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x05,0x01,/* [ 64] OBJ_pbeWithMD2AndDES_CBC */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x05,0x03,/* [ 73] OBJ_pbeWithMD5AndDES_CBC */ ++0x55, /* [ 82] OBJ_X500 */ ++0x55,0x04, /* [ 83] OBJ_X509 */ ++0x55,0x04,0x03, /* [ 85] OBJ_commonName */ ++0x55,0x04,0x06, /* [ 88] OBJ_countryName */ ++0x55,0x04,0x07, /* [ 91] OBJ_localityName */ ++0x55,0x04,0x08, /* [ 94] OBJ_stateOrProvinceName */ ++0x55,0x04,0x0A, /* [ 97] OBJ_organizationName */ ++0x55,0x04,0x0B, /* [100] OBJ_organizationalUnitName */ ++0x55,0x08,0x01,0x01, /* [103] OBJ_rsa */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x07, /* [107] OBJ_pkcs7 */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x07,0x01,/* [115] OBJ_pkcs7_data */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x07,0x02,/* [124] OBJ_pkcs7_signed */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x07,0x03,/* [133] OBJ_pkcs7_enveloped */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x07,0x04,/* [142] OBJ_pkcs7_signedAndEnveloped */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x07,0x05,/* [151] OBJ_pkcs7_digest */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x07,0x06,/* [160] OBJ_pkcs7_encrypted */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x03, /* [169] OBJ_pkcs3 */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x03,0x01,/* [177] OBJ_dhKeyAgreement */ ++0x2B,0x0E,0x03,0x02,0x06, /* [186] OBJ_des_ecb */ ++0x2B,0x0E,0x03,0x02,0x09, /* [191] OBJ_des_cfb64 */ ++0x2B,0x0E,0x03,0x02,0x07, /* [196] OBJ_des_cbc */ ++0x2B,0x0E,0x03,0x02,0x11, /* [201] OBJ_des_ede_ecb */ ++0x2B,0x06,0x01,0x04,0x01,0x81,0x3C,0x07,0x01,0x01,0x02,/* [206] OBJ_idea_cbc */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x03,0x02, /* [217] OBJ_rc2_cbc */ ++0x2B,0x0E,0x03,0x02,0x12, /* [225] OBJ_sha */ ++0x2B,0x0E,0x03,0x02,0x0F, /* [230] OBJ_shaWithRSAEncryption */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x03,0x07, /* [235] OBJ_des_ede3_cbc */ ++0x2B,0x0E,0x03,0x02,0x08, /* [243] OBJ_des_ofb64 */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09, /* [248] OBJ_pkcs9 */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x01,/* [256] OBJ_pkcs9_emailAddress */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x02,/* [265] OBJ_pkcs9_unstructuredName */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x03,/* [274] OBJ_pkcs9_contentType */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x04,/* [283] OBJ_pkcs9_messageDigest */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x05,/* [292] OBJ_pkcs9_signingTime */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x06,/* [301] OBJ_pkcs9_countersignature */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x07,/* [310] OBJ_pkcs9_challengePassword */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x08,/* [319] OBJ_pkcs9_unstructuredAddress */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x09,/* [328] OBJ_pkcs9_extCertAttributes */ ++0x60,0x86,0x48,0x01,0x86,0xF8,0x42, /* [337] OBJ_netscape */ ++0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x01, /* [344] OBJ_netscape_cert_extension */ ++0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x02, /* [352] OBJ_netscape_data_type */ ++0x2B,0x0E,0x03,0x02,0x1A, /* [360] OBJ_sha1 */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x05,/* [365] OBJ_sha1WithRSAEncryption */ ++0x2B,0x0E,0x03,0x02,0x0D, /* [374] OBJ_dsaWithSHA */ ++0x2B,0x0E,0x03,0x02,0x0C, /* [379] OBJ_dsa_2 */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x05,0x0B,/* [384] OBJ_pbeWithSHA1AndRC2_CBC */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x05,0x0C,/* [393] OBJ_id_pbkdf2 */ ++0x2B,0x0E,0x03,0x02,0x1B, /* [402] OBJ_dsaWithSHA1_2 */ ++0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x01,0x01,/* [407] OBJ_netscape_cert_type */ ++0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x01,0x02,/* [416] OBJ_netscape_base_url */ ++0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x01,0x03,/* [425] OBJ_netscape_revocation_url */ ++0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x01,0x04,/* [434] OBJ_netscape_ca_revocation_url */ ++0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x01,0x07,/* [443] OBJ_netscape_renewal_url */ ++0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x01,0x08,/* [452] OBJ_netscape_ca_policy_url */ ++0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x01,0x0C,/* [461] OBJ_netscape_ssl_server_name */ ++0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x01,0x0D,/* [470] OBJ_netscape_comment */ ++0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x02,0x05,/* [479] OBJ_netscape_cert_sequence */ ++0x55,0x1D, /* [488] OBJ_id_ce */ ++0x55,0x1D,0x0E, /* [490] OBJ_subject_key_identifier */ ++0x55,0x1D,0x0F, /* [493] OBJ_key_usage */ ++0x55,0x1D,0x10, /* [496] OBJ_private_key_usage_period */ ++0x55,0x1D,0x11, /* [499] OBJ_subject_alt_name */ ++0x55,0x1D,0x12, /* [502] OBJ_issuer_alt_name */ ++0x55,0x1D,0x13, /* [505] OBJ_basic_constraints */ ++0x55,0x1D,0x14, /* [508] OBJ_crl_number */ ++0x55,0x1D,0x20, /* [511] OBJ_certificate_policies */ ++0x55,0x1D,0x23, /* [514] OBJ_authority_key_identifier */ ++0x2B,0x06,0x01,0x04,0x01,0x97,0x55,0x01,0x02,/* [517] OBJ_bf_cbc */ ++0x55,0x08,0x03,0x65, /* [526] OBJ_mdc2 */ ++0x55,0x08,0x03,0x64, /* [530] OBJ_mdc2WithRSA */ ++0x55,0x04,0x2A, /* [534] OBJ_givenName */ ++0x55,0x04,0x04, /* [537] OBJ_surname */ ++0x55,0x04,0x2B, /* [540] OBJ_initials */ ++0x55,0x1D,0x1F, /* [543] OBJ_crl_distribution_points */ ++0x2B,0x0E,0x03,0x02,0x03, /* [546] OBJ_md5WithRSA */ ++0x55,0x04,0x05, /* [551] OBJ_serialNumber */ ++0x55,0x04,0x0C, /* [554] OBJ_title */ ++0x55,0x04,0x0D, /* [557] OBJ_description */ ++0x2A,0x86,0x48,0x86,0xF6,0x7D,0x07,0x42,0x0A,/* [560] OBJ_cast5_cbc */ ++0x2A,0x86,0x48,0x86,0xF6,0x7D,0x07,0x42,0x0C,/* [569] OBJ_pbeWithMD5AndCast5_CBC */ ++0x2A,0x86,0x48,0xCE,0x38,0x04,0x03, /* [578] OBJ_dsaWithSHA1 */ ++0x2B,0x0E,0x03,0x02,0x1D, /* [585] OBJ_sha1WithRSA */ ++0x2A,0x86,0x48,0xCE,0x38,0x04,0x01, /* [590] OBJ_dsa */ ++0x2B,0x24,0x03,0x02,0x01, /* [597] OBJ_ripemd160 */ ++0x2B,0x24,0x03,0x03,0x01,0x02, /* [602] OBJ_ripemd160WithRSA */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x03,0x08, /* [608] OBJ_rc5_cbc */ ++0x29,0x01,0x01,0x85,0x1A,0x01, /* [616] OBJ_rle_compression */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x03,0x08,/* [622] OBJ_zlib_compression */ ++0x55,0x1D,0x25, /* [633] OBJ_ext_key_usage */ ++0x2B,0x06,0x01,0x05,0x05,0x07, /* [636] OBJ_id_pkix */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x03, /* [642] OBJ_id_kp */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x01, /* [649] OBJ_server_auth */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x02, /* [657] OBJ_client_auth */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x03, /* [665] OBJ_code_sign */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x04, /* [673] OBJ_email_protect */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x08, /* [681] OBJ_time_stamp */ ++0x2B,0x06,0x01,0x04,0x01,0x82,0x37,0x02,0x01,0x15,/* [689] OBJ_ms_code_ind */ ++0x2B,0x06,0x01,0x04,0x01,0x82,0x37,0x02,0x01,0x16,/* [699] OBJ_ms_code_com */ ++0x2B,0x06,0x01,0x04,0x01,0x82,0x37,0x0A,0x03,0x01,/* [709] OBJ_ms_ctl_sign */ ++0x2B,0x06,0x01,0x04,0x01,0x82,0x37,0x0A,0x03,0x03,/* [719] OBJ_ms_sgc */ ++0x2B,0x06,0x01,0x04,0x01,0x82,0x37,0x0A,0x03,0x04,/* [729] OBJ_ms_efs */ ++0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x04,0x01,/* [739] OBJ_ns_sgc */ ++0x55,0x1D,0x1B, /* [748] OBJ_delta_crl */ ++0x55,0x1D,0x15, /* [751] OBJ_crl_reason */ ++0x55,0x1D,0x18, /* [754] OBJ_invalidity_date */ ++0x2B,0x65,0x01,0x04,0x01, /* [757] OBJ_sxnet */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x0C,0x01,0x01,/* [762] OBJ_pbe_WithSHA1And128BitRC4 */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x0C,0x01,0x02,/* [772] OBJ_pbe_WithSHA1And40BitRC4 */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x0C,0x01,0x03,/* [782] OBJ_pbe_WithSHA1And3_Key_TripleDES_CBC */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x0C,0x01,0x04,/* [792] OBJ_pbe_WithSHA1And2_Key_TripleDES_CBC */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x0C,0x01,0x05,/* [802] OBJ_pbe_WithSHA1And128BitRC2_CBC */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x0C,0x01,0x06,/* [812] OBJ_pbe_WithSHA1And40BitRC2_CBC */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x0C,0x0A,0x01,0x01,/* [822] OBJ_keyBag */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x0C,0x0A,0x01,0x02,/* [833] OBJ_pkcs8ShroudedKeyBag */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x0C,0x0A,0x01,0x03,/* [844] OBJ_certBag */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x0C,0x0A,0x01,0x04,/* [855] OBJ_crlBag */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x0C,0x0A,0x01,0x05,/* [866] OBJ_secretBag */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x0C,0x0A,0x01,0x06,/* [877] OBJ_safeContentsBag */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x14,/* [888] OBJ_friendlyName */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x15,/* [897] OBJ_localKeyID */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x16,0x01,/* [906] OBJ_x509Certificate */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x16,0x02,/* [916] OBJ_sdsiCertificate */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x17,0x01,/* [926] OBJ_x509Crl */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x05,0x0D,/* [936] OBJ_pbes2 */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x05,0x0E,/* [945] OBJ_pbmac1 */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x07, /* [954] OBJ_hmacWithSHA1 */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x02,0x01, /* [962] OBJ_id_qt_cps */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x02,0x02, /* [970] OBJ_id_qt_unotice */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x0F,/* [978] OBJ_SMIMECapabilities */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x05,0x04,/* [987] OBJ_pbeWithMD2AndRC2_CBC */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x05,0x06,/* [996] OBJ_pbeWithMD5AndRC2_CBC */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x05,0x0A,/* [1005] OBJ_pbeWithSHA1AndDES_CBC */ ++0x2B,0x06,0x01,0x04,0x01,0x82,0x37,0x02,0x01,0x0E,/* [1014] OBJ_ms_ext_req */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x0E,/* [1024] OBJ_ext_req */ ++0x55,0x04,0x29, /* [1033] OBJ_name */ ++0x55,0x04,0x2E, /* [1036] OBJ_dnQualifier */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x01, /* [1039] OBJ_id_pe */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x30, /* [1046] OBJ_id_ad */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x01, /* [1053] OBJ_info_access */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x01, /* [1061] OBJ_ad_OCSP */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x02, /* [1069] OBJ_ad_ca_issuers */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x09, /* [1077] OBJ_OCSP_sign */ ++0x2A, /* [1085] OBJ_member_body */ ++0x2A,0x86,0x48, /* [1086] OBJ_ISO_US */ ++0x2A,0x86,0x48,0xCE,0x38, /* [1089] OBJ_X9_57 */ ++0x2A,0x86,0x48,0xCE,0x38,0x04, /* [1094] OBJ_X9cm */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01, /* [1100] OBJ_pkcs1 */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x05, /* [1108] OBJ_pkcs5 */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,/* [1116] OBJ_SMIME */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x00,/* [1125] OBJ_id_smime_mod */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x01,/* [1135] OBJ_id_smime_ct */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,/* [1145] OBJ_id_smime_aa */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x03,/* [1155] OBJ_id_smime_alg */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x04,/* [1165] OBJ_id_smime_cd */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x05,/* [1175] OBJ_id_smime_spq */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x06,/* [1185] OBJ_id_smime_cti */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x00,0x01,/* [1195] OBJ_id_smime_mod_cms */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x00,0x02,/* [1206] OBJ_id_smime_mod_ess */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x00,0x03,/* [1217] OBJ_id_smime_mod_oid */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x00,0x04,/* [1228] OBJ_id_smime_mod_msg_v3 */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x00,0x05,/* [1239] OBJ_id_smime_mod_ets_eSignature_88 */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x00,0x06,/* [1250] OBJ_id_smime_mod_ets_eSignature_97 */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x00,0x07,/* [1261] OBJ_id_smime_mod_ets_eSigPolicy_88 */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x00,0x08,/* [1272] OBJ_id_smime_mod_ets_eSigPolicy_97 */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x01,0x01,/* [1283] OBJ_id_smime_ct_receipt */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x01,0x02,/* [1294] OBJ_id_smime_ct_authData */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x01,0x03,/* [1305] OBJ_id_smime_ct_publishCert */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x01,0x04,/* [1316] OBJ_id_smime_ct_TSTInfo */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x01,0x05,/* [1327] OBJ_id_smime_ct_TDTInfo */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x01,0x06,/* [1338] OBJ_id_smime_ct_contentInfo */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x01,0x07,/* [1349] OBJ_id_smime_ct_DVCSRequestData */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x01,0x08,/* [1360] OBJ_id_smime_ct_DVCSResponseData */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x01,/* [1371] OBJ_id_smime_aa_receiptRequest */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x02,/* [1382] OBJ_id_smime_aa_securityLabel */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x03,/* [1393] OBJ_id_smime_aa_mlExpandHistory */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x04,/* [1404] OBJ_id_smime_aa_contentHint */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x05,/* [1415] OBJ_id_smime_aa_msgSigDigest */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x06,/* [1426] OBJ_id_smime_aa_encapContentType */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x07,/* [1437] OBJ_id_smime_aa_contentIdentifier */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x08,/* [1448] OBJ_id_smime_aa_macValue */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x09,/* [1459] OBJ_id_smime_aa_equivalentLabels */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x0A,/* [1470] OBJ_id_smime_aa_contentReference */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x0B,/* [1481] OBJ_id_smime_aa_encrypKeyPref */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x0C,/* [1492] OBJ_id_smime_aa_signingCertificate */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x0D,/* [1503] OBJ_id_smime_aa_smimeEncryptCerts */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x0E,/* [1514] OBJ_id_smime_aa_timeStampToken */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x0F,/* [1525] OBJ_id_smime_aa_ets_sigPolicyId */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x10,/* [1536] OBJ_id_smime_aa_ets_commitmentType */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x11,/* [1547] OBJ_id_smime_aa_ets_signerLocation */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x12,/* [1558] OBJ_id_smime_aa_ets_signerAttr */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x13,/* [1569] OBJ_id_smime_aa_ets_otherSigCert */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x14,/* [1580] OBJ_id_smime_aa_ets_contentTimestamp */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x15,/* [1591] OBJ_id_smime_aa_ets_CertificateRefs */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x16,/* [1602] OBJ_id_smime_aa_ets_RevocationRefs */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x17,/* [1613] OBJ_id_smime_aa_ets_certValues */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x18,/* [1624] OBJ_id_smime_aa_ets_revocationValues */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x19,/* [1635] OBJ_id_smime_aa_ets_escTimeStamp */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x1A,/* [1646] OBJ_id_smime_aa_ets_certCRLTimestamp */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x1B,/* [1657] OBJ_id_smime_aa_ets_archiveTimeStamp */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x1C,/* [1668] OBJ_id_smime_aa_signatureType */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x1D,/* [1679] OBJ_id_smime_aa_dvcs_dvc */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x03,0x01,/* [1690] OBJ_id_smime_alg_ESDHwith3DES */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x03,0x02,/* [1701] OBJ_id_smime_alg_ESDHwithRC2 */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x03,0x03,/* [1712] OBJ_id_smime_alg_3DESwrap */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x03,0x04,/* [1723] OBJ_id_smime_alg_RC2wrap */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x03,0x05,/* [1734] OBJ_id_smime_alg_ESDH */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x03,0x06,/* [1745] OBJ_id_smime_alg_CMS3DESwrap */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x03,0x07,/* [1756] OBJ_id_smime_alg_CMSRC2wrap */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x04,0x01,/* [1767] OBJ_id_smime_cd_ldap */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x05,0x01,/* [1778] OBJ_id_smime_spq_ets_sqt_uri */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x05,0x02,/* [1789] OBJ_id_smime_spq_ets_sqt_unotice */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x06,0x01,/* [1800] OBJ_id_smime_cti_ets_proofOfOrigin */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x06,0x02,/* [1811] OBJ_id_smime_cti_ets_proofOfReceipt */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x06,0x03,/* [1822] OBJ_id_smime_cti_ets_proofOfDelivery */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x06,0x04,/* [1833] OBJ_id_smime_cti_ets_proofOfSender */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x06,0x05,/* [1844] OBJ_id_smime_cti_ets_proofOfApproval */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x06,0x06,/* [1855] OBJ_id_smime_cti_ets_proofOfCreation */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x04, /* [1866] OBJ_md4 */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x00, /* [1874] OBJ_id_pkix_mod */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x02, /* [1881] OBJ_id_qt */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x04, /* [1888] OBJ_id_it */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x05, /* [1895] OBJ_id_pkip */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x06, /* [1902] OBJ_id_alg */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x07, /* [1909] OBJ_id_cmc */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x08, /* [1916] OBJ_id_on */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x09, /* [1923] OBJ_id_pda */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x0A, /* [1930] OBJ_id_aca */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x0B, /* [1937] OBJ_id_qcs */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x0C, /* [1944] OBJ_id_cct */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x01, /* [1951] OBJ_id_pkix1_explicit_88 */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x02, /* [1959] OBJ_id_pkix1_implicit_88 */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x03, /* [1967] OBJ_id_pkix1_explicit_93 */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x04, /* [1975] OBJ_id_pkix1_implicit_93 */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x05, /* [1983] OBJ_id_mod_crmf */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x06, /* [1991] OBJ_id_mod_cmc */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x07, /* [1999] OBJ_id_mod_kea_profile_88 */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x08, /* [2007] OBJ_id_mod_kea_profile_93 */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x09, /* [2015] OBJ_id_mod_cmp */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x0A, /* [2023] OBJ_id_mod_qualified_cert_88 */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x0B, /* [2031] OBJ_id_mod_qualified_cert_93 */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x0C, /* [2039] OBJ_id_mod_attribute_cert */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x0D, /* [2047] OBJ_id_mod_timestamp_protocol */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x0E, /* [2055] OBJ_id_mod_ocsp */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x0F, /* [2063] OBJ_id_mod_dvcs */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x00,0x10, /* [2071] OBJ_id_mod_cmp2000 */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x02, /* [2079] OBJ_biometricInfo */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x03, /* [2087] OBJ_qcStatements */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x04, /* [2095] OBJ_ac_auditEntity */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x05, /* [2103] OBJ_ac_targeting */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x06, /* [2111] OBJ_aaControls */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x07, /* [2119] OBJ_sbgp_ipAddrBlock */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x08, /* [2127] OBJ_sbgp_autonomousSysNum */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x09, /* [2135] OBJ_sbgp_routerIdentifier */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x02,0x03, /* [2143] OBJ_textNotice */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x05, /* [2151] OBJ_ipsecEndSystem */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x06, /* [2159] OBJ_ipsecTunnel */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x07, /* [2167] OBJ_ipsecUser */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x03,0x0A, /* [2175] OBJ_dvcs */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x01, /* [2183] OBJ_id_it_caProtEncCert */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x02, /* [2191] OBJ_id_it_signKeyPairTypes */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x03, /* [2199] OBJ_id_it_encKeyPairTypes */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x04, /* [2207] OBJ_id_it_preferredSymmAlg */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x05, /* [2215] OBJ_id_it_caKeyUpdateInfo */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x06, /* [2223] OBJ_id_it_currentCRL */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x07, /* [2231] OBJ_id_it_unsupportedOIDs */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x08, /* [2239] OBJ_id_it_subscriptionRequest */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x09, /* [2247] OBJ_id_it_subscriptionResponse */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x0A, /* [2255] OBJ_id_it_keyPairParamReq */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x0B, /* [2263] OBJ_id_it_keyPairParamRep */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x0C, /* [2271] OBJ_id_it_revPassphrase */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x0D, /* [2279] OBJ_id_it_implicitConfirm */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x0E, /* [2287] OBJ_id_it_confirmWaitTime */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x0F, /* [2295] OBJ_id_it_origPKIMessage */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x05,0x01, /* [2303] OBJ_id_regCtrl */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x05,0x02, /* [2311] OBJ_id_regInfo */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x05,0x01,0x01,/* [2319] OBJ_id_regCtrl_regToken */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x05,0x01,0x02,/* [2328] OBJ_id_regCtrl_authenticator */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x05,0x01,0x03,/* [2337] OBJ_id_regCtrl_pkiPublicationInfo */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x05,0x01,0x04,/* [2346] OBJ_id_regCtrl_pkiArchiveOptions */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x05,0x01,0x05,/* [2355] OBJ_id_regCtrl_oldCertID */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x05,0x01,0x06,/* [2364] OBJ_id_regCtrl_protocolEncrKey */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x05,0x02,0x01,/* [2373] OBJ_id_regInfo_utf8Pairs */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x05,0x02,0x02,/* [2382] OBJ_id_regInfo_certReq */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x06,0x01, /* [2391] OBJ_id_alg_des40 */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x06,0x02, /* [2399] OBJ_id_alg_noSignature */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x06,0x03, /* [2407] OBJ_id_alg_dh_sig_hmac_sha1 */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x06,0x04, /* [2415] OBJ_id_alg_dh_pop */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x01, /* [2423] OBJ_id_cmc_statusInfo */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x02, /* [2431] OBJ_id_cmc_identification */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x03, /* [2439] OBJ_id_cmc_identityProof */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x04, /* [2447] OBJ_id_cmc_dataReturn */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x05, /* [2455] OBJ_id_cmc_transactionId */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x06, /* [2463] OBJ_id_cmc_senderNonce */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x07, /* [2471] OBJ_id_cmc_recipientNonce */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x08, /* [2479] OBJ_id_cmc_addExtensions */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x09, /* [2487] OBJ_id_cmc_encryptedPOP */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x0A, /* [2495] OBJ_id_cmc_decryptedPOP */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x0B, /* [2503] OBJ_id_cmc_lraPOPWitness */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x0F, /* [2511] OBJ_id_cmc_getCert */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x10, /* [2519] OBJ_id_cmc_getCRL */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x11, /* [2527] OBJ_id_cmc_revokeRequest */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x12, /* [2535] OBJ_id_cmc_regInfo */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x13, /* [2543] OBJ_id_cmc_responseInfo */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x15, /* [2551] OBJ_id_cmc_queryPending */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x16, /* [2559] OBJ_id_cmc_popLinkRandom */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x17, /* [2567] OBJ_id_cmc_popLinkWitness */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x07,0x18, /* [2575] OBJ_id_cmc_confirmCertAcceptance */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x08,0x01, /* [2583] OBJ_id_on_personalData */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x09,0x01, /* [2591] OBJ_id_pda_dateOfBirth */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x09,0x02, /* [2599] OBJ_id_pda_placeOfBirth */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x09,0x03, /* [2607] OBJ_id_pda_gender */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x09,0x04, /* [2615] OBJ_id_pda_countryOfCitizenship */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x09,0x05, /* [2623] OBJ_id_pda_countryOfResidence */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x0A,0x01, /* [2631] OBJ_id_aca_authenticationInfo */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x0A,0x02, /* [2639] OBJ_id_aca_accessIdentity */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x0A,0x03, /* [2647] OBJ_id_aca_chargingIdentity */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x0A,0x04, /* [2655] OBJ_id_aca_group */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x0A,0x05, /* [2663] OBJ_id_aca_role */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x0B,0x01, /* [2671] OBJ_id_qcs_pkixQCSyntax_v1 */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x0C,0x01, /* [2679] OBJ_id_cct_crs */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x0C,0x02, /* [2687] OBJ_id_cct_PKIData */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x0C,0x03, /* [2695] OBJ_id_cct_PKIResponse */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x03, /* [2703] OBJ_ad_timeStamping */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x04, /* [2711] OBJ_ad_dvcs */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x01,0x01,/* [2719] OBJ_id_pkix_OCSP_basic */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x01,0x02,/* [2728] OBJ_id_pkix_OCSP_Nonce */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x01,0x03,/* [2737] OBJ_id_pkix_OCSP_CrlID */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x01,0x04,/* [2746] OBJ_id_pkix_OCSP_acceptableResponses */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x01,0x05,/* [2755] OBJ_id_pkix_OCSP_noCheck */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x01,0x06,/* [2764] OBJ_id_pkix_OCSP_archiveCutoff */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x01,0x07,/* [2773] OBJ_id_pkix_OCSP_serviceLocator */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x01,0x08,/* [2782] OBJ_id_pkix_OCSP_extendedStatus */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x01,0x09,/* [2791] OBJ_id_pkix_OCSP_valid */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x01,0x0A,/* [2800] OBJ_id_pkix_OCSP_path */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x01,0x0B,/* [2809] OBJ_id_pkix_OCSP_trustRoot */ ++0x2B,0x0E,0x03,0x02, /* [2818] OBJ_algorithm */ ++0x2B,0x0E,0x03,0x02,0x0B, /* [2822] OBJ_rsaSignature */ ++0x55,0x08, /* [2827] OBJ_X500algorithms */ ++0x2B, /* [2829] OBJ_org */ ++0x2B,0x06, /* [2830] OBJ_dod */ ++0x2B,0x06,0x01, /* [2832] OBJ_iana */ ++0x2B,0x06,0x01,0x01, /* [2835] OBJ_Directory */ ++0x2B,0x06,0x01,0x02, /* [2839] OBJ_Management */ ++0x2B,0x06,0x01,0x03, /* [2843] OBJ_Experimental */ ++0x2B,0x06,0x01,0x04, /* [2847] OBJ_Private */ ++0x2B,0x06,0x01,0x05, /* [2851] OBJ_Security */ ++0x2B,0x06,0x01,0x06, /* [2855] OBJ_SNMPv2 */ ++0x2B,0x06,0x01,0x07, /* [2859] OBJ_Mail */ ++0x2B,0x06,0x01,0x04,0x01, /* [2863] OBJ_Enterprises */ ++0x2B,0x06,0x01,0x04,0x01,0x8B,0x3A,0x82,0x58,/* [2868] OBJ_dcObject */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x19,/* [2877] OBJ_domainComponent */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x0D,/* [2887] OBJ_Domain */ ++0x55,0x01,0x05, /* [2897] OBJ_selected_attribute_types */ ++0x55,0x01,0x05,0x37, /* [2900] OBJ_clearance */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x03,/* [2904] OBJ_md4WithRSAEncryption */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x0A, /* [2913] OBJ_ac_proxying */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x0B, /* [2921] OBJ_sinfo_access */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x0A,0x06, /* [2929] OBJ_id_aca_encAttrs */ ++0x55,0x04,0x48, /* [2937] OBJ_role */ ++0x55,0x1D,0x24, /* [2940] OBJ_policy_constraints */ ++0x55,0x1D,0x37, /* [2943] OBJ_target_information */ ++0x55,0x1D,0x38, /* [2946] OBJ_no_rev_avail */ ++0x2A,0x86,0x48,0xCE,0x3D, /* [2949] OBJ_ansi_X9_62 */ ++0x2A,0x86,0x48,0xCE,0x3D,0x01,0x01, /* [2954] OBJ_X9_62_prime_field */ ++0x2A,0x86,0x48,0xCE,0x3D,0x01,0x02, /* [2961] OBJ_X9_62_characteristic_two_field */ ++0x2A,0x86,0x48,0xCE,0x3D,0x02,0x01, /* [2968] OBJ_X9_62_id_ecPublicKey */ ++0x2A,0x86,0x48,0xCE,0x3D,0x03,0x01,0x01, /* [2975] OBJ_X9_62_prime192v1 */ ++0x2A,0x86,0x48,0xCE,0x3D,0x03,0x01,0x02, /* [2983] OBJ_X9_62_prime192v2 */ ++0x2A,0x86,0x48,0xCE,0x3D,0x03,0x01,0x03, /* [2991] OBJ_X9_62_prime192v3 */ ++0x2A,0x86,0x48,0xCE,0x3D,0x03,0x01,0x04, /* [2999] OBJ_X9_62_prime239v1 */ ++0x2A,0x86,0x48,0xCE,0x3D,0x03,0x01,0x05, /* [3007] OBJ_X9_62_prime239v2 */ ++0x2A,0x86,0x48,0xCE,0x3D,0x03,0x01,0x06, /* [3015] OBJ_X9_62_prime239v3 */ ++0x2A,0x86,0x48,0xCE,0x3D,0x03,0x01,0x07, /* [3023] OBJ_X9_62_prime256v1 */ ++0x2A,0x86,0x48,0xCE,0x3D,0x04,0x01, /* [3031] OBJ_ecdsa_with_SHA1 */ ++0x2B,0x06,0x01,0x04,0x01,0x82,0x37,0x11,0x01,/* [3038] OBJ_ms_csp_name */ ++0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x01,/* [3047] OBJ_aes_128_ecb */ ++0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x02,/* [3056] OBJ_aes_128_cbc */ ++0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x03,/* [3065] OBJ_aes_128_ofb128 */ ++0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x04,/* [3074] OBJ_aes_128_cfb128 */ ++0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x15,/* [3083] OBJ_aes_192_ecb */ ++0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x16,/* [3092] OBJ_aes_192_cbc */ ++0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x17,/* [3101] OBJ_aes_192_ofb128 */ ++0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x18,/* [3110] OBJ_aes_192_cfb128 */ ++0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x29,/* [3119] OBJ_aes_256_ecb */ ++0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x2A,/* [3128] OBJ_aes_256_cbc */ ++0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x2B,/* [3137] OBJ_aes_256_ofb128 */ ++0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x2C,/* [3146] OBJ_aes_256_cfb128 */ ++0x55,0x1D,0x17, /* [3155] OBJ_hold_instruction_code */ ++0x2A,0x86,0x48,0xCE,0x38,0x02,0x01, /* [3158] OBJ_hold_instruction_none */ ++0x2A,0x86,0x48,0xCE,0x38,0x02,0x02, /* [3165] OBJ_hold_instruction_call_issuer */ ++0x2A,0x86,0x48,0xCE,0x38,0x02,0x03, /* [3172] OBJ_hold_instruction_reject */ ++0x09, /* [3179] OBJ_data */ ++0x09,0x92,0x26, /* [3180] OBJ_pss */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C, /* [3183] OBJ_ucl */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64, /* [3190] OBJ_pilot */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,/* [3198] OBJ_pilotAttributeType */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x03,/* [3207] OBJ_pilotAttributeSyntax */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,/* [3216] OBJ_pilotObjectClass */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x0A,/* [3225] OBJ_pilotGroups */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x03,0x04,/* [3234] OBJ_iA5StringSyntax */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x03,0x05,/* [3244] OBJ_caseIgnoreIA5StringSyntax */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x03,/* [3254] OBJ_pilotObject */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x04,/* [3264] OBJ_pilotPerson */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x05,/* [3274] OBJ_account */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x06,/* [3284] OBJ_document */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x07,/* [3294] OBJ_room */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x09,/* [3304] OBJ_documentSeries */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x0E,/* [3314] OBJ_rFC822localPart */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x0F,/* [3324] OBJ_dNSDomain */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x11,/* [3334] OBJ_domainRelatedObject */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x12,/* [3344] OBJ_friendlyCountry */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x13,/* [3354] OBJ_simpleSecurityObject */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x14,/* [3364] OBJ_pilotOrganization */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x15,/* [3374] OBJ_pilotDSA */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x16,/* [3384] OBJ_qualityLabelledData */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x01,/* [3394] OBJ_userId */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x02,/* [3404] OBJ_textEncodedORAddress */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x03,/* [3414] OBJ_rfc822Mailbox */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x04,/* [3424] OBJ_info */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x05,/* [3434] OBJ_favouriteDrink */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x06,/* [3444] OBJ_roomNumber */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x07,/* [3454] OBJ_photo */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x08,/* [3464] OBJ_userClass */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x09,/* [3474] OBJ_host */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x0A,/* [3484] OBJ_manager */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x0B,/* [3494] OBJ_documentIdentifier */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x0C,/* [3504] OBJ_documentTitle */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x0D,/* [3514] OBJ_documentVersion */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x0E,/* [3524] OBJ_documentAuthor */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x0F,/* [3534] OBJ_documentLocation */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x14,/* [3544] OBJ_homeTelephoneNumber */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x15,/* [3554] OBJ_secretary */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x16,/* [3564] OBJ_otherMailbox */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x17,/* [3574] OBJ_lastModifiedTime */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x18,/* [3584] OBJ_lastModifiedBy */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x1A,/* [3594] OBJ_aRecord */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x1B,/* [3604] OBJ_pilotAttributeType27 */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x1C,/* [3614] OBJ_mXRecord */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x1D,/* [3624] OBJ_nSRecord */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x1E,/* [3634] OBJ_sOARecord */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x1F,/* [3644] OBJ_cNAMERecord */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x25,/* [3654] OBJ_associatedDomain */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x26,/* [3664] OBJ_associatedName */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x27,/* [3674] OBJ_homePostalAddress */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x28,/* [3684] OBJ_personalTitle */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x29,/* [3694] OBJ_mobileTelephoneNumber */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x2A,/* [3704] OBJ_pagerTelephoneNumber */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x2B,/* [3714] OBJ_friendlyCountryName */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x2D,/* [3724] OBJ_organizationalStatus */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x2E,/* [3734] OBJ_janetMailbox */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x2F,/* [3744] OBJ_mailPreferenceOption */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x30,/* [3754] OBJ_buildingName */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x31,/* [3764] OBJ_dSAQuality */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x32,/* [3774] OBJ_singleLevelQuality */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x33,/* [3784] OBJ_subtreeMinimumQuality */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x34,/* [3794] OBJ_subtreeMaximumQuality */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x35,/* [3804] OBJ_personalSignature */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x36,/* [3814] OBJ_dITRedirect */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x37,/* [3824] OBJ_audio */ ++0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x38,/* [3834] OBJ_documentPublisher */ ++0x55,0x04,0x2D, /* [3844] OBJ_x500UniqueIdentifier */ ++0x2B,0x06,0x01,0x07,0x01, /* [3847] OBJ_mime_mhs */ ++0x2B,0x06,0x01,0x07,0x01,0x01, /* [3852] OBJ_mime_mhs_headings */ ++0x2B,0x06,0x01,0x07,0x01,0x02, /* [3858] OBJ_mime_mhs_bodies */ ++0x2B,0x06,0x01,0x07,0x01,0x01,0x01, /* [3864] OBJ_id_hex_partial_message */ ++0x2B,0x06,0x01,0x07,0x01,0x01,0x02, /* [3871] OBJ_id_hex_multipart_message */ ++0x55,0x04,0x2C, /* [3878] OBJ_generationQualifier */ ++0x55,0x04,0x41, /* [3881] OBJ_pseudonym */ ++0x67,0x2A, /* [3884] OBJ_id_set */ ++0x67,0x2A,0x00, /* [3886] OBJ_set_ctype */ ++0x67,0x2A,0x01, /* [3889] OBJ_set_msgExt */ ++0x67,0x2A,0x03, /* [3892] OBJ_set_attr */ ++0x67,0x2A,0x05, /* [3895] OBJ_set_policy */ ++0x67,0x2A,0x07, /* [3898] OBJ_set_certExt */ ++0x67,0x2A,0x08, /* [3901] OBJ_set_brand */ ++0x67,0x2A,0x00,0x00, /* [3904] OBJ_setct_PANData */ ++0x67,0x2A,0x00,0x01, /* [3908] OBJ_setct_PANToken */ ++0x67,0x2A,0x00,0x02, /* [3912] OBJ_setct_PANOnly */ ++0x67,0x2A,0x00,0x03, /* [3916] OBJ_setct_OIData */ ++0x67,0x2A,0x00,0x04, /* [3920] OBJ_setct_PI */ ++0x67,0x2A,0x00,0x05, /* [3924] OBJ_setct_PIData */ ++0x67,0x2A,0x00,0x06, /* [3928] OBJ_setct_PIDataUnsigned */ ++0x67,0x2A,0x00,0x07, /* [3932] OBJ_setct_HODInput */ ++0x67,0x2A,0x00,0x08, /* [3936] OBJ_setct_AuthResBaggage */ ++0x67,0x2A,0x00,0x09, /* [3940] OBJ_setct_AuthRevReqBaggage */ ++0x67,0x2A,0x00,0x0A, /* [3944] OBJ_setct_AuthRevResBaggage */ ++0x67,0x2A,0x00,0x0B, /* [3948] OBJ_setct_CapTokenSeq */ ++0x67,0x2A,0x00,0x0C, /* [3952] OBJ_setct_PInitResData */ ++0x67,0x2A,0x00,0x0D, /* [3956] OBJ_setct_PI_TBS */ ++0x67,0x2A,0x00,0x0E, /* [3960] OBJ_setct_PResData */ ++0x67,0x2A,0x00,0x10, /* [3964] OBJ_setct_AuthReqTBS */ ++0x67,0x2A,0x00,0x11, /* [3968] OBJ_setct_AuthResTBS */ ++0x67,0x2A,0x00,0x12, /* [3972] OBJ_setct_AuthResTBSX */ ++0x67,0x2A,0x00,0x13, /* [3976] OBJ_setct_AuthTokenTBS */ ++0x67,0x2A,0x00,0x14, /* [3980] OBJ_setct_CapTokenData */ ++0x67,0x2A,0x00,0x15, /* [3984] OBJ_setct_CapTokenTBS */ ++0x67,0x2A,0x00,0x16, /* [3988] OBJ_setct_AcqCardCodeMsg */ ++0x67,0x2A,0x00,0x17, /* [3992] OBJ_setct_AuthRevReqTBS */ ++0x67,0x2A,0x00,0x18, /* [3996] OBJ_setct_AuthRevResData */ ++0x67,0x2A,0x00,0x19, /* [4000] OBJ_setct_AuthRevResTBS */ ++0x67,0x2A,0x00,0x1A, /* [4004] OBJ_setct_CapReqTBS */ ++0x67,0x2A,0x00,0x1B, /* [4008] OBJ_setct_CapReqTBSX */ ++0x67,0x2A,0x00,0x1C, /* [4012] OBJ_setct_CapResData */ ++0x67,0x2A,0x00,0x1D, /* [4016] OBJ_setct_CapRevReqTBS */ ++0x67,0x2A,0x00,0x1E, /* [4020] OBJ_setct_CapRevReqTBSX */ ++0x67,0x2A,0x00,0x1F, /* [4024] OBJ_setct_CapRevResData */ ++0x67,0x2A,0x00,0x20, /* [4028] OBJ_setct_CredReqTBS */ ++0x67,0x2A,0x00,0x21, /* [4032] OBJ_setct_CredReqTBSX */ ++0x67,0x2A,0x00,0x22, /* [4036] OBJ_setct_CredResData */ ++0x67,0x2A,0x00,0x23, /* [4040] OBJ_setct_CredRevReqTBS */ ++0x67,0x2A,0x00,0x24, /* [4044] OBJ_setct_CredRevReqTBSX */ ++0x67,0x2A,0x00,0x25, /* [4048] OBJ_setct_CredRevResData */ ++0x67,0x2A,0x00,0x26, /* [4052] OBJ_setct_PCertReqData */ ++0x67,0x2A,0x00,0x27, /* [4056] OBJ_setct_PCertResTBS */ ++0x67,0x2A,0x00,0x28, /* [4060] OBJ_setct_BatchAdminReqData */ ++0x67,0x2A,0x00,0x29, /* [4064] OBJ_setct_BatchAdminResData */ ++0x67,0x2A,0x00,0x2A, /* [4068] OBJ_setct_CardCInitResTBS */ ++0x67,0x2A,0x00,0x2B, /* [4072] OBJ_setct_MeAqCInitResTBS */ ++0x67,0x2A,0x00,0x2C, /* [4076] OBJ_setct_RegFormResTBS */ ++0x67,0x2A,0x00,0x2D, /* [4080] OBJ_setct_CertReqData */ ++0x67,0x2A,0x00,0x2E, /* [4084] OBJ_setct_CertReqTBS */ ++0x67,0x2A,0x00,0x2F, /* [4088] OBJ_setct_CertResData */ ++0x67,0x2A,0x00,0x30, /* [4092] OBJ_setct_CertInqReqTBS */ ++0x67,0x2A,0x00,0x31, /* [4096] OBJ_setct_ErrorTBS */ ++0x67,0x2A,0x00,0x32, /* [4100] OBJ_setct_PIDualSignedTBE */ ++0x67,0x2A,0x00,0x33, /* [4104] OBJ_setct_PIUnsignedTBE */ ++0x67,0x2A,0x00,0x34, /* [4108] OBJ_setct_AuthReqTBE */ ++0x67,0x2A,0x00,0x35, /* [4112] OBJ_setct_AuthResTBE */ ++0x67,0x2A,0x00,0x36, /* [4116] OBJ_setct_AuthResTBEX */ ++0x67,0x2A,0x00,0x37, /* [4120] OBJ_setct_AuthTokenTBE */ ++0x67,0x2A,0x00,0x38, /* [4124] OBJ_setct_CapTokenTBE */ ++0x67,0x2A,0x00,0x39, /* [4128] OBJ_setct_CapTokenTBEX */ ++0x67,0x2A,0x00,0x3A, /* [4132] OBJ_setct_AcqCardCodeMsgTBE */ ++0x67,0x2A,0x00,0x3B, /* [4136] OBJ_setct_AuthRevReqTBE */ ++0x67,0x2A,0x00,0x3C, /* [4140] OBJ_setct_AuthRevResTBE */ ++0x67,0x2A,0x00,0x3D, /* [4144] OBJ_setct_AuthRevResTBEB */ ++0x67,0x2A,0x00,0x3E, /* [4148] OBJ_setct_CapReqTBE */ ++0x67,0x2A,0x00,0x3F, /* [4152] OBJ_setct_CapReqTBEX */ ++0x67,0x2A,0x00,0x40, /* [4156] OBJ_setct_CapResTBE */ ++0x67,0x2A,0x00,0x41, /* [4160] OBJ_setct_CapRevReqTBE */ ++0x67,0x2A,0x00,0x42, /* [4164] OBJ_setct_CapRevReqTBEX */ ++0x67,0x2A,0x00,0x43, /* [4168] OBJ_setct_CapRevResTBE */ ++0x67,0x2A,0x00,0x44, /* [4172] OBJ_setct_CredReqTBE */ ++0x67,0x2A,0x00,0x45, /* [4176] OBJ_setct_CredReqTBEX */ ++0x67,0x2A,0x00,0x46, /* [4180] OBJ_setct_CredResTBE */ ++0x67,0x2A,0x00,0x47, /* [4184] OBJ_setct_CredRevReqTBE */ ++0x67,0x2A,0x00,0x48, /* [4188] OBJ_setct_CredRevReqTBEX */ ++0x67,0x2A,0x00,0x49, /* [4192] OBJ_setct_CredRevResTBE */ ++0x67,0x2A,0x00,0x4A, /* [4196] OBJ_setct_BatchAdminReqTBE */ ++0x67,0x2A,0x00,0x4B, /* [4200] OBJ_setct_BatchAdminResTBE */ ++0x67,0x2A,0x00,0x4C, /* [4204] OBJ_setct_RegFormReqTBE */ ++0x67,0x2A,0x00,0x4D, /* [4208] OBJ_setct_CertReqTBE */ ++0x67,0x2A,0x00,0x4E, /* [4212] OBJ_setct_CertReqTBEX */ ++0x67,0x2A,0x00,0x4F, /* [4216] OBJ_setct_CertResTBE */ ++0x67,0x2A,0x00,0x50, /* [4220] OBJ_setct_CRLNotificationTBS */ ++0x67,0x2A,0x00,0x51, /* [4224] OBJ_setct_CRLNotificationResTBS */ ++0x67,0x2A,0x00,0x52, /* [4228] OBJ_setct_BCIDistributionTBS */ ++0x67,0x2A,0x01,0x01, /* [4232] OBJ_setext_genCrypt */ ++0x67,0x2A,0x01,0x03, /* [4236] OBJ_setext_miAuth */ ++0x67,0x2A,0x01,0x04, /* [4240] OBJ_setext_pinSecure */ ++0x67,0x2A,0x01,0x05, /* [4244] OBJ_setext_pinAny */ ++0x67,0x2A,0x01,0x07, /* [4248] OBJ_setext_track2 */ ++0x67,0x2A,0x01,0x08, /* [4252] OBJ_setext_cv */ ++0x67,0x2A,0x05,0x00, /* [4256] OBJ_set_policy_root */ ++0x67,0x2A,0x07,0x00, /* [4260] OBJ_setCext_hashedRoot */ ++0x67,0x2A,0x07,0x01, /* [4264] OBJ_setCext_certType */ ++0x67,0x2A,0x07,0x02, /* [4268] OBJ_setCext_merchData */ ++0x67,0x2A,0x07,0x03, /* [4272] OBJ_setCext_cCertRequired */ ++0x67,0x2A,0x07,0x04, /* [4276] OBJ_setCext_tunneling */ ++0x67,0x2A,0x07,0x05, /* [4280] OBJ_setCext_setExt */ ++0x67,0x2A,0x07,0x06, /* [4284] OBJ_setCext_setQualf */ ++0x67,0x2A,0x07,0x07, /* [4288] OBJ_setCext_PGWYcapabilities */ ++0x67,0x2A,0x07,0x08, /* [4292] OBJ_setCext_TokenIdentifier */ ++0x67,0x2A,0x07,0x09, /* [4296] OBJ_setCext_Track2Data */ ++0x67,0x2A,0x07,0x0A, /* [4300] OBJ_setCext_TokenType */ ++0x67,0x2A,0x07,0x0B, /* [4304] OBJ_setCext_IssuerCapabilities */ ++0x67,0x2A,0x03,0x00, /* [4308] OBJ_setAttr_Cert */ ++0x67,0x2A,0x03,0x01, /* [4312] OBJ_setAttr_PGWYcap */ ++0x67,0x2A,0x03,0x02, /* [4316] OBJ_setAttr_TokenType */ ++0x67,0x2A,0x03,0x03, /* [4320] OBJ_setAttr_IssCap */ ++0x67,0x2A,0x03,0x00,0x00, /* [4324] OBJ_set_rootKeyThumb */ ++0x67,0x2A,0x03,0x00,0x01, /* [4329] OBJ_set_addPolicy */ ++0x67,0x2A,0x03,0x02,0x01, /* [4334] OBJ_setAttr_Token_EMV */ ++0x67,0x2A,0x03,0x02,0x02, /* [4339] OBJ_setAttr_Token_B0Prime */ ++0x67,0x2A,0x03,0x03,0x03, /* [4344] OBJ_setAttr_IssCap_CVM */ ++0x67,0x2A,0x03,0x03,0x04, /* [4349] OBJ_setAttr_IssCap_T2 */ ++0x67,0x2A,0x03,0x03,0x05, /* [4354] OBJ_setAttr_IssCap_Sig */ ++0x67,0x2A,0x03,0x03,0x03,0x01, /* [4359] OBJ_setAttr_GenCryptgrm */ ++0x67,0x2A,0x03,0x03,0x04,0x01, /* [4365] OBJ_setAttr_T2Enc */ ++0x67,0x2A,0x03,0x03,0x04,0x02, /* [4371] OBJ_setAttr_T2cleartxt */ ++0x67,0x2A,0x03,0x03,0x05,0x01, /* [4377] OBJ_setAttr_TokICCsig */ ++0x67,0x2A,0x03,0x03,0x05,0x02, /* [4383] OBJ_setAttr_SecDevSig */ ++0x67,0x2A,0x08,0x01, /* [4389] OBJ_set_brand_IATA_ATA */ ++0x67,0x2A,0x08,0x1E, /* [4393] OBJ_set_brand_Diners */ ++0x67,0x2A,0x08,0x22, /* [4397] OBJ_set_brand_AmericanExpress */ ++0x67,0x2A,0x08,0x23, /* [4401] OBJ_set_brand_JCB */ ++0x67,0x2A,0x08,0x04, /* [4405] OBJ_set_brand_Visa */ ++0x67,0x2A,0x08,0x05, /* [4409] OBJ_set_brand_MasterCard */ ++0x67,0x2A,0x08,0xAE,0x7B, /* [4413] OBJ_set_brand_Novus */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x03,0x0A, /* [4418] OBJ_des_cdmf */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x06,/* [4426] OBJ_rsaOAEPEncryptionSET */ ++0x67, /* [4435] OBJ_international_organizations */ ++0x2B,0x06,0x01,0x04,0x01,0x82,0x37,0x14,0x02,0x02,/* [4436] OBJ_ms_smartcard_login */ ++0x2B,0x06,0x01,0x04,0x01,0x82,0x37,0x14,0x02,0x03,/* [4446] OBJ_ms_upn */ ++0x55,0x04,0x09, /* [4456] OBJ_streetAddress */ ++0x55,0x04,0x11, /* [4459] OBJ_postalCode */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x15, /* [4462] OBJ_id_ppl */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x0E, /* [4469] OBJ_proxyCertInfo */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x15,0x00, /* [4477] OBJ_id_ppl_anyLanguage */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x15,0x01, /* [4485] OBJ_id_ppl_inheritAll */ ++0x55,0x1D,0x1E, /* [4493] OBJ_name_constraints */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x15,0x02, /* [4496] OBJ_Independent */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x0B,/* [4504] OBJ_sha256WithRSAEncryption */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x0C,/* [4513] OBJ_sha384WithRSAEncryption */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x0D,/* [4522] OBJ_sha512WithRSAEncryption */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x0E,/* [4531] OBJ_sha224WithRSAEncryption */ ++0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x02,0x01,/* [4540] OBJ_sha256 */ ++0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x02,0x02,/* [4549] OBJ_sha384 */ ++0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x02,0x03,/* [4558] OBJ_sha512 */ ++0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x02,0x04,/* [4567] OBJ_sha224 */ ++0x2B, /* [4576] OBJ_identified_organization */ ++0x2B,0x81,0x04, /* [4577] OBJ_certicom_arc */ ++0x67,0x2B, /* [4580] OBJ_wap */ ++0x67,0x2B,0x01, /* [4582] OBJ_wap_wsg */ ++0x2A,0x86,0x48,0xCE,0x3D,0x01,0x02,0x03, /* [4585] OBJ_X9_62_id_characteristic_two_basis */ ++0x2A,0x86,0x48,0xCE,0x3D,0x01,0x02,0x03,0x01,/* [4593] OBJ_X9_62_onBasis */ ++0x2A,0x86,0x48,0xCE,0x3D,0x01,0x02,0x03,0x02,/* [4602] OBJ_X9_62_tpBasis */ ++0x2A,0x86,0x48,0xCE,0x3D,0x01,0x02,0x03,0x03,/* [4611] OBJ_X9_62_ppBasis */ ++0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x01, /* [4620] OBJ_X9_62_c2pnb163v1 */ ++0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x02, /* [4628] OBJ_X9_62_c2pnb163v2 */ ++0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x03, /* [4636] OBJ_X9_62_c2pnb163v3 */ ++0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x04, /* [4644] OBJ_X9_62_c2pnb176v1 */ ++0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x05, /* [4652] OBJ_X9_62_c2tnb191v1 */ ++0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x06, /* [4660] OBJ_X9_62_c2tnb191v2 */ ++0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x07, /* [4668] OBJ_X9_62_c2tnb191v3 */ ++0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x08, /* [4676] OBJ_X9_62_c2onb191v4 */ ++0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x09, /* [4684] OBJ_X9_62_c2onb191v5 */ ++0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x0A, /* [4692] OBJ_X9_62_c2pnb208w1 */ ++0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x0B, /* [4700] OBJ_X9_62_c2tnb239v1 */ ++0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x0C, /* [4708] OBJ_X9_62_c2tnb239v2 */ ++0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x0D, /* [4716] OBJ_X9_62_c2tnb239v3 */ ++0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x0E, /* [4724] OBJ_X9_62_c2onb239v4 */ ++0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x0F, /* [4732] OBJ_X9_62_c2onb239v5 */ ++0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x10, /* [4740] OBJ_X9_62_c2pnb272w1 */ ++0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x11, /* [4748] OBJ_X9_62_c2pnb304w1 */ ++0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x12, /* [4756] OBJ_X9_62_c2tnb359v1 */ ++0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x13, /* [4764] OBJ_X9_62_c2pnb368w1 */ ++0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x14, /* [4772] OBJ_X9_62_c2tnb431r1 */ ++0x2B,0x81,0x04,0x00,0x06, /* [4780] OBJ_secp112r1 */ ++0x2B,0x81,0x04,0x00,0x07, /* [4785] OBJ_secp112r2 */ ++0x2B,0x81,0x04,0x00,0x1C, /* [4790] OBJ_secp128r1 */ ++0x2B,0x81,0x04,0x00,0x1D, /* [4795] OBJ_secp128r2 */ ++0x2B,0x81,0x04,0x00,0x09, /* [4800] OBJ_secp160k1 */ ++0x2B,0x81,0x04,0x00,0x08, /* [4805] OBJ_secp160r1 */ ++0x2B,0x81,0x04,0x00,0x1E, /* [4810] OBJ_secp160r2 */ ++0x2B,0x81,0x04,0x00,0x1F, /* [4815] OBJ_secp192k1 */ ++0x2B,0x81,0x04,0x00,0x20, /* [4820] OBJ_secp224k1 */ ++0x2B,0x81,0x04,0x00,0x21, /* [4825] OBJ_secp224r1 */ ++0x2B,0x81,0x04,0x00,0x0A, /* [4830] OBJ_secp256k1 */ ++0x2B,0x81,0x04,0x00,0x22, /* [4835] OBJ_secp384r1 */ ++0x2B,0x81,0x04,0x00,0x23, /* [4840] OBJ_secp521r1 */ ++0x2B,0x81,0x04,0x00,0x04, /* [4845] OBJ_sect113r1 */ ++0x2B,0x81,0x04,0x00,0x05, /* [4850] OBJ_sect113r2 */ ++0x2B,0x81,0x04,0x00,0x16, /* [4855] OBJ_sect131r1 */ ++0x2B,0x81,0x04,0x00,0x17, /* [4860] OBJ_sect131r2 */ ++0x2B,0x81,0x04,0x00,0x01, /* [4865] OBJ_sect163k1 */ ++0x2B,0x81,0x04,0x00,0x02, /* [4870] OBJ_sect163r1 */ ++0x2B,0x81,0x04,0x00,0x0F, /* [4875] OBJ_sect163r2 */ ++0x2B,0x81,0x04,0x00,0x18, /* [4880] OBJ_sect193r1 */ ++0x2B,0x81,0x04,0x00,0x19, /* [4885] OBJ_sect193r2 */ ++0x2B,0x81,0x04,0x00,0x1A, /* [4890] OBJ_sect233k1 */ ++0x2B,0x81,0x04,0x00,0x1B, /* [4895] OBJ_sect233r1 */ ++0x2B,0x81,0x04,0x00,0x03, /* [4900] OBJ_sect239k1 */ ++0x2B,0x81,0x04,0x00,0x10, /* [4905] OBJ_sect283k1 */ ++0x2B,0x81,0x04,0x00,0x11, /* [4910] OBJ_sect283r1 */ ++0x2B,0x81,0x04,0x00,0x24, /* [4915] OBJ_sect409k1 */ ++0x2B,0x81,0x04,0x00,0x25, /* [4920] OBJ_sect409r1 */ ++0x2B,0x81,0x04,0x00,0x26, /* [4925] OBJ_sect571k1 */ ++0x2B,0x81,0x04,0x00,0x27, /* [4930] OBJ_sect571r1 */ ++0x67,0x2B,0x01,0x04,0x01, /* [4935] OBJ_wap_wsg_idm_ecid_wtls1 */ ++0x67,0x2B,0x01,0x04,0x03, /* [4940] OBJ_wap_wsg_idm_ecid_wtls3 */ ++0x67,0x2B,0x01,0x04,0x04, /* [4945] OBJ_wap_wsg_idm_ecid_wtls4 */ ++0x67,0x2B,0x01,0x04,0x05, /* [4950] OBJ_wap_wsg_idm_ecid_wtls5 */ ++0x67,0x2B,0x01,0x04,0x06, /* [4955] OBJ_wap_wsg_idm_ecid_wtls6 */ ++0x67,0x2B,0x01,0x04,0x07, /* [4960] OBJ_wap_wsg_idm_ecid_wtls7 */ ++0x67,0x2B,0x01,0x04,0x08, /* [4965] OBJ_wap_wsg_idm_ecid_wtls8 */ ++0x67,0x2B,0x01,0x04,0x09, /* [4970] OBJ_wap_wsg_idm_ecid_wtls9 */ ++0x67,0x2B,0x01,0x04,0x0A, /* [4975] OBJ_wap_wsg_idm_ecid_wtls10 */ ++0x67,0x2B,0x01,0x04,0x0B, /* [4980] OBJ_wap_wsg_idm_ecid_wtls11 */ ++0x67,0x2B,0x01,0x04,0x0C, /* [4985] OBJ_wap_wsg_idm_ecid_wtls12 */ ++0x55,0x1D,0x20,0x00, /* [4990] OBJ_any_policy */ ++0x55,0x1D,0x21, /* [4994] OBJ_policy_mappings */ ++0x55,0x1D,0x36, /* [4997] OBJ_inhibit_any_policy */ ++0x2A,0x83,0x08,0x8C,0x9A,0x4B,0x3D,0x01,0x01,0x01,0x02,/* [5000] OBJ_camellia_128_cbc */ ++0x2A,0x83,0x08,0x8C,0x9A,0x4B,0x3D,0x01,0x01,0x01,0x03,/* [5011] OBJ_camellia_192_cbc */ ++0x2A,0x83,0x08,0x8C,0x9A,0x4B,0x3D,0x01,0x01,0x01,0x04,/* [5022] OBJ_camellia_256_cbc */ ++0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x01, /* [5033] OBJ_camellia_128_ecb */ ++0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x15, /* [5041] OBJ_camellia_192_ecb */ ++0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x29, /* [5049] OBJ_camellia_256_ecb */ ++0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x04, /* [5057] OBJ_camellia_128_cfb128 */ ++0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x18, /* [5065] OBJ_camellia_192_cfb128 */ ++0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x2C, /* [5073] OBJ_camellia_256_cfb128 */ ++0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x03, /* [5081] OBJ_camellia_128_ofb128 */ ++0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x17, /* [5089] OBJ_camellia_192_ofb128 */ ++0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x2B, /* [5097] OBJ_camellia_256_ofb128 */ ++0x55,0x1D,0x09, /* [5105] OBJ_subject_directory_attributes */ ++0x55,0x1D,0x1C, /* [5108] OBJ_issuing_distribution_point */ ++0x55,0x1D,0x1D, /* [5111] OBJ_certificate_issuer */ ++0x2A,0x83,0x1A,0x8C,0x9A,0x44, /* [5114] OBJ_kisa */ ++0x2A,0x83,0x1A,0x8C,0x9A,0x44,0x01,0x03, /* [5120] OBJ_seed_ecb */ ++0x2A,0x83,0x1A,0x8C,0x9A,0x44,0x01,0x04, /* [5128] OBJ_seed_cbc */ ++0x2A,0x83,0x1A,0x8C,0x9A,0x44,0x01,0x06, /* [5136] OBJ_seed_ofb128 */ ++0x2A,0x83,0x1A,0x8C,0x9A,0x44,0x01,0x05, /* [5144] OBJ_seed_cfb128 */ ++0x2B,0x06,0x01,0x05,0x05,0x08,0x01,0x01, /* [5152] OBJ_hmac_md5 */ ++0x2B,0x06,0x01,0x05,0x05,0x08,0x01,0x02, /* [5160] OBJ_hmac_sha1 */ ++0x2A,0x86,0x48,0x86,0xF6,0x7D,0x07,0x42,0x0D,/* [5168] OBJ_id_PasswordBasedMAC */ ++0x2A,0x86,0x48,0x86,0xF6,0x7D,0x07,0x42,0x1E,/* [5177] OBJ_id_DHBasedMac */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x04,0x10, /* [5186] OBJ_id_it_suppLangTags */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x30,0x05, /* [5194] OBJ_caRepository */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x01,0x09,/* [5202] OBJ_id_smime_ct_compressedData */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x01,0x1B,/* [5213] OBJ_id_ct_asciiTextWithCRLF */ ++0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x05,/* [5224] OBJ_id_aes128_wrap */ ++0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x19,/* [5233] OBJ_id_aes192_wrap */ ++0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x2D,/* [5242] OBJ_id_aes256_wrap */ ++0x2A,0x86,0x48,0xCE,0x3D,0x04,0x02, /* [5251] OBJ_ecdsa_with_Recommended */ ++0x2A,0x86,0x48,0xCE,0x3D,0x04,0x03, /* [5258] OBJ_ecdsa_with_Specified */ ++0x2A,0x86,0x48,0xCE,0x3D,0x04,0x03,0x01, /* [5265] OBJ_ecdsa_with_SHA224 */ ++0x2A,0x86,0x48,0xCE,0x3D,0x04,0x03,0x02, /* [5273] OBJ_ecdsa_with_SHA256 */ ++0x2A,0x86,0x48,0xCE,0x3D,0x04,0x03,0x03, /* [5281] OBJ_ecdsa_with_SHA384 */ ++0x2A,0x86,0x48,0xCE,0x3D,0x04,0x03,0x04, /* [5289] OBJ_ecdsa_with_SHA512 */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x06, /* [5297] OBJ_hmacWithMD5 */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x08, /* [5305] OBJ_hmacWithSHA224 */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x09, /* [5313] OBJ_hmacWithSHA256 */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x0A, /* [5321] OBJ_hmacWithSHA384 */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x0B, /* [5329] OBJ_hmacWithSHA512 */ ++0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x03,0x01,/* [5337] OBJ_dsa_with_SHA224 */ ++0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x03,0x02,/* [5346] OBJ_dsa_with_SHA256 */ ++0x28,0xCF,0x06,0x03,0x00,0x37, /* [5355] OBJ_whirlpool */ ++0x2A,0x85,0x03,0x02,0x02, /* [5361] OBJ_cryptopro */ ++0x2A,0x85,0x03,0x02,0x09, /* [5366] OBJ_cryptocom */ ++0x2A,0x85,0x03,0x02,0x02,0x03, /* [5371] OBJ_id_GostR3411_94_with_GostR3410_2001 */ ++0x2A,0x85,0x03,0x02,0x02,0x04, /* [5377] OBJ_id_GostR3411_94_with_GostR3410_94 */ ++0x2A,0x85,0x03,0x02,0x02,0x09, /* [5383] OBJ_id_GostR3411_94 */ ++0x2A,0x85,0x03,0x02,0x02,0x0A, /* [5389] OBJ_id_HMACGostR3411_94 */ ++0x2A,0x85,0x03,0x02,0x02,0x13, /* [5395] OBJ_id_GostR3410_2001 */ ++0x2A,0x85,0x03,0x02,0x02,0x14, /* [5401] OBJ_id_GostR3410_94 */ ++0x2A,0x85,0x03,0x02,0x02,0x15, /* [5407] OBJ_id_Gost28147_89 */ ++0x2A,0x85,0x03,0x02,0x02,0x16, /* [5413] OBJ_id_Gost28147_89_MAC */ ++0x2A,0x85,0x03,0x02,0x02,0x17, /* [5419] OBJ_id_GostR3411_94_prf */ ++0x2A,0x85,0x03,0x02,0x02,0x62, /* [5425] OBJ_id_GostR3410_2001DH */ ++0x2A,0x85,0x03,0x02,0x02,0x63, /* [5431] OBJ_id_GostR3410_94DH */ ++0x2A,0x85,0x03,0x02,0x02,0x0E,0x01, /* [5437] OBJ_id_Gost28147_89_CryptoPro_KeyMeshing */ ++0x2A,0x85,0x03,0x02,0x02,0x0E,0x00, /* [5444] OBJ_id_Gost28147_89_None_KeyMeshing */ ++0x2A,0x85,0x03,0x02,0x02,0x1E,0x00, /* [5451] OBJ_id_GostR3411_94_TestParamSet */ ++0x2A,0x85,0x03,0x02,0x02,0x1E,0x01, /* [5458] OBJ_id_GostR3411_94_CryptoProParamSet */ ++0x2A,0x85,0x03,0x02,0x02,0x1F,0x00, /* [5465] OBJ_id_Gost28147_89_TestParamSet */ ++0x2A,0x85,0x03,0x02,0x02,0x1F,0x01, /* [5472] OBJ_id_Gost28147_89_CryptoPro_A_ParamSet */ ++0x2A,0x85,0x03,0x02,0x02,0x1F,0x02, /* [5479] OBJ_id_Gost28147_89_CryptoPro_B_ParamSet */ ++0x2A,0x85,0x03,0x02,0x02,0x1F,0x03, /* [5486] OBJ_id_Gost28147_89_CryptoPro_C_ParamSet */ ++0x2A,0x85,0x03,0x02,0x02,0x1F,0x04, /* [5493] OBJ_id_Gost28147_89_CryptoPro_D_ParamSet */ ++0x2A,0x85,0x03,0x02,0x02,0x1F,0x05, /* [5500] OBJ_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet */ ++0x2A,0x85,0x03,0x02,0x02,0x1F,0x06, /* [5507] OBJ_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet */ ++0x2A,0x85,0x03,0x02,0x02,0x1F,0x07, /* [5514] OBJ_id_Gost28147_89_CryptoPro_RIC_1_ParamSet */ ++0x2A,0x85,0x03,0x02,0x02,0x20,0x00, /* [5521] OBJ_id_GostR3410_94_TestParamSet */ ++0x2A,0x85,0x03,0x02,0x02,0x20,0x02, /* [5528] OBJ_id_GostR3410_94_CryptoPro_A_ParamSet */ ++0x2A,0x85,0x03,0x02,0x02,0x20,0x03, /* [5535] OBJ_id_GostR3410_94_CryptoPro_B_ParamSet */ ++0x2A,0x85,0x03,0x02,0x02,0x20,0x04, /* [5542] OBJ_id_GostR3410_94_CryptoPro_C_ParamSet */ ++0x2A,0x85,0x03,0x02,0x02,0x20,0x05, /* [5549] OBJ_id_GostR3410_94_CryptoPro_D_ParamSet */ ++0x2A,0x85,0x03,0x02,0x02,0x21,0x01, /* [5556] OBJ_id_GostR3410_94_CryptoPro_XchA_ParamSet */ ++0x2A,0x85,0x03,0x02,0x02,0x21,0x02, /* [5563] OBJ_id_GostR3410_94_CryptoPro_XchB_ParamSet */ ++0x2A,0x85,0x03,0x02,0x02,0x21,0x03, /* [5570] OBJ_id_GostR3410_94_CryptoPro_XchC_ParamSet */ ++0x2A,0x85,0x03,0x02,0x02,0x23,0x00, /* [5577] OBJ_id_GostR3410_2001_TestParamSet */ ++0x2A,0x85,0x03,0x02,0x02,0x23,0x01, /* [5584] OBJ_id_GostR3410_2001_CryptoPro_A_ParamSet */ ++0x2A,0x85,0x03,0x02,0x02,0x23,0x02, /* [5591] OBJ_id_GostR3410_2001_CryptoPro_B_ParamSet */ ++0x2A,0x85,0x03,0x02,0x02,0x23,0x03, /* [5598] OBJ_id_GostR3410_2001_CryptoPro_C_ParamSet */ ++0x2A,0x85,0x03,0x02,0x02,0x24,0x00, /* [5605] OBJ_id_GostR3410_2001_CryptoPro_XchA_ParamSet */ ++0x2A,0x85,0x03,0x02,0x02,0x24,0x01, /* [5612] OBJ_id_GostR3410_2001_CryptoPro_XchB_ParamSet */ ++0x2A,0x85,0x03,0x02,0x02,0x14,0x01, /* [5619] OBJ_id_GostR3410_94_a */ ++0x2A,0x85,0x03,0x02,0x02,0x14,0x02, /* [5626] OBJ_id_GostR3410_94_aBis */ ++0x2A,0x85,0x03,0x02,0x02,0x14,0x03, /* [5633] OBJ_id_GostR3410_94_b */ ++0x2A,0x85,0x03,0x02,0x02,0x14,0x04, /* [5640] OBJ_id_GostR3410_94_bBis */ ++0x2A,0x85,0x03,0x02,0x09,0x01,0x06,0x01, /* [5647] OBJ_id_Gost28147_89_cc */ ++0x2A,0x85,0x03,0x02,0x09,0x01,0x05,0x03, /* [5655] OBJ_id_GostR3410_94_cc */ ++0x2A,0x85,0x03,0x02,0x09,0x01,0x05,0x04, /* [5663] OBJ_id_GostR3410_2001_cc */ ++0x2A,0x85,0x03,0x02,0x09,0x01,0x03,0x03, /* [5671] OBJ_id_GostR3411_94_with_GostR3410_94_cc */ ++0x2A,0x85,0x03,0x02,0x09,0x01,0x03,0x04, /* [5679] OBJ_id_GostR3411_94_with_GostR3410_2001_cc */ ++0x2A,0x85,0x03,0x02,0x09,0x01,0x08,0x01, /* [5687] OBJ_id_GostR3410_2001_ParamSet_cc */ ++0x2B,0x06,0x01,0x04,0x01,0x82,0x37,0x11,0x02,/* [5695] OBJ_LocalKeySet */ ++0x55,0x1D,0x2E, /* [5704] OBJ_freshest_crl */ ++0x2B,0x06,0x01,0x05,0x05,0x07,0x08,0x03, /* [5707] OBJ_id_on_permanentIdentifier */ ++0x55,0x04,0x0E, /* [5715] OBJ_searchGuide */ ++0x55,0x04,0x0F, /* [5718] OBJ_businessCategory */ ++0x55,0x04,0x10, /* [5721] OBJ_postalAddress */ ++0x55,0x04,0x12, /* [5724] OBJ_postOfficeBox */ ++0x55,0x04,0x13, /* [5727] OBJ_physicalDeliveryOfficeName */ ++0x55,0x04,0x14, /* [5730] OBJ_telephoneNumber */ ++0x55,0x04,0x15, /* [5733] OBJ_telexNumber */ ++0x55,0x04,0x16, /* [5736] OBJ_teletexTerminalIdentifier */ ++0x55,0x04,0x17, /* [5739] OBJ_facsimileTelephoneNumber */ ++0x55,0x04,0x18, /* [5742] OBJ_x121Address */ ++0x55,0x04,0x19, /* [5745] OBJ_internationaliSDNNumber */ ++0x55,0x04,0x1A, /* [5748] OBJ_registeredAddress */ ++0x55,0x04,0x1B, /* [5751] OBJ_destinationIndicator */ ++0x55,0x04,0x1C, /* [5754] OBJ_preferredDeliveryMethod */ ++0x55,0x04,0x1D, /* [5757] OBJ_presentationAddress */ ++0x55,0x04,0x1E, /* [5760] OBJ_supportedApplicationContext */ ++0x55,0x04,0x1F, /* [5763] OBJ_member */ ++0x55,0x04,0x20, /* [5766] OBJ_owner */ ++0x55,0x04,0x21, /* [5769] OBJ_roleOccupant */ ++0x55,0x04,0x22, /* [5772] OBJ_seeAlso */ ++0x55,0x04,0x23, /* [5775] OBJ_userPassword */ ++0x55,0x04,0x24, /* [5778] OBJ_userCertificate */ ++0x55,0x04,0x25, /* [5781] OBJ_cACertificate */ ++0x55,0x04,0x26, /* [5784] OBJ_authorityRevocationList */ ++0x55,0x04,0x27, /* [5787] OBJ_certificateRevocationList */ ++0x55,0x04,0x28, /* [5790] OBJ_crossCertificatePair */ ++0x55,0x04,0x2F, /* [5793] OBJ_enhancedSearchGuide */ ++0x55,0x04,0x30, /* [5796] OBJ_protocolInformation */ ++0x55,0x04,0x31, /* [5799] OBJ_distinguishedName */ ++0x55,0x04,0x32, /* [5802] OBJ_uniqueMember */ ++0x55,0x04,0x33, /* [5805] OBJ_houseIdentifier */ ++0x55,0x04,0x34, /* [5808] OBJ_supportedAlgorithms */ ++0x55,0x04,0x35, /* [5811] OBJ_deltaRevocationList */ ++0x55,0x04,0x36, /* [5814] OBJ_dmdName */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x03,0x09,/* [5817] OBJ_id_alg_PWRI_KEK */ ++0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x06,/* [5828] OBJ_aes_128_gcm */ ++0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x07,/* [5837] OBJ_aes_128_ccm */ ++0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x08,/* [5846] OBJ_id_aes128_wrap_pad */ ++0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x1A,/* [5855] OBJ_aes_192_gcm */ ++0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x1B,/* [5864] OBJ_aes_192_ccm */ ++0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x1C,/* [5873] OBJ_id_aes192_wrap_pad */ ++0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x2E,/* [5882] OBJ_aes_256_gcm */ ++0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x2F,/* [5891] OBJ_aes_256_ccm */ ++0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x01,0x30,/* [5900] OBJ_id_aes256_wrap_pad */ ++0x2A,0x83,0x08,0x8C,0x9A,0x4B,0x3D,0x01,0x01,0x03,0x02,/* [5909] OBJ_id_camellia128_wrap */ ++0x2A,0x83,0x08,0x8C,0x9A,0x4B,0x3D,0x01,0x01,0x03,0x03,/* [5920] OBJ_id_camellia192_wrap */ ++0x2A,0x83,0x08,0x8C,0x9A,0x4B,0x3D,0x01,0x01,0x03,0x04,/* [5931] OBJ_id_camellia256_wrap */ ++0x55,0x1D,0x25,0x00, /* [5942] OBJ_anyExtendedKeyUsage */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x08,/* [5946] OBJ_mgf1 */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x0A,/* [5955] OBJ_rsassaPss */ ++0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x07,/* [5964] OBJ_rsaesOaep */ ++0x2B,0x24, /* [5973] OBJ_teletrust */ ++0x2B,0x24,0x03,0x03,0x02,0x08,0x01, /* [5975] OBJ_brainpool */ ++0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x01,/* [5982] OBJ_brainpoolP160r1 */ ++0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x02,/* [5991] OBJ_brainpoolP160t1 */ ++0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x03,/* [6000] OBJ_brainpoolP192r1 */ ++0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x04,/* [6009] OBJ_brainpoolP192t1 */ ++0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x05,/* [6018] OBJ_brainpoolP224r1 */ ++0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x06,/* [6027] OBJ_brainpoolP224t1 */ ++0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x07,/* [6036] OBJ_brainpoolP256r1 */ ++0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x08,/* [6045] OBJ_brainpoolP256t1 */ ++0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x09,/* [6054] OBJ_brainpoolP320r1 */ ++0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x0A,/* [6063] OBJ_brainpoolP320t1 */ ++0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x0B,/* [6072] OBJ_brainpoolP384r1 */ ++0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x0C,/* [6081] OBJ_brainpoolP384t1 */ ++0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x0D,/* [6090] OBJ_brainpoolP512r1 */ ++0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x0E,/* [6099] OBJ_brainpoolP512t1 */ ++0x2A,0x81,0x7A,0x01,0x81,0x5F,0x65,0x82,0x00,0x01,/* [6108] OBJ_FRP256v1 */ ++0x2A,0x85,0x03,0x07,0x01, /* [6118] OBJ_tc26 */ ++0x2A,0x85,0x03,0x07,0x01,0x01,0x02,0x02, /* [6123] OBJ_id_tc26_gost3411_2012_256 */ ++0x2A,0x85,0x03,0x07,0x01,0x01,0x02,0x03, /* [6131] OBJ_id_tc26_gost3411_2012_512 */ ++0x2A,0x85,0x03,0x07,0x01,0x02,0x01,0x02,0x01,/* [6139] OBJ_id_tc26_gost_3410_2012_512_paramSetA */ ++0x2A,0x85,0x03,0x07,0x01,0x02,0x01,0x02,0x02,/* [6148] OBJ_id_tc26_gost_3410_2012_512_paramSetB */ ++0x2A,0x85,0x03,0x07,0x01,0x02,0x05,0x01,0x01,/* [6157] OBJ_id_tc26_gost_28147_param_Z */ ++0x2A,0x85,0x03,0x07,0x01,0x01,0x01,0x01, /* [6166] OBJ_id_tc26_gost3410_2012_256 */ ++0x2A,0x85,0x03,0x07,0x01,0x01,0x01,0x02, /* [6174] OBJ_id_tc26_gost3410_2012_512 */ ++0x2A,0x85,0x03,0x07,0x01,0x01,0x03,0x02, /* [6182] OBJ_id_tc26_signwithdigest_gost3410_2012_256 */ ++0x2A,0x85,0x03,0x07,0x01,0x01,0x03,0x03, /* [6190] OBJ_id_tc26_signwithdigest_gost3410_2012_512 */ ++}; ++ ++static const ASN1_OBJECT nid_objs[NUM_NID]={ ++{"UNDEF","undefined",NID_undef,0,NULL,0}, ++{"rsadsi","RSA Data Security, Inc.",NID_rsadsi,6,&(lvalues[0]),0}, ++{"pkcs","RSA Data Security, Inc. PKCS",NID_pkcs,7,&(lvalues[6]),0}, ++{"MD2","md2",NID_md2,8,&(lvalues[13]),0}, ++{"MD5","md5",NID_md5,8,&(lvalues[21]),0}, ++{"RC4","rc4",NID_rc4,8,&(lvalues[29]),0}, ++{"rsaEncryption","rsaEncryption",NID_rsaEncryption,9,&(lvalues[37]),0}, ++{"RSA-MD2","md2WithRSAEncryption",NID_md2WithRSAEncryption,9, ++ &(lvalues[46]),0}, ++{"RSA-MD5","md5WithRSAEncryption",NID_md5WithRSAEncryption,9, ++ &(lvalues[55]),0}, ++{"PBE-MD2-DES","pbeWithMD2AndDES-CBC",NID_pbeWithMD2AndDES_CBC,9, ++ &(lvalues[64]),0}, ++{"PBE-MD5-DES","pbeWithMD5AndDES-CBC",NID_pbeWithMD5AndDES_CBC,9, ++ &(lvalues[73]),0}, ++{"X500","directory services (X.500)",NID_X500,1,&(lvalues[82]),0}, ++{"X509","X509",NID_X509,2,&(lvalues[83]),0}, ++{"CN","commonName",NID_commonName,3,&(lvalues[85]),0}, ++{"C","countryName",NID_countryName,3,&(lvalues[88]),0}, ++{"L","localityName",NID_localityName,3,&(lvalues[91]),0}, ++{"ST","stateOrProvinceName",NID_stateOrProvinceName,3,&(lvalues[94]),0}, ++{"O","organizationName",NID_organizationName,3,&(lvalues[97]),0}, ++{"OU","organizationalUnitName",NID_organizationalUnitName,3, ++ &(lvalues[100]),0}, ++{"RSA","rsa",NID_rsa,4,&(lvalues[103]),0}, ++{"pkcs7","pkcs7",NID_pkcs7,8,&(lvalues[107]),0}, ++{"pkcs7-data","pkcs7-data",NID_pkcs7_data,9,&(lvalues[115]),0}, ++{"pkcs7-signedData","pkcs7-signedData",NID_pkcs7_signed,9, ++ &(lvalues[124]),0}, ++{"pkcs7-envelopedData","pkcs7-envelopedData",NID_pkcs7_enveloped,9, ++ &(lvalues[133]),0}, ++{"pkcs7-signedAndEnvelopedData","pkcs7-signedAndEnvelopedData", ++ NID_pkcs7_signedAndEnveloped,9,&(lvalues[142]),0}, ++{"pkcs7-digestData","pkcs7-digestData",NID_pkcs7_digest,9, ++ &(lvalues[151]),0}, ++{"pkcs7-encryptedData","pkcs7-encryptedData",NID_pkcs7_encrypted,9, ++ &(lvalues[160]),0}, ++{"pkcs3","pkcs3",NID_pkcs3,8,&(lvalues[169]),0}, ++{"dhKeyAgreement","dhKeyAgreement",NID_dhKeyAgreement,9, ++ &(lvalues[177]),0}, ++{"DES-ECB","des-ecb",NID_des_ecb,5,&(lvalues[186]),0}, ++{"DES-CFB","des-cfb",NID_des_cfb64,5,&(lvalues[191]),0}, ++{"DES-CBC","des-cbc",NID_des_cbc,5,&(lvalues[196]),0}, ++{"DES-EDE","des-ede",NID_des_ede_ecb,5,&(lvalues[201]),0}, ++{"DES-EDE3","des-ede3",NID_des_ede3_ecb,0,NULL,0}, ++{"IDEA-CBC","idea-cbc",NID_idea_cbc,11,&(lvalues[206]),0}, ++{"IDEA-CFB","idea-cfb",NID_idea_cfb64,0,NULL,0}, ++{"IDEA-ECB","idea-ecb",NID_idea_ecb,0,NULL,0}, ++{"RC2-CBC","rc2-cbc",NID_rc2_cbc,8,&(lvalues[217]),0}, ++{"RC2-ECB","rc2-ecb",NID_rc2_ecb,0,NULL,0}, ++{"RC2-CFB","rc2-cfb",NID_rc2_cfb64,0,NULL,0}, ++{"RC2-OFB","rc2-ofb",NID_rc2_ofb64,0,NULL,0}, ++{"SHA","sha",NID_sha,5,&(lvalues[225]),0}, ++{"RSA-SHA","shaWithRSAEncryption",NID_shaWithRSAEncryption,5, ++ &(lvalues[230]),0}, ++{"DES-EDE-CBC","des-ede-cbc",NID_des_ede_cbc,0,NULL,0}, ++{"DES-EDE3-CBC","des-ede3-cbc",NID_des_ede3_cbc,8,&(lvalues[235]),0}, ++{"DES-OFB","des-ofb",NID_des_ofb64,5,&(lvalues[243]),0}, ++{"IDEA-OFB","idea-ofb",NID_idea_ofb64,0,NULL,0}, ++{"pkcs9","pkcs9",NID_pkcs9,8,&(lvalues[248]),0}, ++{"emailAddress","emailAddress",NID_pkcs9_emailAddress,9, ++ &(lvalues[256]),0}, ++{"unstructuredName","unstructuredName",NID_pkcs9_unstructuredName,9, ++ &(lvalues[265]),0}, ++{"contentType","contentType",NID_pkcs9_contentType,9,&(lvalues[274]),0}, ++{"messageDigest","messageDigest",NID_pkcs9_messageDigest,9, ++ &(lvalues[283]),0}, ++{"signingTime","signingTime",NID_pkcs9_signingTime,9,&(lvalues[292]),0}, ++{"countersignature","countersignature",NID_pkcs9_countersignature,9, ++ &(lvalues[301]),0}, ++{"challengePassword","challengePassword",NID_pkcs9_challengePassword, ++ 9,&(lvalues[310]),0}, ++{"unstructuredAddress","unstructuredAddress", ++ NID_pkcs9_unstructuredAddress,9,&(lvalues[319]),0}, ++{"extendedCertificateAttributes","extendedCertificateAttributes", ++ NID_pkcs9_extCertAttributes,9,&(lvalues[328]),0}, ++{"Netscape","Netscape Communications Corp.",NID_netscape,7, ++ &(lvalues[337]),0}, ++{"nsCertExt","Netscape Certificate Extension", ++ NID_netscape_cert_extension,8,&(lvalues[344]),0}, ++{"nsDataType","Netscape Data Type",NID_netscape_data_type,8, ++ &(lvalues[352]),0}, ++{"DES-EDE-CFB","des-ede-cfb",NID_des_ede_cfb64,0,NULL,0}, ++{"DES-EDE3-CFB","des-ede3-cfb",NID_des_ede3_cfb64,0,NULL,0}, ++{"DES-EDE-OFB","des-ede-ofb",NID_des_ede_ofb64,0,NULL,0}, ++{"DES-EDE3-OFB","des-ede3-ofb",NID_des_ede3_ofb64,0,NULL,0}, ++{"SHA1","sha1",NID_sha1,5,&(lvalues[360]),0}, ++{"RSA-SHA1","sha1WithRSAEncryption",NID_sha1WithRSAEncryption,9, ++ &(lvalues[365]),0}, ++{"DSA-SHA","dsaWithSHA",NID_dsaWithSHA,5,&(lvalues[374]),0}, ++{"DSA-old","dsaEncryption-old",NID_dsa_2,5,&(lvalues[379]),0}, ++{"PBE-SHA1-RC2-64","pbeWithSHA1AndRC2-CBC",NID_pbeWithSHA1AndRC2_CBC, ++ 9,&(lvalues[384]),0}, ++{"PBKDF2","PBKDF2",NID_id_pbkdf2,9,&(lvalues[393]),0}, ++{"DSA-SHA1-old","dsaWithSHA1-old",NID_dsaWithSHA1_2,5,&(lvalues[402]),0}, ++{"nsCertType","Netscape Cert Type",NID_netscape_cert_type,9, ++ &(lvalues[407]),0}, ++{"nsBaseUrl","Netscape Base Url",NID_netscape_base_url,9, ++ &(lvalues[416]),0}, ++{"nsRevocationUrl","Netscape Revocation Url", ++ NID_netscape_revocation_url,9,&(lvalues[425]),0}, ++{"nsCaRevocationUrl","Netscape CA Revocation Url", ++ NID_netscape_ca_revocation_url,9,&(lvalues[434]),0}, ++{"nsRenewalUrl","Netscape Renewal Url",NID_netscape_renewal_url,9, ++ &(lvalues[443]),0}, ++{"nsCaPolicyUrl","Netscape CA Policy Url",NID_netscape_ca_policy_url, ++ 9,&(lvalues[452]),0}, ++{"nsSslServerName","Netscape SSL Server Name", ++ NID_netscape_ssl_server_name,9,&(lvalues[461]),0}, ++{"nsComment","Netscape Comment",NID_netscape_comment,9,&(lvalues[470]),0}, ++{"nsCertSequence","Netscape Certificate Sequence", ++ NID_netscape_cert_sequence,9,&(lvalues[479]),0}, ++{"DESX-CBC","desx-cbc",NID_desx_cbc,0,NULL,0}, ++{"id-ce","id-ce",NID_id_ce,2,&(lvalues[488]),0}, ++{"subjectKeyIdentifier","X509v3 Subject Key Identifier", ++ NID_subject_key_identifier,3,&(lvalues[490]),0}, ++{"keyUsage","X509v3 Key Usage",NID_key_usage,3,&(lvalues[493]),0}, ++{"privateKeyUsagePeriod","X509v3 Private Key Usage Period", ++ NID_private_key_usage_period,3,&(lvalues[496]),0}, ++{"subjectAltName","X509v3 Subject Alternative Name", ++ NID_subject_alt_name,3,&(lvalues[499]),0}, ++{"issuerAltName","X509v3 Issuer Alternative Name",NID_issuer_alt_name, ++ 3,&(lvalues[502]),0}, ++{"basicConstraints","X509v3 Basic Constraints",NID_basic_constraints, ++ 3,&(lvalues[505]),0}, ++{"crlNumber","X509v3 CRL Number",NID_crl_number,3,&(lvalues[508]),0}, ++{"certificatePolicies","X509v3 Certificate Policies", ++ NID_certificate_policies,3,&(lvalues[511]),0}, ++{"authorityKeyIdentifier","X509v3 Authority Key Identifier", ++ NID_authority_key_identifier,3,&(lvalues[514]),0}, ++{"BF-CBC","bf-cbc",NID_bf_cbc,9,&(lvalues[517]),0}, ++{"BF-ECB","bf-ecb",NID_bf_ecb,0,NULL,0}, ++{"BF-CFB","bf-cfb",NID_bf_cfb64,0,NULL,0}, ++{"BF-OFB","bf-ofb",NID_bf_ofb64,0,NULL,0}, ++{"MDC2","mdc2",NID_mdc2,4,&(lvalues[526]),0}, ++{"RSA-MDC2","mdc2WithRSA",NID_mdc2WithRSA,4,&(lvalues[530]),0}, ++{"RC4-40","rc4-40",NID_rc4_40,0,NULL,0}, ++{"RC2-40-CBC","rc2-40-cbc",NID_rc2_40_cbc,0,NULL,0}, ++{"GN","givenName",NID_givenName,3,&(lvalues[534]),0}, ++{"SN","surname",NID_surname,3,&(lvalues[537]),0}, ++{"initials","initials",NID_initials,3,&(lvalues[540]),0}, ++{NULL,NULL,NID_undef,0,NULL,0}, ++{"crlDistributionPoints","X509v3 CRL Distribution Points", ++ NID_crl_distribution_points,3,&(lvalues[543]),0}, ++{"RSA-NP-MD5","md5WithRSA",NID_md5WithRSA,5,&(lvalues[546]),0}, ++{"serialNumber","serialNumber",NID_serialNumber,3,&(lvalues[551]),0}, ++{"title","title",NID_title,3,&(lvalues[554]),0}, ++{"description","description",NID_description,3,&(lvalues[557]),0}, ++{"CAST5-CBC","cast5-cbc",NID_cast5_cbc,9,&(lvalues[560]),0}, ++{"CAST5-ECB","cast5-ecb",NID_cast5_ecb,0,NULL,0}, ++{"CAST5-CFB","cast5-cfb",NID_cast5_cfb64,0,NULL,0}, ++{"CAST5-OFB","cast5-ofb",NID_cast5_ofb64,0,NULL,0}, ++{"pbeWithMD5AndCast5CBC","pbeWithMD5AndCast5CBC", ++ NID_pbeWithMD5AndCast5_CBC,9,&(lvalues[569]),0}, ++{"DSA-SHA1","dsaWithSHA1",NID_dsaWithSHA1,7,&(lvalues[578]),0}, ++{"MD5-SHA1","md5-sha1",NID_md5_sha1,0,NULL,0}, ++{"RSA-SHA1-2","sha1WithRSA",NID_sha1WithRSA,5,&(lvalues[585]),0}, ++{"DSA","dsaEncryption",NID_dsa,7,&(lvalues[590]),0}, ++{"RIPEMD160","ripemd160",NID_ripemd160,5,&(lvalues[597]),0}, ++{NULL,NULL,NID_undef,0,NULL,0}, ++{"RSA-RIPEMD160","ripemd160WithRSA",NID_ripemd160WithRSA,6, ++ &(lvalues[602]),0}, ++{"RC5-CBC","rc5-cbc",NID_rc5_cbc,8,&(lvalues[608]),0}, ++{"RC5-ECB","rc5-ecb",NID_rc5_ecb,0,NULL,0}, ++{"RC5-CFB","rc5-cfb",NID_rc5_cfb64,0,NULL,0}, ++{"RC5-OFB","rc5-ofb",NID_rc5_ofb64,0,NULL,0}, ++{"RLE","run length compression",NID_rle_compression,6,&(lvalues[616]),0}, ++{"ZLIB","zlib compression",NID_zlib_compression,11,&(lvalues[622]),0}, ++{"extendedKeyUsage","X509v3 Extended Key Usage",NID_ext_key_usage,3, ++ &(lvalues[633]),0}, ++{"PKIX","PKIX",NID_id_pkix,6,&(lvalues[636]),0}, ++{"id-kp","id-kp",NID_id_kp,7,&(lvalues[642]),0}, ++{"serverAuth","TLS Web Server Authentication",NID_server_auth,8, ++ &(lvalues[649]),0}, ++{"clientAuth","TLS Web Client Authentication",NID_client_auth,8, ++ &(lvalues[657]),0}, ++{"codeSigning","Code Signing",NID_code_sign,8,&(lvalues[665]),0}, ++{"emailProtection","E-mail Protection",NID_email_protect,8, ++ &(lvalues[673]),0}, ++{"timeStamping","Time Stamping",NID_time_stamp,8,&(lvalues[681]),0}, ++{"msCodeInd","Microsoft Individual Code Signing",NID_ms_code_ind,10, ++ &(lvalues[689]),0}, ++{"msCodeCom","Microsoft Commercial Code Signing",NID_ms_code_com,10, ++ &(lvalues[699]),0}, ++{"msCTLSign","Microsoft Trust List Signing",NID_ms_ctl_sign,10, ++ &(lvalues[709]),0}, ++{"msSGC","Microsoft Server Gated Crypto",NID_ms_sgc,10,&(lvalues[719]),0}, ++{"msEFS","Microsoft Encrypted File System",NID_ms_efs,10, ++ &(lvalues[729]),0}, ++{"nsSGC","Netscape Server Gated Crypto",NID_ns_sgc,9,&(lvalues[739]),0}, ++{"deltaCRL","X509v3 Delta CRL Indicator",NID_delta_crl,3, ++ &(lvalues[748]),0}, ++{"CRLReason","X509v3 CRL Reason Code",NID_crl_reason,3,&(lvalues[751]),0}, ++{"invalidityDate","Invalidity Date",NID_invalidity_date,3, ++ &(lvalues[754]),0}, ++{"SXNetID","Strong Extranet ID",NID_sxnet,5,&(lvalues[757]),0}, ++{"PBE-SHA1-RC4-128","pbeWithSHA1And128BitRC4", ++ NID_pbe_WithSHA1And128BitRC4,10,&(lvalues[762]),0}, ++{"PBE-SHA1-RC4-40","pbeWithSHA1And40BitRC4", ++ NID_pbe_WithSHA1And40BitRC4,10,&(lvalues[772]),0}, ++{"PBE-SHA1-3DES","pbeWithSHA1And3-KeyTripleDES-CBC", ++ NID_pbe_WithSHA1And3_Key_TripleDES_CBC,10,&(lvalues[782]),0}, ++{"PBE-SHA1-2DES","pbeWithSHA1And2-KeyTripleDES-CBC", ++ NID_pbe_WithSHA1And2_Key_TripleDES_CBC,10,&(lvalues[792]),0}, ++{"PBE-SHA1-RC2-128","pbeWithSHA1And128BitRC2-CBC", ++ NID_pbe_WithSHA1And128BitRC2_CBC,10,&(lvalues[802]),0}, ++{"PBE-SHA1-RC2-40","pbeWithSHA1And40BitRC2-CBC", ++ NID_pbe_WithSHA1And40BitRC2_CBC,10,&(lvalues[812]),0}, ++{"keyBag","keyBag",NID_keyBag,11,&(lvalues[822]),0}, ++{"pkcs8ShroudedKeyBag","pkcs8ShroudedKeyBag",NID_pkcs8ShroudedKeyBag, ++ 11,&(lvalues[833]),0}, ++{"certBag","certBag",NID_certBag,11,&(lvalues[844]),0}, ++{"crlBag","crlBag",NID_crlBag,11,&(lvalues[855]),0}, ++{"secretBag","secretBag",NID_secretBag,11,&(lvalues[866]),0}, ++{"safeContentsBag","safeContentsBag",NID_safeContentsBag,11, ++ &(lvalues[877]),0}, ++{"friendlyName","friendlyName",NID_friendlyName,9,&(lvalues[888]),0}, ++{"localKeyID","localKeyID",NID_localKeyID,9,&(lvalues[897]),0}, ++{"x509Certificate","x509Certificate",NID_x509Certificate,10, ++ &(lvalues[906]),0}, ++{"sdsiCertificate","sdsiCertificate",NID_sdsiCertificate,10, ++ &(lvalues[916]),0}, ++{"x509Crl","x509Crl",NID_x509Crl,10,&(lvalues[926]),0}, ++{"PBES2","PBES2",NID_pbes2,9,&(lvalues[936]),0}, ++{"PBMAC1","PBMAC1",NID_pbmac1,9,&(lvalues[945]),0}, ++{"hmacWithSHA1","hmacWithSHA1",NID_hmacWithSHA1,8,&(lvalues[954]),0}, ++{"id-qt-cps","Policy Qualifier CPS",NID_id_qt_cps,8,&(lvalues[962]),0}, ++{"id-qt-unotice","Policy Qualifier User Notice",NID_id_qt_unotice,8, ++ &(lvalues[970]),0}, ++{"RC2-64-CBC","rc2-64-cbc",NID_rc2_64_cbc,0,NULL,0}, ++{"SMIME-CAPS","S/MIME Capabilities",NID_SMIMECapabilities,9, ++ &(lvalues[978]),0}, ++{"PBE-MD2-RC2-64","pbeWithMD2AndRC2-CBC",NID_pbeWithMD2AndRC2_CBC,9, ++ &(lvalues[987]),0}, ++{"PBE-MD5-RC2-64","pbeWithMD5AndRC2-CBC",NID_pbeWithMD5AndRC2_CBC,9, ++ &(lvalues[996]),0}, ++{"PBE-SHA1-DES","pbeWithSHA1AndDES-CBC",NID_pbeWithSHA1AndDES_CBC,9, ++ &(lvalues[1005]),0}, ++{"msExtReq","Microsoft Extension Request",NID_ms_ext_req,10, ++ &(lvalues[1014]),0}, ++{"extReq","Extension Request",NID_ext_req,9,&(lvalues[1024]),0}, ++{"name","name",NID_name,3,&(lvalues[1033]),0}, ++{"dnQualifier","dnQualifier",NID_dnQualifier,3,&(lvalues[1036]),0}, ++{"id-pe","id-pe",NID_id_pe,7,&(lvalues[1039]),0}, ++{"id-ad","id-ad",NID_id_ad,7,&(lvalues[1046]),0}, ++{"authorityInfoAccess","Authority Information Access",NID_info_access, ++ 8,&(lvalues[1053]),0}, ++{"OCSP","OCSP",NID_ad_OCSP,8,&(lvalues[1061]),0}, ++{"caIssuers","CA Issuers",NID_ad_ca_issuers,8,&(lvalues[1069]),0}, ++{"OCSPSigning","OCSP Signing",NID_OCSP_sign,8,&(lvalues[1077]),0}, ++{"ISO","iso",NID_iso,0,NULL,0}, ++{"member-body","ISO Member Body",NID_member_body,1,&(lvalues[1085]),0}, ++{"ISO-US","ISO US Member Body",NID_ISO_US,3,&(lvalues[1086]),0}, ++{"X9-57","X9.57",NID_X9_57,5,&(lvalues[1089]),0}, ++{"X9cm","X9.57 CM ?",NID_X9cm,6,&(lvalues[1094]),0}, ++{"pkcs1","pkcs1",NID_pkcs1,8,&(lvalues[1100]),0}, ++{"pkcs5","pkcs5",NID_pkcs5,8,&(lvalues[1108]),0}, ++{"SMIME","S/MIME",NID_SMIME,9,&(lvalues[1116]),0}, ++{"id-smime-mod","id-smime-mod",NID_id_smime_mod,10,&(lvalues[1125]),0}, ++{"id-smime-ct","id-smime-ct",NID_id_smime_ct,10,&(lvalues[1135]),0}, ++{"id-smime-aa","id-smime-aa",NID_id_smime_aa,10,&(lvalues[1145]),0}, ++{"id-smime-alg","id-smime-alg",NID_id_smime_alg,10,&(lvalues[1155]),0}, ++{"id-smime-cd","id-smime-cd",NID_id_smime_cd,10,&(lvalues[1165]),0}, ++{"id-smime-spq","id-smime-spq",NID_id_smime_spq,10,&(lvalues[1175]),0}, ++{"id-smime-cti","id-smime-cti",NID_id_smime_cti,10,&(lvalues[1185]),0}, ++{"id-smime-mod-cms","id-smime-mod-cms",NID_id_smime_mod_cms,11, ++ &(lvalues[1195]),0}, ++{"id-smime-mod-ess","id-smime-mod-ess",NID_id_smime_mod_ess,11, ++ &(lvalues[1206]),0}, ++{"id-smime-mod-oid","id-smime-mod-oid",NID_id_smime_mod_oid,11, ++ &(lvalues[1217]),0}, ++{"id-smime-mod-msg-v3","id-smime-mod-msg-v3",NID_id_smime_mod_msg_v3, ++ 11,&(lvalues[1228]),0}, ++{"id-smime-mod-ets-eSignature-88","id-smime-mod-ets-eSignature-88", ++ NID_id_smime_mod_ets_eSignature_88,11,&(lvalues[1239]),0}, ++{"id-smime-mod-ets-eSignature-97","id-smime-mod-ets-eSignature-97", ++ NID_id_smime_mod_ets_eSignature_97,11,&(lvalues[1250]),0}, ++{"id-smime-mod-ets-eSigPolicy-88","id-smime-mod-ets-eSigPolicy-88", ++ NID_id_smime_mod_ets_eSigPolicy_88,11,&(lvalues[1261]),0}, ++{"id-smime-mod-ets-eSigPolicy-97","id-smime-mod-ets-eSigPolicy-97", ++ NID_id_smime_mod_ets_eSigPolicy_97,11,&(lvalues[1272]),0}, ++{"id-smime-ct-receipt","id-smime-ct-receipt",NID_id_smime_ct_receipt, ++ 11,&(lvalues[1283]),0}, ++{"id-smime-ct-authData","id-smime-ct-authData", ++ NID_id_smime_ct_authData,11,&(lvalues[1294]),0}, ++{"id-smime-ct-publishCert","id-smime-ct-publishCert", ++ NID_id_smime_ct_publishCert,11,&(lvalues[1305]),0}, ++{"id-smime-ct-TSTInfo","id-smime-ct-TSTInfo",NID_id_smime_ct_TSTInfo, ++ 11,&(lvalues[1316]),0}, ++{"id-smime-ct-TDTInfo","id-smime-ct-TDTInfo",NID_id_smime_ct_TDTInfo, ++ 11,&(lvalues[1327]),0}, ++{"id-smime-ct-contentInfo","id-smime-ct-contentInfo", ++ NID_id_smime_ct_contentInfo,11,&(lvalues[1338]),0}, ++{"id-smime-ct-DVCSRequestData","id-smime-ct-DVCSRequestData", ++ NID_id_smime_ct_DVCSRequestData,11,&(lvalues[1349]),0}, ++{"id-smime-ct-DVCSResponseData","id-smime-ct-DVCSResponseData", ++ NID_id_smime_ct_DVCSResponseData,11,&(lvalues[1360]),0}, ++{"id-smime-aa-receiptRequest","id-smime-aa-receiptRequest", ++ NID_id_smime_aa_receiptRequest,11,&(lvalues[1371]),0}, ++{"id-smime-aa-securityLabel","id-smime-aa-securityLabel", ++ NID_id_smime_aa_securityLabel,11,&(lvalues[1382]),0}, ++{"id-smime-aa-mlExpandHistory","id-smime-aa-mlExpandHistory", ++ NID_id_smime_aa_mlExpandHistory,11,&(lvalues[1393]),0}, ++{"id-smime-aa-contentHint","id-smime-aa-contentHint", ++ NID_id_smime_aa_contentHint,11,&(lvalues[1404]),0}, ++{"id-smime-aa-msgSigDigest","id-smime-aa-msgSigDigest", ++ NID_id_smime_aa_msgSigDigest,11,&(lvalues[1415]),0}, ++{"id-smime-aa-encapContentType","id-smime-aa-encapContentType", ++ NID_id_smime_aa_encapContentType,11,&(lvalues[1426]),0}, ++{"id-smime-aa-contentIdentifier","id-smime-aa-contentIdentifier", ++ NID_id_smime_aa_contentIdentifier,11,&(lvalues[1437]),0}, ++{"id-smime-aa-macValue","id-smime-aa-macValue", ++ NID_id_smime_aa_macValue,11,&(lvalues[1448]),0}, ++{"id-smime-aa-equivalentLabels","id-smime-aa-equivalentLabels", ++ NID_id_smime_aa_equivalentLabels,11,&(lvalues[1459]),0}, ++{"id-smime-aa-contentReference","id-smime-aa-contentReference", ++ NID_id_smime_aa_contentReference,11,&(lvalues[1470]),0}, ++{"id-smime-aa-encrypKeyPref","id-smime-aa-encrypKeyPref", ++ NID_id_smime_aa_encrypKeyPref,11,&(lvalues[1481]),0}, ++{"id-smime-aa-signingCertificate","id-smime-aa-signingCertificate", ++ NID_id_smime_aa_signingCertificate,11,&(lvalues[1492]),0}, ++{"id-smime-aa-smimeEncryptCerts","id-smime-aa-smimeEncryptCerts", ++ NID_id_smime_aa_smimeEncryptCerts,11,&(lvalues[1503]),0}, ++{"id-smime-aa-timeStampToken","id-smime-aa-timeStampToken", ++ NID_id_smime_aa_timeStampToken,11,&(lvalues[1514]),0}, ++{"id-smime-aa-ets-sigPolicyId","id-smime-aa-ets-sigPolicyId", ++ NID_id_smime_aa_ets_sigPolicyId,11,&(lvalues[1525]),0}, ++{"id-smime-aa-ets-commitmentType","id-smime-aa-ets-commitmentType", ++ NID_id_smime_aa_ets_commitmentType,11,&(lvalues[1536]),0}, ++{"id-smime-aa-ets-signerLocation","id-smime-aa-ets-signerLocation", ++ NID_id_smime_aa_ets_signerLocation,11,&(lvalues[1547]),0}, ++{"id-smime-aa-ets-signerAttr","id-smime-aa-ets-signerAttr", ++ NID_id_smime_aa_ets_signerAttr,11,&(lvalues[1558]),0}, ++{"id-smime-aa-ets-otherSigCert","id-smime-aa-ets-otherSigCert", ++ NID_id_smime_aa_ets_otherSigCert,11,&(lvalues[1569]),0}, ++{"id-smime-aa-ets-contentTimestamp", ++ "id-smime-aa-ets-contentTimestamp", ++ NID_id_smime_aa_ets_contentTimestamp,11,&(lvalues[1580]),0}, ++{"id-smime-aa-ets-CertificateRefs","id-smime-aa-ets-CertificateRefs", ++ NID_id_smime_aa_ets_CertificateRefs,11,&(lvalues[1591]),0}, ++{"id-smime-aa-ets-RevocationRefs","id-smime-aa-ets-RevocationRefs", ++ NID_id_smime_aa_ets_RevocationRefs,11,&(lvalues[1602]),0}, ++{"id-smime-aa-ets-certValues","id-smime-aa-ets-certValues", ++ NID_id_smime_aa_ets_certValues,11,&(lvalues[1613]),0}, ++{"id-smime-aa-ets-revocationValues", ++ "id-smime-aa-ets-revocationValues", ++ NID_id_smime_aa_ets_revocationValues,11,&(lvalues[1624]),0}, ++{"id-smime-aa-ets-escTimeStamp","id-smime-aa-ets-escTimeStamp", ++ NID_id_smime_aa_ets_escTimeStamp,11,&(lvalues[1635]),0}, ++{"id-smime-aa-ets-certCRLTimestamp", ++ "id-smime-aa-ets-certCRLTimestamp", ++ NID_id_smime_aa_ets_certCRLTimestamp,11,&(lvalues[1646]),0}, ++{"id-smime-aa-ets-archiveTimeStamp", ++ "id-smime-aa-ets-archiveTimeStamp", ++ NID_id_smime_aa_ets_archiveTimeStamp,11,&(lvalues[1657]),0}, ++{"id-smime-aa-signatureType","id-smime-aa-signatureType", ++ NID_id_smime_aa_signatureType,11,&(lvalues[1668]),0}, ++{"id-smime-aa-dvcs-dvc","id-smime-aa-dvcs-dvc", ++ NID_id_smime_aa_dvcs_dvc,11,&(lvalues[1679]),0}, ++{"id-smime-alg-ESDHwith3DES","id-smime-alg-ESDHwith3DES", ++ NID_id_smime_alg_ESDHwith3DES,11,&(lvalues[1690]),0}, ++{"id-smime-alg-ESDHwithRC2","id-smime-alg-ESDHwithRC2", ++ NID_id_smime_alg_ESDHwithRC2,11,&(lvalues[1701]),0}, ++{"id-smime-alg-3DESwrap","id-smime-alg-3DESwrap", ++ NID_id_smime_alg_3DESwrap,11,&(lvalues[1712]),0}, ++{"id-smime-alg-RC2wrap","id-smime-alg-RC2wrap", ++ NID_id_smime_alg_RC2wrap,11,&(lvalues[1723]),0}, ++{"id-smime-alg-ESDH","id-smime-alg-ESDH",NID_id_smime_alg_ESDH,11, ++ &(lvalues[1734]),0}, ++{"id-smime-alg-CMS3DESwrap","id-smime-alg-CMS3DESwrap", ++ NID_id_smime_alg_CMS3DESwrap,11,&(lvalues[1745]),0}, ++{"id-smime-alg-CMSRC2wrap","id-smime-alg-CMSRC2wrap", ++ NID_id_smime_alg_CMSRC2wrap,11,&(lvalues[1756]),0}, ++{"id-smime-cd-ldap","id-smime-cd-ldap",NID_id_smime_cd_ldap,11, ++ &(lvalues[1767]),0}, ++{"id-smime-spq-ets-sqt-uri","id-smime-spq-ets-sqt-uri", ++ NID_id_smime_spq_ets_sqt_uri,11,&(lvalues[1778]),0}, ++{"id-smime-spq-ets-sqt-unotice","id-smime-spq-ets-sqt-unotice", ++ NID_id_smime_spq_ets_sqt_unotice,11,&(lvalues[1789]),0}, ++{"id-smime-cti-ets-proofOfOrigin","id-smime-cti-ets-proofOfOrigin", ++ NID_id_smime_cti_ets_proofOfOrigin,11,&(lvalues[1800]),0}, ++{"id-smime-cti-ets-proofOfReceipt","id-smime-cti-ets-proofOfReceipt", ++ NID_id_smime_cti_ets_proofOfReceipt,11,&(lvalues[1811]),0}, ++{"id-smime-cti-ets-proofOfDelivery", ++ "id-smime-cti-ets-proofOfDelivery", ++ NID_id_smime_cti_ets_proofOfDelivery,11,&(lvalues[1822]),0}, ++{"id-smime-cti-ets-proofOfSender","id-smime-cti-ets-proofOfSender", ++ NID_id_smime_cti_ets_proofOfSender,11,&(lvalues[1833]),0}, ++{"id-smime-cti-ets-proofOfApproval", ++ "id-smime-cti-ets-proofOfApproval", ++ NID_id_smime_cti_ets_proofOfApproval,11,&(lvalues[1844]),0}, ++{"id-smime-cti-ets-proofOfCreation", ++ "id-smime-cti-ets-proofOfCreation", ++ NID_id_smime_cti_ets_proofOfCreation,11,&(lvalues[1855]),0}, ++{"MD4","md4",NID_md4,8,&(lvalues[1866]),0}, ++{"id-pkix-mod","id-pkix-mod",NID_id_pkix_mod,7,&(lvalues[1874]),0}, ++{"id-qt","id-qt",NID_id_qt,7,&(lvalues[1881]),0}, ++{"id-it","id-it",NID_id_it,7,&(lvalues[1888]),0}, ++{"id-pkip","id-pkip",NID_id_pkip,7,&(lvalues[1895]),0}, ++{"id-alg","id-alg",NID_id_alg,7,&(lvalues[1902]),0}, ++{"id-cmc","id-cmc",NID_id_cmc,7,&(lvalues[1909]),0}, ++{"id-on","id-on",NID_id_on,7,&(lvalues[1916]),0}, ++{"id-pda","id-pda",NID_id_pda,7,&(lvalues[1923]),0}, ++{"id-aca","id-aca",NID_id_aca,7,&(lvalues[1930]),0}, ++{"id-qcs","id-qcs",NID_id_qcs,7,&(lvalues[1937]),0}, ++{"id-cct","id-cct",NID_id_cct,7,&(lvalues[1944]),0}, ++{"id-pkix1-explicit-88","id-pkix1-explicit-88", ++ NID_id_pkix1_explicit_88,8,&(lvalues[1951]),0}, ++{"id-pkix1-implicit-88","id-pkix1-implicit-88", ++ NID_id_pkix1_implicit_88,8,&(lvalues[1959]),0}, ++{"id-pkix1-explicit-93","id-pkix1-explicit-93", ++ NID_id_pkix1_explicit_93,8,&(lvalues[1967]),0}, ++{"id-pkix1-implicit-93","id-pkix1-implicit-93", ++ NID_id_pkix1_implicit_93,8,&(lvalues[1975]),0}, ++{"id-mod-crmf","id-mod-crmf",NID_id_mod_crmf,8,&(lvalues[1983]),0}, ++{"id-mod-cmc","id-mod-cmc",NID_id_mod_cmc,8,&(lvalues[1991]),0}, ++{"id-mod-kea-profile-88","id-mod-kea-profile-88", ++ NID_id_mod_kea_profile_88,8,&(lvalues[1999]),0}, ++{"id-mod-kea-profile-93","id-mod-kea-profile-93", ++ NID_id_mod_kea_profile_93,8,&(lvalues[2007]),0}, ++{"id-mod-cmp","id-mod-cmp",NID_id_mod_cmp,8,&(lvalues[2015]),0}, ++{"id-mod-qualified-cert-88","id-mod-qualified-cert-88", ++ NID_id_mod_qualified_cert_88,8,&(lvalues[2023]),0}, ++{"id-mod-qualified-cert-93","id-mod-qualified-cert-93", ++ NID_id_mod_qualified_cert_93,8,&(lvalues[2031]),0}, ++{"id-mod-attribute-cert","id-mod-attribute-cert", ++ NID_id_mod_attribute_cert,8,&(lvalues[2039]),0}, ++{"id-mod-timestamp-protocol","id-mod-timestamp-protocol", ++ NID_id_mod_timestamp_protocol,8,&(lvalues[2047]),0}, ++{"id-mod-ocsp","id-mod-ocsp",NID_id_mod_ocsp,8,&(lvalues[2055]),0}, ++{"id-mod-dvcs","id-mod-dvcs",NID_id_mod_dvcs,8,&(lvalues[2063]),0}, ++{"id-mod-cmp2000","id-mod-cmp2000",NID_id_mod_cmp2000,8, ++ &(lvalues[2071]),0}, ++{"biometricInfo","Biometric Info",NID_biometricInfo,8,&(lvalues[2079]),0}, ++{"qcStatements","qcStatements",NID_qcStatements,8,&(lvalues[2087]),0}, ++{"ac-auditEntity","ac-auditEntity",NID_ac_auditEntity,8, ++ &(lvalues[2095]),0}, ++{"ac-targeting","ac-targeting",NID_ac_targeting,8,&(lvalues[2103]),0}, ++{"aaControls","aaControls",NID_aaControls,8,&(lvalues[2111]),0}, ++{"sbgp-ipAddrBlock","sbgp-ipAddrBlock",NID_sbgp_ipAddrBlock,8, ++ &(lvalues[2119]),0}, ++{"sbgp-autonomousSysNum","sbgp-autonomousSysNum", ++ NID_sbgp_autonomousSysNum,8,&(lvalues[2127]),0}, ++{"sbgp-routerIdentifier","sbgp-routerIdentifier", ++ NID_sbgp_routerIdentifier,8,&(lvalues[2135]),0}, ++{"textNotice","textNotice",NID_textNotice,8,&(lvalues[2143]),0}, ++{"ipsecEndSystem","IPSec End System",NID_ipsecEndSystem,8, ++ &(lvalues[2151]),0}, ++{"ipsecTunnel","IPSec Tunnel",NID_ipsecTunnel,8,&(lvalues[2159]),0}, ++{"ipsecUser","IPSec User",NID_ipsecUser,8,&(lvalues[2167]),0}, ++{"DVCS","dvcs",NID_dvcs,8,&(lvalues[2175]),0}, ++{"id-it-caProtEncCert","id-it-caProtEncCert",NID_id_it_caProtEncCert, ++ 8,&(lvalues[2183]),0}, ++{"id-it-signKeyPairTypes","id-it-signKeyPairTypes", ++ NID_id_it_signKeyPairTypes,8,&(lvalues[2191]),0}, ++{"id-it-encKeyPairTypes","id-it-encKeyPairTypes", ++ NID_id_it_encKeyPairTypes,8,&(lvalues[2199]),0}, ++{"id-it-preferredSymmAlg","id-it-preferredSymmAlg", ++ NID_id_it_preferredSymmAlg,8,&(lvalues[2207]),0}, ++{"id-it-caKeyUpdateInfo","id-it-caKeyUpdateInfo", ++ NID_id_it_caKeyUpdateInfo,8,&(lvalues[2215]),0}, ++{"id-it-currentCRL","id-it-currentCRL",NID_id_it_currentCRL,8, ++ &(lvalues[2223]),0}, ++{"id-it-unsupportedOIDs","id-it-unsupportedOIDs", ++ NID_id_it_unsupportedOIDs,8,&(lvalues[2231]),0}, ++{"id-it-subscriptionRequest","id-it-subscriptionRequest", ++ NID_id_it_subscriptionRequest,8,&(lvalues[2239]),0}, ++{"id-it-subscriptionResponse","id-it-subscriptionResponse", ++ NID_id_it_subscriptionResponse,8,&(lvalues[2247]),0}, ++{"id-it-keyPairParamReq","id-it-keyPairParamReq", ++ NID_id_it_keyPairParamReq,8,&(lvalues[2255]),0}, ++{"id-it-keyPairParamRep","id-it-keyPairParamRep", ++ NID_id_it_keyPairParamRep,8,&(lvalues[2263]),0}, ++{"id-it-revPassphrase","id-it-revPassphrase",NID_id_it_revPassphrase, ++ 8,&(lvalues[2271]),0}, ++{"id-it-implicitConfirm","id-it-implicitConfirm", ++ NID_id_it_implicitConfirm,8,&(lvalues[2279]),0}, ++{"id-it-confirmWaitTime","id-it-confirmWaitTime", ++ NID_id_it_confirmWaitTime,8,&(lvalues[2287]),0}, ++{"id-it-origPKIMessage","id-it-origPKIMessage", ++ NID_id_it_origPKIMessage,8,&(lvalues[2295]),0}, ++{"id-regCtrl","id-regCtrl",NID_id_regCtrl,8,&(lvalues[2303]),0}, ++{"id-regInfo","id-regInfo",NID_id_regInfo,8,&(lvalues[2311]),0}, ++{"id-regCtrl-regToken","id-regCtrl-regToken",NID_id_regCtrl_regToken, ++ 9,&(lvalues[2319]),0}, ++{"id-regCtrl-authenticator","id-regCtrl-authenticator", ++ NID_id_regCtrl_authenticator,9,&(lvalues[2328]),0}, ++{"id-regCtrl-pkiPublicationInfo","id-regCtrl-pkiPublicationInfo", ++ NID_id_regCtrl_pkiPublicationInfo,9,&(lvalues[2337]),0}, ++{"id-regCtrl-pkiArchiveOptions","id-regCtrl-pkiArchiveOptions", ++ NID_id_regCtrl_pkiArchiveOptions,9,&(lvalues[2346]),0}, ++{"id-regCtrl-oldCertID","id-regCtrl-oldCertID", ++ NID_id_regCtrl_oldCertID,9,&(lvalues[2355]),0}, ++{"id-regCtrl-protocolEncrKey","id-regCtrl-protocolEncrKey", ++ NID_id_regCtrl_protocolEncrKey,9,&(lvalues[2364]),0}, ++{"id-regInfo-utf8Pairs","id-regInfo-utf8Pairs", ++ NID_id_regInfo_utf8Pairs,9,&(lvalues[2373]),0}, ++{"id-regInfo-certReq","id-regInfo-certReq",NID_id_regInfo_certReq,9, ++ &(lvalues[2382]),0}, ++{"id-alg-des40","id-alg-des40",NID_id_alg_des40,8,&(lvalues[2391]),0}, ++{"id-alg-noSignature","id-alg-noSignature",NID_id_alg_noSignature,8, ++ &(lvalues[2399]),0}, ++{"id-alg-dh-sig-hmac-sha1","id-alg-dh-sig-hmac-sha1", ++ NID_id_alg_dh_sig_hmac_sha1,8,&(lvalues[2407]),0}, ++{"id-alg-dh-pop","id-alg-dh-pop",NID_id_alg_dh_pop,8,&(lvalues[2415]),0}, ++{"id-cmc-statusInfo","id-cmc-statusInfo",NID_id_cmc_statusInfo,8, ++ &(lvalues[2423]),0}, ++{"id-cmc-identification","id-cmc-identification", ++ NID_id_cmc_identification,8,&(lvalues[2431]),0}, ++{"id-cmc-identityProof","id-cmc-identityProof", ++ NID_id_cmc_identityProof,8,&(lvalues[2439]),0}, ++{"id-cmc-dataReturn","id-cmc-dataReturn",NID_id_cmc_dataReturn,8, ++ &(lvalues[2447]),0}, ++{"id-cmc-transactionId","id-cmc-transactionId", ++ NID_id_cmc_transactionId,8,&(lvalues[2455]),0}, ++{"id-cmc-senderNonce","id-cmc-senderNonce",NID_id_cmc_senderNonce,8, ++ &(lvalues[2463]),0}, ++{"id-cmc-recipientNonce","id-cmc-recipientNonce", ++ NID_id_cmc_recipientNonce,8,&(lvalues[2471]),0}, ++{"id-cmc-addExtensions","id-cmc-addExtensions", ++ NID_id_cmc_addExtensions,8,&(lvalues[2479]),0}, ++{"id-cmc-encryptedPOP","id-cmc-encryptedPOP",NID_id_cmc_encryptedPOP, ++ 8,&(lvalues[2487]),0}, ++{"id-cmc-decryptedPOP","id-cmc-decryptedPOP",NID_id_cmc_decryptedPOP, ++ 8,&(lvalues[2495]),0}, ++{"id-cmc-lraPOPWitness","id-cmc-lraPOPWitness", ++ NID_id_cmc_lraPOPWitness,8,&(lvalues[2503]),0}, ++{"id-cmc-getCert","id-cmc-getCert",NID_id_cmc_getCert,8, ++ &(lvalues[2511]),0}, ++{"id-cmc-getCRL","id-cmc-getCRL",NID_id_cmc_getCRL,8,&(lvalues[2519]),0}, ++{"id-cmc-revokeRequest","id-cmc-revokeRequest", ++ NID_id_cmc_revokeRequest,8,&(lvalues[2527]),0}, ++{"id-cmc-regInfo","id-cmc-regInfo",NID_id_cmc_regInfo,8, ++ &(lvalues[2535]),0}, ++{"id-cmc-responseInfo","id-cmc-responseInfo",NID_id_cmc_responseInfo, ++ 8,&(lvalues[2543]),0}, ++{"id-cmc-queryPending","id-cmc-queryPending",NID_id_cmc_queryPending, ++ 8,&(lvalues[2551]),0}, ++{"id-cmc-popLinkRandom","id-cmc-popLinkRandom", ++ NID_id_cmc_popLinkRandom,8,&(lvalues[2559]),0}, ++{"id-cmc-popLinkWitness","id-cmc-popLinkWitness", ++ NID_id_cmc_popLinkWitness,8,&(lvalues[2567]),0}, ++{"id-cmc-confirmCertAcceptance","id-cmc-confirmCertAcceptance", ++ NID_id_cmc_confirmCertAcceptance,8,&(lvalues[2575]),0}, ++{"id-on-personalData","id-on-personalData",NID_id_on_personalData,8, ++ &(lvalues[2583]),0}, ++{"id-pda-dateOfBirth","id-pda-dateOfBirth",NID_id_pda_dateOfBirth,8, ++ &(lvalues[2591]),0}, ++{"id-pda-placeOfBirth","id-pda-placeOfBirth",NID_id_pda_placeOfBirth, ++ 8,&(lvalues[2599]),0}, ++{NULL,NULL,NID_undef,0,NULL,0}, ++{"id-pda-gender","id-pda-gender",NID_id_pda_gender,8,&(lvalues[2607]),0}, ++{"id-pda-countryOfCitizenship","id-pda-countryOfCitizenship", ++ NID_id_pda_countryOfCitizenship,8,&(lvalues[2615]),0}, ++{"id-pda-countryOfResidence","id-pda-countryOfResidence", ++ NID_id_pda_countryOfResidence,8,&(lvalues[2623]),0}, ++{"id-aca-authenticationInfo","id-aca-authenticationInfo", ++ NID_id_aca_authenticationInfo,8,&(lvalues[2631]),0}, ++{"id-aca-accessIdentity","id-aca-accessIdentity", ++ NID_id_aca_accessIdentity,8,&(lvalues[2639]),0}, ++{"id-aca-chargingIdentity","id-aca-chargingIdentity", ++ NID_id_aca_chargingIdentity,8,&(lvalues[2647]),0}, ++{"id-aca-group","id-aca-group",NID_id_aca_group,8,&(lvalues[2655]),0}, ++{"id-aca-role","id-aca-role",NID_id_aca_role,8,&(lvalues[2663]),0}, ++{"id-qcs-pkixQCSyntax-v1","id-qcs-pkixQCSyntax-v1", ++ NID_id_qcs_pkixQCSyntax_v1,8,&(lvalues[2671]),0}, ++{"id-cct-crs","id-cct-crs",NID_id_cct_crs,8,&(lvalues[2679]),0}, ++{"id-cct-PKIData","id-cct-PKIData",NID_id_cct_PKIData,8, ++ &(lvalues[2687]),0}, ++{"id-cct-PKIResponse","id-cct-PKIResponse",NID_id_cct_PKIResponse,8, ++ &(lvalues[2695]),0}, ++{"ad_timestamping","AD Time Stamping",NID_ad_timeStamping,8, ++ &(lvalues[2703]),0}, ++{"AD_DVCS","ad dvcs",NID_ad_dvcs,8,&(lvalues[2711]),0}, ++{"basicOCSPResponse","Basic OCSP Response",NID_id_pkix_OCSP_basic,9, ++ &(lvalues[2719]),0}, ++{"Nonce","OCSP Nonce",NID_id_pkix_OCSP_Nonce,9,&(lvalues[2728]),0}, ++{"CrlID","OCSP CRL ID",NID_id_pkix_OCSP_CrlID,9,&(lvalues[2737]),0}, ++{"acceptableResponses","Acceptable OCSP Responses", ++ NID_id_pkix_OCSP_acceptableResponses,9,&(lvalues[2746]),0}, ++{"noCheck","OCSP No Check",NID_id_pkix_OCSP_noCheck,9,&(lvalues[2755]),0}, ++{"archiveCutoff","OCSP Archive Cutoff",NID_id_pkix_OCSP_archiveCutoff, ++ 9,&(lvalues[2764]),0}, ++{"serviceLocator","OCSP Service Locator", ++ NID_id_pkix_OCSP_serviceLocator,9,&(lvalues[2773]),0}, ++{"extendedStatus","Extended OCSP Status", ++ NID_id_pkix_OCSP_extendedStatus,9,&(lvalues[2782]),0}, ++{"valid","valid",NID_id_pkix_OCSP_valid,9,&(lvalues[2791]),0}, ++{"path","path",NID_id_pkix_OCSP_path,9,&(lvalues[2800]),0}, ++{"trustRoot","Trust Root",NID_id_pkix_OCSP_trustRoot,9, ++ &(lvalues[2809]),0}, ++{"algorithm","algorithm",NID_algorithm,4,&(lvalues[2818]),0}, ++{"rsaSignature","rsaSignature",NID_rsaSignature,5,&(lvalues[2822]),0}, ++{"X500algorithms","directory services - algorithms", ++ NID_X500algorithms,2,&(lvalues[2827]),0}, ++{"ORG","org",NID_org,1,&(lvalues[2829]),0}, ++{"DOD","dod",NID_dod,2,&(lvalues[2830]),0}, ++{"IANA","iana",NID_iana,3,&(lvalues[2832]),0}, ++{"directory","Directory",NID_Directory,4,&(lvalues[2835]),0}, ++{"mgmt","Management",NID_Management,4,&(lvalues[2839]),0}, ++{"experimental","Experimental",NID_Experimental,4,&(lvalues[2843]),0}, ++{"private","Private",NID_Private,4,&(lvalues[2847]),0}, ++{"security","Security",NID_Security,4,&(lvalues[2851]),0}, ++{"snmpv2","SNMPv2",NID_SNMPv2,4,&(lvalues[2855]),0}, ++{"Mail","Mail",NID_Mail,4,&(lvalues[2859]),0}, ++{"enterprises","Enterprises",NID_Enterprises,5,&(lvalues[2863]),0}, ++{"dcobject","dcObject",NID_dcObject,9,&(lvalues[2868]),0}, ++{"DC","domainComponent",NID_domainComponent,10,&(lvalues[2877]),0}, ++{"domain","Domain",NID_Domain,10,&(lvalues[2887]),0}, ++{"NULL","NULL",NID_joint_iso_ccitt,0,NULL,0}, ++{"selected-attribute-types","Selected Attribute Types", ++ NID_selected_attribute_types,3,&(lvalues[2897]),0}, ++{"clearance","clearance",NID_clearance,4,&(lvalues[2900]),0}, ++{"RSA-MD4","md4WithRSAEncryption",NID_md4WithRSAEncryption,9, ++ &(lvalues[2904]),0}, ++{"ac-proxying","ac-proxying",NID_ac_proxying,8,&(lvalues[2913]),0}, ++{"subjectInfoAccess","Subject Information Access",NID_sinfo_access,8, ++ &(lvalues[2921]),0}, ++{"id-aca-encAttrs","id-aca-encAttrs",NID_id_aca_encAttrs,8, ++ &(lvalues[2929]),0}, ++{"role","role",NID_role,3,&(lvalues[2937]),0}, ++{"policyConstraints","X509v3 Policy Constraints", ++ NID_policy_constraints,3,&(lvalues[2940]),0}, ++{"targetInformation","X509v3 AC Targeting",NID_target_information,3, ++ &(lvalues[2943]),0}, ++{"noRevAvail","X509v3 No Revocation Available",NID_no_rev_avail,3, ++ &(lvalues[2946]),0}, ++{"NULL","NULL",NID_ccitt,0,NULL,0}, ++{"ansi-X9-62","ANSI X9.62",NID_ansi_X9_62,5,&(lvalues[2949]),0}, ++{"prime-field","prime-field",NID_X9_62_prime_field,7,&(lvalues[2954]),0}, ++{"characteristic-two-field","characteristic-two-field", ++ NID_X9_62_characteristic_two_field,7,&(lvalues[2961]),0}, ++{"id-ecPublicKey","id-ecPublicKey",NID_X9_62_id_ecPublicKey,7, ++ &(lvalues[2968]),0}, ++{"prime192v1","prime192v1",NID_X9_62_prime192v1,8,&(lvalues[2975]),0}, ++{"prime192v2","prime192v2",NID_X9_62_prime192v2,8,&(lvalues[2983]),0}, ++{"prime192v3","prime192v3",NID_X9_62_prime192v3,8,&(lvalues[2991]),0}, ++{"prime239v1","prime239v1",NID_X9_62_prime239v1,8,&(lvalues[2999]),0}, ++{"prime239v2","prime239v2",NID_X9_62_prime239v2,8,&(lvalues[3007]),0}, ++{"prime239v3","prime239v3",NID_X9_62_prime239v3,8,&(lvalues[3015]),0}, ++{"prime256v1","prime256v1",NID_X9_62_prime256v1,8,&(lvalues[3023]),0}, ++{"ecdsa-with-SHA1","ecdsa-with-SHA1",NID_ecdsa_with_SHA1,7, ++ &(lvalues[3031]),0}, ++{"CSPName","Microsoft CSP Name",NID_ms_csp_name,9,&(lvalues[3038]),0}, ++{"AES-128-ECB","aes-128-ecb",NID_aes_128_ecb,9,&(lvalues[3047]),0}, ++{"AES-128-CBC","aes-128-cbc",NID_aes_128_cbc,9,&(lvalues[3056]),0}, ++{"AES-128-OFB","aes-128-ofb",NID_aes_128_ofb128,9,&(lvalues[3065]),0}, ++{"AES-128-CFB","aes-128-cfb",NID_aes_128_cfb128,9,&(lvalues[3074]),0}, ++{"AES-192-ECB","aes-192-ecb",NID_aes_192_ecb,9,&(lvalues[3083]),0}, ++{"AES-192-CBC","aes-192-cbc",NID_aes_192_cbc,9,&(lvalues[3092]),0}, ++{"AES-192-OFB","aes-192-ofb",NID_aes_192_ofb128,9,&(lvalues[3101]),0}, ++{"AES-192-CFB","aes-192-cfb",NID_aes_192_cfb128,9,&(lvalues[3110]),0}, ++{"AES-256-ECB","aes-256-ecb",NID_aes_256_ecb,9,&(lvalues[3119]),0}, ++{"AES-256-CBC","aes-256-cbc",NID_aes_256_cbc,9,&(lvalues[3128]),0}, ++{"AES-256-OFB","aes-256-ofb",NID_aes_256_ofb128,9,&(lvalues[3137]),0}, ++{"AES-256-CFB","aes-256-cfb",NID_aes_256_cfb128,9,&(lvalues[3146]),0}, ++{"holdInstructionCode","Hold Instruction Code", ++ NID_hold_instruction_code,3,&(lvalues[3155]),0}, ++{"holdInstructionNone","Hold Instruction None", ++ NID_hold_instruction_none,7,&(lvalues[3158]),0}, ++{"holdInstructionCallIssuer","Hold Instruction Call Issuer", ++ NID_hold_instruction_call_issuer,7,&(lvalues[3165]),0}, ++{"holdInstructionReject","Hold Instruction Reject", ++ NID_hold_instruction_reject,7,&(lvalues[3172]),0}, ++{"data","data",NID_data,1,&(lvalues[3179]),0}, ++{"pss","pss",NID_pss,3,&(lvalues[3180]),0}, ++{"ucl","ucl",NID_ucl,7,&(lvalues[3183]),0}, ++{"pilot","pilot",NID_pilot,8,&(lvalues[3190]),0}, ++{"pilotAttributeType","pilotAttributeType",NID_pilotAttributeType,9, ++ &(lvalues[3198]),0}, ++{"pilotAttributeSyntax","pilotAttributeSyntax", ++ NID_pilotAttributeSyntax,9,&(lvalues[3207]),0}, ++{"pilotObjectClass","pilotObjectClass",NID_pilotObjectClass,9, ++ &(lvalues[3216]),0}, ++{"pilotGroups","pilotGroups",NID_pilotGroups,9,&(lvalues[3225]),0}, ++{"iA5StringSyntax","iA5StringSyntax",NID_iA5StringSyntax,10, ++ &(lvalues[3234]),0}, ++{"caseIgnoreIA5StringSyntax","caseIgnoreIA5StringSyntax", ++ NID_caseIgnoreIA5StringSyntax,10,&(lvalues[3244]),0}, ++{"pilotObject","pilotObject",NID_pilotObject,10,&(lvalues[3254]),0}, ++{"pilotPerson","pilotPerson",NID_pilotPerson,10,&(lvalues[3264]),0}, ++{"account","account",NID_account,10,&(lvalues[3274]),0}, ++{"document","document",NID_document,10,&(lvalues[3284]),0}, ++{"room","room",NID_room,10,&(lvalues[3294]),0}, ++{"documentSeries","documentSeries",NID_documentSeries,10, ++ &(lvalues[3304]),0}, ++{"rFC822localPart","rFC822localPart",NID_rFC822localPart,10, ++ &(lvalues[3314]),0}, ++{"dNSDomain","dNSDomain",NID_dNSDomain,10,&(lvalues[3324]),0}, ++{"domainRelatedObject","domainRelatedObject",NID_domainRelatedObject, ++ 10,&(lvalues[3334]),0}, ++{"friendlyCountry","friendlyCountry",NID_friendlyCountry,10, ++ &(lvalues[3344]),0}, ++{"simpleSecurityObject","simpleSecurityObject", ++ NID_simpleSecurityObject,10,&(lvalues[3354]),0}, ++{"pilotOrganization","pilotOrganization",NID_pilotOrganization,10, ++ &(lvalues[3364]),0}, ++{"pilotDSA","pilotDSA",NID_pilotDSA,10,&(lvalues[3374]),0}, ++{"qualityLabelledData","qualityLabelledData",NID_qualityLabelledData, ++ 10,&(lvalues[3384]),0}, ++{"UID","userId",NID_userId,10,&(lvalues[3394]),0}, ++{"textEncodedORAddress","textEncodedORAddress", ++ NID_textEncodedORAddress,10,&(lvalues[3404]),0}, ++{"mail","rfc822Mailbox",NID_rfc822Mailbox,10,&(lvalues[3414]),0}, ++{"info","info",NID_info,10,&(lvalues[3424]),0}, ++{"favouriteDrink","favouriteDrink",NID_favouriteDrink,10, ++ &(lvalues[3434]),0}, ++{"roomNumber","roomNumber",NID_roomNumber,10,&(lvalues[3444]),0}, ++{"photo","photo",NID_photo,10,&(lvalues[3454]),0}, ++{"userClass","userClass",NID_userClass,10,&(lvalues[3464]),0}, ++{"host","host",NID_host,10,&(lvalues[3474]),0}, ++{"manager","manager",NID_manager,10,&(lvalues[3484]),0}, ++{"documentIdentifier","documentIdentifier",NID_documentIdentifier,10, ++ &(lvalues[3494]),0}, ++{"documentTitle","documentTitle",NID_documentTitle,10,&(lvalues[3504]),0}, ++{"documentVersion","documentVersion",NID_documentVersion,10, ++ &(lvalues[3514]),0}, ++{"documentAuthor","documentAuthor",NID_documentAuthor,10, ++ &(lvalues[3524]),0}, ++{"documentLocation","documentLocation",NID_documentLocation,10, ++ &(lvalues[3534]),0}, ++{"homeTelephoneNumber","homeTelephoneNumber",NID_homeTelephoneNumber, ++ 10,&(lvalues[3544]),0}, ++{"secretary","secretary",NID_secretary,10,&(lvalues[3554]),0}, ++{"otherMailbox","otherMailbox",NID_otherMailbox,10,&(lvalues[3564]),0}, ++{"lastModifiedTime","lastModifiedTime",NID_lastModifiedTime,10, ++ &(lvalues[3574]),0}, ++{"lastModifiedBy","lastModifiedBy",NID_lastModifiedBy,10, ++ &(lvalues[3584]),0}, ++{"aRecord","aRecord",NID_aRecord,10,&(lvalues[3594]),0}, ++{"pilotAttributeType27","pilotAttributeType27", ++ NID_pilotAttributeType27,10,&(lvalues[3604]),0}, ++{"mXRecord","mXRecord",NID_mXRecord,10,&(lvalues[3614]),0}, ++{"nSRecord","nSRecord",NID_nSRecord,10,&(lvalues[3624]),0}, ++{"sOARecord","sOARecord",NID_sOARecord,10,&(lvalues[3634]),0}, ++{"cNAMERecord","cNAMERecord",NID_cNAMERecord,10,&(lvalues[3644]),0}, ++{"associatedDomain","associatedDomain",NID_associatedDomain,10, ++ &(lvalues[3654]),0}, ++{"associatedName","associatedName",NID_associatedName,10, ++ &(lvalues[3664]),0}, ++{"homePostalAddress","homePostalAddress",NID_homePostalAddress,10, ++ &(lvalues[3674]),0}, ++{"personalTitle","personalTitle",NID_personalTitle,10,&(lvalues[3684]),0}, ++{"mobileTelephoneNumber","mobileTelephoneNumber", ++ NID_mobileTelephoneNumber,10,&(lvalues[3694]),0}, ++{"pagerTelephoneNumber","pagerTelephoneNumber", ++ NID_pagerTelephoneNumber,10,&(lvalues[3704]),0}, ++{"friendlyCountryName","friendlyCountryName",NID_friendlyCountryName, ++ 10,&(lvalues[3714]),0}, ++{"organizationalStatus","organizationalStatus", ++ NID_organizationalStatus,10,&(lvalues[3724]),0}, ++{"janetMailbox","janetMailbox",NID_janetMailbox,10,&(lvalues[3734]),0}, ++{"mailPreferenceOption","mailPreferenceOption", ++ NID_mailPreferenceOption,10,&(lvalues[3744]),0}, ++{"buildingName","buildingName",NID_buildingName,10,&(lvalues[3754]),0}, ++{"dSAQuality","dSAQuality",NID_dSAQuality,10,&(lvalues[3764]),0}, ++{"singleLevelQuality","singleLevelQuality",NID_singleLevelQuality,10, ++ &(lvalues[3774]),0}, ++{"subtreeMinimumQuality","subtreeMinimumQuality", ++ NID_subtreeMinimumQuality,10,&(lvalues[3784]),0}, ++{"subtreeMaximumQuality","subtreeMaximumQuality", ++ NID_subtreeMaximumQuality,10,&(lvalues[3794]),0}, ++{"personalSignature","personalSignature",NID_personalSignature,10, ++ &(lvalues[3804]),0}, ++{"dITRedirect","dITRedirect",NID_dITRedirect,10,&(lvalues[3814]),0}, ++{"audio","audio",NID_audio,10,&(lvalues[3824]),0}, ++{"documentPublisher","documentPublisher",NID_documentPublisher,10, ++ &(lvalues[3834]),0}, ++{"x500UniqueIdentifier","x500UniqueIdentifier", ++ NID_x500UniqueIdentifier,3,&(lvalues[3844]),0}, ++{"mime-mhs","MIME MHS",NID_mime_mhs,5,&(lvalues[3847]),0}, ++{"mime-mhs-headings","mime-mhs-headings",NID_mime_mhs_headings,6, ++ &(lvalues[3852]),0}, ++{"mime-mhs-bodies","mime-mhs-bodies",NID_mime_mhs_bodies,6, ++ &(lvalues[3858]),0}, ++{"id-hex-partial-message","id-hex-partial-message", ++ NID_id_hex_partial_message,7,&(lvalues[3864]),0}, ++{"id-hex-multipart-message","id-hex-multipart-message", ++ NID_id_hex_multipart_message,7,&(lvalues[3871]),0}, ++{"generationQualifier","generationQualifier",NID_generationQualifier, ++ 3,&(lvalues[3878]),0}, ++{"pseudonym","pseudonym",NID_pseudonym,3,&(lvalues[3881]),0}, ++{NULL,NULL,NID_undef,0,NULL,0}, ++{"id-set","Secure Electronic Transactions",NID_id_set,2, ++ &(lvalues[3884]),0}, ++{"set-ctype","content types",NID_set_ctype,3,&(lvalues[3886]),0}, ++{"set-msgExt","message extensions",NID_set_msgExt,3,&(lvalues[3889]),0}, ++{"set-attr","set-attr",NID_set_attr,3,&(lvalues[3892]),0}, ++{"set-policy","set-policy",NID_set_policy,3,&(lvalues[3895]),0}, ++{"set-certExt","certificate extensions",NID_set_certExt,3, ++ &(lvalues[3898]),0}, ++{"set-brand","set-brand",NID_set_brand,3,&(lvalues[3901]),0}, ++{"setct-PANData","setct-PANData",NID_setct_PANData,4,&(lvalues[3904]),0}, ++{"setct-PANToken","setct-PANToken",NID_setct_PANToken,4, ++ &(lvalues[3908]),0}, ++{"setct-PANOnly","setct-PANOnly",NID_setct_PANOnly,4,&(lvalues[3912]),0}, ++{"setct-OIData","setct-OIData",NID_setct_OIData,4,&(lvalues[3916]),0}, ++{"setct-PI","setct-PI",NID_setct_PI,4,&(lvalues[3920]),0}, ++{"setct-PIData","setct-PIData",NID_setct_PIData,4,&(lvalues[3924]),0}, ++{"setct-PIDataUnsigned","setct-PIDataUnsigned", ++ NID_setct_PIDataUnsigned,4,&(lvalues[3928]),0}, ++{"setct-HODInput","setct-HODInput",NID_setct_HODInput,4, ++ &(lvalues[3932]),0}, ++{"setct-AuthResBaggage","setct-AuthResBaggage", ++ NID_setct_AuthResBaggage,4,&(lvalues[3936]),0}, ++{"setct-AuthRevReqBaggage","setct-AuthRevReqBaggage", ++ NID_setct_AuthRevReqBaggage,4,&(lvalues[3940]),0}, ++{"setct-AuthRevResBaggage","setct-AuthRevResBaggage", ++ NID_setct_AuthRevResBaggage,4,&(lvalues[3944]),0}, ++{"setct-CapTokenSeq","setct-CapTokenSeq",NID_setct_CapTokenSeq,4, ++ &(lvalues[3948]),0}, ++{"setct-PInitResData","setct-PInitResData",NID_setct_PInitResData,4, ++ &(lvalues[3952]),0}, ++{"setct-PI-TBS","setct-PI-TBS",NID_setct_PI_TBS,4,&(lvalues[3956]),0}, ++{"setct-PResData","setct-PResData",NID_setct_PResData,4, ++ &(lvalues[3960]),0}, ++{"setct-AuthReqTBS","setct-AuthReqTBS",NID_setct_AuthReqTBS,4, ++ &(lvalues[3964]),0}, ++{"setct-AuthResTBS","setct-AuthResTBS",NID_setct_AuthResTBS,4, ++ &(lvalues[3968]),0}, ++{"setct-AuthResTBSX","setct-AuthResTBSX",NID_setct_AuthResTBSX,4, ++ &(lvalues[3972]),0}, ++{"setct-AuthTokenTBS","setct-AuthTokenTBS",NID_setct_AuthTokenTBS,4, ++ &(lvalues[3976]),0}, ++{"setct-CapTokenData","setct-CapTokenData",NID_setct_CapTokenData,4, ++ &(lvalues[3980]),0}, ++{"setct-CapTokenTBS","setct-CapTokenTBS",NID_setct_CapTokenTBS,4, ++ &(lvalues[3984]),0}, ++{"setct-AcqCardCodeMsg","setct-AcqCardCodeMsg", ++ NID_setct_AcqCardCodeMsg,4,&(lvalues[3988]),0}, ++{"setct-AuthRevReqTBS","setct-AuthRevReqTBS",NID_setct_AuthRevReqTBS, ++ 4,&(lvalues[3992]),0}, ++{"setct-AuthRevResData","setct-AuthRevResData", ++ NID_setct_AuthRevResData,4,&(lvalues[3996]),0}, ++{"setct-AuthRevResTBS","setct-AuthRevResTBS",NID_setct_AuthRevResTBS, ++ 4,&(lvalues[4000]),0}, ++{"setct-CapReqTBS","setct-CapReqTBS",NID_setct_CapReqTBS,4, ++ &(lvalues[4004]),0}, ++{"setct-CapReqTBSX","setct-CapReqTBSX",NID_setct_CapReqTBSX,4, ++ &(lvalues[4008]),0}, ++{"setct-CapResData","setct-CapResData",NID_setct_CapResData,4, ++ &(lvalues[4012]),0}, ++{"setct-CapRevReqTBS","setct-CapRevReqTBS",NID_setct_CapRevReqTBS,4, ++ &(lvalues[4016]),0}, ++{"setct-CapRevReqTBSX","setct-CapRevReqTBSX",NID_setct_CapRevReqTBSX, ++ 4,&(lvalues[4020]),0}, ++{"setct-CapRevResData","setct-CapRevResData",NID_setct_CapRevResData, ++ 4,&(lvalues[4024]),0}, ++{"setct-CredReqTBS","setct-CredReqTBS",NID_setct_CredReqTBS,4, ++ &(lvalues[4028]),0}, ++{"setct-CredReqTBSX","setct-CredReqTBSX",NID_setct_CredReqTBSX,4, ++ &(lvalues[4032]),0}, ++{"setct-CredResData","setct-CredResData",NID_setct_CredResData,4, ++ &(lvalues[4036]),0}, ++{"setct-CredRevReqTBS","setct-CredRevReqTBS",NID_setct_CredRevReqTBS, ++ 4,&(lvalues[4040]),0}, ++{"setct-CredRevReqTBSX","setct-CredRevReqTBSX", ++ NID_setct_CredRevReqTBSX,4,&(lvalues[4044]),0}, ++{"setct-CredRevResData","setct-CredRevResData", ++ NID_setct_CredRevResData,4,&(lvalues[4048]),0}, ++{"setct-PCertReqData","setct-PCertReqData",NID_setct_PCertReqData,4, ++ &(lvalues[4052]),0}, ++{"setct-PCertResTBS","setct-PCertResTBS",NID_setct_PCertResTBS,4, ++ &(lvalues[4056]),0}, ++{"setct-BatchAdminReqData","setct-BatchAdminReqData", ++ NID_setct_BatchAdminReqData,4,&(lvalues[4060]),0}, ++{"setct-BatchAdminResData","setct-BatchAdminResData", ++ NID_setct_BatchAdminResData,4,&(lvalues[4064]),0}, ++{"setct-CardCInitResTBS","setct-CardCInitResTBS", ++ NID_setct_CardCInitResTBS,4,&(lvalues[4068]),0}, ++{"setct-MeAqCInitResTBS","setct-MeAqCInitResTBS", ++ NID_setct_MeAqCInitResTBS,4,&(lvalues[4072]),0}, ++{"setct-RegFormResTBS","setct-RegFormResTBS",NID_setct_RegFormResTBS, ++ 4,&(lvalues[4076]),0}, ++{"setct-CertReqData","setct-CertReqData",NID_setct_CertReqData,4, ++ &(lvalues[4080]),0}, ++{"setct-CertReqTBS","setct-CertReqTBS",NID_setct_CertReqTBS,4, ++ &(lvalues[4084]),0}, ++{"setct-CertResData","setct-CertResData",NID_setct_CertResData,4, ++ &(lvalues[4088]),0}, ++{"setct-CertInqReqTBS","setct-CertInqReqTBS",NID_setct_CertInqReqTBS, ++ 4,&(lvalues[4092]),0}, ++{"setct-ErrorTBS","setct-ErrorTBS",NID_setct_ErrorTBS,4, ++ &(lvalues[4096]),0}, ++{"setct-PIDualSignedTBE","setct-PIDualSignedTBE", ++ NID_setct_PIDualSignedTBE,4,&(lvalues[4100]),0}, ++{"setct-PIUnsignedTBE","setct-PIUnsignedTBE",NID_setct_PIUnsignedTBE, ++ 4,&(lvalues[4104]),0}, ++{"setct-AuthReqTBE","setct-AuthReqTBE",NID_setct_AuthReqTBE,4, ++ &(lvalues[4108]),0}, ++{"setct-AuthResTBE","setct-AuthResTBE",NID_setct_AuthResTBE,4, ++ &(lvalues[4112]),0}, ++{"setct-AuthResTBEX","setct-AuthResTBEX",NID_setct_AuthResTBEX,4, ++ &(lvalues[4116]),0}, ++{"setct-AuthTokenTBE","setct-AuthTokenTBE",NID_setct_AuthTokenTBE,4, ++ &(lvalues[4120]),0}, ++{"setct-CapTokenTBE","setct-CapTokenTBE",NID_setct_CapTokenTBE,4, ++ &(lvalues[4124]),0}, ++{"setct-CapTokenTBEX","setct-CapTokenTBEX",NID_setct_CapTokenTBEX,4, ++ &(lvalues[4128]),0}, ++{"setct-AcqCardCodeMsgTBE","setct-AcqCardCodeMsgTBE", ++ NID_setct_AcqCardCodeMsgTBE,4,&(lvalues[4132]),0}, ++{"setct-AuthRevReqTBE","setct-AuthRevReqTBE",NID_setct_AuthRevReqTBE, ++ 4,&(lvalues[4136]),0}, ++{"setct-AuthRevResTBE","setct-AuthRevResTBE",NID_setct_AuthRevResTBE, ++ 4,&(lvalues[4140]),0}, ++{"setct-AuthRevResTBEB","setct-AuthRevResTBEB", ++ NID_setct_AuthRevResTBEB,4,&(lvalues[4144]),0}, ++{"setct-CapReqTBE","setct-CapReqTBE",NID_setct_CapReqTBE,4, ++ &(lvalues[4148]),0}, ++{"setct-CapReqTBEX","setct-CapReqTBEX",NID_setct_CapReqTBEX,4, ++ &(lvalues[4152]),0}, ++{"setct-CapResTBE","setct-CapResTBE",NID_setct_CapResTBE,4, ++ &(lvalues[4156]),0}, ++{"setct-CapRevReqTBE","setct-CapRevReqTBE",NID_setct_CapRevReqTBE,4, ++ &(lvalues[4160]),0}, ++{"setct-CapRevReqTBEX","setct-CapRevReqTBEX",NID_setct_CapRevReqTBEX, ++ 4,&(lvalues[4164]),0}, ++{"setct-CapRevResTBE","setct-CapRevResTBE",NID_setct_CapRevResTBE,4, ++ &(lvalues[4168]),0}, ++{"setct-CredReqTBE","setct-CredReqTBE",NID_setct_CredReqTBE,4, ++ &(lvalues[4172]),0}, ++{"setct-CredReqTBEX","setct-CredReqTBEX",NID_setct_CredReqTBEX,4, ++ &(lvalues[4176]),0}, ++{"setct-CredResTBE","setct-CredResTBE",NID_setct_CredResTBE,4, ++ &(lvalues[4180]),0}, ++{"setct-CredRevReqTBE","setct-CredRevReqTBE",NID_setct_CredRevReqTBE, ++ 4,&(lvalues[4184]),0}, ++{"setct-CredRevReqTBEX","setct-CredRevReqTBEX", ++ NID_setct_CredRevReqTBEX,4,&(lvalues[4188]),0}, ++{"setct-CredRevResTBE","setct-CredRevResTBE",NID_setct_CredRevResTBE, ++ 4,&(lvalues[4192]),0}, ++{"setct-BatchAdminReqTBE","setct-BatchAdminReqTBE", ++ NID_setct_BatchAdminReqTBE,4,&(lvalues[4196]),0}, ++{"setct-BatchAdminResTBE","setct-BatchAdminResTBE", ++ NID_setct_BatchAdminResTBE,4,&(lvalues[4200]),0}, ++{"setct-RegFormReqTBE","setct-RegFormReqTBE",NID_setct_RegFormReqTBE, ++ 4,&(lvalues[4204]),0}, ++{"setct-CertReqTBE","setct-CertReqTBE",NID_setct_CertReqTBE,4, ++ &(lvalues[4208]),0}, ++{"setct-CertReqTBEX","setct-CertReqTBEX",NID_setct_CertReqTBEX,4, ++ &(lvalues[4212]),0}, ++{"setct-CertResTBE","setct-CertResTBE",NID_setct_CertResTBE,4, ++ &(lvalues[4216]),0}, ++{"setct-CRLNotificationTBS","setct-CRLNotificationTBS", ++ NID_setct_CRLNotificationTBS,4,&(lvalues[4220]),0}, ++{"setct-CRLNotificationResTBS","setct-CRLNotificationResTBS", ++ NID_setct_CRLNotificationResTBS,4,&(lvalues[4224]),0}, ++{"setct-BCIDistributionTBS","setct-BCIDistributionTBS", ++ NID_setct_BCIDistributionTBS,4,&(lvalues[4228]),0}, ++{"setext-genCrypt","generic cryptogram",NID_setext_genCrypt,4, ++ &(lvalues[4232]),0}, ++{"setext-miAuth","merchant initiated auth",NID_setext_miAuth,4, ++ &(lvalues[4236]),0}, ++{"setext-pinSecure","setext-pinSecure",NID_setext_pinSecure,4, ++ &(lvalues[4240]),0}, ++{"setext-pinAny","setext-pinAny",NID_setext_pinAny,4,&(lvalues[4244]),0}, ++{"setext-track2","setext-track2",NID_setext_track2,4,&(lvalues[4248]),0}, ++{"setext-cv","additional verification",NID_setext_cv,4, ++ &(lvalues[4252]),0}, ++{"set-policy-root","set-policy-root",NID_set_policy_root,4, ++ &(lvalues[4256]),0}, ++{"setCext-hashedRoot","setCext-hashedRoot",NID_setCext_hashedRoot,4, ++ &(lvalues[4260]),0}, ++{"setCext-certType","setCext-certType",NID_setCext_certType,4, ++ &(lvalues[4264]),0}, ++{"setCext-merchData","setCext-merchData",NID_setCext_merchData,4, ++ &(lvalues[4268]),0}, ++{"setCext-cCertRequired","setCext-cCertRequired", ++ NID_setCext_cCertRequired,4,&(lvalues[4272]),0}, ++{"setCext-tunneling","setCext-tunneling",NID_setCext_tunneling,4, ++ &(lvalues[4276]),0}, ++{"setCext-setExt","setCext-setExt",NID_setCext_setExt,4, ++ &(lvalues[4280]),0}, ++{"setCext-setQualf","setCext-setQualf",NID_setCext_setQualf,4, ++ &(lvalues[4284]),0}, ++{"setCext-PGWYcapabilities","setCext-PGWYcapabilities", ++ NID_setCext_PGWYcapabilities,4,&(lvalues[4288]),0}, ++{"setCext-TokenIdentifier","setCext-TokenIdentifier", ++ NID_setCext_TokenIdentifier,4,&(lvalues[4292]),0}, ++{"setCext-Track2Data","setCext-Track2Data",NID_setCext_Track2Data,4, ++ &(lvalues[4296]),0}, ++{"setCext-TokenType","setCext-TokenType",NID_setCext_TokenType,4, ++ &(lvalues[4300]),0}, ++{"setCext-IssuerCapabilities","setCext-IssuerCapabilities", ++ NID_setCext_IssuerCapabilities,4,&(lvalues[4304]),0}, ++{"setAttr-Cert","setAttr-Cert",NID_setAttr_Cert,4,&(lvalues[4308]),0}, ++{"setAttr-PGWYcap","payment gateway capabilities",NID_setAttr_PGWYcap, ++ 4,&(lvalues[4312]),0}, ++{"setAttr-TokenType","setAttr-TokenType",NID_setAttr_TokenType,4, ++ &(lvalues[4316]),0}, ++{"setAttr-IssCap","issuer capabilities",NID_setAttr_IssCap,4, ++ &(lvalues[4320]),0}, ++{"set-rootKeyThumb","set-rootKeyThumb",NID_set_rootKeyThumb,5, ++ &(lvalues[4324]),0}, ++{"set-addPolicy","set-addPolicy",NID_set_addPolicy,5,&(lvalues[4329]),0}, ++{"setAttr-Token-EMV","setAttr-Token-EMV",NID_setAttr_Token_EMV,5, ++ &(lvalues[4334]),0}, ++{"setAttr-Token-B0Prime","setAttr-Token-B0Prime", ++ NID_setAttr_Token_B0Prime,5,&(lvalues[4339]),0}, ++{"setAttr-IssCap-CVM","setAttr-IssCap-CVM",NID_setAttr_IssCap_CVM,5, ++ &(lvalues[4344]),0}, ++{"setAttr-IssCap-T2","setAttr-IssCap-T2",NID_setAttr_IssCap_T2,5, ++ &(lvalues[4349]),0}, ++{"setAttr-IssCap-Sig","setAttr-IssCap-Sig",NID_setAttr_IssCap_Sig,5, ++ &(lvalues[4354]),0}, ++{"setAttr-GenCryptgrm","generate cryptogram",NID_setAttr_GenCryptgrm, ++ 6,&(lvalues[4359]),0}, ++{"setAttr-T2Enc","encrypted track 2",NID_setAttr_T2Enc,6, ++ &(lvalues[4365]),0}, ++{"setAttr-T2cleartxt","cleartext track 2",NID_setAttr_T2cleartxt,6, ++ &(lvalues[4371]),0}, ++{"setAttr-TokICCsig","ICC or token signature",NID_setAttr_TokICCsig,6, ++ &(lvalues[4377]),0}, ++{"setAttr-SecDevSig","secure device signature",NID_setAttr_SecDevSig, ++ 6,&(lvalues[4383]),0}, ++{"set-brand-IATA-ATA","set-brand-IATA-ATA",NID_set_brand_IATA_ATA,4, ++ &(lvalues[4389]),0}, ++{"set-brand-Diners","set-brand-Diners",NID_set_brand_Diners,4, ++ &(lvalues[4393]),0}, ++{"set-brand-AmericanExpress","set-brand-AmericanExpress", ++ NID_set_brand_AmericanExpress,4,&(lvalues[4397]),0}, ++{"set-brand-JCB","set-brand-JCB",NID_set_brand_JCB,4,&(lvalues[4401]),0}, ++{"set-brand-Visa","set-brand-Visa",NID_set_brand_Visa,4, ++ &(lvalues[4405]),0}, ++{"set-brand-MasterCard","set-brand-MasterCard", ++ NID_set_brand_MasterCard,4,&(lvalues[4409]),0}, ++{"set-brand-Novus","set-brand-Novus",NID_set_brand_Novus,5, ++ &(lvalues[4413]),0}, ++{"DES-CDMF","des-cdmf",NID_des_cdmf,8,&(lvalues[4418]),0}, ++{"rsaOAEPEncryptionSET","rsaOAEPEncryptionSET", ++ NID_rsaOAEPEncryptionSET,9,&(lvalues[4426]),0}, ++{"ITU-T","itu-t",NID_itu_t,0,NULL,0}, ++{"JOINT-ISO-ITU-T","joint-iso-itu-t",NID_joint_iso_itu_t,0,NULL,0}, ++{"international-organizations","International Organizations", ++ NID_international_organizations,1,&(lvalues[4435]),0}, ++{"msSmartcardLogin","Microsoft Smartcardlogin",NID_ms_smartcard_login, ++ 10,&(lvalues[4436]),0}, ++{"msUPN","Microsoft Universal Principal Name",NID_ms_upn,10, ++ &(lvalues[4446]),0}, ++{"AES-128-CFB1","aes-128-cfb1",NID_aes_128_cfb1,0,NULL,0}, ++{"AES-192-CFB1","aes-192-cfb1",NID_aes_192_cfb1,0,NULL,0}, ++{"AES-256-CFB1","aes-256-cfb1",NID_aes_256_cfb1,0,NULL,0}, ++{"AES-128-CFB8","aes-128-cfb8",NID_aes_128_cfb8,0,NULL,0}, ++{"AES-192-CFB8","aes-192-cfb8",NID_aes_192_cfb8,0,NULL,0}, ++{"AES-256-CFB8","aes-256-cfb8",NID_aes_256_cfb8,0,NULL,0}, ++{"DES-CFB1","des-cfb1",NID_des_cfb1,0,NULL,0}, ++{"DES-CFB8","des-cfb8",NID_des_cfb8,0,NULL,0}, ++{"DES-EDE3-CFB1","des-ede3-cfb1",NID_des_ede3_cfb1,0,NULL,0}, ++{"DES-EDE3-CFB8","des-ede3-cfb8",NID_des_ede3_cfb8,0,NULL,0}, ++{"street","streetAddress",NID_streetAddress,3,&(lvalues[4456]),0}, ++{"postalCode","postalCode",NID_postalCode,3,&(lvalues[4459]),0}, ++{"id-ppl","id-ppl",NID_id_ppl,7,&(lvalues[4462]),0}, ++{"proxyCertInfo","Proxy Certificate Information",NID_proxyCertInfo,8, ++ &(lvalues[4469]),0}, ++{"id-ppl-anyLanguage","Any language",NID_id_ppl_anyLanguage,8, ++ &(lvalues[4477]),0}, ++{"id-ppl-inheritAll","Inherit all",NID_id_ppl_inheritAll,8, ++ &(lvalues[4485]),0}, ++{"nameConstraints","X509v3 Name Constraints",NID_name_constraints,3, ++ &(lvalues[4493]),0}, ++{"id-ppl-independent","Independent",NID_Independent,8,&(lvalues[4496]),0}, ++{"RSA-SHA256","sha256WithRSAEncryption",NID_sha256WithRSAEncryption,9, ++ &(lvalues[4504]),0}, ++{"RSA-SHA384","sha384WithRSAEncryption",NID_sha384WithRSAEncryption,9, ++ &(lvalues[4513]),0}, ++{"RSA-SHA512","sha512WithRSAEncryption",NID_sha512WithRSAEncryption,9, ++ &(lvalues[4522]),0}, ++{"RSA-SHA224","sha224WithRSAEncryption",NID_sha224WithRSAEncryption,9, ++ &(lvalues[4531]),0}, ++{"SHA256","sha256",NID_sha256,9,&(lvalues[4540]),0}, ++{"SHA384","sha384",NID_sha384,9,&(lvalues[4549]),0}, ++{"SHA512","sha512",NID_sha512,9,&(lvalues[4558]),0}, ++{"SHA224","sha224",NID_sha224,9,&(lvalues[4567]),0}, ++{"identified-organization","identified-organization", ++ NID_identified_organization,1,&(lvalues[4576]),0}, ++{"certicom-arc","certicom-arc",NID_certicom_arc,3,&(lvalues[4577]),0}, ++{"wap","wap",NID_wap,2,&(lvalues[4580]),0}, ++{"wap-wsg","wap-wsg",NID_wap_wsg,3,&(lvalues[4582]),0}, ++{"id-characteristic-two-basis","id-characteristic-two-basis", ++ NID_X9_62_id_characteristic_two_basis,8,&(lvalues[4585]),0}, ++{"onBasis","onBasis",NID_X9_62_onBasis,9,&(lvalues[4593]),0}, ++{"tpBasis","tpBasis",NID_X9_62_tpBasis,9,&(lvalues[4602]),0}, ++{"ppBasis","ppBasis",NID_X9_62_ppBasis,9,&(lvalues[4611]),0}, ++{"c2pnb163v1","c2pnb163v1",NID_X9_62_c2pnb163v1,8,&(lvalues[4620]),0}, ++{"c2pnb163v2","c2pnb163v2",NID_X9_62_c2pnb163v2,8,&(lvalues[4628]),0}, ++{"c2pnb163v3","c2pnb163v3",NID_X9_62_c2pnb163v3,8,&(lvalues[4636]),0}, ++{"c2pnb176v1","c2pnb176v1",NID_X9_62_c2pnb176v1,8,&(lvalues[4644]),0}, ++{"c2tnb191v1","c2tnb191v1",NID_X9_62_c2tnb191v1,8,&(lvalues[4652]),0}, ++{"c2tnb191v2","c2tnb191v2",NID_X9_62_c2tnb191v2,8,&(lvalues[4660]),0}, ++{"c2tnb191v3","c2tnb191v3",NID_X9_62_c2tnb191v3,8,&(lvalues[4668]),0}, ++{"c2onb191v4","c2onb191v4",NID_X9_62_c2onb191v4,8,&(lvalues[4676]),0}, ++{"c2onb191v5","c2onb191v5",NID_X9_62_c2onb191v5,8,&(lvalues[4684]),0}, ++{"c2pnb208w1","c2pnb208w1",NID_X9_62_c2pnb208w1,8,&(lvalues[4692]),0}, ++{"c2tnb239v1","c2tnb239v1",NID_X9_62_c2tnb239v1,8,&(lvalues[4700]),0}, ++{"c2tnb239v2","c2tnb239v2",NID_X9_62_c2tnb239v2,8,&(lvalues[4708]),0}, ++{"c2tnb239v3","c2tnb239v3",NID_X9_62_c2tnb239v3,8,&(lvalues[4716]),0}, ++{"c2onb239v4","c2onb239v4",NID_X9_62_c2onb239v4,8,&(lvalues[4724]),0}, ++{"c2onb239v5","c2onb239v5",NID_X9_62_c2onb239v5,8,&(lvalues[4732]),0}, ++{"c2pnb272w1","c2pnb272w1",NID_X9_62_c2pnb272w1,8,&(lvalues[4740]),0}, ++{"c2pnb304w1","c2pnb304w1",NID_X9_62_c2pnb304w1,8,&(lvalues[4748]),0}, ++{"c2tnb359v1","c2tnb359v1",NID_X9_62_c2tnb359v1,8,&(lvalues[4756]),0}, ++{"c2pnb368w1","c2pnb368w1",NID_X9_62_c2pnb368w1,8,&(lvalues[4764]),0}, ++{"c2tnb431r1","c2tnb431r1",NID_X9_62_c2tnb431r1,8,&(lvalues[4772]),0}, ++{"secp112r1","secp112r1",NID_secp112r1,5,&(lvalues[4780]),0}, ++{"secp112r2","secp112r2",NID_secp112r2,5,&(lvalues[4785]),0}, ++{"secp128r1","secp128r1",NID_secp128r1,5,&(lvalues[4790]),0}, ++{"secp128r2","secp128r2",NID_secp128r2,5,&(lvalues[4795]),0}, ++{"secp160k1","secp160k1",NID_secp160k1,5,&(lvalues[4800]),0}, ++{"secp160r1","secp160r1",NID_secp160r1,5,&(lvalues[4805]),0}, ++{"secp160r2","secp160r2",NID_secp160r2,5,&(lvalues[4810]),0}, ++{"secp192k1","secp192k1",NID_secp192k1,5,&(lvalues[4815]),0}, ++{"secp224k1","secp224k1",NID_secp224k1,5,&(lvalues[4820]),0}, ++{"secp224r1","secp224r1",NID_secp224r1,5,&(lvalues[4825]),0}, ++{"secp256k1","secp256k1",NID_secp256k1,5,&(lvalues[4830]),0}, ++{"secp384r1","secp384r1",NID_secp384r1,5,&(lvalues[4835]),0}, ++{"secp521r1","secp521r1",NID_secp521r1,5,&(lvalues[4840]),0}, ++{"sect113r1","sect113r1",NID_sect113r1,5,&(lvalues[4845]),0}, ++{"sect113r2","sect113r2",NID_sect113r2,5,&(lvalues[4850]),0}, ++{"sect131r1","sect131r1",NID_sect131r1,5,&(lvalues[4855]),0}, ++{"sect131r2","sect131r2",NID_sect131r2,5,&(lvalues[4860]),0}, ++{"sect163k1","sect163k1",NID_sect163k1,5,&(lvalues[4865]),0}, ++{"sect163r1","sect163r1",NID_sect163r1,5,&(lvalues[4870]),0}, ++{"sect163r2","sect163r2",NID_sect163r2,5,&(lvalues[4875]),0}, ++{"sect193r1","sect193r1",NID_sect193r1,5,&(lvalues[4880]),0}, ++{"sect193r2","sect193r2",NID_sect193r2,5,&(lvalues[4885]),0}, ++{"sect233k1","sect233k1",NID_sect233k1,5,&(lvalues[4890]),0}, ++{"sect233r1","sect233r1",NID_sect233r1,5,&(lvalues[4895]),0}, ++{"sect239k1","sect239k1",NID_sect239k1,5,&(lvalues[4900]),0}, ++{"sect283k1","sect283k1",NID_sect283k1,5,&(lvalues[4905]),0}, ++{"sect283r1","sect283r1",NID_sect283r1,5,&(lvalues[4910]),0}, ++{"sect409k1","sect409k1",NID_sect409k1,5,&(lvalues[4915]),0}, ++{"sect409r1","sect409r1",NID_sect409r1,5,&(lvalues[4920]),0}, ++{"sect571k1","sect571k1",NID_sect571k1,5,&(lvalues[4925]),0}, ++{"sect571r1","sect571r1",NID_sect571r1,5,&(lvalues[4930]),0}, ++{"wap-wsg-idm-ecid-wtls1","wap-wsg-idm-ecid-wtls1", ++ NID_wap_wsg_idm_ecid_wtls1,5,&(lvalues[4935]),0}, ++{"wap-wsg-idm-ecid-wtls3","wap-wsg-idm-ecid-wtls3", ++ NID_wap_wsg_idm_ecid_wtls3,5,&(lvalues[4940]),0}, ++{"wap-wsg-idm-ecid-wtls4","wap-wsg-idm-ecid-wtls4", ++ NID_wap_wsg_idm_ecid_wtls4,5,&(lvalues[4945]),0}, ++{"wap-wsg-idm-ecid-wtls5","wap-wsg-idm-ecid-wtls5", ++ NID_wap_wsg_idm_ecid_wtls5,5,&(lvalues[4950]),0}, ++{"wap-wsg-idm-ecid-wtls6","wap-wsg-idm-ecid-wtls6", ++ NID_wap_wsg_idm_ecid_wtls6,5,&(lvalues[4955]),0}, ++{"wap-wsg-idm-ecid-wtls7","wap-wsg-idm-ecid-wtls7", ++ NID_wap_wsg_idm_ecid_wtls7,5,&(lvalues[4960]),0}, ++{"wap-wsg-idm-ecid-wtls8","wap-wsg-idm-ecid-wtls8", ++ NID_wap_wsg_idm_ecid_wtls8,5,&(lvalues[4965]),0}, ++{"wap-wsg-idm-ecid-wtls9","wap-wsg-idm-ecid-wtls9", ++ NID_wap_wsg_idm_ecid_wtls9,5,&(lvalues[4970]),0}, ++{"wap-wsg-idm-ecid-wtls10","wap-wsg-idm-ecid-wtls10", ++ NID_wap_wsg_idm_ecid_wtls10,5,&(lvalues[4975]),0}, ++{"wap-wsg-idm-ecid-wtls11","wap-wsg-idm-ecid-wtls11", ++ NID_wap_wsg_idm_ecid_wtls11,5,&(lvalues[4980]),0}, ++{"wap-wsg-idm-ecid-wtls12","wap-wsg-idm-ecid-wtls12", ++ NID_wap_wsg_idm_ecid_wtls12,5,&(lvalues[4985]),0}, ++{"anyPolicy","X509v3 Any Policy",NID_any_policy,4,&(lvalues[4990]),0}, ++{"policyMappings","X509v3 Policy Mappings",NID_policy_mappings,3, ++ &(lvalues[4994]),0}, ++{"inhibitAnyPolicy","X509v3 Inhibit Any Policy", ++ NID_inhibit_any_policy,3,&(lvalues[4997]),0}, ++{"Oakley-EC2N-3","ipsec3",NID_ipsec3,0,NULL,0}, ++{"Oakley-EC2N-4","ipsec4",NID_ipsec4,0,NULL,0}, ++{"CAMELLIA-128-CBC","camellia-128-cbc",NID_camellia_128_cbc,11, ++ &(lvalues[5000]),0}, ++{"CAMELLIA-192-CBC","camellia-192-cbc",NID_camellia_192_cbc,11, ++ &(lvalues[5011]),0}, ++{"CAMELLIA-256-CBC","camellia-256-cbc",NID_camellia_256_cbc,11, ++ &(lvalues[5022]),0}, ++{"CAMELLIA-128-ECB","camellia-128-ecb",NID_camellia_128_ecb,8, ++ &(lvalues[5033]),0}, ++{"CAMELLIA-192-ECB","camellia-192-ecb",NID_camellia_192_ecb,8, ++ &(lvalues[5041]),0}, ++{"CAMELLIA-256-ECB","camellia-256-ecb",NID_camellia_256_ecb,8, ++ &(lvalues[5049]),0}, ++{"CAMELLIA-128-CFB","camellia-128-cfb",NID_camellia_128_cfb128,8, ++ &(lvalues[5057]),0}, ++{"CAMELLIA-192-CFB","camellia-192-cfb",NID_camellia_192_cfb128,8, ++ &(lvalues[5065]),0}, ++{"CAMELLIA-256-CFB","camellia-256-cfb",NID_camellia_256_cfb128,8, ++ &(lvalues[5073]),0}, ++{"CAMELLIA-128-CFB1","camellia-128-cfb1",NID_camellia_128_cfb1,0,NULL,0}, ++{"CAMELLIA-192-CFB1","camellia-192-cfb1",NID_camellia_192_cfb1,0,NULL,0}, ++{"CAMELLIA-256-CFB1","camellia-256-cfb1",NID_camellia_256_cfb1,0,NULL,0}, ++{"CAMELLIA-128-CFB8","camellia-128-cfb8",NID_camellia_128_cfb8,0,NULL,0}, ++{"CAMELLIA-192-CFB8","camellia-192-cfb8",NID_camellia_192_cfb8,0,NULL,0}, ++{"CAMELLIA-256-CFB8","camellia-256-cfb8",NID_camellia_256_cfb8,0,NULL,0}, ++{"CAMELLIA-128-OFB","camellia-128-ofb",NID_camellia_128_ofb128,8, ++ &(lvalues[5081]),0}, ++{"CAMELLIA-192-OFB","camellia-192-ofb",NID_camellia_192_ofb128,8, ++ &(lvalues[5089]),0}, ++{"CAMELLIA-256-OFB","camellia-256-ofb",NID_camellia_256_ofb128,8, ++ &(lvalues[5097]),0}, ++{"subjectDirectoryAttributes","X509v3 Subject Directory Attributes", ++ NID_subject_directory_attributes,3,&(lvalues[5105]),0}, ++{"issuingDistributionPoint","X509v3 Issuing Distrubution Point", ++ NID_issuing_distribution_point,3,&(lvalues[5108]),0}, ++{"certificateIssuer","X509v3 Certificate Issuer", ++ NID_certificate_issuer,3,&(lvalues[5111]),0}, ++{NULL,NULL,NID_undef,0,NULL,0}, ++{"KISA","kisa",NID_kisa,6,&(lvalues[5114]),0}, ++{NULL,NULL,NID_undef,0,NULL,0}, ++{NULL,NULL,NID_undef,0,NULL,0}, ++{"SEED-ECB","seed-ecb",NID_seed_ecb,8,&(lvalues[5120]),0}, ++{"SEED-CBC","seed-cbc",NID_seed_cbc,8,&(lvalues[5128]),0}, ++{"SEED-OFB","seed-ofb",NID_seed_ofb128,8,&(lvalues[5136]),0}, ++{"SEED-CFB","seed-cfb",NID_seed_cfb128,8,&(lvalues[5144]),0}, ++{"HMAC-MD5","hmac-md5",NID_hmac_md5,8,&(lvalues[5152]),0}, ++{"HMAC-SHA1","hmac-sha1",NID_hmac_sha1,8,&(lvalues[5160]),0}, ++{"id-PasswordBasedMAC","password based MAC",NID_id_PasswordBasedMAC,9, ++ &(lvalues[5168]),0}, ++{"id-DHBasedMac","Diffie-Hellman based MAC",NID_id_DHBasedMac,9, ++ &(lvalues[5177]),0}, ++{"id-it-suppLangTags","id-it-suppLangTags",NID_id_it_suppLangTags,8, ++ &(lvalues[5186]),0}, ++{"caRepository","CA Repository",NID_caRepository,8,&(lvalues[5194]),0}, ++{"id-smime-ct-compressedData","id-smime-ct-compressedData", ++ NID_id_smime_ct_compressedData,11,&(lvalues[5202]),0}, ++{"id-ct-asciiTextWithCRLF","id-ct-asciiTextWithCRLF", ++ NID_id_ct_asciiTextWithCRLF,11,&(lvalues[5213]),0}, ++{"id-aes128-wrap","id-aes128-wrap",NID_id_aes128_wrap,9, ++ &(lvalues[5224]),0}, ++{"id-aes192-wrap","id-aes192-wrap",NID_id_aes192_wrap,9, ++ &(lvalues[5233]),0}, ++{"id-aes256-wrap","id-aes256-wrap",NID_id_aes256_wrap,9, ++ &(lvalues[5242]),0}, ++{"ecdsa-with-Recommended","ecdsa-with-Recommended", ++ NID_ecdsa_with_Recommended,7,&(lvalues[5251]),0}, ++{"ecdsa-with-Specified","ecdsa-with-Specified", ++ NID_ecdsa_with_Specified,7,&(lvalues[5258]),0}, ++{"ecdsa-with-SHA224","ecdsa-with-SHA224",NID_ecdsa_with_SHA224,8, ++ &(lvalues[5265]),0}, ++{"ecdsa-with-SHA256","ecdsa-with-SHA256",NID_ecdsa_with_SHA256,8, ++ &(lvalues[5273]),0}, ++{"ecdsa-with-SHA384","ecdsa-with-SHA384",NID_ecdsa_with_SHA384,8, ++ &(lvalues[5281]),0}, ++{"ecdsa-with-SHA512","ecdsa-with-SHA512",NID_ecdsa_with_SHA512,8, ++ &(lvalues[5289]),0}, ++{"hmacWithMD5","hmacWithMD5",NID_hmacWithMD5,8,&(lvalues[5297]),0}, ++{"hmacWithSHA224","hmacWithSHA224",NID_hmacWithSHA224,8, ++ &(lvalues[5305]),0}, ++{"hmacWithSHA256","hmacWithSHA256",NID_hmacWithSHA256,8, ++ &(lvalues[5313]),0}, ++{"hmacWithSHA384","hmacWithSHA384",NID_hmacWithSHA384,8, ++ &(lvalues[5321]),0}, ++{"hmacWithSHA512","hmacWithSHA512",NID_hmacWithSHA512,8, ++ &(lvalues[5329]),0}, ++{"dsa_with_SHA224","dsa_with_SHA224",NID_dsa_with_SHA224,9, ++ &(lvalues[5337]),0}, ++{"dsa_with_SHA256","dsa_with_SHA256",NID_dsa_with_SHA256,9, ++ &(lvalues[5346]),0}, ++{"whirlpool","whirlpool",NID_whirlpool,6,&(lvalues[5355]),0}, ++{"cryptopro","cryptopro",NID_cryptopro,5,&(lvalues[5361]),0}, ++{"cryptocom","cryptocom",NID_cryptocom,5,&(lvalues[5366]),0}, ++{"id-GostR3411-94-with-GostR3410-2001", ++ "GOST R 34.11-94 with GOST R 34.10-2001", ++ NID_id_GostR3411_94_with_GostR3410_2001,6,&(lvalues[5371]),0}, ++{"id-GostR3411-94-with-GostR3410-94", ++ "GOST R 34.11-94 with GOST R 34.10-94", ++ NID_id_GostR3411_94_with_GostR3410_94,6,&(lvalues[5377]),0}, ++{"md_gost94","GOST R 34.11-94",NID_id_GostR3411_94,6,&(lvalues[5383]),0}, ++{"id-HMACGostR3411-94","HMAC GOST 34.11-94",NID_id_HMACGostR3411_94,6, ++ &(lvalues[5389]),0}, ++{"gost2001","GOST R 34.10-2001",NID_id_GostR3410_2001,6, ++ &(lvalues[5395]),0}, ++{"gost94","GOST R 34.10-94",NID_id_GostR3410_94,6,&(lvalues[5401]),0}, ++{"gost89","GOST 28147-89",NID_id_Gost28147_89,6,&(lvalues[5407]),0}, ++{"gost89-cnt","gost89-cnt",NID_gost89_cnt,0,NULL,0}, ++{"gost-mac","GOST 28147-89 MAC",NID_id_Gost28147_89_MAC,6, ++ &(lvalues[5413]),0}, ++{"prf-gostr3411-94","GOST R 34.11-94 PRF",NID_id_GostR3411_94_prf,6, ++ &(lvalues[5419]),0}, ++{"id-GostR3410-2001DH","GOST R 34.10-2001 DH",NID_id_GostR3410_2001DH, ++ 6,&(lvalues[5425]),0}, ++{"id-GostR3410-94DH","GOST R 34.10-94 DH",NID_id_GostR3410_94DH,6, ++ &(lvalues[5431]),0}, ++{"id-Gost28147-89-CryptoPro-KeyMeshing", ++ "id-Gost28147-89-CryptoPro-KeyMeshing", ++ NID_id_Gost28147_89_CryptoPro_KeyMeshing,7,&(lvalues[5437]),0}, ++{"id-Gost28147-89-None-KeyMeshing","id-Gost28147-89-None-KeyMeshing", ++ NID_id_Gost28147_89_None_KeyMeshing,7,&(lvalues[5444]),0}, ++{"id-GostR3411-94-TestParamSet","id-GostR3411-94-TestParamSet", ++ NID_id_GostR3411_94_TestParamSet,7,&(lvalues[5451]),0}, ++{"id-GostR3411-94-CryptoProParamSet", ++ "id-GostR3411-94-CryptoProParamSet", ++ NID_id_GostR3411_94_CryptoProParamSet,7,&(lvalues[5458]),0}, ++{"id-Gost28147-89-TestParamSet","id-Gost28147-89-TestParamSet", ++ NID_id_Gost28147_89_TestParamSet,7,&(lvalues[5465]),0}, ++{"id-Gost28147-89-CryptoPro-A-ParamSet", ++ "id-Gost28147-89-CryptoPro-A-ParamSet", ++ NID_id_Gost28147_89_CryptoPro_A_ParamSet,7,&(lvalues[5472]),0}, ++{"id-Gost28147-89-CryptoPro-B-ParamSet", ++ "id-Gost28147-89-CryptoPro-B-ParamSet", ++ NID_id_Gost28147_89_CryptoPro_B_ParamSet,7,&(lvalues[5479]),0}, ++{"id-Gost28147-89-CryptoPro-C-ParamSet", ++ "id-Gost28147-89-CryptoPro-C-ParamSet", ++ NID_id_Gost28147_89_CryptoPro_C_ParamSet,7,&(lvalues[5486]),0}, ++{"id-Gost28147-89-CryptoPro-D-ParamSet", ++ "id-Gost28147-89-CryptoPro-D-ParamSet", ++ NID_id_Gost28147_89_CryptoPro_D_ParamSet,7,&(lvalues[5493]),0}, ++{"id-Gost28147-89-CryptoPro-Oscar-1-1-ParamSet", ++ "id-Gost28147-89-CryptoPro-Oscar-1-1-ParamSet", ++ NID_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet,7,&(lvalues[5500]), ++ 0}, ++{"id-Gost28147-89-CryptoPro-Oscar-1-0-ParamSet", ++ "id-Gost28147-89-CryptoPro-Oscar-1-0-ParamSet", ++ NID_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet,7,&(lvalues[5507]), ++ 0}, ++{"id-Gost28147-89-CryptoPro-RIC-1-ParamSet", ++ "id-Gost28147-89-CryptoPro-RIC-1-ParamSet", ++ NID_id_Gost28147_89_CryptoPro_RIC_1_ParamSet,7,&(lvalues[5514]),0}, ++{"id-GostR3410-94-TestParamSet","id-GostR3410-94-TestParamSet", ++ NID_id_GostR3410_94_TestParamSet,7,&(lvalues[5521]),0}, ++{"id-GostR3410-94-CryptoPro-A-ParamSet", ++ "id-GostR3410-94-CryptoPro-A-ParamSet", ++ NID_id_GostR3410_94_CryptoPro_A_ParamSet,7,&(lvalues[5528]),0}, ++{"id-GostR3410-94-CryptoPro-B-ParamSet", ++ "id-GostR3410-94-CryptoPro-B-ParamSet", ++ NID_id_GostR3410_94_CryptoPro_B_ParamSet,7,&(lvalues[5535]),0}, ++{"id-GostR3410-94-CryptoPro-C-ParamSet", ++ "id-GostR3410-94-CryptoPro-C-ParamSet", ++ NID_id_GostR3410_94_CryptoPro_C_ParamSet,7,&(lvalues[5542]),0}, ++{"id-GostR3410-94-CryptoPro-D-ParamSet", ++ "id-GostR3410-94-CryptoPro-D-ParamSet", ++ NID_id_GostR3410_94_CryptoPro_D_ParamSet,7,&(lvalues[5549]),0}, ++{"id-GostR3410-94-CryptoPro-XchA-ParamSet", ++ "id-GostR3410-94-CryptoPro-XchA-ParamSet", ++ NID_id_GostR3410_94_CryptoPro_XchA_ParamSet,7,&(lvalues[5556]),0}, ++{"id-GostR3410-94-CryptoPro-XchB-ParamSet", ++ "id-GostR3410-94-CryptoPro-XchB-ParamSet", ++ NID_id_GostR3410_94_CryptoPro_XchB_ParamSet,7,&(lvalues[5563]),0}, ++{"id-GostR3410-94-CryptoPro-XchC-ParamSet", ++ "id-GostR3410-94-CryptoPro-XchC-ParamSet", ++ NID_id_GostR3410_94_CryptoPro_XchC_ParamSet,7,&(lvalues[5570]),0}, ++{"id-GostR3410-2001-TestParamSet","id-GostR3410-2001-TestParamSet", ++ NID_id_GostR3410_2001_TestParamSet,7,&(lvalues[5577]),0}, ++{"id-GostR3410-2001-CryptoPro-A-ParamSet", ++ "id-GostR3410-2001-CryptoPro-A-ParamSet", ++ NID_id_GostR3410_2001_CryptoPro_A_ParamSet,7,&(lvalues[5584]),0}, ++{"id-GostR3410-2001-CryptoPro-B-ParamSet", ++ "id-GostR3410-2001-CryptoPro-B-ParamSet", ++ NID_id_GostR3410_2001_CryptoPro_B_ParamSet,7,&(lvalues[5591]),0}, ++{"id-GostR3410-2001-CryptoPro-C-ParamSet", ++ "id-GostR3410-2001-CryptoPro-C-ParamSet", ++ NID_id_GostR3410_2001_CryptoPro_C_ParamSet,7,&(lvalues[5598]),0}, ++{"id-GostR3410-2001-CryptoPro-XchA-ParamSet", ++ "id-GostR3410-2001-CryptoPro-XchA-ParamSet", ++ NID_id_GostR3410_2001_CryptoPro_XchA_ParamSet,7,&(lvalues[5605]),0}, ++ ++{"id-GostR3410-2001-CryptoPro-XchB-ParamSet", ++ "id-GostR3410-2001-CryptoPro-XchB-ParamSet", ++ NID_id_GostR3410_2001_CryptoPro_XchB_ParamSet,7,&(lvalues[5612]),0}, ++ ++{"id-GostR3410-94-a","id-GostR3410-94-a",NID_id_GostR3410_94_a,7, ++ &(lvalues[5619]),0}, ++{"id-GostR3410-94-aBis","id-GostR3410-94-aBis", ++ NID_id_GostR3410_94_aBis,7,&(lvalues[5626]),0}, ++{"id-GostR3410-94-b","id-GostR3410-94-b",NID_id_GostR3410_94_b,7, ++ &(lvalues[5633]),0}, ++{"id-GostR3410-94-bBis","id-GostR3410-94-bBis", ++ NID_id_GostR3410_94_bBis,7,&(lvalues[5640]),0}, ++{"id-Gost28147-89-cc","GOST 28147-89 Cryptocom ParamSet", ++ NID_id_Gost28147_89_cc,8,&(lvalues[5647]),0}, ++{"gost94cc","GOST 34.10-94 Cryptocom",NID_id_GostR3410_94_cc,8, ++ &(lvalues[5655]),0}, ++{"gost2001cc","GOST 34.10-2001 Cryptocom",NID_id_GostR3410_2001_cc,8, ++ &(lvalues[5663]),0}, ++{"id-GostR3411-94-with-GostR3410-94-cc", ++ "GOST R 34.11-94 with GOST R 34.10-94 Cryptocom", ++ NID_id_GostR3411_94_with_GostR3410_94_cc,8,&(lvalues[5671]),0}, ++{"id-GostR3411-94-with-GostR3410-2001-cc", ++ "GOST R 34.11-94 with GOST R 34.10-2001 Cryptocom", ++ NID_id_GostR3411_94_with_GostR3410_2001_cc,8,&(lvalues[5679]),0}, ++{"id-GostR3410-2001-ParamSet-cc", ++ "GOST R 3410-2001 Parameter Set Cryptocom", ++ NID_id_GostR3410_2001_ParamSet_cc,8,&(lvalues[5687]),0}, ++{"HMAC","hmac",NID_hmac,0,NULL,0}, ++{"LocalKeySet","Microsoft Local Key set",NID_LocalKeySet,9, ++ &(lvalues[5695]),0}, ++{"freshestCRL","X509v3 Freshest CRL",NID_freshest_crl,3, ++ &(lvalues[5704]),0}, ++{"id-on-permanentIdentifier","Permanent Identifier", ++ NID_id_on_permanentIdentifier,8,&(lvalues[5707]),0}, ++{"searchGuide","searchGuide",NID_searchGuide,3,&(lvalues[5715]),0}, ++{"businessCategory","businessCategory",NID_businessCategory,3, ++ &(lvalues[5718]),0}, ++{"postalAddress","postalAddress",NID_postalAddress,3,&(lvalues[5721]),0}, ++{"postOfficeBox","postOfficeBox",NID_postOfficeBox,3,&(lvalues[5724]),0}, ++{"physicalDeliveryOfficeName","physicalDeliveryOfficeName", ++ NID_physicalDeliveryOfficeName,3,&(lvalues[5727]),0}, ++{"telephoneNumber","telephoneNumber",NID_telephoneNumber,3, ++ &(lvalues[5730]),0}, ++{"telexNumber","telexNumber",NID_telexNumber,3,&(lvalues[5733]),0}, ++{"teletexTerminalIdentifier","teletexTerminalIdentifier", ++ NID_teletexTerminalIdentifier,3,&(lvalues[5736]),0}, ++{"facsimileTelephoneNumber","facsimileTelephoneNumber", ++ NID_facsimileTelephoneNumber,3,&(lvalues[5739]),0}, ++{"x121Address","x121Address",NID_x121Address,3,&(lvalues[5742]),0}, ++{"internationaliSDNNumber","internationaliSDNNumber", ++ NID_internationaliSDNNumber,3,&(lvalues[5745]),0}, ++{"registeredAddress","registeredAddress",NID_registeredAddress,3, ++ &(lvalues[5748]),0}, ++{"destinationIndicator","destinationIndicator", ++ NID_destinationIndicator,3,&(lvalues[5751]),0}, ++{"preferredDeliveryMethod","preferredDeliveryMethod", ++ NID_preferredDeliveryMethod,3,&(lvalues[5754]),0}, ++{"presentationAddress","presentationAddress",NID_presentationAddress, ++ 3,&(lvalues[5757]),0}, ++{"supportedApplicationContext","supportedApplicationContext", ++ NID_supportedApplicationContext,3,&(lvalues[5760]),0}, ++{"member","member",NID_member,3,&(lvalues[5763]),0}, ++{"owner","owner",NID_owner,3,&(lvalues[5766]),0}, ++{"roleOccupant","roleOccupant",NID_roleOccupant,3,&(lvalues[5769]),0}, ++{"seeAlso","seeAlso",NID_seeAlso,3,&(lvalues[5772]),0}, ++{"userPassword","userPassword",NID_userPassword,3,&(lvalues[5775]),0}, ++{"userCertificate","userCertificate",NID_userCertificate,3, ++ &(lvalues[5778]),0}, ++{"cACertificate","cACertificate",NID_cACertificate,3,&(lvalues[5781]),0}, ++{"authorityRevocationList","authorityRevocationList", ++ NID_authorityRevocationList,3,&(lvalues[5784]),0}, ++{"certificateRevocationList","certificateRevocationList", ++ NID_certificateRevocationList,3,&(lvalues[5787]),0}, ++{"crossCertificatePair","crossCertificatePair", ++ NID_crossCertificatePair,3,&(lvalues[5790]),0}, ++{"enhancedSearchGuide","enhancedSearchGuide",NID_enhancedSearchGuide, ++ 3,&(lvalues[5793]),0}, ++{"protocolInformation","protocolInformation",NID_protocolInformation, ++ 3,&(lvalues[5796]),0}, ++{"distinguishedName","distinguishedName",NID_distinguishedName,3, ++ &(lvalues[5799]),0}, ++{"uniqueMember","uniqueMember",NID_uniqueMember,3,&(lvalues[5802]),0}, ++{"houseIdentifier","houseIdentifier",NID_houseIdentifier,3, ++ &(lvalues[5805]),0}, ++{"supportedAlgorithms","supportedAlgorithms",NID_supportedAlgorithms, ++ 3,&(lvalues[5808]),0}, ++{"deltaRevocationList","deltaRevocationList",NID_deltaRevocationList, ++ 3,&(lvalues[5811]),0}, ++{"dmdName","dmdName",NID_dmdName,3,&(lvalues[5814]),0}, ++{"id-alg-PWRI-KEK","id-alg-PWRI-KEK",NID_id_alg_PWRI_KEK,11, ++ &(lvalues[5817]),0}, ++{"CMAC","cmac",NID_cmac,0,NULL,0}, ++{"id-aes128-GCM","aes-128-gcm",NID_aes_128_gcm,9,&(lvalues[5828]),0}, ++{"id-aes128-CCM","aes-128-ccm",NID_aes_128_ccm,9,&(lvalues[5837]),0}, ++{"id-aes128-wrap-pad","id-aes128-wrap-pad",NID_id_aes128_wrap_pad,9, ++ &(lvalues[5846]),0}, ++{"id-aes192-GCM","aes-192-gcm",NID_aes_192_gcm,9,&(lvalues[5855]),0}, ++{"id-aes192-CCM","aes-192-ccm",NID_aes_192_ccm,9,&(lvalues[5864]),0}, ++{"id-aes192-wrap-pad","id-aes192-wrap-pad",NID_id_aes192_wrap_pad,9, ++ &(lvalues[5873]),0}, ++{"id-aes256-GCM","aes-256-gcm",NID_aes_256_gcm,9,&(lvalues[5882]),0}, ++{"id-aes256-CCM","aes-256-ccm",NID_aes_256_ccm,9,&(lvalues[5891]),0}, ++{"id-aes256-wrap-pad","id-aes256-wrap-pad",NID_id_aes256_wrap_pad,9, ++ &(lvalues[5900]),0}, ++{"AES-128-CTR","aes-128-ctr",NID_aes_128_ctr,0,NULL,0}, ++{"AES-192-CTR","aes-192-ctr",NID_aes_192_ctr,0,NULL,0}, ++{"AES-256-CTR","aes-256-ctr",NID_aes_256_ctr,0,NULL,0}, ++{"id-camellia128-wrap","id-camellia128-wrap",NID_id_camellia128_wrap, ++ 11,&(lvalues[5909]),0}, ++{"id-camellia192-wrap","id-camellia192-wrap",NID_id_camellia192_wrap, ++ 11,&(lvalues[5920]),0}, ++{"id-camellia256-wrap","id-camellia256-wrap",NID_id_camellia256_wrap, ++ 11,&(lvalues[5931]),0}, ++{"anyExtendedKeyUsage","Any Extended Key Usage", ++ NID_anyExtendedKeyUsage,4,&(lvalues[5942]),0}, ++{"MGF1","mgf1",NID_mgf1,9,&(lvalues[5946]),0}, ++{"RSASSA-PSS","rsassaPss",NID_rsassaPss,9,&(lvalues[5955]),0}, ++{"AES-128-XTS","aes-128-xts",NID_aes_128_xts,0,NULL,0}, ++{"AES-256-XTS","aes-256-xts",NID_aes_256_xts,0,NULL,0}, ++{"RC4-HMAC-MD5","rc4-hmac-md5",NID_rc4_hmac_md5,0,NULL,0}, ++{"AES-128-CBC-HMAC-SHA1","aes-128-cbc-hmac-sha1", ++ NID_aes_128_cbc_hmac_sha1,0,NULL,0}, ++{"AES-192-CBC-HMAC-SHA1","aes-192-cbc-hmac-sha1", ++ NID_aes_192_cbc_hmac_sha1,0,NULL,0}, ++{"AES-256-CBC-HMAC-SHA1","aes-256-cbc-hmac-sha1", ++ NID_aes_256_cbc_hmac_sha1,0,NULL,0}, ++{"RSAES-OAEP","rsaesOaep",NID_rsaesOaep,9,&(lvalues[5964]),0}, ++{"teletrust","teletrust",NID_teletrust,2,&(lvalues[5973]),0}, ++{"brainpool","brainpool",NID_brainpool,7,&(lvalues[5975]),0}, ++{"brainpoolP160r1","brainpoolP160r1",NID_brainpoolP160r1,9, ++ &(lvalues[5982]),0}, ++{"brainpoolP160t1","brainpoolP160t1",NID_brainpoolP160t1,9, ++ &(lvalues[5991]),0}, ++{"brainpoolP192r1","brainpoolP192r1",NID_brainpoolP192r1,9, ++ &(lvalues[6000]),0}, ++{"brainpoolP192t1","brainpoolP192t1",NID_brainpoolP192t1,9, ++ &(lvalues[6009]),0}, ++{"brainpoolP224r1","brainpoolP224r1",NID_brainpoolP224r1,9, ++ &(lvalues[6018]),0}, ++{"brainpoolP224t1","brainpoolP224t1",NID_brainpoolP224t1,9, ++ &(lvalues[6027]),0}, ++{"brainpoolP256r1","brainpoolP256r1",NID_brainpoolP256r1,9, ++ &(lvalues[6036]),0}, ++{"brainpoolP256t1","brainpoolP256t1",NID_brainpoolP256t1,9, ++ &(lvalues[6045]),0}, ++{"brainpoolP320r1","brainpoolP320r1",NID_brainpoolP320r1,9, ++ &(lvalues[6054]),0}, ++{"brainpoolP320t1","brainpoolP320t1",NID_brainpoolP320t1,9, ++ &(lvalues[6063]),0}, ++{"brainpoolP384r1","brainpoolP384r1",NID_brainpoolP384r1,9, ++ &(lvalues[6072]),0}, ++{"brainpoolP384t1","brainpoolP384t1",NID_brainpoolP384t1,9, ++ &(lvalues[6081]),0}, ++{"brainpoolP512r1","brainpoolP512r1",NID_brainpoolP512r1,9, ++ &(lvalues[6090]),0}, ++{"brainpoolP512t1","brainpoolP512t1",NID_brainpoolP512t1,9, ++ &(lvalues[6099]),0}, ++{"FRP256v1","FRP256v1",NID_FRP256v1,10,&(lvalues[6108]),0}, ++{"ChaCha","chacha",NID_chacha20,0,NULL,0}, ++{"gost89-ecb","gost89-ecb",NID_gost89_ecb,0,NULL,0}, ++{"gost89-cbc","gost89-cbc",NID_gost89_cbc,0,NULL,0}, ++{"tc26","tc26",NID_tc26,5,&(lvalues[6118]),0}, ++{"streebog256","GOST R 34.11-2012 (256 bit)", ++ NID_id_tc26_gost3411_2012_256,8,&(lvalues[6123]),0}, ++{"streebog512","GOST R 34-11-2012 (512 bit)", ++ NID_id_tc26_gost3411_2012_512,8,&(lvalues[6131]),0}, ++{"id-tc26-gost-3410-2012-512-paramSetA", ++ "id-tc26-gost-3410-2012-512-paramSetA", ++ NID_id_tc26_gost_3410_2012_512_paramSetA,9,&(lvalues[6139]),0}, ++{"id-tc26-gost-3410-2012-512-paramSetB", ++ "id-tc26-gost-3410-2012-512-paramSetB", ++ NID_id_tc26_gost_3410_2012_512_paramSetB,9,&(lvalues[6148]),0}, ++{"id-tc26-gost-28147-param-Z","id-tc26-gost-28147-param-Z", ++ NID_id_tc26_gost_28147_param_Z,9,&(lvalues[6157]),0}, ++{"id-tc26-gost3410-2012-256","GOST R 34.10-2012 (256 bit)", ++ NID_id_tc26_gost3410_2012_256,8,&(lvalues[6166]),0}, ++{"id-tc26-gost3410-2012-512","GOST R 34.10-2012 (512 bit)", ++ NID_id_tc26_gost3410_2012_512,8,&(lvalues[6174]),0}, ++{"id-tc26-signwithdigest-gost3410-2012-256", ++ "GOST R 34.11-2012 with GOST R 34.10-2012 (256 bit)", ++ NID_id_tc26_signwithdigest_gost3410_2012_256,8,&(lvalues[6182]),0}, ++{"id-tc26-signwithdigest-gost3410-2012-512", ++ "GOST R 34.11-2012 with GOST R 34.10-2012 (512 bit)", ++ NID_id_tc26_signwithdigest_gost3410_2012_512,8,&(lvalues[6190]),0}, ++}; ++ ++static const unsigned int sn_objs[NUM_SN]={ ++364, /* "AD_DVCS" */ ++419, /* "AES-128-CBC" */ ++916, /* "AES-128-CBC-HMAC-SHA1" */ ++421, /* "AES-128-CFB" */ ++650, /* "AES-128-CFB1" */ ++653, /* "AES-128-CFB8" */ ++904, /* "AES-128-CTR" */ ++418, /* "AES-128-ECB" */ ++420, /* "AES-128-OFB" */ ++913, /* "AES-128-XTS" */ ++423, /* "AES-192-CBC" */ ++917, /* "AES-192-CBC-HMAC-SHA1" */ ++425, /* "AES-192-CFB" */ ++651, /* "AES-192-CFB1" */ ++654, /* "AES-192-CFB8" */ ++905, /* "AES-192-CTR" */ ++422, /* "AES-192-ECB" */ ++424, /* "AES-192-OFB" */ ++427, /* "AES-256-CBC" */ ++918, /* "AES-256-CBC-HMAC-SHA1" */ ++429, /* "AES-256-CFB" */ ++652, /* "AES-256-CFB1" */ ++655, /* "AES-256-CFB8" */ ++906, /* "AES-256-CTR" */ ++426, /* "AES-256-ECB" */ ++428, /* "AES-256-OFB" */ ++914, /* "AES-256-XTS" */ ++91, /* "BF-CBC" */ ++93, /* "BF-CFB" */ ++92, /* "BF-ECB" */ ++94, /* "BF-OFB" */ ++14, /* "C" */ ++751, /* "CAMELLIA-128-CBC" */ ++757, /* "CAMELLIA-128-CFB" */ ++760, /* "CAMELLIA-128-CFB1" */ ++763, /* "CAMELLIA-128-CFB8" */ ++754, /* "CAMELLIA-128-ECB" */ ++766, /* "CAMELLIA-128-OFB" */ ++752, /* "CAMELLIA-192-CBC" */ ++758, /* "CAMELLIA-192-CFB" */ ++761, /* "CAMELLIA-192-CFB1" */ ++764, /* "CAMELLIA-192-CFB8" */ ++755, /* "CAMELLIA-192-ECB" */ ++767, /* "CAMELLIA-192-OFB" */ ++753, /* "CAMELLIA-256-CBC" */ ++759, /* "CAMELLIA-256-CFB" */ ++762, /* "CAMELLIA-256-CFB1" */ ++765, /* "CAMELLIA-256-CFB8" */ ++756, /* "CAMELLIA-256-ECB" */ ++768, /* "CAMELLIA-256-OFB" */ ++108, /* "CAST5-CBC" */ ++110, /* "CAST5-CFB" */ ++109, /* "CAST5-ECB" */ ++111, /* "CAST5-OFB" */ ++894, /* "CMAC" */ ++13, /* "CN" */ ++141, /* "CRLReason" */ ++417, /* "CSPName" */ ++937, /* "ChaCha" */ ++367, /* "CrlID" */ ++391, /* "DC" */ ++31, /* "DES-CBC" */ ++643, /* "DES-CDMF" */ ++30, /* "DES-CFB" */ ++656, /* "DES-CFB1" */ ++657, /* "DES-CFB8" */ ++29, /* "DES-ECB" */ ++32, /* "DES-EDE" */ ++43, /* "DES-EDE-CBC" */ ++60, /* "DES-EDE-CFB" */ ++62, /* "DES-EDE-OFB" */ ++33, /* "DES-EDE3" */ ++44, /* "DES-EDE3-CBC" */ ++61, /* "DES-EDE3-CFB" */ ++658, /* "DES-EDE3-CFB1" */ ++659, /* "DES-EDE3-CFB8" */ ++63, /* "DES-EDE3-OFB" */ ++45, /* "DES-OFB" */ ++80, /* "DESX-CBC" */ ++380, /* "DOD" */ ++116, /* "DSA" */ ++66, /* "DSA-SHA" */ ++113, /* "DSA-SHA1" */ ++70, /* "DSA-SHA1-old" */ ++67, /* "DSA-old" */ ++297, /* "DVCS" */ ++936, /* "FRP256v1" */ ++99, /* "GN" */ ++855, /* "HMAC" */ ++780, /* "HMAC-MD5" */ ++781, /* "HMAC-SHA1" */ ++381, /* "IANA" */ ++34, /* "IDEA-CBC" */ ++35, /* "IDEA-CFB" */ ++36, /* "IDEA-ECB" */ ++46, /* "IDEA-OFB" */ ++181, /* "ISO" */ ++183, /* "ISO-US" */ ++645, /* "ITU-T" */ ++646, /* "JOINT-ISO-ITU-T" */ ++773, /* "KISA" */ ++15, /* "L" */ ++856, /* "LocalKeySet" */ ++ 3, /* "MD2" */ ++257, /* "MD4" */ ++ 4, /* "MD5" */ ++114, /* "MD5-SHA1" */ ++95, /* "MDC2" */ ++911, /* "MGF1" */ ++388, /* "Mail" */ ++393, /* "NULL" */ ++404, /* "NULL" */ ++57, /* "Netscape" */ ++366, /* "Nonce" */ ++17, /* "O" */ ++178, /* "OCSP" */ ++180, /* "OCSPSigning" */ ++379, /* "ORG" */ ++18, /* "OU" */ ++749, /* "Oakley-EC2N-3" */ ++750, /* "Oakley-EC2N-4" */ ++ 9, /* "PBE-MD2-DES" */ ++168, /* "PBE-MD2-RC2-64" */ ++10, /* "PBE-MD5-DES" */ ++169, /* "PBE-MD5-RC2-64" */ ++147, /* "PBE-SHA1-2DES" */ ++146, /* "PBE-SHA1-3DES" */ ++170, /* "PBE-SHA1-DES" */ ++148, /* "PBE-SHA1-RC2-128" */ ++149, /* "PBE-SHA1-RC2-40" */ ++68, /* "PBE-SHA1-RC2-64" */ ++144, /* "PBE-SHA1-RC4-128" */ ++145, /* "PBE-SHA1-RC4-40" */ ++161, /* "PBES2" */ ++69, /* "PBKDF2" */ ++162, /* "PBMAC1" */ ++127, /* "PKIX" */ ++98, /* "RC2-40-CBC" */ ++166, /* "RC2-64-CBC" */ ++37, /* "RC2-CBC" */ ++39, /* "RC2-CFB" */ ++38, /* "RC2-ECB" */ ++40, /* "RC2-OFB" */ ++ 5, /* "RC4" */ ++97, /* "RC4-40" */ ++915, /* "RC4-HMAC-MD5" */ ++120, /* "RC5-CBC" */ ++122, /* "RC5-CFB" */ ++121, /* "RC5-ECB" */ ++123, /* "RC5-OFB" */ ++117, /* "RIPEMD160" */ ++124, /* "RLE" */ ++19, /* "RSA" */ ++ 7, /* "RSA-MD2" */ ++396, /* "RSA-MD4" */ ++ 8, /* "RSA-MD5" */ ++96, /* "RSA-MDC2" */ ++104, /* "RSA-NP-MD5" */ ++119, /* "RSA-RIPEMD160" */ ++42, /* "RSA-SHA" */ ++65, /* "RSA-SHA1" */ ++115, /* "RSA-SHA1-2" */ ++671, /* "RSA-SHA224" */ ++668, /* "RSA-SHA256" */ ++669, /* "RSA-SHA384" */ ++670, /* "RSA-SHA512" */ ++919, /* "RSAES-OAEP" */ ++912, /* "RSASSA-PSS" */ ++777, /* "SEED-CBC" */ ++779, /* "SEED-CFB" */ ++776, /* "SEED-ECB" */ ++778, /* "SEED-OFB" */ ++41, /* "SHA" */ ++64, /* "SHA1" */ ++675, /* "SHA224" */ ++672, /* "SHA256" */ ++673, /* "SHA384" */ ++674, /* "SHA512" */ ++188, /* "SMIME" */ ++167, /* "SMIME-CAPS" */ ++100, /* "SN" */ ++16, /* "ST" */ ++143, /* "SXNetID" */ ++458, /* "UID" */ ++ 0, /* "UNDEF" */ ++11, /* "X500" */ ++378, /* "X500algorithms" */ ++12, /* "X509" */ ++184, /* "X9-57" */ ++185, /* "X9cm" */ ++125, /* "ZLIB" */ ++478, /* "aRecord" */ ++289, /* "aaControls" */ ++287, /* "ac-auditEntity" */ ++397, /* "ac-proxying" */ ++288, /* "ac-targeting" */ ++368, /* "acceptableResponses" */ ++446, /* "account" */ ++363, /* "ad_timestamping" */ ++376, /* "algorithm" */ ++405, /* "ansi-X9-62" */ ++910, /* "anyExtendedKeyUsage" */ ++746, /* "anyPolicy" */ ++370, /* "archiveCutoff" */ ++484, /* "associatedDomain" */ ++485, /* "associatedName" */ ++501, /* "audio" */ ++177, /* "authorityInfoAccess" */ ++90, /* "authorityKeyIdentifier" */ ++882, /* "authorityRevocationList" */ ++87, /* "basicConstraints" */ ++365, /* "basicOCSPResponse" */ ++285, /* "biometricInfo" */ ++921, /* "brainpool" */ ++922, /* "brainpoolP160r1" */ ++923, /* "brainpoolP160t1" */ ++924, /* "brainpoolP192r1" */ ++925, /* "brainpoolP192t1" */ ++926, /* "brainpoolP224r1" */ ++927, /* "brainpoolP224t1" */ ++928, /* "brainpoolP256r1" */ ++929, /* "brainpoolP256t1" */ ++930, /* "brainpoolP320r1" */ ++931, /* "brainpoolP320t1" */ ++932, /* "brainpoolP384r1" */ ++933, /* "brainpoolP384t1" */ ++934, /* "brainpoolP512r1" */ ++935, /* "brainpoolP512t1" */ ++494, /* "buildingName" */ ++860, /* "businessCategory" */ ++691, /* "c2onb191v4" */ ++692, /* "c2onb191v5" */ ++697, /* "c2onb239v4" */ ++698, /* "c2onb239v5" */ ++684, /* "c2pnb163v1" */ ++685, /* "c2pnb163v2" */ ++686, /* "c2pnb163v3" */ ++687, /* "c2pnb176v1" */ ++693, /* "c2pnb208w1" */ ++699, /* "c2pnb272w1" */ ++700, /* "c2pnb304w1" */ ++702, /* "c2pnb368w1" */ ++688, /* "c2tnb191v1" */ ++689, /* "c2tnb191v2" */ ++690, /* "c2tnb191v3" */ ++694, /* "c2tnb239v1" */ ++695, /* "c2tnb239v2" */ ++696, /* "c2tnb239v3" */ ++701, /* "c2tnb359v1" */ ++703, /* "c2tnb431r1" */ ++881, /* "cACertificate" */ ++483, /* "cNAMERecord" */ ++179, /* "caIssuers" */ ++785, /* "caRepository" */ ++443, /* "caseIgnoreIA5StringSyntax" */ ++152, /* "certBag" */ ++677, /* "certicom-arc" */ ++771, /* "certificateIssuer" */ ++89, /* "certificatePolicies" */ ++883, /* "certificateRevocationList" */ ++54, /* "challengePassword" */ ++407, /* "characteristic-two-field" */ ++395, /* "clearance" */ ++130, /* "clientAuth" */ ++131, /* "codeSigning" */ ++50, /* "contentType" */ ++53, /* "countersignature" */ ++153, /* "crlBag" */ ++103, /* "crlDistributionPoints" */ ++88, /* "crlNumber" */ ++884, /* "crossCertificatePair" */ ++806, /* "cryptocom" */ ++805, /* "cryptopro" */ ++500, /* "dITRedirect" */ ++451, /* "dNSDomain" */ ++495, /* "dSAQuality" */ ++434, /* "data" */ ++390, /* "dcobject" */ ++140, /* "deltaCRL" */ ++891, /* "deltaRevocationList" */ ++107, /* "description" */ ++871, /* "destinationIndicator" */ ++28, /* "dhKeyAgreement" */ ++382, /* "directory" */ ++887, /* "distinguishedName" */ ++892, /* "dmdName" */ ++174, /* "dnQualifier" */ ++447, /* "document" */ ++471, /* "documentAuthor" */ ++468, /* "documentIdentifier" */ ++472, /* "documentLocation" */ ++502, /* "documentPublisher" */ ++449, /* "documentSeries" */ ++469, /* "documentTitle" */ ++470, /* "documentVersion" */ ++392, /* "domain" */ ++452, /* "domainRelatedObject" */ ++802, /* "dsa_with_SHA224" */ ++803, /* "dsa_with_SHA256" */ ++791, /* "ecdsa-with-Recommended" */ ++416, /* "ecdsa-with-SHA1" */ ++793, /* "ecdsa-with-SHA224" */ ++794, /* "ecdsa-with-SHA256" */ ++795, /* "ecdsa-with-SHA384" */ ++796, /* "ecdsa-with-SHA512" */ ++792, /* "ecdsa-with-Specified" */ ++48, /* "emailAddress" */ ++132, /* "emailProtection" */ ++885, /* "enhancedSearchGuide" */ ++389, /* "enterprises" */ ++384, /* "experimental" */ ++172, /* "extReq" */ ++56, /* "extendedCertificateAttributes" */ ++126, /* "extendedKeyUsage" */ ++372, /* "extendedStatus" */ ++867, /* "facsimileTelephoneNumber" */ ++462, /* "favouriteDrink" */ ++857, /* "freshestCRL" */ ++453, /* "friendlyCountry" */ ++490, /* "friendlyCountryName" */ ++156, /* "friendlyName" */ ++509, /* "generationQualifier" */ ++815, /* "gost-mac" */ ++811, /* "gost2001" */ ++851, /* "gost2001cc" */ ++813, /* "gost89" */ ++939, /* "gost89-cbc" */ ++814, /* "gost89-cnt" */ ++938, /* "gost89-ecb" */ ++812, /* "gost94" */ ++850, /* "gost94cc" */ ++797, /* "hmacWithMD5" */ ++163, /* "hmacWithSHA1" */ ++798, /* "hmacWithSHA224" */ ++799, /* "hmacWithSHA256" */ ++800, /* "hmacWithSHA384" */ ++801, /* "hmacWithSHA512" */ ++432, /* "holdInstructionCallIssuer" */ ++430, /* "holdInstructionCode" */ ++431, /* "holdInstructionNone" */ ++433, /* "holdInstructionReject" */ ++486, /* "homePostalAddress" */ ++473, /* "homeTelephoneNumber" */ ++466, /* "host" */ ++889, /* "houseIdentifier" */ ++442, /* "iA5StringSyntax" */ ++783, /* "id-DHBasedMac" */ ++824, /* "id-Gost28147-89-CryptoPro-A-ParamSet" */ ++825, /* "id-Gost28147-89-CryptoPro-B-ParamSet" */ ++826, /* "id-Gost28147-89-CryptoPro-C-ParamSet" */ ++827, /* "id-Gost28147-89-CryptoPro-D-ParamSet" */ ++819, /* "id-Gost28147-89-CryptoPro-KeyMeshing" */ ++829, /* "id-Gost28147-89-CryptoPro-Oscar-1-0-ParamSet" */ ++828, /* "id-Gost28147-89-CryptoPro-Oscar-1-1-ParamSet" */ ++830, /* "id-Gost28147-89-CryptoPro-RIC-1-ParamSet" */ ++820, /* "id-Gost28147-89-None-KeyMeshing" */ ++823, /* "id-Gost28147-89-TestParamSet" */ ++849, /* "id-Gost28147-89-cc" */ ++840, /* "id-GostR3410-2001-CryptoPro-A-ParamSet" */ ++841, /* "id-GostR3410-2001-CryptoPro-B-ParamSet" */ ++842, /* "id-GostR3410-2001-CryptoPro-C-ParamSet" */ ++843, /* "id-GostR3410-2001-CryptoPro-XchA-ParamSet" */ ++844, /* "id-GostR3410-2001-CryptoPro-XchB-ParamSet" */ ++854, /* "id-GostR3410-2001-ParamSet-cc" */ ++839, /* "id-GostR3410-2001-TestParamSet" */ ++817, /* "id-GostR3410-2001DH" */ ++832, /* "id-GostR3410-94-CryptoPro-A-ParamSet" */ ++833, /* "id-GostR3410-94-CryptoPro-B-ParamSet" */ ++834, /* "id-GostR3410-94-CryptoPro-C-ParamSet" */ ++835, /* "id-GostR3410-94-CryptoPro-D-ParamSet" */ ++836, /* "id-GostR3410-94-CryptoPro-XchA-ParamSet" */ ++837, /* "id-GostR3410-94-CryptoPro-XchB-ParamSet" */ ++838, /* "id-GostR3410-94-CryptoPro-XchC-ParamSet" */ ++831, /* "id-GostR3410-94-TestParamSet" */ ++845, /* "id-GostR3410-94-a" */ ++846, /* "id-GostR3410-94-aBis" */ ++847, /* "id-GostR3410-94-b" */ ++848, /* "id-GostR3410-94-bBis" */ ++818, /* "id-GostR3410-94DH" */ ++822, /* "id-GostR3411-94-CryptoProParamSet" */ ++821, /* "id-GostR3411-94-TestParamSet" */ ++807, /* "id-GostR3411-94-with-GostR3410-2001" */ ++853, /* "id-GostR3411-94-with-GostR3410-2001-cc" */ ++808, /* "id-GostR3411-94-with-GostR3410-94" */ ++852, /* "id-GostR3411-94-with-GostR3410-94-cc" */ ++810, /* "id-HMACGostR3411-94" */ ++782, /* "id-PasswordBasedMAC" */ ++266, /* "id-aca" */ ++355, /* "id-aca-accessIdentity" */ ++354, /* "id-aca-authenticationInfo" */ ++356, /* "id-aca-chargingIdentity" */ ++399, /* "id-aca-encAttrs" */ ++357, /* "id-aca-group" */ ++358, /* "id-aca-role" */ ++176, /* "id-ad" */ ++896, /* "id-aes128-CCM" */ ++895, /* "id-aes128-GCM" */ ++788, /* "id-aes128-wrap" */ ++897, /* "id-aes128-wrap-pad" */ ++899, /* "id-aes192-CCM" */ ++898, /* "id-aes192-GCM" */ ++789, /* "id-aes192-wrap" */ ++900, /* "id-aes192-wrap-pad" */ ++902, /* "id-aes256-CCM" */ ++901, /* "id-aes256-GCM" */ ++790, /* "id-aes256-wrap" */ ++903, /* "id-aes256-wrap-pad" */ ++262, /* "id-alg" */ ++893, /* "id-alg-PWRI-KEK" */ ++323, /* "id-alg-des40" */ ++326, /* "id-alg-dh-pop" */ ++325, /* "id-alg-dh-sig-hmac-sha1" */ ++324, /* "id-alg-noSignature" */ ++907, /* "id-camellia128-wrap" */ ++908, /* "id-camellia192-wrap" */ ++909, /* "id-camellia256-wrap" */ ++268, /* "id-cct" */ ++361, /* "id-cct-PKIData" */ ++362, /* "id-cct-PKIResponse" */ ++360, /* "id-cct-crs" */ ++81, /* "id-ce" */ ++680, /* "id-characteristic-two-basis" */ ++263, /* "id-cmc" */ ++334, /* "id-cmc-addExtensions" */ ++346, /* "id-cmc-confirmCertAcceptance" */ ++330, /* "id-cmc-dataReturn" */ ++336, /* "id-cmc-decryptedPOP" */ ++335, /* "id-cmc-encryptedPOP" */ ++339, /* "id-cmc-getCRL" */ ++338, /* "id-cmc-getCert" */ ++328, /* "id-cmc-identification" */ ++329, /* "id-cmc-identityProof" */ ++337, /* "id-cmc-lraPOPWitness" */ ++344, /* "id-cmc-popLinkRandom" */ ++345, /* "id-cmc-popLinkWitness" */ ++343, /* "id-cmc-queryPending" */ ++333, /* "id-cmc-recipientNonce" */ ++341, /* "id-cmc-regInfo" */ ++342, /* "id-cmc-responseInfo" */ ++340, /* "id-cmc-revokeRequest" */ ++332, /* "id-cmc-senderNonce" */ ++327, /* "id-cmc-statusInfo" */ ++331, /* "id-cmc-transactionId" */ ++787, /* "id-ct-asciiTextWithCRLF" */ ++408, /* "id-ecPublicKey" */ ++508, /* "id-hex-multipart-message" */ ++507, /* "id-hex-partial-message" */ ++260, /* "id-it" */ ++302, /* "id-it-caKeyUpdateInfo" */ ++298, /* "id-it-caProtEncCert" */ ++311, /* "id-it-confirmWaitTime" */ ++303, /* "id-it-currentCRL" */ ++300, /* "id-it-encKeyPairTypes" */ ++310, /* "id-it-implicitConfirm" */ ++308, /* "id-it-keyPairParamRep" */ ++307, /* "id-it-keyPairParamReq" */ ++312, /* "id-it-origPKIMessage" */ ++301, /* "id-it-preferredSymmAlg" */ ++309, /* "id-it-revPassphrase" */ ++299, /* "id-it-signKeyPairTypes" */ ++305, /* "id-it-subscriptionRequest" */ ++306, /* "id-it-subscriptionResponse" */ ++784, /* "id-it-suppLangTags" */ ++304, /* "id-it-unsupportedOIDs" */ ++128, /* "id-kp" */ ++280, /* "id-mod-attribute-cert" */ ++274, /* "id-mod-cmc" */ ++277, /* "id-mod-cmp" */ ++284, /* "id-mod-cmp2000" */ ++273, /* "id-mod-crmf" */ ++283, /* "id-mod-dvcs" */ ++275, /* "id-mod-kea-profile-88" */ ++276, /* "id-mod-kea-profile-93" */ ++282, /* "id-mod-ocsp" */ ++278, /* "id-mod-qualified-cert-88" */ ++279, /* "id-mod-qualified-cert-93" */ ++281, /* "id-mod-timestamp-protocol" */ ++264, /* "id-on" */ ++858, /* "id-on-permanentIdentifier" */ ++347, /* "id-on-personalData" */ ++265, /* "id-pda" */ ++352, /* "id-pda-countryOfCitizenship" */ ++353, /* "id-pda-countryOfResidence" */ ++348, /* "id-pda-dateOfBirth" */ ++351, /* "id-pda-gender" */ ++349, /* "id-pda-placeOfBirth" */ ++175, /* "id-pe" */ ++261, /* "id-pkip" */ ++258, /* "id-pkix-mod" */ ++269, /* "id-pkix1-explicit-88" */ ++271, /* "id-pkix1-explicit-93" */ ++270, /* "id-pkix1-implicit-88" */ ++272, /* "id-pkix1-implicit-93" */ ++662, /* "id-ppl" */ ++664, /* "id-ppl-anyLanguage" */ ++667, /* "id-ppl-independent" */ ++665, /* "id-ppl-inheritAll" */ ++267, /* "id-qcs" */ ++359, /* "id-qcs-pkixQCSyntax-v1" */ ++259, /* "id-qt" */ ++164, /* "id-qt-cps" */ ++165, /* "id-qt-unotice" */ ++313, /* "id-regCtrl" */ ++316, /* "id-regCtrl-authenticator" */ ++319, /* "id-regCtrl-oldCertID" */ ++318, /* "id-regCtrl-pkiArchiveOptions" */ ++317, /* "id-regCtrl-pkiPublicationInfo" */ ++320, /* "id-regCtrl-protocolEncrKey" */ ++315, /* "id-regCtrl-regToken" */ ++314, /* "id-regInfo" */ ++322, /* "id-regInfo-certReq" */ ++321, /* "id-regInfo-utf8Pairs" */ ++512, /* "id-set" */ ++191, /* "id-smime-aa" */ ++215, /* "id-smime-aa-contentHint" */ ++218, /* "id-smime-aa-contentIdentifier" */ ++221, /* "id-smime-aa-contentReference" */ ++240, /* "id-smime-aa-dvcs-dvc" */ ++217, /* "id-smime-aa-encapContentType" */ ++222, /* "id-smime-aa-encrypKeyPref" */ ++220, /* "id-smime-aa-equivalentLabels" */ ++232, /* "id-smime-aa-ets-CertificateRefs" */ ++233, /* "id-smime-aa-ets-RevocationRefs" */ ++238, /* "id-smime-aa-ets-archiveTimeStamp" */ ++237, /* "id-smime-aa-ets-certCRLTimestamp" */ ++234, /* "id-smime-aa-ets-certValues" */ ++227, /* "id-smime-aa-ets-commitmentType" */ ++231, /* "id-smime-aa-ets-contentTimestamp" */ ++236, /* "id-smime-aa-ets-escTimeStamp" */ ++230, /* "id-smime-aa-ets-otherSigCert" */ ++235, /* "id-smime-aa-ets-revocationValues" */ ++226, /* "id-smime-aa-ets-sigPolicyId" */ ++229, /* "id-smime-aa-ets-signerAttr" */ ++228, /* "id-smime-aa-ets-signerLocation" */ ++219, /* "id-smime-aa-macValue" */ ++214, /* "id-smime-aa-mlExpandHistory" */ ++216, /* "id-smime-aa-msgSigDigest" */ ++212, /* "id-smime-aa-receiptRequest" */ ++213, /* "id-smime-aa-securityLabel" */ ++239, /* "id-smime-aa-signatureType" */ ++223, /* "id-smime-aa-signingCertificate" */ ++224, /* "id-smime-aa-smimeEncryptCerts" */ ++225, /* "id-smime-aa-timeStampToken" */ ++192, /* "id-smime-alg" */ ++243, /* "id-smime-alg-3DESwrap" */ ++246, /* "id-smime-alg-CMS3DESwrap" */ ++247, /* "id-smime-alg-CMSRC2wrap" */ ++245, /* "id-smime-alg-ESDH" */ ++241, /* "id-smime-alg-ESDHwith3DES" */ ++242, /* "id-smime-alg-ESDHwithRC2" */ ++244, /* "id-smime-alg-RC2wrap" */ ++193, /* "id-smime-cd" */ ++248, /* "id-smime-cd-ldap" */ ++190, /* "id-smime-ct" */ ++210, /* "id-smime-ct-DVCSRequestData" */ ++211, /* "id-smime-ct-DVCSResponseData" */ ++208, /* "id-smime-ct-TDTInfo" */ ++207, /* "id-smime-ct-TSTInfo" */ ++205, /* "id-smime-ct-authData" */ ++786, /* "id-smime-ct-compressedData" */ ++209, /* "id-smime-ct-contentInfo" */ ++206, /* "id-smime-ct-publishCert" */ ++204, /* "id-smime-ct-receipt" */ ++195, /* "id-smime-cti" */ ++255, /* "id-smime-cti-ets-proofOfApproval" */ ++256, /* "id-smime-cti-ets-proofOfCreation" */ ++253, /* "id-smime-cti-ets-proofOfDelivery" */ ++251, /* "id-smime-cti-ets-proofOfOrigin" */ ++252, /* "id-smime-cti-ets-proofOfReceipt" */ ++254, /* "id-smime-cti-ets-proofOfSender" */ ++189, /* "id-smime-mod" */ ++196, /* "id-smime-mod-cms" */ ++197, /* "id-smime-mod-ess" */ ++202, /* "id-smime-mod-ets-eSigPolicy-88" */ ++203, /* "id-smime-mod-ets-eSigPolicy-97" */ ++200, /* "id-smime-mod-ets-eSignature-88" */ ++201, /* "id-smime-mod-ets-eSignature-97" */ ++199, /* "id-smime-mod-msg-v3" */ ++198, /* "id-smime-mod-oid" */ ++194, /* "id-smime-spq" */ ++250, /* "id-smime-spq-ets-sqt-unotice" */ ++249, /* "id-smime-spq-ets-sqt-uri" */ ++945, /* "id-tc26-gost-28147-param-Z" */ ++943, /* "id-tc26-gost-3410-2012-512-paramSetA" */ ++944, /* "id-tc26-gost-3410-2012-512-paramSetB" */ ++946, /* "id-tc26-gost3410-2012-256" */ ++947, /* "id-tc26-gost3410-2012-512" */ ++948, /* "id-tc26-signwithdigest-gost3410-2012-256" */ ++949, /* "id-tc26-signwithdigest-gost3410-2012-512" */ ++676, /* "identified-organization" */ ++461, /* "info" */ ++748, /* "inhibitAnyPolicy" */ ++101, /* "initials" */ ++647, /* "international-organizations" */ ++869, /* "internationaliSDNNumber" */ ++142, /* "invalidityDate" */ ++294, /* "ipsecEndSystem" */ ++295, /* "ipsecTunnel" */ ++296, /* "ipsecUser" */ ++86, /* "issuerAltName" */ ++770, /* "issuingDistributionPoint" */ ++492, /* "janetMailbox" */ ++150, /* "keyBag" */ ++83, /* "keyUsage" */ ++477, /* "lastModifiedBy" */ ++476, /* "lastModifiedTime" */ ++157, /* "localKeyID" */ ++480, /* "mXRecord" */ ++460, /* "mail" */ ++493, /* "mailPreferenceOption" */ ++467, /* "manager" */ ++809, /* "md_gost94" */ ++875, /* "member" */ ++182, /* "member-body" */ ++51, /* "messageDigest" */ ++383, /* "mgmt" */ ++504, /* "mime-mhs" */ ++506, /* "mime-mhs-bodies" */ ++505, /* "mime-mhs-headings" */ ++488, /* "mobileTelephoneNumber" */ ++136, /* "msCTLSign" */ ++135, /* "msCodeCom" */ ++134, /* "msCodeInd" */ ++138, /* "msEFS" */ ++171, /* "msExtReq" */ ++137, /* "msSGC" */ ++648, /* "msSmartcardLogin" */ ++649, /* "msUPN" */ ++481, /* "nSRecord" */ ++173, /* "name" */ ++666, /* "nameConstraints" */ ++369, /* "noCheck" */ ++403, /* "noRevAvail" */ ++72, /* "nsBaseUrl" */ ++76, /* "nsCaPolicyUrl" */ ++74, /* "nsCaRevocationUrl" */ ++58, /* "nsCertExt" */ ++79, /* "nsCertSequence" */ ++71, /* "nsCertType" */ ++78, /* "nsComment" */ ++59, /* "nsDataType" */ ++75, /* "nsRenewalUrl" */ ++73, /* "nsRevocationUrl" */ ++139, /* "nsSGC" */ ++77, /* "nsSslServerName" */ ++681, /* "onBasis" */ ++491, /* "organizationalStatus" */ ++475, /* "otherMailbox" */ ++876, /* "owner" */ ++489, /* "pagerTelephoneNumber" */ ++374, /* "path" */ ++112, /* "pbeWithMD5AndCast5CBC" */ ++499, /* "personalSignature" */ ++487, /* "personalTitle" */ ++464, /* "photo" */ ++863, /* "physicalDeliveryOfficeName" */ ++437, /* "pilot" */ ++439, /* "pilotAttributeSyntax" */ ++438, /* "pilotAttributeType" */ ++479, /* "pilotAttributeType27" */ ++456, /* "pilotDSA" */ ++441, /* "pilotGroups" */ ++444, /* "pilotObject" */ ++440, /* "pilotObjectClass" */ ++455, /* "pilotOrganization" */ ++445, /* "pilotPerson" */ ++ 2, /* "pkcs" */ ++186, /* "pkcs1" */ ++27, /* "pkcs3" */ ++187, /* "pkcs5" */ ++20, /* "pkcs7" */ ++21, /* "pkcs7-data" */ ++25, /* "pkcs7-digestData" */ ++26, /* "pkcs7-encryptedData" */ ++23, /* "pkcs7-envelopedData" */ ++24, /* "pkcs7-signedAndEnvelopedData" */ ++22, /* "pkcs7-signedData" */ ++151, /* "pkcs8ShroudedKeyBag" */ ++47, /* "pkcs9" */ ++401, /* "policyConstraints" */ ++747, /* "policyMappings" */ ++862, /* "postOfficeBox" */ ++861, /* "postalAddress" */ ++661, /* "postalCode" */ ++683, /* "ppBasis" */ ++872, /* "preferredDeliveryMethod" */ ++873, /* "presentationAddress" */ ++816, /* "prf-gostr3411-94" */ ++406, /* "prime-field" */ ++409, /* "prime192v1" */ ++410, /* "prime192v2" */ ++411, /* "prime192v3" */ ++412, /* "prime239v1" */ ++413, /* "prime239v2" */ ++414, /* "prime239v3" */ ++415, /* "prime256v1" */ ++385, /* "private" */ ++84, /* "privateKeyUsagePeriod" */ ++886, /* "protocolInformation" */ ++663, /* "proxyCertInfo" */ ++510, /* "pseudonym" */ ++435, /* "pss" */ ++286, /* "qcStatements" */ ++457, /* "qualityLabelledData" */ ++450, /* "rFC822localPart" */ ++870, /* "registeredAddress" */ ++400, /* "role" */ ++877, /* "roleOccupant" */ ++448, /* "room" */ ++463, /* "roomNumber" */ ++ 6, /* "rsaEncryption" */ ++644, /* "rsaOAEPEncryptionSET" */ ++377, /* "rsaSignature" */ ++ 1, /* "rsadsi" */ ++482, /* "sOARecord" */ ++155, /* "safeContentsBag" */ ++291, /* "sbgp-autonomousSysNum" */ ++290, /* "sbgp-ipAddrBlock" */ ++292, /* "sbgp-routerIdentifier" */ ++159, /* "sdsiCertificate" */ ++859, /* "searchGuide" */ ++704, /* "secp112r1" */ ++705, /* "secp112r2" */ ++706, /* "secp128r1" */ ++707, /* "secp128r2" */ ++708, /* "secp160k1" */ ++709, /* "secp160r1" */ ++710, /* "secp160r2" */ ++711, /* "secp192k1" */ ++712, /* "secp224k1" */ ++713, /* "secp224r1" */ ++714, /* "secp256k1" */ ++715, /* "secp384r1" */ ++716, /* "secp521r1" */ ++154, /* "secretBag" */ ++474, /* "secretary" */ ++717, /* "sect113r1" */ ++718, /* "sect113r2" */ ++719, /* "sect131r1" */ ++720, /* "sect131r2" */ ++721, /* "sect163k1" */ ++722, /* "sect163r1" */ ++723, /* "sect163r2" */ ++724, /* "sect193r1" */ ++725, /* "sect193r2" */ ++726, /* "sect233k1" */ ++727, /* "sect233r1" */ ++728, /* "sect239k1" */ ++729, /* "sect283k1" */ ++730, /* "sect283r1" */ ++731, /* "sect409k1" */ ++732, /* "sect409r1" */ ++733, /* "sect571k1" */ ++734, /* "sect571r1" */ ++386, /* "security" */ ++878, /* "seeAlso" */ ++394, /* "selected-attribute-types" */ ++105, /* "serialNumber" */ ++129, /* "serverAuth" */ ++371, /* "serviceLocator" */ ++625, /* "set-addPolicy" */ ++515, /* "set-attr" */ ++518, /* "set-brand" */ ++638, /* "set-brand-AmericanExpress" */ ++637, /* "set-brand-Diners" */ ++636, /* "set-brand-IATA-ATA" */ ++639, /* "set-brand-JCB" */ ++641, /* "set-brand-MasterCard" */ ++642, /* "set-brand-Novus" */ ++640, /* "set-brand-Visa" */ ++517, /* "set-certExt" */ ++513, /* "set-ctype" */ ++514, /* "set-msgExt" */ ++516, /* "set-policy" */ ++607, /* "set-policy-root" */ ++624, /* "set-rootKeyThumb" */ ++620, /* "setAttr-Cert" */ ++631, /* "setAttr-GenCryptgrm" */ ++623, /* "setAttr-IssCap" */ ++628, /* "setAttr-IssCap-CVM" */ ++630, /* "setAttr-IssCap-Sig" */ ++629, /* "setAttr-IssCap-T2" */ ++621, /* "setAttr-PGWYcap" */ ++635, /* "setAttr-SecDevSig" */ ++632, /* "setAttr-T2Enc" */ ++633, /* "setAttr-T2cleartxt" */ ++634, /* "setAttr-TokICCsig" */ ++627, /* "setAttr-Token-B0Prime" */ ++626, /* "setAttr-Token-EMV" */ ++622, /* "setAttr-TokenType" */ ++619, /* "setCext-IssuerCapabilities" */ ++615, /* "setCext-PGWYcapabilities" */ ++616, /* "setCext-TokenIdentifier" */ ++618, /* "setCext-TokenType" */ ++617, /* "setCext-Track2Data" */ ++611, /* "setCext-cCertRequired" */ ++609, /* "setCext-certType" */ ++608, /* "setCext-hashedRoot" */ ++610, /* "setCext-merchData" */ ++613, /* "setCext-setExt" */ ++614, /* "setCext-setQualf" */ ++612, /* "setCext-tunneling" */ ++540, /* "setct-AcqCardCodeMsg" */ ++576, /* "setct-AcqCardCodeMsgTBE" */ ++570, /* "setct-AuthReqTBE" */ ++534, /* "setct-AuthReqTBS" */ ++527, /* "setct-AuthResBaggage" */ ++571, /* "setct-AuthResTBE" */ ++572, /* "setct-AuthResTBEX" */ ++535, /* "setct-AuthResTBS" */ ++536, /* "setct-AuthResTBSX" */ ++528, /* "setct-AuthRevReqBaggage" */ ++577, /* "setct-AuthRevReqTBE" */ ++541, /* "setct-AuthRevReqTBS" */ ++529, /* "setct-AuthRevResBaggage" */ ++542, /* "setct-AuthRevResData" */ ++578, /* "setct-AuthRevResTBE" */ ++579, /* "setct-AuthRevResTBEB" */ ++543, /* "setct-AuthRevResTBS" */ ++573, /* "setct-AuthTokenTBE" */ ++537, /* "setct-AuthTokenTBS" */ ++600, /* "setct-BCIDistributionTBS" */ ++558, /* "setct-BatchAdminReqData" */ ++592, /* "setct-BatchAdminReqTBE" */ ++559, /* "setct-BatchAdminResData" */ ++593, /* "setct-BatchAdminResTBE" */ ++599, /* "setct-CRLNotificationResTBS" */ ++598, /* "setct-CRLNotificationTBS" */ ++580, /* "setct-CapReqTBE" */ ++581, /* "setct-CapReqTBEX" */ ++544, /* "setct-CapReqTBS" */ ++545, /* "setct-CapReqTBSX" */ ++546, /* "setct-CapResData" */ ++582, /* "setct-CapResTBE" */ ++583, /* "setct-CapRevReqTBE" */ ++584, /* "setct-CapRevReqTBEX" */ ++547, /* "setct-CapRevReqTBS" */ ++548, /* "setct-CapRevReqTBSX" */ ++549, /* "setct-CapRevResData" */ ++585, /* "setct-CapRevResTBE" */ ++538, /* "setct-CapTokenData" */ ++530, /* "setct-CapTokenSeq" */ ++574, /* "setct-CapTokenTBE" */ ++575, /* "setct-CapTokenTBEX" */ ++539, /* "setct-CapTokenTBS" */ ++560, /* "setct-CardCInitResTBS" */ ++566, /* "setct-CertInqReqTBS" */ ++563, /* "setct-CertReqData" */ ++595, /* "setct-CertReqTBE" */ ++596, /* "setct-CertReqTBEX" */ ++564, /* "setct-CertReqTBS" */ ++565, /* "setct-CertResData" */ ++597, /* "setct-CertResTBE" */ ++586, /* "setct-CredReqTBE" */ ++587, /* "setct-CredReqTBEX" */ ++550, /* "setct-CredReqTBS" */ ++551, /* "setct-CredReqTBSX" */ ++552, /* "setct-CredResData" */ ++588, /* "setct-CredResTBE" */ ++589, /* "setct-CredRevReqTBE" */ ++590, /* "setct-CredRevReqTBEX" */ ++553, /* "setct-CredRevReqTBS" */ ++554, /* "setct-CredRevReqTBSX" */ ++555, /* "setct-CredRevResData" */ ++591, /* "setct-CredRevResTBE" */ ++567, /* "setct-ErrorTBS" */ ++526, /* "setct-HODInput" */ ++561, /* "setct-MeAqCInitResTBS" */ ++522, /* "setct-OIData" */ ++519, /* "setct-PANData" */ ++521, /* "setct-PANOnly" */ ++520, /* "setct-PANToken" */ ++556, /* "setct-PCertReqData" */ ++557, /* "setct-PCertResTBS" */ ++523, /* "setct-PI" */ ++532, /* "setct-PI-TBS" */ ++524, /* "setct-PIData" */ ++525, /* "setct-PIDataUnsigned" */ ++568, /* "setct-PIDualSignedTBE" */ ++569, /* "setct-PIUnsignedTBE" */ ++531, /* "setct-PInitResData" */ ++533, /* "setct-PResData" */ ++594, /* "setct-RegFormReqTBE" */ ++562, /* "setct-RegFormResTBS" */ ++606, /* "setext-cv" */ ++601, /* "setext-genCrypt" */ ++602, /* "setext-miAuth" */ ++604, /* "setext-pinAny" */ ++603, /* "setext-pinSecure" */ ++605, /* "setext-track2" */ ++52, /* "signingTime" */ ++454, /* "simpleSecurityObject" */ ++496, /* "singleLevelQuality" */ ++387, /* "snmpv2" */ ++941, /* "streebog256" */ ++942, /* "streebog512" */ ++660, /* "street" */ ++85, /* "subjectAltName" */ ++769, /* "subjectDirectoryAttributes" */ ++398, /* "subjectInfoAccess" */ ++82, /* "subjectKeyIdentifier" */ ++498, /* "subtreeMaximumQuality" */ ++497, /* "subtreeMinimumQuality" */ ++890, /* "supportedAlgorithms" */ ++874, /* "supportedApplicationContext" */ ++402, /* "targetInformation" */ ++940, /* "tc26" */ ++864, /* "telephoneNumber" */ ++866, /* "teletexTerminalIdentifier" */ ++920, /* "teletrust" */ ++865, /* "telexNumber" */ ++459, /* "textEncodedORAddress" */ ++293, /* "textNotice" */ ++133, /* "timeStamping" */ ++106, /* "title" */ ++682, /* "tpBasis" */ ++375, /* "trustRoot" */ ++436, /* "ucl" */ ++888, /* "uniqueMember" */ ++55, /* "unstructuredAddress" */ ++49, /* "unstructuredName" */ ++880, /* "userCertificate" */ ++465, /* "userClass" */ ++879, /* "userPassword" */ ++373, /* "valid" */ ++678, /* "wap" */ ++679, /* "wap-wsg" */ ++735, /* "wap-wsg-idm-ecid-wtls1" */ ++743, /* "wap-wsg-idm-ecid-wtls10" */ ++744, /* "wap-wsg-idm-ecid-wtls11" */ ++745, /* "wap-wsg-idm-ecid-wtls12" */ ++736, /* "wap-wsg-idm-ecid-wtls3" */ ++737, /* "wap-wsg-idm-ecid-wtls4" */ ++738, /* "wap-wsg-idm-ecid-wtls5" */ ++739, /* "wap-wsg-idm-ecid-wtls6" */ ++740, /* "wap-wsg-idm-ecid-wtls7" */ ++741, /* "wap-wsg-idm-ecid-wtls8" */ ++742, /* "wap-wsg-idm-ecid-wtls9" */ ++804, /* "whirlpool" */ ++868, /* "x121Address" */ ++503, /* "x500UniqueIdentifier" */ ++158, /* "x509Certificate" */ ++160, /* "x509Crl" */ ++}; ++ ++static const unsigned int ln_objs[NUM_LN]={ ++363, /* "AD Time Stamping" */ ++405, /* "ANSI X9.62" */ ++368, /* "Acceptable OCSP Responses" */ ++910, /* "Any Extended Key Usage" */ ++664, /* "Any language" */ ++177, /* "Authority Information Access" */ ++365, /* "Basic OCSP Response" */ ++285, /* "Biometric Info" */ ++179, /* "CA Issuers" */ ++785, /* "CA Repository" */ ++131, /* "Code Signing" */ ++783, /* "Diffie-Hellman based MAC" */ ++382, /* "Directory" */ ++392, /* "Domain" */ ++132, /* "E-mail Protection" */ ++389, /* "Enterprises" */ ++384, /* "Experimental" */ ++372, /* "Extended OCSP Status" */ ++172, /* "Extension Request" */ ++936, /* "FRP256v1" */ ++813, /* "GOST 28147-89" */ ++849, /* "GOST 28147-89 Cryptocom ParamSet" */ ++815, /* "GOST 28147-89 MAC" */ ++851, /* "GOST 34.10-2001 Cryptocom" */ ++850, /* "GOST 34.10-94 Cryptocom" */ ++942, /* "GOST R 34-11-2012 (512 bit)" */ ++811, /* "GOST R 34.10-2001" */ ++817, /* "GOST R 34.10-2001 DH" */ ++946, /* "GOST R 34.10-2012 (256 bit)" */ ++947, /* "GOST R 34.10-2012 (512 bit)" */ ++812, /* "GOST R 34.10-94" */ ++818, /* "GOST R 34.10-94 DH" */ ++941, /* "GOST R 34.11-2012 (256 bit)" */ ++948, /* "GOST R 34.11-2012 with GOST R 34.10-2012 (256 bit)" */ ++949, /* "GOST R 34.11-2012 with GOST R 34.10-2012 (512 bit)" */ ++809, /* "GOST R 34.11-94" */ ++816, /* "GOST R 34.11-94 PRF" */ ++807, /* "GOST R 34.11-94 with GOST R 34.10-2001" */ ++853, /* "GOST R 34.11-94 with GOST R 34.10-2001 Cryptocom" */ ++808, /* "GOST R 34.11-94 with GOST R 34.10-94" */ ++852, /* "GOST R 34.11-94 with GOST R 34.10-94 Cryptocom" */ ++854, /* "GOST R 3410-2001 Parameter Set Cryptocom" */ ++810, /* "HMAC GOST 34.11-94" */ ++432, /* "Hold Instruction Call Issuer" */ ++430, /* "Hold Instruction Code" */ ++431, /* "Hold Instruction None" */ ++433, /* "Hold Instruction Reject" */ ++634, /* "ICC or token signature" */ ++294, /* "IPSec End System" */ ++295, /* "IPSec Tunnel" */ ++296, /* "IPSec User" */ ++182, /* "ISO Member Body" */ ++183, /* "ISO US Member Body" */ ++667, /* "Independent" */ ++665, /* "Inherit all" */ ++647, /* "International Organizations" */ ++142, /* "Invalidity Date" */ ++504, /* "MIME MHS" */ ++388, /* "Mail" */ ++383, /* "Management" */ ++417, /* "Microsoft CSP Name" */ ++135, /* "Microsoft Commercial Code Signing" */ ++138, /* "Microsoft Encrypted File System" */ ++171, /* "Microsoft Extension Request" */ ++134, /* "Microsoft Individual Code Signing" */ ++856, /* "Microsoft Local Key set" */ ++137, /* "Microsoft Server Gated Crypto" */ ++648, /* "Microsoft Smartcardlogin" */ ++136, /* "Microsoft Trust List Signing" */ ++649, /* "Microsoft Universal Principal Name" */ ++393, /* "NULL" */ ++404, /* "NULL" */ ++72, /* "Netscape Base Url" */ ++76, /* "Netscape CA Policy Url" */ ++74, /* "Netscape CA Revocation Url" */ ++71, /* "Netscape Cert Type" */ ++58, /* "Netscape Certificate Extension" */ ++79, /* "Netscape Certificate Sequence" */ ++78, /* "Netscape Comment" */ ++57, /* "Netscape Communications Corp." */ ++59, /* "Netscape Data Type" */ ++75, /* "Netscape Renewal Url" */ ++73, /* "Netscape Revocation Url" */ ++77, /* "Netscape SSL Server Name" */ ++139, /* "Netscape Server Gated Crypto" */ ++178, /* "OCSP" */ ++370, /* "OCSP Archive Cutoff" */ ++367, /* "OCSP CRL ID" */ ++369, /* "OCSP No Check" */ ++366, /* "OCSP Nonce" */ ++371, /* "OCSP Service Locator" */ ++180, /* "OCSP Signing" */ ++161, /* "PBES2" */ ++69, /* "PBKDF2" */ ++162, /* "PBMAC1" */ ++127, /* "PKIX" */ ++858, /* "Permanent Identifier" */ ++164, /* "Policy Qualifier CPS" */ ++165, /* "Policy Qualifier User Notice" */ ++385, /* "Private" */ ++663, /* "Proxy Certificate Information" */ ++ 1, /* "RSA Data Security, Inc." */ ++ 2, /* "RSA Data Security, Inc. PKCS" */ ++188, /* "S/MIME" */ ++167, /* "S/MIME Capabilities" */ ++387, /* "SNMPv2" */ ++512, /* "Secure Electronic Transactions" */ ++386, /* "Security" */ ++394, /* "Selected Attribute Types" */ ++143, /* "Strong Extranet ID" */ ++398, /* "Subject Information Access" */ ++130, /* "TLS Web Client Authentication" */ ++129, /* "TLS Web Server Authentication" */ ++133, /* "Time Stamping" */ ++375, /* "Trust Root" */ ++12, /* "X509" */ ++402, /* "X509v3 AC Targeting" */ ++746, /* "X509v3 Any Policy" */ ++90, /* "X509v3 Authority Key Identifier" */ ++87, /* "X509v3 Basic Constraints" */ ++103, /* "X509v3 CRL Distribution Points" */ ++88, /* "X509v3 CRL Number" */ ++141, /* "X509v3 CRL Reason Code" */ ++771, /* "X509v3 Certificate Issuer" */ ++89, /* "X509v3 Certificate Policies" */ ++140, /* "X509v3 Delta CRL Indicator" */ ++126, /* "X509v3 Extended Key Usage" */ ++857, /* "X509v3 Freshest CRL" */ ++748, /* "X509v3 Inhibit Any Policy" */ ++86, /* "X509v3 Issuer Alternative Name" */ ++770, /* "X509v3 Issuing Distrubution Point" */ ++83, /* "X509v3 Key Usage" */ ++666, /* "X509v3 Name Constraints" */ ++403, /* "X509v3 No Revocation Available" */ ++401, /* "X509v3 Policy Constraints" */ ++747, /* "X509v3 Policy Mappings" */ ++84, /* "X509v3 Private Key Usage Period" */ ++85, /* "X509v3 Subject Alternative Name" */ ++769, /* "X509v3 Subject Directory Attributes" */ ++82, /* "X509v3 Subject Key Identifier" */ ++184, /* "X9.57" */ ++185, /* "X9.57 CM ?" */ ++478, /* "aRecord" */ ++289, /* "aaControls" */ ++287, /* "ac-auditEntity" */ ++397, /* "ac-proxying" */ ++288, /* "ac-targeting" */ ++446, /* "account" */ ++364, /* "ad dvcs" */ ++606, /* "additional verification" */ ++419, /* "aes-128-cbc" */ ++916, /* "aes-128-cbc-hmac-sha1" */ ++896, /* "aes-128-ccm" */ ++421, /* "aes-128-cfb" */ ++650, /* "aes-128-cfb1" */ ++653, /* "aes-128-cfb8" */ ++904, /* "aes-128-ctr" */ ++418, /* "aes-128-ecb" */ ++895, /* "aes-128-gcm" */ ++420, /* "aes-128-ofb" */ ++913, /* "aes-128-xts" */ ++423, /* "aes-192-cbc" */ ++917, /* "aes-192-cbc-hmac-sha1" */ ++899, /* "aes-192-ccm" */ ++425, /* "aes-192-cfb" */ ++651, /* "aes-192-cfb1" */ ++654, /* "aes-192-cfb8" */ ++905, /* "aes-192-ctr" */ ++422, /* "aes-192-ecb" */ ++898, /* "aes-192-gcm" */ ++424, /* "aes-192-ofb" */ ++427, /* "aes-256-cbc" */ ++918, /* "aes-256-cbc-hmac-sha1" */ ++902, /* "aes-256-ccm" */ ++429, /* "aes-256-cfb" */ ++652, /* "aes-256-cfb1" */ ++655, /* "aes-256-cfb8" */ ++906, /* "aes-256-ctr" */ ++426, /* "aes-256-ecb" */ ++901, /* "aes-256-gcm" */ ++428, /* "aes-256-ofb" */ ++914, /* "aes-256-xts" */ ++376, /* "algorithm" */ ++484, /* "associatedDomain" */ ++485, /* "associatedName" */ ++501, /* "audio" */ ++882, /* "authorityRevocationList" */ ++91, /* "bf-cbc" */ ++93, /* "bf-cfb" */ ++92, /* "bf-ecb" */ ++94, /* "bf-ofb" */ ++921, /* "brainpool" */ ++922, /* "brainpoolP160r1" */ ++923, /* "brainpoolP160t1" */ ++924, /* "brainpoolP192r1" */ ++925, /* "brainpoolP192t1" */ ++926, /* "brainpoolP224r1" */ ++927, /* "brainpoolP224t1" */ ++928, /* "brainpoolP256r1" */ ++929, /* "brainpoolP256t1" */ ++930, /* "brainpoolP320r1" */ ++931, /* "brainpoolP320t1" */ ++932, /* "brainpoolP384r1" */ ++933, /* "brainpoolP384t1" */ ++934, /* "brainpoolP512r1" */ ++935, /* "brainpoolP512t1" */ ++494, /* "buildingName" */ ++860, /* "businessCategory" */ ++691, /* "c2onb191v4" */ ++692, /* "c2onb191v5" */ ++697, /* "c2onb239v4" */ ++698, /* "c2onb239v5" */ ++684, /* "c2pnb163v1" */ ++685, /* "c2pnb163v2" */ ++686, /* "c2pnb163v3" */ ++687, /* "c2pnb176v1" */ ++693, /* "c2pnb208w1" */ ++699, /* "c2pnb272w1" */ ++700, /* "c2pnb304w1" */ ++702, /* "c2pnb368w1" */ ++688, /* "c2tnb191v1" */ ++689, /* "c2tnb191v2" */ ++690, /* "c2tnb191v3" */ ++694, /* "c2tnb239v1" */ ++695, /* "c2tnb239v2" */ ++696, /* "c2tnb239v3" */ ++701, /* "c2tnb359v1" */ ++703, /* "c2tnb431r1" */ ++881, /* "cACertificate" */ ++483, /* "cNAMERecord" */ ++751, /* "camellia-128-cbc" */ ++757, /* "camellia-128-cfb" */ ++760, /* "camellia-128-cfb1" */ ++763, /* "camellia-128-cfb8" */ ++754, /* "camellia-128-ecb" */ ++766, /* "camellia-128-ofb" */ ++752, /* "camellia-192-cbc" */ ++758, /* "camellia-192-cfb" */ ++761, /* "camellia-192-cfb1" */ ++764, /* "camellia-192-cfb8" */ ++755, /* "camellia-192-ecb" */ ++767, /* "camellia-192-ofb" */ ++753, /* "camellia-256-cbc" */ ++759, /* "camellia-256-cfb" */ ++762, /* "camellia-256-cfb1" */ ++765, /* "camellia-256-cfb8" */ ++756, /* "camellia-256-ecb" */ ++768, /* "camellia-256-ofb" */ ++443, /* "caseIgnoreIA5StringSyntax" */ ++108, /* "cast5-cbc" */ ++110, /* "cast5-cfb" */ ++109, /* "cast5-ecb" */ ++111, /* "cast5-ofb" */ ++152, /* "certBag" */ ++677, /* "certicom-arc" */ ++517, /* "certificate extensions" */ ++883, /* "certificateRevocationList" */ ++937, /* "chacha" */ ++54, /* "challengePassword" */ ++407, /* "characteristic-two-field" */ ++395, /* "clearance" */ ++633, /* "cleartext track 2" */ ++894, /* "cmac" */ ++13, /* "commonName" */ ++513, /* "content types" */ ++50, /* "contentType" */ ++53, /* "countersignature" */ ++14, /* "countryName" */ ++153, /* "crlBag" */ ++884, /* "crossCertificatePair" */ ++806, /* "cryptocom" */ ++805, /* "cryptopro" */ ++500, /* "dITRedirect" */ ++451, /* "dNSDomain" */ ++495, /* "dSAQuality" */ ++434, /* "data" */ ++390, /* "dcObject" */ ++891, /* "deltaRevocationList" */ ++31, /* "des-cbc" */ ++643, /* "des-cdmf" */ ++30, /* "des-cfb" */ ++656, /* "des-cfb1" */ ++657, /* "des-cfb8" */ ++29, /* "des-ecb" */ ++32, /* "des-ede" */ ++43, /* "des-ede-cbc" */ ++60, /* "des-ede-cfb" */ ++62, /* "des-ede-ofb" */ ++33, /* "des-ede3" */ ++44, /* "des-ede3-cbc" */ ++61, /* "des-ede3-cfb" */ ++658, /* "des-ede3-cfb1" */ ++659, /* "des-ede3-cfb8" */ ++63, /* "des-ede3-ofb" */ ++45, /* "des-ofb" */ ++107, /* "description" */ ++871, /* "destinationIndicator" */ ++80, /* "desx-cbc" */ ++28, /* "dhKeyAgreement" */ ++11, /* "directory services (X.500)" */ ++378, /* "directory services - algorithms" */ ++887, /* "distinguishedName" */ ++892, /* "dmdName" */ ++174, /* "dnQualifier" */ ++447, /* "document" */ ++471, /* "documentAuthor" */ ++468, /* "documentIdentifier" */ ++472, /* "documentLocation" */ ++502, /* "documentPublisher" */ ++449, /* "documentSeries" */ ++469, /* "documentTitle" */ ++470, /* "documentVersion" */ ++380, /* "dod" */ ++391, /* "domainComponent" */ ++452, /* "domainRelatedObject" */ ++116, /* "dsaEncryption" */ ++67, /* "dsaEncryption-old" */ ++66, /* "dsaWithSHA" */ ++113, /* "dsaWithSHA1" */ ++70, /* "dsaWithSHA1-old" */ ++802, /* "dsa_with_SHA224" */ ++803, /* "dsa_with_SHA256" */ ++297, /* "dvcs" */ ++791, /* "ecdsa-with-Recommended" */ ++416, /* "ecdsa-with-SHA1" */ ++793, /* "ecdsa-with-SHA224" */ ++794, /* "ecdsa-with-SHA256" */ ++795, /* "ecdsa-with-SHA384" */ ++796, /* "ecdsa-with-SHA512" */ ++792, /* "ecdsa-with-Specified" */ ++48, /* "emailAddress" */ ++632, /* "encrypted track 2" */ ++885, /* "enhancedSearchGuide" */ ++56, /* "extendedCertificateAttributes" */ ++867, /* "facsimileTelephoneNumber" */ ++462, /* "favouriteDrink" */ ++453, /* "friendlyCountry" */ ++490, /* "friendlyCountryName" */ ++156, /* "friendlyName" */ ++631, /* "generate cryptogram" */ ++509, /* "generationQualifier" */ ++601, /* "generic cryptogram" */ ++99, /* "givenName" */ ++939, /* "gost89-cbc" */ ++814, /* "gost89-cnt" */ ++938, /* "gost89-ecb" */ ++855, /* "hmac" */ ++780, /* "hmac-md5" */ ++781, /* "hmac-sha1" */ ++797, /* "hmacWithMD5" */ ++163, /* "hmacWithSHA1" */ ++798, /* "hmacWithSHA224" */ ++799, /* "hmacWithSHA256" */ ++800, /* "hmacWithSHA384" */ ++801, /* "hmacWithSHA512" */ ++486, /* "homePostalAddress" */ ++473, /* "homeTelephoneNumber" */ ++466, /* "host" */ ++889, /* "houseIdentifier" */ ++442, /* "iA5StringSyntax" */ ++381, /* "iana" */ ++824, /* "id-Gost28147-89-CryptoPro-A-ParamSet" */ ++825, /* "id-Gost28147-89-CryptoPro-B-ParamSet" */ ++826, /* "id-Gost28147-89-CryptoPro-C-ParamSet" */ ++827, /* "id-Gost28147-89-CryptoPro-D-ParamSet" */ ++819, /* "id-Gost28147-89-CryptoPro-KeyMeshing" */ ++829, /* "id-Gost28147-89-CryptoPro-Oscar-1-0-ParamSet" */ ++828, /* "id-Gost28147-89-CryptoPro-Oscar-1-1-ParamSet" */ ++830, /* "id-Gost28147-89-CryptoPro-RIC-1-ParamSet" */ ++820, /* "id-Gost28147-89-None-KeyMeshing" */ ++823, /* "id-Gost28147-89-TestParamSet" */ ++840, /* "id-GostR3410-2001-CryptoPro-A-ParamSet" */ ++841, /* "id-GostR3410-2001-CryptoPro-B-ParamSet" */ ++842, /* "id-GostR3410-2001-CryptoPro-C-ParamSet" */ ++843, /* "id-GostR3410-2001-CryptoPro-XchA-ParamSet" */ ++844, /* "id-GostR3410-2001-CryptoPro-XchB-ParamSet" */ ++839, /* "id-GostR3410-2001-TestParamSet" */ ++832, /* "id-GostR3410-94-CryptoPro-A-ParamSet" */ ++833, /* "id-GostR3410-94-CryptoPro-B-ParamSet" */ ++834, /* "id-GostR3410-94-CryptoPro-C-ParamSet" */ ++835, /* "id-GostR3410-94-CryptoPro-D-ParamSet" */ ++836, /* "id-GostR3410-94-CryptoPro-XchA-ParamSet" */ ++837, /* "id-GostR3410-94-CryptoPro-XchB-ParamSet" */ ++838, /* "id-GostR3410-94-CryptoPro-XchC-ParamSet" */ ++831, /* "id-GostR3410-94-TestParamSet" */ ++845, /* "id-GostR3410-94-a" */ ++846, /* "id-GostR3410-94-aBis" */ ++847, /* "id-GostR3410-94-b" */ ++848, /* "id-GostR3410-94-bBis" */ ++822, /* "id-GostR3411-94-CryptoProParamSet" */ ++821, /* "id-GostR3411-94-TestParamSet" */ ++266, /* "id-aca" */ ++355, /* "id-aca-accessIdentity" */ ++354, /* "id-aca-authenticationInfo" */ ++356, /* "id-aca-chargingIdentity" */ ++399, /* "id-aca-encAttrs" */ ++357, /* "id-aca-group" */ ++358, /* "id-aca-role" */ ++176, /* "id-ad" */ ++788, /* "id-aes128-wrap" */ ++897, /* "id-aes128-wrap-pad" */ ++789, /* "id-aes192-wrap" */ ++900, /* "id-aes192-wrap-pad" */ ++790, /* "id-aes256-wrap" */ ++903, /* "id-aes256-wrap-pad" */ ++262, /* "id-alg" */ ++893, /* "id-alg-PWRI-KEK" */ ++323, /* "id-alg-des40" */ ++326, /* "id-alg-dh-pop" */ ++325, /* "id-alg-dh-sig-hmac-sha1" */ ++324, /* "id-alg-noSignature" */ ++907, /* "id-camellia128-wrap" */ ++908, /* "id-camellia192-wrap" */ ++909, /* "id-camellia256-wrap" */ ++268, /* "id-cct" */ ++361, /* "id-cct-PKIData" */ ++362, /* "id-cct-PKIResponse" */ ++360, /* "id-cct-crs" */ ++81, /* "id-ce" */ ++680, /* "id-characteristic-two-basis" */ ++263, /* "id-cmc" */ ++334, /* "id-cmc-addExtensions" */ ++346, /* "id-cmc-confirmCertAcceptance" */ ++330, /* "id-cmc-dataReturn" */ ++336, /* "id-cmc-decryptedPOP" */ ++335, /* "id-cmc-encryptedPOP" */ ++339, /* "id-cmc-getCRL" */ ++338, /* "id-cmc-getCert" */ ++328, /* "id-cmc-identification" */ ++329, /* "id-cmc-identityProof" */ ++337, /* "id-cmc-lraPOPWitness" */ ++344, /* "id-cmc-popLinkRandom" */ ++345, /* "id-cmc-popLinkWitness" */ ++343, /* "id-cmc-queryPending" */ ++333, /* "id-cmc-recipientNonce" */ ++341, /* "id-cmc-regInfo" */ ++342, /* "id-cmc-responseInfo" */ ++340, /* "id-cmc-revokeRequest" */ ++332, /* "id-cmc-senderNonce" */ ++327, /* "id-cmc-statusInfo" */ ++331, /* "id-cmc-transactionId" */ ++787, /* "id-ct-asciiTextWithCRLF" */ ++408, /* "id-ecPublicKey" */ ++508, /* "id-hex-multipart-message" */ ++507, /* "id-hex-partial-message" */ ++260, /* "id-it" */ ++302, /* "id-it-caKeyUpdateInfo" */ ++298, /* "id-it-caProtEncCert" */ ++311, /* "id-it-confirmWaitTime" */ ++303, /* "id-it-currentCRL" */ ++300, /* "id-it-encKeyPairTypes" */ ++310, /* "id-it-implicitConfirm" */ ++308, /* "id-it-keyPairParamRep" */ ++307, /* "id-it-keyPairParamReq" */ ++312, /* "id-it-origPKIMessage" */ ++301, /* "id-it-preferredSymmAlg" */ ++309, /* "id-it-revPassphrase" */ ++299, /* "id-it-signKeyPairTypes" */ ++305, /* "id-it-subscriptionRequest" */ ++306, /* "id-it-subscriptionResponse" */ ++784, /* "id-it-suppLangTags" */ ++304, /* "id-it-unsupportedOIDs" */ ++128, /* "id-kp" */ ++280, /* "id-mod-attribute-cert" */ ++274, /* "id-mod-cmc" */ ++277, /* "id-mod-cmp" */ ++284, /* "id-mod-cmp2000" */ ++273, /* "id-mod-crmf" */ ++283, /* "id-mod-dvcs" */ ++275, /* "id-mod-kea-profile-88" */ ++276, /* "id-mod-kea-profile-93" */ ++282, /* "id-mod-ocsp" */ ++278, /* "id-mod-qualified-cert-88" */ ++279, /* "id-mod-qualified-cert-93" */ ++281, /* "id-mod-timestamp-protocol" */ ++264, /* "id-on" */ ++347, /* "id-on-personalData" */ ++265, /* "id-pda" */ ++352, /* "id-pda-countryOfCitizenship" */ ++353, /* "id-pda-countryOfResidence" */ ++348, /* "id-pda-dateOfBirth" */ ++351, /* "id-pda-gender" */ ++349, /* "id-pda-placeOfBirth" */ ++175, /* "id-pe" */ ++261, /* "id-pkip" */ ++258, /* "id-pkix-mod" */ ++269, /* "id-pkix1-explicit-88" */ ++271, /* "id-pkix1-explicit-93" */ ++270, /* "id-pkix1-implicit-88" */ ++272, /* "id-pkix1-implicit-93" */ ++662, /* "id-ppl" */ ++267, /* "id-qcs" */ ++359, /* "id-qcs-pkixQCSyntax-v1" */ ++259, /* "id-qt" */ ++313, /* "id-regCtrl" */ ++316, /* "id-regCtrl-authenticator" */ ++319, /* "id-regCtrl-oldCertID" */ ++318, /* "id-regCtrl-pkiArchiveOptions" */ ++317, /* "id-regCtrl-pkiPublicationInfo" */ ++320, /* "id-regCtrl-protocolEncrKey" */ ++315, /* "id-regCtrl-regToken" */ ++314, /* "id-regInfo" */ ++322, /* "id-regInfo-certReq" */ ++321, /* "id-regInfo-utf8Pairs" */ ++191, /* "id-smime-aa" */ ++215, /* "id-smime-aa-contentHint" */ ++218, /* "id-smime-aa-contentIdentifier" */ ++221, /* "id-smime-aa-contentReference" */ ++240, /* "id-smime-aa-dvcs-dvc" */ ++217, /* "id-smime-aa-encapContentType" */ ++222, /* "id-smime-aa-encrypKeyPref" */ ++220, /* "id-smime-aa-equivalentLabels" */ ++232, /* "id-smime-aa-ets-CertificateRefs" */ ++233, /* "id-smime-aa-ets-RevocationRefs" */ ++238, /* "id-smime-aa-ets-archiveTimeStamp" */ ++237, /* "id-smime-aa-ets-certCRLTimestamp" */ ++234, /* "id-smime-aa-ets-certValues" */ ++227, /* "id-smime-aa-ets-commitmentType" */ ++231, /* "id-smime-aa-ets-contentTimestamp" */ ++236, /* "id-smime-aa-ets-escTimeStamp" */ ++230, /* "id-smime-aa-ets-otherSigCert" */ ++235, /* "id-smime-aa-ets-revocationValues" */ ++226, /* "id-smime-aa-ets-sigPolicyId" */ ++229, /* "id-smime-aa-ets-signerAttr" */ ++228, /* "id-smime-aa-ets-signerLocation" */ ++219, /* "id-smime-aa-macValue" */ ++214, /* "id-smime-aa-mlExpandHistory" */ ++216, /* "id-smime-aa-msgSigDigest" */ ++212, /* "id-smime-aa-receiptRequest" */ ++213, /* "id-smime-aa-securityLabel" */ ++239, /* "id-smime-aa-signatureType" */ ++223, /* "id-smime-aa-signingCertificate" */ ++224, /* "id-smime-aa-smimeEncryptCerts" */ ++225, /* "id-smime-aa-timeStampToken" */ ++192, /* "id-smime-alg" */ ++243, /* "id-smime-alg-3DESwrap" */ ++246, /* "id-smime-alg-CMS3DESwrap" */ ++247, /* "id-smime-alg-CMSRC2wrap" */ ++245, /* "id-smime-alg-ESDH" */ ++241, /* "id-smime-alg-ESDHwith3DES" */ ++242, /* "id-smime-alg-ESDHwithRC2" */ ++244, /* "id-smime-alg-RC2wrap" */ ++193, /* "id-smime-cd" */ ++248, /* "id-smime-cd-ldap" */ ++190, /* "id-smime-ct" */ ++210, /* "id-smime-ct-DVCSRequestData" */ ++211, /* "id-smime-ct-DVCSResponseData" */ ++208, /* "id-smime-ct-TDTInfo" */ ++207, /* "id-smime-ct-TSTInfo" */ ++205, /* "id-smime-ct-authData" */ ++786, /* "id-smime-ct-compressedData" */ ++209, /* "id-smime-ct-contentInfo" */ ++206, /* "id-smime-ct-publishCert" */ ++204, /* "id-smime-ct-receipt" */ ++195, /* "id-smime-cti" */ ++255, /* "id-smime-cti-ets-proofOfApproval" */ ++256, /* "id-smime-cti-ets-proofOfCreation" */ ++253, /* "id-smime-cti-ets-proofOfDelivery" */ ++251, /* "id-smime-cti-ets-proofOfOrigin" */ ++252, /* "id-smime-cti-ets-proofOfReceipt" */ ++254, /* "id-smime-cti-ets-proofOfSender" */ ++189, /* "id-smime-mod" */ ++196, /* "id-smime-mod-cms" */ ++197, /* "id-smime-mod-ess" */ ++202, /* "id-smime-mod-ets-eSigPolicy-88" */ ++203, /* "id-smime-mod-ets-eSigPolicy-97" */ ++200, /* "id-smime-mod-ets-eSignature-88" */ ++201, /* "id-smime-mod-ets-eSignature-97" */ ++199, /* "id-smime-mod-msg-v3" */ ++198, /* "id-smime-mod-oid" */ ++194, /* "id-smime-spq" */ ++250, /* "id-smime-spq-ets-sqt-unotice" */ ++249, /* "id-smime-spq-ets-sqt-uri" */ ++945, /* "id-tc26-gost-28147-param-Z" */ ++943, /* "id-tc26-gost-3410-2012-512-paramSetA" */ ++944, /* "id-tc26-gost-3410-2012-512-paramSetB" */ ++34, /* "idea-cbc" */ ++35, /* "idea-cfb" */ ++36, /* "idea-ecb" */ ++46, /* "idea-ofb" */ ++676, /* "identified-organization" */ ++461, /* "info" */ ++101, /* "initials" */ ++869, /* "internationaliSDNNumber" */ ++749, /* "ipsec3" */ ++750, /* "ipsec4" */ ++181, /* "iso" */ ++623, /* "issuer capabilities" */ ++645, /* "itu-t" */ ++492, /* "janetMailbox" */ ++646, /* "joint-iso-itu-t" */ ++150, /* "keyBag" */ ++773, /* "kisa" */ ++477, /* "lastModifiedBy" */ ++476, /* "lastModifiedTime" */ ++157, /* "localKeyID" */ ++15, /* "localityName" */ ++480, /* "mXRecord" */ ++493, /* "mailPreferenceOption" */ ++467, /* "manager" */ ++ 3, /* "md2" */ ++ 7, /* "md2WithRSAEncryption" */ ++257, /* "md4" */ ++396, /* "md4WithRSAEncryption" */ ++ 4, /* "md5" */ ++114, /* "md5-sha1" */ ++104, /* "md5WithRSA" */ ++ 8, /* "md5WithRSAEncryption" */ ++95, /* "mdc2" */ ++96, /* "mdc2WithRSA" */ ++875, /* "member" */ ++602, /* "merchant initiated auth" */ ++514, /* "message extensions" */ ++51, /* "messageDigest" */ ++911, /* "mgf1" */ ++506, /* "mime-mhs-bodies" */ ++505, /* "mime-mhs-headings" */ ++488, /* "mobileTelephoneNumber" */ ++481, /* "nSRecord" */ ++173, /* "name" */ ++681, /* "onBasis" */ ++379, /* "org" */ ++17, /* "organizationName" */ ++491, /* "organizationalStatus" */ ++18, /* "organizationalUnitName" */ ++475, /* "otherMailbox" */ ++876, /* "owner" */ ++489, /* "pagerTelephoneNumber" */ ++782, /* "password based MAC" */ ++374, /* "path" */ ++621, /* "payment gateway capabilities" */ ++ 9, /* "pbeWithMD2AndDES-CBC" */ ++168, /* "pbeWithMD2AndRC2-CBC" */ ++112, /* "pbeWithMD5AndCast5CBC" */ ++10, /* "pbeWithMD5AndDES-CBC" */ ++169, /* "pbeWithMD5AndRC2-CBC" */ ++148, /* "pbeWithSHA1And128BitRC2-CBC" */ ++144, /* "pbeWithSHA1And128BitRC4" */ ++147, /* "pbeWithSHA1And2-KeyTripleDES-CBC" */ ++146, /* "pbeWithSHA1And3-KeyTripleDES-CBC" */ ++149, /* "pbeWithSHA1And40BitRC2-CBC" */ ++145, /* "pbeWithSHA1And40BitRC4" */ ++170, /* "pbeWithSHA1AndDES-CBC" */ ++68, /* "pbeWithSHA1AndRC2-CBC" */ ++499, /* "personalSignature" */ ++487, /* "personalTitle" */ ++464, /* "photo" */ ++863, /* "physicalDeliveryOfficeName" */ ++437, /* "pilot" */ ++439, /* "pilotAttributeSyntax" */ ++438, /* "pilotAttributeType" */ ++479, /* "pilotAttributeType27" */ ++456, /* "pilotDSA" */ ++441, /* "pilotGroups" */ ++444, /* "pilotObject" */ ++440, /* "pilotObjectClass" */ ++455, /* "pilotOrganization" */ ++445, /* "pilotPerson" */ ++186, /* "pkcs1" */ ++27, /* "pkcs3" */ ++187, /* "pkcs5" */ ++20, /* "pkcs7" */ ++21, /* "pkcs7-data" */ ++25, /* "pkcs7-digestData" */ ++26, /* "pkcs7-encryptedData" */ ++23, /* "pkcs7-envelopedData" */ ++24, /* "pkcs7-signedAndEnvelopedData" */ ++22, /* "pkcs7-signedData" */ ++151, /* "pkcs8ShroudedKeyBag" */ ++47, /* "pkcs9" */ ++862, /* "postOfficeBox" */ ++861, /* "postalAddress" */ ++661, /* "postalCode" */ ++683, /* "ppBasis" */ ++872, /* "preferredDeliveryMethod" */ ++873, /* "presentationAddress" */ ++406, /* "prime-field" */ ++409, /* "prime192v1" */ ++410, /* "prime192v2" */ ++411, /* "prime192v3" */ ++412, /* "prime239v1" */ ++413, /* "prime239v2" */ ++414, /* "prime239v3" */ ++415, /* "prime256v1" */ ++886, /* "protocolInformation" */ ++510, /* "pseudonym" */ ++435, /* "pss" */ ++286, /* "qcStatements" */ ++457, /* "qualityLabelledData" */ ++450, /* "rFC822localPart" */ ++98, /* "rc2-40-cbc" */ ++166, /* "rc2-64-cbc" */ ++37, /* "rc2-cbc" */ ++39, /* "rc2-cfb" */ ++38, /* "rc2-ecb" */ ++40, /* "rc2-ofb" */ ++ 5, /* "rc4" */ ++97, /* "rc4-40" */ ++915, /* "rc4-hmac-md5" */ ++120, /* "rc5-cbc" */ ++122, /* "rc5-cfb" */ ++121, /* "rc5-ecb" */ ++123, /* "rc5-ofb" */ ++870, /* "registeredAddress" */ ++460, /* "rfc822Mailbox" */ ++117, /* "ripemd160" */ ++119, /* "ripemd160WithRSA" */ ++400, /* "role" */ ++877, /* "roleOccupant" */ ++448, /* "room" */ ++463, /* "roomNumber" */ ++19, /* "rsa" */ ++ 6, /* "rsaEncryption" */ ++644, /* "rsaOAEPEncryptionSET" */ ++377, /* "rsaSignature" */ ++919, /* "rsaesOaep" */ ++912, /* "rsassaPss" */ ++124, /* "run length compression" */ ++482, /* "sOARecord" */ ++155, /* "safeContentsBag" */ ++291, /* "sbgp-autonomousSysNum" */ ++290, /* "sbgp-ipAddrBlock" */ ++292, /* "sbgp-routerIdentifier" */ ++159, /* "sdsiCertificate" */ ++859, /* "searchGuide" */ ++704, /* "secp112r1" */ ++705, /* "secp112r2" */ ++706, /* "secp128r1" */ ++707, /* "secp128r2" */ ++708, /* "secp160k1" */ ++709, /* "secp160r1" */ ++710, /* "secp160r2" */ ++711, /* "secp192k1" */ ++712, /* "secp224k1" */ ++713, /* "secp224r1" */ ++714, /* "secp256k1" */ ++715, /* "secp384r1" */ ++716, /* "secp521r1" */ ++154, /* "secretBag" */ ++474, /* "secretary" */ ++717, /* "sect113r1" */ ++718, /* "sect113r2" */ ++719, /* "sect131r1" */ ++720, /* "sect131r2" */ ++721, /* "sect163k1" */ ++722, /* "sect163r1" */ ++723, /* "sect163r2" */ ++724, /* "sect193r1" */ ++725, /* "sect193r2" */ ++726, /* "sect233k1" */ ++727, /* "sect233r1" */ ++728, /* "sect239k1" */ ++729, /* "sect283k1" */ ++730, /* "sect283r1" */ ++731, /* "sect409k1" */ ++732, /* "sect409r1" */ ++733, /* "sect571k1" */ ++734, /* "sect571r1" */ ++635, /* "secure device signature" */ ++878, /* "seeAlso" */ ++777, /* "seed-cbc" */ ++779, /* "seed-cfb" */ ++776, /* "seed-ecb" */ ++778, /* "seed-ofb" */ ++105, /* "serialNumber" */ ++625, /* "set-addPolicy" */ ++515, /* "set-attr" */ ++518, /* "set-brand" */ ++638, /* "set-brand-AmericanExpress" */ ++637, /* "set-brand-Diners" */ ++636, /* "set-brand-IATA-ATA" */ ++639, /* "set-brand-JCB" */ ++641, /* "set-brand-MasterCard" */ ++642, /* "set-brand-Novus" */ ++640, /* "set-brand-Visa" */ ++516, /* "set-policy" */ ++607, /* "set-policy-root" */ ++624, /* "set-rootKeyThumb" */ ++620, /* "setAttr-Cert" */ ++628, /* "setAttr-IssCap-CVM" */ ++630, /* "setAttr-IssCap-Sig" */ ++629, /* "setAttr-IssCap-T2" */ ++627, /* "setAttr-Token-B0Prime" */ ++626, /* "setAttr-Token-EMV" */ ++622, /* "setAttr-TokenType" */ ++619, /* "setCext-IssuerCapabilities" */ ++615, /* "setCext-PGWYcapabilities" */ ++616, /* "setCext-TokenIdentifier" */ ++618, /* "setCext-TokenType" */ ++617, /* "setCext-Track2Data" */ ++611, /* "setCext-cCertRequired" */ ++609, /* "setCext-certType" */ ++608, /* "setCext-hashedRoot" */ ++610, /* "setCext-merchData" */ ++613, /* "setCext-setExt" */ ++614, /* "setCext-setQualf" */ ++612, /* "setCext-tunneling" */ ++540, /* "setct-AcqCardCodeMsg" */ ++576, /* "setct-AcqCardCodeMsgTBE" */ ++570, /* "setct-AuthReqTBE" */ ++534, /* "setct-AuthReqTBS" */ ++527, /* "setct-AuthResBaggage" */ ++571, /* "setct-AuthResTBE" */ ++572, /* "setct-AuthResTBEX" */ ++535, /* "setct-AuthResTBS" */ ++536, /* "setct-AuthResTBSX" */ ++528, /* "setct-AuthRevReqBaggage" */ ++577, /* "setct-AuthRevReqTBE" */ ++541, /* "setct-AuthRevReqTBS" */ ++529, /* "setct-AuthRevResBaggage" */ ++542, /* "setct-AuthRevResData" */ ++578, /* "setct-AuthRevResTBE" */ ++579, /* "setct-AuthRevResTBEB" */ ++543, /* "setct-AuthRevResTBS" */ ++573, /* "setct-AuthTokenTBE" */ ++537, /* "setct-AuthTokenTBS" */ ++600, /* "setct-BCIDistributionTBS" */ ++558, /* "setct-BatchAdminReqData" */ ++592, /* "setct-BatchAdminReqTBE" */ ++559, /* "setct-BatchAdminResData" */ ++593, /* "setct-BatchAdminResTBE" */ ++599, /* "setct-CRLNotificationResTBS" */ ++598, /* "setct-CRLNotificationTBS" */ ++580, /* "setct-CapReqTBE" */ ++581, /* "setct-CapReqTBEX" */ ++544, /* "setct-CapReqTBS" */ ++545, /* "setct-CapReqTBSX" */ ++546, /* "setct-CapResData" */ ++582, /* "setct-CapResTBE" */ ++583, /* "setct-CapRevReqTBE" */ ++584, /* "setct-CapRevReqTBEX" */ ++547, /* "setct-CapRevReqTBS" */ ++548, /* "setct-CapRevReqTBSX" */ ++549, /* "setct-CapRevResData" */ ++585, /* "setct-CapRevResTBE" */ ++538, /* "setct-CapTokenData" */ ++530, /* "setct-CapTokenSeq" */ ++574, /* "setct-CapTokenTBE" */ ++575, /* "setct-CapTokenTBEX" */ ++539, /* "setct-CapTokenTBS" */ ++560, /* "setct-CardCInitResTBS" */ ++566, /* "setct-CertInqReqTBS" */ ++563, /* "setct-CertReqData" */ ++595, /* "setct-CertReqTBE" */ ++596, /* "setct-CertReqTBEX" */ ++564, /* "setct-CertReqTBS" */ ++565, /* "setct-CertResData" */ ++597, /* "setct-CertResTBE" */ ++586, /* "setct-CredReqTBE" */ ++587, /* "setct-CredReqTBEX" */ ++550, /* "setct-CredReqTBS" */ ++551, /* "setct-CredReqTBSX" */ ++552, /* "setct-CredResData" */ ++588, /* "setct-CredResTBE" */ ++589, /* "setct-CredRevReqTBE" */ ++590, /* "setct-CredRevReqTBEX" */ ++553, /* "setct-CredRevReqTBS" */ ++554, /* "setct-CredRevReqTBSX" */ ++555, /* "setct-CredRevResData" */ ++591, /* "setct-CredRevResTBE" */ ++567, /* "setct-ErrorTBS" */ ++526, /* "setct-HODInput" */ ++561, /* "setct-MeAqCInitResTBS" */ ++522, /* "setct-OIData" */ ++519, /* "setct-PANData" */ ++521, /* "setct-PANOnly" */ ++520, /* "setct-PANToken" */ ++556, /* "setct-PCertReqData" */ ++557, /* "setct-PCertResTBS" */ ++523, /* "setct-PI" */ ++532, /* "setct-PI-TBS" */ ++524, /* "setct-PIData" */ ++525, /* "setct-PIDataUnsigned" */ ++568, /* "setct-PIDualSignedTBE" */ ++569, /* "setct-PIUnsignedTBE" */ ++531, /* "setct-PInitResData" */ ++533, /* "setct-PResData" */ ++594, /* "setct-RegFormReqTBE" */ ++562, /* "setct-RegFormResTBS" */ ++604, /* "setext-pinAny" */ ++603, /* "setext-pinSecure" */ ++605, /* "setext-track2" */ ++41, /* "sha" */ ++64, /* "sha1" */ ++115, /* "sha1WithRSA" */ ++65, /* "sha1WithRSAEncryption" */ ++675, /* "sha224" */ ++671, /* "sha224WithRSAEncryption" */ ++672, /* "sha256" */ ++668, /* "sha256WithRSAEncryption" */ ++673, /* "sha384" */ ++669, /* "sha384WithRSAEncryption" */ ++674, /* "sha512" */ ++670, /* "sha512WithRSAEncryption" */ ++42, /* "shaWithRSAEncryption" */ ++52, /* "signingTime" */ ++454, /* "simpleSecurityObject" */ ++496, /* "singleLevelQuality" */ ++16, /* "stateOrProvinceName" */ ++660, /* "streetAddress" */ ++498, /* "subtreeMaximumQuality" */ ++497, /* "subtreeMinimumQuality" */ ++890, /* "supportedAlgorithms" */ ++874, /* "supportedApplicationContext" */ ++100, /* "surname" */ ++940, /* "tc26" */ ++864, /* "telephoneNumber" */ ++866, /* "teletexTerminalIdentifier" */ ++920, /* "teletrust" */ ++865, /* "telexNumber" */ ++459, /* "textEncodedORAddress" */ ++293, /* "textNotice" */ ++106, /* "title" */ ++682, /* "tpBasis" */ ++436, /* "ucl" */ ++ 0, /* "undefined" */ ++888, /* "uniqueMember" */ ++55, /* "unstructuredAddress" */ ++49, /* "unstructuredName" */ ++880, /* "userCertificate" */ ++465, /* "userClass" */ ++458, /* "userId" */ ++879, /* "userPassword" */ ++373, /* "valid" */ ++678, /* "wap" */ ++679, /* "wap-wsg" */ ++735, /* "wap-wsg-idm-ecid-wtls1" */ ++743, /* "wap-wsg-idm-ecid-wtls10" */ ++744, /* "wap-wsg-idm-ecid-wtls11" */ ++745, /* "wap-wsg-idm-ecid-wtls12" */ ++736, /* "wap-wsg-idm-ecid-wtls3" */ ++737, /* "wap-wsg-idm-ecid-wtls4" */ ++738, /* "wap-wsg-idm-ecid-wtls5" */ ++739, /* "wap-wsg-idm-ecid-wtls6" */ ++740, /* "wap-wsg-idm-ecid-wtls7" */ ++741, /* "wap-wsg-idm-ecid-wtls8" */ ++742, /* "wap-wsg-idm-ecid-wtls9" */ ++804, /* "whirlpool" */ ++868, /* "x121Address" */ ++503, /* "x500UniqueIdentifier" */ ++158, /* "x509Certificate" */ ++160, /* "x509Crl" */ ++125, /* "zlib compression" */ ++}; ++ ++static const unsigned int obj_objs[NUM_OBJ]={ ++ 0, /* OBJ_undef 0 */ ++181, /* OBJ_iso 1 */ ++393, /* OBJ_joint_iso_ccitt OBJ_joint_iso_itu_t */ ++404, /* OBJ_ccitt OBJ_itu_t */ ++645, /* OBJ_itu_t 0 */ ++646, /* OBJ_joint_iso_itu_t 2 */ ++434, /* OBJ_data 0 9 */ ++182, /* OBJ_member_body 1 2 */ ++379, /* OBJ_org 1 3 */ ++676, /* OBJ_identified_organization 1 3 */ ++11, /* OBJ_X500 2 5 */ ++647, /* OBJ_international_organizations 2 23 */ ++380, /* OBJ_dod 1 3 6 */ ++920, /* OBJ_teletrust 1 3 36 */ ++12, /* OBJ_X509 2 5 4 */ ++378, /* OBJ_X500algorithms 2 5 8 */ ++81, /* OBJ_id_ce 2 5 29 */ ++512, /* OBJ_id_set 2 23 42 */ ++678, /* OBJ_wap 2 23 43 */ ++435, /* OBJ_pss 0 9 2342 */ ++183, /* OBJ_ISO_US 1 2 840 */ ++381, /* OBJ_iana 1 3 6 1 */ ++677, /* OBJ_certicom_arc 1 3 132 */ ++394, /* OBJ_selected_attribute_types 2 5 1 5 */ ++13, /* OBJ_commonName 2 5 4 3 */ ++100, /* OBJ_surname 2 5 4 4 */ ++105, /* OBJ_serialNumber 2 5 4 5 */ ++14, /* OBJ_countryName 2 5 4 6 */ ++15, /* OBJ_localityName 2 5 4 7 */ ++16, /* OBJ_stateOrProvinceName 2 5 4 8 */ ++660, /* OBJ_streetAddress 2 5 4 9 */ ++17, /* OBJ_organizationName 2 5 4 10 */ ++18, /* OBJ_organizationalUnitName 2 5 4 11 */ ++106, /* OBJ_title 2 5 4 12 */ ++107, /* OBJ_description 2 5 4 13 */ ++859, /* OBJ_searchGuide 2 5 4 14 */ ++860, /* OBJ_businessCategory 2 5 4 15 */ ++861, /* OBJ_postalAddress 2 5 4 16 */ ++661, /* OBJ_postalCode 2 5 4 17 */ ++862, /* OBJ_postOfficeBox 2 5 4 18 */ ++863, /* OBJ_physicalDeliveryOfficeName 2 5 4 19 */ ++864, /* OBJ_telephoneNumber 2 5 4 20 */ ++865, /* OBJ_telexNumber 2 5 4 21 */ ++866, /* OBJ_teletexTerminalIdentifier 2 5 4 22 */ ++867, /* OBJ_facsimileTelephoneNumber 2 5 4 23 */ ++868, /* OBJ_x121Address 2 5 4 24 */ ++869, /* OBJ_internationaliSDNNumber 2 5 4 25 */ ++870, /* OBJ_registeredAddress 2 5 4 26 */ ++871, /* OBJ_destinationIndicator 2 5 4 27 */ ++872, /* OBJ_preferredDeliveryMethod 2 5 4 28 */ ++873, /* OBJ_presentationAddress 2 5 4 29 */ ++874, /* OBJ_supportedApplicationContext 2 5 4 30 */ ++875, /* OBJ_member 2 5 4 31 */ ++876, /* OBJ_owner 2 5 4 32 */ ++877, /* OBJ_roleOccupant 2 5 4 33 */ ++878, /* OBJ_seeAlso 2 5 4 34 */ ++879, /* OBJ_userPassword 2 5 4 35 */ ++880, /* OBJ_userCertificate 2 5 4 36 */ ++881, /* OBJ_cACertificate 2 5 4 37 */ ++882, /* OBJ_authorityRevocationList 2 5 4 38 */ ++883, /* OBJ_certificateRevocationList 2 5 4 39 */ ++884, /* OBJ_crossCertificatePair 2 5 4 40 */ ++173, /* OBJ_name 2 5 4 41 */ ++99, /* OBJ_givenName 2 5 4 42 */ ++101, /* OBJ_initials 2 5 4 43 */ ++509, /* OBJ_generationQualifier 2 5 4 44 */ ++503, /* OBJ_x500UniqueIdentifier 2 5 4 45 */ ++174, /* OBJ_dnQualifier 2 5 4 46 */ ++885, /* OBJ_enhancedSearchGuide 2 5 4 47 */ ++886, /* OBJ_protocolInformation 2 5 4 48 */ ++887, /* OBJ_distinguishedName 2 5 4 49 */ ++888, /* OBJ_uniqueMember 2 5 4 50 */ ++889, /* OBJ_houseIdentifier 2 5 4 51 */ ++890, /* OBJ_supportedAlgorithms 2 5 4 52 */ ++891, /* OBJ_deltaRevocationList 2 5 4 53 */ ++892, /* OBJ_dmdName 2 5 4 54 */ ++510, /* OBJ_pseudonym 2 5 4 65 */ ++400, /* OBJ_role 2 5 4 72 */ ++769, /* OBJ_subject_directory_attributes 2 5 29 9 */ ++82, /* OBJ_subject_key_identifier 2 5 29 14 */ ++83, /* OBJ_key_usage 2 5 29 15 */ ++84, /* OBJ_private_key_usage_period 2 5 29 16 */ ++85, /* OBJ_subject_alt_name 2 5 29 17 */ ++86, /* OBJ_issuer_alt_name 2 5 29 18 */ ++87, /* OBJ_basic_constraints 2 5 29 19 */ ++88, /* OBJ_crl_number 2 5 29 20 */ ++141, /* OBJ_crl_reason 2 5 29 21 */ ++430, /* OBJ_hold_instruction_code 2 5 29 23 */ ++142, /* OBJ_invalidity_date 2 5 29 24 */ ++140, /* OBJ_delta_crl 2 5 29 27 */ ++770, /* OBJ_issuing_distribution_point 2 5 29 28 */ ++771, /* OBJ_certificate_issuer 2 5 29 29 */ ++666, /* OBJ_name_constraints 2 5 29 30 */ ++103, /* OBJ_crl_distribution_points 2 5 29 31 */ ++89, /* OBJ_certificate_policies 2 5 29 32 */ ++747, /* OBJ_policy_mappings 2 5 29 33 */ ++90, /* OBJ_authority_key_identifier 2 5 29 35 */ ++401, /* OBJ_policy_constraints 2 5 29 36 */ ++126, /* OBJ_ext_key_usage 2 5 29 37 */ ++857, /* OBJ_freshest_crl 2 5 29 46 */ ++748, /* OBJ_inhibit_any_policy 2 5 29 54 */ ++402, /* OBJ_target_information 2 5 29 55 */ ++403, /* OBJ_no_rev_avail 2 5 29 56 */ ++513, /* OBJ_set_ctype 2 23 42 0 */ ++514, /* OBJ_set_msgExt 2 23 42 1 */ ++515, /* OBJ_set_attr 2 23 42 3 */ ++516, /* OBJ_set_policy 2 23 42 5 */ ++517, /* OBJ_set_certExt 2 23 42 7 */ ++518, /* OBJ_set_brand 2 23 42 8 */ ++679, /* OBJ_wap_wsg 2 23 43 1 */ ++382, /* OBJ_Directory 1 3 6 1 1 */ ++383, /* OBJ_Management 1 3 6 1 2 */ ++384, /* OBJ_Experimental 1 3 6 1 3 */ ++385, /* OBJ_Private 1 3 6 1 4 */ ++386, /* OBJ_Security 1 3 6 1 5 */ ++387, /* OBJ_SNMPv2 1 3 6 1 6 */ ++388, /* OBJ_Mail 1 3 6 1 7 */ ++376, /* OBJ_algorithm 1 3 14 3 2 */ ++395, /* OBJ_clearance 2 5 1 5 55 */ ++19, /* OBJ_rsa 2 5 8 1 1 */ ++96, /* OBJ_mdc2WithRSA 2 5 8 3 100 */ ++95, /* OBJ_mdc2 2 5 8 3 101 */ ++746, /* OBJ_any_policy 2 5 29 32 0 */ ++910, /* OBJ_anyExtendedKeyUsage 2 5 29 37 0 */ ++519, /* OBJ_setct_PANData 2 23 42 0 0 */ ++520, /* OBJ_setct_PANToken 2 23 42 0 1 */ ++521, /* OBJ_setct_PANOnly 2 23 42 0 2 */ ++522, /* OBJ_setct_OIData 2 23 42 0 3 */ ++523, /* OBJ_setct_PI 2 23 42 0 4 */ ++524, /* OBJ_setct_PIData 2 23 42 0 5 */ ++525, /* OBJ_setct_PIDataUnsigned 2 23 42 0 6 */ ++526, /* OBJ_setct_HODInput 2 23 42 0 7 */ ++527, /* OBJ_setct_AuthResBaggage 2 23 42 0 8 */ ++528, /* OBJ_setct_AuthRevReqBaggage 2 23 42 0 9 */ ++529, /* OBJ_setct_AuthRevResBaggage 2 23 42 0 10 */ ++530, /* OBJ_setct_CapTokenSeq 2 23 42 0 11 */ ++531, /* OBJ_setct_PInitResData 2 23 42 0 12 */ ++532, /* OBJ_setct_PI_TBS 2 23 42 0 13 */ ++533, /* OBJ_setct_PResData 2 23 42 0 14 */ ++534, /* OBJ_setct_AuthReqTBS 2 23 42 0 16 */ ++535, /* OBJ_setct_AuthResTBS 2 23 42 0 17 */ ++536, /* OBJ_setct_AuthResTBSX 2 23 42 0 18 */ ++537, /* OBJ_setct_AuthTokenTBS 2 23 42 0 19 */ ++538, /* OBJ_setct_CapTokenData 2 23 42 0 20 */ ++539, /* OBJ_setct_CapTokenTBS 2 23 42 0 21 */ ++540, /* OBJ_setct_AcqCardCodeMsg 2 23 42 0 22 */ ++541, /* OBJ_setct_AuthRevReqTBS 2 23 42 0 23 */ ++542, /* OBJ_setct_AuthRevResData 2 23 42 0 24 */ ++543, /* OBJ_setct_AuthRevResTBS 2 23 42 0 25 */ ++544, /* OBJ_setct_CapReqTBS 2 23 42 0 26 */ ++545, /* OBJ_setct_CapReqTBSX 2 23 42 0 27 */ ++546, /* OBJ_setct_CapResData 2 23 42 0 28 */ ++547, /* OBJ_setct_CapRevReqTBS 2 23 42 0 29 */ ++548, /* OBJ_setct_CapRevReqTBSX 2 23 42 0 30 */ ++549, /* OBJ_setct_CapRevResData 2 23 42 0 31 */ ++550, /* OBJ_setct_CredReqTBS 2 23 42 0 32 */ ++551, /* OBJ_setct_CredReqTBSX 2 23 42 0 33 */ ++552, /* OBJ_setct_CredResData 2 23 42 0 34 */ ++553, /* OBJ_setct_CredRevReqTBS 2 23 42 0 35 */ ++554, /* OBJ_setct_CredRevReqTBSX 2 23 42 0 36 */ ++555, /* OBJ_setct_CredRevResData 2 23 42 0 37 */ ++556, /* OBJ_setct_PCertReqData 2 23 42 0 38 */ ++557, /* OBJ_setct_PCertResTBS 2 23 42 0 39 */ ++558, /* OBJ_setct_BatchAdminReqData 2 23 42 0 40 */ ++559, /* OBJ_setct_BatchAdminResData 2 23 42 0 41 */ ++560, /* OBJ_setct_CardCInitResTBS 2 23 42 0 42 */ ++561, /* OBJ_setct_MeAqCInitResTBS 2 23 42 0 43 */ ++562, /* OBJ_setct_RegFormResTBS 2 23 42 0 44 */ ++563, /* OBJ_setct_CertReqData 2 23 42 0 45 */ ++564, /* OBJ_setct_CertReqTBS 2 23 42 0 46 */ ++565, /* OBJ_setct_CertResData 2 23 42 0 47 */ ++566, /* OBJ_setct_CertInqReqTBS 2 23 42 0 48 */ ++567, /* OBJ_setct_ErrorTBS 2 23 42 0 49 */ ++568, /* OBJ_setct_PIDualSignedTBE 2 23 42 0 50 */ ++569, /* OBJ_setct_PIUnsignedTBE 2 23 42 0 51 */ ++570, /* OBJ_setct_AuthReqTBE 2 23 42 0 52 */ ++571, /* OBJ_setct_AuthResTBE 2 23 42 0 53 */ ++572, /* OBJ_setct_AuthResTBEX 2 23 42 0 54 */ ++573, /* OBJ_setct_AuthTokenTBE 2 23 42 0 55 */ ++574, /* OBJ_setct_CapTokenTBE 2 23 42 0 56 */ ++575, /* OBJ_setct_CapTokenTBEX 2 23 42 0 57 */ ++576, /* OBJ_setct_AcqCardCodeMsgTBE 2 23 42 0 58 */ ++577, /* OBJ_setct_AuthRevReqTBE 2 23 42 0 59 */ ++578, /* OBJ_setct_AuthRevResTBE 2 23 42 0 60 */ ++579, /* OBJ_setct_AuthRevResTBEB 2 23 42 0 61 */ ++580, /* OBJ_setct_CapReqTBE 2 23 42 0 62 */ ++581, /* OBJ_setct_CapReqTBEX 2 23 42 0 63 */ ++582, /* OBJ_setct_CapResTBE 2 23 42 0 64 */ ++583, /* OBJ_setct_CapRevReqTBE 2 23 42 0 65 */ ++584, /* OBJ_setct_CapRevReqTBEX 2 23 42 0 66 */ ++585, /* OBJ_setct_CapRevResTBE 2 23 42 0 67 */ ++586, /* OBJ_setct_CredReqTBE 2 23 42 0 68 */ ++587, /* OBJ_setct_CredReqTBEX 2 23 42 0 69 */ ++588, /* OBJ_setct_CredResTBE 2 23 42 0 70 */ ++589, /* OBJ_setct_CredRevReqTBE 2 23 42 0 71 */ ++590, /* OBJ_setct_CredRevReqTBEX 2 23 42 0 72 */ ++591, /* OBJ_setct_CredRevResTBE 2 23 42 0 73 */ ++592, /* OBJ_setct_BatchAdminReqTBE 2 23 42 0 74 */ ++593, /* OBJ_setct_BatchAdminResTBE 2 23 42 0 75 */ ++594, /* OBJ_setct_RegFormReqTBE 2 23 42 0 76 */ ++595, /* OBJ_setct_CertReqTBE 2 23 42 0 77 */ ++596, /* OBJ_setct_CertReqTBEX 2 23 42 0 78 */ ++597, /* OBJ_setct_CertResTBE 2 23 42 0 79 */ ++598, /* OBJ_setct_CRLNotificationTBS 2 23 42 0 80 */ ++599, /* OBJ_setct_CRLNotificationResTBS 2 23 42 0 81 */ ++600, /* OBJ_setct_BCIDistributionTBS 2 23 42 0 82 */ ++601, /* OBJ_setext_genCrypt 2 23 42 1 1 */ ++602, /* OBJ_setext_miAuth 2 23 42 1 3 */ ++603, /* OBJ_setext_pinSecure 2 23 42 1 4 */ ++604, /* OBJ_setext_pinAny 2 23 42 1 5 */ ++605, /* OBJ_setext_track2 2 23 42 1 7 */ ++606, /* OBJ_setext_cv 2 23 42 1 8 */ ++620, /* OBJ_setAttr_Cert 2 23 42 3 0 */ ++621, /* OBJ_setAttr_PGWYcap 2 23 42 3 1 */ ++622, /* OBJ_setAttr_TokenType 2 23 42 3 2 */ ++623, /* OBJ_setAttr_IssCap 2 23 42 3 3 */ ++607, /* OBJ_set_policy_root 2 23 42 5 0 */ ++608, /* OBJ_setCext_hashedRoot 2 23 42 7 0 */ ++609, /* OBJ_setCext_certType 2 23 42 7 1 */ ++610, /* OBJ_setCext_merchData 2 23 42 7 2 */ ++611, /* OBJ_setCext_cCertRequired 2 23 42 7 3 */ ++612, /* OBJ_setCext_tunneling 2 23 42 7 4 */ ++613, /* OBJ_setCext_setExt 2 23 42 7 5 */ ++614, /* OBJ_setCext_setQualf 2 23 42 7 6 */ ++615, /* OBJ_setCext_PGWYcapabilities 2 23 42 7 7 */ ++616, /* OBJ_setCext_TokenIdentifier 2 23 42 7 8 */ ++617, /* OBJ_setCext_Track2Data 2 23 42 7 9 */ ++618, /* OBJ_setCext_TokenType 2 23 42 7 10 */ ++619, /* OBJ_setCext_IssuerCapabilities 2 23 42 7 11 */ ++636, /* OBJ_set_brand_IATA_ATA 2 23 42 8 1 */ ++640, /* OBJ_set_brand_Visa 2 23 42 8 4 */ ++641, /* OBJ_set_brand_MasterCard 2 23 42 8 5 */ ++637, /* OBJ_set_brand_Diners 2 23 42 8 30 */ ++638, /* OBJ_set_brand_AmericanExpress 2 23 42 8 34 */ ++639, /* OBJ_set_brand_JCB 2 23 42 8 35 */ ++805, /* OBJ_cryptopro 1 2 643 2 2 */ ++806, /* OBJ_cryptocom 1 2 643 2 9 */ ++940, /* OBJ_tc26 1 2 643 7 1 */ ++184, /* OBJ_X9_57 1 2 840 10040 */ ++405, /* OBJ_ansi_X9_62 1 2 840 10045 */ ++389, /* OBJ_Enterprises 1 3 6 1 4 1 */ ++504, /* OBJ_mime_mhs 1 3 6 1 7 1 */ ++104, /* OBJ_md5WithRSA 1 3 14 3 2 3 */ ++29, /* OBJ_des_ecb 1 3 14 3 2 6 */ ++31, /* OBJ_des_cbc 1 3 14 3 2 7 */ ++45, /* OBJ_des_ofb64 1 3 14 3 2 8 */ ++30, /* OBJ_des_cfb64 1 3 14 3 2 9 */ ++377, /* OBJ_rsaSignature 1 3 14 3 2 11 */ ++67, /* OBJ_dsa_2 1 3 14 3 2 12 */ ++66, /* OBJ_dsaWithSHA 1 3 14 3 2 13 */ ++42, /* OBJ_shaWithRSAEncryption 1 3 14 3 2 15 */ ++32, /* OBJ_des_ede_ecb 1 3 14 3 2 17 */ ++41, /* OBJ_sha 1 3 14 3 2 18 */ ++64, /* OBJ_sha1 1 3 14 3 2 26 */ ++70, /* OBJ_dsaWithSHA1_2 1 3 14 3 2 27 */ ++115, /* OBJ_sha1WithRSA 1 3 14 3 2 29 */ ++117, /* OBJ_ripemd160 1 3 36 3 2 1 */ ++143, /* OBJ_sxnet 1 3 101 1 4 1 */ ++721, /* OBJ_sect163k1 1 3 132 0 1 */ ++722, /* OBJ_sect163r1 1 3 132 0 2 */ ++728, /* OBJ_sect239k1 1 3 132 0 3 */ ++717, /* OBJ_sect113r1 1 3 132 0 4 */ ++718, /* OBJ_sect113r2 1 3 132 0 5 */ ++704, /* OBJ_secp112r1 1 3 132 0 6 */ ++705, /* OBJ_secp112r2 1 3 132 0 7 */ ++709, /* OBJ_secp160r1 1 3 132 0 8 */ ++708, /* OBJ_secp160k1 1 3 132 0 9 */ ++714, /* OBJ_secp256k1 1 3 132 0 10 */ ++723, /* OBJ_sect163r2 1 3 132 0 15 */ ++729, /* OBJ_sect283k1 1 3 132 0 16 */ ++730, /* OBJ_sect283r1 1 3 132 0 17 */ ++719, /* OBJ_sect131r1 1 3 132 0 22 */ ++720, /* OBJ_sect131r2 1 3 132 0 23 */ ++724, /* OBJ_sect193r1 1 3 132 0 24 */ ++725, /* OBJ_sect193r2 1 3 132 0 25 */ ++726, /* OBJ_sect233k1 1 3 132 0 26 */ ++727, /* OBJ_sect233r1 1 3 132 0 27 */ ++706, /* OBJ_secp128r1 1 3 132 0 28 */ ++707, /* OBJ_secp128r2 1 3 132 0 29 */ ++710, /* OBJ_secp160r2 1 3 132 0 30 */ ++711, /* OBJ_secp192k1 1 3 132 0 31 */ ++712, /* OBJ_secp224k1 1 3 132 0 32 */ ++713, /* OBJ_secp224r1 1 3 132 0 33 */ ++715, /* OBJ_secp384r1 1 3 132 0 34 */ ++716, /* OBJ_secp521r1 1 3 132 0 35 */ ++731, /* OBJ_sect409k1 1 3 132 0 36 */ ++732, /* OBJ_sect409r1 1 3 132 0 37 */ ++733, /* OBJ_sect571k1 1 3 132 0 38 */ ++734, /* OBJ_sect571r1 1 3 132 0 39 */ ++624, /* OBJ_set_rootKeyThumb 2 23 42 3 0 0 */ ++625, /* OBJ_set_addPolicy 2 23 42 3 0 1 */ ++626, /* OBJ_setAttr_Token_EMV 2 23 42 3 2 1 */ ++627, /* OBJ_setAttr_Token_B0Prime 2 23 42 3 2 2 */ ++628, /* OBJ_setAttr_IssCap_CVM 2 23 42 3 3 3 */ ++629, /* OBJ_setAttr_IssCap_T2 2 23 42 3 3 4 */ ++630, /* OBJ_setAttr_IssCap_Sig 2 23 42 3 3 5 */ ++642, /* OBJ_set_brand_Novus 2 23 42 8 6011 */ ++735, /* OBJ_wap_wsg_idm_ecid_wtls1 2 23 43 1 4 1 */ ++736, /* OBJ_wap_wsg_idm_ecid_wtls3 2 23 43 1 4 3 */ ++737, /* OBJ_wap_wsg_idm_ecid_wtls4 2 23 43 1 4 4 */ ++738, /* OBJ_wap_wsg_idm_ecid_wtls5 2 23 43 1 4 5 */ ++739, /* OBJ_wap_wsg_idm_ecid_wtls6 2 23 43 1 4 6 */ ++740, /* OBJ_wap_wsg_idm_ecid_wtls7 2 23 43 1 4 7 */ ++741, /* OBJ_wap_wsg_idm_ecid_wtls8 2 23 43 1 4 8 */ ++742, /* OBJ_wap_wsg_idm_ecid_wtls9 2 23 43 1 4 9 */ ++743, /* OBJ_wap_wsg_idm_ecid_wtls10 2 23 43 1 4 10 */ ++744, /* OBJ_wap_wsg_idm_ecid_wtls11 2 23 43 1 4 11 */ ++745, /* OBJ_wap_wsg_idm_ecid_wtls12 2 23 43 1 4 12 */ ++804, /* OBJ_whirlpool 1 0 10118 3 0 55 */ ++124, /* OBJ_rle_compression 1 1 1 1 666 1 */ ++773, /* OBJ_kisa 1 2 410 200004 */ ++807, /* OBJ_id_GostR3411_94_with_GostR3410_2001 1 2 643 2 2 3 */ ++808, /* OBJ_id_GostR3411_94_with_GostR3410_94 1 2 643 2 2 4 */ ++809, /* OBJ_id_GostR3411_94 1 2 643 2 2 9 */ ++810, /* OBJ_id_HMACGostR3411_94 1 2 643 2 2 10 */ ++811, /* OBJ_id_GostR3410_2001 1 2 643 2 2 19 */ ++812, /* OBJ_id_GostR3410_94 1 2 643 2 2 20 */ ++813, /* OBJ_id_Gost28147_89 1 2 643 2 2 21 */ ++815, /* OBJ_id_Gost28147_89_MAC 1 2 643 2 2 22 */ ++816, /* OBJ_id_GostR3411_94_prf 1 2 643 2 2 23 */ ++817, /* OBJ_id_GostR3410_2001DH 1 2 643 2 2 98 */ ++818, /* OBJ_id_GostR3410_94DH 1 2 643 2 2 99 */ ++ 1, /* OBJ_rsadsi 1 2 840 113549 */ ++185, /* OBJ_X9cm 1 2 840 10040 4 */ ++127, /* OBJ_id_pkix 1 3 6 1 5 5 7 */ ++505, /* OBJ_mime_mhs_headings 1 3 6 1 7 1 1 */ ++506, /* OBJ_mime_mhs_bodies 1 3 6 1 7 1 2 */ ++119, /* OBJ_ripemd160WithRSA 1 3 36 3 3 1 2 */ ++631, /* OBJ_setAttr_GenCryptgrm 2 23 42 3 3 3 1 */ ++632, /* OBJ_setAttr_T2Enc 2 23 42 3 3 4 1 */ ++633, /* OBJ_setAttr_T2cleartxt 2 23 42 3 3 4 2 */ ++634, /* OBJ_setAttr_TokICCsig 2 23 42 3 3 5 1 */ ++635, /* OBJ_setAttr_SecDevSig 2 23 42 3 3 5 2 */ ++436, /* OBJ_ucl 0 9 2342 19200300 */ ++820, /* OBJ_id_Gost28147_89_None_KeyMeshing 1 2 643 2 2 14 0 */ ++819, /* OBJ_id_Gost28147_89_CryptoPro_KeyMeshing 1 2 643 2 2 14 1 */ ++845, /* OBJ_id_GostR3410_94_a 1 2 643 2 2 20 1 */ ++846, /* OBJ_id_GostR3410_94_aBis 1 2 643 2 2 20 2 */ ++847, /* OBJ_id_GostR3410_94_b 1 2 643 2 2 20 3 */ ++848, /* OBJ_id_GostR3410_94_bBis 1 2 643 2 2 20 4 */ ++821, /* OBJ_id_GostR3411_94_TestParamSet 1 2 643 2 2 30 0 */ ++822, /* OBJ_id_GostR3411_94_CryptoProParamSet 1 2 643 2 2 30 1 */ ++823, /* OBJ_id_Gost28147_89_TestParamSet 1 2 643 2 2 31 0 */ ++824, /* OBJ_id_Gost28147_89_CryptoPro_A_ParamSet 1 2 643 2 2 31 1 */ ++825, /* OBJ_id_Gost28147_89_CryptoPro_B_ParamSet 1 2 643 2 2 31 2 */ ++826, /* OBJ_id_Gost28147_89_CryptoPro_C_ParamSet 1 2 643 2 2 31 3 */ ++827, /* OBJ_id_Gost28147_89_CryptoPro_D_ParamSet 1 2 643 2 2 31 4 */ ++828, /* OBJ_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet 1 2 643 2 2 31 5 */ ++829, /* OBJ_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet 1 2 643 2 2 31 6 */ ++830, /* OBJ_id_Gost28147_89_CryptoPro_RIC_1_ParamSet 1 2 643 2 2 31 7 */ ++831, /* OBJ_id_GostR3410_94_TestParamSet 1 2 643 2 2 32 0 */ ++832, /* OBJ_id_GostR3410_94_CryptoPro_A_ParamSet 1 2 643 2 2 32 2 */ ++833, /* OBJ_id_GostR3410_94_CryptoPro_B_ParamSet 1 2 643 2 2 32 3 */ ++834, /* OBJ_id_GostR3410_94_CryptoPro_C_ParamSet 1 2 643 2 2 32 4 */ ++835, /* OBJ_id_GostR3410_94_CryptoPro_D_ParamSet 1 2 643 2 2 32 5 */ ++836, /* OBJ_id_GostR3410_94_CryptoPro_XchA_ParamSet 1 2 643 2 2 33 1 */ ++837, /* OBJ_id_GostR3410_94_CryptoPro_XchB_ParamSet 1 2 643 2 2 33 2 */ ++838, /* OBJ_id_GostR3410_94_CryptoPro_XchC_ParamSet 1 2 643 2 2 33 3 */ ++839, /* OBJ_id_GostR3410_2001_TestParamSet 1 2 643 2 2 35 0 */ ++840, /* OBJ_id_GostR3410_2001_CryptoPro_A_ParamSet 1 2 643 2 2 35 1 */ ++841, /* OBJ_id_GostR3410_2001_CryptoPro_B_ParamSet 1 2 643 2 2 35 2 */ ++842, /* OBJ_id_GostR3410_2001_CryptoPro_C_ParamSet 1 2 643 2 2 35 3 */ ++843, /* OBJ_id_GostR3410_2001_CryptoPro_XchA_ParamSet 1 2 643 2 2 36 0 */ ++844, /* OBJ_id_GostR3410_2001_CryptoPro_XchB_ParamSet 1 2 643 2 2 36 1 */ ++ 2, /* OBJ_pkcs 1 2 840 113549 1 */ ++431, /* OBJ_hold_instruction_none 1 2 840 10040 2 1 */ ++432, /* OBJ_hold_instruction_call_issuer 1 2 840 10040 2 2 */ ++433, /* OBJ_hold_instruction_reject 1 2 840 10040 2 3 */ ++116, /* OBJ_dsa 1 2 840 10040 4 1 */ ++113, /* OBJ_dsaWithSHA1 1 2 840 10040 4 3 */ ++406, /* OBJ_X9_62_prime_field 1 2 840 10045 1 1 */ ++407, /* OBJ_X9_62_characteristic_two_field 1 2 840 10045 1 2 */ ++408, /* OBJ_X9_62_id_ecPublicKey 1 2 840 10045 2 1 */ ++416, /* OBJ_ecdsa_with_SHA1 1 2 840 10045 4 1 */ ++791, /* OBJ_ecdsa_with_Recommended 1 2 840 10045 4 2 */ ++792, /* OBJ_ecdsa_with_Specified 1 2 840 10045 4 3 */ ++258, /* OBJ_id_pkix_mod 1 3 6 1 5 5 7 0 */ ++175, /* OBJ_id_pe 1 3 6 1 5 5 7 1 */ ++259, /* OBJ_id_qt 1 3 6 1 5 5 7 2 */ ++128, /* OBJ_id_kp 1 3 6 1 5 5 7 3 */ ++260, /* OBJ_id_it 1 3 6 1 5 5 7 4 */ ++261, /* OBJ_id_pkip 1 3 6 1 5 5 7 5 */ ++262, /* OBJ_id_alg 1 3 6 1 5 5 7 6 */ ++263, /* OBJ_id_cmc 1 3 6 1 5 5 7 7 */ ++264, /* OBJ_id_on 1 3 6 1 5 5 7 8 */ ++265, /* OBJ_id_pda 1 3 6 1 5 5 7 9 */ ++266, /* OBJ_id_aca 1 3 6 1 5 5 7 10 */ ++267, /* OBJ_id_qcs 1 3 6 1 5 5 7 11 */ ++268, /* OBJ_id_cct 1 3 6 1 5 5 7 12 */ ++662, /* OBJ_id_ppl 1 3 6 1 5 5 7 21 */ ++176, /* OBJ_id_ad 1 3 6 1 5 5 7 48 */ ++507, /* OBJ_id_hex_partial_message 1 3 6 1 7 1 1 1 */ ++508, /* OBJ_id_hex_multipart_message 1 3 6 1 7 1 1 2 */ ++921, /* OBJ_brainpool 1 3 36 3 3 2 8 1 */ ++57, /* OBJ_netscape 2 16 840 1 113730 */ ++754, /* OBJ_camellia_128_ecb 0 3 4401 5 3 1 9 1 */ ++766, /* OBJ_camellia_128_ofb128 0 3 4401 5 3 1 9 3 */ ++757, /* OBJ_camellia_128_cfb128 0 3 4401 5 3 1 9 4 */ ++755, /* OBJ_camellia_192_ecb 0 3 4401 5 3 1 9 21 */ ++767, /* OBJ_camellia_192_ofb128 0 3 4401 5 3 1 9 23 */ ++758, /* OBJ_camellia_192_cfb128 0 3 4401 5 3 1 9 24 */ ++756, /* OBJ_camellia_256_ecb 0 3 4401 5 3 1 9 41 */ ++768, /* OBJ_camellia_256_ofb128 0 3 4401 5 3 1 9 43 */ ++759, /* OBJ_camellia_256_cfb128 0 3 4401 5 3 1 9 44 */ ++437, /* OBJ_pilot 0 9 2342 19200300 100 */ ++776, /* OBJ_seed_ecb 1 2 410 200004 1 3 */ ++777, /* OBJ_seed_cbc 1 2 410 200004 1 4 */ ++779, /* OBJ_seed_cfb128 1 2 410 200004 1 5 */ ++778, /* OBJ_seed_ofb128 1 2 410 200004 1 6 */ ++852, /* OBJ_id_GostR3411_94_with_GostR3410_94_cc 1 2 643 2 9 1 3 3 */ ++853, /* OBJ_id_GostR3411_94_with_GostR3410_2001_cc 1 2 643 2 9 1 3 4 */ ++850, /* OBJ_id_GostR3410_94_cc 1 2 643 2 9 1 5 3 */ ++851, /* OBJ_id_GostR3410_2001_cc 1 2 643 2 9 1 5 4 */ ++849, /* OBJ_id_Gost28147_89_cc 1 2 643 2 9 1 6 1 */ ++854, /* OBJ_id_GostR3410_2001_ParamSet_cc 1 2 643 2 9 1 8 1 */ ++946, /* OBJ_id_tc26_gost3410_2012_256 1 2 643 7 1 1 1 1 */ ++947, /* OBJ_id_tc26_gost3410_2012_512 1 2 643 7 1 1 1 2 */ ++941, /* OBJ_id_tc26_gost3411_2012_256 1 2 643 7 1 1 2 2 */ ++942, /* OBJ_id_tc26_gost3411_2012_512 1 2 643 7 1 1 2 3 */ ++948, /* OBJ_id_tc26_signwithdigest_gost3410_2012_256 1 2 643 7 1 1 3 2 */ ++949, /* OBJ_id_tc26_signwithdigest_gost3410_2012_512 1 2 643 7 1 1 3 3 */ ++186, /* OBJ_pkcs1 1 2 840 113549 1 1 */ ++27, /* OBJ_pkcs3 1 2 840 113549 1 3 */ ++187, /* OBJ_pkcs5 1 2 840 113549 1 5 */ ++20, /* OBJ_pkcs7 1 2 840 113549 1 7 */ ++47, /* OBJ_pkcs9 1 2 840 113549 1 9 */ ++ 3, /* OBJ_md2 1 2 840 113549 2 2 */ ++257, /* OBJ_md4 1 2 840 113549 2 4 */ ++ 4, /* OBJ_md5 1 2 840 113549 2 5 */ ++797, /* OBJ_hmacWithMD5 1 2 840 113549 2 6 */ ++163, /* OBJ_hmacWithSHA1 1 2 840 113549 2 7 */ ++798, /* OBJ_hmacWithSHA224 1 2 840 113549 2 8 */ ++799, /* OBJ_hmacWithSHA256 1 2 840 113549 2 9 */ ++800, /* OBJ_hmacWithSHA384 1 2 840 113549 2 10 */ ++801, /* OBJ_hmacWithSHA512 1 2 840 113549 2 11 */ ++37, /* OBJ_rc2_cbc 1 2 840 113549 3 2 */ ++ 5, /* OBJ_rc4 1 2 840 113549 3 4 */ ++44, /* OBJ_des_ede3_cbc 1 2 840 113549 3 7 */ ++120, /* OBJ_rc5_cbc 1 2 840 113549 3 8 */ ++643, /* OBJ_des_cdmf 1 2 840 113549 3 10 */ ++680, /* OBJ_X9_62_id_characteristic_two_basis 1 2 840 10045 1 2 3 */ ++684, /* OBJ_X9_62_c2pnb163v1 1 2 840 10045 3 0 1 */ ++685, /* OBJ_X9_62_c2pnb163v2 1 2 840 10045 3 0 2 */ ++686, /* OBJ_X9_62_c2pnb163v3 1 2 840 10045 3 0 3 */ ++687, /* OBJ_X9_62_c2pnb176v1 1 2 840 10045 3 0 4 */ ++688, /* OBJ_X9_62_c2tnb191v1 1 2 840 10045 3 0 5 */ ++689, /* OBJ_X9_62_c2tnb191v2 1 2 840 10045 3 0 6 */ ++690, /* OBJ_X9_62_c2tnb191v3 1 2 840 10045 3 0 7 */ ++691, /* OBJ_X9_62_c2onb191v4 1 2 840 10045 3 0 8 */ ++692, /* OBJ_X9_62_c2onb191v5 1 2 840 10045 3 0 9 */ ++693, /* OBJ_X9_62_c2pnb208w1 1 2 840 10045 3 0 10 */ ++694, /* OBJ_X9_62_c2tnb239v1 1 2 840 10045 3 0 11 */ ++695, /* OBJ_X9_62_c2tnb239v2 1 2 840 10045 3 0 12 */ ++696, /* OBJ_X9_62_c2tnb239v3 1 2 840 10045 3 0 13 */ ++697, /* OBJ_X9_62_c2onb239v4 1 2 840 10045 3 0 14 */ ++698, /* OBJ_X9_62_c2onb239v5 1 2 840 10045 3 0 15 */ ++699, /* OBJ_X9_62_c2pnb272w1 1 2 840 10045 3 0 16 */ ++700, /* OBJ_X9_62_c2pnb304w1 1 2 840 10045 3 0 17 */ ++701, /* OBJ_X9_62_c2tnb359v1 1 2 840 10045 3 0 18 */ ++702, /* OBJ_X9_62_c2pnb368w1 1 2 840 10045 3 0 19 */ ++703, /* OBJ_X9_62_c2tnb431r1 1 2 840 10045 3 0 20 */ ++409, /* OBJ_X9_62_prime192v1 1 2 840 10045 3 1 1 */ ++410, /* OBJ_X9_62_prime192v2 1 2 840 10045 3 1 2 */ ++411, /* OBJ_X9_62_prime192v3 1 2 840 10045 3 1 3 */ ++412, /* OBJ_X9_62_prime239v1 1 2 840 10045 3 1 4 */ ++413, /* OBJ_X9_62_prime239v2 1 2 840 10045 3 1 5 */ ++414, /* OBJ_X9_62_prime239v3 1 2 840 10045 3 1 6 */ ++415, /* OBJ_X9_62_prime256v1 1 2 840 10045 3 1 7 */ ++793, /* OBJ_ecdsa_with_SHA224 1 2 840 10045 4 3 1 */ ++794, /* OBJ_ecdsa_with_SHA256 1 2 840 10045 4 3 2 */ ++795, /* OBJ_ecdsa_with_SHA384 1 2 840 10045 4 3 3 */ ++796, /* OBJ_ecdsa_with_SHA512 1 2 840 10045 4 3 4 */ ++269, /* OBJ_id_pkix1_explicit_88 1 3 6 1 5 5 7 0 1 */ ++270, /* OBJ_id_pkix1_implicit_88 1 3 6 1 5 5 7 0 2 */ ++271, /* OBJ_id_pkix1_explicit_93 1 3 6 1 5 5 7 0 3 */ ++272, /* OBJ_id_pkix1_implicit_93 1 3 6 1 5 5 7 0 4 */ ++273, /* OBJ_id_mod_crmf 1 3 6 1 5 5 7 0 5 */ ++274, /* OBJ_id_mod_cmc 1 3 6 1 5 5 7 0 6 */ ++275, /* OBJ_id_mod_kea_profile_88 1 3 6 1 5 5 7 0 7 */ ++276, /* OBJ_id_mod_kea_profile_93 1 3 6 1 5 5 7 0 8 */ ++277, /* OBJ_id_mod_cmp 1 3 6 1 5 5 7 0 9 */ ++278, /* OBJ_id_mod_qualified_cert_88 1 3 6 1 5 5 7 0 10 */ ++279, /* OBJ_id_mod_qualified_cert_93 1 3 6 1 5 5 7 0 11 */ ++280, /* OBJ_id_mod_attribute_cert 1 3 6 1 5 5 7 0 12 */ ++281, /* OBJ_id_mod_timestamp_protocol 1 3 6 1 5 5 7 0 13 */ ++282, /* OBJ_id_mod_ocsp 1 3 6 1 5 5 7 0 14 */ ++283, /* OBJ_id_mod_dvcs 1 3 6 1 5 5 7 0 15 */ ++284, /* OBJ_id_mod_cmp2000 1 3 6 1 5 5 7 0 16 */ ++177, /* OBJ_info_access 1 3 6 1 5 5 7 1 1 */ ++285, /* OBJ_biometricInfo 1 3 6 1 5 5 7 1 2 */ ++286, /* OBJ_qcStatements 1 3 6 1 5 5 7 1 3 */ ++287, /* OBJ_ac_auditEntity 1 3 6 1 5 5 7 1 4 */ ++288, /* OBJ_ac_targeting 1 3 6 1 5 5 7 1 5 */ ++289, /* OBJ_aaControls 1 3 6 1 5 5 7 1 6 */ ++290, /* OBJ_sbgp_ipAddrBlock 1 3 6 1 5 5 7 1 7 */ ++291, /* OBJ_sbgp_autonomousSysNum 1 3 6 1 5 5 7 1 8 */ ++292, /* OBJ_sbgp_routerIdentifier 1 3 6 1 5 5 7 1 9 */ ++397, /* OBJ_ac_proxying 1 3 6 1 5 5 7 1 10 */ ++398, /* OBJ_sinfo_access 1 3 6 1 5 5 7 1 11 */ ++663, /* OBJ_proxyCertInfo 1 3 6 1 5 5 7 1 14 */ ++164, /* OBJ_id_qt_cps 1 3 6 1 5 5 7 2 1 */ ++165, /* OBJ_id_qt_unotice 1 3 6 1 5 5 7 2 2 */ ++293, /* OBJ_textNotice 1 3 6 1 5 5 7 2 3 */ ++129, /* OBJ_server_auth 1 3 6 1 5 5 7 3 1 */ ++130, /* OBJ_client_auth 1 3 6 1 5 5 7 3 2 */ ++131, /* OBJ_code_sign 1 3 6 1 5 5 7 3 3 */ ++132, /* OBJ_email_protect 1 3 6 1 5 5 7 3 4 */ ++294, /* OBJ_ipsecEndSystem 1 3 6 1 5 5 7 3 5 */ ++295, /* OBJ_ipsecTunnel 1 3 6 1 5 5 7 3 6 */ ++296, /* OBJ_ipsecUser 1 3 6 1 5 5 7 3 7 */ ++133, /* OBJ_time_stamp 1 3 6 1 5 5 7 3 8 */ ++180, /* OBJ_OCSP_sign 1 3 6 1 5 5 7 3 9 */ ++297, /* OBJ_dvcs 1 3 6 1 5 5 7 3 10 */ ++298, /* OBJ_id_it_caProtEncCert 1 3 6 1 5 5 7 4 1 */ ++299, /* OBJ_id_it_signKeyPairTypes 1 3 6 1 5 5 7 4 2 */ ++300, /* OBJ_id_it_encKeyPairTypes 1 3 6 1 5 5 7 4 3 */ ++301, /* OBJ_id_it_preferredSymmAlg 1 3 6 1 5 5 7 4 4 */ ++302, /* OBJ_id_it_caKeyUpdateInfo 1 3 6 1 5 5 7 4 5 */ ++303, /* OBJ_id_it_currentCRL 1 3 6 1 5 5 7 4 6 */ ++304, /* OBJ_id_it_unsupportedOIDs 1 3 6 1 5 5 7 4 7 */ ++305, /* OBJ_id_it_subscriptionRequest 1 3 6 1 5 5 7 4 8 */ ++306, /* OBJ_id_it_subscriptionResponse 1 3 6 1 5 5 7 4 9 */ ++307, /* OBJ_id_it_keyPairParamReq 1 3 6 1 5 5 7 4 10 */ ++308, /* OBJ_id_it_keyPairParamRep 1 3 6 1 5 5 7 4 11 */ ++309, /* OBJ_id_it_revPassphrase 1 3 6 1 5 5 7 4 12 */ ++310, /* OBJ_id_it_implicitConfirm 1 3 6 1 5 5 7 4 13 */ ++311, /* OBJ_id_it_confirmWaitTime 1 3 6 1 5 5 7 4 14 */ ++312, /* OBJ_id_it_origPKIMessage 1 3 6 1 5 5 7 4 15 */ ++784, /* OBJ_id_it_suppLangTags 1 3 6 1 5 5 7 4 16 */ ++313, /* OBJ_id_regCtrl 1 3 6 1 5 5 7 5 1 */ ++314, /* OBJ_id_regInfo 1 3 6 1 5 5 7 5 2 */ ++323, /* OBJ_id_alg_des40 1 3 6 1 5 5 7 6 1 */ ++324, /* OBJ_id_alg_noSignature 1 3 6 1 5 5 7 6 2 */ ++325, /* OBJ_id_alg_dh_sig_hmac_sha1 1 3 6 1 5 5 7 6 3 */ ++326, /* OBJ_id_alg_dh_pop 1 3 6 1 5 5 7 6 4 */ ++327, /* OBJ_id_cmc_statusInfo 1 3 6 1 5 5 7 7 1 */ ++328, /* OBJ_id_cmc_identification 1 3 6 1 5 5 7 7 2 */ ++329, /* OBJ_id_cmc_identityProof 1 3 6 1 5 5 7 7 3 */ ++330, /* OBJ_id_cmc_dataReturn 1 3 6 1 5 5 7 7 4 */ ++331, /* OBJ_id_cmc_transactionId 1 3 6 1 5 5 7 7 5 */ ++332, /* OBJ_id_cmc_senderNonce 1 3 6 1 5 5 7 7 6 */ ++333, /* OBJ_id_cmc_recipientNonce 1 3 6 1 5 5 7 7 7 */ ++334, /* OBJ_id_cmc_addExtensions 1 3 6 1 5 5 7 7 8 */ ++335, /* OBJ_id_cmc_encryptedPOP 1 3 6 1 5 5 7 7 9 */ ++336, /* OBJ_id_cmc_decryptedPOP 1 3 6 1 5 5 7 7 10 */ ++337, /* OBJ_id_cmc_lraPOPWitness 1 3 6 1 5 5 7 7 11 */ ++338, /* OBJ_id_cmc_getCert 1 3 6 1 5 5 7 7 15 */ ++339, /* OBJ_id_cmc_getCRL 1 3 6 1 5 5 7 7 16 */ ++340, /* OBJ_id_cmc_revokeRequest 1 3 6 1 5 5 7 7 17 */ ++341, /* OBJ_id_cmc_regInfo 1 3 6 1 5 5 7 7 18 */ ++342, /* OBJ_id_cmc_responseInfo 1 3 6 1 5 5 7 7 19 */ ++343, /* OBJ_id_cmc_queryPending 1 3 6 1 5 5 7 7 21 */ ++344, /* OBJ_id_cmc_popLinkRandom 1 3 6 1 5 5 7 7 22 */ ++345, /* OBJ_id_cmc_popLinkWitness 1 3 6 1 5 5 7 7 23 */ ++346, /* OBJ_id_cmc_confirmCertAcceptance 1 3 6 1 5 5 7 7 24 */ ++347, /* OBJ_id_on_personalData 1 3 6 1 5 5 7 8 1 */ ++858, /* OBJ_id_on_permanentIdentifier 1 3 6 1 5 5 7 8 3 */ ++348, /* OBJ_id_pda_dateOfBirth 1 3 6 1 5 5 7 9 1 */ ++349, /* OBJ_id_pda_placeOfBirth 1 3 6 1 5 5 7 9 2 */ ++351, /* OBJ_id_pda_gender 1 3 6 1 5 5 7 9 3 */ ++352, /* OBJ_id_pda_countryOfCitizenship 1 3 6 1 5 5 7 9 4 */ ++353, /* OBJ_id_pda_countryOfResidence 1 3 6 1 5 5 7 9 5 */ ++354, /* OBJ_id_aca_authenticationInfo 1 3 6 1 5 5 7 10 1 */ ++355, /* OBJ_id_aca_accessIdentity 1 3 6 1 5 5 7 10 2 */ ++356, /* OBJ_id_aca_chargingIdentity 1 3 6 1 5 5 7 10 3 */ ++357, /* OBJ_id_aca_group 1 3 6 1 5 5 7 10 4 */ ++358, /* OBJ_id_aca_role 1 3 6 1 5 5 7 10 5 */ ++399, /* OBJ_id_aca_encAttrs 1 3 6 1 5 5 7 10 6 */ ++359, /* OBJ_id_qcs_pkixQCSyntax_v1 1 3 6 1 5 5 7 11 1 */ ++360, /* OBJ_id_cct_crs 1 3 6 1 5 5 7 12 1 */ ++361, /* OBJ_id_cct_PKIData 1 3 6 1 5 5 7 12 2 */ ++362, /* OBJ_id_cct_PKIResponse 1 3 6 1 5 5 7 12 3 */ ++664, /* OBJ_id_ppl_anyLanguage 1 3 6 1 5 5 7 21 0 */ ++665, /* OBJ_id_ppl_inheritAll 1 3 6 1 5 5 7 21 1 */ ++667, /* OBJ_Independent 1 3 6 1 5 5 7 21 2 */ ++178, /* OBJ_ad_OCSP 1 3 6 1 5 5 7 48 1 */ ++179, /* OBJ_ad_ca_issuers 1 3 6 1 5 5 7 48 2 */ ++363, /* OBJ_ad_timeStamping 1 3 6 1 5 5 7 48 3 */ ++364, /* OBJ_ad_dvcs 1 3 6 1 5 5 7 48 4 */ ++785, /* OBJ_caRepository 1 3 6 1 5 5 7 48 5 */ ++780, /* OBJ_hmac_md5 1 3 6 1 5 5 8 1 1 */ ++781, /* OBJ_hmac_sha1 1 3 6 1 5 5 8 1 2 */ ++58, /* OBJ_netscape_cert_extension 2 16 840 1 113730 1 */ ++59, /* OBJ_netscape_data_type 2 16 840 1 113730 2 */ ++438, /* OBJ_pilotAttributeType 0 9 2342 19200300 100 1 */ ++439, /* OBJ_pilotAttributeSyntax 0 9 2342 19200300 100 3 */ ++440, /* OBJ_pilotObjectClass 0 9 2342 19200300 100 4 */ ++441, /* OBJ_pilotGroups 0 9 2342 19200300 100 10 */ ++943, /* OBJ_id_tc26_gost_3410_2012_512_paramSetA 1 2 643 7 1 2 1 2 1 */ ++944, /* OBJ_id_tc26_gost_3410_2012_512_paramSetB 1 2 643 7 1 2 1 2 2 */ ++945, /* OBJ_id_tc26_gost_28147_param_Z 1 2 643 7 1 2 5 1 1 */ ++108, /* OBJ_cast5_cbc 1 2 840 113533 7 66 10 */ ++112, /* OBJ_pbeWithMD5AndCast5_CBC 1 2 840 113533 7 66 12 */ ++782, /* OBJ_id_PasswordBasedMAC 1 2 840 113533 7 66 13 */ ++783, /* OBJ_id_DHBasedMac 1 2 840 113533 7 66 30 */ ++ 6, /* OBJ_rsaEncryption 1 2 840 113549 1 1 1 */ ++ 7, /* OBJ_md2WithRSAEncryption 1 2 840 113549 1 1 2 */ ++396, /* OBJ_md4WithRSAEncryption 1 2 840 113549 1 1 3 */ ++ 8, /* OBJ_md5WithRSAEncryption 1 2 840 113549 1 1 4 */ ++65, /* OBJ_sha1WithRSAEncryption 1 2 840 113549 1 1 5 */ ++644, /* OBJ_rsaOAEPEncryptionSET 1 2 840 113549 1 1 6 */ ++919, /* OBJ_rsaesOaep 1 2 840 113549 1 1 7 */ ++911, /* OBJ_mgf1 1 2 840 113549 1 1 8 */ ++912, /* OBJ_rsassaPss 1 2 840 113549 1 1 10 */ ++668, /* OBJ_sha256WithRSAEncryption 1 2 840 113549 1 1 11 */ ++669, /* OBJ_sha384WithRSAEncryption 1 2 840 113549 1 1 12 */ ++670, /* OBJ_sha512WithRSAEncryption 1 2 840 113549 1 1 13 */ ++671, /* OBJ_sha224WithRSAEncryption 1 2 840 113549 1 1 14 */ ++28, /* OBJ_dhKeyAgreement 1 2 840 113549 1 3 1 */ ++ 9, /* OBJ_pbeWithMD2AndDES_CBC 1 2 840 113549 1 5 1 */ ++10, /* OBJ_pbeWithMD5AndDES_CBC 1 2 840 113549 1 5 3 */ ++168, /* OBJ_pbeWithMD2AndRC2_CBC 1 2 840 113549 1 5 4 */ ++169, /* OBJ_pbeWithMD5AndRC2_CBC 1 2 840 113549 1 5 6 */ ++170, /* OBJ_pbeWithSHA1AndDES_CBC 1 2 840 113549 1 5 10 */ ++68, /* OBJ_pbeWithSHA1AndRC2_CBC 1 2 840 113549 1 5 11 */ ++69, /* OBJ_id_pbkdf2 1 2 840 113549 1 5 12 */ ++161, /* OBJ_pbes2 1 2 840 113549 1 5 13 */ ++162, /* OBJ_pbmac1 1 2 840 113549 1 5 14 */ ++21, /* OBJ_pkcs7_data 1 2 840 113549 1 7 1 */ ++22, /* OBJ_pkcs7_signed 1 2 840 113549 1 7 2 */ ++23, /* OBJ_pkcs7_enveloped 1 2 840 113549 1 7 3 */ ++24, /* OBJ_pkcs7_signedAndEnveloped 1 2 840 113549 1 7 4 */ ++25, /* OBJ_pkcs7_digest 1 2 840 113549 1 7 5 */ ++26, /* OBJ_pkcs7_encrypted 1 2 840 113549 1 7 6 */ ++48, /* OBJ_pkcs9_emailAddress 1 2 840 113549 1 9 1 */ ++49, /* OBJ_pkcs9_unstructuredName 1 2 840 113549 1 9 2 */ ++50, /* OBJ_pkcs9_contentType 1 2 840 113549 1 9 3 */ ++51, /* OBJ_pkcs9_messageDigest 1 2 840 113549 1 9 4 */ ++52, /* OBJ_pkcs9_signingTime 1 2 840 113549 1 9 5 */ ++53, /* OBJ_pkcs9_countersignature 1 2 840 113549 1 9 6 */ ++54, /* OBJ_pkcs9_challengePassword 1 2 840 113549 1 9 7 */ ++55, /* OBJ_pkcs9_unstructuredAddress 1 2 840 113549 1 9 8 */ ++56, /* OBJ_pkcs9_extCertAttributes 1 2 840 113549 1 9 9 */ ++172, /* OBJ_ext_req 1 2 840 113549 1 9 14 */ ++167, /* OBJ_SMIMECapabilities 1 2 840 113549 1 9 15 */ ++188, /* OBJ_SMIME 1 2 840 113549 1 9 16 */ ++156, /* OBJ_friendlyName 1 2 840 113549 1 9 20 */ ++157, /* OBJ_localKeyID 1 2 840 113549 1 9 21 */ ++681, /* OBJ_X9_62_onBasis 1 2 840 10045 1 2 3 1 */ ++682, /* OBJ_X9_62_tpBasis 1 2 840 10045 1 2 3 2 */ ++683, /* OBJ_X9_62_ppBasis 1 2 840 10045 1 2 3 3 */ ++417, /* OBJ_ms_csp_name 1 3 6 1 4 1 311 17 1 */ ++856, /* OBJ_LocalKeySet 1 3 6 1 4 1 311 17 2 */ ++390, /* OBJ_dcObject 1 3 6 1 4 1 1466 344 */ ++91, /* OBJ_bf_cbc 1 3 6 1 4 1 3029 1 2 */ ++315, /* OBJ_id_regCtrl_regToken 1 3 6 1 5 5 7 5 1 1 */ ++316, /* OBJ_id_regCtrl_authenticator 1 3 6 1 5 5 7 5 1 2 */ ++317, /* OBJ_id_regCtrl_pkiPublicationInfo 1 3 6 1 5 5 7 5 1 3 */ ++318, /* OBJ_id_regCtrl_pkiArchiveOptions 1 3 6 1 5 5 7 5 1 4 */ ++319, /* OBJ_id_regCtrl_oldCertID 1 3 6 1 5 5 7 5 1 5 */ ++320, /* OBJ_id_regCtrl_protocolEncrKey 1 3 6 1 5 5 7 5 1 6 */ ++321, /* OBJ_id_regInfo_utf8Pairs 1 3 6 1 5 5 7 5 2 1 */ ++322, /* OBJ_id_regInfo_certReq 1 3 6 1 5 5 7 5 2 2 */ ++365, /* OBJ_id_pkix_OCSP_basic 1 3 6 1 5 5 7 48 1 1 */ ++366, /* OBJ_id_pkix_OCSP_Nonce 1 3 6 1 5 5 7 48 1 2 */ ++367, /* OBJ_id_pkix_OCSP_CrlID 1 3 6 1 5 5 7 48 1 3 */ ++368, /* OBJ_id_pkix_OCSP_acceptableResponses 1 3 6 1 5 5 7 48 1 4 */ ++369, /* OBJ_id_pkix_OCSP_noCheck 1 3 6 1 5 5 7 48 1 5 */ ++370, /* OBJ_id_pkix_OCSP_archiveCutoff 1 3 6 1 5 5 7 48 1 6 */ ++371, /* OBJ_id_pkix_OCSP_serviceLocator 1 3 6 1 5 5 7 48 1 7 */ ++372, /* OBJ_id_pkix_OCSP_extendedStatus 1 3 6 1 5 5 7 48 1 8 */ ++373, /* OBJ_id_pkix_OCSP_valid 1 3 6 1 5 5 7 48 1 9 */ ++374, /* OBJ_id_pkix_OCSP_path 1 3 6 1 5 5 7 48 1 10 */ ++375, /* OBJ_id_pkix_OCSP_trustRoot 1 3 6 1 5 5 7 48 1 11 */ ++922, /* OBJ_brainpoolP160r1 1 3 36 3 3 2 8 1 1 1 */ ++923, /* OBJ_brainpoolP160t1 1 3 36 3 3 2 8 1 1 2 */ ++924, /* OBJ_brainpoolP192r1 1 3 36 3 3 2 8 1 1 3 */ ++925, /* OBJ_brainpoolP192t1 1 3 36 3 3 2 8 1 1 4 */ ++926, /* OBJ_brainpoolP224r1 1 3 36 3 3 2 8 1 1 5 */ ++927, /* OBJ_brainpoolP224t1 1 3 36 3 3 2 8 1 1 6 */ ++928, /* OBJ_brainpoolP256r1 1 3 36 3 3 2 8 1 1 7 */ ++929, /* OBJ_brainpoolP256t1 1 3 36 3 3 2 8 1 1 8 */ ++930, /* OBJ_brainpoolP320r1 1 3 36 3 3 2 8 1 1 9 */ ++931, /* OBJ_brainpoolP320t1 1 3 36 3 3 2 8 1 1 10 */ ++932, /* OBJ_brainpoolP384r1 1 3 36 3 3 2 8 1 1 11 */ ++933, /* OBJ_brainpoolP384t1 1 3 36 3 3 2 8 1 1 12 */ ++934, /* OBJ_brainpoolP512r1 1 3 36 3 3 2 8 1 1 13 */ ++935, /* OBJ_brainpoolP512t1 1 3 36 3 3 2 8 1 1 14 */ ++418, /* OBJ_aes_128_ecb 2 16 840 1 101 3 4 1 1 */ ++419, /* OBJ_aes_128_cbc 2 16 840 1 101 3 4 1 2 */ ++420, /* OBJ_aes_128_ofb128 2 16 840 1 101 3 4 1 3 */ ++421, /* OBJ_aes_128_cfb128 2 16 840 1 101 3 4 1 4 */ ++788, /* OBJ_id_aes128_wrap 2 16 840 1 101 3 4 1 5 */ ++895, /* OBJ_aes_128_gcm 2 16 840 1 101 3 4 1 6 */ ++896, /* OBJ_aes_128_ccm 2 16 840 1 101 3 4 1 7 */ ++897, /* OBJ_id_aes128_wrap_pad 2 16 840 1 101 3 4 1 8 */ ++422, /* OBJ_aes_192_ecb 2 16 840 1 101 3 4 1 21 */ ++423, /* OBJ_aes_192_cbc 2 16 840 1 101 3 4 1 22 */ ++424, /* OBJ_aes_192_ofb128 2 16 840 1 101 3 4 1 23 */ ++425, /* OBJ_aes_192_cfb128 2 16 840 1 101 3 4 1 24 */ ++789, /* OBJ_id_aes192_wrap 2 16 840 1 101 3 4 1 25 */ ++898, /* OBJ_aes_192_gcm 2 16 840 1 101 3 4 1 26 */ ++899, /* OBJ_aes_192_ccm 2 16 840 1 101 3 4 1 27 */ ++900, /* OBJ_id_aes192_wrap_pad 2 16 840 1 101 3 4 1 28 */ ++426, /* OBJ_aes_256_ecb 2 16 840 1 101 3 4 1 41 */ ++427, /* OBJ_aes_256_cbc 2 16 840 1 101 3 4 1 42 */ ++428, /* OBJ_aes_256_ofb128 2 16 840 1 101 3 4 1 43 */ ++429, /* OBJ_aes_256_cfb128 2 16 840 1 101 3 4 1 44 */ ++790, /* OBJ_id_aes256_wrap 2 16 840 1 101 3 4 1 45 */ ++901, /* OBJ_aes_256_gcm 2 16 840 1 101 3 4 1 46 */ ++902, /* OBJ_aes_256_ccm 2 16 840 1 101 3 4 1 47 */ ++903, /* OBJ_id_aes256_wrap_pad 2 16 840 1 101 3 4 1 48 */ ++672, /* OBJ_sha256 2 16 840 1 101 3 4 2 1 */ ++673, /* OBJ_sha384 2 16 840 1 101 3 4 2 2 */ ++674, /* OBJ_sha512 2 16 840 1 101 3 4 2 3 */ ++675, /* OBJ_sha224 2 16 840 1 101 3 4 2 4 */ ++802, /* OBJ_dsa_with_SHA224 2 16 840 1 101 3 4 3 1 */ ++803, /* OBJ_dsa_with_SHA256 2 16 840 1 101 3 4 3 2 */ ++71, /* OBJ_netscape_cert_type 2 16 840 1 113730 1 1 */ ++72, /* OBJ_netscape_base_url 2 16 840 1 113730 1 2 */ ++73, /* OBJ_netscape_revocation_url 2 16 840 1 113730 1 3 */ ++74, /* OBJ_netscape_ca_revocation_url 2 16 840 1 113730 1 4 */ ++75, /* OBJ_netscape_renewal_url 2 16 840 1 113730 1 7 */ ++76, /* OBJ_netscape_ca_policy_url 2 16 840 1 113730 1 8 */ ++77, /* OBJ_netscape_ssl_server_name 2 16 840 1 113730 1 12 */ ++78, /* OBJ_netscape_comment 2 16 840 1 113730 1 13 */ ++79, /* OBJ_netscape_cert_sequence 2 16 840 1 113730 2 5 */ ++139, /* OBJ_ns_sgc 2 16 840 1 113730 4 1 */ ++458, /* OBJ_userId 0 9 2342 19200300 100 1 1 */ ++459, /* OBJ_textEncodedORAddress 0 9 2342 19200300 100 1 2 */ ++460, /* OBJ_rfc822Mailbox 0 9 2342 19200300 100 1 3 */ ++461, /* OBJ_info 0 9 2342 19200300 100 1 4 */ ++462, /* OBJ_favouriteDrink 0 9 2342 19200300 100 1 5 */ ++463, /* OBJ_roomNumber 0 9 2342 19200300 100 1 6 */ ++464, /* OBJ_photo 0 9 2342 19200300 100 1 7 */ ++465, /* OBJ_userClass 0 9 2342 19200300 100 1 8 */ ++466, /* OBJ_host 0 9 2342 19200300 100 1 9 */ ++467, /* OBJ_manager 0 9 2342 19200300 100 1 10 */ ++468, /* OBJ_documentIdentifier 0 9 2342 19200300 100 1 11 */ ++469, /* OBJ_documentTitle 0 9 2342 19200300 100 1 12 */ ++470, /* OBJ_documentVersion 0 9 2342 19200300 100 1 13 */ ++471, /* OBJ_documentAuthor 0 9 2342 19200300 100 1 14 */ ++472, /* OBJ_documentLocation 0 9 2342 19200300 100 1 15 */ ++473, /* OBJ_homeTelephoneNumber 0 9 2342 19200300 100 1 20 */ ++474, /* OBJ_secretary 0 9 2342 19200300 100 1 21 */ ++475, /* OBJ_otherMailbox 0 9 2342 19200300 100 1 22 */ ++476, /* OBJ_lastModifiedTime 0 9 2342 19200300 100 1 23 */ ++477, /* OBJ_lastModifiedBy 0 9 2342 19200300 100 1 24 */ ++391, /* OBJ_domainComponent 0 9 2342 19200300 100 1 25 */ ++478, /* OBJ_aRecord 0 9 2342 19200300 100 1 26 */ ++479, /* OBJ_pilotAttributeType27 0 9 2342 19200300 100 1 27 */ ++480, /* OBJ_mXRecord 0 9 2342 19200300 100 1 28 */ ++481, /* OBJ_nSRecord 0 9 2342 19200300 100 1 29 */ ++482, /* OBJ_sOARecord 0 9 2342 19200300 100 1 30 */ ++483, /* OBJ_cNAMERecord 0 9 2342 19200300 100 1 31 */ ++484, /* OBJ_associatedDomain 0 9 2342 19200300 100 1 37 */ ++485, /* OBJ_associatedName 0 9 2342 19200300 100 1 38 */ ++486, /* OBJ_homePostalAddress 0 9 2342 19200300 100 1 39 */ ++487, /* OBJ_personalTitle 0 9 2342 19200300 100 1 40 */ ++488, /* OBJ_mobileTelephoneNumber 0 9 2342 19200300 100 1 41 */ ++489, /* OBJ_pagerTelephoneNumber 0 9 2342 19200300 100 1 42 */ ++490, /* OBJ_friendlyCountryName 0 9 2342 19200300 100 1 43 */ ++491, /* OBJ_organizationalStatus 0 9 2342 19200300 100 1 45 */ ++492, /* OBJ_janetMailbox 0 9 2342 19200300 100 1 46 */ ++493, /* OBJ_mailPreferenceOption 0 9 2342 19200300 100 1 47 */ ++494, /* OBJ_buildingName 0 9 2342 19200300 100 1 48 */ ++495, /* OBJ_dSAQuality 0 9 2342 19200300 100 1 49 */ ++496, /* OBJ_singleLevelQuality 0 9 2342 19200300 100 1 50 */ ++497, /* OBJ_subtreeMinimumQuality 0 9 2342 19200300 100 1 51 */ ++498, /* OBJ_subtreeMaximumQuality 0 9 2342 19200300 100 1 52 */ ++499, /* OBJ_personalSignature 0 9 2342 19200300 100 1 53 */ ++500, /* OBJ_dITRedirect 0 9 2342 19200300 100 1 54 */ ++501, /* OBJ_audio 0 9 2342 19200300 100 1 55 */ ++502, /* OBJ_documentPublisher 0 9 2342 19200300 100 1 56 */ ++442, /* OBJ_iA5StringSyntax 0 9 2342 19200300 100 3 4 */ ++443, /* OBJ_caseIgnoreIA5StringSyntax 0 9 2342 19200300 100 3 5 */ ++444, /* OBJ_pilotObject 0 9 2342 19200300 100 4 3 */ ++445, /* OBJ_pilotPerson 0 9 2342 19200300 100 4 4 */ ++446, /* OBJ_account 0 9 2342 19200300 100 4 5 */ ++447, /* OBJ_document 0 9 2342 19200300 100 4 6 */ ++448, /* OBJ_room 0 9 2342 19200300 100 4 7 */ ++449, /* OBJ_documentSeries 0 9 2342 19200300 100 4 9 */ ++392, /* OBJ_Domain 0 9 2342 19200300 100 4 13 */ ++450, /* OBJ_rFC822localPart 0 9 2342 19200300 100 4 14 */ ++451, /* OBJ_dNSDomain 0 9 2342 19200300 100 4 15 */ ++452, /* OBJ_domainRelatedObject 0 9 2342 19200300 100 4 17 */ ++453, /* OBJ_friendlyCountry 0 9 2342 19200300 100 4 18 */ ++454, /* OBJ_simpleSecurityObject 0 9 2342 19200300 100 4 19 */ ++455, /* OBJ_pilotOrganization 0 9 2342 19200300 100 4 20 */ ++456, /* OBJ_pilotDSA 0 9 2342 19200300 100 4 21 */ ++457, /* OBJ_qualityLabelledData 0 9 2342 19200300 100 4 22 */ ++936, /* OBJ_FRP256v1 1 2 250 1 223 101 256 1 */ ++189, /* OBJ_id_smime_mod 1 2 840 113549 1 9 16 0 */ ++190, /* OBJ_id_smime_ct 1 2 840 113549 1 9 16 1 */ ++191, /* OBJ_id_smime_aa 1 2 840 113549 1 9 16 2 */ ++192, /* OBJ_id_smime_alg 1 2 840 113549 1 9 16 3 */ ++193, /* OBJ_id_smime_cd 1 2 840 113549 1 9 16 4 */ ++194, /* OBJ_id_smime_spq 1 2 840 113549 1 9 16 5 */ ++195, /* OBJ_id_smime_cti 1 2 840 113549 1 9 16 6 */ ++158, /* OBJ_x509Certificate 1 2 840 113549 1 9 22 1 */ ++159, /* OBJ_sdsiCertificate 1 2 840 113549 1 9 22 2 */ ++160, /* OBJ_x509Crl 1 2 840 113549 1 9 23 1 */ ++144, /* OBJ_pbe_WithSHA1And128BitRC4 1 2 840 113549 1 12 1 1 */ ++145, /* OBJ_pbe_WithSHA1And40BitRC4 1 2 840 113549 1 12 1 2 */ ++146, /* OBJ_pbe_WithSHA1And3_Key_TripleDES_CBC 1 2 840 113549 1 12 1 3 */ ++147, /* OBJ_pbe_WithSHA1And2_Key_TripleDES_CBC 1 2 840 113549 1 12 1 4 */ ++148, /* OBJ_pbe_WithSHA1And128BitRC2_CBC 1 2 840 113549 1 12 1 5 */ ++149, /* OBJ_pbe_WithSHA1And40BitRC2_CBC 1 2 840 113549 1 12 1 6 */ ++171, /* OBJ_ms_ext_req 1 3 6 1 4 1 311 2 1 14 */ ++134, /* OBJ_ms_code_ind 1 3 6 1 4 1 311 2 1 21 */ ++135, /* OBJ_ms_code_com 1 3 6 1 4 1 311 2 1 22 */ ++136, /* OBJ_ms_ctl_sign 1 3 6 1 4 1 311 10 3 1 */ ++137, /* OBJ_ms_sgc 1 3 6 1 4 1 311 10 3 3 */ ++138, /* OBJ_ms_efs 1 3 6 1 4 1 311 10 3 4 */ ++648, /* OBJ_ms_smartcard_login 1 3 6 1 4 1 311 20 2 2 */ ++649, /* OBJ_ms_upn 1 3 6 1 4 1 311 20 2 3 */ ++751, /* OBJ_camellia_128_cbc 1 2 392 200011 61 1 1 1 2 */ ++752, /* OBJ_camellia_192_cbc 1 2 392 200011 61 1 1 1 3 */ ++753, /* OBJ_camellia_256_cbc 1 2 392 200011 61 1 1 1 4 */ ++907, /* OBJ_id_camellia128_wrap 1 2 392 200011 61 1 1 3 2 */ ++908, /* OBJ_id_camellia192_wrap 1 2 392 200011 61 1 1 3 3 */ ++909, /* OBJ_id_camellia256_wrap 1 2 392 200011 61 1 1 3 4 */ ++196, /* OBJ_id_smime_mod_cms 1 2 840 113549 1 9 16 0 1 */ ++197, /* OBJ_id_smime_mod_ess 1 2 840 113549 1 9 16 0 2 */ ++198, /* OBJ_id_smime_mod_oid 1 2 840 113549 1 9 16 0 3 */ ++199, /* OBJ_id_smime_mod_msg_v3 1 2 840 113549 1 9 16 0 4 */ ++200, /* OBJ_id_smime_mod_ets_eSignature_88 1 2 840 113549 1 9 16 0 5 */ ++201, /* OBJ_id_smime_mod_ets_eSignature_97 1 2 840 113549 1 9 16 0 6 */ ++202, /* OBJ_id_smime_mod_ets_eSigPolicy_88 1 2 840 113549 1 9 16 0 7 */ ++203, /* OBJ_id_smime_mod_ets_eSigPolicy_97 1 2 840 113549 1 9 16 0 8 */ ++204, /* OBJ_id_smime_ct_receipt 1 2 840 113549 1 9 16 1 1 */ ++205, /* OBJ_id_smime_ct_authData 1 2 840 113549 1 9 16 1 2 */ ++206, /* OBJ_id_smime_ct_publishCert 1 2 840 113549 1 9 16 1 3 */ ++207, /* OBJ_id_smime_ct_TSTInfo 1 2 840 113549 1 9 16 1 4 */ ++208, /* OBJ_id_smime_ct_TDTInfo 1 2 840 113549 1 9 16 1 5 */ ++209, /* OBJ_id_smime_ct_contentInfo 1 2 840 113549 1 9 16 1 6 */ ++210, /* OBJ_id_smime_ct_DVCSRequestData 1 2 840 113549 1 9 16 1 7 */ ++211, /* OBJ_id_smime_ct_DVCSResponseData 1 2 840 113549 1 9 16 1 8 */ ++786, /* OBJ_id_smime_ct_compressedData 1 2 840 113549 1 9 16 1 9 */ ++787, /* OBJ_id_ct_asciiTextWithCRLF 1 2 840 113549 1 9 16 1 27 */ ++212, /* OBJ_id_smime_aa_receiptRequest 1 2 840 113549 1 9 16 2 1 */ ++213, /* OBJ_id_smime_aa_securityLabel 1 2 840 113549 1 9 16 2 2 */ ++214, /* OBJ_id_smime_aa_mlExpandHistory 1 2 840 113549 1 9 16 2 3 */ ++215, /* OBJ_id_smime_aa_contentHint 1 2 840 113549 1 9 16 2 4 */ ++216, /* OBJ_id_smime_aa_msgSigDigest 1 2 840 113549 1 9 16 2 5 */ ++217, /* OBJ_id_smime_aa_encapContentType 1 2 840 113549 1 9 16 2 6 */ ++218, /* OBJ_id_smime_aa_contentIdentifier 1 2 840 113549 1 9 16 2 7 */ ++219, /* OBJ_id_smime_aa_macValue 1 2 840 113549 1 9 16 2 8 */ ++220, /* OBJ_id_smime_aa_equivalentLabels 1 2 840 113549 1 9 16 2 9 */ ++221, /* OBJ_id_smime_aa_contentReference 1 2 840 113549 1 9 16 2 10 */ ++222, /* OBJ_id_smime_aa_encrypKeyPref 1 2 840 113549 1 9 16 2 11 */ ++223, /* OBJ_id_smime_aa_signingCertificate 1 2 840 113549 1 9 16 2 12 */ ++224, /* OBJ_id_smime_aa_smimeEncryptCerts 1 2 840 113549 1 9 16 2 13 */ ++225, /* OBJ_id_smime_aa_timeStampToken 1 2 840 113549 1 9 16 2 14 */ ++226, /* OBJ_id_smime_aa_ets_sigPolicyId 1 2 840 113549 1 9 16 2 15 */ ++227, /* OBJ_id_smime_aa_ets_commitmentType 1 2 840 113549 1 9 16 2 16 */ ++228, /* OBJ_id_smime_aa_ets_signerLocation 1 2 840 113549 1 9 16 2 17 */ ++229, /* OBJ_id_smime_aa_ets_signerAttr 1 2 840 113549 1 9 16 2 18 */ ++230, /* OBJ_id_smime_aa_ets_otherSigCert 1 2 840 113549 1 9 16 2 19 */ ++231, /* OBJ_id_smime_aa_ets_contentTimestamp 1 2 840 113549 1 9 16 2 20 */ ++232, /* OBJ_id_smime_aa_ets_CertificateRefs 1 2 840 113549 1 9 16 2 21 */ ++233, /* OBJ_id_smime_aa_ets_RevocationRefs 1 2 840 113549 1 9 16 2 22 */ ++234, /* OBJ_id_smime_aa_ets_certValues 1 2 840 113549 1 9 16 2 23 */ ++235, /* OBJ_id_smime_aa_ets_revocationValues 1 2 840 113549 1 9 16 2 24 */ ++236, /* OBJ_id_smime_aa_ets_escTimeStamp 1 2 840 113549 1 9 16 2 25 */ ++237, /* OBJ_id_smime_aa_ets_certCRLTimestamp 1 2 840 113549 1 9 16 2 26 */ ++238, /* OBJ_id_smime_aa_ets_archiveTimeStamp 1 2 840 113549 1 9 16 2 27 */ ++239, /* OBJ_id_smime_aa_signatureType 1 2 840 113549 1 9 16 2 28 */ ++240, /* OBJ_id_smime_aa_dvcs_dvc 1 2 840 113549 1 9 16 2 29 */ ++241, /* OBJ_id_smime_alg_ESDHwith3DES 1 2 840 113549 1 9 16 3 1 */ ++242, /* OBJ_id_smime_alg_ESDHwithRC2 1 2 840 113549 1 9 16 3 2 */ ++243, /* OBJ_id_smime_alg_3DESwrap 1 2 840 113549 1 9 16 3 3 */ ++244, /* OBJ_id_smime_alg_RC2wrap 1 2 840 113549 1 9 16 3 4 */ ++245, /* OBJ_id_smime_alg_ESDH 1 2 840 113549 1 9 16 3 5 */ ++246, /* OBJ_id_smime_alg_CMS3DESwrap 1 2 840 113549 1 9 16 3 6 */ ++247, /* OBJ_id_smime_alg_CMSRC2wrap 1 2 840 113549 1 9 16 3 7 */ ++125, /* OBJ_zlib_compression 1 2 840 113549 1 9 16 3 8 */ ++893, /* OBJ_id_alg_PWRI_KEK 1 2 840 113549 1 9 16 3 9 */ ++248, /* OBJ_id_smime_cd_ldap 1 2 840 113549 1 9 16 4 1 */ ++249, /* OBJ_id_smime_spq_ets_sqt_uri 1 2 840 113549 1 9 16 5 1 */ ++250, /* OBJ_id_smime_spq_ets_sqt_unotice 1 2 840 113549 1 9 16 5 2 */ ++251, /* OBJ_id_smime_cti_ets_proofOfOrigin 1 2 840 113549 1 9 16 6 1 */ ++252, /* OBJ_id_smime_cti_ets_proofOfReceipt 1 2 840 113549 1 9 16 6 2 */ ++253, /* OBJ_id_smime_cti_ets_proofOfDelivery 1 2 840 113549 1 9 16 6 3 */ ++254, /* OBJ_id_smime_cti_ets_proofOfSender 1 2 840 113549 1 9 16 6 4 */ ++255, /* OBJ_id_smime_cti_ets_proofOfApproval 1 2 840 113549 1 9 16 6 5 */ ++256, /* OBJ_id_smime_cti_ets_proofOfCreation 1 2 840 113549 1 9 16 6 6 */ ++150, /* OBJ_keyBag 1 2 840 113549 1 12 10 1 1 */ ++151, /* OBJ_pkcs8ShroudedKeyBag 1 2 840 113549 1 12 10 1 2 */ ++152, /* OBJ_certBag 1 2 840 113549 1 12 10 1 3 */ ++153, /* OBJ_crlBag 1 2 840 113549 1 12 10 1 4 */ ++154, /* OBJ_secretBag 1 2 840 113549 1 12 10 1 5 */ ++155, /* OBJ_safeContentsBag 1 2 840 113549 1 12 10 1 6 */ ++34, /* OBJ_idea_cbc 1 3 6 1 4 1 188 7 1 1 2 */ ++}; ++ +diff --git a/src/lib/libcrypto/objects/obj_mac.h b/src/lib/libcrypto/objects/obj_mac.h +new file mode 100644 +index 0000000..f727262 +--- /dev/null ++++ b/src/lib/libcrypto/objects/obj_mac.h +@@ -0,0 +1,4156 @@ ++/* crypto/objects/obj_mac.h */ ++ ++/* THIS FILE IS GENERATED FROM objects.txt by objects.pl via the ++ * following command: ++ * perl objects.pl objects.txt obj_mac.num obj_mac.h ++ */ ++ ++/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) ++ * All rights reserved. ++ * ++ * This package is an SSL implementation written ++ * by Eric Young (eay@cryptsoft.com). ++ * The implementation was written so as to conform with Netscapes SSL. ++ * ++ * This library is free for commercial and non-commercial use as long as ++ * the following conditions are aheared to. The following conditions ++ * apply to all code found in this distribution, be it the RC4, RSA, ++ * lhash, DES, etc., code; not just the SSL code. The SSL documentation ++ * included with this distribution is covered by the same copyright terms ++ * except that the holder is Tim Hudson (tjh@cryptsoft.com). ++ * ++ * Copyright remains Eric Young's, and as such any Copyright notices in ++ * the code are not to be removed. ++ * If this package is used in a product, Eric Young should be given attribution ++ * as the author of the parts of the library used. ++ * This can be in the form of a textual message at program startup or ++ * in documentation (online or textual) provided with the package. ++ * ++ * 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 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. All advertising materials mentioning features or use of this software ++ * must display the following acknowledgement: ++ * "This product includes cryptographic software written by ++ * Eric Young (eay@cryptsoft.com)" ++ * The word 'cryptographic' can be left out if the rouines from the library ++ * being used are not cryptographic related :-). ++ * 4. If you include any Windows specific code (or a derivative thereof) from ++ * the apps directory (application code) you must include an acknowledgement: ++ * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" ++ * ++ * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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. ++ * ++ * The licence and distribution terms for any publically available version or ++ * derivative of this code cannot be changed. i.e. this code cannot simply be ++ * copied and put under another distribution licence ++ * [including the GNU Public Licence.] ++ */ ++ ++#define SN_undef "UNDEF" ++#define LN_undef "undefined" ++#define NID_undef 0 ++#define OBJ_undef 0L ++ ++#define SN_itu_t "ITU-T" ++#define LN_itu_t "itu-t" ++#define NID_itu_t 645 ++#define OBJ_itu_t 0L ++ ++#define NID_ccitt 404 ++#define OBJ_ccitt OBJ_itu_t ++ ++#define SN_iso "ISO" ++#define LN_iso "iso" ++#define NID_iso 181 ++#define OBJ_iso 1L ++ ++#define SN_joint_iso_itu_t "JOINT-ISO-ITU-T" ++#define LN_joint_iso_itu_t "joint-iso-itu-t" ++#define NID_joint_iso_itu_t 646 ++#define OBJ_joint_iso_itu_t 2L ++ ++#define NID_joint_iso_ccitt 393 ++#define OBJ_joint_iso_ccitt OBJ_joint_iso_itu_t ++ ++#define SN_member_body "member-body" ++#define LN_member_body "ISO Member Body" ++#define NID_member_body 182 ++#define OBJ_member_body OBJ_iso,2L ++ ++#define SN_identified_organization "identified-organization" ++#define NID_identified_organization 676 ++#define OBJ_identified_organization OBJ_iso,3L ++ ++#define SN_hmac_md5 "HMAC-MD5" ++#define LN_hmac_md5 "hmac-md5" ++#define NID_hmac_md5 780 ++#define OBJ_hmac_md5 OBJ_identified_organization,6L,1L,5L,5L,8L,1L,1L ++ ++#define SN_hmac_sha1 "HMAC-SHA1" ++#define LN_hmac_sha1 "hmac-sha1" ++#define NID_hmac_sha1 781 ++#define OBJ_hmac_sha1 OBJ_identified_organization,6L,1L,5L,5L,8L,1L,2L ++ ++#define SN_certicom_arc "certicom-arc" ++#define NID_certicom_arc 677 ++#define OBJ_certicom_arc OBJ_identified_organization,132L ++ ++#define SN_international_organizations "international-organizations" ++#define LN_international_organizations "International Organizations" ++#define NID_international_organizations 647 ++#define OBJ_international_organizations OBJ_joint_iso_itu_t,23L ++ ++#define SN_wap "wap" ++#define NID_wap 678 ++#define OBJ_wap OBJ_international_organizations,43L ++ ++#define SN_wap_wsg "wap-wsg" ++#define NID_wap_wsg 679 ++#define OBJ_wap_wsg OBJ_wap,1L ++ ++#define SN_selected_attribute_types "selected-attribute-types" ++#define LN_selected_attribute_types "Selected Attribute Types" ++#define NID_selected_attribute_types 394 ++#define OBJ_selected_attribute_types OBJ_joint_iso_itu_t,5L,1L,5L ++ ++#define SN_clearance "clearance" ++#define NID_clearance 395 ++#define OBJ_clearance OBJ_selected_attribute_types,55L ++ ++#define SN_ISO_US "ISO-US" ++#define LN_ISO_US "ISO US Member Body" ++#define NID_ISO_US 183 ++#define OBJ_ISO_US OBJ_member_body,840L ++ ++#define SN_X9_57 "X9-57" ++#define LN_X9_57 "X9.57" ++#define NID_X9_57 184 ++#define OBJ_X9_57 OBJ_ISO_US,10040L ++ ++#define SN_X9cm "X9cm" ++#define LN_X9cm "X9.57 CM ?" ++#define NID_X9cm 185 ++#define OBJ_X9cm OBJ_X9_57,4L ++ ++#define SN_dsa "DSA" ++#define LN_dsa "dsaEncryption" ++#define NID_dsa 116 ++#define OBJ_dsa OBJ_X9cm,1L ++ ++#define SN_dsaWithSHA1 "DSA-SHA1" ++#define LN_dsaWithSHA1 "dsaWithSHA1" ++#define NID_dsaWithSHA1 113 ++#define OBJ_dsaWithSHA1 OBJ_X9cm,3L ++ ++#define SN_ansi_X9_62 "ansi-X9-62" ++#define LN_ansi_X9_62 "ANSI X9.62" ++#define NID_ansi_X9_62 405 ++#define OBJ_ansi_X9_62 OBJ_ISO_US,10045L ++ ++#define OBJ_X9_62_id_fieldType OBJ_ansi_X9_62,1L ++ ++#define SN_X9_62_prime_field "prime-field" ++#define NID_X9_62_prime_field 406 ++#define OBJ_X9_62_prime_field OBJ_X9_62_id_fieldType,1L ++ ++#define SN_X9_62_characteristic_two_field "characteristic-two-field" ++#define NID_X9_62_characteristic_two_field 407 ++#define OBJ_X9_62_characteristic_two_field OBJ_X9_62_id_fieldType,2L ++ ++#define SN_X9_62_id_characteristic_two_basis "id-characteristic-two-basis" ++#define NID_X9_62_id_characteristic_two_basis 680 ++#define OBJ_X9_62_id_characteristic_two_basis OBJ_X9_62_characteristic_two_field,3L ++ ++#define SN_X9_62_onBasis "onBasis" ++#define NID_X9_62_onBasis 681 ++#define OBJ_X9_62_onBasis OBJ_X9_62_id_characteristic_two_basis,1L ++ ++#define SN_X9_62_tpBasis "tpBasis" ++#define NID_X9_62_tpBasis 682 ++#define OBJ_X9_62_tpBasis OBJ_X9_62_id_characteristic_two_basis,2L ++ ++#define SN_X9_62_ppBasis "ppBasis" ++#define NID_X9_62_ppBasis 683 ++#define OBJ_X9_62_ppBasis OBJ_X9_62_id_characteristic_two_basis,3L ++ ++#define OBJ_X9_62_id_publicKeyType OBJ_ansi_X9_62,2L ++ ++#define SN_X9_62_id_ecPublicKey "id-ecPublicKey" ++#define NID_X9_62_id_ecPublicKey 408 ++#define OBJ_X9_62_id_ecPublicKey OBJ_X9_62_id_publicKeyType,1L ++ ++#define OBJ_X9_62_ellipticCurve OBJ_ansi_X9_62,3L ++ ++#define OBJ_X9_62_c_TwoCurve OBJ_X9_62_ellipticCurve,0L ++ ++#define SN_X9_62_c2pnb163v1 "c2pnb163v1" ++#define NID_X9_62_c2pnb163v1 684 ++#define OBJ_X9_62_c2pnb163v1 OBJ_X9_62_c_TwoCurve,1L ++ ++#define SN_X9_62_c2pnb163v2 "c2pnb163v2" ++#define NID_X9_62_c2pnb163v2 685 ++#define OBJ_X9_62_c2pnb163v2 OBJ_X9_62_c_TwoCurve,2L ++ ++#define SN_X9_62_c2pnb163v3 "c2pnb163v3" ++#define NID_X9_62_c2pnb163v3 686 ++#define OBJ_X9_62_c2pnb163v3 OBJ_X9_62_c_TwoCurve,3L ++ ++#define SN_X9_62_c2pnb176v1 "c2pnb176v1" ++#define NID_X9_62_c2pnb176v1 687 ++#define OBJ_X9_62_c2pnb176v1 OBJ_X9_62_c_TwoCurve,4L ++ ++#define SN_X9_62_c2tnb191v1 "c2tnb191v1" ++#define NID_X9_62_c2tnb191v1 688 ++#define OBJ_X9_62_c2tnb191v1 OBJ_X9_62_c_TwoCurve,5L ++ ++#define SN_X9_62_c2tnb191v2 "c2tnb191v2" ++#define NID_X9_62_c2tnb191v2 689 ++#define OBJ_X9_62_c2tnb191v2 OBJ_X9_62_c_TwoCurve,6L ++ ++#define SN_X9_62_c2tnb191v3 "c2tnb191v3" ++#define NID_X9_62_c2tnb191v3 690 ++#define OBJ_X9_62_c2tnb191v3 OBJ_X9_62_c_TwoCurve,7L ++ ++#define SN_X9_62_c2onb191v4 "c2onb191v4" ++#define NID_X9_62_c2onb191v4 691 ++#define OBJ_X9_62_c2onb191v4 OBJ_X9_62_c_TwoCurve,8L ++ ++#define SN_X9_62_c2onb191v5 "c2onb191v5" ++#define NID_X9_62_c2onb191v5 692 ++#define OBJ_X9_62_c2onb191v5 OBJ_X9_62_c_TwoCurve,9L ++ ++#define SN_X9_62_c2pnb208w1 "c2pnb208w1" ++#define NID_X9_62_c2pnb208w1 693 ++#define OBJ_X9_62_c2pnb208w1 OBJ_X9_62_c_TwoCurve,10L ++ ++#define SN_X9_62_c2tnb239v1 "c2tnb239v1" ++#define NID_X9_62_c2tnb239v1 694 ++#define OBJ_X9_62_c2tnb239v1 OBJ_X9_62_c_TwoCurve,11L ++ ++#define SN_X9_62_c2tnb239v2 "c2tnb239v2" ++#define NID_X9_62_c2tnb239v2 695 ++#define OBJ_X9_62_c2tnb239v2 OBJ_X9_62_c_TwoCurve,12L ++ ++#define SN_X9_62_c2tnb239v3 "c2tnb239v3" ++#define NID_X9_62_c2tnb239v3 696 ++#define OBJ_X9_62_c2tnb239v3 OBJ_X9_62_c_TwoCurve,13L ++ ++#define SN_X9_62_c2onb239v4 "c2onb239v4" ++#define NID_X9_62_c2onb239v4 697 ++#define OBJ_X9_62_c2onb239v4 OBJ_X9_62_c_TwoCurve,14L ++ ++#define SN_X9_62_c2onb239v5 "c2onb239v5" ++#define NID_X9_62_c2onb239v5 698 ++#define OBJ_X9_62_c2onb239v5 OBJ_X9_62_c_TwoCurve,15L ++ ++#define SN_X9_62_c2pnb272w1 "c2pnb272w1" ++#define NID_X9_62_c2pnb272w1 699 ++#define OBJ_X9_62_c2pnb272w1 OBJ_X9_62_c_TwoCurve,16L ++ ++#define SN_X9_62_c2pnb304w1 "c2pnb304w1" ++#define NID_X9_62_c2pnb304w1 700 ++#define OBJ_X9_62_c2pnb304w1 OBJ_X9_62_c_TwoCurve,17L ++ ++#define SN_X9_62_c2tnb359v1 "c2tnb359v1" ++#define NID_X9_62_c2tnb359v1 701 ++#define OBJ_X9_62_c2tnb359v1 OBJ_X9_62_c_TwoCurve,18L ++ ++#define SN_X9_62_c2pnb368w1 "c2pnb368w1" ++#define NID_X9_62_c2pnb368w1 702 ++#define OBJ_X9_62_c2pnb368w1 OBJ_X9_62_c_TwoCurve,19L ++ ++#define SN_X9_62_c2tnb431r1 "c2tnb431r1" ++#define NID_X9_62_c2tnb431r1 703 ++#define OBJ_X9_62_c2tnb431r1 OBJ_X9_62_c_TwoCurve,20L ++ ++#define OBJ_X9_62_primeCurve OBJ_X9_62_ellipticCurve,1L ++ ++#define SN_X9_62_prime192v1 "prime192v1" ++#define NID_X9_62_prime192v1 409 ++#define OBJ_X9_62_prime192v1 OBJ_X9_62_primeCurve,1L ++ ++#define SN_X9_62_prime192v2 "prime192v2" ++#define NID_X9_62_prime192v2 410 ++#define OBJ_X9_62_prime192v2 OBJ_X9_62_primeCurve,2L ++ ++#define SN_X9_62_prime192v3 "prime192v3" ++#define NID_X9_62_prime192v3 411 ++#define OBJ_X9_62_prime192v3 OBJ_X9_62_primeCurve,3L ++ ++#define SN_X9_62_prime239v1 "prime239v1" ++#define NID_X9_62_prime239v1 412 ++#define OBJ_X9_62_prime239v1 OBJ_X9_62_primeCurve,4L ++ ++#define SN_X9_62_prime239v2 "prime239v2" ++#define NID_X9_62_prime239v2 413 ++#define OBJ_X9_62_prime239v2 OBJ_X9_62_primeCurve,5L ++ ++#define SN_X9_62_prime239v3 "prime239v3" ++#define NID_X9_62_prime239v3 414 ++#define OBJ_X9_62_prime239v3 OBJ_X9_62_primeCurve,6L ++ ++#define SN_X9_62_prime256v1 "prime256v1" ++#define NID_X9_62_prime256v1 415 ++#define OBJ_X9_62_prime256v1 OBJ_X9_62_primeCurve,7L ++ ++#define OBJ_X9_62_id_ecSigType OBJ_ansi_X9_62,4L ++ ++#define SN_ecdsa_with_SHA1 "ecdsa-with-SHA1" ++#define NID_ecdsa_with_SHA1 416 ++#define OBJ_ecdsa_with_SHA1 OBJ_X9_62_id_ecSigType,1L ++ ++#define SN_ecdsa_with_Recommended "ecdsa-with-Recommended" ++#define NID_ecdsa_with_Recommended 791 ++#define OBJ_ecdsa_with_Recommended OBJ_X9_62_id_ecSigType,2L ++ ++#define SN_ecdsa_with_Specified "ecdsa-with-Specified" ++#define NID_ecdsa_with_Specified 792 ++#define OBJ_ecdsa_with_Specified OBJ_X9_62_id_ecSigType,3L ++ ++#define SN_ecdsa_with_SHA224 "ecdsa-with-SHA224" ++#define NID_ecdsa_with_SHA224 793 ++#define OBJ_ecdsa_with_SHA224 OBJ_ecdsa_with_Specified,1L ++ ++#define SN_ecdsa_with_SHA256 "ecdsa-with-SHA256" ++#define NID_ecdsa_with_SHA256 794 ++#define OBJ_ecdsa_with_SHA256 OBJ_ecdsa_with_Specified,2L ++ ++#define SN_ecdsa_with_SHA384 "ecdsa-with-SHA384" ++#define NID_ecdsa_with_SHA384 795 ++#define OBJ_ecdsa_with_SHA384 OBJ_ecdsa_with_Specified,3L ++ ++#define SN_ecdsa_with_SHA512 "ecdsa-with-SHA512" ++#define NID_ecdsa_with_SHA512 796 ++#define OBJ_ecdsa_with_SHA512 OBJ_ecdsa_with_Specified,4L ++ ++#define OBJ_secg_ellipticCurve OBJ_certicom_arc,0L ++ ++#define SN_secp112r1 "secp112r1" ++#define NID_secp112r1 704 ++#define OBJ_secp112r1 OBJ_secg_ellipticCurve,6L ++ ++#define SN_secp112r2 "secp112r2" ++#define NID_secp112r2 705 ++#define OBJ_secp112r2 OBJ_secg_ellipticCurve,7L ++ ++#define SN_secp128r1 "secp128r1" ++#define NID_secp128r1 706 ++#define OBJ_secp128r1 OBJ_secg_ellipticCurve,28L ++ ++#define SN_secp128r2 "secp128r2" ++#define NID_secp128r2 707 ++#define OBJ_secp128r2 OBJ_secg_ellipticCurve,29L ++ ++#define SN_secp160k1 "secp160k1" ++#define NID_secp160k1 708 ++#define OBJ_secp160k1 OBJ_secg_ellipticCurve,9L ++ ++#define SN_secp160r1 "secp160r1" ++#define NID_secp160r1 709 ++#define OBJ_secp160r1 OBJ_secg_ellipticCurve,8L ++ ++#define SN_secp160r2 "secp160r2" ++#define NID_secp160r2 710 ++#define OBJ_secp160r2 OBJ_secg_ellipticCurve,30L ++ ++#define SN_secp192k1 "secp192k1" ++#define NID_secp192k1 711 ++#define OBJ_secp192k1 OBJ_secg_ellipticCurve,31L ++ ++#define SN_secp224k1 "secp224k1" ++#define NID_secp224k1 712 ++#define OBJ_secp224k1 OBJ_secg_ellipticCurve,32L ++ ++#define SN_secp224r1 "secp224r1" ++#define NID_secp224r1 713 ++#define OBJ_secp224r1 OBJ_secg_ellipticCurve,33L ++ ++#define SN_secp256k1 "secp256k1" ++#define NID_secp256k1 714 ++#define OBJ_secp256k1 OBJ_secg_ellipticCurve,10L ++ ++#define SN_secp384r1 "secp384r1" ++#define NID_secp384r1 715 ++#define OBJ_secp384r1 OBJ_secg_ellipticCurve,34L ++ ++#define SN_secp521r1 "secp521r1" ++#define NID_secp521r1 716 ++#define OBJ_secp521r1 OBJ_secg_ellipticCurve,35L ++ ++#define SN_sect113r1 "sect113r1" ++#define NID_sect113r1 717 ++#define OBJ_sect113r1 OBJ_secg_ellipticCurve,4L ++ ++#define SN_sect113r2 "sect113r2" ++#define NID_sect113r2 718 ++#define OBJ_sect113r2 OBJ_secg_ellipticCurve,5L ++ ++#define SN_sect131r1 "sect131r1" ++#define NID_sect131r1 719 ++#define OBJ_sect131r1 OBJ_secg_ellipticCurve,22L ++ ++#define SN_sect131r2 "sect131r2" ++#define NID_sect131r2 720 ++#define OBJ_sect131r2 OBJ_secg_ellipticCurve,23L ++ ++#define SN_sect163k1 "sect163k1" ++#define NID_sect163k1 721 ++#define OBJ_sect163k1 OBJ_secg_ellipticCurve,1L ++ ++#define SN_sect163r1 "sect163r1" ++#define NID_sect163r1 722 ++#define OBJ_sect163r1 OBJ_secg_ellipticCurve,2L ++ ++#define SN_sect163r2 "sect163r2" ++#define NID_sect163r2 723 ++#define OBJ_sect163r2 OBJ_secg_ellipticCurve,15L ++ ++#define SN_sect193r1 "sect193r1" ++#define NID_sect193r1 724 ++#define OBJ_sect193r1 OBJ_secg_ellipticCurve,24L ++ ++#define SN_sect193r2 "sect193r2" ++#define NID_sect193r2 725 ++#define OBJ_sect193r2 OBJ_secg_ellipticCurve,25L ++ ++#define SN_sect233k1 "sect233k1" ++#define NID_sect233k1 726 ++#define OBJ_sect233k1 OBJ_secg_ellipticCurve,26L ++ ++#define SN_sect233r1 "sect233r1" ++#define NID_sect233r1 727 ++#define OBJ_sect233r1 OBJ_secg_ellipticCurve,27L ++ ++#define SN_sect239k1 "sect239k1" ++#define NID_sect239k1 728 ++#define OBJ_sect239k1 OBJ_secg_ellipticCurve,3L ++ ++#define SN_sect283k1 "sect283k1" ++#define NID_sect283k1 729 ++#define OBJ_sect283k1 OBJ_secg_ellipticCurve,16L ++ ++#define SN_sect283r1 "sect283r1" ++#define NID_sect283r1 730 ++#define OBJ_sect283r1 OBJ_secg_ellipticCurve,17L ++ ++#define SN_sect409k1 "sect409k1" ++#define NID_sect409k1 731 ++#define OBJ_sect409k1 OBJ_secg_ellipticCurve,36L ++ ++#define SN_sect409r1 "sect409r1" ++#define NID_sect409r1 732 ++#define OBJ_sect409r1 OBJ_secg_ellipticCurve,37L ++ ++#define SN_sect571k1 "sect571k1" ++#define NID_sect571k1 733 ++#define OBJ_sect571k1 OBJ_secg_ellipticCurve,38L ++ ++#define SN_sect571r1 "sect571r1" ++#define NID_sect571r1 734 ++#define OBJ_sect571r1 OBJ_secg_ellipticCurve,39L ++ ++#define OBJ_wap_wsg_idm_ecid OBJ_wap_wsg,4L ++ ++#define SN_wap_wsg_idm_ecid_wtls1 "wap-wsg-idm-ecid-wtls1" ++#define NID_wap_wsg_idm_ecid_wtls1 735 ++#define OBJ_wap_wsg_idm_ecid_wtls1 OBJ_wap_wsg_idm_ecid,1L ++ ++#define SN_wap_wsg_idm_ecid_wtls3 "wap-wsg-idm-ecid-wtls3" ++#define NID_wap_wsg_idm_ecid_wtls3 736 ++#define OBJ_wap_wsg_idm_ecid_wtls3 OBJ_wap_wsg_idm_ecid,3L ++ ++#define SN_wap_wsg_idm_ecid_wtls4 "wap-wsg-idm-ecid-wtls4" ++#define NID_wap_wsg_idm_ecid_wtls4 737 ++#define OBJ_wap_wsg_idm_ecid_wtls4 OBJ_wap_wsg_idm_ecid,4L ++ ++#define SN_wap_wsg_idm_ecid_wtls5 "wap-wsg-idm-ecid-wtls5" ++#define NID_wap_wsg_idm_ecid_wtls5 738 ++#define OBJ_wap_wsg_idm_ecid_wtls5 OBJ_wap_wsg_idm_ecid,5L ++ ++#define SN_wap_wsg_idm_ecid_wtls6 "wap-wsg-idm-ecid-wtls6" ++#define NID_wap_wsg_idm_ecid_wtls6 739 ++#define OBJ_wap_wsg_idm_ecid_wtls6 OBJ_wap_wsg_idm_ecid,6L ++ ++#define SN_wap_wsg_idm_ecid_wtls7 "wap-wsg-idm-ecid-wtls7" ++#define NID_wap_wsg_idm_ecid_wtls7 740 ++#define OBJ_wap_wsg_idm_ecid_wtls7 OBJ_wap_wsg_idm_ecid,7L ++ ++#define SN_wap_wsg_idm_ecid_wtls8 "wap-wsg-idm-ecid-wtls8" ++#define NID_wap_wsg_idm_ecid_wtls8 741 ++#define OBJ_wap_wsg_idm_ecid_wtls8 OBJ_wap_wsg_idm_ecid,8L ++ ++#define SN_wap_wsg_idm_ecid_wtls9 "wap-wsg-idm-ecid-wtls9" ++#define NID_wap_wsg_idm_ecid_wtls9 742 ++#define OBJ_wap_wsg_idm_ecid_wtls9 OBJ_wap_wsg_idm_ecid,9L ++ ++#define SN_wap_wsg_idm_ecid_wtls10 "wap-wsg-idm-ecid-wtls10" ++#define NID_wap_wsg_idm_ecid_wtls10 743 ++#define OBJ_wap_wsg_idm_ecid_wtls10 OBJ_wap_wsg_idm_ecid,10L ++ ++#define SN_wap_wsg_idm_ecid_wtls11 "wap-wsg-idm-ecid-wtls11" ++#define NID_wap_wsg_idm_ecid_wtls11 744 ++#define OBJ_wap_wsg_idm_ecid_wtls11 OBJ_wap_wsg_idm_ecid,11L ++ ++#define SN_wap_wsg_idm_ecid_wtls12 "wap-wsg-idm-ecid-wtls12" ++#define NID_wap_wsg_idm_ecid_wtls12 745 ++#define OBJ_wap_wsg_idm_ecid_wtls12 OBJ_wap_wsg_idm_ecid,12L ++ ++#define SN_cast5_cbc "CAST5-CBC" ++#define LN_cast5_cbc "cast5-cbc" ++#define NID_cast5_cbc 108 ++#define OBJ_cast5_cbc OBJ_ISO_US,113533L,7L,66L,10L ++ ++#define SN_cast5_ecb "CAST5-ECB" ++#define LN_cast5_ecb "cast5-ecb" ++#define NID_cast5_ecb 109 ++ ++#define SN_cast5_cfb64 "CAST5-CFB" ++#define LN_cast5_cfb64 "cast5-cfb" ++#define NID_cast5_cfb64 110 ++ ++#define SN_cast5_ofb64 "CAST5-OFB" ++#define LN_cast5_ofb64 "cast5-ofb" ++#define NID_cast5_ofb64 111 ++ ++#define LN_pbeWithMD5AndCast5_CBC "pbeWithMD5AndCast5CBC" ++#define NID_pbeWithMD5AndCast5_CBC 112 ++#define OBJ_pbeWithMD5AndCast5_CBC OBJ_ISO_US,113533L,7L,66L,12L ++ ++#define SN_id_PasswordBasedMAC "id-PasswordBasedMAC" ++#define LN_id_PasswordBasedMAC "password based MAC" ++#define NID_id_PasswordBasedMAC 782 ++#define OBJ_id_PasswordBasedMAC OBJ_ISO_US,113533L,7L,66L,13L ++ ++#define SN_id_DHBasedMac "id-DHBasedMac" ++#define LN_id_DHBasedMac "Diffie-Hellman based MAC" ++#define NID_id_DHBasedMac 783 ++#define OBJ_id_DHBasedMac OBJ_ISO_US,113533L,7L,66L,30L ++ ++#define SN_rsadsi "rsadsi" ++#define LN_rsadsi "RSA Data Security, Inc." ++#define NID_rsadsi 1 ++#define OBJ_rsadsi OBJ_ISO_US,113549L ++ ++#define SN_pkcs "pkcs" ++#define LN_pkcs "RSA Data Security, Inc. PKCS" ++#define NID_pkcs 2 ++#define OBJ_pkcs OBJ_rsadsi,1L ++ ++#define SN_pkcs1 "pkcs1" ++#define NID_pkcs1 186 ++#define OBJ_pkcs1 OBJ_pkcs,1L ++ ++#define LN_rsaEncryption "rsaEncryption" ++#define NID_rsaEncryption 6 ++#define OBJ_rsaEncryption OBJ_pkcs1,1L ++ ++#define SN_md2WithRSAEncryption "RSA-MD2" ++#define LN_md2WithRSAEncryption "md2WithRSAEncryption" ++#define NID_md2WithRSAEncryption 7 ++#define OBJ_md2WithRSAEncryption OBJ_pkcs1,2L ++ ++#define SN_md4WithRSAEncryption "RSA-MD4" ++#define LN_md4WithRSAEncryption "md4WithRSAEncryption" ++#define NID_md4WithRSAEncryption 396 ++#define OBJ_md4WithRSAEncryption OBJ_pkcs1,3L ++ ++#define SN_md5WithRSAEncryption "RSA-MD5" ++#define LN_md5WithRSAEncryption "md5WithRSAEncryption" ++#define NID_md5WithRSAEncryption 8 ++#define OBJ_md5WithRSAEncryption OBJ_pkcs1,4L ++ ++#define SN_sha1WithRSAEncryption "RSA-SHA1" ++#define LN_sha1WithRSAEncryption "sha1WithRSAEncryption" ++#define NID_sha1WithRSAEncryption 65 ++#define OBJ_sha1WithRSAEncryption OBJ_pkcs1,5L ++ ++#define SN_rsaesOaep "RSAES-OAEP" ++#define LN_rsaesOaep "rsaesOaep" ++#define NID_rsaesOaep 919 ++#define OBJ_rsaesOaep OBJ_pkcs1,7L ++ ++#define SN_mgf1 "MGF1" ++#define LN_mgf1 "mgf1" ++#define NID_mgf1 911 ++#define OBJ_mgf1 OBJ_pkcs1,8L ++ ++#define SN_rsassaPss "RSASSA-PSS" ++#define LN_rsassaPss "rsassaPss" ++#define NID_rsassaPss 912 ++#define OBJ_rsassaPss OBJ_pkcs1,10L ++ ++#define SN_sha256WithRSAEncryption "RSA-SHA256" ++#define LN_sha256WithRSAEncryption "sha256WithRSAEncryption" ++#define NID_sha256WithRSAEncryption 668 ++#define OBJ_sha256WithRSAEncryption OBJ_pkcs1,11L ++ ++#define SN_sha384WithRSAEncryption "RSA-SHA384" ++#define LN_sha384WithRSAEncryption "sha384WithRSAEncryption" ++#define NID_sha384WithRSAEncryption 669 ++#define OBJ_sha384WithRSAEncryption OBJ_pkcs1,12L ++ ++#define SN_sha512WithRSAEncryption "RSA-SHA512" ++#define LN_sha512WithRSAEncryption "sha512WithRSAEncryption" ++#define NID_sha512WithRSAEncryption 670 ++#define OBJ_sha512WithRSAEncryption OBJ_pkcs1,13L ++ ++#define SN_sha224WithRSAEncryption "RSA-SHA224" ++#define LN_sha224WithRSAEncryption "sha224WithRSAEncryption" ++#define NID_sha224WithRSAEncryption 671 ++#define OBJ_sha224WithRSAEncryption OBJ_pkcs1,14L ++ ++#define SN_pkcs3 "pkcs3" ++#define NID_pkcs3 27 ++#define OBJ_pkcs3 OBJ_pkcs,3L ++ ++#define LN_dhKeyAgreement "dhKeyAgreement" ++#define NID_dhKeyAgreement 28 ++#define OBJ_dhKeyAgreement OBJ_pkcs3,1L ++ ++#define SN_pkcs5 "pkcs5" ++#define NID_pkcs5 187 ++#define OBJ_pkcs5 OBJ_pkcs,5L ++ ++#define SN_pbeWithMD2AndDES_CBC "PBE-MD2-DES" ++#define LN_pbeWithMD2AndDES_CBC "pbeWithMD2AndDES-CBC" ++#define NID_pbeWithMD2AndDES_CBC 9 ++#define OBJ_pbeWithMD2AndDES_CBC OBJ_pkcs5,1L ++ ++#define SN_pbeWithMD5AndDES_CBC "PBE-MD5-DES" ++#define LN_pbeWithMD5AndDES_CBC "pbeWithMD5AndDES-CBC" ++#define NID_pbeWithMD5AndDES_CBC 10 ++#define OBJ_pbeWithMD5AndDES_CBC OBJ_pkcs5,3L ++ ++#define SN_pbeWithMD2AndRC2_CBC "PBE-MD2-RC2-64" ++#define LN_pbeWithMD2AndRC2_CBC "pbeWithMD2AndRC2-CBC" ++#define NID_pbeWithMD2AndRC2_CBC 168 ++#define OBJ_pbeWithMD2AndRC2_CBC OBJ_pkcs5,4L ++ ++#define SN_pbeWithMD5AndRC2_CBC "PBE-MD5-RC2-64" ++#define LN_pbeWithMD5AndRC2_CBC "pbeWithMD5AndRC2-CBC" ++#define NID_pbeWithMD5AndRC2_CBC 169 ++#define OBJ_pbeWithMD5AndRC2_CBC OBJ_pkcs5,6L ++ ++#define SN_pbeWithSHA1AndDES_CBC "PBE-SHA1-DES" ++#define LN_pbeWithSHA1AndDES_CBC "pbeWithSHA1AndDES-CBC" ++#define NID_pbeWithSHA1AndDES_CBC 170 ++#define OBJ_pbeWithSHA1AndDES_CBC OBJ_pkcs5,10L ++ ++#define SN_pbeWithSHA1AndRC2_CBC "PBE-SHA1-RC2-64" ++#define LN_pbeWithSHA1AndRC2_CBC "pbeWithSHA1AndRC2-CBC" ++#define NID_pbeWithSHA1AndRC2_CBC 68 ++#define OBJ_pbeWithSHA1AndRC2_CBC OBJ_pkcs5,11L ++ ++#define LN_id_pbkdf2 "PBKDF2" ++#define NID_id_pbkdf2 69 ++#define OBJ_id_pbkdf2 OBJ_pkcs5,12L ++ ++#define LN_pbes2 "PBES2" ++#define NID_pbes2 161 ++#define OBJ_pbes2 OBJ_pkcs5,13L ++ ++#define LN_pbmac1 "PBMAC1" ++#define NID_pbmac1 162 ++#define OBJ_pbmac1 OBJ_pkcs5,14L ++ ++#define SN_pkcs7 "pkcs7" ++#define NID_pkcs7 20 ++#define OBJ_pkcs7 OBJ_pkcs,7L ++ ++#define LN_pkcs7_data "pkcs7-data" ++#define NID_pkcs7_data 21 ++#define OBJ_pkcs7_data OBJ_pkcs7,1L ++ ++#define LN_pkcs7_signed "pkcs7-signedData" ++#define NID_pkcs7_signed 22 ++#define OBJ_pkcs7_signed OBJ_pkcs7,2L ++ ++#define LN_pkcs7_enveloped "pkcs7-envelopedData" ++#define NID_pkcs7_enveloped 23 ++#define OBJ_pkcs7_enveloped OBJ_pkcs7,3L ++ ++#define LN_pkcs7_signedAndEnveloped "pkcs7-signedAndEnvelopedData" ++#define NID_pkcs7_signedAndEnveloped 24 ++#define OBJ_pkcs7_signedAndEnveloped OBJ_pkcs7,4L ++ ++#define LN_pkcs7_digest "pkcs7-digestData" ++#define NID_pkcs7_digest 25 ++#define OBJ_pkcs7_digest OBJ_pkcs7,5L ++ ++#define LN_pkcs7_encrypted "pkcs7-encryptedData" ++#define NID_pkcs7_encrypted 26 ++#define OBJ_pkcs7_encrypted OBJ_pkcs7,6L ++ ++#define SN_pkcs9 "pkcs9" ++#define NID_pkcs9 47 ++#define OBJ_pkcs9 OBJ_pkcs,9L ++ ++#define LN_pkcs9_emailAddress "emailAddress" ++#define NID_pkcs9_emailAddress 48 ++#define OBJ_pkcs9_emailAddress OBJ_pkcs9,1L ++ ++#define LN_pkcs9_unstructuredName "unstructuredName" ++#define NID_pkcs9_unstructuredName 49 ++#define OBJ_pkcs9_unstructuredName OBJ_pkcs9,2L ++ ++#define LN_pkcs9_contentType "contentType" ++#define NID_pkcs9_contentType 50 ++#define OBJ_pkcs9_contentType OBJ_pkcs9,3L ++ ++#define LN_pkcs9_messageDigest "messageDigest" ++#define NID_pkcs9_messageDigest 51 ++#define OBJ_pkcs9_messageDigest OBJ_pkcs9,4L ++ ++#define LN_pkcs9_signingTime "signingTime" ++#define NID_pkcs9_signingTime 52 ++#define OBJ_pkcs9_signingTime OBJ_pkcs9,5L ++ ++#define LN_pkcs9_countersignature "countersignature" ++#define NID_pkcs9_countersignature 53 ++#define OBJ_pkcs9_countersignature OBJ_pkcs9,6L ++ ++#define LN_pkcs9_challengePassword "challengePassword" ++#define NID_pkcs9_challengePassword 54 ++#define OBJ_pkcs9_challengePassword OBJ_pkcs9,7L ++ ++#define LN_pkcs9_unstructuredAddress "unstructuredAddress" ++#define NID_pkcs9_unstructuredAddress 55 ++#define OBJ_pkcs9_unstructuredAddress OBJ_pkcs9,8L ++ ++#define LN_pkcs9_extCertAttributes "extendedCertificateAttributes" ++#define NID_pkcs9_extCertAttributes 56 ++#define OBJ_pkcs9_extCertAttributes OBJ_pkcs9,9L ++ ++#define SN_ext_req "extReq" ++#define LN_ext_req "Extension Request" ++#define NID_ext_req 172 ++#define OBJ_ext_req OBJ_pkcs9,14L ++ ++#define SN_SMIMECapabilities "SMIME-CAPS" ++#define LN_SMIMECapabilities "S/MIME Capabilities" ++#define NID_SMIMECapabilities 167 ++#define OBJ_SMIMECapabilities OBJ_pkcs9,15L ++ ++#define SN_SMIME "SMIME" ++#define LN_SMIME "S/MIME" ++#define NID_SMIME 188 ++#define OBJ_SMIME OBJ_pkcs9,16L ++ ++#define SN_id_smime_mod "id-smime-mod" ++#define NID_id_smime_mod 189 ++#define OBJ_id_smime_mod OBJ_SMIME,0L ++ ++#define SN_id_smime_ct "id-smime-ct" ++#define NID_id_smime_ct 190 ++#define OBJ_id_smime_ct OBJ_SMIME,1L ++ ++#define SN_id_smime_aa "id-smime-aa" ++#define NID_id_smime_aa 191 ++#define OBJ_id_smime_aa OBJ_SMIME,2L ++ ++#define SN_id_smime_alg "id-smime-alg" ++#define NID_id_smime_alg 192 ++#define OBJ_id_smime_alg OBJ_SMIME,3L ++ ++#define SN_id_smime_cd "id-smime-cd" ++#define NID_id_smime_cd 193 ++#define OBJ_id_smime_cd OBJ_SMIME,4L ++ ++#define SN_id_smime_spq "id-smime-spq" ++#define NID_id_smime_spq 194 ++#define OBJ_id_smime_spq OBJ_SMIME,5L ++ ++#define SN_id_smime_cti "id-smime-cti" ++#define NID_id_smime_cti 195 ++#define OBJ_id_smime_cti OBJ_SMIME,6L ++ ++#define SN_id_smime_mod_cms "id-smime-mod-cms" ++#define NID_id_smime_mod_cms 196 ++#define OBJ_id_smime_mod_cms OBJ_id_smime_mod,1L ++ ++#define SN_id_smime_mod_ess "id-smime-mod-ess" ++#define NID_id_smime_mod_ess 197 ++#define OBJ_id_smime_mod_ess OBJ_id_smime_mod,2L ++ ++#define SN_id_smime_mod_oid "id-smime-mod-oid" ++#define NID_id_smime_mod_oid 198 ++#define OBJ_id_smime_mod_oid OBJ_id_smime_mod,3L ++ ++#define SN_id_smime_mod_msg_v3 "id-smime-mod-msg-v3" ++#define NID_id_smime_mod_msg_v3 199 ++#define OBJ_id_smime_mod_msg_v3 OBJ_id_smime_mod,4L ++ ++#define SN_id_smime_mod_ets_eSignature_88 "id-smime-mod-ets-eSignature-88" ++#define NID_id_smime_mod_ets_eSignature_88 200 ++#define OBJ_id_smime_mod_ets_eSignature_88 OBJ_id_smime_mod,5L ++ ++#define SN_id_smime_mod_ets_eSignature_97 "id-smime-mod-ets-eSignature-97" ++#define NID_id_smime_mod_ets_eSignature_97 201 ++#define OBJ_id_smime_mod_ets_eSignature_97 OBJ_id_smime_mod,6L ++ ++#define SN_id_smime_mod_ets_eSigPolicy_88 "id-smime-mod-ets-eSigPolicy-88" ++#define NID_id_smime_mod_ets_eSigPolicy_88 202 ++#define OBJ_id_smime_mod_ets_eSigPolicy_88 OBJ_id_smime_mod,7L ++ ++#define SN_id_smime_mod_ets_eSigPolicy_97 "id-smime-mod-ets-eSigPolicy-97" ++#define NID_id_smime_mod_ets_eSigPolicy_97 203 ++#define OBJ_id_smime_mod_ets_eSigPolicy_97 OBJ_id_smime_mod,8L ++ ++#define SN_id_smime_ct_receipt "id-smime-ct-receipt" ++#define NID_id_smime_ct_receipt 204 ++#define OBJ_id_smime_ct_receipt OBJ_id_smime_ct,1L ++ ++#define SN_id_smime_ct_authData "id-smime-ct-authData" ++#define NID_id_smime_ct_authData 205 ++#define OBJ_id_smime_ct_authData OBJ_id_smime_ct,2L ++ ++#define SN_id_smime_ct_publishCert "id-smime-ct-publishCert" ++#define NID_id_smime_ct_publishCert 206 ++#define OBJ_id_smime_ct_publishCert OBJ_id_smime_ct,3L ++ ++#define SN_id_smime_ct_TSTInfo "id-smime-ct-TSTInfo" ++#define NID_id_smime_ct_TSTInfo 207 ++#define OBJ_id_smime_ct_TSTInfo OBJ_id_smime_ct,4L ++ ++#define SN_id_smime_ct_TDTInfo "id-smime-ct-TDTInfo" ++#define NID_id_smime_ct_TDTInfo 208 ++#define OBJ_id_smime_ct_TDTInfo OBJ_id_smime_ct,5L ++ ++#define SN_id_smime_ct_contentInfo "id-smime-ct-contentInfo" ++#define NID_id_smime_ct_contentInfo 209 ++#define OBJ_id_smime_ct_contentInfo OBJ_id_smime_ct,6L ++ ++#define SN_id_smime_ct_DVCSRequestData "id-smime-ct-DVCSRequestData" ++#define NID_id_smime_ct_DVCSRequestData 210 ++#define OBJ_id_smime_ct_DVCSRequestData OBJ_id_smime_ct,7L ++ ++#define SN_id_smime_ct_DVCSResponseData "id-smime-ct-DVCSResponseData" ++#define NID_id_smime_ct_DVCSResponseData 211 ++#define OBJ_id_smime_ct_DVCSResponseData OBJ_id_smime_ct,8L ++ ++#define SN_id_smime_ct_compressedData "id-smime-ct-compressedData" ++#define NID_id_smime_ct_compressedData 786 ++#define OBJ_id_smime_ct_compressedData OBJ_id_smime_ct,9L ++ ++#define SN_id_ct_asciiTextWithCRLF "id-ct-asciiTextWithCRLF" ++#define NID_id_ct_asciiTextWithCRLF 787 ++#define OBJ_id_ct_asciiTextWithCRLF OBJ_id_smime_ct,27L ++ ++#define SN_id_smime_aa_receiptRequest "id-smime-aa-receiptRequest" ++#define NID_id_smime_aa_receiptRequest 212 ++#define OBJ_id_smime_aa_receiptRequest OBJ_id_smime_aa,1L ++ ++#define SN_id_smime_aa_securityLabel "id-smime-aa-securityLabel" ++#define NID_id_smime_aa_securityLabel 213 ++#define OBJ_id_smime_aa_securityLabel OBJ_id_smime_aa,2L ++ ++#define SN_id_smime_aa_mlExpandHistory "id-smime-aa-mlExpandHistory" ++#define NID_id_smime_aa_mlExpandHistory 214 ++#define OBJ_id_smime_aa_mlExpandHistory OBJ_id_smime_aa,3L ++ ++#define SN_id_smime_aa_contentHint "id-smime-aa-contentHint" ++#define NID_id_smime_aa_contentHint 215 ++#define OBJ_id_smime_aa_contentHint OBJ_id_smime_aa,4L ++ ++#define SN_id_smime_aa_msgSigDigest "id-smime-aa-msgSigDigest" ++#define NID_id_smime_aa_msgSigDigest 216 ++#define OBJ_id_smime_aa_msgSigDigest OBJ_id_smime_aa,5L ++ ++#define SN_id_smime_aa_encapContentType "id-smime-aa-encapContentType" ++#define NID_id_smime_aa_encapContentType 217 ++#define OBJ_id_smime_aa_encapContentType OBJ_id_smime_aa,6L ++ ++#define SN_id_smime_aa_contentIdentifier "id-smime-aa-contentIdentifier" ++#define NID_id_smime_aa_contentIdentifier 218 ++#define OBJ_id_smime_aa_contentIdentifier OBJ_id_smime_aa,7L ++ ++#define SN_id_smime_aa_macValue "id-smime-aa-macValue" ++#define NID_id_smime_aa_macValue 219 ++#define OBJ_id_smime_aa_macValue OBJ_id_smime_aa,8L ++ ++#define SN_id_smime_aa_equivalentLabels "id-smime-aa-equivalentLabels" ++#define NID_id_smime_aa_equivalentLabels 220 ++#define OBJ_id_smime_aa_equivalentLabels OBJ_id_smime_aa,9L ++ ++#define SN_id_smime_aa_contentReference "id-smime-aa-contentReference" ++#define NID_id_smime_aa_contentReference 221 ++#define OBJ_id_smime_aa_contentReference OBJ_id_smime_aa,10L ++ ++#define SN_id_smime_aa_encrypKeyPref "id-smime-aa-encrypKeyPref" ++#define NID_id_smime_aa_encrypKeyPref 222 ++#define OBJ_id_smime_aa_encrypKeyPref OBJ_id_smime_aa,11L ++ ++#define SN_id_smime_aa_signingCertificate "id-smime-aa-signingCertificate" ++#define NID_id_smime_aa_signingCertificate 223 ++#define OBJ_id_smime_aa_signingCertificate OBJ_id_smime_aa,12L ++ ++#define SN_id_smime_aa_smimeEncryptCerts "id-smime-aa-smimeEncryptCerts" ++#define NID_id_smime_aa_smimeEncryptCerts 224 ++#define OBJ_id_smime_aa_smimeEncryptCerts OBJ_id_smime_aa,13L ++ ++#define SN_id_smime_aa_timeStampToken "id-smime-aa-timeStampToken" ++#define NID_id_smime_aa_timeStampToken 225 ++#define OBJ_id_smime_aa_timeStampToken OBJ_id_smime_aa,14L ++ ++#define SN_id_smime_aa_ets_sigPolicyId "id-smime-aa-ets-sigPolicyId" ++#define NID_id_smime_aa_ets_sigPolicyId 226 ++#define OBJ_id_smime_aa_ets_sigPolicyId OBJ_id_smime_aa,15L ++ ++#define SN_id_smime_aa_ets_commitmentType "id-smime-aa-ets-commitmentType" ++#define NID_id_smime_aa_ets_commitmentType 227 ++#define OBJ_id_smime_aa_ets_commitmentType OBJ_id_smime_aa,16L ++ ++#define SN_id_smime_aa_ets_signerLocation "id-smime-aa-ets-signerLocation" ++#define NID_id_smime_aa_ets_signerLocation 228 ++#define OBJ_id_smime_aa_ets_signerLocation OBJ_id_smime_aa,17L ++ ++#define SN_id_smime_aa_ets_signerAttr "id-smime-aa-ets-signerAttr" ++#define NID_id_smime_aa_ets_signerAttr 229 ++#define OBJ_id_smime_aa_ets_signerAttr OBJ_id_smime_aa,18L ++ ++#define SN_id_smime_aa_ets_otherSigCert "id-smime-aa-ets-otherSigCert" ++#define NID_id_smime_aa_ets_otherSigCert 230 ++#define OBJ_id_smime_aa_ets_otherSigCert OBJ_id_smime_aa,19L ++ ++#define SN_id_smime_aa_ets_contentTimestamp "id-smime-aa-ets-contentTimestamp" ++#define NID_id_smime_aa_ets_contentTimestamp 231 ++#define OBJ_id_smime_aa_ets_contentTimestamp OBJ_id_smime_aa,20L ++ ++#define SN_id_smime_aa_ets_CertificateRefs "id-smime-aa-ets-CertificateRefs" ++#define NID_id_smime_aa_ets_CertificateRefs 232 ++#define OBJ_id_smime_aa_ets_CertificateRefs OBJ_id_smime_aa,21L ++ ++#define SN_id_smime_aa_ets_RevocationRefs "id-smime-aa-ets-RevocationRefs" ++#define NID_id_smime_aa_ets_RevocationRefs 233 ++#define OBJ_id_smime_aa_ets_RevocationRefs OBJ_id_smime_aa,22L ++ ++#define SN_id_smime_aa_ets_certValues "id-smime-aa-ets-certValues" ++#define NID_id_smime_aa_ets_certValues 234 ++#define OBJ_id_smime_aa_ets_certValues OBJ_id_smime_aa,23L ++ ++#define SN_id_smime_aa_ets_revocationValues "id-smime-aa-ets-revocationValues" ++#define NID_id_smime_aa_ets_revocationValues 235 ++#define OBJ_id_smime_aa_ets_revocationValues OBJ_id_smime_aa,24L ++ ++#define SN_id_smime_aa_ets_escTimeStamp "id-smime-aa-ets-escTimeStamp" ++#define NID_id_smime_aa_ets_escTimeStamp 236 ++#define OBJ_id_smime_aa_ets_escTimeStamp OBJ_id_smime_aa,25L ++ ++#define SN_id_smime_aa_ets_certCRLTimestamp "id-smime-aa-ets-certCRLTimestamp" ++#define NID_id_smime_aa_ets_certCRLTimestamp 237 ++#define OBJ_id_smime_aa_ets_certCRLTimestamp OBJ_id_smime_aa,26L ++ ++#define SN_id_smime_aa_ets_archiveTimeStamp "id-smime-aa-ets-archiveTimeStamp" ++#define NID_id_smime_aa_ets_archiveTimeStamp 238 ++#define OBJ_id_smime_aa_ets_archiveTimeStamp OBJ_id_smime_aa,27L ++ ++#define SN_id_smime_aa_signatureType "id-smime-aa-signatureType" ++#define NID_id_smime_aa_signatureType 239 ++#define OBJ_id_smime_aa_signatureType OBJ_id_smime_aa,28L ++ ++#define SN_id_smime_aa_dvcs_dvc "id-smime-aa-dvcs-dvc" ++#define NID_id_smime_aa_dvcs_dvc 240 ++#define OBJ_id_smime_aa_dvcs_dvc OBJ_id_smime_aa,29L ++ ++#define SN_id_smime_alg_ESDHwith3DES "id-smime-alg-ESDHwith3DES" ++#define NID_id_smime_alg_ESDHwith3DES 241 ++#define OBJ_id_smime_alg_ESDHwith3DES OBJ_id_smime_alg,1L ++ ++#define SN_id_smime_alg_ESDHwithRC2 "id-smime-alg-ESDHwithRC2" ++#define NID_id_smime_alg_ESDHwithRC2 242 ++#define OBJ_id_smime_alg_ESDHwithRC2 OBJ_id_smime_alg,2L ++ ++#define SN_id_smime_alg_3DESwrap "id-smime-alg-3DESwrap" ++#define NID_id_smime_alg_3DESwrap 243 ++#define OBJ_id_smime_alg_3DESwrap OBJ_id_smime_alg,3L ++ ++#define SN_id_smime_alg_RC2wrap "id-smime-alg-RC2wrap" ++#define NID_id_smime_alg_RC2wrap 244 ++#define OBJ_id_smime_alg_RC2wrap OBJ_id_smime_alg,4L ++ ++#define SN_id_smime_alg_ESDH "id-smime-alg-ESDH" ++#define NID_id_smime_alg_ESDH 245 ++#define OBJ_id_smime_alg_ESDH OBJ_id_smime_alg,5L ++ ++#define SN_id_smime_alg_CMS3DESwrap "id-smime-alg-CMS3DESwrap" ++#define NID_id_smime_alg_CMS3DESwrap 246 ++#define OBJ_id_smime_alg_CMS3DESwrap OBJ_id_smime_alg,6L ++ ++#define SN_id_smime_alg_CMSRC2wrap "id-smime-alg-CMSRC2wrap" ++#define NID_id_smime_alg_CMSRC2wrap 247 ++#define OBJ_id_smime_alg_CMSRC2wrap OBJ_id_smime_alg,7L ++ ++#define SN_id_alg_PWRI_KEK "id-alg-PWRI-KEK" ++#define NID_id_alg_PWRI_KEK 893 ++#define OBJ_id_alg_PWRI_KEK OBJ_id_smime_alg,9L ++ ++#define SN_id_smime_cd_ldap "id-smime-cd-ldap" ++#define NID_id_smime_cd_ldap 248 ++#define OBJ_id_smime_cd_ldap OBJ_id_smime_cd,1L ++ ++#define SN_id_smime_spq_ets_sqt_uri "id-smime-spq-ets-sqt-uri" ++#define NID_id_smime_spq_ets_sqt_uri 249 ++#define OBJ_id_smime_spq_ets_sqt_uri OBJ_id_smime_spq,1L ++ ++#define SN_id_smime_spq_ets_sqt_unotice "id-smime-spq-ets-sqt-unotice" ++#define NID_id_smime_spq_ets_sqt_unotice 250 ++#define OBJ_id_smime_spq_ets_sqt_unotice OBJ_id_smime_spq,2L ++ ++#define SN_id_smime_cti_ets_proofOfOrigin "id-smime-cti-ets-proofOfOrigin" ++#define NID_id_smime_cti_ets_proofOfOrigin 251 ++#define OBJ_id_smime_cti_ets_proofOfOrigin OBJ_id_smime_cti,1L ++ ++#define SN_id_smime_cti_ets_proofOfReceipt "id-smime-cti-ets-proofOfReceipt" ++#define NID_id_smime_cti_ets_proofOfReceipt 252 ++#define OBJ_id_smime_cti_ets_proofOfReceipt OBJ_id_smime_cti,2L ++ ++#define SN_id_smime_cti_ets_proofOfDelivery "id-smime-cti-ets-proofOfDelivery" ++#define NID_id_smime_cti_ets_proofOfDelivery 253 ++#define OBJ_id_smime_cti_ets_proofOfDelivery OBJ_id_smime_cti,3L ++ ++#define SN_id_smime_cti_ets_proofOfSender "id-smime-cti-ets-proofOfSender" ++#define NID_id_smime_cti_ets_proofOfSender 254 ++#define OBJ_id_smime_cti_ets_proofOfSender OBJ_id_smime_cti,4L ++ ++#define SN_id_smime_cti_ets_proofOfApproval "id-smime-cti-ets-proofOfApproval" ++#define NID_id_smime_cti_ets_proofOfApproval 255 ++#define OBJ_id_smime_cti_ets_proofOfApproval OBJ_id_smime_cti,5L ++ ++#define SN_id_smime_cti_ets_proofOfCreation "id-smime-cti-ets-proofOfCreation" ++#define NID_id_smime_cti_ets_proofOfCreation 256 ++#define OBJ_id_smime_cti_ets_proofOfCreation OBJ_id_smime_cti,6L ++ ++#define LN_friendlyName "friendlyName" ++#define NID_friendlyName 156 ++#define OBJ_friendlyName OBJ_pkcs9,20L ++ ++#define LN_localKeyID "localKeyID" ++#define NID_localKeyID 157 ++#define OBJ_localKeyID OBJ_pkcs9,21L ++ ++#define SN_ms_csp_name "CSPName" ++#define LN_ms_csp_name "Microsoft CSP Name" ++#define NID_ms_csp_name 417 ++#define OBJ_ms_csp_name 1L,3L,6L,1L,4L,1L,311L,17L,1L ++ ++#define SN_LocalKeySet "LocalKeySet" ++#define LN_LocalKeySet "Microsoft Local Key set" ++#define NID_LocalKeySet 856 ++#define OBJ_LocalKeySet 1L,3L,6L,1L,4L,1L,311L,17L,2L ++ ++#define OBJ_certTypes OBJ_pkcs9,22L ++ ++#define LN_x509Certificate "x509Certificate" ++#define NID_x509Certificate 158 ++#define OBJ_x509Certificate OBJ_certTypes,1L ++ ++#define LN_sdsiCertificate "sdsiCertificate" ++#define NID_sdsiCertificate 159 ++#define OBJ_sdsiCertificate OBJ_certTypes,2L ++ ++#define OBJ_crlTypes OBJ_pkcs9,23L ++ ++#define LN_x509Crl "x509Crl" ++#define NID_x509Crl 160 ++#define OBJ_x509Crl OBJ_crlTypes,1L ++ ++#define OBJ_pkcs12 OBJ_pkcs,12L ++ ++#define OBJ_pkcs12_pbeids OBJ_pkcs12,1L ++ ++#define SN_pbe_WithSHA1And128BitRC4 "PBE-SHA1-RC4-128" ++#define LN_pbe_WithSHA1And128BitRC4 "pbeWithSHA1And128BitRC4" ++#define NID_pbe_WithSHA1And128BitRC4 144 ++#define OBJ_pbe_WithSHA1And128BitRC4 OBJ_pkcs12_pbeids,1L ++ ++#define SN_pbe_WithSHA1And40BitRC4 "PBE-SHA1-RC4-40" ++#define LN_pbe_WithSHA1And40BitRC4 "pbeWithSHA1And40BitRC4" ++#define NID_pbe_WithSHA1And40BitRC4 145 ++#define OBJ_pbe_WithSHA1And40BitRC4 OBJ_pkcs12_pbeids,2L ++ ++#define SN_pbe_WithSHA1And3_Key_TripleDES_CBC "PBE-SHA1-3DES" ++#define LN_pbe_WithSHA1And3_Key_TripleDES_CBC "pbeWithSHA1And3-KeyTripleDES-CBC" ++#define NID_pbe_WithSHA1And3_Key_TripleDES_CBC 146 ++#define OBJ_pbe_WithSHA1And3_Key_TripleDES_CBC OBJ_pkcs12_pbeids,3L ++ ++#define SN_pbe_WithSHA1And2_Key_TripleDES_CBC "PBE-SHA1-2DES" ++#define LN_pbe_WithSHA1And2_Key_TripleDES_CBC "pbeWithSHA1And2-KeyTripleDES-CBC" ++#define NID_pbe_WithSHA1And2_Key_TripleDES_CBC 147 ++#define OBJ_pbe_WithSHA1And2_Key_TripleDES_CBC OBJ_pkcs12_pbeids,4L ++ ++#define SN_pbe_WithSHA1And128BitRC2_CBC "PBE-SHA1-RC2-128" ++#define LN_pbe_WithSHA1And128BitRC2_CBC "pbeWithSHA1And128BitRC2-CBC" ++#define NID_pbe_WithSHA1And128BitRC2_CBC 148 ++#define OBJ_pbe_WithSHA1And128BitRC2_CBC OBJ_pkcs12_pbeids,5L ++ ++#define SN_pbe_WithSHA1And40BitRC2_CBC "PBE-SHA1-RC2-40" ++#define LN_pbe_WithSHA1And40BitRC2_CBC "pbeWithSHA1And40BitRC2-CBC" ++#define NID_pbe_WithSHA1And40BitRC2_CBC 149 ++#define OBJ_pbe_WithSHA1And40BitRC2_CBC OBJ_pkcs12_pbeids,6L ++ ++#define OBJ_pkcs12_Version1 OBJ_pkcs12,10L ++ ++#define OBJ_pkcs12_BagIds OBJ_pkcs12_Version1,1L ++ ++#define LN_keyBag "keyBag" ++#define NID_keyBag 150 ++#define OBJ_keyBag OBJ_pkcs12_BagIds,1L ++ ++#define LN_pkcs8ShroudedKeyBag "pkcs8ShroudedKeyBag" ++#define NID_pkcs8ShroudedKeyBag 151 ++#define OBJ_pkcs8ShroudedKeyBag OBJ_pkcs12_BagIds,2L ++ ++#define LN_certBag "certBag" ++#define NID_certBag 152 ++#define OBJ_certBag OBJ_pkcs12_BagIds,3L ++ ++#define LN_crlBag "crlBag" ++#define NID_crlBag 153 ++#define OBJ_crlBag OBJ_pkcs12_BagIds,4L ++ ++#define LN_secretBag "secretBag" ++#define NID_secretBag 154 ++#define OBJ_secretBag OBJ_pkcs12_BagIds,5L ++ ++#define LN_safeContentsBag "safeContentsBag" ++#define NID_safeContentsBag 155 ++#define OBJ_safeContentsBag OBJ_pkcs12_BagIds,6L ++ ++#define SN_md2 "MD2" ++#define LN_md2 "md2" ++#define NID_md2 3 ++#define OBJ_md2 OBJ_rsadsi,2L,2L ++ ++#define SN_md4 "MD4" ++#define LN_md4 "md4" ++#define NID_md4 257 ++#define OBJ_md4 OBJ_rsadsi,2L,4L ++ ++#define SN_md5 "MD5" ++#define LN_md5 "md5" ++#define NID_md5 4 ++#define OBJ_md5 OBJ_rsadsi,2L,5L ++ ++#define SN_md5_sha1 "MD5-SHA1" ++#define LN_md5_sha1 "md5-sha1" ++#define NID_md5_sha1 114 ++ ++#define LN_hmacWithMD5 "hmacWithMD5" ++#define NID_hmacWithMD5 797 ++#define OBJ_hmacWithMD5 OBJ_rsadsi,2L,6L ++ ++#define LN_hmacWithSHA1 "hmacWithSHA1" ++#define NID_hmacWithSHA1 163 ++#define OBJ_hmacWithSHA1 OBJ_rsadsi,2L,7L ++ ++#define LN_hmacWithSHA224 "hmacWithSHA224" ++#define NID_hmacWithSHA224 798 ++#define OBJ_hmacWithSHA224 OBJ_rsadsi,2L,8L ++ ++#define LN_hmacWithSHA256 "hmacWithSHA256" ++#define NID_hmacWithSHA256 799 ++#define OBJ_hmacWithSHA256 OBJ_rsadsi,2L,9L ++ ++#define LN_hmacWithSHA384 "hmacWithSHA384" ++#define NID_hmacWithSHA384 800 ++#define OBJ_hmacWithSHA384 OBJ_rsadsi,2L,10L ++ ++#define LN_hmacWithSHA512 "hmacWithSHA512" ++#define NID_hmacWithSHA512 801 ++#define OBJ_hmacWithSHA512 OBJ_rsadsi,2L,11L ++ ++#define SN_rc2_cbc "RC2-CBC" ++#define LN_rc2_cbc "rc2-cbc" ++#define NID_rc2_cbc 37 ++#define OBJ_rc2_cbc OBJ_rsadsi,3L,2L ++ ++#define SN_rc2_ecb "RC2-ECB" ++#define LN_rc2_ecb "rc2-ecb" ++#define NID_rc2_ecb 38 ++ ++#define SN_rc2_cfb64 "RC2-CFB" ++#define LN_rc2_cfb64 "rc2-cfb" ++#define NID_rc2_cfb64 39 ++ ++#define SN_rc2_ofb64 "RC2-OFB" ++#define LN_rc2_ofb64 "rc2-ofb" ++#define NID_rc2_ofb64 40 ++ ++#define SN_rc2_40_cbc "RC2-40-CBC" ++#define LN_rc2_40_cbc "rc2-40-cbc" ++#define NID_rc2_40_cbc 98 ++ ++#define SN_rc2_64_cbc "RC2-64-CBC" ++#define LN_rc2_64_cbc "rc2-64-cbc" ++#define NID_rc2_64_cbc 166 ++ ++#define SN_rc4 "RC4" ++#define LN_rc4 "rc4" ++#define NID_rc4 5 ++#define OBJ_rc4 OBJ_rsadsi,3L,4L ++ ++#define SN_rc4_40 "RC4-40" ++#define LN_rc4_40 "rc4-40" ++#define NID_rc4_40 97 ++ ++#define SN_des_ede3_cbc "DES-EDE3-CBC" ++#define LN_des_ede3_cbc "des-ede3-cbc" ++#define NID_des_ede3_cbc 44 ++#define OBJ_des_ede3_cbc OBJ_rsadsi,3L,7L ++ ++#define SN_rc5_cbc "RC5-CBC" ++#define LN_rc5_cbc "rc5-cbc" ++#define NID_rc5_cbc 120 ++#define OBJ_rc5_cbc OBJ_rsadsi,3L,8L ++ ++#define SN_rc5_ecb "RC5-ECB" ++#define LN_rc5_ecb "rc5-ecb" ++#define NID_rc5_ecb 121 ++ ++#define SN_rc5_cfb64 "RC5-CFB" ++#define LN_rc5_cfb64 "rc5-cfb" ++#define NID_rc5_cfb64 122 ++ ++#define SN_rc5_ofb64 "RC5-OFB" ++#define LN_rc5_ofb64 "rc5-ofb" ++#define NID_rc5_ofb64 123 ++ ++#define SN_ms_ext_req "msExtReq" ++#define LN_ms_ext_req "Microsoft Extension Request" ++#define NID_ms_ext_req 171 ++#define OBJ_ms_ext_req 1L,3L,6L,1L,4L,1L,311L,2L,1L,14L ++ ++#define SN_ms_code_ind "msCodeInd" ++#define LN_ms_code_ind "Microsoft Individual Code Signing" ++#define NID_ms_code_ind 134 ++#define OBJ_ms_code_ind 1L,3L,6L,1L,4L,1L,311L,2L,1L,21L ++ ++#define SN_ms_code_com "msCodeCom" ++#define LN_ms_code_com "Microsoft Commercial Code Signing" ++#define NID_ms_code_com 135 ++#define OBJ_ms_code_com 1L,3L,6L,1L,4L,1L,311L,2L,1L,22L ++ ++#define SN_ms_ctl_sign "msCTLSign" ++#define LN_ms_ctl_sign "Microsoft Trust List Signing" ++#define NID_ms_ctl_sign 136 ++#define OBJ_ms_ctl_sign 1L,3L,6L,1L,4L,1L,311L,10L,3L,1L ++ ++#define SN_ms_sgc "msSGC" ++#define LN_ms_sgc "Microsoft Server Gated Crypto" ++#define NID_ms_sgc 137 ++#define OBJ_ms_sgc 1L,3L,6L,1L,4L,1L,311L,10L,3L,3L ++ ++#define SN_ms_efs "msEFS" ++#define LN_ms_efs "Microsoft Encrypted File System" ++#define NID_ms_efs 138 ++#define OBJ_ms_efs 1L,3L,6L,1L,4L,1L,311L,10L,3L,4L ++ ++#define SN_ms_smartcard_login "msSmartcardLogin" ++#define LN_ms_smartcard_login "Microsoft Smartcardlogin" ++#define NID_ms_smartcard_login 648 ++#define OBJ_ms_smartcard_login 1L,3L,6L,1L,4L,1L,311L,20L,2L,2L ++ ++#define SN_ms_upn "msUPN" ++#define LN_ms_upn "Microsoft Universal Principal Name" ++#define NID_ms_upn 649 ++#define OBJ_ms_upn 1L,3L,6L,1L,4L,1L,311L,20L,2L,3L ++ ++#define SN_idea_cbc "IDEA-CBC" ++#define LN_idea_cbc "idea-cbc" ++#define NID_idea_cbc 34 ++#define OBJ_idea_cbc 1L,3L,6L,1L,4L,1L,188L,7L,1L,1L,2L ++ ++#define SN_idea_ecb "IDEA-ECB" ++#define LN_idea_ecb "idea-ecb" ++#define NID_idea_ecb 36 ++ ++#define SN_idea_cfb64 "IDEA-CFB" ++#define LN_idea_cfb64 "idea-cfb" ++#define NID_idea_cfb64 35 ++ ++#define SN_idea_ofb64 "IDEA-OFB" ++#define LN_idea_ofb64 "idea-ofb" ++#define NID_idea_ofb64 46 ++ ++#define SN_bf_cbc "BF-CBC" ++#define LN_bf_cbc "bf-cbc" ++#define NID_bf_cbc 91 ++#define OBJ_bf_cbc 1L,3L,6L,1L,4L,1L,3029L,1L,2L ++ ++#define SN_bf_ecb "BF-ECB" ++#define LN_bf_ecb "bf-ecb" ++#define NID_bf_ecb 92 ++ ++#define SN_bf_cfb64 "BF-CFB" ++#define LN_bf_cfb64 "bf-cfb" ++#define NID_bf_cfb64 93 ++ ++#define SN_bf_ofb64 "BF-OFB" ++#define LN_bf_ofb64 "bf-ofb" ++#define NID_bf_ofb64 94 ++ ++#define SN_id_pkix "PKIX" ++#define NID_id_pkix 127 ++#define OBJ_id_pkix 1L,3L,6L,1L,5L,5L,7L ++ ++#define SN_id_pkix_mod "id-pkix-mod" ++#define NID_id_pkix_mod 258 ++#define OBJ_id_pkix_mod OBJ_id_pkix,0L ++ ++#define SN_id_pe "id-pe" ++#define NID_id_pe 175 ++#define OBJ_id_pe OBJ_id_pkix,1L ++ ++#define SN_id_qt "id-qt" ++#define NID_id_qt 259 ++#define OBJ_id_qt OBJ_id_pkix,2L ++ ++#define SN_id_kp "id-kp" ++#define NID_id_kp 128 ++#define OBJ_id_kp OBJ_id_pkix,3L ++ ++#define SN_id_it "id-it" ++#define NID_id_it 260 ++#define OBJ_id_it OBJ_id_pkix,4L ++ ++#define SN_id_pkip "id-pkip" ++#define NID_id_pkip 261 ++#define OBJ_id_pkip OBJ_id_pkix,5L ++ ++#define SN_id_alg "id-alg" ++#define NID_id_alg 262 ++#define OBJ_id_alg OBJ_id_pkix,6L ++ ++#define SN_id_cmc "id-cmc" ++#define NID_id_cmc 263 ++#define OBJ_id_cmc OBJ_id_pkix,7L ++ ++#define SN_id_on "id-on" ++#define NID_id_on 264 ++#define OBJ_id_on OBJ_id_pkix,8L ++ ++#define SN_id_pda "id-pda" ++#define NID_id_pda 265 ++#define OBJ_id_pda OBJ_id_pkix,9L ++ ++#define SN_id_aca "id-aca" ++#define NID_id_aca 266 ++#define OBJ_id_aca OBJ_id_pkix,10L ++ ++#define SN_id_qcs "id-qcs" ++#define NID_id_qcs 267 ++#define OBJ_id_qcs OBJ_id_pkix,11L ++ ++#define SN_id_cct "id-cct" ++#define NID_id_cct 268 ++#define OBJ_id_cct OBJ_id_pkix,12L ++ ++#define SN_id_ppl "id-ppl" ++#define NID_id_ppl 662 ++#define OBJ_id_ppl OBJ_id_pkix,21L ++ ++#define SN_id_ad "id-ad" ++#define NID_id_ad 176 ++#define OBJ_id_ad OBJ_id_pkix,48L ++ ++#define SN_id_pkix1_explicit_88 "id-pkix1-explicit-88" ++#define NID_id_pkix1_explicit_88 269 ++#define OBJ_id_pkix1_explicit_88 OBJ_id_pkix_mod,1L ++ ++#define SN_id_pkix1_implicit_88 "id-pkix1-implicit-88" ++#define NID_id_pkix1_implicit_88 270 ++#define OBJ_id_pkix1_implicit_88 OBJ_id_pkix_mod,2L ++ ++#define SN_id_pkix1_explicit_93 "id-pkix1-explicit-93" ++#define NID_id_pkix1_explicit_93 271 ++#define OBJ_id_pkix1_explicit_93 OBJ_id_pkix_mod,3L ++ ++#define SN_id_pkix1_implicit_93 "id-pkix1-implicit-93" ++#define NID_id_pkix1_implicit_93 272 ++#define OBJ_id_pkix1_implicit_93 OBJ_id_pkix_mod,4L ++ ++#define SN_id_mod_crmf "id-mod-crmf" ++#define NID_id_mod_crmf 273 ++#define OBJ_id_mod_crmf OBJ_id_pkix_mod,5L ++ ++#define SN_id_mod_cmc "id-mod-cmc" ++#define NID_id_mod_cmc 274 ++#define OBJ_id_mod_cmc OBJ_id_pkix_mod,6L ++ ++#define SN_id_mod_kea_profile_88 "id-mod-kea-profile-88" ++#define NID_id_mod_kea_profile_88 275 ++#define OBJ_id_mod_kea_profile_88 OBJ_id_pkix_mod,7L ++ ++#define SN_id_mod_kea_profile_93 "id-mod-kea-profile-93" ++#define NID_id_mod_kea_profile_93 276 ++#define OBJ_id_mod_kea_profile_93 OBJ_id_pkix_mod,8L ++ ++#define SN_id_mod_cmp "id-mod-cmp" ++#define NID_id_mod_cmp 277 ++#define OBJ_id_mod_cmp OBJ_id_pkix_mod,9L ++ ++#define SN_id_mod_qualified_cert_88 "id-mod-qualified-cert-88" ++#define NID_id_mod_qualified_cert_88 278 ++#define OBJ_id_mod_qualified_cert_88 OBJ_id_pkix_mod,10L ++ ++#define SN_id_mod_qualified_cert_93 "id-mod-qualified-cert-93" ++#define NID_id_mod_qualified_cert_93 279 ++#define OBJ_id_mod_qualified_cert_93 OBJ_id_pkix_mod,11L ++ ++#define SN_id_mod_attribute_cert "id-mod-attribute-cert" ++#define NID_id_mod_attribute_cert 280 ++#define OBJ_id_mod_attribute_cert OBJ_id_pkix_mod,12L ++ ++#define SN_id_mod_timestamp_protocol "id-mod-timestamp-protocol" ++#define NID_id_mod_timestamp_protocol 281 ++#define OBJ_id_mod_timestamp_protocol OBJ_id_pkix_mod,13L ++ ++#define SN_id_mod_ocsp "id-mod-ocsp" ++#define NID_id_mod_ocsp 282 ++#define OBJ_id_mod_ocsp OBJ_id_pkix_mod,14L ++ ++#define SN_id_mod_dvcs "id-mod-dvcs" ++#define NID_id_mod_dvcs 283 ++#define OBJ_id_mod_dvcs OBJ_id_pkix_mod,15L ++ ++#define SN_id_mod_cmp2000 "id-mod-cmp2000" ++#define NID_id_mod_cmp2000 284 ++#define OBJ_id_mod_cmp2000 OBJ_id_pkix_mod,16L ++ ++#define SN_info_access "authorityInfoAccess" ++#define LN_info_access "Authority Information Access" ++#define NID_info_access 177 ++#define OBJ_info_access OBJ_id_pe,1L ++ ++#define SN_biometricInfo "biometricInfo" ++#define LN_biometricInfo "Biometric Info" ++#define NID_biometricInfo 285 ++#define OBJ_biometricInfo OBJ_id_pe,2L ++ ++#define SN_qcStatements "qcStatements" ++#define NID_qcStatements 286 ++#define OBJ_qcStatements OBJ_id_pe,3L ++ ++#define SN_ac_auditEntity "ac-auditEntity" ++#define NID_ac_auditEntity 287 ++#define OBJ_ac_auditEntity OBJ_id_pe,4L ++ ++#define SN_ac_targeting "ac-targeting" ++#define NID_ac_targeting 288 ++#define OBJ_ac_targeting OBJ_id_pe,5L ++ ++#define SN_aaControls "aaControls" ++#define NID_aaControls 289 ++#define OBJ_aaControls OBJ_id_pe,6L ++ ++#define SN_sbgp_ipAddrBlock "sbgp-ipAddrBlock" ++#define NID_sbgp_ipAddrBlock 290 ++#define OBJ_sbgp_ipAddrBlock OBJ_id_pe,7L ++ ++#define SN_sbgp_autonomousSysNum "sbgp-autonomousSysNum" ++#define NID_sbgp_autonomousSysNum 291 ++#define OBJ_sbgp_autonomousSysNum OBJ_id_pe,8L ++ ++#define SN_sbgp_routerIdentifier "sbgp-routerIdentifier" ++#define NID_sbgp_routerIdentifier 292 ++#define OBJ_sbgp_routerIdentifier OBJ_id_pe,9L ++ ++#define SN_ac_proxying "ac-proxying" ++#define NID_ac_proxying 397 ++#define OBJ_ac_proxying OBJ_id_pe,10L ++ ++#define SN_sinfo_access "subjectInfoAccess" ++#define LN_sinfo_access "Subject Information Access" ++#define NID_sinfo_access 398 ++#define OBJ_sinfo_access OBJ_id_pe,11L ++ ++#define SN_proxyCertInfo "proxyCertInfo" ++#define LN_proxyCertInfo "Proxy Certificate Information" ++#define NID_proxyCertInfo 663 ++#define OBJ_proxyCertInfo OBJ_id_pe,14L ++ ++#define SN_id_qt_cps "id-qt-cps" ++#define LN_id_qt_cps "Policy Qualifier CPS" ++#define NID_id_qt_cps 164 ++#define OBJ_id_qt_cps OBJ_id_qt,1L ++ ++#define SN_id_qt_unotice "id-qt-unotice" ++#define LN_id_qt_unotice "Policy Qualifier User Notice" ++#define NID_id_qt_unotice 165 ++#define OBJ_id_qt_unotice OBJ_id_qt,2L ++ ++#define SN_textNotice "textNotice" ++#define NID_textNotice 293 ++#define OBJ_textNotice OBJ_id_qt,3L ++ ++#define SN_server_auth "serverAuth" ++#define LN_server_auth "TLS Web Server Authentication" ++#define NID_server_auth 129 ++#define OBJ_server_auth OBJ_id_kp,1L ++ ++#define SN_client_auth "clientAuth" ++#define LN_client_auth "TLS Web Client Authentication" ++#define NID_client_auth 130 ++#define OBJ_client_auth OBJ_id_kp,2L ++ ++#define SN_code_sign "codeSigning" ++#define LN_code_sign "Code Signing" ++#define NID_code_sign 131 ++#define OBJ_code_sign OBJ_id_kp,3L ++ ++#define SN_email_protect "emailProtection" ++#define LN_email_protect "E-mail Protection" ++#define NID_email_protect 132 ++#define OBJ_email_protect OBJ_id_kp,4L ++ ++#define SN_ipsecEndSystem "ipsecEndSystem" ++#define LN_ipsecEndSystem "IPSec End System" ++#define NID_ipsecEndSystem 294 ++#define OBJ_ipsecEndSystem OBJ_id_kp,5L ++ ++#define SN_ipsecTunnel "ipsecTunnel" ++#define LN_ipsecTunnel "IPSec Tunnel" ++#define NID_ipsecTunnel 295 ++#define OBJ_ipsecTunnel OBJ_id_kp,6L ++ ++#define SN_ipsecUser "ipsecUser" ++#define LN_ipsecUser "IPSec User" ++#define NID_ipsecUser 296 ++#define OBJ_ipsecUser OBJ_id_kp,7L ++ ++#define SN_time_stamp "timeStamping" ++#define LN_time_stamp "Time Stamping" ++#define NID_time_stamp 133 ++#define OBJ_time_stamp OBJ_id_kp,8L ++ ++#define SN_OCSP_sign "OCSPSigning" ++#define LN_OCSP_sign "OCSP Signing" ++#define NID_OCSP_sign 180 ++#define OBJ_OCSP_sign OBJ_id_kp,9L ++ ++#define SN_dvcs "DVCS" ++#define LN_dvcs "dvcs" ++#define NID_dvcs 297 ++#define OBJ_dvcs OBJ_id_kp,10L ++ ++#define SN_id_it_caProtEncCert "id-it-caProtEncCert" ++#define NID_id_it_caProtEncCert 298 ++#define OBJ_id_it_caProtEncCert OBJ_id_it,1L ++ ++#define SN_id_it_signKeyPairTypes "id-it-signKeyPairTypes" ++#define NID_id_it_signKeyPairTypes 299 ++#define OBJ_id_it_signKeyPairTypes OBJ_id_it,2L ++ ++#define SN_id_it_encKeyPairTypes "id-it-encKeyPairTypes" ++#define NID_id_it_encKeyPairTypes 300 ++#define OBJ_id_it_encKeyPairTypes OBJ_id_it,3L ++ ++#define SN_id_it_preferredSymmAlg "id-it-preferredSymmAlg" ++#define NID_id_it_preferredSymmAlg 301 ++#define OBJ_id_it_preferredSymmAlg OBJ_id_it,4L ++ ++#define SN_id_it_caKeyUpdateInfo "id-it-caKeyUpdateInfo" ++#define NID_id_it_caKeyUpdateInfo 302 ++#define OBJ_id_it_caKeyUpdateInfo OBJ_id_it,5L ++ ++#define SN_id_it_currentCRL "id-it-currentCRL" ++#define NID_id_it_currentCRL 303 ++#define OBJ_id_it_currentCRL OBJ_id_it,6L ++ ++#define SN_id_it_unsupportedOIDs "id-it-unsupportedOIDs" ++#define NID_id_it_unsupportedOIDs 304 ++#define OBJ_id_it_unsupportedOIDs OBJ_id_it,7L ++ ++#define SN_id_it_subscriptionRequest "id-it-subscriptionRequest" ++#define NID_id_it_subscriptionRequest 305 ++#define OBJ_id_it_subscriptionRequest OBJ_id_it,8L ++ ++#define SN_id_it_subscriptionResponse "id-it-subscriptionResponse" ++#define NID_id_it_subscriptionResponse 306 ++#define OBJ_id_it_subscriptionResponse OBJ_id_it,9L ++ ++#define SN_id_it_keyPairParamReq "id-it-keyPairParamReq" ++#define NID_id_it_keyPairParamReq 307 ++#define OBJ_id_it_keyPairParamReq OBJ_id_it,10L ++ ++#define SN_id_it_keyPairParamRep "id-it-keyPairParamRep" ++#define NID_id_it_keyPairParamRep 308 ++#define OBJ_id_it_keyPairParamRep OBJ_id_it,11L ++ ++#define SN_id_it_revPassphrase "id-it-revPassphrase" ++#define NID_id_it_revPassphrase 309 ++#define OBJ_id_it_revPassphrase OBJ_id_it,12L ++ ++#define SN_id_it_implicitConfirm "id-it-implicitConfirm" ++#define NID_id_it_implicitConfirm 310 ++#define OBJ_id_it_implicitConfirm OBJ_id_it,13L ++ ++#define SN_id_it_confirmWaitTime "id-it-confirmWaitTime" ++#define NID_id_it_confirmWaitTime 311 ++#define OBJ_id_it_confirmWaitTime OBJ_id_it,14L ++ ++#define SN_id_it_origPKIMessage "id-it-origPKIMessage" ++#define NID_id_it_origPKIMessage 312 ++#define OBJ_id_it_origPKIMessage OBJ_id_it,15L ++ ++#define SN_id_it_suppLangTags "id-it-suppLangTags" ++#define NID_id_it_suppLangTags 784 ++#define OBJ_id_it_suppLangTags OBJ_id_it,16L ++ ++#define SN_id_regCtrl "id-regCtrl" ++#define NID_id_regCtrl 313 ++#define OBJ_id_regCtrl OBJ_id_pkip,1L ++ ++#define SN_id_regInfo "id-regInfo" ++#define NID_id_regInfo 314 ++#define OBJ_id_regInfo OBJ_id_pkip,2L ++ ++#define SN_id_regCtrl_regToken "id-regCtrl-regToken" ++#define NID_id_regCtrl_regToken 315 ++#define OBJ_id_regCtrl_regToken OBJ_id_regCtrl,1L ++ ++#define SN_id_regCtrl_authenticator "id-regCtrl-authenticator" ++#define NID_id_regCtrl_authenticator 316 ++#define OBJ_id_regCtrl_authenticator OBJ_id_regCtrl,2L ++ ++#define SN_id_regCtrl_pkiPublicationInfo "id-regCtrl-pkiPublicationInfo" ++#define NID_id_regCtrl_pkiPublicationInfo 317 ++#define OBJ_id_regCtrl_pkiPublicationInfo OBJ_id_regCtrl,3L ++ ++#define SN_id_regCtrl_pkiArchiveOptions "id-regCtrl-pkiArchiveOptions" ++#define NID_id_regCtrl_pkiArchiveOptions 318 ++#define OBJ_id_regCtrl_pkiArchiveOptions OBJ_id_regCtrl,4L ++ ++#define SN_id_regCtrl_oldCertID "id-regCtrl-oldCertID" ++#define NID_id_regCtrl_oldCertID 319 ++#define OBJ_id_regCtrl_oldCertID OBJ_id_regCtrl,5L ++ ++#define SN_id_regCtrl_protocolEncrKey "id-regCtrl-protocolEncrKey" ++#define NID_id_regCtrl_protocolEncrKey 320 ++#define OBJ_id_regCtrl_protocolEncrKey OBJ_id_regCtrl,6L ++ ++#define SN_id_regInfo_utf8Pairs "id-regInfo-utf8Pairs" ++#define NID_id_regInfo_utf8Pairs 321 ++#define OBJ_id_regInfo_utf8Pairs OBJ_id_regInfo,1L ++ ++#define SN_id_regInfo_certReq "id-regInfo-certReq" ++#define NID_id_regInfo_certReq 322 ++#define OBJ_id_regInfo_certReq OBJ_id_regInfo,2L ++ ++#define SN_id_alg_des40 "id-alg-des40" ++#define NID_id_alg_des40 323 ++#define OBJ_id_alg_des40 OBJ_id_alg,1L ++ ++#define SN_id_alg_noSignature "id-alg-noSignature" ++#define NID_id_alg_noSignature 324 ++#define OBJ_id_alg_noSignature OBJ_id_alg,2L ++ ++#define SN_id_alg_dh_sig_hmac_sha1 "id-alg-dh-sig-hmac-sha1" ++#define NID_id_alg_dh_sig_hmac_sha1 325 ++#define OBJ_id_alg_dh_sig_hmac_sha1 OBJ_id_alg,3L ++ ++#define SN_id_alg_dh_pop "id-alg-dh-pop" ++#define NID_id_alg_dh_pop 326 ++#define OBJ_id_alg_dh_pop OBJ_id_alg,4L ++ ++#define SN_id_cmc_statusInfo "id-cmc-statusInfo" ++#define NID_id_cmc_statusInfo 327 ++#define OBJ_id_cmc_statusInfo OBJ_id_cmc,1L ++ ++#define SN_id_cmc_identification "id-cmc-identification" ++#define NID_id_cmc_identification 328 ++#define OBJ_id_cmc_identification OBJ_id_cmc,2L ++ ++#define SN_id_cmc_identityProof "id-cmc-identityProof" ++#define NID_id_cmc_identityProof 329 ++#define OBJ_id_cmc_identityProof OBJ_id_cmc,3L ++ ++#define SN_id_cmc_dataReturn "id-cmc-dataReturn" ++#define NID_id_cmc_dataReturn 330 ++#define OBJ_id_cmc_dataReturn OBJ_id_cmc,4L ++ ++#define SN_id_cmc_transactionId "id-cmc-transactionId" ++#define NID_id_cmc_transactionId 331 ++#define OBJ_id_cmc_transactionId OBJ_id_cmc,5L ++ ++#define SN_id_cmc_senderNonce "id-cmc-senderNonce" ++#define NID_id_cmc_senderNonce 332 ++#define OBJ_id_cmc_senderNonce OBJ_id_cmc,6L ++ ++#define SN_id_cmc_recipientNonce "id-cmc-recipientNonce" ++#define NID_id_cmc_recipientNonce 333 ++#define OBJ_id_cmc_recipientNonce OBJ_id_cmc,7L ++ ++#define SN_id_cmc_addExtensions "id-cmc-addExtensions" ++#define NID_id_cmc_addExtensions 334 ++#define OBJ_id_cmc_addExtensions OBJ_id_cmc,8L ++ ++#define SN_id_cmc_encryptedPOP "id-cmc-encryptedPOP" ++#define NID_id_cmc_encryptedPOP 335 ++#define OBJ_id_cmc_encryptedPOP OBJ_id_cmc,9L ++ ++#define SN_id_cmc_decryptedPOP "id-cmc-decryptedPOP" ++#define NID_id_cmc_decryptedPOP 336 ++#define OBJ_id_cmc_decryptedPOP OBJ_id_cmc,10L ++ ++#define SN_id_cmc_lraPOPWitness "id-cmc-lraPOPWitness" ++#define NID_id_cmc_lraPOPWitness 337 ++#define OBJ_id_cmc_lraPOPWitness OBJ_id_cmc,11L ++ ++#define SN_id_cmc_getCert "id-cmc-getCert" ++#define NID_id_cmc_getCert 338 ++#define OBJ_id_cmc_getCert OBJ_id_cmc,15L ++ ++#define SN_id_cmc_getCRL "id-cmc-getCRL" ++#define NID_id_cmc_getCRL 339 ++#define OBJ_id_cmc_getCRL OBJ_id_cmc,16L ++ ++#define SN_id_cmc_revokeRequest "id-cmc-revokeRequest" ++#define NID_id_cmc_revokeRequest 340 ++#define OBJ_id_cmc_revokeRequest OBJ_id_cmc,17L ++ ++#define SN_id_cmc_regInfo "id-cmc-regInfo" ++#define NID_id_cmc_regInfo 341 ++#define OBJ_id_cmc_regInfo OBJ_id_cmc,18L ++ ++#define SN_id_cmc_responseInfo "id-cmc-responseInfo" ++#define NID_id_cmc_responseInfo 342 ++#define OBJ_id_cmc_responseInfo OBJ_id_cmc,19L ++ ++#define SN_id_cmc_queryPending "id-cmc-queryPending" ++#define NID_id_cmc_queryPending 343 ++#define OBJ_id_cmc_queryPending OBJ_id_cmc,21L ++ ++#define SN_id_cmc_popLinkRandom "id-cmc-popLinkRandom" ++#define NID_id_cmc_popLinkRandom 344 ++#define OBJ_id_cmc_popLinkRandom OBJ_id_cmc,22L ++ ++#define SN_id_cmc_popLinkWitness "id-cmc-popLinkWitness" ++#define NID_id_cmc_popLinkWitness 345 ++#define OBJ_id_cmc_popLinkWitness OBJ_id_cmc,23L ++ ++#define SN_id_cmc_confirmCertAcceptance "id-cmc-confirmCertAcceptance" ++#define NID_id_cmc_confirmCertAcceptance 346 ++#define OBJ_id_cmc_confirmCertAcceptance OBJ_id_cmc,24L ++ ++#define SN_id_on_personalData "id-on-personalData" ++#define NID_id_on_personalData 347 ++#define OBJ_id_on_personalData OBJ_id_on,1L ++ ++#define SN_id_on_permanentIdentifier "id-on-permanentIdentifier" ++#define LN_id_on_permanentIdentifier "Permanent Identifier" ++#define NID_id_on_permanentIdentifier 858 ++#define OBJ_id_on_permanentIdentifier OBJ_id_on,3L ++ ++#define SN_id_pda_dateOfBirth "id-pda-dateOfBirth" ++#define NID_id_pda_dateOfBirth 348 ++#define OBJ_id_pda_dateOfBirth OBJ_id_pda,1L ++ ++#define SN_id_pda_placeOfBirth "id-pda-placeOfBirth" ++#define NID_id_pda_placeOfBirth 349 ++#define OBJ_id_pda_placeOfBirth OBJ_id_pda,2L ++ ++#define SN_id_pda_gender "id-pda-gender" ++#define NID_id_pda_gender 351 ++#define OBJ_id_pda_gender OBJ_id_pda,3L ++ ++#define SN_id_pda_countryOfCitizenship "id-pda-countryOfCitizenship" ++#define NID_id_pda_countryOfCitizenship 352 ++#define OBJ_id_pda_countryOfCitizenship OBJ_id_pda,4L ++ ++#define SN_id_pda_countryOfResidence "id-pda-countryOfResidence" ++#define NID_id_pda_countryOfResidence 353 ++#define OBJ_id_pda_countryOfResidence OBJ_id_pda,5L ++ ++#define SN_id_aca_authenticationInfo "id-aca-authenticationInfo" ++#define NID_id_aca_authenticationInfo 354 ++#define OBJ_id_aca_authenticationInfo OBJ_id_aca,1L ++ ++#define SN_id_aca_accessIdentity "id-aca-accessIdentity" ++#define NID_id_aca_accessIdentity 355 ++#define OBJ_id_aca_accessIdentity OBJ_id_aca,2L ++ ++#define SN_id_aca_chargingIdentity "id-aca-chargingIdentity" ++#define NID_id_aca_chargingIdentity 356 ++#define OBJ_id_aca_chargingIdentity OBJ_id_aca,3L ++ ++#define SN_id_aca_group "id-aca-group" ++#define NID_id_aca_group 357 ++#define OBJ_id_aca_group OBJ_id_aca,4L ++ ++#define SN_id_aca_role "id-aca-role" ++#define NID_id_aca_role 358 ++#define OBJ_id_aca_role OBJ_id_aca,5L ++ ++#define SN_id_aca_encAttrs "id-aca-encAttrs" ++#define NID_id_aca_encAttrs 399 ++#define OBJ_id_aca_encAttrs OBJ_id_aca,6L ++ ++#define SN_id_qcs_pkixQCSyntax_v1 "id-qcs-pkixQCSyntax-v1" ++#define NID_id_qcs_pkixQCSyntax_v1 359 ++#define OBJ_id_qcs_pkixQCSyntax_v1 OBJ_id_qcs,1L ++ ++#define SN_id_cct_crs "id-cct-crs" ++#define NID_id_cct_crs 360 ++#define OBJ_id_cct_crs OBJ_id_cct,1L ++ ++#define SN_id_cct_PKIData "id-cct-PKIData" ++#define NID_id_cct_PKIData 361 ++#define OBJ_id_cct_PKIData OBJ_id_cct,2L ++ ++#define SN_id_cct_PKIResponse "id-cct-PKIResponse" ++#define NID_id_cct_PKIResponse 362 ++#define OBJ_id_cct_PKIResponse OBJ_id_cct,3L ++ ++#define SN_id_ppl_anyLanguage "id-ppl-anyLanguage" ++#define LN_id_ppl_anyLanguage "Any language" ++#define NID_id_ppl_anyLanguage 664 ++#define OBJ_id_ppl_anyLanguage OBJ_id_ppl,0L ++ ++#define SN_id_ppl_inheritAll "id-ppl-inheritAll" ++#define LN_id_ppl_inheritAll "Inherit all" ++#define NID_id_ppl_inheritAll 665 ++#define OBJ_id_ppl_inheritAll OBJ_id_ppl,1L ++ ++#define SN_Independent "id-ppl-independent" ++#define LN_Independent "Independent" ++#define NID_Independent 667 ++#define OBJ_Independent OBJ_id_ppl,2L ++ ++#define SN_ad_OCSP "OCSP" ++#define LN_ad_OCSP "OCSP" ++#define NID_ad_OCSP 178 ++#define OBJ_ad_OCSP OBJ_id_ad,1L ++ ++#define SN_ad_ca_issuers "caIssuers" ++#define LN_ad_ca_issuers "CA Issuers" ++#define NID_ad_ca_issuers 179 ++#define OBJ_ad_ca_issuers OBJ_id_ad,2L ++ ++#define SN_ad_timeStamping "ad_timestamping" ++#define LN_ad_timeStamping "AD Time Stamping" ++#define NID_ad_timeStamping 363 ++#define OBJ_ad_timeStamping OBJ_id_ad,3L ++ ++#define SN_ad_dvcs "AD_DVCS" ++#define LN_ad_dvcs "ad dvcs" ++#define NID_ad_dvcs 364 ++#define OBJ_ad_dvcs OBJ_id_ad,4L ++ ++#define SN_caRepository "caRepository" ++#define LN_caRepository "CA Repository" ++#define NID_caRepository 785 ++#define OBJ_caRepository OBJ_id_ad,5L ++ ++#define OBJ_id_pkix_OCSP OBJ_ad_OCSP ++ ++#define SN_id_pkix_OCSP_basic "basicOCSPResponse" ++#define LN_id_pkix_OCSP_basic "Basic OCSP Response" ++#define NID_id_pkix_OCSP_basic 365 ++#define OBJ_id_pkix_OCSP_basic OBJ_id_pkix_OCSP,1L ++ ++#define SN_id_pkix_OCSP_Nonce "Nonce" ++#define LN_id_pkix_OCSP_Nonce "OCSP Nonce" ++#define NID_id_pkix_OCSP_Nonce 366 ++#define OBJ_id_pkix_OCSP_Nonce OBJ_id_pkix_OCSP,2L ++ ++#define SN_id_pkix_OCSP_CrlID "CrlID" ++#define LN_id_pkix_OCSP_CrlID "OCSP CRL ID" ++#define NID_id_pkix_OCSP_CrlID 367 ++#define OBJ_id_pkix_OCSP_CrlID OBJ_id_pkix_OCSP,3L ++ ++#define SN_id_pkix_OCSP_acceptableResponses "acceptableResponses" ++#define LN_id_pkix_OCSP_acceptableResponses "Acceptable OCSP Responses" ++#define NID_id_pkix_OCSP_acceptableResponses 368 ++#define OBJ_id_pkix_OCSP_acceptableResponses OBJ_id_pkix_OCSP,4L ++ ++#define SN_id_pkix_OCSP_noCheck "noCheck" ++#define LN_id_pkix_OCSP_noCheck "OCSP No Check" ++#define NID_id_pkix_OCSP_noCheck 369 ++#define OBJ_id_pkix_OCSP_noCheck OBJ_id_pkix_OCSP,5L ++ ++#define SN_id_pkix_OCSP_archiveCutoff "archiveCutoff" ++#define LN_id_pkix_OCSP_archiveCutoff "OCSP Archive Cutoff" ++#define NID_id_pkix_OCSP_archiveCutoff 370 ++#define OBJ_id_pkix_OCSP_archiveCutoff OBJ_id_pkix_OCSP,6L ++ ++#define SN_id_pkix_OCSP_serviceLocator "serviceLocator" ++#define LN_id_pkix_OCSP_serviceLocator "OCSP Service Locator" ++#define NID_id_pkix_OCSP_serviceLocator 371 ++#define OBJ_id_pkix_OCSP_serviceLocator OBJ_id_pkix_OCSP,7L ++ ++#define SN_id_pkix_OCSP_extendedStatus "extendedStatus" ++#define LN_id_pkix_OCSP_extendedStatus "Extended OCSP Status" ++#define NID_id_pkix_OCSP_extendedStatus 372 ++#define OBJ_id_pkix_OCSP_extendedStatus OBJ_id_pkix_OCSP,8L ++ ++#define SN_id_pkix_OCSP_valid "valid" ++#define NID_id_pkix_OCSP_valid 373 ++#define OBJ_id_pkix_OCSP_valid OBJ_id_pkix_OCSP,9L ++ ++#define SN_id_pkix_OCSP_path "path" ++#define NID_id_pkix_OCSP_path 374 ++#define OBJ_id_pkix_OCSP_path OBJ_id_pkix_OCSP,10L ++ ++#define SN_id_pkix_OCSP_trustRoot "trustRoot" ++#define LN_id_pkix_OCSP_trustRoot "Trust Root" ++#define NID_id_pkix_OCSP_trustRoot 375 ++#define OBJ_id_pkix_OCSP_trustRoot OBJ_id_pkix_OCSP,11L ++ ++#define SN_algorithm "algorithm" ++#define LN_algorithm "algorithm" ++#define NID_algorithm 376 ++#define OBJ_algorithm 1L,3L,14L,3L,2L ++ ++#define SN_md5WithRSA "RSA-NP-MD5" ++#define LN_md5WithRSA "md5WithRSA" ++#define NID_md5WithRSA 104 ++#define OBJ_md5WithRSA OBJ_algorithm,3L ++ ++#define SN_des_ecb "DES-ECB" ++#define LN_des_ecb "des-ecb" ++#define NID_des_ecb 29 ++#define OBJ_des_ecb OBJ_algorithm,6L ++ ++#define SN_des_cbc "DES-CBC" ++#define LN_des_cbc "des-cbc" ++#define NID_des_cbc 31 ++#define OBJ_des_cbc OBJ_algorithm,7L ++ ++#define SN_des_ofb64 "DES-OFB" ++#define LN_des_ofb64 "des-ofb" ++#define NID_des_ofb64 45 ++#define OBJ_des_ofb64 OBJ_algorithm,8L ++ ++#define SN_des_cfb64 "DES-CFB" ++#define LN_des_cfb64 "des-cfb" ++#define NID_des_cfb64 30 ++#define OBJ_des_cfb64 OBJ_algorithm,9L ++ ++#define SN_rsaSignature "rsaSignature" ++#define NID_rsaSignature 377 ++#define OBJ_rsaSignature OBJ_algorithm,11L ++ ++#define SN_dsa_2 "DSA-old" ++#define LN_dsa_2 "dsaEncryption-old" ++#define NID_dsa_2 67 ++#define OBJ_dsa_2 OBJ_algorithm,12L ++ ++#define SN_dsaWithSHA "DSA-SHA" ++#define LN_dsaWithSHA "dsaWithSHA" ++#define NID_dsaWithSHA 66 ++#define OBJ_dsaWithSHA OBJ_algorithm,13L ++ ++#define SN_shaWithRSAEncryption "RSA-SHA" ++#define LN_shaWithRSAEncryption "shaWithRSAEncryption" ++#define NID_shaWithRSAEncryption 42 ++#define OBJ_shaWithRSAEncryption OBJ_algorithm,15L ++ ++#define SN_des_ede_ecb "DES-EDE" ++#define LN_des_ede_ecb "des-ede" ++#define NID_des_ede_ecb 32 ++#define OBJ_des_ede_ecb OBJ_algorithm,17L ++ ++#define SN_des_ede3_ecb "DES-EDE3" ++#define LN_des_ede3_ecb "des-ede3" ++#define NID_des_ede3_ecb 33 ++ ++#define SN_des_ede_cbc "DES-EDE-CBC" ++#define LN_des_ede_cbc "des-ede-cbc" ++#define NID_des_ede_cbc 43 ++ ++#define SN_des_ede_cfb64 "DES-EDE-CFB" ++#define LN_des_ede_cfb64 "des-ede-cfb" ++#define NID_des_ede_cfb64 60 ++ ++#define SN_des_ede3_cfb64 "DES-EDE3-CFB" ++#define LN_des_ede3_cfb64 "des-ede3-cfb" ++#define NID_des_ede3_cfb64 61 ++ ++#define SN_des_ede_ofb64 "DES-EDE-OFB" ++#define LN_des_ede_ofb64 "des-ede-ofb" ++#define NID_des_ede_ofb64 62 ++ ++#define SN_des_ede3_ofb64 "DES-EDE3-OFB" ++#define LN_des_ede3_ofb64 "des-ede3-ofb" ++#define NID_des_ede3_ofb64 63 ++ ++#define SN_desx_cbc "DESX-CBC" ++#define LN_desx_cbc "desx-cbc" ++#define NID_desx_cbc 80 ++ ++#define SN_sha "SHA" ++#define LN_sha "sha" ++#define NID_sha 41 ++#define OBJ_sha OBJ_algorithm,18L ++ ++#define SN_sha1 "SHA1" ++#define LN_sha1 "sha1" ++#define NID_sha1 64 ++#define OBJ_sha1 OBJ_algorithm,26L ++ ++#define SN_dsaWithSHA1_2 "DSA-SHA1-old" ++#define LN_dsaWithSHA1_2 "dsaWithSHA1-old" ++#define NID_dsaWithSHA1_2 70 ++#define OBJ_dsaWithSHA1_2 OBJ_algorithm,27L ++ ++#define SN_sha1WithRSA "RSA-SHA1-2" ++#define LN_sha1WithRSA "sha1WithRSA" ++#define NID_sha1WithRSA 115 ++#define OBJ_sha1WithRSA OBJ_algorithm,29L ++ ++#define SN_ripemd160 "RIPEMD160" ++#define LN_ripemd160 "ripemd160" ++#define NID_ripemd160 117 ++#define OBJ_ripemd160 1L,3L,36L,3L,2L,1L ++ ++#define SN_ripemd160WithRSA "RSA-RIPEMD160" ++#define LN_ripemd160WithRSA "ripemd160WithRSA" ++#define NID_ripemd160WithRSA 119 ++#define OBJ_ripemd160WithRSA 1L,3L,36L,3L,3L,1L,2L ++ ++#define SN_sxnet "SXNetID" ++#define LN_sxnet "Strong Extranet ID" ++#define NID_sxnet 143 ++#define OBJ_sxnet 1L,3L,101L,1L,4L,1L ++ ++#define SN_X500 "X500" ++#define LN_X500 "directory services (X.500)" ++#define NID_X500 11 ++#define OBJ_X500 2L,5L ++ ++#define SN_X509 "X509" ++#define NID_X509 12 ++#define OBJ_X509 OBJ_X500,4L ++ ++#define SN_commonName "CN" ++#define LN_commonName "commonName" ++#define NID_commonName 13 ++#define OBJ_commonName OBJ_X509,3L ++ ++#define SN_surname "SN" ++#define LN_surname "surname" ++#define NID_surname 100 ++#define OBJ_surname OBJ_X509,4L ++ ++#define LN_serialNumber "serialNumber" ++#define NID_serialNumber 105 ++#define OBJ_serialNumber OBJ_X509,5L ++ ++#define SN_countryName "C" ++#define LN_countryName "countryName" ++#define NID_countryName 14 ++#define OBJ_countryName OBJ_X509,6L ++ ++#define SN_localityName "L" ++#define LN_localityName "localityName" ++#define NID_localityName 15 ++#define OBJ_localityName OBJ_X509,7L ++ ++#define SN_stateOrProvinceName "ST" ++#define LN_stateOrProvinceName "stateOrProvinceName" ++#define NID_stateOrProvinceName 16 ++#define OBJ_stateOrProvinceName OBJ_X509,8L ++ ++#define SN_streetAddress "street" ++#define LN_streetAddress "streetAddress" ++#define NID_streetAddress 660 ++#define OBJ_streetAddress OBJ_X509,9L ++ ++#define SN_organizationName "O" ++#define LN_organizationName "organizationName" ++#define NID_organizationName 17 ++#define OBJ_organizationName OBJ_X509,10L ++ ++#define SN_organizationalUnitName "OU" ++#define LN_organizationalUnitName "organizationalUnitName" ++#define NID_organizationalUnitName 18 ++#define OBJ_organizationalUnitName OBJ_X509,11L ++ ++#define SN_title "title" ++#define LN_title "title" ++#define NID_title 106 ++#define OBJ_title OBJ_X509,12L ++ ++#define LN_description "description" ++#define NID_description 107 ++#define OBJ_description OBJ_X509,13L ++ ++#define LN_searchGuide "searchGuide" ++#define NID_searchGuide 859 ++#define OBJ_searchGuide OBJ_X509,14L ++ ++#define LN_businessCategory "businessCategory" ++#define NID_businessCategory 860 ++#define OBJ_businessCategory OBJ_X509,15L ++ ++#define LN_postalAddress "postalAddress" ++#define NID_postalAddress 861 ++#define OBJ_postalAddress OBJ_X509,16L ++ ++#define LN_postalCode "postalCode" ++#define NID_postalCode 661 ++#define OBJ_postalCode OBJ_X509,17L ++ ++#define LN_postOfficeBox "postOfficeBox" ++#define NID_postOfficeBox 862 ++#define OBJ_postOfficeBox OBJ_X509,18L ++ ++#define LN_physicalDeliveryOfficeName "physicalDeliveryOfficeName" ++#define NID_physicalDeliveryOfficeName 863 ++#define OBJ_physicalDeliveryOfficeName OBJ_X509,19L ++ ++#define LN_telephoneNumber "telephoneNumber" ++#define NID_telephoneNumber 864 ++#define OBJ_telephoneNumber OBJ_X509,20L ++ ++#define LN_telexNumber "telexNumber" ++#define NID_telexNumber 865 ++#define OBJ_telexNumber OBJ_X509,21L ++ ++#define LN_teletexTerminalIdentifier "teletexTerminalIdentifier" ++#define NID_teletexTerminalIdentifier 866 ++#define OBJ_teletexTerminalIdentifier OBJ_X509,22L ++ ++#define LN_facsimileTelephoneNumber "facsimileTelephoneNumber" ++#define NID_facsimileTelephoneNumber 867 ++#define OBJ_facsimileTelephoneNumber OBJ_X509,23L ++ ++#define LN_x121Address "x121Address" ++#define NID_x121Address 868 ++#define OBJ_x121Address OBJ_X509,24L ++ ++#define LN_internationaliSDNNumber "internationaliSDNNumber" ++#define NID_internationaliSDNNumber 869 ++#define OBJ_internationaliSDNNumber OBJ_X509,25L ++ ++#define LN_registeredAddress "registeredAddress" ++#define NID_registeredAddress 870 ++#define OBJ_registeredAddress OBJ_X509,26L ++ ++#define LN_destinationIndicator "destinationIndicator" ++#define NID_destinationIndicator 871 ++#define OBJ_destinationIndicator OBJ_X509,27L ++ ++#define LN_preferredDeliveryMethod "preferredDeliveryMethod" ++#define NID_preferredDeliveryMethod 872 ++#define OBJ_preferredDeliveryMethod OBJ_X509,28L ++ ++#define LN_presentationAddress "presentationAddress" ++#define NID_presentationAddress 873 ++#define OBJ_presentationAddress OBJ_X509,29L ++ ++#define LN_supportedApplicationContext "supportedApplicationContext" ++#define NID_supportedApplicationContext 874 ++#define OBJ_supportedApplicationContext OBJ_X509,30L ++ ++#define SN_member "member" ++#define NID_member 875 ++#define OBJ_member OBJ_X509,31L ++ ++#define SN_owner "owner" ++#define NID_owner 876 ++#define OBJ_owner OBJ_X509,32L ++ ++#define LN_roleOccupant "roleOccupant" ++#define NID_roleOccupant 877 ++#define OBJ_roleOccupant OBJ_X509,33L ++ ++#define SN_seeAlso "seeAlso" ++#define NID_seeAlso 878 ++#define OBJ_seeAlso OBJ_X509,34L ++ ++#define LN_userPassword "userPassword" ++#define NID_userPassword 879 ++#define OBJ_userPassword OBJ_X509,35L ++ ++#define LN_userCertificate "userCertificate" ++#define NID_userCertificate 880 ++#define OBJ_userCertificate OBJ_X509,36L ++ ++#define LN_cACertificate "cACertificate" ++#define NID_cACertificate 881 ++#define OBJ_cACertificate OBJ_X509,37L ++ ++#define LN_authorityRevocationList "authorityRevocationList" ++#define NID_authorityRevocationList 882 ++#define OBJ_authorityRevocationList OBJ_X509,38L ++ ++#define LN_certificateRevocationList "certificateRevocationList" ++#define NID_certificateRevocationList 883 ++#define OBJ_certificateRevocationList OBJ_X509,39L ++ ++#define LN_crossCertificatePair "crossCertificatePair" ++#define NID_crossCertificatePair 884 ++#define OBJ_crossCertificatePair OBJ_X509,40L ++ ++#define SN_name "name" ++#define LN_name "name" ++#define NID_name 173 ++#define OBJ_name OBJ_X509,41L ++ ++#define SN_givenName "GN" ++#define LN_givenName "givenName" ++#define NID_givenName 99 ++#define OBJ_givenName OBJ_X509,42L ++ ++#define SN_initials "initials" ++#define LN_initials "initials" ++#define NID_initials 101 ++#define OBJ_initials OBJ_X509,43L ++ ++#define LN_generationQualifier "generationQualifier" ++#define NID_generationQualifier 509 ++#define OBJ_generationQualifier OBJ_X509,44L ++ ++#define LN_x500UniqueIdentifier "x500UniqueIdentifier" ++#define NID_x500UniqueIdentifier 503 ++#define OBJ_x500UniqueIdentifier OBJ_X509,45L ++ ++#define SN_dnQualifier "dnQualifier" ++#define LN_dnQualifier "dnQualifier" ++#define NID_dnQualifier 174 ++#define OBJ_dnQualifier OBJ_X509,46L ++ ++#define LN_enhancedSearchGuide "enhancedSearchGuide" ++#define NID_enhancedSearchGuide 885 ++#define OBJ_enhancedSearchGuide OBJ_X509,47L ++ ++#define LN_protocolInformation "protocolInformation" ++#define NID_protocolInformation 886 ++#define OBJ_protocolInformation OBJ_X509,48L ++ ++#define LN_distinguishedName "distinguishedName" ++#define NID_distinguishedName 887 ++#define OBJ_distinguishedName OBJ_X509,49L ++ ++#define LN_uniqueMember "uniqueMember" ++#define NID_uniqueMember 888 ++#define OBJ_uniqueMember OBJ_X509,50L ++ ++#define LN_houseIdentifier "houseIdentifier" ++#define NID_houseIdentifier 889 ++#define OBJ_houseIdentifier OBJ_X509,51L ++ ++#define LN_supportedAlgorithms "supportedAlgorithms" ++#define NID_supportedAlgorithms 890 ++#define OBJ_supportedAlgorithms OBJ_X509,52L ++ ++#define LN_deltaRevocationList "deltaRevocationList" ++#define NID_deltaRevocationList 891 ++#define OBJ_deltaRevocationList OBJ_X509,53L ++ ++#define SN_dmdName "dmdName" ++#define NID_dmdName 892 ++#define OBJ_dmdName OBJ_X509,54L ++ ++#define LN_pseudonym "pseudonym" ++#define NID_pseudonym 510 ++#define OBJ_pseudonym OBJ_X509,65L ++ ++#define SN_role "role" ++#define LN_role "role" ++#define NID_role 400 ++#define OBJ_role OBJ_X509,72L ++ ++#define SN_X500algorithms "X500algorithms" ++#define LN_X500algorithms "directory services - algorithms" ++#define NID_X500algorithms 378 ++#define OBJ_X500algorithms OBJ_X500,8L ++ ++#define SN_rsa "RSA" ++#define LN_rsa "rsa" ++#define NID_rsa 19 ++#define OBJ_rsa OBJ_X500algorithms,1L,1L ++ ++#define SN_mdc2WithRSA "RSA-MDC2" ++#define LN_mdc2WithRSA "mdc2WithRSA" ++#define NID_mdc2WithRSA 96 ++#define OBJ_mdc2WithRSA OBJ_X500algorithms,3L,100L ++ ++#define SN_mdc2 "MDC2" ++#define LN_mdc2 "mdc2" ++#define NID_mdc2 95 ++#define OBJ_mdc2 OBJ_X500algorithms,3L,101L ++ ++#define SN_id_ce "id-ce" ++#define NID_id_ce 81 ++#define OBJ_id_ce OBJ_X500,29L ++ ++#define SN_subject_directory_attributes "subjectDirectoryAttributes" ++#define LN_subject_directory_attributes "X509v3 Subject Directory Attributes" ++#define NID_subject_directory_attributes 769 ++#define OBJ_subject_directory_attributes OBJ_id_ce,9L ++ ++#define SN_subject_key_identifier "subjectKeyIdentifier" ++#define LN_subject_key_identifier "X509v3 Subject Key Identifier" ++#define NID_subject_key_identifier 82 ++#define OBJ_subject_key_identifier OBJ_id_ce,14L ++ ++#define SN_key_usage "keyUsage" ++#define LN_key_usage "X509v3 Key Usage" ++#define NID_key_usage 83 ++#define OBJ_key_usage OBJ_id_ce,15L ++ ++#define SN_private_key_usage_period "privateKeyUsagePeriod" ++#define LN_private_key_usage_period "X509v3 Private Key Usage Period" ++#define NID_private_key_usage_period 84 ++#define OBJ_private_key_usage_period OBJ_id_ce,16L ++ ++#define SN_subject_alt_name "subjectAltName" ++#define LN_subject_alt_name "X509v3 Subject Alternative Name" ++#define NID_subject_alt_name 85 ++#define OBJ_subject_alt_name OBJ_id_ce,17L ++ ++#define SN_issuer_alt_name "issuerAltName" ++#define LN_issuer_alt_name "X509v3 Issuer Alternative Name" ++#define NID_issuer_alt_name 86 ++#define OBJ_issuer_alt_name OBJ_id_ce,18L ++ ++#define SN_basic_constraints "basicConstraints" ++#define LN_basic_constraints "X509v3 Basic Constraints" ++#define NID_basic_constraints 87 ++#define OBJ_basic_constraints OBJ_id_ce,19L ++ ++#define SN_crl_number "crlNumber" ++#define LN_crl_number "X509v3 CRL Number" ++#define NID_crl_number 88 ++#define OBJ_crl_number OBJ_id_ce,20L ++ ++#define SN_crl_reason "CRLReason" ++#define LN_crl_reason "X509v3 CRL Reason Code" ++#define NID_crl_reason 141 ++#define OBJ_crl_reason OBJ_id_ce,21L ++ ++#define SN_invalidity_date "invalidityDate" ++#define LN_invalidity_date "Invalidity Date" ++#define NID_invalidity_date 142 ++#define OBJ_invalidity_date OBJ_id_ce,24L ++ ++#define SN_delta_crl "deltaCRL" ++#define LN_delta_crl "X509v3 Delta CRL Indicator" ++#define NID_delta_crl 140 ++#define OBJ_delta_crl OBJ_id_ce,27L ++ ++#define SN_issuing_distribution_point "issuingDistributionPoint" ++#define LN_issuing_distribution_point "X509v3 Issuing Distrubution Point" ++#define NID_issuing_distribution_point 770 ++#define OBJ_issuing_distribution_point OBJ_id_ce,28L ++ ++#define SN_certificate_issuer "certificateIssuer" ++#define LN_certificate_issuer "X509v3 Certificate Issuer" ++#define NID_certificate_issuer 771 ++#define OBJ_certificate_issuer OBJ_id_ce,29L ++ ++#define SN_name_constraints "nameConstraints" ++#define LN_name_constraints "X509v3 Name Constraints" ++#define NID_name_constraints 666 ++#define OBJ_name_constraints OBJ_id_ce,30L ++ ++#define SN_crl_distribution_points "crlDistributionPoints" ++#define LN_crl_distribution_points "X509v3 CRL Distribution Points" ++#define NID_crl_distribution_points 103 ++#define OBJ_crl_distribution_points OBJ_id_ce,31L ++ ++#define SN_certificate_policies "certificatePolicies" ++#define LN_certificate_policies "X509v3 Certificate Policies" ++#define NID_certificate_policies 89 ++#define OBJ_certificate_policies OBJ_id_ce,32L ++ ++#define SN_any_policy "anyPolicy" ++#define LN_any_policy "X509v3 Any Policy" ++#define NID_any_policy 746 ++#define OBJ_any_policy OBJ_certificate_policies,0L ++ ++#define SN_policy_mappings "policyMappings" ++#define LN_policy_mappings "X509v3 Policy Mappings" ++#define NID_policy_mappings 747 ++#define OBJ_policy_mappings OBJ_id_ce,33L ++ ++#define SN_authority_key_identifier "authorityKeyIdentifier" ++#define LN_authority_key_identifier "X509v3 Authority Key Identifier" ++#define NID_authority_key_identifier 90 ++#define OBJ_authority_key_identifier OBJ_id_ce,35L ++ ++#define SN_policy_constraints "policyConstraints" ++#define LN_policy_constraints "X509v3 Policy Constraints" ++#define NID_policy_constraints 401 ++#define OBJ_policy_constraints OBJ_id_ce,36L ++ ++#define SN_ext_key_usage "extendedKeyUsage" ++#define LN_ext_key_usage "X509v3 Extended Key Usage" ++#define NID_ext_key_usage 126 ++#define OBJ_ext_key_usage OBJ_id_ce,37L ++ ++#define SN_freshest_crl "freshestCRL" ++#define LN_freshest_crl "X509v3 Freshest CRL" ++#define NID_freshest_crl 857 ++#define OBJ_freshest_crl OBJ_id_ce,46L ++ ++#define SN_inhibit_any_policy "inhibitAnyPolicy" ++#define LN_inhibit_any_policy "X509v3 Inhibit Any Policy" ++#define NID_inhibit_any_policy 748 ++#define OBJ_inhibit_any_policy OBJ_id_ce,54L ++ ++#define SN_target_information "targetInformation" ++#define LN_target_information "X509v3 AC Targeting" ++#define NID_target_information 402 ++#define OBJ_target_information OBJ_id_ce,55L ++ ++#define SN_no_rev_avail "noRevAvail" ++#define LN_no_rev_avail "X509v3 No Revocation Available" ++#define NID_no_rev_avail 403 ++#define OBJ_no_rev_avail OBJ_id_ce,56L ++ ++#define SN_anyExtendedKeyUsage "anyExtendedKeyUsage" ++#define LN_anyExtendedKeyUsage "Any Extended Key Usage" ++#define NID_anyExtendedKeyUsage 910 ++#define OBJ_anyExtendedKeyUsage OBJ_ext_key_usage,0L ++ ++#define SN_netscape "Netscape" ++#define LN_netscape "Netscape Communications Corp." ++#define NID_netscape 57 ++#define OBJ_netscape 2L,16L,840L,1L,113730L ++ ++#define SN_netscape_cert_extension "nsCertExt" ++#define LN_netscape_cert_extension "Netscape Certificate Extension" ++#define NID_netscape_cert_extension 58 ++#define OBJ_netscape_cert_extension OBJ_netscape,1L ++ ++#define SN_netscape_data_type "nsDataType" ++#define LN_netscape_data_type "Netscape Data Type" ++#define NID_netscape_data_type 59 ++#define OBJ_netscape_data_type OBJ_netscape,2L ++ ++#define SN_netscape_cert_type "nsCertType" ++#define LN_netscape_cert_type "Netscape Cert Type" ++#define NID_netscape_cert_type 71 ++#define OBJ_netscape_cert_type OBJ_netscape_cert_extension,1L ++ ++#define SN_netscape_base_url "nsBaseUrl" ++#define LN_netscape_base_url "Netscape Base Url" ++#define NID_netscape_base_url 72 ++#define OBJ_netscape_base_url OBJ_netscape_cert_extension,2L ++ ++#define SN_netscape_revocation_url "nsRevocationUrl" ++#define LN_netscape_revocation_url "Netscape Revocation Url" ++#define NID_netscape_revocation_url 73 ++#define OBJ_netscape_revocation_url OBJ_netscape_cert_extension,3L ++ ++#define SN_netscape_ca_revocation_url "nsCaRevocationUrl" ++#define LN_netscape_ca_revocation_url "Netscape CA Revocation Url" ++#define NID_netscape_ca_revocation_url 74 ++#define OBJ_netscape_ca_revocation_url OBJ_netscape_cert_extension,4L ++ ++#define SN_netscape_renewal_url "nsRenewalUrl" ++#define LN_netscape_renewal_url "Netscape Renewal Url" ++#define NID_netscape_renewal_url 75 ++#define OBJ_netscape_renewal_url OBJ_netscape_cert_extension,7L ++ ++#define SN_netscape_ca_policy_url "nsCaPolicyUrl" ++#define LN_netscape_ca_policy_url "Netscape CA Policy Url" ++#define NID_netscape_ca_policy_url 76 ++#define OBJ_netscape_ca_policy_url OBJ_netscape_cert_extension,8L ++ ++#define SN_netscape_ssl_server_name "nsSslServerName" ++#define LN_netscape_ssl_server_name "Netscape SSL Server Name" ++#define NID_netscape_ssl_server_name 77 ++#define OBJ_netscape_ssl_server_name OBJ_netscape_cert_extension,12L ++ ++#define SN_netscape_comment "nsComment" ++#define LN_netscape_comment "Netscape Comment" ++#define NID_netscape_comment 78 ++#define OBJ_netscape_comment OBJ_netscape_cert_extension,13L ++ ++#define SN_netscape_cert_sequence "nsCertSequence" ++#define LN_netscape_cert_sequence "Netscape Certificate Sequence" ++#define NID_netscape_cert_sequence 79 ++#define OBJ_netscape_cert_sequence OBJ_netscape_data_type,5L ++ ++#define SN_ns_sgc "nsSGC" ++#define LN_ns_sgc "Netscape Server Gated Crypto" ++#define NID_ns_sgc 139 ++#define OBJ_ns_sgc OBJ_netscape,4L,1L ++ ++#define SN_org "ORG" ++#define LN_org "org" ++#define NID_org 379 ++#define OBJ_org OBJ_iso,3L ++ ++#define SN_dod "DOD" ++#define LN_dod "dod" ++#define NID_dod 380 ++#define OBJ_dod OBJ_org,6L ++ ++#define SN_iana "IANA" ++#define LN_iana "iana" ++#define NID_iana 381 ++#define OBJ_iana OBJ_dod,1L ++ ++#define OBJ_internet OBJ_iana ++ ++#define SN_Directory "directory" ++#define LN_Directory "Directory" ++#define NID_Directory 382 ++#define OBJ_Directory OBJ_internet,1L ++ ++#define SN_Management "mgmt" ++#define LN_Management "Management" ++#define NID_Management 383 ++#define OBJ_Management OBJ_internet,2L ++ ++#define SN_Experimental "experimental" ++#define LN_Experimental "Experimental" ++#define NID_Experimental 384 ++#define OBJ_Experimental OBJ_internet,3L ++ ++#define SN_Private "private" ++#define LN_Private "Private" ++#define NID_Private 385 ++#define OBJ_Private OBJ_internet,4L ++ ++#define SN_Security "security" ++#define LN_Security "Security" ++#define NID_Security 386 ++#define OBJ_Security OBJ_internet,5L ++ ++#define SN_SNMPv2 "snmpv2" ++#define LN_SNMPv2 "SNMPv2" ++#define NID_SNMPv2 387 ++#define OBJ_SNMPv2 OBJ_internet,6L ++ ++#define LN_Mail "Mail" ++#define NID_Mail 388 ++#define OBJ_Mail OBJ_internet,7L ++ ++#define SN_Enterprises "enterprises" ++#define LN_Enterprises "Enterprises" ++#define NID_Enterprises 389 ++#define OBJ_Enterprises OBJ_Private,1L ++ ++#define SN_dcObject "dcobject" ++#define LN_dcObject "dcObject" ++#define NID_dcObject 390 ++#define OBJ_dcObject OBJ_Enterprises,1466L,344L ++ ++#define SN_mime_mhs "mime-mhs" ++#define LN_mime_mhs "MIME MHS" ++#define NID_mime_mhs 504 ++#define OBJ_mime_mhs OBJ_Mail,1L ++ ++#define SN_mime_mhs_headings "mime-mhs-headings" ++#define LN_mime_mhs_headings "mime-mhs-headings" ++#define NID_mime_mhs_headings 505 ++#define OBJ_mime_mhs_headings OBJ_mime_mhs,1L ++ ++#define SN_mime_mhs_bodies "mime-mhs-bodies" ++#define LN_mime_mhs_bodies "mime-mhs-bodies" ++#define NID_mime_mhs_bodies 506 ++#define OBJ_mime_mhs_bodies OBJ_mime_mhs,2L ++ ++#define SN_id_hex_partial_message "id-hex-partial-message" ++#define LN_id_hex_partial_message "id-hex-partial-message" ++#define NID_id_hex_partial_message 507 ++#define OBJ_id_hex_partial_message OBJ_mime_mhs_headings,1L ++ ++#define SN_id_hex_multipart_message "id-hex-multipart-message" ++#define LN_id_hex_multipart_message "id-hex-multipart-message" ++#define NID_id_hex_multipart_message 508 ++#define OBJ_id_hex_multipart_message OBJ_mime_mhs_headings,2L ++ ++#define SN_rle_compression "RLE" ++#define LN_rle_compression "run length compression" ++#define NID_rle_compression 124 ++#define OBJ_rle_compression 1L,1L,1L,1L,666L,1L ++ ++#define SN_zlib_compression "ZLIB" ++#define LN_zlib_compression "zlib compression" ++#define NID_zlib_compression 125 ++#define OBJ_zlib_compression OBJ_id_smime_alg,8L ++ ++#define OBJ_csor 2L,16L,840L,1L,101L,3L ++ ++#define OBJ_nistAlgorithms OBJ_csor,4L ++ ++#define OBJ_aes OBJ_nistAlgorithms,1L ++ ++#define SN_aes_128_ecb "AES-128-ECB" ++#define LN_aes_128_ecb "aes-128-ecb" ++#define NID_aes_128_ecb 418 ++#define OBJ_aes_128_ecb OBJ_aes,1L ++ ++#define SN_aes_128_cbc "AES-128-CBC" ++#define LN_aes_128_cbc "aes-128-cbc" ++#define NID_aes_128_cbc 419 ++#define OBJ_aes_128_cbc OBJ_aes,2L ++ ++#define SN_aes_128_ofb128 "AES-128-OFB" ++#define LN_aes_128_ofb128 "aes-128-ofb" ++#define NID_aes_128_ofb128 420 ++#define OBJ_aes_128_ofb128 OBJ_aes,3L ++ ++#define SN_aes_128_cfb128 "AES-128-CFB" ++#define LN_aes_128_cfb128 "aes-128-cfb" ++#define NID_aes_128_cfb128 421 ++#define OBJ_aes_128_cfb128 OBJ_aes,4L ++ ++#define SN_id_aes128_wrap "id-aes128-wrap" ++#define NID_id_aes128_wrap 788 ++#define OBJ_id_aes128_wrap OBJ_aes,5L ++ ++#define SN_aes_128_gcm "id-aes128-GCM" ++#define LN_aes_128_gcm "aes-128-gcm" ++#define NID_aes_128_gcm 895 ++#define OBJ_aes_128_gcm OBJ_aes,6L ++ ++#define SN_aes_128_ccm "id-aes128-CCM" ++#define LN_aes_128_ccm "aes-128-ccm" ++#define NID_aes_128_ccm 896 ++#define OBJ_aes_128_ccm OBJ_aes,7L ++ ++#define SN_id_aes128_wrap_pad "id-aes128-wrap-pad" ++#define NID_id_aes128_wrap_pad 897 ++#define OBJ_id_aes128_wrap_pad OBJ_aes,8L ++ ++#define SN_aes_192_ecb "AES-192-ECB" ++#define LN_aes_192_ecb "aes-192-ecb" ++#define NID_aes_192_ecb 422 ++#define OBJ_aes_192_ecb OBJ_aes,21L ++ ++#define SN_aes_192_cbc "AES-192-CBC" ++#define LN_aes_192_cbc "aes-192-cbc" ++#define NID_aes_192_cbc 423 ++#define OBJ_aes_192_cbc OBJ_aes,22L ++ ++#define SN_aes_192_ofb128 "AES-192-OFB" ++#define LN_aes_192_ofb128 "aes-192-ofb" ++#define NID_aes_192_ofb128 424 ++#define OBJ_aes_192_ofb128 OBJ_aes,23L ++ ++#define SN_aes_192_cfb128 "AES-192-CFB" ++#define LN_aes_192_cfb128 "aes-192-cfb" ++#define NID_aes_192_cfb128 425 ++#define OBJ_aes_192_cfb128 OBJ_aes,24L ++ ++#define SN_id_aes192_wrap "id-aes192-wrap" ++#define NID_id_aes192_wrap 789 ++#define OBJ_id_aes192_wrap OBJ_aes,25L ++ ++#define SN_aes_192_gcm "id-aes192-GCM" ++#define LN_aes_192_gcm "aes-192-gcm" ++#define NID_aes_192_gcm 898 ++#define OBJ_aes_192_gcm OBJ_aes,26L ++ ++#define SN_aes_192_ccm "id-aes192-CCM" ++#define LN_aes_192_ccm "aes-192-ccm" ++#define NID_aes_192_ccm 899 ++#define OBJ_aes_192_ccm OBJ_aes,27L ++ ++#define SN_id_aes192_wrap_pad "id-aes192-wrap-pad" ++#define NID_id_aes192_wrap_pad 900 ++#define OBJ_id_aes192_wrap_pad OBJ_aes,28L ++ ++#define SN_aes_256_ecb "AES-256-ECB" ++#define LN_aes_256_ecb "aes-256-ecb" ++#define NID_aes_256_ecb 426 ++#define OBJ_aes_256_ecb OBJ_aes,41L ++ ++#define SN_aes_256_cbc "AES-256-CBC" ++#define LN_aes_256_cbc "aes-256-cbc" ++#define NID_aes_256_cbc 427 ++#define OBJ_aes_256_cbc OBJ_aes,42L ++ ++#define SN_aes_256_ofb128 "AES-256-OFB" ++#define LN_aes_256_ofb128 "aes-256-ofb" ++#define NID_aes_256_ofb128 428 ++#define OBJ_aes_256_ofb128 OBJ_aes,43L ++ ++#define SN_aes_256_cfb128 "AES-256-CFB" ++#define LN_aes_256_cfb128 "aes-256-cfb" ++#define NID_aes_256_cfb128 429 ++#define OBJ_aes_256_cfb128 OBJ_aes,44L ++ ++#define SN_id_aes256_wrap "id-aes256-wrap" ++#define NID_id_aes256_wrap 790 ++#define OBJ_id_aes256_wrap OBJ_aes,45L ++ ++#define SN_aes_256_gcm "id-aes256-GCM" ++#define LN_aes_256_gcm "aes-256-gcm" ++#define NID_aes_256_gcm 901 ++#define OBJ_aes_256_gcm OBJ_aes,46L ++ ++#define SN_aes_256_ccm "id-aes256-CCM" ++#define LN_aes_256_ccm "aes-256-ccm" ++#define NID_aes_256_ccm 902 ++#define OBJ_aes_256_ccm OBJ_aes,47L ++ ++#define SN_id_aes256_wrap_pad "id-aes256-wrap-pad" ++#define NID_id_aes256_wrap_pad 903 ++#define OBJ_id_aes256_wrap_pad OBJ_aes,48L ++ ++#define SN_aes_128_cfb1 "AES-128-CFB1" ++#define LN_aes_128_cfb1 "aes-128-cfb1" ++#define NID_aes_128_cfb1 650 ++ ++#define SN_aes_192_cfb1 "AES-192-CFB1" ++#define LN_aes_192_cfb1 "aes-192-cfb1" ++#define NID_aes_192_cfb1 651 ++ ++#define SN_aes_256_cfb1 "AES-256-CFB1" ++#define LN_aes_256_cfb1 "aes-256-cfb1" ++#define NID_aes_256_cfb1 652 ++ ++#define SN_aes_128_cfb8 "AES-128-CFB8" ++#define LN_aes_128_cfb8 "aes-128-cfb8" ++#define NID_aes_128_cfb8 653 ++ ++#define SN_aes_192_cfb8 "AES-192-CFB8" ++#define LN_aes_192_cfb8 "aes-192-cfb8" ++#define NID_aes_192_cfb8 654 ++ ++#define SN_aes_256_cfb8 "AES-256-CFB8" ++#define LN_aes_256_cfb8 "aes-256-cfb8" ++#define NID_aes_256_cfb8 655 ++ ++#define SN_aes_128_ctr "AES-128-CTR" ++#define LN_aes_128_ctr "aes-128-ctr" ++#define NID_aes_128_ctr 904 ++ ++#define SN_aes_192_ctr "AES-192-CTR" ++#define LN_aes_192_ctr "aes-192-ctr" ++#define NID_aes_192_ctr 905 ++ ++#define SN_aes_256_ctr "AES-256-CTR" ++#define LN_aes_256_ctr "aes-256-ctr" ++#define NID_aes_256_ctr 906 ++ ++#define SN_aes_128_xts "AES-128-XTS" ++#define LN_aes_128_xts "aes-128-xts" ++#define NID_aes_128_xts 913 ++ ++#define SN_aes_256_xts "AES-256-XTS" ++#define LN_aes_256_xts "aes-256-xts" ++#define NID_aes_256_xts 914 ++ ++#define SN_des_cfb1 "DES-CFB1" ++#define LN_des_cfb1 "des-cfb1" ++#define NID_des_cfb1 656 ++ ++#define SN_des_cfb8 "DES-CFB8" ++#define LN_des_cfb8 "des-cfb8" ++#define NID_des_cfb8 657 ++ ++#define SN_des_ede3_cfb1 "DES-EDE3-CFB1" ++#define LN_des_ede3_cfb1 "des-ede3-cfb1" ++#define NID_des_ede3_cfb1 658 ++ ++#define SN_des_ede3_cfb8 "DES-EDE3-CFB8" ++#define LN_des_ede3_cfb8 "des-ede3-cfb8" ++#define NID_des_ede3_cfb8 659 ++ ++#define OBJ_nist_hashalgs OBJ_nistAlgorithms,2L ++ ++#define SN_sha256 "SHA256" ++#define LN_sha256 "sha256" ++#define NID_sha256 672 ++#define OBJ_sha256 OBJ_nist_hashalgs,1L ++ ++#define SN_sha384 "SHA384" ++#define LN_sha384 "sha384" ++#define NID_sha384 673 ++#define OBJ_sha384 OBJ_nist_hashalgs,2L ++ ++#define SN_sha512 "SHA512" ++#define LN_sha512 "sha512" ++#define NID_sha512 674 ++#define OBJ_sha512 OBJ_nist_hashalgs,3L ++ ++#define SN_sha224 "SHA224" ++#define LN_sha224 "sha224" ++#define NID_sha224 675 ++#define OBJ_sha224 OBJ_nist_hashalgs,4L ++ ++#define OBJ_dsa_with_sha2 OBJ_nistAlgorithms,3L ++ ++#define SN_dsa_with_SHA224 "dsa_with_SHA224" ++#define NID_dsa_with_SHA224 802 ++#define OBJ_dsa_with_SHA224 OBJ_dsa_with_sha2,1L ++ ++#define SN_dsa_with_SHA256 "dsa_with_SHA256" ++#define NID_dsa_with_SHA256 803 ++#define OBJ_dsa_with_SHA256 OBJ_dsa_with_sha2,2L ++ ++#define SN_hold_instruction_code "holdInstructionCode" ++#define LN_hold_instruction_code "Hold Instruction Code" ++#define NID_hold_instruction_code 430 ++#define OBJ_hold_instruction_code OBJ_id_ce,23L ++ ++#define OBJ_holdInstruction OBJ_X9_57,2L ++ ++#define SN_hold_instruction_none "holdInstructionNone" ++#define LN_hold_instruction_none "Hold Instruction None" ++#define NID_hold_instruction_none 431 ++#define OBJ_hold_instruction_none OBJ_holdInstruction,1L ++ ++#define SN_hold_instruction_call_issuer "holdInstructionCallIssuer" ++#define LN_hold_instruction_call_issuer "Hold Instruction Call Issuer" ++#define NID_hold_instruction_call_issuer 432 ++#define OBJ_hold_instruction_call_issuer OBJ_holdInstruction,2L ++ ++#define SN_hold_instruction_reject "holdInstructionReject" ++#define LN_hold_instruction_reject "Hold Instruction Reject" ++#define NID_hold_instruction_reject 433 ++#define OBJ_hold_instruction_reject OBJ_holdInstruction,3L ++ ++#define SN_data "data" ++#define NID_data 434 ++#define OBJ_data OBJ_itu_t,9L ++ ++#define SN_pss "pss" ++#define NID_pss 435 ++#define OBJ_pss OBJ_data,2342L ++ ++#define SN_ucl "ucl" ++#define NID_ucl 436 ++#define OBJ_ucl OBJ_pss,19200300L ++ ++#define SN_pilot "pilot" ++#define NID_pilot 437 ++#define OBJ_pilot OBJ_ucl,100L ++ ++#define LN_pilotAttributeType "pilotAttributeType" ++#define NID_pilotAttributeType 438 ++#define OBJ_pilotAttributeType OBJ_pilot,1L ++ ++#define LN_pilotAttributeSyntax "pilotAttributeSyntax" ++#define NID_pilotAttributeSyntax 439 ++#define OBJ_pilotAttributeSyntax OBJ_pilot,3L ++ ++#define LN_pilotObjectClass "pilotObjectClass" ++#define NID_pilotObjectClass 440 ++#define OBJ_pilotObjectClass OBJ_pilot,4L ++ ++#define LN_pilotGroups "pilotGroups" ++#define NID_pilotGroups 441 ++#define OBJ_pilotGroups OBJ_pilot,10L ++ ++#define LN_iA5StringSyntax "iA5StringSyntax" ++#define NID_iA5StringSyntax 442 ++#define OBJ_iA5StringSyntax OBJ_pilotAttributeSyntax,4L ++ ++#define LN_caseIgnoreIA5StringSyntax "caseIgnoreIA5StringSyntax" ++#define NID_caseIgnoreIA5StringSyntax 443 ++#define OBJ_caseIgnoreIA5StringSyntax OBJ_pilotAttributeSyntax,5L ++ ++#define LN_pilotObject "pilotObject" ++#define NID_pilotObject 444 ++#define OBJ_pilotObject OBJ_pilotObjectClass,3L ++ ++#define LN_pilotPerson "pilotPerson" ++#define NID_pilotPerson 445 ++#define OBJ_pilotPerson OBJ_pilotObjectClass,4L ++ ++#define SN_account "account" ++#define NID_account 446 ++#define OBJ_account OBJ_pilotObjectClass,5L ++ ++#define SN_document "document" ++#define NID_document 447 ++#define OBJ_document OBJ_pilotObjectClass,6L ++ ++#define SN_room "room" ++#define NID_room 448 ++#define OBJ_room OBJ_pilotObjectClass,7L ++ ++#define LN_documentSeries "documentSeries" ++#define NID_documentSeries 449 ++#define OBJ_documentSeries OBJ_pilotObjectClass,9L ++ ++#define SN_Domain "domain" ++#define LN_Domain "Domain" ++#define NID_Domain 392 ++#define OBJ_Domain OBJ_pilotObjectClass,13L ++ ++#define LN_rFC822localPart "rFC822localPart" ++#define NID_rFC822localPart 450 ++#define OBJ_rFC822localPart OBJ_pilotObjectClass,14L ++ ++#define LN_dNSDomain "dNSDomain" ++#define NID_dNSDomain 451 ++#define OBJ_dNSDomain OBJ_pilotObjectClass,15L ++ ++#define LN_domainRelatedObject "domainRelatedObject" ++#define NID_domainRelatedObject 452 ++#define OBJ_domainRelatedObject OBJ_pilotObjectClass,17L ++ ++#define LN_friendlyCountry "friendlyCountry" ++#define NID_friendlyCountry 453 ++#define OBJ_friendlyCountry OBJ_pilotObjectClass,18L ++ ++#define LN_simpleSecurityObject "simpleSecurityObject" ++#define NID_simpleSecurityObject 454 ++#define OBJ_simpleSecurityObject OBJ_pilotObjectClass,19L ++ ++#define LN_pilotOrganization "pilotOrganization" ++#define NID_pilotOrganization 455 ++#define OBJ_pilotOrganization OBJ_pilotObjectClass,20L ++ ++#define LN_pilotDSA "pilotDSA" ++#define NID_pilotDSA 456 ++#define OBJ_pilotDSA OBJ_pilotObjectClass,21L ++ ++#define LN_qualityLabelledData "qualityLabelledData" ++#define NID_qualityLabelledData 457 ++#define OBJ_qualityLabelledData OBJ_pilotObjectClass,22L ++ ++#define SN_userId "UID" ++#define LN_userId "userId" ++#define NID_userId 458 ++#define OBJ_userId OBJ_pilotAttributeType,1L ++ ++#define LN_textEncodedORAddress "textEncodedORAddress" ++#define NID_textEncodedORAddress 459 ++#define OBJ_textEncodedORAddress OBJ_pilotAttributeType,2L ++ ++#define SN_rfc822Mailbox "mail" ++#define LN_rfc822Mailbox "rfc822Mailbox" ++#define NID_rfc822Mailbox 460 ++#define OBJ_rfc822Mailbox OBJ_pilotAttributeType,3L ++ ++#define SN_info "info" ++#define NID_info 461 ++#define OBJ_info OBJ_pilotAttributeType,4L ++ ++#define LN_favouriteDrink "favouriteDrink" ++#define NID_favouriteDrink 462 ++#define OBJ_favouriteDrink OBJ_pilotAttributeType,5L ++ ++#define LN_roomNumber "roomNumber" ++#define NID_roomNumber 463 ++#define OBJ_roomNumber OBJ_pilotAttributeType,6L ++ ++#define SN_photo "photo" ++#define NID_photo 464 ++#define OBJ_photo OBJ_pilotAttributeType,7L ++ ++#define LN_userClass "userClass" ++#define NID_userClass 465 ++#define OBJ_userClass OBJ_pilotAttributeType,8L ++ ++#define SN_host "host" ++#define NID_host 466 ++#define OBJ_host OBJ_pilotAttributeType,9L ++ ++#define SN_manager "manager" ++#define NID_manager 467 ++#define OBJ_manager OBJ_pilotAttributeType,10L ++ ++#define LN_documentIdentifier "documentIdentifier" ++#define NID_documentIdentifier 468 ++#define OBJ_documentIdentifier OBJ_pilotAttributeType,11L ++ ++#define LN_documentTitle "documentTitle" ++#define NID_documentTitle 469 ++#define OBJ_documentTitle OBJ_pilotAttributeType,12L ++ ++#define LN_documentVersion "documentVersion" ++#define NID_documentVersion 470 ++#define OBJ_documentVersion OBJ_pilotAttributeType,13L ++ ++#define LN_documentAuthor "documentAuthor" ++#define NID_documentAuthor 471 ++#define OBJ_documentAuthor OBJ_pilotAttributeType,14L ++ ++#define LN_documentLocation "documentLocation" ++#define NID_documentLocation 472 ++#define OBJ_documentLocation OBJ_pilotAttributeType,15L ++ ++#define LN_homeTelephoneNumber "homeTelephoneNumber" ++#define NID_homeTelephoneNumber 473 ++#define OBJ_homeTelephoneNumber OBJ_pilotAttributeType,20L ++ ++#define SN_secretary "secretary" ++#define NID_secretary 474 ++#define OBJ_secretary OBJ_pilotAttributeType,21L ++ ++#define LN_otherMailbox "otherMailbox" ++#define NID_otherMailbox 475 ++#define OBJ_otherMailbox OBJ_pilotAttributeType,22L ++ ++#define LN_lastModifiedTime "lastModifiedTime" ++#define NID_lastModifiedTime 476 ++#define OBJ_lastModifiedTime OBJ_pilotAttributeType,23L ++ ++#define LN_lastModifiedBy "lastModifiedBy" ++#define NID_lastModifiedBy 477 ++#define OBJ_lastModifiedBy OBJ_pilotAttributeType,24L ++ ++#define SN_domainComponent "DC" ++#define LN_domainComponent "domainComponent" ++#define NID_domainComponent 391 ++#define OBJ_domainComponent OBJ_pilotAttributeType,25L ++ ++#define LN_aRecord "aRecord" ++#define NID_aRecord 478 ++#define OBJ_aRecord OBJ_pilotAttributeType,26L ++ ++#define LN_pilotAttributeType27 "pilotAttributeType27" ++#define NID_pilotAttributeType27 479 ++#define OBJ_pilotAttributeType27 OBJ_pilotAttributeType,27L ++ ++#define LN_mXRecord "mXRecord" ++#define NID_mXRecord 480 ++#define OBJ_mXRecord OBJ_pilotAttributeType,28L ++ ++#define LN_nSRecord "nSRecord" ++#define NID_nSRecord 481 ++#define OBJ_nSRecord OBJ_pilotAttributeType,29L ++ ++#define LN_sOARecord "sOARecord" ++#define NID_sOARecord 482 ++#define OBJ_sOARecord OBJ_pilotAttributeType,30L ++ ++#define LN_cNAMERecord "cNAMERecord" ++#define NID_cNAMERecord 483 ++#define OBJ_cNAMERecord OBJ_pilotAttributeType,31L ++ ++#define LN_associatedDomain "associatedDomain" ++#define NID_associatedDomain 484 ++#define OBJ_associatedDomain OBJ_pilotAttributeType,37L ++ ++#define LN_associatedName "associatedName" ++#define NID_associatedName 485 ++#define OBJ_associatedName OBJ_pilotAttributeType,38L ++ ++#define LN_homePostalAddress "homePostalAddress" ++#define NID_homePostalAddress 486 ++#define OBJ_homePostalAddress OBJ_pilotAttributeType,39L ++ ++#define LN_personalTitle "personalTitle" ++#define NID_personalTitle 487 ++#define OBJ_personalTitle OBJ_pilotAttributeType,40L ++ ++#define LN_mobileTelephoneNumber "mobileTelephoneNumber" ++#define NID_mobileTelephoneNumber 488 ++#define OBJ_mobileTelephoneNumber OBJ_pilotAttributeType,41L ++ ++#define LN_pagerTelephoneNumber "pagerTelephoneNumber" ++#define NID_pagerTelephoneNumber 489 ++#define OBJ_pagerTelephoneNumber OBJ_pilotAttributeType,42L ++ ++#define LN_friendlyCountryName "friendlyCountryName" ++#define NID_friendlyCountryName 490 ++#define OBJ_friendlyCountryName OBJ_pilotAttributeType,43L ++ ++#define LN_organizationalStatus "organizationalStatus" ++#define NID_organizationalStatus 491 ++#define OBJ_organizationalStatus OBJ_pilotAttributeType,45L ++ ++#define LN_janetMailbox "janetMailbox" ++#define NID_janetMailbox 492 ++#define OBJ_janetMailbox OBJ_pilotAttributeType,46L ++ ++#define LN_mailPreferenceOption "mailPreferenceOption" ++#define NID_mailPreferenceOption 493 ++#define OBJ_mailPreferenceOption OBJ_pilotAttributeType,47L ++ ++#define LN_buildingName "buildingName" ++#define NID_buildingName 494 ++#define OBJ_buildingName OBJ_pilotAttributeType,48L ++ ++#define LN_dSAQuality "dSAQuality" ++#define NID_dSAQuality 495 ++#define OBJ_dSAQuality OBJ_pilotAttributeType,49L ++ ++#define LN_singleLevelQuality "singleLevelQuality" ++#define NID_singleLevelQuality 496 ++#define OBJ_singleLevelQuality OBJ_pilotAttributeType,50L ++ ++#define LN_subtreeMinimumQuality "subtreeMinimumQuality" ++#define NID_subtreeMinimumQuality 497 ++#define OBJ_subtreeMinimumQuality OBJ_pilotAttributeType,51L ++ ++#define LN_subtreeMaximumQuality "subtreeMaximumQuality" ++#define NID_subtreeMaximumQuality 498 ++#define OBJ_subtreeMaximumQuality OBJ_pilotAttributeType,52L ++ ++#define LN_personalSignature "personalSignature" ++#define NID_personalSignature 499 ++#define OBJ_personalSignature OBJ_pilotAttributeType,53L ++ ++#define LN_dITRedirect "dITRedirect" ++#define NID_dITRedirect 500 ++#define OBJ_dITRedirect OBJ_pilotAttributeType,54L ++ ++#define SN_audio "audio" ++#define NID_audio 501 ++#define OBJ_audio OBJ_pilotAttributeType,55L ++ ++#define LN_documentPublisher "documentPublisher" ++#define NID_documentPublisher 502 ++#define OBJ_documentPublisher OBJ_pilotAttributeType,56L ++ ++#define SN_id_set "id-set" ++#define LN_id_set "Secure Electronic Transactions" ++#define NID_id_set 512 ++#define OBJ_id_set OBJ_international_organizations,42L ++ ++#define SN_set_ctype "set-ctype" ++#define LN_set_ctype "content types" ++#define NID_set_ctype 513 ++#define OBJ_set_ctype OBJ_id_set,0L ++ ++#define SN_set_msgExt "set-msgExt" ++#define LN_set_msgExt "message extensions" ++#define NID_set_msgExt 514 ++#define OBJ_set_msgExt OBJ_id_set,1L ++ ++#define SN_set_attr "set-attr" ++#define NID_set_attr 515 ++#define OBJ_set_attr OBJ_id_set,3L ++ ++#define SN_set_policy "set-policy" ++#define NID_set_policy 516 ++#define OBJ_set_policy OBJ_id_set,5L ++ ++#define SN_set_certExt "set-certExt" ++#define LN_set_certExt "certificate extensions" ++#define NID_set_certExt 517 ++#define OBJ_set_certExt OBJ_id_set,7L ++ ++#define SN_set_brand "set-brand" ++#define NID_set_brand 518 ++#define OBJ_set_brand OBJ_id_set,8L ++ ++#define SN_setct_PANData "setct-PANData" ++#define NID_setct_PANData 519 ++#define OBJ_setct_PANData OBJ_set_ctype,0L ++ ++#define SN_setct_PANToken "setct-PANToken" ++#define NID_setct_PANToken 520 ++#define OBJ_setct_PANToken OBJ_set_ctype,1L ++ ++#define SN_setct_PANOnly "setct-PANOnly" ++#define NID_setct_PANOnly 521 ++#define OBJ_setct_PANOnly OBJ_set_ctype,2L ++ ++#define SN_setct_OIData "setct-OIData" ++#define NID_setct_OIData 522 ++#define OBJ_setct_OIData OBJ_set_ctype,3L ++ ++#define SN_setct_PI "setct-PI" ++#define NID_setct_PI 523 ++#define OBJ_setct_PI OBJ_set_ctype,4L ++ ++#define SN_setct_PIData "setct-PIData" ++#define NID_setct_PIData 524 ++#define OBJ_setct_PIData OBJ_set_ctype,5L ++ ++#define SN_setct_PIDataUnsigned "setct-PIDataUnsigned" ++#define NID_setct_PIDataUnsigned 525 ++#define OBJ_setct_PIDataUnsigned OBJ_set_ctype,6L ++ ++#define SN_setct_HODInput "setct-HODInput" ++#define NID_setct_HODInput 526 ++#define OBJ_setct_HODInput OBJ_set_ctype,7L ++ ++#define SN_setct_AuthResBaggage "setct-AuthResBaggage" ++#define NID_setct_AuthResBaggage 527 ++#define OBJ_setct_AuthResBaggage OBJ_set_ctype,8L ++ ++#define SN_setct_AuthRevReqBaggage "setct-AuthRevReqBaggage" ++#define NID_setct_AuthRevReqBaggage 528 ++#define OBJ_setct_AuthRevReqBaggage OBJ_set_ctype,9L ++ ++#define SN_setct_AuthRevResBaggage "setct-AuthRevResBaggage" ++#define NID_setct_AuthRevResBaggage 529 ++#define OBJ_setct_AuthRevResBaggage OBJ_set_ctype,10L ++ ++#define SN_setct_CapTokenSeq "setct-CapTokenSeq" ++#define NID_setct_CapTokenSeq 530 ++#define OBJ_setct_CapTokenSeq OBJ_set_ctype,11L ++ ++#define SN_setct_PInitResData "setct-PInitResData" ++#define NID_setct_PInitResData 531 ++#define OBJ_setct_PInitResData OBJ_set_ctype,12L ++ ++#define SN_setct_PI_TBS "setct-PI-TBS" ++#define NID_setct_PI_TBS 532 ++#define OBJ_setct_PI_TBS OBJ_set_ctype,13L ++ ++#define SN_setct_PResData "setct-PResData" ++#define NID_setct_PResData 533 ++#define OBJ_setct_PResData OBJ_set_ctype,14L ++ ++#define SN_setct_AuthReqTBS "setct-AuthReqTBS" ++#define NID_setct_AuthReqTBS 534 ++#define OBJ_setct_AuthReqTBS OBJ_set_ctype,16L ++ ++#define SN_setct_AuthResTBS "setct-AuthResTBS" ++#define NID_setct_AuthResTBS 535 ++#define OBJ_setct_AuthResTBS OBJ_set_ctype,17L ++ ++#define SN_setct_AuthResTBSX "setct-AuthResTBSX" ++#define NID_setct_AuthResTBSX 536 ++#define OBJ_setct_AuthResTBSX OBJ_set_ctype,18L ++ ++#define SN_setct_AuthTokenTBS "setct-AuthTokenTBS" ++#define NID_setct_AuthTokenTBS 537 ++#define OBJ_setct_AuthTokenTBS OBJ_set_ctype,19L ++ ++#define SN_setct_CapTokenData "setct-CapTokenData" ++#define NID_setct_CapTokenData 538 ++#define OBJ_setct_CapTokenData OBJ_set_ctype,20L ++ ++#define SN_setct_CapTokenTBS "setct-CapTokenTBS" ++#define NID_setct_CapTokenTBS 539 ++#define OBJ_setct_CapTokenTBS OBJ_set_ctype,21L ++ ++#define SN_setct_AcqCardCodeMsg "setct-AcqCardCodeMsg" ++#define NID_setct_AcqCardCodeMsg 540 ++#define OBJ_setct_AcqCardCodeMsg OBJ_set_ctype,22L ++ ++#define SN_setct_AuthRevReqTBS "setct-AuthRevReqTBS" ++#define NID_setct_AuthRevReqTBS 541 ++#define OBJ_setct_AuthRevReqTBS OBJ_set_ctype,23L ++ ++#define SN_setct_AuthRevResData "setct-AuthRevResData" ++#define NID_setct_AuthRevResData 542 ++#define OBJ_setct_AuthRevResData OBJ_set_ctype,24L ++ ++#define SN_setct_AuthRevResTBS "setct-AuthRevResTBS" ++#define NID_setct_AuthRevResTBS 543 ++#define OBJ_setct_AuthRevResTBS OBJ_set_ctype,25L ++ ++#define SN_setct_CapReqTBS "setct-CapReqTBS" ++#define NID_setct_CapReqTBS 544 ++#define OBJ_setct_CapReqTBS OBJ_set_ctype,26L ++ ++#define SN_setct_CapReqTBSX "setct-CapReqTBSX" ++#define NID_setct_CapReqTBSX 545 ++#define OBJ_setct_CapReqTBSX OBJ_set_ctype,27L ++ ++#define SN_setct_CapResData "setct-CapResData" ++#define NID_setct_CapResData 546 ++#define OBJ_setct_CapResData OBJ_set_ctype,28L ++ ++#define SN_setct_CapRevReqTBS "setct-CapRevReqTBS" ++#define NID_setct_CapRevReqTBS 547 ++#define OBJ_setct_CapRevReqTBS OBJ_set_ctype,29L ++ ++#define SN_setct_CapRevReqTBSX "setct-CapRevReqTBSX" ++#define NID_setct_CapRevReqTBSX 548 ++#define OBJ_setct_CapRevReqTBSX OBJ_set_ctype,30L ++ ++#define SN_setct_CapRevResData "setct-CapRevResData" ++#define NID_setct_CapRevResData 549 ++#define OBJ_setct_CapRevResData OBJ_set_ctype,31L ++ ++#define SN_setct_CredReqTBS "setct-CredReqTBS" ++#define NID_setct_CredReqTBS 550 ++#define OBJ_setct_CredReqTBS OBJ_set_ctype,32L ++ ++#define SN_setct_CredReqTBSX "setct-CredReqTBSX" ++#define NID_setct_CredReqTBSX 551 ++#define OBJ_setct_CredReqTBSX OBJ_set_ctype,33L ++ ++#define SN_setct_CredResData "setct-CredResData" ++#define NID_setct_CredResData 552 ++#define OBJ_setct_CredResData OBJ_set_ctype,34L ++ ++#define SN_setct_CredRevReqTBS "setct-CredRevReqTBS" ++#define NID_setct_CredRevReqTBS 553 ++#define OBJ_setct_CredRevReqTBS OBJ_set_ctype,35L ++ ++#define SN_setct_CredRevReqTBSX "setct-CredRevReqTBSX" ++#define NID_setct_CredRevReqTBSX 554 ++#define OBJ_setct_CredRevReqTBSX OBJ_set_ctype,36L ++ ++#define SN_setct_CredRevResData "setct-CredRevResData" ++#define NID_setct_CredRevResData 555 ++#define OBJ_setct_CredRevResData OBJ_set_ctype,37L ++ ++#define SN_setct_PCertReqData "setct-PCertReqData" ++#define NID_setct_PCertReqData 556 ++#define OBJ_setct_PCertReqData OBJ_set_ctype,38L ++ ++#define SN_setct_PCertResTBS "setct-PCertResTBS" ++#define NID_setct_PCertResTBS 557 ++#define OBJ_setct_PCertResTBS OBJ_set_ctype,39L ++ ++#define SN_setct_BatchAdminReqData "setct-BatchAdminReqData" ++#define NID_setct_BatchAdminReqData 558 ++#define OBJ_setct_BatchAdminReqData OBJ_set_ctype,40L ++ ++#define SN_setct_BatchAdminResData "setct-BatchAdminResData" ++#define NID_setct_BatchAdminResData 559 ++#define OBJ_setct_BatchAdminResData OBJ_set_ctype,41L ++ ++#define SN_setct_CardCInitResTBS "setct-CardCInitResTBS" ++#define NID_setct_CardCInitResTBS 560 ++#define OBJ_setct_CardCInitResTBS OBJ_set_ctype,42L ++ ++#define SN_setct_MeAqCInitResTBS "setct-MeAqCInitResTBS" ++#define NID_setct_MeAqCInitResTBS 561 ++#define OBJ_setct_MeAqCInitResTBS OBJ_set_ctype,43L ++ ++#define SN_setct_RegFormResTBS "setct-RegFormResTBS" ++#define NID_setct_RegFormResTBS 562 ++#define OBJ_setct_RegFormResTBS OBJ_set_ctype,44L ++ ++#define SN_setct_CertReqData "setct-CertReqData" ++#define NID_setct_CertReqData 563 ++#define OBJ_setct_CertReqData OBJ_set_ctype,45L ++ ++#define SN_setct_CertReqTBS "setct-CertReqTBS" ++#define NID_setct_CertReqTBS 564 ++#define OBJ_setct_CertReqTBS OBJ_set_ctype,46L ++ ++#define SN_setct_CertResData "setct-CertResData" ++#define NID_setct_CertResData 565 ++#define OBJ_setct_CertResData OBJ_set_ctype,47L ++ ++#define SN_setct_CertInqReqTBS "setct-CertInqReqTBS" ++#define NID_setct_CertInqReqTBS 566 ++#define OBJ_setct_CertInqReqTBS OBJ_set_ctype,48L ++ ++#define SN_setct_ErrorTBS "setct-ErrorTBS" ++#define NID_setct_ErrorTBS 567 ++#define OBJ_setct_ErrorTBS OBJ_set_ctype,49L ++ ++#define SN_setct_PIDualSignedTBE "setct-PIDualSignedTBE" ++#define NID_setct_PIDualSignedTBE 568 ++#define OBJ_setct_PIDualSignedTBE OBJ_set_ctype,50L ++ ++#define SN_setct_PIUnsignedTBE "setct-PIUnsignedTBE" ++#define NID_setct_PIUnsignedTBE 569 ++#define OBJ_setct_PIUnsignedTBE OBJ_set_ctype,51L ++ ++#define SN_setct_AuthReqTBE "setct-AuthReqTBE" ++#define NID_setct_AuthReqTBE 570 ++#define OBJ_setct_AuthReqTBE OBJ_set_ctype,52L ++ ++#define SN_setct_AuthResTBE "setct-AuthResTBE" ++#define NID_setct_AuthResTBE 571 ++#define OBJ_setct_AuthResTBE OBJ_set_ctype,53L ++ ++#define SN_setct_AuthResTBEX "setct-AuthResTBEX" ++#define NID_setct_AuthResTBEX 572 ++#define OBJ_setct_AuthResTBEX OBJ_set_ctype,54L ++ ++#define SN_setct_AuthTokenTBE "setct-AuthTokenTBE" ++#define NID_setct_AuthTokenTBE 573 ++#define OBJ_setct_AuthTokenTBE OBJ_set_ctype,55L ++ ++#define SN_setct_CapTokenTBE "setct-CapTokenTBE" ++#define NID_setct_CapTokenTBE 574 ++#define OBJ_setct_CapTokenTBE OBJ_set_ctype,56L ++ ++#define SN_setct_CapTokenTBEX "setct-CapTokenTBEX" ++#define NID_setct_CapTokenTBEX 575 ++#define OBJ_setct_CapTokenTBEX OBJ_set_ctype,57L ++ ++#define SN_setct_AcqCardCodeMsgTBE "setct-AcqCardCodeMsgTBE" ++#define NID_setct_AcqCardCodeMsgTBE 576 ++#define OBJ_setct_AcqCardCodeMsgTBE OBJ_set_ctype,58L ++ ++#define SN_setct_AuthRevReqTBE "setct-AuthRevReqTBE" ++#define NID_setct_AuthRevReqTBE 577 ++#define OBJ_setct_AuthRevReqTBE OBJ_set_ctype,59L ++ ++#define SN_setct_AuthRevResTBE "setct-AuthRevResTBE" ++#define NID_setct_AuthRevResTBE 578 ++#define OBJ_setct_AuthRevResTBE OBJ_set_ctype,60L ++ ++#define SN_setct_AuthRevResTBEB "setct-AuthRevResTBEB" ++#define NID_setct_AuthRevResTBEB 579 ++#define OBJ_setct_AuthRevResTBEB OBJ_set_ctype,61L ++ ++#define SN_setct_CapReqTBE "setct-CapReqTBE" ++#define NID_setct_CapReqTBE 580 ++#define OBJ_setct_CapReqTBE OBJ_set_ctype,62L ++ ++#define SN_setct_CapReqTBEX "setct-CapReqTBEX" ++#define NID_setct_CapReqTBEX 581 ++#define OBJ_setct_CapReqTBEX OBJ_set_ctype,63L ++ ++#define SN_setct_CapResTBE "setct-CapResTBE" ++#define NID_setct_CapResTBE 582 ++#define OBJ_setct_CapResTBE OBJ_set_ctype,64L ++ ++#define SN_setct_CapRevReqTBE "setct-CapRevReqTBE" ++#define NID_setct_CapRevReqTBE 583 ++#define OBJ_setct_CapRevReqTBE OBJ_set_ctype,65L ++ ++#define SN_setct_CapRevReqTBEX "setct-CapRevReqTBEX" ++#define NID_setct_CapRevReqTBEX 584 ++#define OBJ_setct_CapRevReqTBEX OBJ_set_ctype,66L ++ ++#define SN_setct_CapRevResTBE "setct-CapRevResTBE" ++#define NID_setct_CapRevResTBE 585 ++#define OBJ_setct_CapRevResTBE OBJ_set_ctype,67L ++ ++#define SN_setct_CredReqTBE "setct-CredReqTBE" ++#define NID_setct_CredReqTBE 586 ++#define OBJ_setct_CredReqTBE OBJ_set_ctype,68L ++ ++#define SN_setct_CredReqTBEX "setct-CredReqTBEX" ++#define NID_setct_CredReqTBEX 587 ++#define OBJ_setct_CredReqTBEX OBJ_set_ctype,69L ++ ++#define SN_setct_CredResTBE "setct-CredResTBE" ++#define NID_setct_CredResTBE 588 ++#define OBJ_setct_CredResTBE OBJ_set_ctype,70L ++ ++#define SN_setct_CredRevReqTBE "setct-CredRevReqTBE" ++#define NID_setct_CredRevReqTBE 589 ++#define OBJ_setct_CredRevReqTBE OBJ_set_ctype,71L ++ ++#define SN_setct_CredRevReqTBEX "setct-CredRevReqTBEX" ++#define NID_setct_CredRevReqTBEX 590 ++#define OBJ_setct_CredRevReqTBEX OBJ_set_ctype,72L ++ ++#define SN_setct_CredRevResTBE "setct-CredRevResTBE" ++#define NID_setct_CredRevResTBE 591 ++#define OBJ_setct_CredRevResTBE OBJ_set_ctype,73L ++ ++#define SN_setct_BatchAdminReqTBE "setct-BatchAdminReqTBE" ++#define NID_setct_BatchAdminReqTBE 592 ++#define OBJ_setct_BatchAdminReqTBE OBJ_set_ctype,74L ++ ++#define SN_setct_BatchAdminResTBE "setct-BatchAdminResTBE" ++#define NID_setct_BatchAdminResTBE 593 ++#define OBJ_setct_BatchAdminResTBE OBJ_set_ctype,75L ++ ++#define SN_setct_RegFormReqTBE "setct-RegFormReqTBE" ++#define NID_setct_RegFormReqTBE 594 ++#define OBJ_setct_RegFormReqTBE OBJ_set_ctype,76L ++ ++#define SN_setct_CertReqTBE "setct-CertReqTBE" ++#define NID_setct_CertReqTBE 595 ++#define OBJ_setct_CertReqTBE OBJ_set_ctype,77L ++ ++#define SN_setct_CertReqTBEX "setct-CertReqTBEX" ++#define NID_setct_CertReqTBEX 596 ++#define OBJ_setct_CertReqTBEX OBJ_set_ctype,78L ++ ++#define SN_setct_CertResTBE "setct-CertResTBE" ++#define NID_setct_CertResTBE 597 ++#define OBJ_setct_CertResTBE OBJ_set_ctype,79L ++ ++#define SN_setct_CRLNotificationTBS "setct-CRLNotificationTBS" ++#define NID_setct_CRLNotificationTBS 598 ++#define OBJ_setct_CRLNotificationTBS OBJ_set_ctype,80L ++ ++#define SN_setct_CRLNotificationResTBS "setct-CRLNotificationResTBS" ++#define NID_setct_CRLNotificationResTBS 599 ++#define OBJ_setct_CRLNotificationResTBS OBJ_set_ctype,81L ++ ++#define SN_setct_BCIDistributionTBS "setct-BCIDistributionTBS" ++#define NID_setct_BCIDistributionTBS 600 ++#define OBJ_setct_BCIDistributionTBS OBJ_set_ctype,82L ++ ++#define SN_setext_genCrypt "setext-genCrypt" ++#define LN_setext_genCrypt "generic cryptogram" ++#define NID_setext_genCrypt 601 ++#define OBJ_setext_genCrypt OBJ_set_msgExt,1L ++ ++#define SN_setext_miAuth "setext-miAuth" ++#define LN_setext_miAuth "merchant initiated auth" ++#define NID_setext_miAuth 602 ++#define OBJ_setext_miAuth OBJ_set_msgExt,3L ++ ++#define SN_setext_pinSecure "setext-pinSecure" ++#define NID_setext_pinSecure 603 ++#define OBJ_setext_pinSecure OBJ_set_msgExt,4L ++ ++#define SN_setext_pinAny "setext-pinAny" ++#define NID_setext_pinAny 604 ++#define OBJ_setext_pinAny OBJ_set_msgExt,5L ++ ++#define SN_setext_track2 "setext-track2" ++#define NID_setext_track2 605 ++#define OBJ_setext_track2 OBJ_set_msgExt,7L ++ ++#define SN_setext_cv "setext-cv" ++#define LN_setext_cv "additional verification" ++#define NID_setext_cv 606 ++#define OBJ_setext_cv OBJ_set_msgExt,8L ++ ++#define SN_set_policy_root "set-policy-root" ++#define NID_set_policy_root 607 ++#define OBJ_set_policy_root OBJ_set_policy,0L ++ ++#define SN_setCext_hashedRoot "setCext-hashedRoot" ++#define NID_setCext_hashedRoot 608 ++#define OBJ_setCext_hashedRoot OBJ_set_certExt,0L ++ ++#define SN_setCext_certType "setCext-certType" ++#define NID_setCext_certType 609 ++#define OBJ_setCext_certType OBJ_set_certExt,1L ++ ++#define SN_setCext_merchData "setCext-merchData" ++#define NID_setCext_merchData 610 ++#define OBJ_setCext_merchData OBJ_set_certExt,2L ++ ++#define SN_setCext_cCertRequired "setCext-cCertRequired" ++#define NID_setCext_cCertRequired 611 ++#define OBJ_setCext_cCertRequired OBJ_set_certExt,3L ++ ++#define SN_setCext_tunneling "setCext-tunneling" ++#define NID_setCext_tunneling 612 ++#define OBJ_setCext_tunneling OBJ_set_certExt,4L ++ ++#define SN_setCext_setExt "setCext-setExt" ++#define NID_setCext_setExt 613 ++#define OBJ_setCext_setExt OBJ_set_certExt,5L ++ ++#define SN_setCext_setQualf "setCext-setQualf" ++#define NID_setCext_setQualf 614 ++#define OBJ_setCext_setQualf OBJ_set_certExt,6L ++ ++#define SN_setCext_PGWYcapabilities "setCext-PGWYcapabilities" ++#define NID_setCext_PGWYcapabilities 615 ++#define OBJ_setCext_PGWYcapabilities OBJ_set_certExt,7L ++ ++#define SN_setCext_TokenIdentifier "setCext-TokenIdentifier" ++#define NID_setCext_TokenIdentifier 616 ++#define OBJ_setCext_TokenIdentifier OBJ_set_certExt,8L ++ ++#define SN_setCext_Track2Data "setCext-Track2Data" ++#define NID_setCext_Track2Data 617 ++#define OBJ_setCext_Track2Data OBJ_set_certExt,9L ++ ++#define SN_setCext_TokenType "setCext-TokenType" ++#define NID_setCext_TokenType 618 ++#define OBJ_setCext_TokenType OBJ_set_certExt,10L ++ ++#define SN_setCext_IssuerCapabilities "setCext-IssuerCapabilities" ++#define NID_setCext_IssuerCapabilities 619 ++#define OBJ_setCext_IssuerCapabilities OBJ_set_certExt,11L ++ ++#define SN_setAttr_Cert "setAttr-Cert" ++#define NID_setAttr_Cert 620 ++#define OBJ_setAttr_Cert OBJ_set_attr,0L ++ ++#define SN_setAttr_PGWYcap "setAttr-PGWYcap" ++#define LN_setAttr_PGWYcap "payment gateway capabilities" ++#define NID_setAttr_PGWYcap 621 ++#define OBJ_setAttr_PGWYcap OBJ_set_attr,1L ++ ++#define SN_setAttr_TokenType "setAttr-TokenType" ++#define NID_setAttr_TokenType 622 ++#define OBJ_setAttr_TokenType OBJ_set_attr,2L ++ ++#define SN_setAttr_IssCap "setAttr-IssCap" ++#define LN_setAttr_IssCap "issuer capabilities" ++#define NID_setAttr_IssCap 623 ++#define OBJ_setAttr_IssCap OBJ_set_attr,3L ++ ++#define SN_set_rootKeyThumb "set-rootKeyThumb" ++#define NID_set_rootKeyThumb 624 ++#define OBJ_set_rootKeyThumb OBJ_setAttr_Cert,0L ++ ++#define SN_set_addPolicy "set-addPolicy" ++#define NID_set_addPolicy 625 ++#define OBJ_set_addPolicy OBJ_setAttr_Cert,1L ++ ++#define SN_setAttr_Token_EMV "setAttr-Token-EMV" ++#define NID_setAttr_Token_EMV 626 ++#define OBJ_setAttr_Token_EMV OBJ_setAttr_TokenType,1L ++ ++#define SN_setAttr_Token_B0Prime "setAttr-Token-B0Prime" ++#define NID_setAttr_Token_B0Prime 627 ++#define OBJ_setAttr_Token_B0Prime OBJ_setAttr_TokenType,2L ++ ++#define SN_setAttr_IssCap_CVM "setAttr-IssCap-CVM" ++#define NID_setAttr_IssCap_CVM 628 ++#define OBJ_setAttr_IssCap_CVM OBJ_setAttr_IssCap,3L ++ ++#define SN_setAttr_IssCap_T2 "setAttr-IssCap-T2" ++#define NID_setAttr_IssCap_T2 629 ++#define OBJ_setAttr_IssCap_T2 OBJ_setAttr_IssCap,4L ++ ++#define SN_setAttr_IssCap_Sig "setAttr-IssCap-Sig" ++#define NID_setAttr_IssCap_Sig 630 ++#define OBJ_setAttr_IssCap_Sig OBJ_setAttr_IssCap,5L ++ ++#define SN_setAttr_GenCryptgrm "setAttr-GenCryptgrm" ++#define LN_setAttr_GenCryptgrm "generate cryptogram" ++#define NID_setAttr_GenCryptgrm 631 ++#define OBJ_setAttr_GenCryptgrm OBJ_setAttr_IssCap_CVM,1L ++ ++#define SN_setAttr_T2Enc "setAttr-T2Enc" ++#define LN_setAttr_T2Enc "encrypted track 2" ++#define NID_setAttr_T2Enc 632 ++#define OBJ_setAttr_T2Enc OBJ_setAttr_IssCap_T2,1L ++ ++#define SN_setAttr_T2cleartxt "setAttr-T2cleartxt" ++#define LN_setAttr_T2cleartxt "cleartext track 2" ++#define NID_setAttr_T2cleartxt 633 ++#define OBJ_setAttr_T2cleartxt OBJ_setAttr_IssCap_T2,2L ++ ++#define SN_setAttr_TokICCsig "setAttr-TokICCsig" ++#define LN_setAttr_TokICCsig "ICC or token signature" ++#define NID_setAttr_TokICCsig 634 ++#define OBJ_setAttr_TokICCsig OBJ_setAttr_IssCap_Sig,1L ++ ++#define SN_setAttr_SecDevSig "setAttr-SecDevSig" ++#define LN_setAttr_SecDevSig "secure device signature" ++#define NID_setAttr_SecDevSig 635 ++#define OBJ_setAttr_SecDevSig OBJ_setAttr_IssCap_Sig,2L ++ ++#define SN_set_brand_IATA_ATA "set-brand-IATA-ATA" ++#define NID_set_brand_IATA_ATA 636 ++#define OBJ_set_brand_IATA_ATA OBJ_set_brand,1L ++ ++#define SN_set_brand_Diners "set-brand-Diners" ++#define NID_set_brand_Diners 637 ++#define OBJ_set_brand_Diners OBJ_set_brand,30L ++ ++#define SN_set_brand_AmericanExpress "set-brand-AmericanExpress" ++#define NID_set_brand_AmericanExpress 638 ++#define OBJ_set_brand_AmericanExpress OBJ_set_brand,34L ++ ++#define SN_set_brand_JCB "set-brand-JCB" ++#define NID_set_brand_JCB 639 ++#define OBJ_set_brand_JCB OBJ_set_brand,35L ++ ++#define SN_set_brand_Visa "set-brand-Visa" ++#define NID_set_brand_Visa 640 ++#define OBJ_set_brand_Visa OBJ_set_brand,4L ++ ++#define SN_set_brand_MasterCard "set-brand-MasterCard" ++#define NID_set_brand_MasterCard 641 ++#define OBJ_set_brand_MasterCard OBJ_set_brand,5L ++ ++#define SN_set_brand_Novus "set-brand-Novus" ++#define NID_set_brand_Novus 642 ++#define OBJ_set_brand_Novus OBJ_set_brand,6011L ++ ++#define SN_des_cdmf "DES-CDMF" ++#define LN_des_cdmf "des-cdmf" ++#define NID_des_cdmf 643 ++#define OBJ_des_cdmf OBJ_rsadsi,3L,10L ++ ++#define SN_rsaOAEPEncryptionSET "rsaOAEPEncryptionSET" ++#define NID_rsaOAEPEncryptionSET 644 ++#define OBJ_rsaOAEPEncryptionSET OBJ_rsadsi,1L,1L,6L ++ ++#define SN_ipsec3 "Oakley-EC2N-3" ++#define LN_ipsec3 "ipsec3" ++#define NID_ipsec3 749 ++ ++#define SN_ipsec4 "Oakley-EC2N-4" ++#define LN_ipsec4 "ipsec4" ++#define NID_ipsec4 750 ++ ++#define SN_whirlpool "whirlpool" ++#define NID_whirlpool 804 ++#define OBJ_whirlpool OBJ_iso,0L,10118L,3L,0L,55L ++ ++#define SN_cryptopro "cryptopro" ++#define NID_cryptopro 805 ++#define OBJ_cryptopro OBJ_member_body,643L,2L,2L ++ ++#define SN_cryptocom "cryptocom" ++#define NID_cryptocom 806 ++#define OBJ_cryptocom OBJ_member_body,643L,2L,9L ++ ++#define SN_id_GostR3411_94_with_GostR3410_2001 "id-GostR3411-94-with-GostR3410-2001" ++#define LN_id_GostR3411_94_with_GostR3410_2001 "GOST R 34.11-94 with GOST R 34.10-2001" ++#define NID_id_GostR3411_94_with_GostR3410_2001 807 ++#define OBJ_id_GostR3411_94_with_GostR3410_2001 OBJ_cryptopro,3L ++ ++#define SN_id_GostR3411_94_with_GostR3410_94 "id-GostR3411-94-with-GostR3410-94" ++#define LN_id_GostR3411_94_with_GostR3410_94 "GOST R 34.11-94 with GOST R 34.10-94" ++#define NID_id_GostR3411_94_with_GostR3410_94 808 ++#define OBJ_id_GostR3411_94_with_GostR3410_94 OBJ_cryptopro,4L ++ ++#define SN_id_GostR3411_94 "md_gost94" ++#define LN_id_GostR3411_94 "GOST R 34.11-94" ++#define NID_id_GostR3411_94 809 ++#define OBJ_id_GostR3411_94 OBJ_cryptopro,9L ++ ++#define SN_id_HMACGostR3411_94 "id-HMACGostR3411-94" ++#define LN_id_HMACGostR3411_94 "HMAC GOST 34.11-94" ++#define NID_id_HMACGostR3411_94 810 ++#define OBJ_id_HMACGostR3411_94 OBJ_cryptopro,10L ++ ++#define SN_id_GostR3410_2001 "gost2001" ++#define LN_id_GostR3410_2001 "GOST R 34.10-2001" ++#define NID_id_GostR3410_2001 811 ++#define OBJ_id_GostR3410_2001 OBJ_cryptopro,19L ++ ++#define SN_id_GostR3410_94 "gost94" ++#define LN_id_GostR3410_94 "GOST R 34.10-94" ++#define NID_id_GostR3410_94 812 ++#define OBJ_id_GostR3410_94 OBJ_cryptopro,20L ++ ++#define SN_id_Gost28147_89 "gost89" ++#define LN_id_Gost28147_89 "GOST 28147-89" ++#define NID_id_Gost28147_89 813 ++#define OBJ_id_Gost28147_89 OBJ_cryptopro,21L ++ ++#define SN_gost89_cnt "gost89-cnt" ++#define NID_gost89_cnt 814 ++ ++#define SN_id_Gost28147_89_MAC "gost-mac" ++#define LN_id_Gost28147_89_MAC "GOST 28147-89 MAC" ++#define NID_id_Gost28147_89_MAC 815 ++#define OBJ_id_Gost28147_89_MAC OBJ_cryptopro,22L ++ ++#define SN_id_GostR3411_94_prf "prf-gostr3411-94" ++#define LN_id_GostR3411_94_prf "GOST R 34.11-94 PRF" ++#define NID_id_GostR3411_94_prf 816 ++#define OBJ_id_GostR3411_94_prf OBJ_cryptopro,23L ++ ++#define SN_id_GostR3410_2001DH "id-GostR3410-2001DH" ++#define LN_id_GostR3410_2001DH "GOST R 34.10-2001 DH" ++#define NID_id_GostR3410_2001DH 817 ++#define OBJ_id_GostR3410_2001DH OBJ_cryptopro,98L ++ ++#define SN_id_GostR3410_94DH "id-GostR3410-94DH" ++#define LN_id_GostR3410_94DH "GOST R 34.10-94 DH" ++#define NID_id_GostR3410_94DH 818 ++#define OBJ_id_GostR3410_94DH OBJ_cryptopro,99L ++ ++#define SN_id_Gost28147_89_CryptoPro_KeyMeshing "id-Gost28147-89-CryptoPro-KeyMeshing" ++#define NID_id_Gost28147_89_CryptoPro_KeyMeshing 819 ++#define OBJ_id_Gost28147_89_CryptoPro_KeyMeshing OBJ_cryptopro,14L,1L ++ ++#define SN_id_Gost28147_89_None_KeyMeshing "id-Gost28147-89-None-KeyMeshing" ++#define NID_id_Gost28147_89_None_KeyMeshing 820 ++#define OBJ_id_Gost28147_89_None_KeyMeshing OBJ_cryptopro,14L,0L ++ ++#define SN_id_GostR3411_94_TestParamSet "id-GostR3411-94-TestParamSet" ++#define NID_id_GostR3411_94_TestParamSet 821 ++#define OBJ_id_GostR3411_94_TestParamSet OBJ_cryptopro,30L,0L ++ ++#define SN_id_GostR3411_94_CryptoProParamSet "id-GostR3411-94-CryptoProParamSet" ++#define NID_id_GostR3411_94_CryptoProParamSet 822 ++#define OBJ_id_GostR3411_94_CryptoProParamSet OBJ_cryptopro,30L,1L ++ ++#define SN_id_Gost28147_89_TestParamSet "id-Gost28147-89-TestParamSet" ++#define NID_id_Gost28147_89_TestParamSet 823 ++#define OBJ_id_Gost28147_89_TestParamSet OBJ_cryptopro,31L,0L ++ ++#define SN_id_Gost28147_89_CryptoPro_A_ParamSet "id-Gost28147-89-CryptoPro-A-ParamSet" ++#define NID_id_Gost28147_89_CryptoPro_A_ParamSet 824 ++#define OBJ_id_Gost28147_89_CryptoPro_A_ParamSet OBJ_cryptopro,31L,1L ++ ++#define SN_id_Gost28147_89_CryptoPro_B_ParamSet "id-Gost28147-89-CryptoPro-B-ParamSet" ++#define NID_id_Gost28147_89_CryptoPro_B_ParamSet 825 ++#define OBJ_id_Gost28147_89_CryptoPro_B_ParamSet OBJ_cryptopro,31L,2L ++ ++#define SN_id_Gost28147_89_CryptoPro_C_ParamSet "id-Gost28147-89-CryptoPro-C-ParamSet" ++#define NID_id_Gost28147_89_CryptoPro_C_ParamSet 826 ++#define OBJ_id_Gost28147_89_CryptoPro_C_ParamSet OBJ_cryptopro,31L,3L ++ ++#define SN_id_Gost28147_89_CryptoPro_D_ParamSet "id-Gost28147-89-CryptoPro-D-ParamSet" ++#define NID_id_Gost28147_89_CryptoPro_D_ParamSet 827 ++#define OBJ_id_Gost28147_89_CryptoPro_D_ParamSet OBJ_cryptopro,31L,4L ++ ++#define SN_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet "id-Gost28147-89-CryptoPro-Oscar-1-1-ParamSet" ++#define NID_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet 828 ++#define OBJ_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet OBJ_cryptopro,31L,5L ++ ++#define SN_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet "id-Gost28147-89-CryptoPro-Oscar-1-0-ParamSet" ++#define NID_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet 829 ++#define OBJ_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet OBJ_cryptopro,31L,6L ++ ++#define SN_id_Gost28147_89_CryptoPro_RIC_1_ParamSet "id-Gost28147-89-CryptoPro-RIC-1-ParamSet" ++#define NID_id_Gost28147_89_CryptoPro_RIC_1_ParamSet 830 ++#define OBJ_id_Gost28147_89_CryptoPro_RIC_1_ParamSet OBJ_cryptopro,31L,7L ++ ++#define SN_id_GostR3410_94_TestParamSet "id-GostR3410-94-TestParamSet" ++#define NID_id_GostR3410_94_TestParamSet 831 ++#define OBJ_id_GostR3410_94_TestParamSet OBJ_cryptopro,32L,0L ++ ++#define SN_id_GostR3410_94_CryptoPro_A_ParamSet "id-GostR3410-94-CryptoPro-A-ParamSet" ++#define NID_id_GostR3410_94_CryptoPro_A_ParamSet 832 ++#define OBJ_id_GostR3410_94_CryptoPro_A_ParamSet OBJ_cryptopro,32L,2L ++ ++#define SN_id_GostR3410_94_CryptoPro_B_ParamSet "id-GostR3410-94-CryptoPro-B-ParamSet" ++#define NID_id_GostR3410_94_CryptoPro_B_ParamSet 833 ++#define OBJ_id_GostR3410_94_CryptoPro_B_ParamSet OBJ_cryptopro,32L,3L ++ ++#define SN_id_GostR3410_94_CryptoPro_C_ParamSet "id-GostR3410-94-CryptoPro-C-ParamSet" ++#define NID_id_GostR3410_94_CryptoPro_C_ParamSet 834 ++#define OBJ_id_GostR3410_94_CryptoPro_C_ParamSet OBJ_cryptopro,32L,4L ++ ++#define SN_id_GostR3410_94_CryptoPro_D_ParamSet "id-GostR3410-94-CryptoPro-D-ParamSet" ++#define NID_id_GostR3410_94_CryptoPro_D_ParamSet 835 ++#define OBJ_id_GostR3410_94_CryptoPro_D_ParamSet OBJ_cryptopro,32L,5L ++ ++#define SN_id_GostR3410_94_CryptoPro_XchA_ParamSet "id-GostR3410-94-CryptoPro-XchA-ParamSet" ++#define NID_id_GostR3410_94_CryptoPro_XchA_ParamSet 836 ++#define OBJ_id_GostR3410_94_CryptoPro_XchA_ParamSet OBJ_cryptopro,33L,1L ++ ++#define SN_id_GostR3410_94_CryptoPro_XchB_ParamSet "id-GostR3410-94-CryptoPro-XchB-ParamSet" ++#define NID_id_GostR3410_94_CryptoPro_XchB_ParamSet 837 ++#define OBJ_id_GostR3410_94_CryptoPro_XchB_ParamSet OBJ_cryptopro,33L,2L ++ ++#define SN_id_GostR3410_94_CryptoPro_XchC_ParamSet "id-GostR3410-94-CryptoPro-XchC-ParamSet" ++#define NID_id_GostR3410_94_CryptoPro_XchC_ParamSet 838 ++#define OBJ_id_GostR3410_94_CryptoPro_XchC_ParamSet OBJ_cryptopro,33L,3L ++ ++#define SN_id_GostR3410_2001_TestParamSet "id-GostR3410-2001-TestParamSet" ++#define NID_id_GostR3410_2001_TestParamSet 839 ++#define OBJ_id_GostR3410_2001_TestParamSet OBJ_cryptopro,35L,0L ++ ++#define SN_id_GostR3410_2001_CryptoPro_A_ParamSet "id-GostR3410-2001-CryptoPro-A-ParamSet" ++#define NID_id_GostR3410_2001_CryptoPro_A_ParamSet 840 ++#define OBJ_id_GostR3410_2001_CryptoPro_A_ParamSet OBJ_cryptopro,35L,1L ++ ++#define SN_id_GostR3410_2001_CryptoPro_B_ParamSet "id-GostR3410-2001-CryptoPro-B-ParamSet" ++#define NID_id_GostR3410_2001_CryptoPro_B_ParamSet 841 ++#define OBJ_id_GostR3410_2001_CryptoPro_B_ParamSet OBJ_cryptopro,35L,2L ++ ++#define SN_id_GostR3410_2001_CryptoPro_C_ParamSet "id-GostR3410-2001-CryptoPro-C-ParamSet" ++#define NID_id_GostR3410_2001_CryptoPro_C_ParamSet 842 ++#define OBJ_id_GostR3410_2001_CryptoPro_C_ParamSet OBJ_cryptopro,35L,3L ++ ++#define SN_id_GostR3410_2001_CryptoPro_XchA_ParamSet "id-GostR3410-2001-CryptoPro-XchA-ParamSet" ++#define NID_id_GostR3410_2001_CryptoPro_XchA_ParamSet 843 ++#define OBJ_id_GostR3410_2001_CryptoPro_XchA_ParamSet OBJ_cryptopro,36L,0L ++ ++#define SN_id_GostR3410_2001_CryptoPro_XchB_ParamSet "id-GostR3410-2001-CryptoPro-XchB-ParamSet" ++#define NID_id_GostR3410_2001_CryptoPro_XchB_ParamSet 844 ++#define OBJ_id_GostR3410_2001_CryptoPro_XchB_ParamSet OBJ_cryptopro,36L,1L ++ ++#define SN_id_GostR3410_94_a "id-GostR3410-94-a" ++#define NID_id_GostR3410_94_a 845 ++#define OBJ_id_GostR3410_94_a OBJ_id_GostR3410_94,1L ++ ++#define SN_id_GostR3410_94_aBis "id-GostR3410-94-aBis" ++#define NID_id_GostR3410_94_aBis 846 ++#define OBJ_id_GostR3410_94_aBis OBJ_id_GostR3410_94,2L ++ ++#define SN_id_GostR3410_94_b "id-GostR3410-94-b" ++#define NID_id_GostR3410_94_b 847 ++#define OBJ_id_GostR3410_94_b OBJ_id_GostR3410_94,3L ++ ++#define SN_id_GostR3410_94_bBis "id-GostR3410-94-bBis" ++#define NID_id_GostR3410_94_bBis 848 ++#define OBJ_id_GostR3410_94_bBis OBJ_id_GostR3410_94,4L ++ ++#define SN_id_Gost28147_89_cc "id-Gost28147-89-cc" ++#define LN_id_Gost28147_89_cc "GOST 28147-89 Cryptocom ParamSet" ++#define NID_id_Gost28147_89_cc 849 ++#define OBJ_id_Gost28147_89_cc OBJ_cryptocom,1L,6L,1L ++ ++#define SN_id_GostR3410_94_cc "gost94cc" ++#define LN_id_GostR3410_94_cc "GOST 34.10-94 Cryptocom" ++#define NID_id_GostR3410_94_cc 850 ++#define OBJ_id_GostR3410_94_cc OBJ_cryptocom,1L,5L,3L ++ ++#define SN_id_GostR3410_2001_cc "gost2001cc" ++#define LN_id_GostR3410_2001_cc "GOST 34.10-2001 Cryptocom" ++#define NID_id_GostR3410_2001_cc 851 ++#define OBJ_id_GostR3410_2001_cc OBJ_cryptocom,1L,5L,4L ++ ++#define SN_id_GostR3411_94_with_GostR3410_94_cc "id-GostR3411-94-with-GostR3410-94-cc" ++#define LN_id_GostR3411_94_with_GostR3410_94_cc "GOST R 34.11-94 with GOST R 34.10-94 Cryptocom" ++#define NID_id_GostR3411_94_with_GostR3410_94_cc 852 ++#define OBJ_id_GostR3411_94_with_GostR3410_94_cc OBJ_cryptocom,1L,3L,3L ++ ++#define SN_id_GostR3411_94_with_GostR3410_2001_cc "id-GostR3411-94-with-GostR3410-2001-cc" ++#define LN_id_GostR3411_94_with_GostR3410_2001_cc "GOST R 34.11-94 with GOST R 34.10-2001 Cryptocom" ++#define NID_id_GostR3411_94_with_GostR3410_2001_cc 853 ++#define OBJ_id_GostR3411_94_with_GostR3410_2001_cc OBJ_cryptocom,1L,3L,4L ++ ++#define SN_id_GostR3410_2001_ParamSet_cc "id-GostR3410-2001-ParamSet-cc" ++#define LN_id_GostR3410_2001_ParamSet_cc "GOST R 3410-2001 Parameter Set Cryptocom" ++#define NID_id_GostR3410_2001_ParamSet_cc 854 ++#define OBJ_id_GostR3410_2001_ParamSet_cc OBJ_cryptocom,1L,8L,1L ++ ++#define SN_camellia_128_cbc "CAMELLIA-128-CBC" ++#define LN_camellia_128_cbc "camellia-128-cbc" ++#define NID_camellia_128_cbc 751 ++#define OBJ_camellia_128_cbc 1L,2L,392L,200011L,61L,1L,1L,1L,2L ++ ++#define SN_camellia_192_cbc "CAMELLIA-192-CBC" ++#define LN_camellia_192_cbc "camellia-192-cbc" ++#define NID_camellia_192_cbc 752 ++#define OBJ_camellia_192_cbc 1L,2L,392L,200011L,61L,1L,1L,1L,3L ++ ++#define SN_camellia_256_cbc "CAMELLIA-256-CBC" ++#define LN_camellia_256_cbc "camellia-256-cbc" ++#define NID_camellia_256_cbc 753 ++#define OBJ_camellia_256_cbc 1L,2L,392L,200011L,61L,1L,1L,1L,4L ++ ++#define SN_id_camellia128_wrap "id-camellia128-wrap" ++#define NID_id_camellia128_wrap 907 ++#define OBJ_id_camellia128_wrap 1L,2L,392L,200011L,61L,1L,1L,3L,2L ++ ++#define SN_id_camellia192_wrap "id-camellia192-wrap" ++#define NID_id_camellia192_wrap 908 ++#define OBJ_id_camellia192_wrap 1L,2L,392L,200011L,61L,1L,1L,3L,3L ++ ++#define SN_id_camellia256_wrap "id-camellia256-wrap" ++#define NID_id_camellia256_wrap 909 ++#define OBJ_id_camellia256_wrap 1L,2L,392L,200011L,61L,1L,1L,3L,4L ++ ++#define OBJ_ntt_ds 0L,3L,4401L,5L ++ ++#define OBJ_camellia OBJ_ntt_ds,3L,1L,9L ++ ++#define SN_camellia_128_ecb "CAMELLIA-128-ECB" ++#define LN_camellia_128_ecb "camellia-128-ecb" ++#define NID_camellia_128_ecb 754 ++#define OBJ_camellia_128_ecb OBJ_camellia,1L ++ ++#define SN_camellia_128_ofb128 "CAMELLIA-128-OFB" ++#define LN_camellia_128_ofb128 "camellia-128-ofb" ++#define NID_camellia_128_ofb128 766 ++#define OBJ_camellia_128_ofb128 OBJ_camellia,3L ++ ++#define SN_camellia_128_cfb128 "CAMELLIA-128-CFB" ++#define LN_camellia_128_cfb128 "camellia-128-cfb" ++#define NID_camellia_128_cfb128 757 ++#define OBJ_camellia_128_cfb128 OBJ_camellia,4L ++ ++#define SN_camellia_192_ecb "CAMELLIA-192-ECB" ++#define LN_camellia_192_ecb "camellia-192-ecb" ++#define NID_camellia_192_ecb 755 ++#define OBJ_camellia_192_ecb OBJ_camellia,21L ++ ++#define SN_camellia_192_ofb128 "CAMELLIA-192-OFB" ++#define LN_camellia_192_ofb128 "camellia-192-ofb" ++#define NID_camellia_192_ofb128 767 ++#define OBJ_camellia_192_ofb128 OBJ_camellia,23L ++ ++#define SN_camellia_192_cfb128 "CAMELLIA-192-CFB" ++#define LN_camellia_192_cfb128 "camellia-192-cfb" ++#define NID_camellia_192_cfb128 758 ++#define OBJ_camellia_192_cfb128 OBJ_camellia,24L ++ ++#define SN_camellia_256_ecb "CAMELLIA-256-ECB" ++#define LN_camellia_256_ecb "camellia-256-ecb" ++#define NID_camellia_256_ecb 756 ++#define OBJ_camellia_256_ecb OBJ_camellia,41L ++ ++#define SN_camellia_256_ofb128 "CAMELLIA-256-OFB" ++#define LN_camellia_256_ofb128 "camellia-256-ofb" ++#define NID_camellia_256_ofb128 768 ++#define OBJ_camellia_256_ofb128 OBJ_camellia,43L ++ ++#define SN_camellia_256_cfb128 "CAMELLIA-256-CFB" ++#define LN_camellia_256_cfb128 "camellia-256-cfb" ++#define NID_camellia_256_cfb128 759 ++#define OBJ_camellia_256_cfb128 OBJ_camellia,44L ++ ++#define SN_camellia_128_cfb1 "CAMELLIA-128-CFB1" ++#define LN_camellia_128_cfb1 "camellia-128-cfb1" ++#define NID_camellia_128_cfb1 760 ++ ++#define SN_camellia_192_cfb1 "CAMELLIA-192-CFB1" ++#define LN_camellia_192_cfb1 "camellia-192-cfb1" ++#define NID_camellia_192_cfb1 761 ++ ++#define SN_camellia_256_cfb1 "CAMELLIA-256-CFB1" ++#define LN_camellia_256_cfb1 "camellia-256-cfb1" ++#define NID_camellia_256_cfb1 762 ++ ++#define SN_camellia_128_cfb8 "CAMELLIA-128-CFB8" ++#define LN_camellia_128_cfb8 "camellia-128-cfb8" ++#define NID_camellia_128_cfb8 763 ++ ++#define SN_camellia_192_cfb8 "CAMELLIA-192-CFB8" ++#define LN_camellia_192_cfb8 "camellia-192-cfb8" ++#define NID_camellia_192_cfb8 764 ++ ++#define SN_camellia_256_cfb8 "CAMELLIA-256-CFB8" ++#define LN_camellia_256_cfb8 "camellia-256-cfb8" ++#define NID_camellia_256_cfb8 765 ++ ++#define SN_kisa "KISA" ++#define LN_kisa "kisa" ++#define NID_kisa 773 ++#define OBJ_kisa OBJ_member_body,410L,200004L ++ ++#define SN_seed_ecb "SEED-ECB" ++#define LN_seed_ecb "seed-ecb" ++#define NID_seed_ecb 776 ++#define OBJ_seed_ecb OBJ_kisa,1L,3L ++ ++#define SN_seed_cbc "SEED-CBC" ++#define LN_seed_cbc "seed-cbc" ++#define NID_seed_cbc 777 ++#define OBJ_seed_cbc OBJ_kisa,1L,4L ++ ++#define SN_seed_cfb128 "SEED-CFB" ++#define LN_seed_cfb128 "seed-cfb" ++#define NID_seed_cfb128 779 ++#define OBJ_seed_cfb128 OBJ_kisa,1L,5L ++ ++#define SN_seed_ofb128 "SEED-OFB" ++#define LN_seed_ofb128 "seed-ofb" ++#define NID_seed_ofb128 778 ++#define OBJ_seed_ofb128 OBJ_kisa,1L,6L ++ ++#define SN_hmac "HMAC" ++#define LN_hmac "hmac" ++#define NID_hmac 855 ++ ++#define SN_cmac "CMAC" ++#define LN_cmac "cmac" ++#define NID_cmac 894 ++ ++#define SN_rc4_hmac_md5 "RC4-HMAC-MD5" ++#define LN_rc4_hmac_md5 "rc4-hmac-md5" ++#define NID_rc4_hmac_md5 915 ++ ++#define SN_aes_128_cbc_hmac_sha1 "AES-128-CBC-HMAC-SHA1" ++#define LN_aes_128_cbc_hmac_sha1 "aes-128-cbc-hmac-sha1" ++#define NID_aes_128_cbc_hmac_sha1 916 ++ ++#define SN_aes_192_cbc_hmac_sha1 "AES-192-CBC-HMAC-SHA1" ++#define LN_aes_192_cbc_hmac_sha1 "aes-192-cbc-hmac-sha1" ++#define NID_aes_192_cbc_hmac_sha1 917 ++ ++#define SN_aes_256_cbc_hmac_sha1 "AES-256-CBC-HMAC-SHA1" ++#define LN_aes_256_cbc_hmac_sha1 "aes-256-cbc-hmac-sha1" ++#define NID_aes_256_cbc_hmac_sha1 918 ++ ++#define SN_teletrust "teletrust" ++#define NID_teletrust 920 ++#define OBJ_teletrust OBJ_identified_organization,36L ++ ++#define SN_brainpool "brainpool" ++#define NID_brainpool 921 ++#define OBJ_brainpool OBJ_teletrust,3L,3L,2L,8L,1L ++ ++#define SN_brainpoolP160r1 "brainpoolP160r1" ++#define NID_brainpoolP160r1 922 ++#define OBJ_brainpoolP160r1 OBJ_brainpool,1L,1L ++ ++#define SN_brainpoolP160t1 "brainpoolP160t1" ++#define NID_brainpoolP160t1 923 ++#define OBJ_brainpoolP160t1 OBJ_brainpool,1L,2L ++ ++#define SN_brainpoolP192r1 "brainpoolP192r1" ++#define NID_brainpoolP192r1 924 ++#define OBJ_brainpoolP192r1 OBJ_brainpool,1L,3L ++ ++#define SN_brainpoolP192t1 "brainpoolP192t1" ++#define NID_brainpoolP192t1 925 ++#define OBJ_brainpoolP192t1 OBJ_brainpool,1L,4L ++ ++#define SN_brainpoolP224r1 "brainpoolP224r1" ++#define NID_brainpoolP224r1 926 ++#define OBJ_brainpoolP224r1 OBJ_brainpool,1L,5L ++ ++#define SN_brainpoolP224t1 "brainpoolP224t1" ++#define NID_brainpoolP224t1 927 ++#define OBJ_brainpoolP224t1 OBJ_brainpool,1L,6L ++ ++#define SN_brainpoolP256r1 "brainpoolP256r1" ++#define NID_brainpoolP256r1 928 ++#define OBJ_brainpoolP256r1 OBJ_brainpool,1L,7L ++ ++#define SN_brainpoolP256t1 "brainpoolP256t1" ++#define NID_brainpoolP256t1 929 ++#define OBJ_brainpoolP256t1 OBJ_brainpool,1L,8L ++ ++#define SN_brainpoolP320r1 "brainpoolP320r1" ++#define NID_brainpoolP320r1 930 ++#define OBJ_brainpoolP320r1 OBJ_brainpool,1L,9L ++ ++#define SN_brainpoolP320t1 "brainpoolP320t1" ++#define NID_brainpoolP320t1 931 ++#define OBJ_brainpoolP320t1 OBJ_brainpool,1L,10L ++ ++#define SN_brainpoolP384r1 "brainpoolP384r1" ++#define NID_brainpoolP384r1 932 ++#define OBJ_brainpoolP384r1 OBJ_brainpool,1L,11L ++ ++#define SN_brainpoolP384t1 "brainpoolP384t1" ++#define NID_brainpoolP384t1 933 ++#define OBJ_brainpoolP384t1 OBJ_brainpool,1L,12L ++ ++#define SN_brainpoolP512r1 "brainpoolP512r1" ++#define NID_brainpoolP512r1 934 ++#define OBJ_brainpoolP512r1 OBJ_brainpool,1L,13L ++ ++#define SN_brainpoolP512t1 "brainpoolP512t1" ++#define NID_brainpoolP512t1 935 ++#define OBJ_brainpoolP512t1 OBJ_brainpool,1L,14L ++ ++#define SN_FRP256v1 "FRP256v1" ++#define NID_FRP256v1 936 ++#define OBJ_FRP256v1 1L,2L,250L,1L,223L,101L,256L,1L ++ ++#define SN_chacha20 "ChaCha" ++#define LN_chacha20 "chacha" ++#define NID_chacha20 937 ++ ++#define SN_gost89_ecb "gost89-ecb" ++#define NID_gost89_ecb 938 ++ ++#define SN_gost89_cbc "gost89-cbc" ++#define NID_gost89_cbc 939 ++ ++#define SN_tc26 "tc26" ++#define NID_tc26 940 ++#define OBJ_tc26 OBJ_member_body,643L,7L,1L ++ ++#define SN_id_tc26_gost3411_2012_256 "streebog256" ++#define LN_id_tc26_gost3411_2012_256 "GOST R 34.11-2012 (256 bit)" ++#define NID_id_tc26_gost3411_2012_256 941 ++#define OBJ_id_tc26_gost3411_2012_256 OBJ_tc26,1L,2L,2L ++ ++#define SN_id_tc26_gost3411_2012_512 "streebog512" ++#define LN_id_tc26_gost3411_2012_512 "GOST R 34-11-2012 (512 bit)" ++#define NID_id_tc26_gost3411_2012_512 942 ++#define OBJ_id_tc26_gost3411_2012_512 OBJ_tc26,1L,2L,3L ++ ++#define SN_id_tc26_gost_3410_2012_512_paramSetA "id-tc26-gost-3410-2012-512-paramSetA" ++#define NID_id_tc26_gost_3410_2012_512_paramSetA 943 ++#define OBJ_id_tc26_gost_3410_2012_512_paramSetA OBJ_tc26,2L,1L,2L,1L ++ ++#define SN_id_tc26_gost_3410_2012_512_paramSetB "id-tc26-gost-3410-2012-512-paramSetB" ++#define NID_id_tc26_gost_3410_2012_512_paramSetB 944 ++#define OBJ_id_tc26_gost_3410_2012_512_paramSetB OBJ_tc26,2L,1L,2L,2L ++ ++#define SN_id_tc26_gost_28147_param_Z "id-tc26-gost-28147-param-Z" ++#define NID_id_tc26_gost_28147_param_Z 945 ++#define OBJ_id_tc26_gost_28147_param_Z OBJ_tc26,2L,5L,1L,1L ++ ++#define SN_id_tc26_gost3410_2012_256 "id-tc26-gost3410-2012-256" ++#define LN_id_tc26_gost3410_2012_256 "GOST R 34.10-2012 (256 bit)" ++#define NID_id_tc26_gost3410_2012_256 946 ++#define OBJ_id_tc26_gost3410_2012_256 OBJ_tc26,1L,1L,1L ++ ++#define SN_id_tc26_gost3410_2012_512 "id-tc26-gost3410-2012-512" ++#define LN_id_tc26_gost3410_2012_512 "GOST R 34.10-2012 (512 bit)" ++#define NID_id_tc26_gost3410_2012_512 947 ++#define OBJ_id_tc26_gost3410_2012_512 OBJ_tc26,1L,1L,2L ++ ++#define SN_id_tc26_signwithdigest_gost3410_2012_256 "id-tc26-signwithdigest-gost3410-2012-256" ++#define LN_id_tc26_signwithdigest_gost3410_2012_256 "GOST R 34.11-2012 with GOST R 34.10-2012 (256 bit)" ++#define NID_id_tc26_signwithdigest_gost3410_2012_256 948 ++#define OBJ_id_tc26_signwithdigest_gost3410_2012_256 OBJ_tc26,1L,3L,2L ++ ++#define SN_id_tc26_signwithdigest_gost3410_2012_512 "id-tc26-signwithdigest-gost3410-2012-512" ++#define LN_id_tc26_signwithdigest_gost3410_2012_512 "GOST R 34.11-2012 with GOST R 34.10-2012 (512 bit)" ++#define NID_id_tc26_signwithdigest_gost3410_2012_512 949 ++#define OBJ_id_tc26_signwithdigest_gost3410_2012_512 OBJ_tc26,1L,3L,3L ++ +-- +2.9.3 + diff --git a/pkg/libressl/rev b/pkg/libressl/rev new file mode 100644 index 00000000..00750edc --- /dev/null +++ b/pkg/libressl/rev @@ -0,0 +1 @@ +3 diff --git a/pkg/libressl/src b/pkg/libressl/src new file mode 160000 index 00000000..57212869 --- /dev/null +++ b/pkg/libressl/src @@ -0,0 +1 @@ +Subproject commit 57212869395854dda193040c4f46c8f0d3bb5a08 diff --git a/pkg/libtermkey/.gitignore b/pkg/libtermkey/.gitignore new file mode 100644 index 00000000..f6c9b14b --- /dev/null +++ b/pkg/libtermkey/.gitignore @@ -0,0 +1,2 @@ +/libtermkey-0.18.tar.gz +/src diff --git a/pkg/libtermkey/gen.rc b/pkg/libtermkey/gen.rc new file mode 100644 index 00000000..d2f2fdc8 --- /dev/null +++ b/pkg/libtermkey/gen.rc @@ -0,0 +1,9 @@ +cflags\ + '-std=c99' -Wall\ + -isystem '$builddir'/pkg/ncurses/include + +lib libtermkey.a -d pkg/ncurses/headers\ + termkey.c driver-csi.c driver-ti.c\ + '$builddir'/pkg/ncurses/libncurses.a + +fetch curl diff --git a/pkg/libtermkey/rev b/pkg/libtermkey/rev new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/pkg/libtermkey/rev @@ -0,0 +1 @@ +1 diff --git a/pkg/libtermkey/sha256 b/pkg/libtermkey/sha256 new file mode 100644 index 00000000..67ca7f70 --- /dev/null +++ b/pkg/libtermkey/sha256 @@ -0,0 +1 @@ +239746de41c845af52bb3c14055558f743292dd6c24ac26c2d6567a5a6093926 libtermkey-0.18.tar.gz diff --git a/pkg/libtermkey/url b/pkg/libtermkey/url new file mode 100644 index 00000000..ce0c5c85 --- /dev/null +++ b/pkg/libtermkey/url @@ -0,0 +1 @@ +url = "http://www.leonerd.org.uk/code/libtermkey/libtermkey-0.18.tar.gz" diff --git a/pkg/libusb/config.h b/pkg/libusb/config.h new file mode 100644 index 00000000..64bd7839 --- /dev/null +++ b/pkg/libusb/config.h @@ -0,0 +1,38 @@ +#include + +#define DEFAULT_VISIBILITY __attribute__((visibility("default"))) +/* #undef ENABLE_DEBUG_LOGGING */ +#define ENABLE_LOGGING 1 +#define HAVE_ASM_TYPES_H 1 +/* #undef HAVE_LIBUDEV */ +/* #undef HAVE_LIBUDEV_H */ +#define HAVE_LINUX_NETLINK_H 1 +#define HAVE_MEMORY_H 1 +#define HAVE_SYSLOG_FUNC 1 +#define LT_OBJDIR ".libs/" +/* #undef OS_DARWIN */ +/* #undef OS_HAIKU */ +#define OS_LINUX 1 +/* #undef OS_NETBSD */ +/* #undef OS_OPENBSD */ +/* #undef OS_SUNOS */ +/* #undef OS_WINDOWS */ +#define PACKAGE "libusb" +#define PACKAGE_BUGREPORT "libusb-devel@lists.sourceforge.net" +#define PACKAGE_NAME "libusb" +#define PACKAGE_STRING "libusb 1.0.21" +#define PACKAGE_TARNAME "libusb" +#define PACKAGE_URL "http://libusb.info" +#define PACKAGE_VERSION "1.0.21" +#define POLL_NFDS_TYPE nfds_t +#define THREADS_POSIX 1 +#define USBI_TIMERFD_AVAILABLE 1 +/* #undef USE_SYSTEM_LOGGING_FACILITY */ +/* #undef USE_UDEV */ +/* #undef USE_USBDK */ +#define VERSION "1.0.21" +/* #undef WINVER */ +#define _GNU_SOURCE 1 +#ifndef __cplusplus +/* #undef inline */ +#endif diff --git a/pkg/libusb/gen.rc b/pkg/libusb/gen.rc new file mode 100644 index 00000000..e57cdd13 --- /dev/null +++ b/pkg/libusb/gen.rc @@ -0,0 +1,14 @@ +cflags\ + -I include\ + -I '$dir' \ + -I '$srcdir'/libusb + +build '$outdir'/include/libusb.h copy '$srcdir'/libusb/libusb.h +phony headers '$outdir'/include/libusb.h + +lib libusb-1.0.a libusb/^(\ + core.c descriptor.c hotplug.c io.c strerror.c sync.c\ + os/^(poll_posix.c threads_posix.c linux_usbfs.c linux_netlink.c)\ +) + +fetch git diff --git a/pkg/libusb/rev b/pkg/libusb/rev new file mode 100644 index 00000000..0cfbf088 --- /dev/null +++ b/pkg/libusb/rev @@ -0,0 +1 @@ +2 diff --git a/pkg/libusb/src b/pkg/libusb/src new file mode 160000 index 00000000..09e75e98 --- /dev/null +++ b/pkg/libusb/src @@ -0,0 +1 @@ +Subproject commit 09e75e98b4d9ea7909e8837b7a3f00dda4589dc3 diff --git a/pkg/libxkbcommon/config.h b/pkg/libxkbcommon/config.h new file mode 100644 index 00000000..807fb6b9 --- /dev/null +++ b/pkg/libxkbcommon/config.h @@ -0,0 +1,49 @@ +#include + +#define DFLT_XKB_CONFIG_ROOT "/share/xkb" +#define XLOCALEDIR "/share/xlocale" + +#define DEFAULT_XKB_LAYOUT "us" +#define DEFAULT_XKB_MODEL "pc105" +/* #undef DEFAULT_XKB_OPTIONS */ +#define DEFAULT_XKB_RULES "evdev" +/* #undef DEFAULT_XKB_VARIANT */ +#define HAVE_EACCESS 1 +#define HAVE_EUIDACCESS 1 +#define HAVE_MEMORY_H 1 +/* #undef HAVE_SECURE_GETENV */ +#define HAVE___BUILTIN_EXPECT 1 +/* #undef HAVE___SECURE_GETENV */ +#define LT_OBJDIR ".libs/" +#define PACKAGE "libxkbcommon" +#define PACKAGE_BUGREPORT "https://bugs.freedesktop.org/enter_bug.cgi?product=libxkbcommon" +#define PACKAGE_NAME "libxkbcommon" +#define PACKAGE_STRING "libxkbcommon 0.7.0" +#define PACKAGE_TARNAME "libxkbcommon" +#define PACKAGE_URL "http://xkbcommon.org" +#define PACKAGE_VERSION "0.7.0" +#define PACKAGE_VERSION_MAJOR 0 +#define PACKAGE_VERSION_MINOR 7 +#define PACKAGE_VERSION_PATCHLEVEL 0 +#ifndef _ALL_SOURCE +# define _ALL_SOURCE 1 +#endif +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif +#ifndef _POSIX_PTHREAD_SEMANTICS +# define _POSIX_PTHREAD_SEMANTICS 1 +#endif +#ifndef _TANDEM_SOURCE +# define _TANDEM_SOURCE 1 +#endif +#ifndef __EXTENSIONS__ +# define __EXTENSIONS__ 1 +#endif +#define VERSION "0.7.0" +/* #undef _MINIX */ +/* #undef _POSIX_1_SOURCE */ +/* #undef _POSIX_SOURCE */ +#ifndef __cplusplus +/* #undef inline */ +#endif diff --git a/pkg/libxkbcommon/gen.rc b/pkg/libxkbcommon/gen.rc new file mode 100644 index 00000000..f97d57e5 --- /dev/null +++ b/pkg/libxkbcommon/gen.rc @@ -0,0 +1,41 @@ +cflags\ + -include '$dir'/config.h\ + -I include\ + -I '$srcdir' \ + -I '$srcdir'/src + +lib libxkbcommon.a src/^(\ + compose/parser.c\ + compose/paths.c\ + compose/state.c\ + compose/table.c\ + xkbcomp/action.c\ + xkbcomp/ast-build.c\ + xkbcomp/compat.c\ + xkbcomp/expr.c\ + xkbcomp/include.c\ + xkbcomp/keycodes.c\ + xkbcomp/keymap.c\ + xkbcomp/keymap-dump.c\ + xkbcomp/keywords.c\ + xkbcomp/parser.c\ + xkbcomp/rules.c\ + xkbcomp/scanner.c\ + xkbcomp/symbols.c\ + xkbcomp/types.c\ + xkbcomp/vmod.c\ + xkbcomp/xkbcomp.c\ + atom.c\ + context.c\ + context-priv.c\ + keysym.c\ + keysym-utf.c\ + keymap.c\ + keymap-priv.c\ + state.c\ + text.c\ + utf8.c\ + utils.c\ +) + +fetch git diff --git a/pkg/libxkbcommon/patch/0001-Import-parser.-c-h-from-libxkbcommon-0.7.0-distribut.patch b/pkg/libxkbcommon/patch/0001-Import-parser.-c-h-from-libxkbcommon-0.7.0-distribut.patch new file mode 100644 index 00000000..6c15f0f2 --- /dev/null +++ b/pkg/libxkbcommon/patch/0001-Import-parser.-c-h-from-libxkbcommon-0.7.0-distribut.patch @@ -0,0 +1,3710 @@ +From 34b23df0ece4bac6475690f1ff27cfe2e6b55ccb Mon Sep 17 00:00:00 2001 +From: Michael Forney +Date: Wed, 12 Oct 2016 21:21:58 -0700 +Subject: [PATCH] Import parser.{c,h} from libxkbcommon-0.7.0 distribution + +--- + src/xkbcomp/parser.c | 3462 ++++++++++++++++++++++++++++++++++++++++++++++++++ + src/xkbcomp/parser.h | 221 ++++ + 2 files changed, 3683 insertions(+) + create mode 100644 src/xkbcomp/parser.c + create mode 100644 src/xkbcomp/parser.h + +diff --git a/src/xkbcomp/parser.c b/src/xkbcomp/parser.c +new file mode 100644 +index 0000000..5b46b90 +--- /dev/null ++++ b/src/xkbcomp/parser.c +@@ -0,0 +1,3462 @@ ++/* A Bison parser, made by GNU Bison 3.0.4. */ ++ ++/* Bison implementation for Yacc-like parsers in C ++ ++ Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc. ++ ++ 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 . */ ++ ++/* As a special exception, you may create a larger work that contains ++ part or all of the Bison parser skeleton and distribute that work ++ under terms of your choice, so long as that work isn't itself a ++ parser generator using the skeleton or a modified version thereof ++ as a parser skeleton. Alternatively, if you modify or redistribute ++ the parser skeleton itself, you may (at your option) remove this ++ special exception, which will cause the skeleton and the resulting ++ Bison output files to be licensed under the GNU General Public ++ License without this special exception. ++ ++ This special exception was added by the Free Software Foundation in ++ version 2.2 of Bison. */ ++ ++/* C LALR(1) parser skeleton written by Richard Stallman, by ++ simplifying the original so-called "semantic" parser. */ ++ ++/* All symbols defined below should begin with yy or YY, to avoid ++ infringing on user name space. This should be done even for local ++ variables, as they might otherwise be expanded by user macros. ++ There are some unavoidable exceptions within include files to ++ define necessary library symbols; they are noted "INFRINGES ON ++ USER NAME SPACE" below. */ ++ ++/* Identify Bison output. */ ++#define YYBISON 1 ++ ++/* Bison version. */ ++#define YYBISON_VERSION "3.0.4" ++ ++/* Skeleton name. */ ++#define YYSKELETON_NAME "yacc.c" ++ ++/* Pure parsers. */ ++#define YYPURE 1 ++ ++/* Push parsers. */ ++#define YYPUSH 0 ++ ++/* Pull parsers. */ ++#define YYPULL 1 ++ ++ ++/* Substitute the variable and function names. */ ++#define yyparse _xkbcommon_parse ++#define yylex _xkbcommon_lex ++#define yyerror _xkbcommon_error ++#define yydebug _xkbcommon_debug ++#define yynerrs _xkbcommon_nerrs ++ ++ ++/* Copy the first part of user declarations. */ ++#line 33 "src/xkbcomp/parser.y" /* yacc.c:339 */ ++ ++#include "xkbcomp-priv.h" ++#include "ast-build.h" ++#include "parser-priv.h" ++#include "scanner-utils.h" ++ ++struct parser_param { ++ struct xkb_context *ctx; ++ struct scanner *scanner; ++ XkbFile *rtrn; ++ bool more_maps; ++}; ++ ++#define parser_err(param, fmt, ...) \ ++ scanner_err((param)->scanner, fmt, ##__VA_ARGS__) ++ ++#define parser_warn(param, fmt, ...) \ ++ scanner_warn((param)->scanner, fmt, ##__VA_ARGS__) ++ ++static void ++_xkbcommon_error(struct parser_param *param, const char *msg) ++{ ++ parser_err(param, "%s", msg); ++} ++ ++static bool ++resolve_keysym(const char *name, xkb_keysym_t *sym_rtrn) ++{ ++ xkb_keysym_t sym; ++ ++ if (!name || istreq(name, "any") || istreq(name, "nosymbol")) { ++ *sym_rtrn = XKB_KEY_NoSymbol; ++ return true; ++ } ++ ++ if (istreq(name, "none") || istreq(name, "voidsymbol")) { ++ *sym_rtrn = XKB_KEY_VoidSymbol; ++ return true; ++ } ++ ++ sym = xkb_keysym_from_name(name, XKB_KEYSYM_NO_FLAGS); ++ if (sym != XKB_KEY_NoSymbol) { ++ *sym_rtrn = sym; ++ return true; ++ } ++ ++ return false; ++} ++ ++#define param_scanner param->scanner ++ ++#line 124 "src/xkbcomp/parser.c" /* yacc.c:339 */ ++ ++# ifndef YY_NULLPTR ++# if defined __cplusplus && 201103L <= __cplusplus ++# define YY_NULLPTR nullptr ++# else ++# define YY_NULLPTR 0 ++# endif ++# endif ++ ++/* Enabling verbose error messages. */ ++#ifdef YYERROR_VERBOSE ++# undef YYERROR_VERBOSE ++# define YYERROR_VERBOSE 1 ++#else ++# define YYERROR_VERBOSE 0 ++#endif ++ ++/* In a future release of Bison, this section will be replaced ++ by #include "y.tab.h". */ ++#ifndef YY__XKBCOMMON_SRC_XKBCOMP_PARSER_H_INCLUDED ++# define YY__XKBCOMMON_SRC_XKBCOMP_PARSER_H_INCLUDED ++/* Debug traces. */ ++#ifndef YYDEBUG ++# define YYDEBUG 0 ++#endif ++#if YYDEBUG ++extern int _xkbcommon_debug; ++#endif ++ ++/* Token type. */ ++#ifndef YYTOKENTYPE ++# define YYTOKENTYPE ++ enum yytokentype ++ { ++ END_OF_FILE = 0, ++ ERROR_TOK = 255, ++ XKB_KEYMAP = 1, ++ XKB_KEYCODES = 2, ++ XKB_TYPES = 3, ++ XKB_SYMBOLS = 4, ++ XKB_COMPATMAP = 5, ++ XKB_GEOMETRY = 6, ++ XKB_SEMANTICS = 7, ++ XKB_LAYOUT = 8, ++ INCLUDE = 10, ++ OVERRIDE = 11, ++ AUGMENT = 12, ++ REPLACE = 13, ++ ALTERNATE = 14, ++ VIRTUAL_MODS = 20, ++ TYPE = 21, ++ INTERPRET = 22, ++ ACTION_TOK = 23, ++ KEY = 24, ++ ALIAS = 25, ++ GROUP = 26, ++ MODIFIER_MAP = 27, ++ INDICATOR = 28, ++ SHAPE = 29, ++ KEYS = 30, ++ ROW = 31, ++ SECTION = 32, ++ OVERLAY = 33, ++ TEXT = 34, ++ OUTLINE = 35, ++ SOLID = 36, ++ LOGO = 37, ++ VIRTUAL = 38, ++ EQUALS = 40, ++ PLUS = 41, ++ MINUS = 42, ++ DIVIDE = 43, ++ TIMES = 44, ++ OBRACE = 45, ++ CBRACE = 46, ++ OPAREN = 47, ++ CPAREN = 48, ++ OBRACKET = 49, ++ CBRACKET = 50, ++ DOT = 51, ++ COMMA = 52, ++ SEMI = 53, ++ EXCLAM = 54, ++ INVERT = 55, ++ STRING = 60, ++ INTEGER = 61, ++ FLOAT = 62, ++ IDENT = 63, ++ KEYNAME = 64, ++ PARTIAL = 70, ++ DEFAULT = 71, ++ HIDDEN = 72, ++ ALPHANUMERIC_KEYS = 73, ++ MODIFIER_KEYS = 74, ++ KEYPAD_KEYS = 75, ++ FUNCTION_KEYS = 76, ++ ALTERNATE_GROUP = 77 ++ }; ++#endif ++/* Tokens. */ ++#define END_OF_FILE 0 ++#define ERROR_TOK 255 ++#define XKB_KEYMAP 1 ++#define XKB_KEYCODES 2 ++#define XKB_TYPES 3 ++#define XKB_SYMBOLS 4 ++#define XKB_COMPATMAP 5 ++#define XKB_GEOMETRY 6 ++#define XKB_SEMANTICS 7 ++#define XKB_LAYOUT 8 ++#define INCLUDE 10 ++#define OVERRIDE 11 ++#define AUGMENT 12 ++#define REPLACE 13 ++#define ALTERNATE 14 ++#define VIRTUAL_MODS 20 ++#define TYPE 21 ++#define INTERPRET 22 ++#define ACTION_TOK 23 ++#define KEY 24 ++#define ALIAS 25 ++#define GROUP 26 ++#define MODIFIER_MAP 27 ++#define INDICATOR 28 ++#define SHAPE 29 ++#define KEYS 30 ++#define ROW 31 ++#define SECTION 32 ++#define OVERLAY 33 ++#define TEXT 34 ++#define OUTLINE 35 ++#define SOLID 36 ++#define LOGO 37 ++#define VIRTUAL 38 ++#define EQUALS 40 ++#define PLUS 41 ++#define MINUS 42 ++#define DIVIDE 43 ++#define TIMES 44 ++#define OBRACE 45 ++#define CBRACE 46 ++#define OPAREN 47 ++#define CPAREN 48 ++#define OBRACKET 49 ++#define CBRACKET 50 ++#define DOT 51 ++#define COMMA 52 ++#define SEMI 53 ++#define EXCLAM 54 ++#define INVERT 55 ++#define STRING 60 ++#define INTEGER 61 ++#define FLOAT 62 ++#define IDENT 63 ++#define KEYNAME 64 ++#define PARTIAL 70 ++#define DEFAULT 71 ++#define HIDDEN 72 ++#define ALPHANUMERIC_KEYS 73 ++#define MODIFIER_KEYS 74 ++#define KEYPAD_KEYS 75 ++#define FUNCTION_KEYS 76 ++#define ALTERNATE_GROUP 77 ++ ++/* Value type. */ ++#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED ++ ++union YYSTYPE ++{ ++#line 162 "src/xkbcomp/parser.y" /* yacc.c:355 */ ++ ++ int ival; ++ int64_t num; ++ enum xkb_file_type file_type; ++ char *str; ++ xkb_atom_t atom; ++ enum merge_mode merge; ++ enum xkb_map_flags mapFlags; ++ xkb_keysym_t keysym; ++ ParseCommon *any; ++ ExprDef *expr; ++ VarDef *var; ++ VModDef *vmod; ++ InterpDef *interp; ++ KeyTypeDef *keyType; ++ SymbolsDef *syms; ++ ModMapDef *modMask; ++ GroupCompatDef *groupCompat; ++ LedMapDef *ledMap; ++ LedNameDef *ledName; ++ KeycodeDef *keyCode; ++ KeyAliasDef *keyAlias; ++ void *geom; ++ XkbFile *file; ++ ++#line 320 "src/xkbcomp/parser.c" /* yacc.c:355 */ ++}; ++ ++typedef union YYSTYPE YYSTYPE; ++# define YYSTYPE_IS_TRIVIAL 1 ++# define YYSTYPE_IS_DECLARED 1 ++#endif ++ ++ ++ ++int _xkbcommon_parse (struct parser_param *param); ++ ++#endif /* !YY__XKBCOMMON_SRC_XKBCOMP_PARSER_H_INCLUDED */ ++ ++/* Copy the second part of user declarations. */ ++ ++#line 336 "src/xkbcomp/parser.c" /* yacc.c:358 */ ++ ++#ifdef short ++# undef short ++#endif ++ ++#ifdef YYTYPE_UINT8 ++typedef YYTYPE_UINT8 yytype_uint8; ++#else ++typedef unsigned char yytype_uint8; ++#endif ++ ++#ifdef YYTYPE_INT8 ++typedef YYTYPE_INT8 yytype_int8; ++#else ++typedef signed char yytype_int8; ++#endif ++ ++#ifdef YYTYPE_UINT16 ++typedef YYTYPE_UINT16 yytype_uint16; ++#else ++typedef unsigned short int yytype_uint16; ++#endif ++ ++#ifdef YYTYPE_INT16 ++typedef YYTYPE_INT16 yytype_int16; ++#else ++typedef short int yytype_int16; ++#endif ++ ++#ifndef YYSIZE_T ++# ifdef __SIZE_TYPE__ ++# define YYSIZE_T __SIZE_TYPE__ ++# elif defined size_t ++# define YYSIZE_T size_t ++# elif ! defined YYSIZE_T ++# include /* INFRINGES ON USER NAME SPACE */ ++# define YYSIZE_T size_t ++# else ++# define YYSIZE_T unsigned int ++# endif ++#endif ++ ++#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) ++ ++#ifndef YY_ ++# if defined YYENABLE_NLS && YYENABLE_NLS ++# if ENABLE_NLS ++# include /* INFRINGES ON USER NAME SPACE */ ++# define YY_(Msgid) dgettext ("bison-runtime", Msgid) ++# endif ++# endif ++# ifndef YY_ ++# define YY_(Msgid) Msgid ++# endif ++#endif ++ ++#ifndef YY_ATTRIBUTE ++# if (defined __GNUC__ \ ++ && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \ ++ || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C ++# define YY_ATTRIBUTE(Spec) __attribute__(Spec) ++# else ++# define YY_ATTRIBUTE(Spec) /* empty */ ++# endif ++#endif ++ ++#ifndef YY_ATTRIBUTE_PURE ++# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__)) ++#endif ++ ++#ifndef YY_ATTRIBUTE_UNUSED ++# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) ++#endif ++ ++#if !defined _Noreturn \ ++ && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) ++# if defined _MSC_VER && 1200 <= _MSC_VER ++# define _Noreturn __declspec (noreturn) ++# else ++# define _Noreturn YY_ATTRIBUTE ((__noreturn__)) ++# endif ++#endif ++ ++/* Suppress unused-variable warnings by "using" E. */ ++#if ! defined lint || defined __GNUC__ ++# define YYUSE(E) ((void) (E)) ++#else ++# define YYUSE(E) /* empty */ ++#endif ++ ++#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ ++/* Suppress an incorrect diagnostic about yylval being uninitialized. */ ++# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ ++ _Pragma ("GCC diagnostic push") \ ++ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ ++ _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") ++# define YY_IGNORE_MAYBE_UNINITIALIZED_END \ ++ _Pragma ("GCC diagnostic pop") ++#else ++# define YY_INITIAL_VALUE(Value) Value ++#endif ++#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN ++# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN ++# define YY_IGNORE_MAYBE_UNINITIALIZED_END ++#endif ++#ifndef YY_INITIAL_VALUE ++# define YY_INITIAL_VALUE(Value) /* Nothing. */ ++#endif ++ ++ ++#if ! defined yyoverflow || YYERROR_VERBOSE ++ ++/* The parser invokes alloca or malloc; define the necessary symbols. */ ++ ++# ifdef YYSTACK_USE_ALLOCA ++# if YYSTACK_USE_ALLOCA ++# ifdef __GNUC__ ++# define YYSTACK_ALLOC __builtin_alloca ++# elif defined __BUILTIN_VA_ARG_INCR ++# include /* INFRINGES ON USER NAME SPACE */ ++# elif defined _AIX ++# define YYSTACK_ALLOC __alloca ++# elif defined _MSC_VER ++# include /* INFRINGES ON USER NAME SPACE */ ++# define alloca _alloca ++# else ++# define YYSTACK_ALLOC alloca ++# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS ++# include /* INFRINGES ON USER NAME SPACE */ ++ /* Use EXIT_SUCCESS as a witness for stdlib.h. */ ++# ifndef EXIT_SUCCESS ++# define EXIT_SUCCESS 0 ++# endif ++# endif ++# endif ++# endif ++# endif ++ ++# ifdef YYSTACK_ALLOC ++ /* Pacify GCC's 'empty if-body' warning. */ ++# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) ++# ifndef YYSTACK_ALLOC_MAXIMUM ++ /* The OS might guarantee only one guard page at the bottom of the stack, ++ and a page size can be as small as 4096 bytes. So we cannot safely ++ invoke alloca (N) if N exceeds 4096. Use a slightly smaller number ++ to allow for a few compiler-allocated temporary stack slots. */ ++# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ ++# endif ++# else ++# define YYSTACK_ALLOC YYMALLOC ++# define YYSTACK_FREE YYFREE ++# ifndef YYSTACK_ALLOC_MAXIMUM ++# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM ++# endif ++# if (defined __cplusplus && ! defined EXIT_SUCCESS \ ++ && ! ((defined YYMALLOC || defined malloc) \ ++ && (defined YYFREE || defined free))) ++# include /* INFRINGES ON USER NAME SPACE */ ++# ifndef EXIT_SUCCESS ++# define EXIT_SUCCESS 0 ++# endif ++# endif ++# ifndef YYMALLOC ++# define YYMALLOC malloc ++# if ! defined malloc && ! defined EXIT_SUCCESS ++void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ ++# endif ++# endif ++# ifndef YYFREE ++# define YYFREE free ++# if ! defined free && ! defined EXIT_SUCCESS ++void free (void *); /* INFRINGES ON USER NAME SPACE */ ++# endif ++# endif ++# endif ++#endif /* ! defined yyoverflow || YYERROR_VERBOSE */ ++ ++ ++#if (! defined yyoverflow \ ++ && (! defined __cplusplus \ ++ || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) ++ ++/* A type that is properly aligned for any stack member. */ ++union yyalloc ++{ ++ yytype_int16 yyss_alloc; ++ YYSTYPE yyvs_alloc; ++}; ++ ++/* The size of the maximum gap between one aligned stack and the next. */ ++# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) ++ ++/* The size of an array large to enough to hold all stacks, each with ++ N elements. */ ++# define YYSTACK_BYTES(N) \ ++ ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ ++ + YYSTACK_GAP_MAXIMUM) ++ ++# define YYCOPY_NEEDED 1 ++ ++/* Relocate STACK from its old location to the new one. The ++ local variables YYSIZE and YYSTACKSIZE give the old and new number of ++ elements in the stack, and YYPTR gives the new location of the ++ stack. Advance YYPTR to a properly aligned location for the next ++ stack. */ ++# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ ++ do \ ++ { \ ++ YYSIZE_T yynewbytes; \ ++ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ ++ Stack = &yyptr->Stack_alloc; \ ++ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ ++ yyptr += yynewbytes / sizeof (*yyptr); \ ++ } \ ++ while (0) ++ ++#endif ++ ++#if defined YYCOPY_NEEDED && YYCOPY_NEEDED ++/* Copy COUNT objects from SRC to DST. The source and destination do ++ not overlap. */ ++# ifndef YYCOPY ++# if defined __GNUC__ && 1 < __GNUC__ ++# define YYCOPY(Dst, Src, Count) \ ++ __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) ++# else ++# define YYCOPY(Dst, Src, Count) \ ++ do \ ++ { \ ++ YYSIZE_T yyi; \ ++ for (yyi = 0; yyi < (Count); yyi++) \ ++ (Dst)[yyi] = (Src)[yyi]; \ ++ } \ ++ while (0) ++# endif ++# endif ++#endif /* !YYCOPY_NEEDED */ ++ ++/* YYFINAL -- State number of the termination state. */ ++#define YYFINAL 16 ++/* YYLAST -- Last index in YYTABLE. */ ++#define YYLAST 735 ++ ++/* YYNTOKENS -- Number of terminals. */ ++#define YYNTOKENS 65 ++/* YYNNTS -- Number of nonterminals. */ ++#define YYNNTS 72 ++/* YYNRULES -- Number of rules. */ ++#define YYNRULES 184 ++/* YYNSTATES -- Number of states. */ ++#define YYNSTATES 334 ++ ++/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned ++ by yylex, with out-of-bounds checking. */ ++#define YYUNDEFTOK 2 ++#define YYMAXUTOK 257 ++ ++#define YYTRANSLATE(YYX) \ ++ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) ++ ++/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM ++ as returned by yylex, without out-of-bounds checking. */ ++static const yytype_uint8 yytranslate[] = ++{ ++ 0, 4, 5, 6, 7, 8, 9, 10, 11, 2, ++ 12, 13, 14, 15, 16, 2, 2, 2, 2, 2, ++ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, ++ 27, 28, 29, 30, 31, 32, 33, 34, 35, 2, ++ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, ++ 46, 47, 48, 49, 50, 51, 2, 2, 2, 2, ++ 52, 53, 54, 55, 56, 2, 2, 2, 2, 2, ++ 57, 58, 59, 60, 61, 62, 63, 64, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 3, 1, 2 ++}; ++ ++#if YYDEBUG ++ /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ ++static const yytype_uint16 yyrline[] = ++{ ++ 0, 241, 241, 243, 245, 249, 255, 256, 257, 260, ++ 268, 272, 287, 288, 289, 290, 291, 294, 295, 298, ++ 299, 302, 303, 304, 305, 306, 307, 308, 309, 312, ++ 314, 317, 322, 327, 332, 337, 342, 347, 352, 357, ++ 362, 367, 372, 373, 374, 375, 382, 384, 386, 390, ++ 394, 398, 402, 405, 409, 411, 415, 421, 423, 427, ++ 430, 434, 440, 446, 449, 451, 454, 455, 456, 457, ++ 458, 461, 463, 467, 471, 475, 479, 481, 485, 487, ++ 491, 495, 496, 499, 501, 503, 505, 507, 511, 512, ++ 515, 516, 520, 521, 524, 526, 530, 534, 535, 538, ++ 541, 543, 547, 549, 551, 555, 557, 561, 565, 569, ++ 570, 571, 572, 575, 576, 579, 581, 583, 585, 587, ++ 589, 591, 593, 595, 597, 599, 603, 604, 607, 608, ++ 609, 610, 611, 621, 622, 625, 628, 632, 634, 636, ++ 638, 640, 642, 646, 648, 650, 652, 654, 656, 658, ++ 660, 664, 667, 671, 675, 677, 679, 681, 685, 687, ++ 689, 691, 695, 696, 699, 701, 703, 705, 709, 713, ++ 719, 720, 740, 741, 744, 745, 748, 751, 754, 757, ++ 758, 761, 764, 765, 768 ++}; ++#endif ++ ++#if YYDEBUG || YYERROR_VERBOSE || 0 ++/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. ++ First, the terminals, then, starting at YYNTOKENS, nonterminals. */ ++static const char *const yytname[] = ++{ ++ "END_OF_FILE", "error", "$undefined", "ERROR_TOK", "XKB_KEYMAP", ++ "XKB_KEYCODES", "XKB_TYPES", "XKB_SYMBOLS", "XKB_COMPATMAP", ++ "XKB_GEOMETRY", "XKB_SEMANTICS", "XKB_LAYOUT", "INCLUDE", "OVERRIDE", ++ "AUGMENT", "REPLACE", "ALTERNATE", "VIRTUAL_MODS", "TYPE", "INTERPRET", ++ "ACTION_TOK", "KEY", "ALIAS", "GROUP", "MODIFIER_MAP", "INDICATOR", ++ "SHAPE", "KEYS", "ROW", "SECTION", "OVERLAY", "TEXT", "OUTLINE", "SOLID", ++ "LOGO", "VIRTUAL", "EQUALS", "PLUS", "MINUS", "DIVIDE", "TIMES", ++ "OBRACE", "CBRACE", "OPAREN", "CPAREN", "OBRACKET", "CBRACKET", "DOT", ++ "COMMA", "SEMI", "EXCLAM", "INVERT", "STRING", "INTEGER", "FLOAT", ++ "IDENT", "KEYNAME", "PARTIAL", "DEFAULT", "HIDDEN", "ALPHANUMERIC_KEYS", ++ "MODIFIER_KEYS", "KEYPAD_KEYS", "FUNCTION_KEYS", "ALTERNATE_GROUP", ++ "$accept", "XkbFile", "XkbCompositeMap", "XkbCompositeType", ++ "XkbMapConfigList", "XkbMapConfig", "FileType", "OptFlags", "Flags", ++ "Flag", "DeclList", "Decl", "VarDecl", "KeyNameDecl", "KeyAliasDecl", ++ "VModDecl", "VModDefList", "VModDef", "InterpretDecl", "InterpretMatch", ++ "VarDeclList", "KeyTypeDecl", "SymbolsDecl", "SymbolsBody", ++ "SymbolsVarDecl", "ArrayInit", "GroupCompatDecl", "ModMapDecl", ++ "LedMapDecl", "LedNameDecl", "ShapeDecl", "SectionDecl", "SectionBody", ++ "SectionBodyItem", "RowBody", "RowBodyItem", "Keys", "Key", ++ "OverlayDecl", "OverlayKeyList", "OverlayKey", "OutlineList", ++ "OutlineInList", "CoordList", "Coord", "DoodadDecl", "DoodadType", ++ "FieldSpec", "Element", "OptMergeMode", "MergeMode", "OptExprList", ++ "ExprList", "Expr", "Term", "ActionList", "Action", "Lhs", "Terminal", ++ "OptKeySymList", "KeySymList", "KeySyms", "KeySym", "SignedNumber", ++ "Number", "Float", "Integer", "KeyCode", "Ident", "String", "OptMapName", ++ "MapName", YY_NULLPTR ++}; ++#endif ++ ++# ifdef YYPRINT ++/* YYTOKNUM[NUM] -- (External) token number corresponding to the ++ (internal) symbol number NUM (which must be that of a token). */ ++static const yytype_uint16 yytoknum[] = ++{ ++ 0, 256, 257, 255, 1, 2, 3, 4, 5, 6, ++ 7, 8, 10, 11, 12, 13, 14, 20, 21, 22, ++ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, ++ 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, ++ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, ++ 54, 55, 60, 61, 62, 63, 64, 70, 71, 72, ++ 73, 74, 75, 76, 77 ++}; ++# endif ++ ++#define YYPACT_NINF -182 ++ ++#define yypact_value_is_default(Yystate) \ ++ (!!((Yystate) == (-182))) ++ ++#define YYTABLE_NINF -180 ++ ++#define yytable_value_is_error(Yytable_value) \ ++ 0 ++ ++ /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing ++ STATE-NUM. */ ++static const yytype_int16 yypact[] = ++{ ++ 176, -182, -182, -182, -182, -182, -182, -182, -182, -182, ++ 6, -182, -182, 271, 227, -182, -182, -182, -182, -182, ++ -182, -182, -182, -182, -182, -38, -38, -182, -182, -24, ++ -182, 33, 227, -182, 210, -182, 353, 44, 5, -182, ++ -182, -182, -182, -182, -182, 32, -182, 13, 41, -182, ++ -182, -48, 55, 11, -182, 79, 87, 58, -48, -2, ++ 55, -182, 55, 72, -182, -182, -182, 107, -48, -182, ++ 110, -182, -182, -182, -182, -182, -182, -182, -182, -182, ++ -182, -182, -182, -182, -182, -182, 55, -18, -182, 127, ++ 121, -182, 66, -182, 138, -182, 136, -182, -182, -182, ++ 144, 147, -182, 152, 180, 182, 178, 184, 187, 188, ++ 190, 58, 198, 201, 214, 367, 677, 367, -182, -48, ++ -182, 367, 663, 663, 367, 494, 200, 367, 367, 367, ++ 663, 68, 449, 223, -182, -182, 212, 663, -182, -182, ++ -182, -182, -182, -182, -182, -182, -182, 367, 367, 367, ++ 367, 367, -182, -182, 57, 157, -182, 224, -182, -182, ++ -182, -182, -182, 218, 91, -182, 333, -182, 509, 537, ++ 333, 552, -48, 1, -182, -182, 228, 40, 216, 143, ++ 70, 333, 150, 593, 247, -30, 97, -182, 105, -182, ++ 261, 55, 259, 55, -182, -182, 408, -182, -182, -182, ++ 367, -182, 608, -182, -182, -182, 287, -182, -182, 367, ++ 367, 367, 367, 367, -182, 367, 367, -182, 252, -182, ++ 253, 264, 24, 269, 272, 163, -182, 273, 270, -182, ++ -182, -182, 280, 494, 285, -182, -182, 283, 367, -182, ++ 284, 112, 8, -182, -182, 294, -182, 299, -36, 304, ++ 247, 326, 649, 279, 307, -182, 204, 316, -182, 322, ++ 320, 111, 111, -182, -182, 333, 211, -182, -182, 116, ++ 367, -182, 677, -182, 24, -182, -182, -182, 333, -182, ++ 333, -182, -182, -182, -30, -182, -182, -182, -182, 247, ++ 333, 334, -182, 466, -182, 318, -182, -182, -182, -182, ++ -182, -182, 339, -182, -182, -182, 343, 120, 14, 345, ++ -182, 361, 124, -182, -182, -182, -182, 367, -182, 131, ++ -182, -182, 344, 350, 318, 166, 352, 14, -182, -182, ++ -182, -182, -182, -182 ++}; ++ ++ /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. ++ Performed when YYTABLE does not specify something else to do. Zero ++ means the default is an error. */ ++static const yytype_uint8 yydefact[] = ++{ ++ 18, 4, 21, 22, 23, 24, 25, 26, 27, 28, ++ 0, 2, 3, 0, 17, 20, 1, 6, 12, 13, ++ 15, 14, 16, 7, 8, 183, 183, 19, 184, 0, ++ 182, 0, 18, 30, 18, 10, 0, 127, 0, 9, ++ 128, 130, 129, 131, 132, 0, 29, 0, 126, 5, ++ 11, 0, 117, 116, 115, 118, 0, 119, 120, 121, ++ 122, 123, 124, 125, 110, 111, 112, 0, 0, 179, ++ 0, 180, 31, 34, 35, 32, 33, 36, 37, 39, ++ 38, 40, 41, 42, 43, 44, 0, 154, 114, 0, ++ 113, 45, 0, 53, 54, 181, 0, 170, 177, 169, ++ 0, 58, 171, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, ++ 51, 0, 0, 0, 0, 65, 0, 0, 0, 0, ++ 0, 0, 0, 0, 48, 178, 0, 0, 117, 116, ++ 118, 119, 120, 121, 122, 124, 125, 0, 0, 0, ++ 0, 0, 176, 161, 154, 0, 142, 147, 149, 160, ++ 159, 113, 158, 155, 0, 52, 55, 60, 0, 0, ++ 57, 163, 0, 0, 64, 70, 0, 113, 0, 0, ++ 0, 136, 0, 0, 0, 0, 0, 101, 0, 106, ++ 0, 121, 123, 0, 84, 86, 0, 82, 87, 85, ++ 0, 49, 0, 144, 147, 143, 0, 145, 146, 134, ++ 0, 0, 0, 0, 156, 0, 0, 46, 0, 59, ++ 0, 170, 0, 169, 0, 0, 152, 0, 162, 167, ++ 166, 69, 0, 0, 0, 50, 73, 0, 0, 76, ++ 0, 0, 0, 175, 174, 0, 173, 0, 0, 0, ++ 0, 0, 0, 0, 0, 81, 0, 0, 150, 0, ++ 133, 138, 139, 137, 140, 141, 0, 61, 56, 0, ++ 134, 72, 0, 71, 0, 62, 63, 67, 66, 74, ++ 135, 75, 102, 172, 0, 78, 100, 79, 105, 0, ++ 104, 0, 91, 0, 89, 0, 80, 77, 108, 148, ++ 157, 168, 0, 151, 165, 164, 0, 0, 0, 0, ++ 88, 0, 0, 98, 153, 107, 103, 0, 94, 0, ++ 93, 83, 0, 0, 0, 0, 0, 0, 99, 96, ++ 97, 95, 90, 92 ++}; ++ ++ /* YYPGOTO[NTERM-NUM]. */ ++static const yytype_int16 yypgoto[] = ++{ ++ -182, -182, -182, -182, -182, 181, -182, 402, -182, 389, ++ -182, -182, -35, -182, -182, -182, -182, 288, -182, -182, ++ -50, -182, -182, -182, 173, 174, -182, -182, 362, -182, ++ -182, -182, -182, 215, -182, 119, -182, 86, -182, -182, ++ 90, -182, 167, -181, 185, 369, -182, -27, -182, -182, ++ -182, 154, -126, 83, 76, -182, 158, -31, -182, -182, ++ 221, 170, -52, 161, 205, -182, -44, -182, -47, -34, ++ 420, -182 ++}; ++ ++ /* YYDEFGOTO[NTERM-NUM]. */ ++static const yytype_int16 yydefgoto[] = ++{ ++ -1, 10, 11, 25, 34, 12, 26, 36, 14, 15, ++ 37, 46, 167, 73, 74, 75, 92, 93, 76, 100, ++ 168, 77, 78, 173, 174, 175, 79, 80, 195, 82, ++ 83, 84, 196, 197, 293, 294, 319, 320, 198, 312, ++ 313, 186, 187, 188, 189, 199, 86, 154, 88, 47, ++ 48, 259, 260, 181, 156, 225, 226, 157, 158, 227, ++ 228, 229, 230, 245, 246, 159, 160, 136, 161, 162, ++ 29, 30 ++}; ++ ++ /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If ++ positive, shift that token. If negative, reduce the rule whose ++ number is the opposite. If YYTABLE_NINF, syntax error. */ ++static const yytype_int16 yytable[] = ++{ ++ 90, 101, 180, 241, 94, 184, 16, 69, 242, 102, ++ 71, 106, 72, 105, 28, 107, 89, 32, 96, 69, ++ 87, 112, 71, 243, 244, 108, 109, 115, 110, 116, ++ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, ++ 97, 61, 62, 232, 63, 64, 65, 66, 67, 233, ++ 95, 98, 114, 97, 49, 317, 40, 41, 42, 43, ++ 44, 243, 244, 68, 98, 222, 99, 133, 69, 70, ++ 318, 71, 94, 169, 33, 90, 90, 98, 177, 99, ++ 183, 50, -68, 90, 190, 90, 45, 202, -68, 163, ++ 90, 89, 89, 91, 176, 87, 87, 194, 87, 89, ++ 209, 89, 115, 87, 116, 87, 89, 95, 307, 184, ++ 87, 98, 237, 185, 119, 120, 204, 204, 238, 204, ++ 204, 90, 90, 69, -109, 231, 71, 102, 210, 211, ++ 212, 213, 111, 219, 219, 103, 90, 89, 89, 247, ++ 217, 87, 87, 104, 224, 248, 113, 249, 219, 90, ++ 212, 213, 89, 250, 282, 90, 87, 108, 301, 253, ++ 250, 194, 316, 117, 274, 89, 323, 219, 250, 87, ++ 118, 89, 324, 326, 121, 87, 1, 122, 102, 327, ++ 210, 211, 212, 213, 124, 123, 177, 210, 211, 212, ++ 213, 325, 236, 125, 210, 211, 212, 213, 155, 239, ++ 164, 190, 176, 214, 166, 90, 87, 170, 331, 271, ++ 179, 272, 182, 35, 238, 39, 126, 292, 127, 128, ++ 129, 89, 305, 203, 205, 87, 207, 208, 130, 131, ++ 102, 132, 206, 2, 3, 4, 5, 6, 7, 8, ++ 9, 210, 211, 212, 213, 224, 90, 134, 210, 211, ++ 212, 213, 38, 297, 135, 137, 178, 300, 292, 200, ++ 215, 201, 89, 216, 234, 235, 87, 2, 3, 4, ++ 5, 6, 7, 8, 9, 17, 18, 19, 20, 21, ++ 22, 23, 24, 256, 2, 3, 4, 5, 6, 7, ++ 8, 9, 185, 261, 262, 263, 264, 251, 265, 266, ++ 252, 267, 268, 138, 139, 54, 140, -124, 141, 142, ++ 143, 144, -179, 61, 145, 270, 146, 278, 274, 273, ++ 295, 280, 147, 148, 210, 211, 212, 213, 149, 275, ++ 171, 258, 279, 281, 290, 150, 151, 95, 98, 152, ++ 69, 153, 284, 71, 138, 139, 54, 140, 285, 141, ++ 142, 143, 144, 287, 61, 145, 296, 146, 18, 19, ++ 20, 21, 22, 147, 148, 298, 299, 289, 238, 149, ++ 210, 211, 212, 213, 311, 308, 150, 151, 95, 98, ++ 152, 69, 153, 314, 71, 138, 139, 54, 140, 315, ++ 141, 142, 143, 144, 321, 61, 145, 322, 146, 329, ++ 328, 332, 13, 27, 147, 148, 276, 165, 277, 81, ++ 149, 255, 310, 333, 330, 286, 85, 150, 151, 95, ++ 98, 152, 69, 153, 302, 71, 138, 139, 54, 140, ++ 303, 141, 142, 191, 144, 288, 192, 145, 193, 63, ++ 64, 65, 66, 269, 304, 306, 31, 283, 0, 0, ++ 254, 0, 0, 0, 0, 0, 0, 0, 68, 0, ++ 0, 0, 0, 69, 0, 0, 71, 138, 139, 54, ++ 140, 0, 141, 142, 191, 144, 0, 192, 145, 193, ++ 63, 64, 65, 66, 138, 139, 54, 140, 0, 141, ++ 142, 143, 144, 291, 61, 145, 0, 146, 0, 68, ++ 0, 0, 0, 0, 69, 0, 0, 71, 309, 0, ++ 0, 0, 138, 139, 54, 140, 68, 141, 142, 143, ++ 144, 69, 61, 145, 71, 146, 0, 138, 139, 54, ++ 140, 0, 141, 142, 143, 144, 0, 61, 145, 171, ++ 146, 0, 0, 0, 172, 0, 0, 0, 0, 69, ++ 0, 218, 71, 0, 0, 138, 139, 54, 140, 68, ++ 141, 142, 143, 144, 69, 61, 145, 71, 146, 0, ++ 138, 139, 54, 140, 0, 141, 142, 143, 144, 220, ++ 61, 221, 0, 146, 0, 0, 0, 68, 0, 0, ++ 0, 0, 69, 222, 0, 71, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 98, 0, 223, 0, 0, ++ 71, 138, 139, 54, 140, 0, 141, 142, 143, 144, ++ 0, 61, 145, 0, 146, 0, 138, 139, 54, 140, ++ 0, 141, 142, 143, 144, 240, 61, 145, 0, 146, ++ 0, 0, 0, 68, 0, 0, 0, 0, 69, 0, ++ 257, 71, 0, 0, 0, 0, 0, 0, 68, 0, ++ 0, 0, 0, 69, 0, 0, 71, 138, 139, 54, ++ 140, 0, 141, 142, 143, 144, 291, 61, 145, 0, ++ 146, 138, 139, 54, 140, 0, 141, 142, 143, 144, ++ 0, 61, 145, 0, 146, 138, 139, 54, 140, 68, ++ 141, 142, 143, 144, 69, 61, 145, 71, 146, 0, ++ 0, 0, 0, 68, 0, 0, 0, 0, 69, 0, ++ 0, 71, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 69, 0, 0, 71 ++}; ++ ++static const yytype_int16 yycheck[] = ++{ ++ 47, 53, 128, 184, 51, 41, 0, 55, 38, 53, ++ 58, 58, 47, 57, 52, 59, 47, 41, 52, 55, ++ 47, 68, 58, 53, 54, 59, 60, 45, 62, 47, ++ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, ++ 29, 28, 29, 42, 31, 32, 33, 34, 35, 48, ++ 52, 53, 86, 29, 49, 41, 12, 13, 14, 15, ++ 16, 53, 54, 50, 53, 41, 55, 111, 55, 56, ++ 56, 58, 119, 123, 41, 122, 123, 53, 125, 55, ++ 130, 49, 42, 130, 131, 132, 42, 137, 48, 116, ++ 137, 122, 123, 52, 125, 122, 123, 132, 125, 130, ++ 43, 132, 45, 130, 47, 132, 137, 52, 289, 41, ++ 137, 53, 42, 45, 48, 49, 147, 148, 48, 150, ++ 151, 168, 169, 55, 52, 172, 58, 171, 37, 38, ++ 39, 40, 25, 168, 169, 56, 183, 168, 169, 42, ++ 49, 168, 169, 56, 171, 48, 36, 42, 183, 196, ++ 39, 40, 183, 48, 42, 202, 183, 191, 42, 193, ++ 48, 196, 42, 36, 48, 196, 42, 202, 48, 196, ++ 49, 202, 48, 42, 36, 202, 0, 41, 222, 48, ++ 37, 38, 39, 40, 37, 41, 233, 37, 38, 39, ++ 40, 317, 49, 41, 37, 38, 39, 40, 115, 49, ++ 117, 248, 233, 46, 121, 252, 233, 124, 42, 46, ++ 127, 48, 129, 32, 48, 34, 36, 252, 36, 41, ++ 36, 252, 274, 147, 148, 252, 150, 151, 41, 41, ++ 274, 41, 149, 57, 58, 59, 60, 61, 62, 63, ++ 64, 37, 38, 39, 40, 272, 293, 49, 37, 38, ++ 39, 40, 42, 49, 53, 41, 56, 46, 293, 36, ++ 36, 49, 293, 45, 36, 49, 293, 57, 58, 59, ++ 60, 61, 62, 63, 64, 4, 5, 6, 7, 8, ++ 9, 10, 11, 200, 57, 58, 59, 60, 61, 62, ++ 63, 64, 45, 210, 211, 212, 213, 36, 215, 216, ++ 41, 49, 49, 18, 19, 20, 21, 43, 23, 24, ++ 25, 26, 43, 28, 29, 43, 31, 234, 48, 46, ++ 41, 238, 37, 38, 37, 38, 39, 40, 43, 49, ++ 45, 44, 49, 49, 251, 50, 51, 52, 53, 54, ++ 55, 56, 48, 58, 18, 19, 20, 21, 49, 23, ++ 24, 25, 26, 49, 28, 29, 49, 31, 5, 6, ++ 7, 8, 9, 37, 38, 49, 44, 41, 48, 43, ++ 37, 38, 39, 40, 56, 41, 50, 51, 52, 53, ++ 54, 55, 56, 44, 58, 18, 19, 20, 21, 46, ++ 23, 24, 25, 26, 49, 28, 29, 36, 31, 49, ++ 56, 49, 0, 14, 37, 38, 233, 119, 234, 47, ++ 43, 196, 293, 327, 324, 248, 47, 50, 51, 52, ++ 53, 54, 55, 56, 270, 58, 18, 19, 20, 21, ++ 272, 23, 24, 25, 26, 250, 28, 29, 30, 31, ++ 32, 33, 34, 222, 274, 284, 26, 242, -1, -1, ++ 42, -1, -1, -1, -1, -1, -1, -1, 50, -1, ++ -1, -1, -1, 55, -1, -1, 58, 18, 19, 20, ++ 21, -1, 23, 24, 25, 26, -1, 28, 29, 30, ++ 31, 32, 33, 34, 18, 19, 20, 21, -1, 23, ++ 24, 25, 26, 27, 28, 29, -1, 31, -1, 50, ++ -1, -1, -1, -1, 55, -1, -1, 58, 42, -1, ++ -1, -1, 18, 19, 20, 21, 50, 23, 24, 25, ++ 26, 55, 28, 29, 58, 31, -1, 18, 19, 20, ++ 21, -1, 23, 24, 25, 26, -1, 28, 29, 45, ++ 31, -1, -1, -1, 50, -1, -1, -1, -1, 55, ++ -1, 42, 58, -1, -1, 18, 19, 20, 21, 50, ++ 23, 24, 25, 26, 55, 28, 29, 58, 31, -1, ++ 18, 19, 20, 21, -1, 23, 24, 25, 26, 42, ++ 28, 29, -1, 31, -1, -1, -1, 50, -1, -1, ++ -1, -1, 55, 41, -1, 58, -1, -1, -1, -1, ++ -1, -1, -1, -1, -1, 53, -1, 55, -1, -1, ++ 58, 18, 19, 20, 21, -1, 23, 24, 25, 26, ++ -1, 28, 29, -1, 31, -1, 18, 19, 20, 21, ++ -1, 23, 24, 25, 26, 42, 28, 29, -1, 31, ++ -1, -1, -1, 50, -1, -1, -1, -1, 55, -1, ++ 42, 58, -1, -1, -1, -1, -1, -1, 50, -1, ++ -1, -1, -1, 55, -1, -1, 58, 18, 19, 20, ++ 21, -1, 23, 24, 25, 26, 27, 28, 29, -1, ++ 31, 18, 19, 20, 21, -1, 23, 24, 25, 26, ++ -1, 28, 29, -1, 31, 18, 19, 20, 21, 50, ++ 23, 24, 25, 26, 55, 28, 29, 58, 31, -1, ++ -1, -1, -1, 50, -1, -1, -1, -1, 55, -1, ++ -1, 58, -1, -1, -1, -1, -1, -1, -1, -1, ++ -1, -1, 55, -1, -1, 58 ++}; ++ ++ /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing ++ symbol of state STATE-NUM. */ ++static const yytype_uint8 yystos[] = ++{ ++ 0, 0, 57, 58, 59, 60, 61, 62, 63, 64, ++ 66, 67, 70, 72, 73, 74, 0, 4, 5, 6, ++ 7, 8, 9, 10, 11, 68, 71, 74, 52, 135, ++ 136, 135, 41, 41, 69, 70, 72, 75, 42, 70, ++ 12, 13, 14, 15, 16, 42, 76, 114, 115, 49, ++ 49, 17, 18, 19, 20, 21, 22, 23, 24, 25, ++ 26, 28, 29, 31, 32, 33, 34, 35, 50, 55, ++ 56, 58, 77, 78, 79, 80, 83, 86, 87, 91, ++ 92, 93, 94, 95, 96, 110, 111, 112, 113, 122, ++ 133, 52, 81, 82, 133, 52, 134, 29, 53, 55, ++ 84, 127, 131, 56, 56, 131, 133, 131, 134, 134, ++ 134, 25, 133, 36, 134, 45, 47, 36, 49, 48, ++ 49, 36, 41, 41, 37, 41, 36, 36, 41, 36, ++ 41, 41, 41, 131, 49, 53, 132, 41, 18, 19, ++ 21, 23, 24, 25, 26, 29, 31, 37, 38, 43, ++ 50, 51, 54, 56, 112, 118, 119, 122, 123, 130, ++ 131, 133, 134, 112, 118, 82, 118, 77, 85, 85, ++ 118, 45, 50, 88, 89, 90, 122, 133, 56, 118, ++ 117, 118, 118, 85, 41, 45, 106, 107, 108, 109, ++ 133, 25, 28, 30, 77, 93, 97, 98, 103, 110, ++ 36, 49, 85, 119, 122, 119, 118, 119, 119, 43, ++ 37, 38, 39, 40, 46, 36, 45, 49, 42, 77, ++ 42, 29, 41, 55, 112, 120, 121, 124, 125, 126, ++ 127, 133, 42, 48, 36, 49, 49, 42, 48, 49, ++ 42, 108, 38, 53, 54, 128, 129, 42, 48, 42, ++ 48, 36, 41, 134, 42, 98, 118, 42, 44, 116, ++ 117, 118, 118, 118, 118, 118, 118, 49, 49, 125, ++ 43, 46, 48, 46, 48, 49, 89, 90, 118, 49, ++ 118, 49, 42, 129, 48, 49, 107, 49, 109, 41, ++ 118, 27, 77, 99, 100, 41, 49, 49, 49, 44, ++ 46, 42, 116, 121, 126, 127, 128, 108, 41, 42, ++ 100, 56, 104, 105, 44, 46, 42, 41, 56, 101, ++ 102, 49, 36, 42, 48, 117, 42, 48, 56, 49, ++ 105, 42, 49, 102 ++}; ++ ++ /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ ++static const yytype_uint8 yyr1[] = ++{ ++ 0, 65, 66, 66, 66, 67, 68, 68, 68, 69, ++ 69, 70, 71, 71, 71, 71, 71, 72, 72, 73, ++ 73, 74, 74, 74, 74, 74, 74, 74, 74, 75, ++ 75, 76, 76, 76, 76, 76, 76, 76, 76, 76, ++ 76, 76, 76, 76, 76, 76, 77, 77, 77, 78, ++ 79, 80, 81, 81, 82, 82, 83, 84, 84, 85, ++ 85, 86, 87, 88, 88, 88, 89, 89, 89, 89, ++ 89, 90, 90, 91, 92, 93, 94, 94, 95, 95, ++ 96, 97, 97, 98, 98, 98, 98, 98, 99, 99, ++ 100, 100, 101, 101, 102, 102, 103, 104, 104, 105, ++ 106, 106, 107, 107, 107, 108, 108, 109, 110, 111, ++ 111, 111, 111, 112, 112, 113, 113, 113, 113, 113, ++ 113, 113, 113, 113, 113, 113, 114, 114, 115, 115, ++ 115, 115, 115, 116, 116, 117, 117, 118, 118, 118, ++ 118, 118, 118, 119, 119, 119, 119, 119, 119, 119, ++ 119, 120, 120, 121, 122, 122, 122, 122, 123, 123, ++ 123, 123, 124, 124, 125, 125, 125, 125, 126, 127, ++ 127, 127, 128, 128, 129, 129, 130, 131, 132, 133, ++ 133, 134, 135, 135, 136 ++}; ++ ++ /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ ++static const yytype_uint8 yyr2[] = ++{ ++ 0, 2, 1, 1, 1, 7, 1, 1, 1, 2, ++ 1, 7, 1, 1, 1, 1, 1, 1, 0, 2, ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, ++ 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 2, 2, 2, 2, 2, 4, 2, 3, 4, ++ 5, 3, 3, 1, 1, 3, 6, 3, 1, 2, ++ 1, 6, 6, 3, 1, 0, 3, 3, 1, 2, ++ 1, 3, 3, 5, 6, 6, 5, 6, 6, 6, ++ 6, 2, 1, 5, 1, 1, 1, 1, 2, 1, ++ 5, 1, 3, 1, 1, 3, 6, 3, 1, 3, ++ 3, 1, 3, 5, 3, 3, 1, 5, 6, 1, ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ++ 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, ++ 1, 1, 1, 1, 0, 3, 1, 3, 3, 3, ++ 3, 3, 1, 2, 2, 2, 2, 1, 4, 1, ++ 3, 3, 1, 4, 1, 3, 4, 6, 1, 1, ++ 1, 1, 1, 0, 3, 3, 1, 1, 3, 1, ++ 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, ++ 1, 1, 1, 0, 1 ++}; ++ ++ ++#define yyerrok (yyerrstatus = 0) ++#define yyclearin (yychar = YYEMPTY) ++#define YYEMPTY (-2) ++#define YYEOF 0 ++ ++#define YYACCEPT goto yyacceptlab ++#define YYABORT goto yyabortlab ++#define YYERROR goto yyerrorlab ++ ++ ++#define YYRECOVERING() (!!yyerrstatus) ++ ++#define YYBACKUP(Token, Value) \ ++do \ ++ if (yychar == YYEMPTY) \ ++ { \ ++ yychar = (Token); \ ++ yylval = (Value); \ ++ YYPOPSTACK (yylen); \ ++ yystate = *yyssp; \ ++ goto yybackup; \ ++ } \ ++ else \ ++ { \ ++ yyerror (param, YY_("syntax error: cannot back up")); \ ++ YYERROR; \ ++ } \ ++while (0) ++ ++/* Error token number */ ++#define YYTERROR 1 ++#define YYERRCODE 256 ++ ++ ++ ++/* Enable debugging if requested. */ ++#if YYDEBUG ++ ++# ifndef YYFPRINTF ++# include /* INFRINGES ON USER NAME SPACE */ ++# define YYFPRINTF fprintf ++# endif ++ ++# define YYDPRINTF(Args) \ ++do { \ ++ if (yydebug) \ ++ YYFPRINTF Args; \ ++} while (0) ++ ++/* This macro is provided for backward compatibility. */ ++#ifndef YY_LOCATION_PRINT ++# define YY_LOCATION_PRINT(File, Loc) ((void) 0) ++#endif ++ ++ ++# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ ++do { \ ++ if (yydebug) \ ++ { \ ++ YYFPRINTF (stderr, "%s ", Title); \ ++ yy_symbol_print (stderr, \ ++ Type, Value, param); \ ++ YYFPRINTF (stderr, "\n"); \ ++ } \ ++} while (0) ++ ++ ++/*----------------------------------------. ++| Print this symbol's value on YYOUTPUT. | ++`----------------------------------------*/ ++ ++static void ++yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, struct parser_param *param) ++{ ++ FILE *yyo = yyoutput; ++ YYUSE (yyo); ++ YYUSE (param); ++ if (!yyvaluep) ++ return; ++# ifdef YYPRINT ++ if (yytype < YYNTOKENS) ++ YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); ++# endif ++ YYUSE (yytype); ++} ++ ++ ++/*--------------------------------. ++| Print this symbol on YYOUTPUT. | ++`--------------------------------*/ ++ ++static void ++yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, struct parser_param *param) ++{ ++ YYFPRINTF (yyoutput, "%s %s (", ++ yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); ++ ++ yy_symbol_value_print (yyoutput, yytype, yyvaluep, param); ++ YYFPRINTF (yyoutput, ")"); ++} ++ ++/*------------------------------------------------------------------. ++| yy_stack_print -- Print the state stack from its BOTTOM up to its | ++| TOP (included). | ++`------------------------------------------------------------------*/ ++ ++static void ++yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) ++{ ++ YYFPRINTF (stderr, "Stack now"); ++ for (; yybottom <= yytop; yybottom++) ++ { ++ int yybot = *yybottom; ++ YYFPRINTF (stderr, " %d", yybot); ++ } ++ YYFPRINTF (stderr, "\n"); ++} ++ ++# define YY_STACK_PRINT(Bottom, Top) \ ++do { \ ++ if (yydebug) \ ++ yy_stack_print ((Bottom), (Top)); \ ++} while (0) ++ ++ ++/*------------------------------------------------. ++| Report that the YYRULE is going to be reduced. | ++`------------------------------------------------*/ ++ ++static void ++yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, struct parser_param *param) ++{ ++ unsigned long int yylno = yyrline[yyrule]; ++ int yynrhs = yyr2[yyrule]; ++ int yyi; ++ YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", ++ yyrule - 1, yylno); ++ /* The symbols being reduced. */ ++ for (yyi = 0; yyi < yynrhs; yyi++) ++ { ++ YYFPRINTF (stderr, " $%d = ", yyi + 1); ++ yy_symbol_print (stderr, ++ yystos[yyssp[yyi + 1 - yynrhs]], ++ &(yyvsp[(yyi + 1) - (yynrhs)]) ++ , param); ++ YYFPRINTF (stderr, "\n"); ++ } ++} ++ ++# define YY_REDUCE_PRINT(Rule) \ ++do { \ ++ if (yydebug) \ ++ yy_reduce_print (yyssp, yyvsp, Rule, param); \ ++} while (0) ++ ++/* Nonzero means print parse trace. It is left uninitialized so that ++ multiple parsers can coexist. */ ++int yydebug; ++#else /* !YYDEBUG */ ++# define YYDPRINTF(Args) ++# define YY_SYMBOL_PRINT(Title, Type, Value, Location) ++# define YY_STACK_PRINT(Bottom, Top) ++# define YY_REDUCE_PRINT(Rule) ++#endif /* !YYDEBUG */ ++ ++ ++/* YYINITDEPTH -- initial size of the parser's stacks. */ ++#ifndef YYINITDEPTH ++# define YYINITDEPTH 200 ++#endif ++ ++/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only ++ if the built-in stack extension method is used). ++ ++ Do not make this value too large; the results are undefined if ++ YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) ++ evaluated with infinite-precision integer arithmetic. */ ++ ++#ifndef YYMAXDEPTH ++# define YYMAXDEPTH 10000 ++#endif ++ ++ ++#if YYERROR_VERBOSE ++ ++# ifndef yystrlen ++# if defined __GLIBC__ && defined _STRING_H ++# define yystrlen strlen ++# else ++/* Return the length of YYSTR. */ ++static YYSIZE_T ++yystrlen (const char *yystr) ++{ ++ YYSIZE_T yylen; ++ for (yylen = 0; yystr[yylen]; yylen++) ++ continue; ++ return yylen; ++} ++# endif ++# endif ++ ++# ifndef yystpcpy ++# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE ++# define yystpcpy stpcpy ++# else ++/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in ++ YYDEST. */ ++static char * ++yystpcpy (char *yydest, const char *yysrc) ++{ ++ char *yyd = yydest; ++ const char *yys = yysrc; ++ ++ while ((*yyd++ = *yys++) != '\0') ++ continue; ++ ++ return yyd - 1; ++} ++# endif ++# endif ++ ++# ifndef yytnamerr ++/* Copy to YYRES the contents of YYSTR after stripping away unnecessary ++ quotes and backslashes, so that it's suitable for yyerror. The ++ heuristic is that double-quoting is unnecessary unless the string ++ contains an apostrophe, a comma, or backslash (other than ++ backslash-backslash). YYSTR is taken from yytname. If YYRES is ++ null, do not copy; instead, return the length of what the result ++ would have been. */ ++static YYSIZE_T ++yytnamerr (char *yyres, const char *yystr) ++{ ++ if (*yystr == '"') ++ { ++ YYSIZE_T yyn = 0; ++ char const *yyp = yystr; ++ ++ for (;;) ++ switch (*++yyp) ++ { ++ case '\'': ++ case ',': ++ goto do_not_strip_quotes; ++ ++ case '\\': ++ if (*++yyp != '\\') ++ goto do_not_strip_quotes; ++ /* Fall through. */ ++ default: ++ if (yyres) ++ yyres[yyn] = *yyp; ++ yyn++; ++ break; ++ ++ case '"': ++ if (yyres) ++ yyres[yyn] = '\0'; ++ return yyn; ++ } ++ do_not_strip_quotes: ; ++ } ++ ++ if (! yyres) ++ return yystrlen (yystr); ++ ++ return yystpcpy (yyres, yystr) - yyres; ++} ++# endif ++ ++/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message ++ about the unexpected token YYTOKEN for the state stack whose top is ++ YYSSP. ++ ++ Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is ++ not large enough to hold the message. In that case, also set ++ *YYMSG_ALLOC to the required number of bytes. Return 2 if the ++ required number of bytes is too large to store. */ ++static int ++yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, ++ yytype_int16 *yyssp, int yytoken) ++{ ++ YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]); ++ YYSIZE_T yysize = yysize0; ++ enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; ++ /* Internationalized format string. */ ++ const char *yyformat = YY_NULLPTR; ++ /* Arguments of yyformat. */ ++ char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; ++ /* Number of reported tokens (one for the "unexpected", one per ++ "expected"). */ ++ int yycount = 0; ++ ++ /* There are many possibilities here to consider: ++ - If this state is a consistent state with a default action, then ++ the only way this function was invoked is if the default action ++ is an error action. In that case, don't check for expected ++ tokens because there are none. ++ - The only way there can be no lookahead present (in yychar) is if ++ this state is a consistent state with a default action. Thus, ++ detecting the absence of a lookahead is sufficient to determine ++ that there is no unexpected or expected token to report. In that ++ case, just report a simple "syntax error". ++ - Don't assume there isn't a lookahead just because this state is a ++ consistent state with a default action. There might have been a ++ previous inconsistent state, consistent state with a non-default ++ action, or user semantic action that manipulated yychar. ++ - Of course, the expected token list depends on states to have ++ correct lookahead information, and it depends on the parser not ++ to perform extra reductions after fetching a lookahead from the ++ scanner and before detecting a syntax error. Thus, state merging ++ (from LALR or IELR) and default reductions corrupt the expected ++ token list. However, the list is correct for canonical LR with ++ one exception: it will still contain any token that will not be ++ accepted due to an error action in a later state. ++ */ ++ if (yytoken != YYEMPTY) ++ { ++ int yyn = yypact[*yyssp]; ++ yyarg[yycount++] = yytname[yytoken]; ++ if (!yypact_value_is_default (yyn)) ++ { ++ /* Start YYX at -YYN if negative to avoid negative indexes in ++ YYCHECK. In other words, skip the first -YYN actions for ++ this state because they are default actions. */ ++ int yyxbegin = yyn < 0 ? -yyn : 0; ++ /* Stay within bounds of both yycheck and yytname. */ ++ int yychecklim = YYLAST - yyn + 1; ++ int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; ++ int yyx; ++ ++ for (yyx = yyxbegin; yyx < yyxend; ++yyx) ++ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR ++ && !yytable_value_is_error (yytable[yyx + yyn])) ++ { ++ if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) ++ { ++ yycount = 1; ++ yysize = yysize0; ++ break; ++ } ++ yyarg[yycount++] = yytname[yyx]; ++ { ++ YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); ++ if (! (yysize <= yysize1 ++ && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) ++ return 2; ++ yysize = yysize1; ++ } ++ } ++ } ++ } ++ ++ switch (yycount) ++ { ++# define YYCASE_(N, S) \ ++ case N: \ ++ yyformat = S; \ ++ break ++ YYCASE_(0, YY_("syntax error")); ++ YYCASE_(1, YY_("syntax error, unexpected %s")); ++ YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); ++ YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); ++ YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); ++ YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); ++# undef YYCASE_ ++ } ++ ++ { ++ YYSIZE_T yysize1 = yysize + yystrlen (yyformat); ++ if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) ++ return 2; ++ yysize = yysize1; ++ } ++ ++ if (*yymsg_alloc < yysize) ++ { ++ *yymsg_alloc = 2 * yysize; ++ if (! (yysize <= *yymsg_alloc ++ && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) ++ *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; ++ return 1; ++ } ++ ++ /* Avoid sprintf, as that infringes on the user's name space. ++ Don't have undefined behavior even if the translation ++ produced a string with the wrong number of "%s"s. */ ++ { ++ char *yyp = *yymsg; ++ int yyi = 0; ++ while ((*yyp = *yyformat) != '\0') ++ if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) ++ { ++ yyp += yytnamerr (yyp, yyarg[yyi++]); ++ yyformat += 2; ++ } ++ else ++ { ++ yyp++; ++ yyformat++; ++ } ++ } ++ return 0; ++} ++#endif /* YYERROR_VERBOSE */ ++ ++/*-----------------------------------------------. ++| Release the memory associated to this symbol. | ++`-----------------------------------------------*/ ++ ++static void ++yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, struct parser_param *param) ++{ ++ YYUSE (yyvaluep); ++ YYUSE (param); ++ if (!yymsg) ++ yymsg = "Deleting"; ++ YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); ++ ++ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN ++ switch (yytype) ++ { ++ case 52: /* STRING */ ++#line 225 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { free(((*yyvaluep).str)); } ++#line 1493 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 55: /* IDENT */ ++#line 225 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { free(((*yyvaluep).str)); } ++#line 1499 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 66: /* XkbFile */ ++#line 224 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { if (!param->rtrn) FreeXkbFile(((*yyvaluep).file)); } ++#line 1505 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 67: /* XkbCompositeMap */ ++#line 224 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { if (!param->rtrn) FreeXkbFile(((*yyvaluep).file)); } ++#line 1511 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 69: /* XkbMapConfigList */ ++#line 224 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { if (!param->rtrn) FreeXkbFile(((*yyvaluep).file)); } ++#line 1517 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 70: /* XkbMapConfig */ ++#line 224 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { if (!param->rtrn) FreeXkbFile(((*yyvaluep).file)); } ++#line 1523 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 75: /* DeclList */ ++#line 219 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { FreeStmt((ParseCommon *) ((*yyvaluep).any)); } ++#line 1529 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 76: /* Decl */ ++#line 219 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { FreeStmt((ParseCommon *) ((*yyvaluep).any)); } ++#line 1535 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 77: /* VarDecl */ ++#line 219 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { FreeStmt((ParseCommon *) ((*yyvaluep).var)); } ++#line 1541 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 78: /* KeyNameDecl */ ++#line 219 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { FreeStmt((ParseCommon *) ((*yyvaluep).keyCode)); } ++#line 1547 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 79: /* KeyAliasDecl */ ++#line 219 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { FreeStmt((ParseCommon *) ((*yyvaluep).keyAlias)); } ++#line 1553 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 80: /* VModDecl */ ++#line 219 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { FreeStmt((ParseCommon *) ((*yyvaluep).vmod)); } ++#line 1559 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 81: /* VModDefList */ ++#line 219 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { FreeStmt((ParseCommon *) ((*yyvaluep).vmod)); } ++#line 1565 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 82: /* VModDef */ ++#line 219 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { FreeStmt((ParseCommon *) ((*yyvaluep).vmod)); } ++#line 1571 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 83: /* InterpretDecl */ ++#line 219 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { FreeStmt((ParseCommon *) ((*yyvaluep).interp)); } ++#line 1577 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 84: /* InterpretMatch */ ++#line 219 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { FreeStmt((ParseCommon *) ((*yyvaluep).interp)); } ++#line 1583 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 85: /* VarDeclList */ ++#line 219 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { FreeStmt((ParseCommon *) ((*yyvaluep).var)); } ++#line 1589 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 86: /* KeyTypeDecl */ ++#line 219 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { FreeStmt((ParseCommon *) ((*yyvaluep).keyType)); } ++#line 1595 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 87: /* SymbolsDecl */ ++#line 219 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { FreeStmt((ParseCommon *) ((*yyvaluep).syms)); } ++#line 1601 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 88: /* SymbolsBody */ ++#line 219 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { FreeStmt((ParseCommon *) ((*yyvaluep).var)); } ++#line 1607 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 89: /* SymbolsVarDecl */ ++#line 219 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { FreeStmt((ParseCommon *) ((*yyvaluep).var)); } ++#line 1613 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 90: /* ArrayInit */ ++#line 219 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { FreeStmt((ParseCommon *) ((*yyvaluep).expr)); } ++#line 1619 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 91: /* GroupCompatDecl */ ++#line 219 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { FreeStmt((ParseCommon *) ((*yyvaluep).groupCompat)); } ++#line 1625 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 92: /* ModMapDecl */ ++#line 219 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { FreeStmt((ParseCommon *) ((*yyvaluep).modMask)); } ++#line 1631 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 93: /* LedMapDecl */ ++#line 219 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { FreeStmt((ParseCommon *) ((*yyvaluep).ledMap)); } ++#line 1637 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 94: /* LedNameDecl */ ++#line 219 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { FreeStmt((ParseCommon *) ((*yyvaluep).ledName)); } ++#line 1643 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 108: /* CoordList */ ++#line 219 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { FreeStmt((ParseCommon *) ((*yyvaluep).expr)); } ++#line 1649 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 109: /* Coord */ ++#line 219 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { FreeStmt((ParseCommon *) ((*yyvaluep).expr)); } ++#line 1655 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 116: /* OptExprList */ ++#line 219 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { FreeStmt((ParseCommon *) ((*yyvaluep).expr)); } ++#line 1661 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 117: /* ExprList */ ++#line 219 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { FreeStmt((ParseCommon *) ((*yyvaluep).expr)); } ++#line 1667 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 118: /* Expr */ ++#line 219 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { FreeStmt((ParseCommon *) ((*yyvaluep).expr)); } ++#line 1673 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 119: /* Term */ ++#line 219 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { FreeStmt((ParseCommon *) ((*yyvaluep).expr)); } ++#line 1679 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 120: /* ActionList */ ++#line 219 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { FreeStmt((ParseCommon *) ((*yyvaluep).expr)); } ++#line 1685 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 121: /* Action */ ++#line 219 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { FreeStmt((ParseCommon *) ((*yyvaluep).expr)); } ++#line 1691 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 122: /* Lhs */ ++#line 219 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { FreeStmt((ParseCommon *) ((*yyvaluep).expr)); } ++#line 1697 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 123: /* Terminal */ ++#line 219 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { FreeStmt((ParseCommon *) ((*yyvaluep).expr)); } ++#line 1703 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 124: /* OptKeySymList */ ++#line 219 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { FreeStmt((ParseCommon *) ((*yyvaluep).expr)); } ++#line 1709 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 125: /* KeySymList */ ++#line 219 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { FreeStmt((ParseCommon *) ((*yyvaluep).expr)); } ++#line 1715 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 126: /* KeySyms */ ++#line 219 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { FreeStmt((ParseCommon *) ((*yyvaluep).expr)); } ++#line 1721 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 135: /* OptMapName */ ++#line 225 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { free(((*yyvaluep).str)); } ++#line 1727 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ case 136: /* MapName */ ++#line 225 "src/xkbcomp/parser.y" /* yacc.c:1257 */ ++ { free(((*yyvaluep).str)); } ++#line 1733 "src/xkbcomp/parser.c" /* yacc.c:1257 */ ++ break; ++ ++ ++ default: ++ break; ++ } ++ YY_IGNORE_MAYBE_UNINITIALIZED_END ++} ++ ++ ++ ++ ++/*----------. ++| yyparse. | ++`----------*/ ++ ++int ++yyparse (struct parser_param *param) ++{ ++/* The lookahead symbol. */ ++int yychar; ++ ++ ++/* The semantic value of the lookahead symbol. */ ++/* Default value used for initialization, for pacifying older GCCs ++ or non-GCC compilers. */ ++YY_INITIAL_VALUE (static YYSTYPE yyval_default;) ++YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); ++ ++ /* Number of syntax errors so far. */ ++ int yynerrs; ++ ++ int yystate; ++ /* Number of tokens to shift before error messages enabled. */ ++ int yyerrstatus; ++ ++ /* The stacks and their tools: ++ 'yyss': related to states. ++ 'yyvs': related to semantic values. ++ ++ Refer to the stacks through separate pointers, to allow yyoverflow ++ to reallocate them elsewhere. */ ++ ++ /* The state stack. */ ++ yytype_int16 yyssa[YYINITDEPTH]; ++ yytype_int16 *yyss; ++ yytype_int16 *yyssp; ++ ++ /* The semantic value stack. */ ++ YYSTYPE yyvsa[YYINITDEPTH]; ++ YYSTYPE *yyvs; ++ YYSTYPE *yyvsp; ++ ++ YYSIZE_T yystacksize; ++ ++ int yyn; ++ int yyresult; ++ /* Lookahead token as an internal (translated) token number. */ ++ int yytoken = 0; ++ /* The variables used to return semantic value and location from the ++ action routines. */ ++ YYSTYPE yyval; ++ ++#if YYERROR_VERBOSE ++ /* Buffer for error messages, and its allocated size. */ ++ char yymsgbuf[128]; ++ char *yymsg = yymsgbuf; ++ YYSIZE_T yymsg_alloc = sizeof yymsgbuf; ++#endif ++ ++#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) ++ ++ /* The number of symbols on the RHS of the reduced rule. ++ Keep to zero when no symbol should be popped. */ ++ int yylen = 0; ++ ++ yyssp = yyss = yyssa; ++ yyvsp = yyvs = yyvsa; ++ yystacksize = YYINITDEPTH; ++ ++ YYDPRINTF ((stderr, "Starting parse\n")); ++ ++ yystate = 0; ++ yyerrstatus = 0; ++ yynerrs = 0; ++ yychar = YYEMPTY; /* Cause a token to be read. */ ++ goto yysetstate; ++ ++/*------------------------------------------------------------. ++| yynewstate -- Push a new state, which is found in yystate. | ++`------------------------------------------------------------*/ ++ yynewstate: ++ /* In all cases, when you get here, the value and location stacks ++ have just been pushed. So pushing a state here evens the stacks. */ ++ yyssp++; ++ ++ yysetstate: ++ *yyssp = yystate; ++ ++ if (yyss + yystacksize - 1 <= yyssp) ++ { ++ /* Get the current used size of the three stacks, in elements. */ ++ YYSIZE_T yysize = yyssp - yyss + 1; ++ ++#ifdef yyoverflow ++ { ++ /* Give user a chance to reallocate the stack. Use copies of ++ these so that the &'s don't force the real ones into ++ memory. */ ++ YYSTYPE *yyvs1 = yyvs; ++ yytype_int16 *yyss1 = yyss; ++ ++ /* Each stack pointer address is followed by the size of the ++ data in use in that stack, in bytes. This used to be a ++ conditional around just the two extra args, but that might ++ be undefined if yyoverflow is a macro. */ ++ yyoverflow (YY_("memory exhausted"), ++ &yyss1, yysize * sizeof (*yyssp), ++ &yyvs1, yysize * sizeof (*yyvsp), ++ &yystacksize); ++ ++ yyss = yyss1; ++ yyvs = yyvs1; ++ } ++#else /* no yyoverflow */ ++# ifndef YYSTACK_RELOCATE ++ goto yyexhaustedlab; ++# else ++ /* Extend the stack our own way. */ ++ if (YYMAXDEPTH <= yystacksize) ++ goto yyexhaustedlab; ++ yystacksize *= 2; ++ if (YYMAXDEPTH < yystacksize) ++ yystacksize = YYMAXDEPTH; ++ ++ { ++ yytype_int16 *yyss1 = yyss; ++ union yyalloc *yyptr = ++ (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); ++ if (! yyptr) ++ goto yyexhaustedlab; ++ YYSTACK_RELOCATE (yyss_alloc, yyss); ++ YYSTACK_RELOCATE (yyvs_alloc, yyvs); ++# undef YYSTACK_RELOCATE ++ if (yyss1 != yyssa) ++ YYSTACK_FREE (yyss1); ++ } ++# endif ++#endif /* no yyoverflow */ ++ ++ yyssp = yyss + yysize - 1; ++ yyvsp = yyvs + yysize - 1; ++ ++ YYDPRINTF ((stderr, "Stack size increased to %lu\n", ++ (unsigned long int) yystacksize)); ++ ++ if (yyss + yystacksize - 1 <= yyssp) ++ YYABORT; ++ } ++ ++ YYDPRINTF ((stderr, "Entering state %d\n", yystate)); ++ ++ if (yystate == YYFINAL) ++ YYACCEPT; ++ ++ goto yybackup; ++ ++/*-----------. ++| yybackup. | ++`-----------*/ ++yybackup: ++ ++ /* Do appropriate processing given the current state. Read a ++ lookahead token if we need one and don't already have one. */ ++ ++ /* First try to decide what to do without reference to lookahead token. */ ++ yyn = yypact[yystate]; ++ if (yypact_value_is_default (yyn)) ++ goto yydefault; ++ ++ /* Not known => get a lookahead token if don't already have one. */ ++ ++ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ ++ if (yychar == YYEMPTY) ++ { ++ YYDPRINTF ((stderr, "Reading a token: ")); ++ yychar = yylex (&yylval, param_scanner); ++ } ++ ++ if (yychar <= YYEOF) ++ { ++ yychar = yytoken = YYEOF; ++ YYDPRINTF ((stderr, "Now at end of input.\n")); ++ } ++ else ++ { ++ yytoken = YYTRANSLATE (yychar); ++ YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); ++ } ++ ++ /* If the proper action on seeing token YYTOKEN is to reduce or to ++ detect an error, take that action. */ ++ yyn += yytoken; ++ if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) ++ goto yydefault; ++ yyn = yytable[yyn]; ++ if (yyn <= 0) ++ { ++ if (yytable_value_is_error (yyn)) ++ goto yyerrlab; ++ yyn = -yyn; ++ goto yyreduce; ++ } ++ ++ /* Count tokens shifted since error; after three, turn off error ++ status. */ ++ if (yyerrstatus) ++ yyerrstatus--; ++ ++ /* Shift the lookahead token. */ ++ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); ++ ++ /* Discard the shifted token. */ ++ yychar = YYEMPTY; ++ ++ yystate = yyn; ++ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN ++ *++yyvsp = yylval; ++ YY_IGNORE_MAYBE_UNINITIALIZED_END ++ ++ goto yynewstate; ++ ++ ++/*-----------------------------------------------------------. ++| yydefault -- do the default action for the current state. | ++`-----------------------------------------------------------*/ ++yydefault: ++ yyn = yydefact[yystate]; ++ if (yyn == 0) ++ goto yyerrlab; ++ goto yyreduce; ++ ++ ++/*-----------------------------. ++| yyreduce -- Do a reduction. | ++`-----------------------------*/ ++yyreduce: ++ /* yyn is the number of a rule to reduce with. */ ++ yylen = yyr2[yyn]; ++ ++ /* If YYLEN is nonzero, implement the default value of the action: ++ '$$ = $1'. ++ ++ Otherwise, the following line sets YYVAL to garbage. ++ This behavior is undocumented and Bison ++ users should not rely upon it. Assigning to YYVAL ++ unconditionally makes the parser a bit smaller, and it avoids a ++ GCC warning that YYVAL may be used uninitialized. */ ++ yyval = yyvsp[1-yylen]; ++ ++ ++ YY_REDUCE_PRINT (yyn); ++ switch (yyn) ++ { ++ case 2: ++#line 242 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.file) = param->rtrn = (yyvsp[0].file); param->more_maps = true; } ++#line 2001 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 3: ++#line 244 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.file) = param->rtrn = (yyvsp[0].file); param->more_maps = true; YYACCEPT; } ++#line 2007 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 4: ++#line 246 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.file) = param->rtrn = NULL; param->more_maps = false; } ++#line 2013 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 5: ++#line 252 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.file) = XkbFileCreate((yyvsp[-5].file_type), (yyvsp[-4].str), (ParseCommon *) (yyvsp[-2].file), (yyvsp[-6].mapFlags)); } ++#line 2019 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 6: ++#line 255 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.file_type) = FILE_TYPE_KEYMAP; } ++#line 2025 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 7: ++#line 256 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.file_type) = FILE_TYPE_KEYMAP; } ++#line 2031 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 8: ++#line 257 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.file_type) = FILE_TYPE_KEYMAP; } ++#line 2037 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 9: ++#line 261 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { ++ if (!(yyvsp[0].file)) ++ (yyval.file) = (yyvsp[-1].file); ++ else ++ (yyval.file) = (XkbFile *) AppendStmt((ParseCommon *) (yyvsp[-1].file), ++ (ParseCommon *) (yyvsp[0].file)); ++ } ++#line 2049 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 10: ++#line 269 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.file) = (yyvsp[0].file); } ++#line 2055 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 11: ++#line 275 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { ++ if ((yyvsp[-5].file_type) == FILE_TYPE_GEOMETRY) { ++ free((yyvsp[-4].str)); ++ FreeStmt((yyvsp[-2].any)); ++ (yyval.file) = NULL; ++ } ++ else { ++ (yyval.file) = XkbFileCreate((yyvsp[-5].file_type), (yyvsp[-4].str), (yyvsp[-2].any), (yyvsp[-6].mapFlags)); ++ } ++ } ++#line 2070 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 12: ++#line 287 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.file_type) = FILE_TYPE_KEYCODES; } ++#line 2076 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 13: ++#line 288 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.file_type) = FILE_TYPE_TYPES; } ++#line 2082 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 14: ++#line 289 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.file_type) = FILE_TYPE_COMPAT; } ++#line 2088 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 15: ++#line 290 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.file_type) = FILE_TYPE_SYMBOLS; } ++#line 2094 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 16: ++#line 291 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.file_type) = FILE_TYPE_GEOMETRY; } ++#line 2100 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 17: ++#line 294 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.mapFlags) = (yyvsp[0].mapFlags); } ++#line 2106 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 18: ++#line 295 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.mapFlags) = 0; } ++#line 2112 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 19: ++#line 298 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.mapFlags) = ((yyvsp[-1].mapFlags) | (yyvsp[0].mapFlags)); } ++#line 2118 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 20: ++#line 299 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.mapFlags) = (yyvsp[0].mapFlags); } ++#line 2124 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 21: ++#line 302 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.mapFlags) = MAP_IS_PARTIAL; } ++#line 2130 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 22: ++#line 303 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.mapFlags) = MAP_IS_DEFAULT; } ++#line 2136 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 23: ++#line 304 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.mapFlags) = MAP_IS_HIDDEN; } ++#line 2142 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 24: ++#line 305 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.mapFlags) = MAP_HAS_ALPHANUMERIC; } ++#line 2148 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 25: ++#line 306 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.mapFlags) = MAP_HAS_MODIFIER; } ++#line 2154 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 26: ++#line 307 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.mapFlags) = MAP_HAS_KEYPAD; } ++#line 2160 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 27: ++#line 308 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.mapFlags) = MAP_HAS_FN; } ++#line 2166 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 28: ++#line 309 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.mapFlags) = MAP_IS_ALTGR; } ++#line 2172 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 29: ++#line 313 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.any) = AppendStmt((yyvsp[-1].any), (yyvsp[0].any)); } ++#line 2178 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 30: ++#line 314 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.any) = NULL; } ++#line 2184 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 31: ++#line 318 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { ++ (yyvsp[0].var)->merge = (yyvsp[-1].merge); ++ (yyval.any) = (ParseCommon *) (yyvsp[0].var); ++ } ++#line 2193 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 32: ++#line 323 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { ++ (yyvsp[0].vmod)->merge = (yyvsp[-1].merge); ++ (yyval.any) = (ParseCommon *) (yyvsp[0].vmod); ++ } ++#line 2202 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 33: ++#line 328 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { ++ (yyvsp[0].interp)->merge = (yyvsp[-1].merge); ++ (yyval.any) = (ParseCommon *) (yyvsp[0].interp); ++ } ++#line 2211 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 34: ++#line 333 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { ++ (yyvsp[0].keyCode)->merge = (yyvsp[-1].merge); ++ (yyval.any) = (ParseCommon *) (yyvsp[0].keyCode); ++ } ++#line 2220 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 35: ++#line 338 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { ++ (yyvsp[0].keyAlias)->merge = (yyvsp[-1].merge); ++ (yyval.any) = (ParseCommon *) (yyvsp[0].keyAlias); ++ } ++#line 2229 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 36: ++#line 343 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { ++ (yyvsp[0].keyType)->merge = (yyvsp[-1].merge); ++ (yyval.any) = (ParseCommon *) (yyvsp[0].keyType); ++ } ++#line 2238 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 37: ++#line 348 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { ++ (yyvsp[0].syms)->merge = (yyvsp[-1].merge); ++ (yyval.any) = (ParseCommon *) (yyvsp[0].syms); ++ } ++#line 2247 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 38: ++#line 353 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { ++ (yyvsp[0].modMask)->merge = (yyvsp[-1].merge); ++ (yyval.any) = (ParseCommon *) (yyvsp[0].modMask); ++ } ++#line 2256 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 39: ++#line 358 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { ++ (yyvsp[0].groupCompat)->merge = (yyvsp[-1].merge); ++ (yyval.any) = (ParseCommon *) (yyvsp[0].groupCompat); ++ } ++#line 2265 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 40: ++#line 363 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { ++ (yyvsp[0].ledMap)->merge = (yyvsp[-1].merge); ++ (yyval.any) = (ParseCommon *) (yyvsp[0].ledMap); ++ } ++#line 2274 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 41: ++#line 368 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { ++ (yyvsp[0].ledName)->merge = (yyvsp[-1].merge); ++ (yyval.any) = (ParseCommon *) (yyvsp[0].ledName); ++ } ++#line 2283 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 42: ++#line 372 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.any) = NULL; } ++#line 2289 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 43: ++#line 373 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.any) = NULL; } ++#line 2295 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 44: ++#line 374 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.any) = NULL; } ++#line 2301 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 45: ++#line 376 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { ++ (yyval.any) = (ParseCommon *) IncludeCreate(param->ctx, (yyvsp[0].str), (yyvsp[-1].merge)); ++ free((yyvsp[0].str)); ++ } ++#line 2310 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 46: ++#line 383 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.var) = VarCreate((yyvsp[-3].expr), (yyvsp[-1].expr)); } ++#line 2316 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 47: ++#line 385 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.var) = BoolVarCreate((yyvsp[-1].atom), true); } ++#line 2322 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 48: ++#line 387 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.var) = BoolVarCreate((yyvsp[-1].atom), false); } ++#line 2328 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 49: ++#line 391 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.keyCode) = KeycodeCreate((yyvsp[-3].atom), (yyvsp[-1].num)); } ++#line 2334 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 50: ++#line 395 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.keyAlias) = KeyAliasCreate((yyvsp[-3].atom), (yyvsp[-1].atom)); } ++#line 2340 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 51: ++#line 399 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.vmod) = (yyvsp[-1].vmod); } ++#line 2346 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 52: ++#line 403 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.vmod) = (VModDef *) AppendStmt((ParseCommon *) (yyvsp[-2].vmod), ++ (ParseCommon *) (yyvsp[0].vmod)); } ++#line 2353 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 53: ++#line 406 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.vmod) = (yyvsp[0].vmod); } ++#line 2359 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 54: ++#line 410 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.vmod) = VModCreate((yyvsp[0].atom), NULL); } ++#line 2365 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 55: ++#line 412 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.vmod) = VModCreate((yyvsp[-2].atom), (yyvsp[0].expr)); } ++#line 2371 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 56: ++#line 418 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyvsp[-4].interp)->def = (yyvsp[-2].var); (yyval.interp) = (yyvsp[-4].interp); } ++#line 2377 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 57: ++#line 422 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.interp) = InterpCreate((yyvsp[-2].keysym), (yyvsp[0].expr)); } ++#line 2383 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 58: ++#line 424 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.interp) = InterpCreate((yyvsp[0].keysym), NULL); } ++#line 2389 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 59: ++#line 428 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.var) = (VarDef *) AppendStmt((ParseCommon *) (yyvsp[-1].var), ++ (ParseCommon *) (yyvsp[0].var)); } ++#line 2396 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 60: ++#line 431 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.var) = (yyvsp[0].var); } ++#line 2402 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 61: ++#line 437 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.keyType) = KeyTypeCreate((yyvsp[-4].atom), (yyvsp[-2].var)); } ++#line 2408 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 62: ++#line 443 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.syms) = SymbolsCreate((yyvsp[-4].atom), (yyvsp[-2].var)); } ++#line 2414 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 63: ++#line 447 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.var) = (VarDef *) AppendStmt((ParseCommon *) (yyvsp[-2].var), ++ (ParseCommon *) (yyvsp[0].var)); } ++#line 2421 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 64: ++#line 450 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.var) = (yyvsp[0].var); } ++#line 2427 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 65: ++#line 451 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.var) = NULL; } ++#line 2433 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 66: ++#line 454 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.var) = VarCreate((yyvsp[-2].expr), (yyvsp[0].expr)); } ++#line 2439 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 67: ++#line 455 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.var) = VarCreate((yyvsp[-2].expr), (yyvsp[0].expr)); } ++#line 2445 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 68: ++#line 456 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.var) = BoolVarCreate((yyvsp[0].atom), true); } ++#line 2451 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 69: ++#line 457 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.var) = BoolVarCreate((yyvsp[0].atom), false); } ++#line 2457 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 70: ++#line 458 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.var) = VarCreate(NULL, (yyvsp[0].expr)); } ++#line 2463 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 71: ++#line 462 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.expr) = (yyvsp[-1].expr); } ++#line 2469 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 72: ++#line 464 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.expr) = ExprCreateUnary(EXPR_ACTION_LIST, EXPR_TYPE_ACTION, (yyvsp[-1].expr)); } ++#line 2475 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 73: ++#line 468 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.groupCompat) = GroupCompatCreate((yyvsp[-3].ival), (yyvsp[-1].expr)); } ++#line 2481 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 74: ++#line 472 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.modMask) = ModMapCreate((yyvsp[-4].atom), (yyvsp[-2].expr)); } ++#line 2487 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 75: ++#line 476 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.ledMap) = LedMapCreate((yyvsp[-4].atom), (yyvsp[-2].var)); } ++#line 2493 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 76: ++#line 480 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.ledName) = LedNameCreate((yyvsp[-3].ival), (yyvsp[-1].expr), false); } ++#line 2499 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 77: ++#line 482 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.ledName) = LedNameCreate((yyvsp[-3].ival), (yyvsp[-1].expr), true); } ++#line 2505 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 78: ++#line 486 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.geom) = NULL; } ++#line 2511 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 79: ++#line 488 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (void) (yyvsp[-2].expr); (yyval.geom) = NULL; } ++#line 2517 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 80: ++#line 492 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.geom) = NULL; } ++#line 2523 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 81: ++#line 495 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.geom) = NULL;} ++#line 2529 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 82: ++#line 496 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.geom) = NULL; } ++#line 2535 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 83: ++#line 500 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.geom) = NULL; } ++#line 2541 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 84: ++#line 502 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { FreeStmt((ParseCommon *) (yyvsp[0].var)); (yyval.geom) = NULL; } ++#line 2547 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 85: ++#line 504 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.geom) = NULL; } ++#line 2553 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 86: ++#line 506 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { FreeStmt((ParseCommon *) (yyvsp[0].ledMap)); (yyval.geom) = NULL; } ++#line 2559 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 87: ++#line 508 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.geom) = NULL; } ++#line 2565 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 88: ++#line 511 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.geom) = NULL;} ++#line 2571 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 89: ++#line 512 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.geom) = NULL; } ++#line 2577 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 90: ++#line 515 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.geom) = NULL; } ++#line 2583 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 91: ++#line 517 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { FreeStmt((ParseCommon *) (yyvsp[0].var)); (yyval.geom) = NULL; } ++#line 2589 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 92: ++#line 520 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.geom) = NULL; } ++#line 2595 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 93: ++#line 521 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.geom) = NULL; } ++#line 2601 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 94: ++#line 525 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.geom) = NULL; } ++#line 2607 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 95: ++#line 527 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { FreeStmt((ParseCommon *) (yyvsp[-1].expr)); (yyval.geom) = NULL; } ++#line 2613 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 96: ++#line 531 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.geom) = NULL; } ++#line 2619 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 97: ++#line 534 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.geom) = NULL; } ++#line 2625 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 98: ++#line 535 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.geom) = NULL; } ++#line 2631 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 99: ++#line 538 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.geom) = NULL; } ++#line 2637 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 100: ++#line 542 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.geom) = NULL;} ++#line 2643 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 101: ++#line 544 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.geom) = NULL; } ++#line 2649 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 102: ++#line 548 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (void) (yyvsp[-1].expr); (yyval.geom) = NULL; } ++#line 2655 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 103: ++#line 550 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (void) (yyvsp[-1].expr); (yyval.geom) = NULL; } ++#line 2661 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 104: ++#line 552 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { FreeStmt((ParseCommon *) (yyvsp[0].expr)); (yyval.geom) = NULL; } ++#line 2667 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 105: ++#line 556 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (void) (yyvsp[-2].expr); (void) (yyvsp[0].expr); (yyval.expr) = NULL; } ++#line 2673 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 106: ++#line 558 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (void) (yyvsp[0].expr); (yyval.expr) = NULL; } ++#line 2679 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 107: ++#line 562 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.expr) = NULL; } ++#line 2685 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 108: ++#line 566 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { FreeStmt((ParseCommon *) (yyvsp[-2].var)); (yyval.geom) = NULL; } ++#line 2691 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 109: ++#line 569 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.ival) = 0; } ++#line 2697 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 110: ++#line 570 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.ival) = 0; } ++#line 2703 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 111: ++#line 571 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.ival) = 0; } ++#line 2709 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 112: ++#line 572 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.ival) = 0; } ++#line 2715 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 113: ++#line 575 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.atom) = (yyvsp[0].atom); } ++#line 2721 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 114: ++#line 576 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.atom) = (yyvsp[0].atom); } ++#line 2727 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 115: ++#line 580 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.atom) = xkb_atom_intern_literal(param->ctx, "action"); } ++#line 2733 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 116: ++#line 582 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.atom) = xkb_atom_intern_literal(param->ctx, "interpret"); } ++#line 2739 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 117: ++#line 584 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.atom) = xkb_atom_intern_literal(param->ctx, "type"); } ++#line 2745 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 118: ++#line 586 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.atom) = xkb_atom_intern_literal(param->ctx, "key"); } ++#line 2751 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 119: ++#line 588 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.atom) = xkb_atom_intern_literal(param->ctx, "group"); } ++#line 2757 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 120: ++#line 590 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ {(yyval.atom) = xkb_atom_intern_literal(param->ctx, "modifier_map");} ++#line 2763 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 121: ++#line 592 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.atom) = xkb_atom_intern_literal(param->ctx, "indicator"); } ++#line 2769 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 122: ++#line 594 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.atom) = XKB_ATOM_NONE; } ++#line 2775 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 123: ++#line 596 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.atom) = XKB_ATOM_NONE; } ++#line 2781 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 124: ++#line 598 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.atom) = XKB_ATOM_NONE; } ++#line 2787 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 125: ++#line 600 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.atom) = XKB_ATOM_NONE; } ++#line 2793 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 126: ++#line 603 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.merge) = (yyvsp[0].merge); } ++#line 2799 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 127: ++#line 604 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.merge) = MERGE_DEFAULT; } ++#line 2805 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 128: ++#line 607 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.merge) = MERGE_DEFAULT; } ++#line 2811 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 129: ++#line 608 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.merge) = MERGE_AUGMENT; } ++#line 2817 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 130: ++#line 609 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.merge) = MERGE_OVERRIDE; } ++#line 2823 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 131: ++#line 610 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.merge) = MERGE_REPLACE; } ++#line 2829 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 132: ++#line 612 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { ++ /* ++ * This used to be MERGE_ALT_FORM. This functionality was ++ * unused and has been removed. ++ */ ++ (yyval.merge) = MERGE_DEFAULT; ++ } ++#line 2841 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 133: ++#line 621 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.expr) = (yyvsp[0].expr); } ++#line 2847 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 134: ++#line 622 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.expr) = NULL; } ++#line 2853 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 135: ++#line 626 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.expr) = (ExprDef *) AppendStmt((ParseCommon *) (yyvsp[-2].expr), ++ (ParseCommon *) (yyvsp[0].expr)); } ++#line 2860 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 136: ++#line 629 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.expr) = (yyvsp[0].expr); } ++#line 2866 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 137: ++#line 633 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.expr) = ExprCreateBinary(EXPR_DIVIDE, (yyvsp[-2].expr), (yyvsp[0].expr)); } ++#line 2872 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 138: ++#line 635 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.expr) = ExprCreateBinary(EXPR_ADD, (yyvsp[-2].expr), (yyvsp[0].expr)); } ++#line 2878 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 139: ++#line 637 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.expr) = ExprCreateBinary(EXPR_SUBTRACT, (yyvsp[-2].expr), (yyvsp[0].expr)); } ++#line 2884 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 140: ++#line 639 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.expr) = ExprCreateBinary(EXPR_MULTIPLY, (yyvsp[-2].expr), (yyvsp[0].expr)); } ++#line 2890 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 141: ++#line 641 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.expr) = ExprCreateBinary(EXPR_ASSIGN, (yyvsp[-2].expr), (yyvsp[0].expr)); } ++#line 2896 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 142: ++#line 643 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.expr) = (yyvsp[0].expr); } ++#line 2902 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 143: ++#line 647 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.expr) = ExprCreateUnary(EXPR_NEGATE, (yyvsp[0].expr)->expr.value_type, (yyvsp[0].expr)); } ++#line 2908 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 144: ++#line 649 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.expr) = ExprCreateUnary(EXPR_UNARY_PLUS, (yyvsp[0].expr)->expr.value_type, (yyvsp[0].expr)); } ++#line 2914 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 145: ++#line 651 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.expr) = ExprCreateUnary(EXPR_NOT, EXPR_TYPE_BOOLEAN, (yyvsp[0].expr)); } ++#line 2920 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 146: ++#line 653 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.expr) = ExprCreateUnary(EXPR_INVERT, (yyvsp[0].expr)->expr.value_type, (yyvsp[0].expr)); } ++#line 2926 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 147: ++#line 655 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.expr) = (yyvsp[0].expr); } ++#line 2932 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 148: ++#line 657 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.expr) = ExprCreateAction((yyvsp[-3].atom), (yyvsp[-1].expr)); } ++#line 2938 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 149: ++#line 659 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.expr) = (yyvsp[0].expr); } ++#line 2944 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 150: ++#line 661 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.expr) = (yyvsp[-1].expr); } ++#line 2950 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 151: ++#line 665 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.expr) = (ExprDef *) AppendStmt((ParseCommon *) (yyvsp[-2].expr), ++ (ParseCommon *) (yyvsp[0].expr)); } ++#line 2957 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 152: ++#line 668 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.expr) = (yyvsp[0].expr); } ++#line 2963 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 153: ++#line 672 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.expr) = ExprCreateAction((yyvsp[-3].atom), (yyvsp[-1].expr)); } ++#line 2969 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 154: ++#line 676 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.expr) = ExprCreateIdent((yyvsp[0].atom)); } ++#line 2975 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 155: ++#line 678 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.expr) = ExprCreateFieldRef((yyvsp[-2].atom), (yyvsp[0].atom)); } ++#line 2981 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 156: ++#line 680 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.expr) = ExprCreateArrayRef(XKB_ATOM_NONE, (yyvsp[-3].atom), (yyvsp[-1].expr)); } ++#line 2987 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 157: ++#line 682 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.expr) = ExprCreateArrayRef((yyvsp[-5].atom), (yyvsp[-3].atom), (yyvsp[-1].expr)); } ++#line 2993 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 158: ++#line 686 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.expr) = ExprCreateString((yyvsp[0].atom)); } ++#line 2999 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 159: ++#line 688 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.expr) = ExprCreateInteger((yyvsp[0].ival)); } ++#line 3005 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 160: ++#line 690 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.expr) = NULL; } ++#line 3011 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 161: ++#line 692 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.expr) = ExprCreateKeyName((yyvsp[0].atom)); } ++#line 3017 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 162: ++#line 695 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.expr) = (yyvsp[0].expr); } ++#line 3023 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 163: ++#line 696 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.expr) = NULL; } ++#line 3029 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 164: ++#line 700 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.expr) = ExprAppendKeysymList((yyvsp[-2].expr), (yyvsp[0].keysym)); } ++#line 3035 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 165: ++#line 702 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.expr) = ExprAppendMultiKeysymList((yyvsp[-2].expr), (yyvsp[0].expr)); } ++#line 3041 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 166: ++#line 704 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.expr) = ExprCreateKeysymList((yyvsp[0].keysym)); } ++#line 3047 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 167: ++#line 706 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.expr) = ExprCreateMultiKeysymList((yyvsp[0].expr)); } ++#line 3053 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 168: ++#line 710 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.expr) = (yyvsp[-1].expr); } ++#line 3059 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 169: ++#line 714 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { ++ if (!resolve_keysym((yyvsp[0].str), &(yyval.keysym))) ++ parser_warn(param, "unrecognized keysym \"%s\"", (yyvsp[0].str)); ++ free((yyvsp[0].str)); ++ } ++#line 3069 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 170: ++#line 719 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.keysym) = XKB_KEY_section; } ++#line 3075 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 171: ++#line 721 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { ++ if ((yyvsp[0].ival) < 0) { ++ parser_warn(param, "unrecognized keysym \"%d\"", (yyvsp[0].ival)); ++ (yyval.keysym) = XKB_KEY_NoSymbol; ++ } ++ else if ((yyvsp[0].ival) < 10) { /* XKB_KEY_0 .. XKB_KEY_9 */ ++ (yyval.keysym) = XKB_KEY_0 + (xkb_keysym_t) (yyvsp[0].ival); ++ } ++ else { ++ char buf[17]; ++ snprintf(buf, sizeof(buf), "0x%x", (yyvsp[0].ival)); ++ if (!resolve_keysym(buf, &(yyval.keysym))) { ++ parser_warn(param, "unrecognized keysym \"%s\"", buf); ++ (yyval.keysym) = XKB_KEY_NoSymbol; ++ } ++ } ++ } ++#line 3097 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 172: ++#line 740 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.ival) = -(yyvsp[0].ival); } ++#line 3103 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 173: ++#line 741 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.ival) = (yyvsp[0].ival); } ++#line 3109 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 174: ++#line 744 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.ival) = (yyvsp[0].num); } ++#line 3115 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 175: ++#line 745 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.ival) = (yyvsp[0].num); } ++#line 3121 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 176: ++#line 748 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.ival) = 0; } ++#line 3127 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 177: ++#line 751 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.ival) = (yyvsp[0].num); } ++#line 3133 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 178: ++#line 754 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.num) = (yyvsp[0].num); } ++#line 3139 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 179: ++#line 757 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.atom) = xkb_atom_steal(param->ctx, (yyvsp[0].str)); } ++#line 3145 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 180: ++#line 758 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.atom) = xkb_atom_intern_literal(param->ctx, "default"); } ++#line 3151 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 181: ++#line 761 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.atom) = xkb_atom_steal(param->ctx, (yyvsp[0].str)); } ++#line 3157 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 182: ++#line 764 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.str) = (yyvsp[0].str); } ++#line 3163 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 183: ++#line 765 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.str) = NULL; } ++#line 3169 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 184: ++#line 768 "src/xkbcomp/parser.y" /* yacc.c:1646 */ ++ { (yyval.str) = (yyvsp[0].str); } ++#line 3175 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ break; ++ ++ ++#line 3179 "src/xkbcomp/parser.c" /* yacc.c:1646 */ ++ default: break; ++ } ++ /* User semantic actions sometimes alter yychar, and that requires ++ that yytoken be updated with the new translation. We take the ++ approach of translating immediately before every use of yytoken. ++ One alternative is translating here after every semantic action, ++ but that translation would be missed if the semantic action invokes ++ YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or ++ if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an ++ incorrect destructor might then be invoked immediately. In the ++ case of YYERROR or YYBACKUP, subsequent parser actions might lead ++ to an incorrect destructor call or verbose syntax error message ++ before the lookahead is translated. */ ++ YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); ++ ++ YYPOPSTACK (yylen); ++ yylen = 0; ++ YY_STACK_PRINT (yyss, yyssp); ++ ++ *++yyvsp = yyval; ++ ++ /* Now 'shift' the result of the reduction. Determine what state ++ that goes to, based on the state we popped back to and the rule ++ number reduced by. */ ++ ++ yyn = yyr1[yyn]; ++ ++ yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; ++ if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) ++ yystate = yytable[yystate]; ++ else ++ yystate = yydefgoto[yyn - YYNTOKENS]; ++ ++ goto yynewstate; ++ ++ ++/*--------------------------------------. ++| yyerrlab -- here on detecting error. | ++`--------------------------------------*/ ++yyerrlab: ++ /* Make sure we have latest lookahead translation. See comments at ++ user semantic actions for why this is necessary. */ ++ yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); ++ ++ /* If not already recovering from an error, report this error. */ ++ if (!yyerrstatus) ++ { ++ ++yynerrs; ++#if ! YYERROR_VERBOSE ++ yyerror (param, YY_("syntax error")); ++#else ++# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ ++ yyssp, yytoken) ++ { ++ char const *yymsgp = YY_("syntax error"); ++ int yysyntax_error_status; ++ yysyntax_error_status = YYSYNTAX_ERROR; ++ if (yysyntax_error_status == 0) ++ yymsgp = yymsg; ++ else if (yysyntax_error_status == 1) ++ { ++ if (yymsg != yymsgbuf) ++ YYSTACK_FREE (yymsg); ++ yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc); ++ if (!yymsg) ++ { ++ yymsg = yymsgbuf; ++ yymsg_alloc = sizeof yymsgbuf; ++ yysyntax_error_status = 2; ++ } ++ else ++ { ++ yysyntax_error_status = YYSYNTAX_ERROR; ++ yymsgp = yymsg; ++ } ++ } ++ yyerror (param, yymsgp); ++ if (yysyntax_error_status == 2) ++ goto yyexhaustedlab; ++ } ++# undef YYSYNTAX_ERROR ++#endif ++ } ++ ++ ++ ++ if (yyerrstatus == 3) ++ { ++ /* If just tried and failed to reuse lookahead token after an ++ error, discard it. */ ++ ++ if (yychar <= YYEOF) ++ { ++ /* Return failure if at end of input. */ ++ if (yychar == YYEOF) ++ YYABORT; ++ } ++ else ++ { ++ yydestruct ("Error: discarding", ++ yytoken, &yylval, param); ++ yychar = YYEMPTY; ++ } ++ } ++ ++ /* Else will try to reuse lookahead token after shifting the error ++ token. */ ++ goto yyerrlab1; ++ ++ ++/*---------------------------------------------------. ++| yyerrorlab -- error raised explicitly by YYERROR. | ++`---------------------------------------------------*/ ++yyerrorlab: ++ ++ /* Pacify compilers like GCC when the user code never invokes ++ YYERROR and the label yyerrorlab therefore never appears in user ++ code. */ ++ if (/*CONSTCOND*/ 0) ++ goto yyerrorlab; ++ ++ /* Do not reclaim the symbols of the rule whose action triggered ++ this YYERROR. */ ++ YYPOPSTACK (yylen); ++ yylen = 0; ++ YY_STACK_PRINT (yyss, yyssp); ++ yystate = *yyssp; ++ goto yyerrlab1; ++ ++ ++/*-------------------------------------------------------------. ++| yyerrlab1 -- common code for both syntax error and YYERROR. | ++`-------------------------------------------------------------*/ ++yyerrlab1: ++ yyerrstatus = 3; /* Each real token shifted decrements this. */ ++ ++ for (;;) ++ { ++ yyn = yypact[yystate]; ++ if (!yypact_value_is_default (yyn)) ++ { ++ yyn += YYTERROR; ++ if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) ++ { ++ yyn = yytable[yyn]; ++ if (0 < yyn) ++ break; ++ } ++ } ++ ++ /* Pop the current state because it cannot handle the error token. */ ++ if (yyssp == yyss) ++ YYABORT; ++ ++ ++ yydestruct ("Error: popping", ++ yystos[yystate], yyvsp, param); ++ YYPOPSTACK (1); ++ yystate = *yyssp; ++ YY_STACK_PRINT (yyss, yyssp); ++ } ++ ++ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN ++ *++yyvsp = yylval; ++ YY_IGNORE_MAYBE_UNINITIALIZED_END ++ ++ ++ /* Shift the error token. */ ++ YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); ++ ++ yystate = yyn; ++ goto yynewstate; ++ ++ ++/*-------------------------------------. ++| yyacceptlab -- YYACCEPT comes here. | ++`-------------------------------------*/ ++yyacceptlab: ++ yyresult = 0; ++ goto yyreturn; ++ ++/*-----------------------------------. ++| yyabortlab -- YYABORT comes here. | ++`-----------------------------------*/ ++yyabortlab: ++ yyresult = 1; ++ goto yyreturn; ++ ++#if !defined yyoverflow || YYERROR_VERBOSE ++/*-------------------------------------------------. ++| yyexhaustedlab -- memory exhaustion comes here. | ++`-------------------------------------------------*/ ++yyexhaustedlab: ++ yyerror (param, YY_("memory exhausted")); ++ yyresult = 2; ++ /* Fall through. */ ++#endif ++ ++yyreturn: ++ if (yychar != YYEMPTY) ++ { ++ /* Make sure we have latest lookahead translation. See comments at ++ user semantic actions for why this is necessary. */ ++ yytoken = YYTRANSLATE (yychar); ++ yydestruct ("Cleanup: discarding lookahead", ++ yytoken, &yylval, param); ++ } ++ /* Do not reclaim the symbols of the rule whose action triggered ++ this YYABORT or YYACCEPT. */ ++ YYPOPSTACK (yylen); ++ YY_STACK_PRINT (yyss, yyssp); ++ while (yyssp != yyss) ++ { ++ yydestruct ("Cleanup: popping", ++ yystos[*yyssp], yyvsp, param); ++ YYPOPSTACK (1); ++ } ++#ifndef yyoverflow ++ if (yyss != yyssa) ++ YYSTACK_FREE (yyss); ++#endif ++#if YYERROR_VERBOSE ++ if (yymsg != yymsgbuf) ++ YYSTACK_FREE (yymsg); ++#endif ++ return yyresult; ++} ++#line 771 "src/xkbcomp/parser.y" /* yacc.c:1906 */ ++ ++ ++XkbFile * ++parse(struct xkb_context *ctx, struct scanner *scanner, const char *map) ++{ ++ int ret; ++ XkbFile *first = NULL; ++ struct parser_param param = { ++ .scanner = scanner, ++ .ctx = ctx, ++ .rtrn = NULL, ++ }; ++ ++ /* ++ * If we got a specific map, we look for it exclusively and return ++ * immediately upon finding it. Otherwise, we need to get the ++ * default map. If we find a map marked as default, we return it ++ * immediately. If there are no maps marked as default, we return ++ * the first map in the file. ++ */ ++ ++ while ((ret = yyparse(¶m)) == 0 && param.more_maps) { ++ if (map) { ++ if (streq_not_null(map, param.rtrn->name)) ++ return param.rtrn; ++ else ++ FreeXkbFile(param.rtrn); ++ } ++ else { ++ if (param.rtrn->flags & MAP_IS_DEFAULT) { ++ FreeXkbFile(first); ++ return param.rtrn; ++ } ++ else if (!first) { ++ first = param.rtrn; ++ } ++ else { ++ FreeXkbFile(param.rtrn); ++ } ++ } ++ param.rtrn = NULL; ++ } ++ ++ if (ret != 0) { ++ FreeXkbFile(first); ++ return NULL; ++ } ++ ++ if (first) ++ log_vrb(ctx, 5, ++ "No map in include statement, but \"%s\" contains several; " ++ "Using first defined map, \"%s\"\n", ++ scanner->file_name, first->name); ++ ++ return first; ++} +diff --git a/src/xkbcomp/parser.h b/src/xkbcomp/parser.h +new file mode 100644 +index 0000000..af40d41 +--- /dev/null ++++ b/src/xkbcomp/parser.h +@@ -0,0 +1,221 @@ ++/* A Bison parser, made by GNU Bison 3.0.4. */ ++ ++/* Bison interface for Yacc-like parsers in C ++ ++ Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc. ++ ++ 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 . */ ++ ++/* As a special exception, you may create a larger work that contains ++ part or all of the Bison parser skeleton and distribute that work ++ under terms of your choice, so long as that work isn't itself a ++ parser generator using the skeleton or a modified version thereof ++ as a parser skeleton. Alternatively, if you modify or redistribute ++ the parser skeleton itself, you may (at your option) remove this ++ special exception, which will cause the skeleton and the resulting ++ Bison output files to be licensed under the GNU General Public ++ License without this special exception. ++ ++ This special exception was added by the Free Software Foundation in ++ version 2.2 of Bison. */ ++ ++#ifndef YY__XKBCOMMON_SRC_XKBCOMP_PARSER_H_INCLUDED ++# define YY__XKBCOMMON_SRC_XKBCOMP_PARSER_H_INCLUDED ++/* Debug traces. */ ++#ifndef YYDEBUG ++# define YYDEBUG 0 ++#endif ++#if YYDEBUG ++extern int _xkbcommon_debug; ++#endif ++ ++/* Token type. */ ++#ifndef YYTOKENTYPE ++# define YYTOKENTYPE ++ enum yytokentype ++ { ++ END_OF_FILE = 0, ++ ERROR_TOK = 255, ++ XKB_KEYMAP = 1, ++ XKB_KEYCODES = 2, ++ XKB_TYPES = 3, ++ XKB_SYMBOLS = 4, ++ XKB_COMPATMAP = 5, ++ XKB_GEOMETRY = 6, ++ XKB_SEMANTICS = 7, ++ XKB_LAYOUT = 8, ++ INCLUDE = 10, ++ OVERRIDE = 11, ++ AUGMENT = 12, ++ REPLACE = 13, ++ ALTERNATE = 14, ++ VIRTUAL_MODS = 20, ++ TYPE = 21, ++ INTERPRET = 22, ++ ACTION_TOK = 23, ++ KEY = 24, ++ ALIAS = 25, ++ GROUP = 26, ++ MODIFIER_MAP = 27, ++ INDICATOR = 28, ++ SHAPE = 29, ++ KEYS = 30, ++ ROW = 31, ++ SECTION = 32, ++ OVERLAY = 33, ++ TEXT = 34, ++ OUTLINE = 35, ++ SOLID = 36, ++ LOGO = 37, ++ VIRTUAL = 38, ++ EQUALS = 40, ++ PLUS = 41, ++ MINUS = 42, ++ DIVIDE = 43, ++ TIMES = 44, ++ OBRACE = 45, ++ CBRACE = 46, ++ OPAREN = 47, ++ CPAREN = 48, ++ OBRACKET = 49, ++ CBRACKET = 50, ++ DOT = 51, ++ COMMA = 52, ++ SEMI = 53, ++ EXCLAM = 54, ++ INVERT = 55, ++ STRING = 60, ++ INTEGER = 61, ++ FLOAT = 62, ++ IDENT = 63, ++ KEYNAME = 64, ++ PARTIAL = 70, ++ DEFAULT = 71, ++ HIDDEN = 72, ++ ALPHANUMERIC_KEYS = 73, ++ MODIFIER_KEYS = 74, ++ KEYPAD_KEYS = 75, ++ FUNCTION_KEYS = 76, ++ ALTERNATE_GROUP = 77 ++ }; ++#endif ++/* Tokens. */ ++#define END_OF_FILE 0 ++#define ERROR_TOK 255 ++#define XKB_KEYMAP 1 ++#define XKB_KEYCODES 2 ++#define XKB_TYPES 3 ++#define XKB_SYMBOLS 4 ++#define XKB_COMPATMAP 5 ++#define XKB_GEOMETRY 6 ++#define XKB_SEMANTICS 7 ++#define XKB_LAYOUT 8 ++#define INCLUDE 10 ++#define OVERRIDE 11 ++#define AUGMENT 12 ++#define REPLACE 13 ++#define ALTERNATE 14 ++#define VIRTUAL_MODS 20 ++#define TYPE 21 ++#define INTERPRET 22 ++#define ACTION_TOK 23 ++#define KEY 24 ++#define ALIAS 25 ++#define GROUP 26 ++#define MODIFIER_MAP 27 ++#define INDICATOR 28 ++#define SHAPE 29 ++#define KEYS 30 ++#define ROW 31 ++#define SECTION 32 ++#define OVERLAY 33 ++#define TEXT 34 ++#define OUTLINE 35 ++#define SOLID 36 ++#define LOGO 37 ++#define VIRTUAL 38 ++#define EQUALS 40 ++#define PLUS 41 ++#define MINUS 42 ++#define DIVIDE 43 ++#define TIMES 44 ++#define OBRACE 45 ++#define CBRACE 46 ++#define OPAREN 47 ++#define CPAREN 48 ++#define OBRACKET 49 ++#define CBRACKET 50 ++#define DOT 51 ++#define COMMA 52 ++#define SEMI 53 ++#define EXCLAM 54 ++#define INVERT 55 ++#define STRING 60 ++#define INTEGER 61 ++#define FLOAT 62 ++#define IDENT 63 ++#define KEYNAME 64 ++#define PARTIAL 70 ++#define DEFAULT 71 ++#define HIDDEN 72 ++#define ALPHANUMERIC_KEYS 73 ++#define MODIFIER_KEYS 74 ++#define KEYPAD_KEYS 75 ++#define FUNCTION_KEYS 76 ++#define ALTERNATE_GROUP 77 ++ ++/* Value type. */ ++#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED ++ ++union YYSTYPE ++{ ++#line 162 "src/xkbcomp/parser.y" /* yacc.c:1909 */ ++ ++ int ival; ++ int64_t num; ++ enum xkb_file_type file_type; ++ char *str; ++ xkb_atom_t atom; ++ enum merge_mode merge; ++ enum xkb_map_flags mapFlags; ++ xkb_keysym_t keysym; ++ ParseCommon *any; ++ ExprDef *expr; ++ VarDef *var; ++ VModDef *vmod; ++ InterpDef *interp; ++ KeyTypeDef *keyType; ++ SymbolsDef *syms; ++ ModMapDef *modMask; ++ GroupCompatDef *groupCompat; ++ LedMapDef *ledMap; ++ LedNameDef *ledName; ++ KeycodeDef *keyCode; ++ KeyAliasDef *keyAlias; ++ void *geom; ++ XkbFile *file; ++ ++#line 210 "src/xkbcomp/parser.h" /* yacc.c:1909 */ ++}; ++ ++typedef union YYSTYPE YYSTYPE; ++# define YYSTYPE_IS_TRIVIAL 1 ++# define YYSTYPE_IS_DECLARED 1 ++#endif ++ ++ ++ ++int _xkbcommon_parse (struct parser_param *param); ++ ++#endif /* !YY__XKBCOMMON_SRC_XKBCOMP_PARSER_H_INCLUDED */ +-- +2.10.2 + diff --git a/pkg/libxkbcommon/rev b/pkg/libxkbcommon/rev new file mode 100644 index 00000000..0cfbf088 --- /dev/null +++ b/pkg/libxkbcommon/rev @@ -0,0 +1 @@ +2 diff --git a/pkg/libxkbcommon/src b/pkg/libxkbcommon/src new file mode 160000 index 00000000..d596f6e3 --- /dev/null +++ b/pkg/libxkbcommon/src @@ -0,0 +1 @@ +Subproject commit d596f6e3ff2d1fde0491907fa9354e5cdf154ed1 diff --git a/pkg/loksh/gen.rc b/pkg/loksh/gen.rc new file mode 100644 index 00000000..3f6f28fc --- /dev/null +++ b/pkg/loksh/gen.rc @@ -0,0 +1,39 @@ +cflags\ + -D _GNU_SOURCE\ + -I include\ + -idirafter pkg/openbsd/src/sys + +cc emacs.c '||' '$builddir'/pkg/openbsd/fetch.stamp +exe ksh\ + alloc.c\ + c_ksh.c\ + c_sh.c\ + c_test.c\ + c_ulimit.c\ + edit.c\ + emacs.c.o\ + eval.c \ + exec.c\ + expr.c\ + history.c\ + io.c\ + jobs.c\ + lex.c\ + mail.c\ + main.c\ + misc.c\ + path.c\ + shf.c\ + syn.c\ + table.c\ + trap.c\ + tree.c\ + tty.c\ + var.c\ + version.c\ + vi.c +file bin/ksh '$outdir'/ksh 755 +sym bin/sh ksh +for(name in ksh sh) file share/man/man1/$name.1 '$srcdir'/$name.1 644 + +fetch git diff --git a/pkg/loksh/patch/0001-In-emacs-incremental-search-mode-R-make-commands-sta.patch b/pkg/loksh/patch/0001-In-emacs-incremental-search-mode-R-make-commands-sta.patch new file mode 100644 index 00000000..44f96f35 --- /dev/null +++ b/pkg/loksh/patch/0001-In-emacs-incremental-search-mode-R-make-commands-sta.patch @@ -0,0 +1,37 @@ +From 34a09675724c2d4f13f21b4f5663c098fe955090 Mon Sep 17 00:00:00 2001 +From: schwarze +Date: Tue, 9 Aug 2016 11:04:46 +0000 +Subject: [PATCH] In emacs incremental search mode (^R), make commands starting + with the escape key (^[) work as documented. Long-standing bug, this time + reported by Dave minus Cohen dot com. OK natano@ halex@ + +--- + emacs.c | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/emacs.c b/emacs.c +index 51d1ab0..2f82b5b 100644 +--- a/emacs.c ++++ b/emacs.c +@@ -1,4 +1,4 @@ +-/* $OpenBSD: emacs.c,v 1.65 2016/01/26 17:39:31 mmcc Exp $ */ ++/* $OpenBSD: emacs.c,v 1.66 2016/08/09 11:04:46 schwarze Exp $ */ + + /* + * Emacs-like command line editing and history +@@ -893,9 +893,10 @@ x_search_hist(int c) + if ((c = x_e_getc()) < 0) + return KSTD; + f = kb_find_hist_func(c); +- if (c == CTRL('[')) ++ if (c == CTRL('[')) { ++ x_e_ungetc(c); + break; +- else if (f == x_search_hist) ++ } else if (f == x_search_hist) + offset = x_search(pat, 0, offset); + else if (f == x_del_back) { + if (p == pat) { +-- +2.10.1 + diff --git a/pkg/loksh/patch/0002-Add-missing-stdlib.h-include-for-mkstemp.patch b/pkg/loksh/patch/0002-Add-missing-stdlib.h-include-for-mkstemp.patch new file mode 100644 index 00000000..9225f6fd --- /dev/null +++ b/pkg/loksh/patch/0002-Add-missing-stdlib.h-include-for-mkstemp.patch @@ -0,0 +1,24 @@ +From abdea742e220edf3b7ba8b44260e75ca95c5c9da Mon Sep 17 00:00:00 2001 +From: Michael Forney +Date: Sat, 10 Dec 2016 19:30:09 -0800 +Subject: [PATCH] Add missing stdlib.h include for mkstemp + +--- + io.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/io.c b/io.c +index 16a0709..99fa0a8 100644 +--- a/io.c ++++ b/io.c +@@ -9,6 +9,7 @@ + #include + #include + #include ++#include + #include + #include + +-- +2.11.0 + diff --git a/pkg/loksh/rev b/pkg/loksh/rev new file mode 100644 index 00000000..b8626c4c --- /dev/null +++ b/pkg/loksh/rev @@ -0,0 +1 @@ +4 diff --git a/pkg/loksh/src b/pkg/loksh/src new file mode 160000 index 00000000..41570f1f --- /dev/null +++ b/pkg/loksh/src @@ -0,0 +1 @@ +Subproject commit 41570f1f0481eff704bd9ec6989a620537384897 diff --git a/pkg/lpeg/.gitignore b/pkg/lpeg/.gitignore new file mode 100644 index 00000000..a90c6951 --- /dev/null +++ b/pkg/lpeg/.gitignore @@ -0,0 +1,2 @@ +/lpeg-1.0.0.tar.gz +/src diff --git a/pkg/lpeg/gen.rc b/pkg/lpeg/gen.rc new file mode 100644 index 00000000..f193e30c --- /dev/null +++ b/pkg/lpeg/gen.rc @@ -0,0 +1,8 @@ +cflags\ + '-std=c99' \ + -isystem pkg/lua/src/src + +lib liblpeg.a -d '$builddir'/pkg/lua/fetch.stamp\ + lpvm.c lpcap.c lptree.c lpcode.c lpprint.c + +fetch curl diff --git a/pkg/lpeg/rev b/pkg/lpeg/rev new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/pkg/lpeg/rev @@ -0,0 +1 @@ +1 diff --git a/pkg/lpeg/sha256 b/pkg/lpeg/sha256 new file mode 100644 index 00000000..6ecfc507 --- /dev/null +++ b/pkg/lpeg/sha256 @@ -0,0 +1 @@ +10190ae758a22a16415429a9eb70344cf29cbda738a6962a9f94a732340abf8e lpeg-1.0.0.tar.gz diff --git a/pkg/lpeg/url b/pkg/lpeg/url new file mode 100644 index 00000000..62d450bf --- /dev/null +++ b/pkg/lpeg/url @@ -0,0 +1 @@ +url = "http://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.0.0.tar.gz" diff --git a/pkg/lua/.gitignore b/pkg/lua/.gitignore new file mode 100644 index 00000000..ccf896f9 --- /dev/null +++ b/pkg/lua/.gitignore @@ -0,0 +1,2 @@ +/lua-5.2.4.tar.gz +/src diff --git a/pkg/lua/gen.rc b/pkg/lua/gen.rc new file mode 100644 index 00000000..e596c832 --- /dev/null +++ b/pkg/lua/gen.rc @@ -0,0 +1,18 @@ +cflags\ + -Wall\ + -Wextra\ + -D LUA_USE_POSIX + +lib liblua.a src/^(\ + lapi.c lcode.c lctype.c ldebug.c ldo.c ldump.c lfunc.c lgc.c llex.c\ + lmem.c lobject.c lopcodes.c lparser.c lstate.c lstring.c ltable.c\ + ltm.c lundump.c lvm.c lzio.c\ + lauxlib.c lbaselib.c lbitlib.c lcorolib.c ldblib.c liolib.c\ + lmathlib.c loslib.c lstrlib.c ltablib.c loadlib.c linit.c\ +) + +exe lua src/lua.c liblua.a +file bin/lua '$outdir'/lua 755 +file share/man/man1/lua.1 '$srcdir'/doc/lua.1 644 + +fetch curl diff --git a/pkg/lua/rev b/pkg/lua/rev new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/pkg/lua/rev @@ -0,0 +1 @@ +1 diff --git a/pkg/lua/sha256 b/pkg/lua/sha256 new file mode 100644 index 00000000..31f8228e --- /dev/null +++ b/pkg/lua/sha256 @@ -0,0 +1 @@ +b9e2e4aad6789b3b63a056d442f7b39f0ecfca3ae0f1fc0ae4e9614401b69f4b lua-5.2.4.tar.gz diff --git a/pkg/lua/url b/pkg/lua/url new file mode 100644 index 00000000..9dbed4d5 --- /dev/null +++ b/pkg/lua/url @@ -0,0 +1 @@ +url = "http://www.lua.org/ftp/lua-5.2.4.tar.gz" diff --git a/pkg/make/config.h b/pkg/make/config.h new file mode 100644 index 00000000..0938c4b2 --- /dev/null +++ b/pkg/make/config.h @@ -0,0 +1,119 @@ +#include + +/* these cause make to use glibc symbols */ +#undef HAVE_WCHTYPE_H +#undef HAVE_WCHAR_H + +/* paths */ +#define INCLUDEDIR "/include" +#define LIBDIR "/lib" +#define LOCALEDIR "/share/locale" + +/* #undef CLOSEDIR_VOID */ +/* #undef CRAY_STACKSEG_END */ +/* #undef C_ALLOCA */ +/* #undef C_GETLOADAVG */ +/* #undef DGUX */ +/* #undef ENABLE_NLS */ +#define FILE_TIMESTAMP_HI_RES 1 +/* #undef GETLOADAVG_PRIVILEGED */ +#define HAVE_ALLOCA 1 +#define HAVE_ALLOCA_H 1 +/* #undef HAVE_CASE_INSENSITIVE_FS */ +/* #undef HAVE_CFLOCALECOPYCURRENT */ +/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ +/* #undef HAVE_DCGETTEXT */ +#define HAVE_DECL_BSD_SIGNAL 1 +#define HAVE_DECL_DLERROR 1 +#define HAVE_DECL_DLOPEN 1 +#define HAVE_DECL_DLSYM 1 +#define HAVE_DECL_SYS_SIGLIST 0 +#define HAVE_DECL__SYS_SIGLIST 0 +#define HAVE_DECL___SYS_SIGLIST 0 +/* #undef HAVE_DOS_PATHS */ +/* #undef HAVE_GETHOSTBYNAME */ +#define HAVE_GETLOADAVG 1 +/* #undef HAVE_GETTEXT */ +/* #undef HAVE_GUILE */ +/* #undef HAVE_LIBDGC */ +/* #undef HAVE_LIBKSTAT */ +/* #undef HAVE_MACH_MACH_H */ +#define HAVE_MEMORY_H 1 +#define HAVE_MKTEMP 1 +/* #undef HAVE_NDIR_H */ +/* #undef HAVE_NLIST_H */ +/* #undef HAVE_PSTAT_GETDYNAMIC */ +#define HAVE_SA_RESTART 1 +#define HAVE_SETLINEBUF 1 +/* #undef HAVE_SIGSETMASK */ +/* #undef HAVE_STRCMPI */ +/* #undef HAVE_STRICMP */ +/* #undef HAVE_STRNCMPI */ +/* #undef HAVE_STRNICMP */ +/* #undef HAVE_STRUCT_NLIST_N_UN_N_NAME */ +/* #undef HAVE_SYS_DIR_H */ +/* #undef HAVE_SYS_NDIR_H */ +#define HAVE_SYS_PARAM_H 1 +#define HAVE_SYS_TIMEB_H 1 +/* #undef HAVE_UNION_WAIT */ +#define HAVE_UNSIGNED_LONG_LONG_INT 1 +/* #undef HAVE_VFORK_H */ +#define HAVE_WAIT3 1 +#define MAKE_HOST "x86_64-linux-musl" +#define MAKE_JOBSERVER 1 +#define MAKE_LOAD 1 +#define MAKE_SYMLINKS 1 +/* #undef NLIST_NAME_UNION */ +/* #undef NLIST_STRUCT */ +#define PACKAGE "make" +#define PACKAGE_BUGREPORT "bug-make@gnu.org" +#define PACKAGE_NAME "GNU make" +#define PACKAGE_STRING "GNU make 4.2.1" +#define PACKAGE_TARNAME "make" +#define PACKAGE_URL "http://www.gnu.org/software/make/" +#define PACKAGE_VERSION "4.2.1" +#define PATH_SEPARATOR_CHAR ':' +#define SCCS_GET "get" +/* #undef SCCS_GET_MINUS_G */ +/* #undef STACK_DIRECTION */ +/* #undef STAT_MACROS_BROKEN */ +#define ST_MTIM_NSEC st_mtim.tv_nsec +/* #undef SVR4 */ +#define TIME_WITH_SYS_TIME 1 +/* #undef UMAX */ +/* #undef UMAX4_3 */ +#ifndef _ALL_SOURCE +# define _ALL_SOURCE 1 +#endif +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif +#ifndef _POSIX_PTHREAD_SEMANTICS +# define _POSIX_PTHREAD_SEMANTICS 1 +#endif +#ifndef _TANDEM_SOURCE +# define _TANDEM_SOURCE 1 +#endif +#ifndef __EXTENSIONS__ +# define __EXTENSIONS__ 1 +#endif +#define VERSION "4.2.1" +/* #undef WINDOWS32 */ +/* #undef WITH_DMALLOC */ +#ifndef _DARWIN_USE_64_BIT_INODE +# define _DARWIN_USE_64_BIT_INODE 1 +#endif +/* #undef _FILE_OFFSET_BITS */ +/* #undef _LARGE_FILES */ +/* #undef _MINIX */ +/* #undef _POSIX_1_SOURCE */ +/* #undef _POSIX_SOURCE */ +/* #undef const */ +/* #undef gid_t */ +/* #undef off_t */ +/* #undef pid_t */ +/* #undef size_t */ +/* #undef ssize_t */ +/* #undef uid_t */ +/* #undef uintmax_t */ +/* #undef vfork */ diff --git a/pkg/make/gen.rc b/pkg/make/gen.rc new file mode 100644 index 00000000..1c46aa90 --- /dev/null +++ b/pkg/make/gen.rc @@ -0,0 +1,20 @@ +cflags\ + -D HAVE_CONFIG_H\ + -I include\ + -I '$dir' \ + -I '$srcdir' \ + -I '$srcdir'/glob + +lib libglob.a glob/^(glob.c fnmatch.c) + +exe make\ + ar.c arscan.c commands.c default.c dir.c expand.c file.c\ + function.c getopt.c getopt1.c guile.c implicit.c job.c load.c\ + loadapi.c main.c misc.c posixos.c output.c read.c remake.c\ + rule.c signame.c strcache.c variable.c version.c vpath.c\ + hash.c remote-stub.c\ + libglob.a +file bin/make '$outdir'/make 755 +file share/man/man1/make.1 '$srcdir'/make.1 644 + +fetch git diff --git a/pkg/make/rev b/pkg/make/rev new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/pkg/make/rev @@ -0,0 +1 @@ +1 diff --git a/pkg/make/src b/pkg/make/src new file mode 160000 index 00000000..9ab8af7c --- /dev/null +++ b/pkg/make/src @@ -0,0 +1 @@ +Subproject commit 9ab8af7cd8aaac587787d9df7e34758951d7c470 diff --git a/pkg/man-pages-posix/.gitignore b/pkg/man-pages-posix/.gitignore new file mode 100644 index 00000000..069144be --- /dev/null +++ b/pkg/man-pages-posix/.gitignore @@ -0,0 +1,2 @@ +/man-pages-posix-2013-a.tar.xz +/src diff --git a/pkg/man-pages-posix/gen.rc b/pkg/man-pages-posix/gen.rc new file mode 100644 index 00000000..55892923 --- /dev/null +++ b/pkg/man-pages-posix/gen.rc @@ -0,0 +1,7 @@ +rule manpages 'rc ./$dir/manpages.rc $builddir/$repo.git $out $srcdir' ; with\ + deps gcc\ + depfile '$out.d' +build '$outdir'/manpages.index manpages '|' '$dir'/manpages.rc config.rc '||' '$outdir'/fetch.stamp +index_inputs=($index_inputs '$outdir'/manpages.index) + +fetch curl diff --git a/pkg/man-pages-posix/manpages.rc b/pkg/man-pages-posix/manpages.rc new file mode 100644 index 00000000..dbdf782f --- /dev/null +++ b/pkg/man-pages-posix/manpages.rc @@ -0,0 +1,40 @@ +#!/bin/rc + +. ./config.rc + +flag e + + +ifs=' +' +repo=$1 +out=$2 +dir=$3 +shift 2 + +fn checkstatus {} + +wd=`{pwd} +checkstatus + +cd $dir +pages=man?p/* +pages=() +for(f in man?p/*) if(fs extra/man-pages-posix $f) + pages=($pages $f) +cd $wd + +if(~ $#pages 0) { + >$out + >$out.d + exit +} + +hashes=`{git -C $repo hash-object -w --no-filters -- $wd/$dir/$pages} +checkstatus + +~ $#pages $#hashes +printf '100644 %s\n' $hashes' share/man/'$pages >$out.tmp +mv $out.tmp $out + +echo $out: $dir/$pages >$out.d.tmp +mv $out.d.tmp $out.d diff --git a/pkg/man-pages-posix/rev b/pkg/man-pages-posix/rev new file mode 100644 index 00000000..e69de29b diff --git a/pkg/man-pages-posix/sha256 b/pkg/man-pages-posix/sha256 new file mode 100644 index 00000000..31d8683e --- /dev/null +++ b/pkg/man-pages-posix/sha256 @@ -0,0 +1 @@ +19633a5c75ff7deab35b1d2c3d5b7748e7bd4ef4ab598b647bb7e7f60b90a808 man-pages-posix-2013-a.tar.xz diff --git a/pkg/man-pages-posix/url b/pkg/man-pages-posix/url new file mode 100644 index 00000000..a04876db --- /dev/null +++ b/pkg/man-pages-posix/url @@ -0,0 +1 @@ +url = "https://www.kernel.org/pub/linux/docs/man-pages/man-pages-posix/man-pages-posix-2013-a.tar.xz" diff --git a/pkg/mc/config.h b/pkg/mc/config.h new file mode 100644 index 00000000..b00373f7 --- /dev/null +++ b/pkg/mc/config.h @@ -0,0 +1,5 @@ +#define Instroot "" +#define Asmcmd {"as", "-o", NULL} +#define Objsuffix ".o" +#define Symprefix "" +#define Defaultasm Gnugaself diff --git a/pkg/mc/gen.rc b/pkg/mc/gen.rc new file mode 100644 index 00000000..a5276dec --- /dev/null +++ b/pkg/mc/gen.rc @@ -0,0 +1,52 @@ +cflags\ + -I '$outdir' \ + -I '$srcdir' \ + -I '$srcdir'/mi\ + -I '$srcdir'/parse\ + -I '$srcdir'/util + +yacc gram '$srcdir'/parse/gram.y +build '$outdir'/gram.h copy '$outdir'/gram.tab.h + +lib libparse.a -d '$outdir'/gram.h '$outdir'/gram.tab.c parse/^(\ + dump.c\ + err.c\ + export.c\ + fold.c\ + infer.c\ + names.c\ + node.c\ + specialize.c\ + stab.c\ + tok.c\ + type.c\ + use.c\ +) +lib libmi.a mi/^(cfg.c flatten.c dfcheck.c match.c reaching.c) +lib libutil.a util/^(alloc.c bitset.c htab.c pack.c util.c) + +exe bin/6m 6/^(\ + blob.c\ + gen.c\ + gengas.c\ + genp9.c\ + isel.c\ + locs.c\ + main.c\ + ra.c\ + peep.c\ + simp.c\ + typeinfo.c\ +) libmi.a libparse.a libutil.a +file bin/6m '$outdir'/bin/6m 755 +file share/man/man1/mc.1 '$srcdir'/doc/mc.1 644 + +exe bin/muse muse/muse.c libparse.a libutil.a +file bin/muse '$outdir'/bin/muse 755 +file share/man/man1/muse.1 '$srcdir'/doc/muse.1 644 + +build '$outdir'/_myrrt.s cat '$srcdir'/rt/^(start-linux.s common.s abort-linux.s) +build '$outdir'/_myrrt.o as '$outdir'/_myrrt.s +file lib/myr/_myrrt.o '$outdir'/_myrrt.o 644 + +fetch git diff --git a/pkg/mc/rev b/pkg/mc/rev new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/pkg/mc/rev @@ -0,0 +1 @@ +1 diff --git a/pkg/mc/src b/pkg/mc/src new file mode 160000 index 00000000..faf16f02 --- /dev/null +++ b/pkg/mc/src @@ -0,0 +1 @@ +Subproject commit faf16f0242436077c86358ccbe1a8d93966fdff7 diff --git a/pkg/mdocml/.gitignore b/pkg/mdocml/.gitignore new file mode 100644 index 00000000..0da61be7 --- /dev/null +++ b/pkg/mdocml/.gitignore @@ -0,0 +1,2 @@ +/mdocml-1.13.4.tar.gz +/src diff --git a/pkg/mdocml/config.h b/pkg/mdocml/config.h new file mode 100644 index 00000000..86d08114 --- /dev/null +++ b/pkg/mdocml/config.h @@ -0,0 +1,34 @@ +#include + +#define HAVE_DIRENT_NAMLEN 0 +#define HAVE_ERR 1 +#define HAVE_FTS 1 +#define HAVE_PLEDGE 0 +#define HAVE_PROGNAME 1 +#define HAVE_REALLOCARRAY 1 +#define HAVE_REWB_BSD 0 +#define HAVE_REWB_SYSV 1 +#define HAVE_SANDBOX_INIT 0 +#define HAVE_STRCASESTR 1 +#define HAVE_STRINGLIST 0 +#define HAVE_STRLCAT 1 +#define HAVE_STRLCPY 1 +#define HAVE_STRSEP 1 +#define HAVE_STRTONUM 1 +#define HAVE_VASPRINTF 1 +#define HAVE_WCHAR 1 +#define HAVE_SQLITE3 0 +#define HAVE_SQLITE3_ERRSTR 0 +#define HAVE_OHASH 0 +#define HAVE_MANPATH 0 + +/* binary names */ +#define BINM_APROPOS "apropos" +#define BINM_MAKEWHATIS "makewhatis" +#define BINM_MAN "man" +#define BINM_SOELIM "soelim" +#define BINM_WHATIS "whatis" + +/* paths */ +#define MAN_CONF_FILE "/etc/man.conf" +#define MANPATH_DEFAULT "/share/man" diff --git a/pkg/mdocml/gen.rc b/pkg/mdocml/gen.rc new file mode 100644 index 00000000..4629a870 --- /dev/null +++ b/pkg/mdocml/gen.rc @@ -0,0 +1,73 @@ +cflags\ + -isystem pkg/openbsd/include\ + -isystem '$builddir'/pkg/zlib/include\ + -I include\ + -I '$dir' + +lib libmandoc.a -d pkg/zlib/headers\ + man.c\ + man_hash.c\ + man_macro.c\ + man_validate.c\ + \ + att.c\ + lib.c\ + mdoc.c\ + mdoc_argv.c\ + mdoc_hash.c\ + mdoc_macro.c\ + mdoc_state.c\ + mdoc_validate.c\ + st.c\ + \ + eqn.c\ + roff.c\ + tbl.c\ + tbl_data.c\ + tbl_layout.c\ + tbl_opts.c\ + \ + chars.c\ + mandoc.c\ + mandoc_aux.c\ + mandoc_ohash.c\ + msec.c\ + preconv.c\ + read.c\ + \ + compat_ohash.c + +exe mandoc\ + main.c\ + manpath.c\ + out.c\ + tag.c\ + tree.c\ + \ + eqn_html.c\ + html.c\ + man_html.c\ + mdoc_html.c\ + tbl_html.c\ + \ + mdoc_man.c\ + \ + eqn_term.c\ + man_term.c\ + mdoc_term.c\ + term.c\ + term_ascii.c\ + term_ps.c\ + tbl_term.c\ + libmandoc.a\ + '$builddir'/pkg/^(openbsd/libbsd.a zlib/libz.a) +exe demandoc demandoc.c libmandoc.a '$builddir'/pkg/^(openbsd/libbsd.a zlib/libz.a) + +for(exe in mandoc demandoc) file bin/$exe '$outdir'/$exe 755 +sym bin/man mandoc +for(man in mandoc.1 demandoc.1 man.1 mandoc.3 man.conf.5 man.7 mdoc.7 roff.7 eqn.7 tbl.7 mandoc_char.7) { + sect=`{printf %s $man | tail -c 1} + file share/man/man$sect/$man '$srcdir'/$man 644 +} + +fetch curl diff --git a/pkg/mdocml/rev b/pkg/mdocml/rev new file mode 100644 index 00000000..0cfbf088 --- /dev/null +++ b/pkg/mdocml/rev @@ -0,0 +1 @@ +2 diff --git a/pkg/mdocml/sha256 b/pkg/mdocml/sha256 new file mode 100644 index 00000000..13446bd9 --- /dev/null +++ b/pkg/mdocml/sha256 @@ -0,0 +1 @@ +0a55c1addb188071d6f784599303656b8465e98ec6b2f4f264e12fb96d79e0ef mdocml-1.13.4.tar.gz diff --git a/pkg/mdocml/url b/pkg/mdocml/url new file mode 100644 index 00000000..46ea2f7b --- /dev/null +++ b/pkg/mdocml/url @@ -0,0 +1 @@ +url = "http://mdocml.bsd.lv/snapshots/mdocml-1.13.4.tar.gz" diff --git a/pkg/mpv/.gitignore b/pkg/mpv/.gitignore new file mode 100644 index 00000000..012dc66e --- /dev/null +++ b/pkg/mpv/.gitignore @@ -0,0 +1 @@ +/tools.ninja diff --git a/pkg/mpv/config.h b/pkg/mpv/config.h new file mode 100644 index 00000000..c8289a41 --- /dev/null +++ b/pkg/mpv/config.h @@ -0,0 +1,180 @@ +#ifndef W_CONFIG_H_WAF +#define W_CONFIG_H_WAF + +#define DEFAULT_DVD_DEVICE "/dev/sr0" +#define DEFAULT_CDROM_DEVICE "/dev/sr0" +#define HAVE_CPLAYER 1 +#define HAVE_LIBMPV_SHARED 0 +#define HAVE_LIBMPV_STATIC 0 +#define HAVE_STATIC_BUILD 0 +#define HAVE_BUILD_DATE 1 +#define HAVE_OPTIMIZE 1 +#define HAVE_DEBUG_BUILD 1 +#define HAVE_MANPAGE_BUILD 0 +#define HAVE_HTML_BUILD 0 +#define HAVE_PDF_BUILD 0 +#define HAVE_LIBDL 1 +#define HAVE_DLOPEN 0 +#define HAVE_VF_DLOPEN_FILTERS 0 +#define HAVE_ZSH_COMP 0 +#define HAVE_ASM 1 +#define HAVE_TEST 0 +#define HAVE_CLANG_DATABASE 0 +#define HAVE_NOEXECSTACK 0 +#define HAVE_LIBM 1 +#define HAVE_MINGW 0 +#define HAVE_POSIX 1 +#define HAVE_FNMATCH 1 +#define HAVE_POSIX_OR_MINGW 1 +#define HAVE_WIN32 0 +#define HAVE_WIN32_INTERNAL_PTHREADS 0 +#define HAVE_PTHREADS 1 +#define HAVE_GNUC 1 +#define HAVE_STDATOMIC 1 +#define HAVE_ATOMIC_BUILTINS 0 +#define HAVE_SYNC_BUILTINS 0 +#define HAVE_ATOMICS 1 +#define HAVE_C11_TLS 1 +#define HAVE_GCC_TLS 1 +#define HAVE_LIBRT 1 +#define HAVE_ICONV 1 +#define HAVE_DOS_PATHS 0 +#define HAVE_TERMIOS_H 1 +#define HAVE_SYS_TERMIOS_H 0 +#define HAVE_TERMIOS 1 +#define HAVE_SHM 1 +#define HAVE_NANOSLEEP 1 +#define HAVE_POSIX_SPAWN 1 +#define HAVE_SUBPROCESS 1 +#define HAVE_GLOB 1 +#define HAVE_GLOB_WIN32_REPLACEMENT 0 +#define HAVE_FCHMOD 1 +#define HAVE_VT_H 1 +#define HAVE_GBM_H 0 +#define HAVE_GLIBC_THREAD_NAME 0 +#define HAVE_OSX_THREAD_NAME 0 +#define HAVE_BSD_THREAD_NAME 0 +#define HAVE_NETBSD_THREAD_NAME 0 +#define HAVE_BSD_FSTATFS 0 +#define HAVE_LINUX_FSTATFS 1 +#define HAVE_LIBSMBCLIENT 0 +#define HAVE_LUA 1 +#define HAVE_LIBASS 1 +#define HAVE_LIBASS_OSD 1 +#define HAVE_DUMMY_OSD 0 +#define HAVE_ZLIB 1 +#define HAVE_ENCODING 0 +#define HAVE_LIBBLURAY 0 +#define HAVE_DVDREAD 0 +#define HAVE_DVDNAV 0 +#define HAVE_CDDA 0 +#define HAVE_ENCA 0 +#define HAVE_LIBGUESS 0 +#define HAVE_UCHARDET 0 +#define HAVE_RUBBERBAND 0 +#define HAVE_LCMS2 0 +#define HAVE_VAPOURSYNTH 0 +#define HAVE_VAPOURSYNTH_LAZY 0 +#define HAVE_VAPOURSYNTH_CORE 0 +#define HAVE_LIBARCHIVE 0 +#define HAVE_SDL2 0 +#define HAVE_SDL1 0 +#define HAVE_OSS_AUDIO_4FRONT 0 +#define HAVE_OSS_AUDIO_NATIVE 1 +#define HAVE_OSS_AUDIO_SUNAUDIO 0 +#define HAVE_OSS_AUDIO 0 +#define HAVE_RSOUND 0 +#define HAVE_SNDIO 0 +#define HAVE_PULSE 0 +#define HAVE_JACK 0 +#define HAVE_OPENAL 0 +#define HAVE_OPENSLES 0 +#define HAVE_ALSA 1 +#define HAVE_COREAUDIO 0 +#define HAVE_AUDIOUNIT 0 +#define HAVE_WASAPI 0 +#define HAVE_COCOA 0 +#define HAVE_DRM 1 +#define HAVE_GBM 0 +#define HAVE_WAYLAND 0 +#define HAVE_X11 0 +#define HAVE_XSS 0 +#define HAVE_XEXT 0 +#define HAVE_XV 0 +#define HAVE_XINERAMA 0 +#define HAVE_XRANDR 0 +#define HAVE_GL_COCOA 0 +#define HAVE_GL_X11 0 +#define HAVE_EGL_X11 0 +#define HAVE_EGL_DRM 0 +#define HAVE_GL_WAYLAND 0 +#define HAVE_GL_WIN32 0 +#define HAVE_GL_DXINTEROP 0 +#define HAVE_EGL_ANGLE 0 +#define HAVE_VDPAU 0 +#define HAVE_VDPAU_GL_X11 0 +#define HAVE_VAAPI 0 +#define HAVE_VAAPI_X11 0 +#define HAVE_VAAPI_WAYLAND 0 +#define HAVE_VAAPI_DRM 0 +#define HAVE_VAAPI_GLX 0 +#define HAVE_VAAPI_X_EGL 0 +#define HAVE_VAAPI_EGL 0 +#define HAVE_CACA 0 +#define HAVE_JPEG 0 +#define HAVE_DIRECT3D 0 +#define HAVE_ANDROID 0 +#define HAVE_RPI 0 +#define HAVE_STANDARD_GL 0 +#define HAVE_ANDROID_GL 0 +#define HAVE_IOS_GL 0 +#define HAVE_ANY_GL 0 +#define HAVE_PLAIN_GL 0 +#define HAVE_MALI_FBDEV 0 +#define HAVE_GL 0 +#define HAVE_EGL_HELPERS 0 +#define HAVE_LIBAV 1 +#define HAVE_LIBSWRESAMPLE 1 +#define HAVE_LIBAVRESAMPLE 0 +#define HAVE_RESAMPLER 1 +#define HAVE_LIBAVFILTER 1 +#define HAVE_LIBAVDEVICE 1 +#define HAVE_AVCODEC_CHROMA_POS_API 1 +#define HAVE_AVFRAME_METADATA 1 +#define HAVE_AVFRAME_SKIP_SAMPLES 1 +#define HAVE_AV_PIX_FMT_MMAL 1 +#define HAVE_AV_VERSION_INFO 1 +#define HAVE_AV_NEW_PIXDESC 1 +#define HAVE_AV_AVPACKET_INT64_DURATION 1 +#define HAVE_AV_SUBTITLE_NOPICT 1 +#define HAVE_AVCODEC_PROFILE_NAME 1 +#define HAVE_AVCODEC_NEW_CODEC_API 1 +#define HAVE_AVCODEC_HAS_CODECPAR 1 +#define HAVE_AVUTIL_HAS_HWCONTEXT 1 +#define HAVE_AVUTIL_HDR 1 +#define HAVE_AVUTIL_MASTERING_METADATA 1 +#define HAVE_VAAPI_HWACCEL 0 +#define HAVE_VIDEOTOOLBOX_VIDEOTOOLBOX_H 0 +#define HAVE_VIDEO_TOOLBOX_VIDEO_TOOLBOX_H 0 +#define HAVE_VIDEOTOOLBOX_HWACCEL 0 +#define HAVE_VIDEOTOOLBOX_GL 0 +#define HAVE_VDPAU_HWACCEL 0 +#define HAVE_D3D_HWACCEL 0 +#define HAVE_CUDA_HWACCEL 0 +#define HAVE_SSE4_INTRINSICS 0 +#define HAVE_TV 0 +#define HAVE_SYS_VIDEOIO_H 0 +#define HAVE_VIDEODEV 1 +#define HAVE_TV_V4L2 0 +#define HAVE_LIBV4L2 0 +#define HAVE_AUDIO_INPUT 0 +#define HAVE_DVBIN 0 +#define HAVE_WIN32_EXECUTABLE 0 +#define HAVE_APPLE_REMOTE 0 +#define HAVE_SYS_SOUNDCARD_H (HAVE_OSS_AUDIO_NATIVE || HAVE_OSS_AUDIO_4FRONT) +#define HAVE_SOUNDCARD_H HAVE_OSS_AUDIO_SUNAUDIO +#define CONFIGURATION "./waf configure --disable-libass --disable-gl" +#define MPV_CONFDIR "/etc/mpv" +#define FULLCONFIG "asm atomics audio-input av-pix-fmt-mmal av-version-info avcodec-chroma-pos-api avframe-metadata avframe-skip-samples build-date c11-tls cplayer debug-build dlopen dummy-osd dvbin encoding fchmod glob iconv libav libavdevice libavfilter libdl libm librt libswresample linux-fstatfs nanosleep optimize oss-audio oss-audio-native posix posix-or-mingw posix-spawn pthreads resampler shm stdatomic subprocess termios tv tv-v4l2 videodev vt.h zlib" + +#endif /* W_CONFIG_H_WAF */ diff --git a/pkg/mpv/file2string.c b/pkg/mpv/file2string.c new file mode 100644 index 00000000..84f31ce1 --- /dev/null +++ b/pkg/mpv/file2string.c @@ -0,0 +1,34 @@ +#include +#include +#include +#include + +static const char safe[] = + "][ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!#%&'()*+,./:;<=>^_{|}~ -"; + +int main(int argc, char *argv[]) { + FILE *f; + char *line = NULL, *s; + size_t size = 0; + ssize_t n; + + f = fopen(argv[1], "r"); + if (!f) { + fprintf(stderr, "fopen %s: %s\n", argv[1], strerror(errno)); + return 1; + } + + printf("/* Generated from %s */\n", argv[1]); + while ((n = getline(&line, &size, f)) >= 0) { + printf("\""); + for (s = line; s < line + n; ++s) { + if (memchr(safe, *s, sizeof(safe) - 1)) + fputc(*s, stdout); + else + printf("\\%03hho", *s); + } + printf("\"\n"); + } + + return 0; +} diff --git a/pkg/mpv/gen.rc b/pkg/mpv/gen.rc new file mode 100644 index 00000000..a95e9da9 --- /dev/null +++ b/pkg/mpv/gen.rc @@ -0,0 +1,81 @@ +cflags=(\ + -isystem '$builddir'/pkg/ffmpeg/include\ + -isystem '$builddir'/pkg/zlib/include\ + -isystem pkg/ffmpeg/src\ + -I '$dir' \ + -I '$outdir' \ + -I '$srcdir' \ +) + +srcs=(\ + osdep/^(main-fn-unix.c terminal-unix.c timer-linux.c)\ + ta/^(ta.c ta_talloc.c ta_utils.c)\ + `{awk -f sources.awk 'sources=sources.txt' config.h}\ +) +checkstatus + +libs=(\ + ffmpeg/^(\ + libavcodec.a.d\ + libavdevice.a.d\ + libavfilter.a.d\ + libavformat.a.d\ + libavutil.a\ + libswresample.a.d\ + libswscale.a.d\ + )\ + zlib/libz.a\ +) + +deps=('$outdir'/version.h pkg/^(zlib ffmpeg)^/headers) + +rule versionhdr 'sh $srcdir/version.sh --cwd=$srcdir --versionh=$out' +build '$outdir'/version.h versionhdr '|' '$srcdir'/version.sh + +{ + include 'toolchain/$host_toolchain.ninja' + set srcdir '$dir' + exe file2string file2string.c +} >tools.ninja ; subninja tools.ninja + +rule file2string '$outdir/file2string $in >$out.tmp && mv $out.tmp $out' + +fn file2string { + build '$outdir'/$1 file2string '$srcdir'/$2 '|' '$outdir'/file2string + deps=($deps '$outdir'/$1) +} + +file2string input/input_conf.h etc/input.conf +file2string player/builtin_conf.inc etc/builtin.conf +file2string sub/osd_font.h sub/osd_font.otf +for(f in assdraw defaults options osc ytdl_hook) + file2string player/lua/$f.inc player/lua/$f.lua + +if(grep -qF 'HAVE_ALSA 1' config.h) { + cflags=($cflags -isystem '$builddir'/pkg/alsa-lib/include) + libs=($libs alsa-lib/libasound.a) + deps=($deps pkg/alsa-lib/headers) +} +if(grep -qF 'HAVE_DRM 1' config.h) { + cflags=($cflags '-isystem pkg/libdrm/'^(src src/include/drm)) + libs=($libs libdrm/libdrm.a) +} +if(grep -qF 'HAVE_LIBASS 1' config.h) { + cflags=($cflags -isystem '$builddir'/pkg/libass/include) + libs=($libs libass/libass.a.d) + deps=($deps pkg/libass/headers) +} +if(grep -qF 'HAVE_LUA 1' config.h) { + cflags=($cflags -isystem pkg/lua/src/src) + libs=($libs lua/liblua.a) +} + +cflags $cflags +phony deps $deps + +exe mpv -d '$dir'/deps $srcs '$builddir'/pkg/$libs +file bin/mpv '$outdir'/mpv 755 +file share/man/man1/mpv.1 '$srcdir'/DOCS/man/mpv.1 644 + +gen_inputs='$dir'/^(sources.awk sources.txt config.h) +fetch git diff --git a/pkg/mpv/gensources.awk b/pkg/mpv/gensources.awk new file mode 100644 index 00000000..f33c00df --- /dev/null +++ b/pkg/mpv/gensources.awk @@ -0,0 +1,12 @@ +# usage: awk -f gensources.awk src/wscript_build.py >sources.txt + +BEGIN { + FS = "\"" +} + +/ +\(.*\),$/ { + if (NF == 3) + print $2 + else if (NF == 5) + print $2, $4 +} diff --git a/pkg/mpv/patch/0001-Include-poll.h-instead-of-sys-poll.h.patch b/pkg/mpv/patch/0001-Include-poll.h-instead-of-sys-poll.h.patch new file mode 100644 index 00000000..d466d1dc --- /dev/null +++ b/pkg/mpv/patch/0001-Include-poll.h-instead-of-sys-poll.h.patch @@ -0,0 +1,44 @@ +From 935018562e6fee649bb629a873d4c3beca3bc72e Mon Sep 17 00:00:00 2001 +From: Michael Forney +Date: Sat, 2 Jul 2016 17:11:20 -0700 +Subject: [PATCH] Include poll.h instead of sys/poll.h + +--- + video/out/drm_common.c | 2 +- + video/out/vo_drm.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/video/out/drm_common.c b/video/out/drm_common.c +index 44e017e4b..3a9b2a4b3 100644 +--- a/video/out/drm_common.c ++++ b/video/out/drm_common.c +@@ -16,10 +16,10 @@ + */ + + #include ++#include + #include + #include + #include +-#include + #include + #include + #include +diff --git a/video/out/vo_drm.c b/video/out/vo_drm.c +index 7e642e391..726d820ba 100644 +--- a/video/out/vo_drm.c ++++ b/video/out/vo_drm.c +@@ -18,9 +18,9 @@ + #include + #include + #include ++#include + #include + #include +-#include + #include + + #include +-- +2.11.0 + diff --git a/pkg/mpv/patch/0002-Add-generated-ebml-sources.patch b/pkg/mpv/patch/0002-Add-generated-ebml-sources.patch new file mode 100644 index 00000000..bb3be12e --- /dev/null +++ b/pkg/mpv/patch/0002-Add-generated-ebml-sources.patch @@ -0,0 +1,1147 @@ +From 79a9af59e6865a39214f628186fd768165fa2329 Mon Sep 17 00:00:00 2001 +From: Michael Forney +Date: Sat, 2 Jul 2016 17:32:27 -0700 +Subject: [PATCH] Add generated ebml sources + +These require perl to generate. + +$ perl TOOLS/matroska.pl --generate-header demux/ebml.c demux/demux_mkv.c > demux/ebml_types.h +$ perl TOOLS/matroska.pl --generate-definitions demux/ebml.c > demux/ebml_defs.c +--- + demux/ebml_defs.c | 529 +++++++++++++++++++++++++++++++++++++++++++++++ + demux/ebml_types.h | 587 +++++++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 1116 insertions(+) + create mode 100644 demux/ebml_defs.c + create mode 100644 demux/ebml_types.h + +diff --git a/demux/ebml_defs.c b/demux/ebml_defs.c +new file mode 100644 +index 000000000..3fcbf8a5b +--- /dev/null ++++ b/demux/ebml_defs.c +@@ -0,0 +1,529 @@ ++/* Generated by TOOLS/matroska.pl, do not edit manually */ ++ ++ ++E("EBMLVersion", ebml_version, EBML_TYPE_UINT) ++ ++E("EBMLReadVersion", ebml_read_version, EBML_TYPE_UINT) ++ ++E("EBMLMaxIDLength", ebml_max_id_length, EBML_TYPE_UINT) ++ ++E("EBMLMaxSizeLength", ebml_max_size_length, EBML_TYPE_UINT) ++ ++E("DocType", doc_type, EBML_TYPE_STR) ++ ++E("DocTypeVersion", doc_type_version, EBML_TYPE_UINT) ++ ++E("DocTypeReadVersion", doc_type_read_version, EBML_TYPE_UINT) ++ ++#define N ebml ++E_S("EBML", 7) ++F(EBML_ID_DOCTYPE, doc_type, 0) ++F(EBML_ID_DOCTYPEREADVERSION, doc_type_read_version, 0) ++F(EBML_ID_DOCTYPEVERSION, doc_type_version, 0) ++F(EBML_ID_EBMLMAXIDLENGTH, ebml_max_id_length, 0) ++F(EBML_ID_EBMLMAXSIZELENGTH, ebml_max_size_length, 0) ++F(EBML_ID_EBMLREADVERSION, ebml_read_version, 0) ++F(EBML_ID_EBMLVERSION, ebml_version, 0) ++}}; ++#undef N ++ ++E("CRC32", crc32, EBML_TYPE_BINARY) ++ ++E("Void", void, EBML_TYPE_BINARY) ++ ++E("SeekID", seek_id, EBML_TYPE_EBML_ID) ++ ++E("SeekPosition", seek_position, EBML_TYPE_UINT) ++ ++#define N seek ++E_S("Seek", 2) ++F(MATROSKA_ID_SEEKID, seek_id, 0) ++F(MATROSKA_ID_SEEKPOSITION, seek_position, 0) ++}}; ++#undef N ++ ++#define N seek_head ++E_S("SeekHead", 1) ++F(MATROSKA_ID_SEEK, seek, 1) ++}}; ++#undef N ++ ++E("SegmentUID", segment_uid, EBML_TYPE_BINARY) ++ ++E("PrevUID", prev_uid, EBML_TYPE_BINARY) ++ ++E("NextUID", next_uid, EBML_TYPE_BINARY) ++ ++E("TimecodeScale", timecode_scale, EBML_TYPE_UINT) ++ ++E("DateUTC", date_utc, EBML_TYPE_SINT) ++ ++E("Title", title, EBML_TYPE_STR) ++ ++E("MuxingApp", muxing_app, EBML_TYPE_STR) ++ ++E("WritingApp", writing_app, EBML_TYPE_STR) ++ ++E("Duration", duration, EBML_TYPE_FLOAT) ++ ++#define N info ++E_S("Info", 9) ++F(MATROSKA_ID_DATEUTC, date_utc, 0) ++F(MATROSKA_ID_DURATION, duration, 0) ++F(MATROSKA_ID_MUXINGAPP, muxing_app, 0) ++F(MATROSKA_ID_NEXTUID, next_uid, 0) ++F(MATROSKA_ID_PREVUID, prev_uid, 0) ++F(MATROSKA_ID_SEGMENTUID, segment_uid, 0) ++F(MATROSKA_ID_TIMECODESCALE, timecode_scale, 0) ++F(MATROSKA_ID_TITLE, title, 0) ++F(MATROSKA_ID_WRITINGAPP, writing_app, 0) ++}}; ++#undef N ++ ++E("Timecode", timecode, EBML_TYPE_UINT) ++ ++E("Block", block, EBML_TYPE_BINARY) ++ ++E("BlockDuration", block_duration, EBML_TYPE_UINT) ++ ++E("ReferenceBlock", reference_block, EBML_TYPE_SINT) ++ ++E("DiscardPadding", discard_padding, EBML_TYPE_SINT) ++ ++#define N block_group ++E_S("BlockGroup", 4) ++F(MATROSKA_ID_BLOCK, block, 0) ++F(MATROSKA_ID_BLOCKDURATION, block_duration, 0) ++F(MATROSKA_ID_DISCARDPADDING, discard_padding, 0) ++F(MATROSKA_ID_REFERENCEBLOCK, reference_block, 1) ++}}; ++#undef N ++ ++E("SimpleBlock", simple_block, EBML_TYPE_BINARY) ++ ++#define N cluster ++E_S("Cluster", 3) ++F(MATROSKA_ID_BLOCKGROUP, block_group, 1) ++F(MATROSKA_ID_SIMPLEBLOCK, simple_block, 1) ++F(MATROSKA_ID_TIMECODE, timecode, 0) ++}}; ++#undef N ++ ++E("TrackNumber", track_number, EBML_TYPE_UINT) ++ ++E("TrackUID", track_uid, EBML_TYPE_UINT) ++ ++E("TrackType", track_type, EBML_TYPE_UINT) ++ ++E("FlagEnabled", flag_enabled, EBML_TYPE_UINT) ++ ++E("FlagDefault", flag_default, EBML_TYPE_UINT) ++ ++E("FlagForced", flag_forced, EBML_TYPE_UINT) ++ ++E("FlagLacing", flag_lacing, EBML_TYPE_UINT) ++ ++E("MinCache", min_cache, EBML_TYPE_UINT) ++ ++E("MaxCache", max_cache, EBML_TYPE_UINT) ++ ++E("DefaultDuration", default_duration, EBML_TYPE_UINT) ++ ++E("TrackTimecodeScale", track_timecode_scale, EBML_TYPE_FLOAT) ++ ++E("MaxBlockAdditionID", max_block_addition_id, EBML_TYPE_UINT) ++ ++E("Name", name, EBML_TYPE_STR) ++ ++E("Language", language, EBML_TYPE_STR) ++ ++E("CodecID", codec_id, EBML_TYPE_STR) ++ ++E("CodecPrivate", codec_private, EBML_TYPE_BINARY) ++ ++E("CodecName", codec_name, EBML_TYPE_STR) ++ ++E("CodecDecodeAll", codec_decode_all, EBML_TYPE_UINT) ++ ++E("CodecDelay", codec_delay, EBML_TYPE_UINT) ++ ++E("SeekPreRoll", seek_pre_roll, EBML_TYPE_UINT) ++ ++E("FlagInterlaced", flag_interlaced, EBML_TYPE_UINT) ++ ++E("PixelWidth", pixel_width, EBML_TYPE_UINT) ++ ++E("PixelHeight", pixel_height, EBML_TYPE_UINT) ++ ++E("DisplayWidth", display_width, EBML_TYPE_UINT) ++ ++E("DisplayHeight", display_height, EBML_TYPE_UINT) ++ ++E("DisplayUnit", display_unit, EBML_TYPE_UINT) ++ ++E("FrameRate", frame_rate, EBML_TYPE_FLOAT) ++ ++E("ColourSpace", colour_space, EBML_TYPE_BINARY) ++ ++E("StereoMode", stereo_mode, EBML_TYPE_UINT) ++ ++E("MatrixCoefficients", matrix_coefficients, EBML_TYPE_UINT) ++ ++E("BitsPerChannel", bits_per_channel, EBML_TYPE_UINT) ++ ++E("ChromaSubsamplingHorz", chroma_subsampling_horz, EBML_TYPE_UINT) ++ ++E("ChromaSubsamplingVert", chroma_subsampling_vert, EBML_TYPE_UINT) ++ ++E("CbSubsamplingHorz", cb_subsampling_horz, EBML_TYPE_UINT) ++ ++E("CbSubsamplingVert", cb_subsampling_vert, EBML_TYPE_UINT) ++ ++E("ChromaSitingHorz", chroma_siting_horz, EBML_TYPE_UINT) ++ ++E("ChromaSitingVert", chroma_siting_vert, EBML_TYPE_UINT) ++ ++E("Range", range, EBML_TYPE_UINT) ++ ++E("TransferCharacteristics", transfer_characteristics, EBML_TYPE_UINT) ++ ++E("Primaries", primaries, EBML_TYPE_UINT) ++ ++E("MaxCLL", max_cll, EBML_TYPE_UINT) ++ ++E("MaxFALL", max_fall, EBML_TYPE_UINT) ++ ++E("PrimaryRChromaticityX", primary_r_chromaticity_x, EBML_TYPE_FLOAT) ++ ++E("PrimaryRChromaticityY", primary_r_chromaticity_y, EBML_TYPE_FLOAT) ++ ++E("PrimaryGChromaticityX", primary_g_chromaticity_x, EBML_TYPE_FLOAT) ++ ++E("PrimaryGChromaticityY", primary_g_chromaticity_y, EBML_TYPE_FLOAT) ++ ++E("PrimaryBChromaticityX", primary_b_chromaticity_x, EBML_TYPE_FLOAT) ++ ++E("PrimaryBChromaticityY", primary_b_chromaticity_y, EBML_TYPE_FLOAT) ++ ++E("WhitePointChromaticityX", white_point_chromaticity_x, EBML_TYPE_FLOAT) ++ ++E("WhitePointChromaticityY", white_point_chromaticity_y, EBML_TYPE_FLOAT) ++ ++E("LuminanceMax", luminance_max, EBML_TYPE_FLOAT) ++ ++E("LuminanceMin", luminance_min, EBML_TYPE_FLOAT) ++ ++#define N mastering_metadata ++E_S("MasteringMetadata", 10) ++F(MATROSKA_ID_LUMINANCEMAX, luminance_max, 0) ++F(MATROSKA_ID_LUMINANCEMIN, luminance_min, 0) ++F(MATROSKA_ID_PRIMARYBCHROMATICITYX, primary_b_chromaticity_x, 0) ++F(MATROSKA_ID_PRIMARYBCHROMATICITYY, primary_b_chromaticity_y, 0) ++F(MATROSKA_ID_PRIMARYGCHROMATICITYX, primary_g_chromaticity_x, 0) ++F(MATROSKA_ID_PRIMARYGCHROMATICITYY, primary_g_chromaticity_y, 0) ++F(MATROSKA_ID_PRIMARYRCHROMATICITYX, primary_r_chromaticity_x, 0) ++F(MATROSKA_ID_PRIMARYRCHROMATICITYY, primary_r_chromaticity_y, 0) ++F(MATROSKA_ID_WHITEPOINTCHROMATICITYX, white_point_chromaticity_x, 0) ++F(MATROSKA_ID_WHITEPOINTCHROMATICITYY, white_point_chromaticity_y, 0) ++}}; ++#undef N ++ ++#define N colour ++E_S("Colour", 14) ++F(MATROSKA_ID_BITSPERCHANNEL, bits_per_channel, 0) ++F(MATROSKA_ID_CBSUBSAMPLINGHORZ, cb_subsampling_horz, 0) ++F(MATROSKA_ID_CBSUBSAMPLINGVERT, cb_subsampling_vert, 0) ++F(MATROSKA_ID_CHROMASITINGHORZ, chroma_siting_horz, 0) ++F(MATROSKA_ID_CHROMASITINGVERT, chroma_siting_vert, 0) ++F(MATROSKA_ID_CHROMASUBSAMPLINGHORZ, chroma_subsampling_horz, 0) ++F(MATROSKA_ID_CHROMASUBSAMPLINGVERT, chroma_subsampling_vert, 0) ++F(MATROSKA_ID_MASTERINGMETADATA, mastering_metadata, 0) ++F(MATROSKA_ID_MATRIXCOEFFICIENTS, matrix_coefficients, 0) ++F(MATROSKA_ID_MAXCLL, max_cll, 0) ++F(MATROSKA_ID_MAXFALL, max_fall, 0) ++F(MATROSKA_ID_PRIMARIES, primaries, 0) ++F(MATROSKA_ID_RANGE, range, 0) ++F(MATROSKA_ID_TRANSFERCHARACTERISTICS, transfer_characteristics, 0) ++}}; ++#undef N ++ ++#define N video ++E_S("Video", 10) ++F(MATROSKA_ID_COLOUR, colour, 0) ++F(MATROSKA_ID_COLOURSPACE, colour_space, 0) ++F(MATROSKA_ID_DISPLAYHEIGHT, display_height, 0) ++F(MATROSKA_ID_DISPLAYUNIT, display_unit, 0) ++F(MATROSKA_ID_DISPLAYWIDTH, display_width, 0) ++F(MATROSKA_ID_FLAGINTERLACED, flag_interlaced, 0) ++F(MATROSKA_ID_FRAMERATE, frame_rate, 0) ++F(MATROSKA_ID_PIXELHEIGHT, pixel_height, 0) ++F(MATROSKA_ID_PIXELWIDTH, pixel_width, 0) ++F(MATROSKA_ID_STEREOMODE, stereo_mode, 0) ++}}; ++#undef N ++ ++E("SamplingFrequency", sampling_frequency, EBML_TYPE_FLOAT) ++ ++E("OutputSamplingFrequency", output_sampling_frequency, EBML_TYPE_FLOAT) ++ ++E("Channels", channels, EBML_TYPE_UINT) ++ ++E("BitDepth", bit_depth, EBML_TYPE_UINT) ++ ++#define N audio ++E_S("Audio", 4) ++F(MATROSKA_ID_BITDEPTH, bit_depth, 0) ++F(MATROSKA_ID_CHANNELS, channels, 0) ++F(MATROSKA_ID_OUTPUTSAMPLINGFREQUENCY, output_sampling_frequency, 0) ++F(MATROSKA_ID_SAMPLINGFREQUENCY, sampling_frequency, 0) ++}}; ++#undef N ++ ++E("ContentEncodingOrder", content_encoding_order, EBML_TYPE_UINT) ++ ++E("ContentEncodingScope", content_encoding_scope, EBML_TYPE_UINT) ++ ++E("ContentEncodingType", content_encoding_type, EBML_TYPE_UINT) ++ ++E("ContentCompAlgo", content_comp_algo, EBML_TYPE_UINT) ++ ++E("ContentCompSettings", content_comp_settings, EBML_TYPE_BINARY) ++ ++#define N content_compression ++E_S("ContentCompression", 2) ++F(MATROSKA_ID_CONTENTCOMPALGO, content_comp_algo, 0) ++F(MATROSKA_ID_CONTENTCOMPSETTINGS, content_comp_settings, 0) ++}}; ++#undef N ++ ++#define N content_encoding ++E_S("ContentEncoding", 4) ++F(MATROSKA_ID_CONTENTCOMPRESSION, content_compression, 0) ++F(MATROSKA_ID_CONTENTENCODINGORDER, content_encoding_order, 0) ++F(MATROSKA_ID_CONTENTENCODINGSCOPE, content_encoding_scope, 0) ++F(MATROSKA_ID_CONTENTENCODINGTYPE, content_encoding_type, 0) ++}}; ++#undef N ++ ++#define N content_encodings ++E_S("ContentEncodings", 1) ++F(MATROSKA_ID_CONTENTENCODING, content_encoding, 1) ++}}; ++#undef N ++ ++#define N track_entry ++E_S("TrackEntry", 23) ++F(MATROSKA_ID_AUDIO, audio, 0) ++F(MATROSKA_ID_CODECDECODEALL, codec_decode_all, 0) ++F(MATROSKA_ID_CODECDELAY, codec_delay, 0) ++F(MATROSKA_ID_CODECID, codec_id, 0) ++F(MATROSKA_ID_CODECNAME, codec_name, 0) ++F(MATROSKA_ID_CODECPRIVATE, codec_private, 0) ++F(MATROSKA_ID_CONTENTENCODINGS, content_encodings, 0) ++F(MATROSKA_ID_DEFAULTDURATION, default_duration, 0) ++F(MATROSKA_ID_FLAGDEFAULT, flag_default, 0) ++F(MATROSKA_ID_FLAGENABLED, flag_enabled, 0) ++F(MATROSKA_ID_FLAGFORCED, flag_forced, 0) ++F(MATROSKA_ID_FLAGLACING, flag_lacing, 0) ++F(MATROSKA_ID_LANGUAGE, language, 0) ++F(MATROSKA_ID_MAXBLOCKADDITIONID, max_block_addition_id, 0) ++F(MATROSKA_ID_MAXCACHE, max_cache, 0) ++F(MATROSKA_ID_MINCACHE, min_cache, 0) ++F(MATROSKA_ID_NAME, name, 0) ++F(MATROSKA_ID_SEEKPREROLL, seek_pre_roll, 0) ++F(MATROSKA_ID_TRACKNUMBER, track_number, 0) ++F(MATROSKA_ID_TRACKTIMECODESCALE, track_timecode_scale, 0) ++F(MATROSKA_ID_TRACKTYPE, track_type, 0) ++F(MATROSKA_ID_TRACKUID, track_uid, 0) ++F(MATROSKA_ID_VIDEO, video, 0) ++}}; ++#undef N ++ ++#define N tracks ++E_S("Tracks", 1) ++F(MATROSKA_ID_TRACKENTRY, track_entry, 1) ++}}; ++#undef N ++ ++E("CueTime", cue_time, EBML_TYPE_UINT) ++ ++E("CueTrack", cue_track, EBML_TYPE_UINT) ++ ++E("CueClusterPosition", cue_cluster_position, EBML_TYPE_UINT) ++ ++E("CueRelativePosition", cue_relative_position, EBML_TYPE_UINT) ++ ++E("CueDuration", cue_duration, EBML_TYPE_UINT) ++ ++#define N cue_track_positions ++E_S("CueTrackPositions", 4) ++F(MATROSKA_ID_CUECLUSTERPOSITION, cue_cluster_position, 0) ++F(MATROSKA_ID_CUEDURATION, cue_duration, 0) ++F(MATROSKA_ID_CUERELATIVEPOSITION, cue_relative_position, 0) ++F(MATROSKA_ID_CUETRACK, cue_track, 0) ++}}; ++#undef N ++ ++#define N cue_point ++E_S("CuePoint", 2) ++F(MATROSKA_ID_CUETIME, cue_time, 0) ++F(MATROSKA_ID_CUETRACKPOSITIONS, cue_track_positions, 1) ++}}; ++#undef N ++ ++#define N cues ++E_S("Cues", 1) ++F(MATROSKA_ID_CUEPOINT, cue_point, 1) ++}}; ++#undef N ++ ++E("FileDescription", file_description, EBML_TYPE_STR) ++ ++E("FileName", file_name, EBML_TYPE_STR) ++ ++E("FileMimeType", file_mime_type, EBML_TYPE_STR) ++ ++E("FileData", file_data, EBML_TYPE_BINARY) ++ ++E("FileUID", file_uid, EBML_TYPE_UINT) ++ ++#define N attached_file ++E_S("AttachedFile", 5) ++F(MATROSKA_ID_FILEDATA, file_data, 0) ++F(MATROSKA_ID_FILEDESCRIPTION, file_description, 0) ++F(MATROSKA_ID_FILEMIMETYPE, file_mime_type, 0) ++F(MATROSKA_ID_FILENAME, file_name, 0) ++F(MATROSKA_ID_FILEUID, file_uid, 0) ++}}; ++#undef N ++ ++#define N attachments ++E_S("Attachments", 1) ++F(MATROSKA_ID_ATTACHEDFILE, attached_file, 1) ++}}; ++#undef N ++ ++E("EditionUID", edition_uid, EBML_TYPE_UINT) ++ ++E("EditionFlagHidden", edition_flag_hidden, EBML_TYPE_UINT) ++ ++E("EditionFlagDefault", edition_flag_default, EBML_TYPE_UINT) ++ ++E("EditionFlagOrdered", edition_flag_ordered, EBML_TYPE_UINT) ++ ++E("ChapterUID", chapter_uid, EBML_TYPE_UINT) ++ ++E("ChapterTimeStart", chapter_time_start, EBML_TYPE_UINT) ++ ++E("ChapterTimeEnd", chapter_time_end, EBML_TYPE_UINT) ++ ++E("ChapterFlagHidden", chapter_flag_hidden, EBML_TYPE_UINT) ++ ++E("ChapterFlagEnabled", chapter_flag_enabled, EBML_TYPE_UINT) ++ ++E("ChapterSegmentUID", chapter_segment_uid, EBML_TYPE_BINARY) ++ ++E("ChapterSegmentEditionUID", chapter_segment_edition_uid, EBML_TYPE_UINT) ++ ++E("ChapString", chap_string, EBML_TYPE_STR) ++ ++E("ChapLanguage", chap_language, EBML_TYPE_STR) ++ ++E("ChapCountry", chap_country, EBML_TYPE_STR) ++ ++#define N chapter_display ++E_S("ChapterDisplay", 3) ++F(MATROSKA_ID_CHAPCOUNTRY, chap_country, 1) ++F(MATROSKA_ID_CHAPLANGUAGE, chap_language, 1) ++F(MATROSKA_ID_CHAPSTRING, chap_string, 0) ++}}; ++#undef N ++ ++#define N chapter_atom ++E_S("ChapterAtom", 8) ++F(MATROSKA_ID_CHAPTERDISPLAY, chapter_display, 1) ++F(MATROSKA_ID_CHAPTERFLAGENABLED, chapter_flag_enabled, 0) ++F(MATROSKA_ID_CHAPTERFLAGHIDDEN, chapter_flag_hidden, 0) ++F(MATROSKA_ID_CHAPTERSEGMENTEDITIONUID, chapter_segment_edition_uid, 0) ++F(MATROSKA_ID_CHAPTERSEGMENTUID, chapter_segment_uid, 0) ++F(MATROSKA_ID_CHAPTERTIMEEND, chapter_time_end, 0) ++F(MATROSKA_ID_CHAPTERTIMESTART, chapter_time_start, 0) ++F(MATROSKA_ID_CHAPTERUID, chapter_uid, 0) ++}}; ++#undef N ++ ++#define N edition_entry ++E_S("EditionEntry", 5) ++F(MATROSKA_ID_CHAPTERATOM, chapter_atom, 1) ++F(MATROSKA_ID_EDITIONFLAGDEFAULT, edition_flag_default, 0) ++F(MATROSKA_ID_EDITIONFLAGHIDDEN, edition_flag_hidden, 0) ++F(MATROSKA_ID_EDITIONFLAGORDERED, edition_flag_ordered, 0) ++F(MATROSKA_ID_EDITIONUID, edition_uid, 0) ++}}; ++#undef N ++ ++#define N chapters ++E_S("Chapters", 1) ++F(MATROSKA_ID_EDITIONENTRY, edition_entry, 1) ++}}; ++#undef N ++ ++E("TargetTypeValue", target_type_value, EBML_TYPE_UINT) ++ ++E("TargetTrackUID", target_track_uid, EBML_TYPE_UINT) ++ ++E("TargetEditionUID", target_edition_uid, EBML_TYPE_UINT) ++ ++E("TargetChapterUID", target_chapter_uid, EBML_TYPE_UINT) ++ ++E("TargetAttachmentUID", target_attachment_uid, EBML_TYPE_UINT) ++ ++#define N targets ++E_S("Targets", 5) ++F(MATROSKA_ID_TARGETATTACHMENTUID, target_attachment_uid, 0) ++F(MATROSKA_ID_TARGETCHAPTERUID, target_chapter_uid, 0) ++F(MATROSKA_ID_TARGETEDITIONUID, target_edition_uid, 0) ++F(MATROSKA_ID_TARGETTRACKUID, target_track_uid, 0) ++F(MATROSKA_ID_TARGETTYPEVALUE, target_type_value, 0) ++}}; ++#undef N ++ ++E("TagName", tag_name, EBML_TYPE_STR) ++ ++E("TagLanguage", tag_language, EBML_TYPE_STR) ++ ++E("TagString", tag_string, EBML_TYPE_STR) ++ ++#define N simple_tag ++E_S("SimpleTag", 3) ++F(MATROSKA_ID_TAGLANGUAGE, tag_language, 0) ++F(MATROSKA_ID_TAGNAME, tag_name, 0) ++F(MATROSKA_ID_TAGSTRING, tag_string, 0) ++}}; ++#undef N ++ ++#define N tag ++E_S("Tag", 2) ++F(MATROSKA_ID_SIMPLETAG, simple_tag, 1) ++F(MATROSKA_ID_TARGETS, targets, 0) ++}}; ++#undef N ++ ++#define N tags ++E_S("Tags", 1) ++F(MATROSKA_ID_TAG, tag, 1) ++}}; ++#undef N ++ ++#define N segment ++E_S("Segment", 8) ++F(MATROSKA_ID_ATTACHMENTS, attachments, 0) ++F(MATROSKA_ID_CHAPTERS, chapters, 0) ++F(MATROSKA_ID_CLUSTER, cluster, 1) ++F(MATROSKA_ID_CUES, cues, 0) ++F(MATROSKA_ID_INFO, info, 1) ++F(MATROSKA_ID_SEEKHEAD, seek_head, 1) ++F(MATROSKA_ID_TAGS, tags, 1) ++F(MATROSKA_ID_TRACKS, tracks, 1) ++}}; ++#undef N +diff --git a/demux/ebml_types.h b/demux/ebml_types.h +new file mode 100644 +index 000000000..4c61d77a0 +--- /dev/null ++++ b/demux/ebml_types.h +@@ -0,0 +1,587 @@ ++/* Generated by TOOLS/matroska.pl, do not edit manually */ ++ ++#define EBML_ID_EBMLVERSION 0x4286 ++#define EBML_ID_EBMLREADVERSION 0x42f7 ++#define EBML_ID_EBMLMAXIDLENGTH 0x42f2 ++#define EBML_ID_EBMLMAXSIZELENGTH 0x42f3 ++#define EBML_ID_DOCTYPE 0x4282 ++#define EBML_ID_DOCTYPEVERSION 0x4287 ++#define EBML_ID_DOCTYPEREADVERSION 0x4285 ++#define EBML_ID_EBML 0x1a45dfa3 ++#define EBML_ID_CRC32 0xbf ++#define EBML_ID_VOID 0xec ++#define MATROSKA_ID_SEEKID 0x53ab ++#define MATROSKA_ID_SEEKPOSITION 0x53ac ++#define MATROSKA_ID_SEEK 0x4dbb ++#define MATROSKA_ID_SEEKHEAD 0x114d9b74 ++#define MATROSKA_ID_SEGMENTUID 0x73a4 ++#define MATROSKA_ID_PREVUID 0x3cb923 ++#define MATROSKA_ID_NEXTUID 0x3eb923 ++#define MATROSKA_ID_TIMECODESCALE 0x2ad7b1 ++#define MATROSKA_ID_DATEUTC 0x4461 ++#define MATROSKA_ID_TITLE 0x7ba9 ++#define MATROSKA_ID_MUXINGAPP 0x4d80 ++#define MATROSKA_ID_WRITINGAPP 0x5741 ++#define MATROSKA_ID_DURATION 0x4489 ++#define MATROSKA_ID_INFO 0x1549a966 ++#define MATROSKA_ID_TIMECODE 0xe7 ++#define MATROSKA_ID_BLOCK 0xa1 ++#define MATROSKA_ID_BLOCKDURATION 0x9b ++#define MATROSKA_ID_REFERENCEBLOCK 0xfb ++#define MATROSKA_ID_DISCARDPADDING 0x75A2 ++#define MATROSKA_ID_BLOCKGROUP 0xa0 ++#define MATROSKA_ID_SIMPLEBLOCK 0xa3 ++#define MATROSKA_ID_CLUSTER 0x1f43b675 ++#define MATROSKA_ID_TRACKNUMBER 0xd7 ++#define MATROSKA_ID_TRACKUID 0x73c5 ++#define MATROSKA_ID_TRACKTYPE 0x83 ++#define MATROSKA_ID_FLAGENABLED 0xb9 ++#define MATROSKA_ID_FLAGDEFAULT 0x88 ++#define MATROSKA_ID_FLAGFORCED 0x55aa ++#define MATROSKA_ID_FLAGLACING 0x9c ++#define MATROSKA_ID_MINCACHE 0x6de7 ++#define MATROSKA_ID_MAXCACHE 0x6df8 ++#define MATROSKA_ID_DEFAULTDURATION 0x23e383 ++#define MATROSKA_ID_TRACKTIMECODESCALE 0x23314f ++#define MATROSKA_ID_MAXBLOCKADDITIONID 0x55ee ++#define MATROSKA_ID_NAME 0x536e ++#define MATROSKA_ID_LANGUAGE 0x22b59c ++#define MATROSKA_ID_CODECID 0x86 ++#define MATROSKA_ID_CODECPRIVATE 0x63a2 ++#define MATROSKA_ID_CODECNAME 0x258688 ++#define MATROSKA_ID_CODECDECODEALL 0xaa ++#define MATROSKA_ID_CODECDELAY 0x56AA ++#define MATROSKA_ID_SEEKPREROLL 0x56BB ++#define MATROSKA_ID_FLAGINTERLACED 0x9a ++#define MATROSKA_ID_PIXELWIDTH 0xb0 ++#define MATROSKA_ID_PIXELHEIGHT 0xba ++#define MATROSKA_ID_DISPLAYWIDTH 0x54b0 ++#define MATROSKA_ID_DISPLAYHEIGHT 0x54ba ++#define MATROSKA_ID_DISPLAYUNIT 0x54b2 ++#define MATROSKA_ID_FRAMERATE 0x2383e3 ++#define MATROSKA_ID_COLOURSPACE 0x2eb524 ++#define MATROSKA_ID_STEREOMODE 0x53b8 ++#define MATROSKA_ID_MATRIXCOEFFICIENTS 0x55B1 ++#define MATROSKA_ID_BITSPERCHANNEL 0x55B2 ++#define MATROSKA_ID_CHROMASUBSAMPLINGHORZ 0x55B3 ++#define MATROSKA_ID_CHROMASUBSAMPLINGVERT 0x55B4 ++#define MATROSKA_ID_CBSUBSAMPLINGHORZ 0x55B5 ++#define MATROSKA_ID_CBSUBSAMPLINGVERT 0x55B6 ++#define MATROSKA_ID_CHROMASITINGHORZ 0x55B7 ++#define MATROSKA_ID_CHROMASITINGVERT 0x55B8 ++#define MATROSKA_ID_RANGE 0x55B9 ++#define MATROSKA_ID_TRANSFERCHARACTERISTICS 0x55BA ++#define MATROSKA_ID_PRIMARIES 0x55BB ++#define MATROSKA_ID_MAXCLL 0x55BC ++#define MATROSKA_ID_MAXFALL 0x55BD ++#define MATROSKA_ID_PRIMARYRCHROMATICITYX 0x55D1 ++#define MATROSKA_ID_PRIMARYRCHROMATICITYY 0x55D2 ++#define MATROSKA_ID_PRIMARYGCHROMATICITYX 0x55D3 ++#define MATROSKA_ID_PRIMARYGCHROMATICITYY 0x55D4 ++#define MATROSKA_ID_PRIMARYBCHROMATICITYX 0x55D5 ++#define MATROSKA_ID_PRIMARYBCHROMATICITYY 0x55D6 ++#define MATROSKA_ID_WHITEPOINTCHROMATICITYX 0x55D7 ++#define MATROSKA_ID_WHITEPOINTCHROMATICITYY 0x55D8 ++#define MATROSKA_ID_LUMINANCEMAX 0x55D9 ++#define MATROSKA_ID_LUMINANCEMIN 0x55DA ++#define MATROSKA_ID_MASTERINGMETADATA 0x55D0 ++#define MATROSKA_ID_COLOUR 0x55B0 ++#define MATROSKA_ID_VIDEO 0xe0 ++#define MATROSKA_ID_SAMPLINGFREQUENCY 0xb5 ++#define MATROSKA_ID_OUTPUTSAMPLINGFREQUENCY 0x78b5 ++#define MATROSKA_ID_CHANNELS 0x9f ++#define MATROSKA_ID_BITDEPTH 0x6264 ++#define MATROSKA_ID_AUDIO 0xe1 ++#define MATROSKA_ID_CONTENTENCODINGORDER 0x5031 ++#define MATROSKA_ID_CONTENTENCODINGSCOPE 0x5032 ++#define MATROSKA_ID_CONTENTENCODINGTYPE 0x5033 ++#define MATROSKA_ID_CONTENTCOMPALGO 0x4254 ++#define MATROSKA_ID_CONTENTCOMPSETTINGS 0x4255 ++#define MATROSKA_ID_CONTENTCOMPRESSION 0x5034 ++#define MATROSKA_ID_CONTENTENCODING 0x6240 ++#define MATROSKA_ID_CONTENTENCODINGS 0x6d80 ++#define MATROSKA_ID_TRACKENTRY 0xae ++#define MATROSKA_ID_TRACKS 0x1654ae6b ++#define MATROSKA_ID_CUETIME 0xb3 ++#define MATROSKA_ID_CUETRACK 0xf7 ++#define MATROSKA_ID_CUECLUSTERPOSITION 0xf1 ++#define MATROSKA_ID_CUERELATIVEPOSITION 0xf0 ++#define MATROSKA_ID_CUEDURATION 0xb2 ++#define MATROSKA_ID_CUETRACKPOSITIONS 0xb7 ++#define MATROSKA_ID_CUEPOINT 0xbb ++#define MATROSKA_ID_CUES 0x1c53bb6b ++#define MATROSKA_ID_FILEDESCRIPTION 0x467e ++#define MATROSKA_ID_FILENAME 0x466e ++#define MATROSKA_ID_FILEMIMETYPE 0x4660 ++#define MATROSKA_ID_FILEDATA 0x465c ++#define MATROSKA_ID_FILEUID 0x46ae ++#define MATROSKA_ID_ATTACHEDFILE 0x61a7 ++#define MATROSKA_ID_ATTACHMENTS 0x1941a469 ++#define MATROSKA_ID_EDITIONUID 0x45bc ++#define MATROSKA_ID_EDITIONFLAGHIDDEN 0x45bd ++#define MATROSKA_ID_EDITIONFLAGDEFAULT 0x45db ++#define MATROSKA_ID_EDITIONFLAGORDERED 0x45dd ++#define MATROSKA_ID_CHAPTERUID 0x73c4 ++#define MATROSKA_ID_CHAPTERTIMESTART 0x91 ++#define MATROSKA_ID_CHAPTERTIMEEND 0x92 ++#define MATROSKA_ID_CHAPTERFLAGHIDDEN 0x98 ++#define MATROSKA_ID_CHAPTERFLAGENABLED 0x4598 ++#define MATROSKA_ID_CHAPTERSEGMENTUID 0x6e67 ++#define MATROSKA_ID_CHAPTERSEGMENTEDITIONUID 0x6ebc ++#define MATROSKA_ID_CHAPSTRING 0x85 ++#define MATROSKA_ID_CHAPLANGUAGE 0x437c ++#define MATROSKA_ID_CHAPCOUNTRY 0x437e ++#define MATROSKA_ID_CHAPTERDISPLAY 0x80 ++#define MATROSKA_ID_CHAPTERATOM 0xb6 ++#define MATROSKA_ID_EDITIONENTRY 0x45b9 ++#define MATROSKA_ID_CHAPTERS 0x1043a770 ++#define MATROSKA_ID_TARGETTYPEVALUE 0x68ca ++#define MATROSKA_ID_TARGETTRACKUID 0x63c5 ++#define MATROSKA_ID_TARGETEDITIONUID 0x63c9 ++#define MATROSKA_ID_TARGETCHAPTERUID 0x63c4 ++#define MATROSKA_ID_TARGETATTACHMENTUID 0x63c6 ++#define MATROSKA_ID_TARGETS 0x63c0 ++#define MATROSKA_ID_TAGNAME 0x45a3 ++#define MATROSKA_ID_TAGLANGUAGE 0x447a ++#define MATROSKA_ID_TAGSTRING 0x4487 ++#define MATROSKA_ID_SIMPLETAG 0x67c8 ++#define MATROSKA_ID_TAG 0x7373 ++#define MATROSKA_ID_TAGS 0x1254c367 ++#define MATROSKA_ID_SEGMENT 0x18538067 ++ ++ ++struct ebml_ebml { ++ char * doc_type; ++ uint64_t doc_type_read_version; ++ uint64_t doc_type_version; ++ uint64_t ebml_max_id_length; ++ uint64_t ebml_max_size_length; ++ uint64_t ebml_read_version; ++ uint64_t ebml_version; ++ ++ int n_ebml_version; ++ int n_ebml_max_id_length; ++ int n_ebml_max_size_length; ++ int n_doc_type; ++ int n_doc_type_version; ++ int n_doc_type_read_version; ++ int n_ebml_read_version; ++}; ++ ++struct ebml_seek { ++ uint32_t seek_id; ++ uint64_t seek_position; ++ ++ int n_seek_position; ++ int n_seek_id; ++}; ++ ++struct ebml_seek_head { ++ struct ebml_seek *seek; ++ ++ int n_seek; ++}; ++ ++struct ebml_info { ++ int64_t date_utc; ++ double duration; ++ char * muxing_app; ++ struct bstr next_uid; ++ struct bstr prev_uid; ++ struct bstr segment_uid; ++ uint64_t timecode_scale; ++ char * title; ++ char * writing_app; ++ ++ int n_segment_uid; ++ int n_prev_uid; ++ int n_next_uid; ++ int n_timecode_scale; ++ int n_date_utc; ++ int n_title; ++ int n_muxing_app; ++ int n_writing_app; ++ int n_duration; ++}; ++ ++struct ebml_block_group { ++ struct bstr block; ++ uint64_t block_duration; ++ int64_t discard_padding; ++ int64_t *reference_block; ++ ++ int n_block; ++ int n_block_duration; ++ int n_reference_block; ++ int n_discard_padding; ++}; ++ ++struct ebml_cluster { ++ struct ebml_block_group *block_group; ++ struct bstr *simple_block; ++ uint64_t timecode; ++ ++ int n_timecode; ++ int n_block_group; ++ int n_simple_block; ++}; ++ ++struct ebml_mastering_metadata { ++ double luminance_max; ++ double luminance_min; ++ double primary_b_chromaticity_x; ++ double primary_b_chromaticity_y; ++ double primary_g_chromaticity_x; ++ double primary_g_chromaticity_y; ++ double primary_r_chromaticity_x; ++ double primary_r_chromaticity_y; ++ double white_point_chromaticity_x; ++ double white_point_chromaticity_y; ++ ++ int n_primary_r_chromaticity_x; ++ int n_primary_r_chromaticity_y; ++ int n_primary_g_chromaticity_x; ++ int n_primary_g_chromaticity_y; ++ int n_primary_b_chromaticity_x; ++ int n_primary_b_chromaticity_y; ++ int n_white_point_chromaticity_x; ++ int n_white_point_chromaticity_y; ++ int n_luminance_max; ++ int n_luminance_min; ++}; ++ ++struct ebml_colour { ++ uint64_t bits_per_channel; ++ uint64_t cb_subsampling_horz; ++ uint64_t cb_subsampling_vert; ++ uint64_t chroma_siting_horz; ++ uint64_t chroma_siting_vert; ++ uint64_t chroma_subsampling_horz; ++ uint64_t chroma_subsampling_vert; ++ struct ebml_mastering_metadata mastering_metadata; ++ uint64_t matrix_coefficients; ++ uint64_t max_cll; ++ uint64_t max_fall; ++ uint64_t primaries; ++ uint64_t range; ++ uint64_t transfer_characteristics; ++ ++ int n_matrix_coefficients; ++ int n_bits_per_channel; ++ int n_chroma_subsampling_horz; ++ int n_chroma_subsampling_vert; ++ int n_cb_subsampling_horz; ++ int n_cb_subsampling_vert; ++ int n_chroma_siting_horz; ++ int n_chroma_siting_vert; ++ int n_range; ++ int n_transfer_characteristics; ++ int n_primaries; ++ int n_max_cll; ++ int n_max_fall; ++ int n_mastering_metadata; ++}; ++ ++struct ebml_video { ++ struct ebml_colour colour; ++ struct bstr colour_space; ++ uint64_t display_height; ++ uint64_t display_unit; ++ uint64_t display_width; ++ uint64_t flag_interlaced; ++ double frame_rate; ++ uint64_t pixel_height; ++ uint64_t pixel_width; ++ uint64_t stereo_mode; ++ ++ int n_flag_interlaced; ++ int n_pixel_width; ++ int n_pixel_height; ++ int n_display_width; ++ int n_display_height; ++ int n_display_unit; ++ int n_frame_rate; ++ int n_colour_space; ++ int n_stereo_mode; ++ int n_colour; ++}; ++ ++struct ebml_audio { ++ uint64_t bit_depth; ++ uint64_t channels; ++ double output_sampling_frequency; ++ double sampling_frequency; ++ ++ int n_sampling_frequency; ++ int n_output_sampling_frequency; ++ int n_channels; ++ int n_bit_depth; ++}; ++ ++struct ebml_content_compression { ++ uint64_t content_comp_algo; ++ struct bstr content_comp_settings; ++ ++ int n_content_comp_algo; ++ int n_content_comp_settings; ++}; ++ ++struct ebml_content_encoding { ++ struct ebml_content_compression content_compression; ++ uint64_t content_encoding_order; ++ uint64_t content_encoding_scope; ++ uint64_t content_encoding_type; ++ ++ int n_content_encoding_order; ++ int n_content_encoding_scope; ++ int n_content_encoding_type; ++ int n_content_compression; ++}; ++ ++struct ebml_content_encodings { ++ struct ebml_content_encoding *content_encoding; ++ ++ int n_content_encoding; ++}; ++ ++struct ebml_track_entry { ++ struct ebml_audio audio; ++ uint64_t codec_decode_all; ++ uint64_t codec_delay; ++ char * codec_id; ++ char * codec_name; ++ struct bstr codec_private; ++ struct ebml_content_encodings content_encodings; ++ uint64_t default_duration; ++ uint64_t flag_default; ++ uint64_t flag_enabled; ++ uint64_t flag_forced; ++ uint64_t flag_lacing; ++ char * language; ++ uint64_t max_block_addition_id; ++ uint64_t max_cache; ++ uint64_t min_cache; ++ char * name; ++ uint64_t seek_pre_roll; ++ uint64_t track_number; ++ double track_timecode_scale; ++ uint64_t track_type; ++ uint64_t track_uid; ++ struct ebml_video video; ++ ++ int n_track_number; ++ int n_track_uid; ++ int n_track_type; ++ int n_flag_enabled; ++ int n_flag_default; ++ int n_flag_forced; ++ int n_flag_lacing; ++ int n_min_cache; ++ int n_max_cache; ++ int n_default_duration; ++ int n_track_timecode_scale; ++ int n_max_block_addition_id; ++ int n_name; ++ int n_language; ++ int n_codec_id; ++ int n_codec_private; ++ int n_codec_name; ++ int n_codec_decode_all; ++ int n_codec_delay; ++ int n_seek_pre_roll; ++ int n_video; ++ int n_audio; ++ int n_content_encodings; ++}; ++ ++struct ebml_tracks { ++ struct ebml_track_entry *track_entry; ++ ++ int n_track_entry; ++}; ++ ++struct ebml_cue_track_positions { ++ uint64_t cue_cluster_position; ++ uint64_t cue_duration; ++ uint64_t cue_relative_position; ++ uint64_t cue_track; ++ ++ int n_cue_track; ++ int n_cue_cluster_position; ++ int n_cue_relative_position; ++ int n_cue_duration; ++}; ++ ++struct ebml_cue_point { ++ uint64_t cue_time; ++ struct ebml_cue_track_positions *cue_track_positions; ++ ++ int n_cue_time; ++ int n_cue_track_positions; ++}; ++ ++struct ebml_cues { ++ struct ebml_cue_point *cue_point; ++ ++ int n_cue_point; ++}; ++ ++struct ebml_attached_file { ++ struct bstr file_data; ++ char * file_description; ++ char * file_mime_type; ++ char * file_name; ++ uint64_t file_uid; ++ ++ int n_file_description; ++ int n_file_name; ++ int n_file_mime_type; ++ int n_file_data; ++ int n_file_uid; ++}; ++ ++struct ebml_attachments { ++ struct ebml_attached_file *attached_file; ++ ++ int n_attached_file; ++}; ++ ++struct ebml_chapter_display { ++ char * *chap_country; ++ char * *chap_language; ++ char * chap_string; ++ ++ int n_chap_string; ++ int n_chap_language; ++ int n_chap_country; ++}; ++ ++struct ebml_chapter_atom { ++ struct ebml_chapter_display *chapter_display; ++ uint64_t chapter_flag_enabled; ++ uint64_t chapter_flag_hidden; ++ uint64_t chapter_segment_edition_uid; ++ struct bstr chapter_segment_uid; ++ uint64_t chapter_time_end; ++ uint64_t chapter_time_start; ++ uint64_t chapter_uid; ++ ++ int n_chapter_uid; ++ int n_chapter_time_start; ++ int n_chapter_time_end; ++ int n_chapter_flag_hidden; ++ int n_chapter_flag_enabled; ++ int n_chapter_segment_uid; ++ int n_chapter_segment_edition_uid; ++ int n_chapter_display; ++}; ++ ++struct ebml_edition_entry { ++ struct ebml_chapter_atom *chapter_atom; ++ uint64_t edition_flag_default; ++ uint64_t edition_flag_hidden; ++ uint64_t edition_flag_ordered; ++ uint64_t edition_uid; ++ ++ int n_edition_uid; ++ int n_edition_flag_hidden; ++ int n_edition_flag_default; ++ int n_edition_flag_ordered; ++ int n_chapter_atom; ++}; ++ ++struct ebml_chapters { ++ struct ebml_edition_entry *edition_entry; ++ ++ int n_edition_entry; ++}; ++ ++struct ebml_targets { ++ uint64_t target_attachment_uid; ++ uint64_t target_chapter_uid; ++ uint64_t target_edition_uid; ++ uint64_t target_track_uid; ++ uint64_t target_type_value; ++ ++ int n_target_type_value; ++ int n_target_track_uid; ++ int n_target_edition_uid; ++ int n_target_chapter_uid; ++ int n_target_attachment_uid; ++}; ++ ++struct ebml_simple_tag { ++ char * tag_language; ++ char * tag_name; ++ char * tag_string; ++ ++ int n_tag_name; ++ int n_tag_language; ++ int n_tag_string; ++}; ++ ++struct ebml_tag { ++ struct ebml_simple_tag *simple_tag; ++ struct ebml_targets targets; ++ ++ int n_targets; ++ int n_simple_tag; ++}; ++ ++struct ebml_tags { ++ struct ebml_tag *tag; ++ ++ int n_tag; ++}; ++ ++struct ebml_segment { ++ struct ebml_attachments attachments; ++ struct ebml_chapters chapters; ++ struct ebml_cluster *cluster; ++ struct ebml_cues cues; ++ struct ebml_info *info; ++ struct ebml_seek_head *seek_head; ++ struct ebml_tags *tags; ++ struct ebml_tracks *tracks; ++ ++ int n_seek_head; ++ int n_info; ++ int n_cluster; ++ int n_tracks; ++ int n_cues; ++ int n_attachments; ++ int n_chapters; ++ int n_tags; ++}; ++ ++extern const struct ebml_elem_desc ebml_ebml_desc; ++extern const struct ebml_elem_desc ebml_seek_desc; ++extern const struct ebml_elem_desc ebml_seek_head_desc; ++extern const struct ebml_elem_desc ebml_info_desc; ++extern const struct ebml_elem_desc ebml_block_group_desc; ++extern const struct ebml_elem_desc ebml_cluster_desc; ++extern const struct ebml_elem_desc ebml_mastering_metadata_desc; ++extern const struct ebml_elem_desc ebml_colour_desc; ++extern const struct ebml_elem_desc ebml_video_desc; ++extern const struct ebml_elem_desc ebml_audio_desc; ++extern const struct ebml_elem_desc ebml_content_compression_desc; ++extern const struct ebml_elem_desc ebml_content_encoding_desc; ++extern const struct ebml_elem_desc ebml_content_encodings_desc; ++extern const struct ebml_elem_desc ebml_track_entry_desc; ++extern const struct ebml_elem_desc ebml_tracks_desc; ++extern const struct ebml_elem_desc ebml_cue_track_positions_desc; ++extern const struct ebml_elem_desc ebml_cue_point_desc; ++extern const struct ebml_elem_desc ebml_cues_desc; ++extern const struct ebml_elem_desc ebml_attached_file_desc; ++extern const struct ebml_elem_desc ebml_attachments_desc; ++extern const struct ebml_elem_desc ebml_chapter_display_desc; ++extern const struct ebml_elem_desc ebml_chapter_atom_desc; ++extern const struct ebml_elem_desc ebml_edition_entry_desc; ++extern const struct ebml_elem_desc ebml_chapters_desc; ++extern const struct ebml_elem_desc ebml_targets_desc; ++extern const struct ebml_elem_desc ebml_simple_tag_desc; ++extern const struct ebml_elem_desc ebml_tag_desc; ++extern const struct ebml_elem_desc ebml_tags_desc; ++extern const struct ebml_elem_desc ebml_segment_desc; ++ ++#define MAX_EBML_SUBELEMENTS 23 +-- +2.11.0 + diff --git a/pkg/mpv/patch/0003-Add-generated-man-page.patch b/pkg/mpv/patch/0003-Add-generated-man-page.patch new file mode 100644 index 00000000..5c95cc05 --- /dev/null +++ b/pkg/mpv/patch/0003-Add-generated-man-page.patch @@ -0,0 +1,14159 @@ +From 85c80cb0f48c4d51dd5192b79c543a4b8fd863ec Mon Sep 17 00:00:00 2001 +From: Michael Forney +Date: Sat, 2 Jul 2016 21:08:15 -0700 +Subject: [PATCH] Add generated man page + +This requires python and rst2man to generate. + +$ rst2man.py DOCS/man/mpv.rst DOCS/man/mpv.1 +--- + DOCS/man/mpv.1 | 14137 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 14137 insertions(+) + create mode 100644 DOCS/man/mpv.1 + +diff --git a/DOCS/man/mpv.1 b/DOCS/man/mpv.1 +new file mode 100644 +index 000000000..c411fc606 +--- /dev/null ++++ b/DOCS/man/mpv.1 +@@ -0,0 +1,14137 @@ ++.\" Man page generated from reStructuredText. ++. ++.TH MPV 1 "" "" "multimedia" ++.SH NAME ++mpv \- a media player ++. ++.nr rst2man-indent-level 0 ++. ++.de1 rstReportMargin ++\\$1 \\n[an-margin] ++level \\n[rst2man-indent-level] ++level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] ++- ++\\n[rst2man-indent0] ++\\n[rst2man-indent1] ++\\n[rst2man-indent2] ++.. ++.de1 INDENT ++.\" .rstReportMargin pre: ++. RS \\$1 ++. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] ++. nr rst2man-indent-level +1 ++.\" .rstReportMargin post: ++.. ++.de UNINDENT ++. RE ++.\" indent \\n[an-margin] ++.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] ++.nr rst2man-indent-level -1 ++.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] ++.in \\n[rst2man-indent\\n[rst2man-indent-level]]u ++.. ++.SH SYNOPSIS ++.nf ++\fBmpv\fP [options] [file|URL|PLAYLIST|\-] ++\fBmpv\fP [options] files ++.fi ++.sp ++.SH DESCRIPTION ++.sp ++\fBmpv\fP is a media player based on MPlayer and mplayer2. It supports a wide variety of video ++file formats, audio and video codecs, and subtitle types. Special input URL ++types are available to read input from a variety of sources other than disk ++files. Depending on platform, a variety of different video and audio output ++methods are supported. ++.sp ++Usage examples to get you started quickly can be found at the end of this man ++page. ++.SH INTERACTIVE CONTROL ++.sp ++mpv has a fully configurable, command\-driven control layer which allows you ++to control mpv using keyboard, mouse, or remote control (there is no ++LIRC support \- configure remotes as input devices instead). ++.sp ++See the \fB\-\-input\-\fP options for ways to customize it. ++.sp ++The following listings are not necessarily complete. See \fBetc/input.conf\fP for ++a list of default bindings. User \fBinput.conf\fP files and Lua scripts can ++define additional key bindings. ++.SS Keyboard Control ++.INDENT 0.0 ++.TP ++.B LEFT and RIGHT ++Seek backward/forward 5 seconds. Shift+arrow does a 1 second exact seek ++(see \fB\-\-hr\-seek\fP). ++.TP ++.B UP and DOWN ++Seek forward/backward 1 minute. Shift+arrow does a 5 second exact seek (see ++\fB\-\-hr\-seek\fP). ++.TP ++.B Ctrl+LEFT and Ctrl+RIGHT ++Seek to the previous/next subtitle. Subject to some restrictions and ++might not always work; see \fBsub\-seek\fP command. ++.TP ++.B [ and ] ++Decrease/increase current playback speed by 10%. ++.TP ++.B { and } ++Halve/double current playback speed. ++.TP ++.B BACKSPACE ++Reset playback speed to normal. ++.TP ++.B < and > ++Go backward/forward in the playlist. ++.TP ++.B ENTER ++Go forward in the playlist. ++.TP ++.B p / SPACE ++Pause (pressing again unpauses). ++.TP ++.B \&. ++Step forward. Pressing once will pause, every consecutive press will ++play one frame and then go into pause mode again. ++.UNINDENT ++.INDENT 0.0 ++.TP ++.B , ++Step backward. Pressing once will pause, every consecutive press will ++play one frame in reverse and then go into pause mode again. ++.TP ++.B q ++Stop playing and quit. ++.TP ++.B Q ++Like \fBq\fP, but store the current playback position. Playing the same file ++later will resume at the old playback position if possible. ++.TP ++.B / and * ++Decrease/increase volume. ++.TP ++.B 9 and 0 ++Decrease/increase volume. ++.TP ++.B m ++Mute sound. ++.TP ++.B _ ++Cycle through the available video tracks. ++.TP ++.B # ++Cycle through the available audio tracks. ++.TP ++.B f ++Toggle fullscreen (see also \fB\-\-fs\fP). ++.TP ++.B ESC ++Exit fullscreen mode. ++.TP ++.B T ++Toggle stay\-on\-top (see also \fB\-\-ontop\fP). ++.TP ++.B w and e ++Decrease/increase pan\-and\-scan range. ++.TP ++.B o (also P) ++Show progression bar, elapsed time and total duration on the OSD. ++.TP ++.B O ++Toggle OSD states between normal and playback time/duration. ++.TP ++.B v ++Toggle subtitle visibility. ++.TP ++.B j and J ++Cycle through the available subtitles. ++.TP ++.B x and z ++Adjust subtitle delay by +/\- 0.1 seconds. ++.TP ++.B l ++Set/clear A\-B loop points. See \fBab\-loop\fP command for details. ++.TP ++.B L ++Toggle infinite looping. ++.TP ++.B Ctrl + and Ctrl \- ++Adjust audio delay by +/\- 0.1 seconds. ++.TP ++.B u ++Switch between applying no style overrides to SSA/ASS subtitles, and ++overriding them almost completely with the normal subtitle style. See ++\fB\-\-sub\-ass\-style\-override\fP for more info. ++.TP ++.B V ++Toggle subtitle VSFilter aspect compatibility mode. See ++\fB\-\-sub\-ass\-vsfilter\-aspect\-compat\fP for more info. ++.TP ++.B r and t ++Move subtitles up/down. ++.TP ++.B s ++Take a screenshot. ++.TP ++.B S ++Take a screenshot, without subtitles. (Whether this works depends on VO ++driver support.) ++.TP ++.B Ctrl s ++Take a screenshot, as the window shows it (with subtitles, OSD, and scaled ++video). ++.TP ++.B I ++Show filename on the OSD. ++.TP ++.B PGUP and PGDWN ++Seek to the beginning of the previous/next chapter. In most cases, ++"previous" will actually go to the beginning of the current chapter; see ++\fB\-\-chapter\-seek\-threshold\fP\&. ++.TP ++.B Shift+PGUP and Shift+PGDWN ++Seek backward or forward by 10 minutes. (This used to be mapped to ++PGUP/PGDWN without Shift.) ++.TP ++.B d ++Activate/deactivate deinterlacer. ++.TP ++.B A ++Cycle aspect ratio override. ++.UNINDENT ++.sp ++(The following keys are valid only when using a video output that supports the ++corresponding adjustment, or the software equalizer (\fB\-\-vf=eq\fP).) ++.INDENT 0.0 ++.TP ++.B 1 and 2 ++Adjust contrast. ++.TP ++.B 3 and 4 ++Adjust brightness. ++.TP ++.B 5 and 6 ++Adjust gamma. ++.TP ++.B 7 and 8 ++Adjust saturation. ++.TP ++.B Alt+0 (and command+0 on OSX) ++Resize video window to half its original size. ++.TP ++.B Alt+1 (and command+1 on OSX) ++Resize video window to its original size. ++.TP ++.B Alt+2 (and command+2 on OSX) ++Resize video window to double its original size. ++.TP ++.B command + f (OSX only) ++Toggle fullscreen (see also \fB\-\-fs\fP). ++.TP ++.B command + [ and command + ] (OSX only) ++Set video window alpha. ++.UNINDENT ++.sp ++(The following keys are valid if you have a keyboard with multimedia keys.) ++.INDENT 0.0 ++.TP ++.B PAUSE ++Pause. ++.TP ++.B STOP ++Stop playing and quit. ++.TP ++.B PREVIOUS and NEXT ++Seek backward/forward 1 minute. ++.UNINDENT ++.sp ++(The following keys are only valid if you compiled with TV or DVB input ++support.) ++.INDENT 0.0 ++.TP ++.B h and k ++Select previous/next tv\-channel. ++.TP ++.B H and K ++Select previous/next dvb\-channel. ++.UNINDENT ++.SS Mouse Control ++.INDENT 0.0 ++.TP ++.B button 3 and button 4 ++Seek backward/forward 1 minute. ++.TP ++.B button 5 and button 6 ++Decrease/increase volume. ++.UNINDENT ++.SH USAGE ++.sp ++Every \fIflag\fP option has a \fIno\-flag\fP counterpart, e.g. the opposite of the ++\fB\-\-fs\fP option is \fB\-\-no\-fs\fP\&. \fB\-\-fs=yes\fP is same as \fB\-\-fs\fP, \fB\-\-fs=no\fP ++is the same as \fB\-\-no\-fs\fP\&. ++.sp ++If an option is marked as \fI(XXX only)\fP, it will only work in combination with ++the \fIXXX\fP option or if \fIXXX\fP is compiled in. ++.SS Escaping spaces and other special characters ++.sp ++Keep in mind that the shell will partially parse and mangle the arguments you ++pass to mpv. For example, you might need to quote or escape options and ++filenames: ++.INDENT 0.0 ++.INDENT 3.5 ++\fBmpv "filename with spaces.mkv" \-\-title="window title"\fP ++.UNINDENT ++.UNINDENT ++.sp ++It gets more complicated if the suboption parser is involved. The suboption ++parser puts several options into a single string, and passes them to a ++component at once, instead of using multiple options on the level of the ++command line. ++.sp ++The suboption parser can quote strings with \fB"\fP and \fB[...]\fP\&. ++Additionally, there is a special form of quoting with \fB%n%\fP described below. ++.sp ++For example, assume the hypothetical \fBfoo\fP filter can take multiple options: ++.INDENT 0.0 ++.INDENT 3.5 ++\fBmpv test.mkv \-\-vf=foo:option1=value1:option2:option3=value3,bar\fP ++.UNINDENT ++.UNINDENT ++.sp ++This passes \fBoption1\fP and \fBoption3\fP to the \fBfoo\fP filter, with \fBoption2\fP ++as flag (implicitly \fBoption2=yes\fP), and adds a \fBbar\fP filter after that. If ++an option contains spaces or characters like \fB,\fP or \fB:\fP, you need to quote ++them: ++.INDENT 0.0 ++.INDENT 3.5 ++\fBmpv \(aq\-\-vf=foo:option1="option value with spaces",bar\(aq\fP ++.UNINDENT ++.UNINDENT ++.sp ++Shells may actually strip some quotes from the string passed to the commandline, ++so the example quotes the string twice, ensuring that mpv receives the \fB"\fP ++quotes. ++.sp ++The \fB[...]\fP form of quotes wraps everything between \fB[\fP and \fB]\fP\&. It\(aqs ++useful with shells that don\(aqt interpret these characters in the middle of ++an argument (like bash). These quotes are balanced (since mpv 0.9.0): the \fB[\fP ++and \fB]\fP nest, and the quote terminates on the last \fB]\fP that has no matching ++\fB[\fP within the string. (For example, \fB[a[b]c]\fP results in \fBa[b]c\fP\&.) ++.sp ++The fixed\-length quoting syntax is intended for use with external ++scripts and programs. ++.sp ++It is started with \fB%\fP and has the following format: ++.INDENT 0.0 ++.INDENT 3.5 ++.sp ++.nf ++.ft C ++%n%string_of_length_n ++.ft P ++.fi ++.UNINDENT ++.UNINDENT ++.INDENT 0.0 ++.INDENT 3.5 ++.IP "Examples" ++.sp ++\fBmpv \(aq\-\-vf=foo:option1=%11%quoted text\(aq test.avi\fP ++.sp ++Or in a script: ++.sp ++\fBmpv \-\-vf=foo:option1=%\(gaexpr length "$NAME"\(ga%"$NAME" test.avi\fP ++.UNINDENT ++.UNINDENT ++.sp ++Suboptions passed to the client API are also subject to escaping. Using ++\fBmpv_set_option_string()\fP is exactly like passing \fB\-\-name=data\fP to the ++command line (but without shell processing of the string). Some options ++support passing values in a more structured way instead of flat strings, and ++can avoid the suboption parsing mess. For example, \fB\-\-vf\fP supports ++\fBMPV_FORMAT_NODE\fP, which lets you pass suboptions as a nested data structure ++of maps and arrays. ++.SS Paths ++.sp ++Some care must be taken when passing arbitrary paths and filenames to mpv. For ++example, paths starting with \fB\-\fP will be interpreted as options. Likewise, ++if a path contains the sequence \fB://\fP, the string before that might be ++interpreted as protocol prefix, even though \fB://\fP can be part of a legal ++UNIX path. To avoid problems with arbitrary paths, you should be sure that ++absolute paths passed to mpv start with \fB/\fP, and prefix relative paths with ++\fB\&./\fP\&. ++.sp ++Using the \fBfile://\fP pseudo\-protocol is discouraged, because it involves ++strange URL unescaping rules. ++.sp ++The name \fB\-\fP itself is interpreted as stdin, and will cause mpv to disable ++console controls. (Which makes it suitable for playing data piped to stdin.) ++.sp ++The special argument \fB\-\-\fP can be used to stop mpv from interpreting the ++following arguments as options. ++.sp ++When using the client API, you should strictly avoid using \fBmpv_command_string\fP ++for invoking the \fBloadfile\fP command, and instead prefer e.g. \fBmpv_command\fP ++to avoid the need for filename escaping. ++.sp ++For paths passed to suboptions, the situation is further complicated by the ++need to escape special characters. To work this around, the path can be ++additionally wrapped in the fixed\-length syntax, e.g. \fB%n%string_of_length_n\fP ++(see above). ++.sp ++Some mpv options interpret paths starting with \fB~\fP\&. Currently, the prefix ++\fB~~/\fP expands to the mpv configuration directory (usually \fB~/.config/mpv/\fP). ++\fB~/\fP expands to the user\(aqs home directory. (The trailing \fB/\fP is always ++required.) There are the following paths as well: ++.TS ++center; ++|l|l|. ++_ ++T{ ++Name ++T} T{ ++Meaning ++T} ++_ ++T{ ++\fB~~home/\fP ++T} T{ ++same as \fB~~/\fP ++T} ++_ ++T{ ++\fB~~global/\fP ++T} T{ ++the global config path, if available (not on win32) ++T} ++_ ++T{ ++\fB~~osxbundle/\fP ++T} T{ ++the OSX bundle resource path (OSX only) ++T} ++_ ++T{ ++\fB~~desktop/\fP ++T} T{ ++the path to the desktop (win32, OSX) ++T} ++_ ++.TE ++.SS Per\-File Options ++.sp ++When playing multiple files, any option given on the command line usually ++affects all files. Example: ++.INDENT 0.0 ++.INDENT 3.5 ++.sp ++.nf ++.ft C ++mpv \-\-a file1.mkv \-\-b file2.mkv \-\-c ++.ft P ++.fi ++.UNINDENT ++.UNINDENT ++.TS ++center; ++|l|l|. ++_ ++T{ ++File ++T} T{ ++Active options ++T} ++_ ++T{ ++file1.mkv ++T} T{ ++\fB\-\-a \-\-b \-\-c\fP ++T} ++_ ++T{ ++file2.mkv ++T} T{ ++\fB\-\-a \-\-b \-\-c\fP ++T} ++_ ++.TE ++.sp ++(This is different from MPlayer and mplayer2.) ++.sp ++Also, if any option is changed at runtime (via input commands), they are not ++reset when a new file is played. ++.sp ++Sometimes, it is useful to change options per\-file. This can be achieved by ++adding the special per\-file markers \fB\-\-{\fP and \fB\-\-}\fP\&. (Note that you must ++escape these on some shells.) Example: ++.INDENT 0.0 ++.INDENT 3.5 ++.sp ++.nf ++.ft C ++mpv \-\-a file1.mkv \-\-b \-\-\e{ \-\-c file2.mkv \-\-d file3.mkv \-\-e \-\-\e} file4.mkv \-\-f ++.ft P ++.fi ++.UNINDENT ++.UNINDENT ++.TS ++center; ++|l|l|. ++_ ++T{ ++File ++T} T{ ++Active options ++T} ++_ ++T{ ++file1.mkv ++T} T{ ++\fB\-\-a \-\-b \-\-f\fP ++T} ++_ ++T{ ++file2.mkv ++T} T{ ++\fB\-\-a \-\-b \-\-f \-\-c \-\-d \-\-e\fP ++T} ++_ ++T{ ++file3.mkv ++T} T{ ++\fB\-\-a \-\-b \-\-f \-\-c \-\-d \-\-e\fP ++T} ++_ ++T{ ++file4.mkv ++T} T{ ++\fB\-\-a \-\-b \-\-f\fP ++T} ++_ ++.TE ++.sp ++Additionally, any file\-local option changed at runtime is reset when the current ++file stops playing. If option \fB\-\-c\fP is changed during playback of ++\fBfile2.mkv\fP, it is reset when advancing to \fBfile3.mkv\fP\&. This only affects ++file\-local options. The option \fB\-\-a\fP is never reset here. ++.SS Playing DVDs ++.sp ++DVDs can be played with the \fBdvd://[title]\fP syntax. The optional ++title specifier is a number which selects between separate video ++streams on the DVD. If no title is given (\fBdvd://\fP) then the longest ++title is selected automatically by the library. This is usually what ++you want. mpv does not support DVD menus. ++.sp ++DVDs which have been copied on to a hard drive or other mounted ++filesystem (by e.g. the \fBdvdbackup\fP tool) are accommodated by ++specifying the path to the local copy: \fB\-\-dvd\-device=PATH\fP\&. ++Alternatively, running \fBmpv PATH\fP should auto\-detect a DVD directory ++tree and play the longest title. ++.sp ++\fBNOTE:\fP ++.INDENT 0.0 ++.INDENT 3.5 ++mpv uses a different default DVD library than MPlayer. MPlayer ++uses libdvdread by default, and mpv uses libdvdnav by default. ++Both libraries are developed in parallel, but libdvdnav is ++intended to support more sophisticated DVD features such as menus ++and multi\-angle playback. mpv uses libdvdnav for files specified ++as either \fBdvd://...\fP or \fBdvdnav://...\fP\&. To use libdvdread, ++which will produce behavior more like MPlayer, specify ++\fBdvdread://...\fP instead. Some users have experienced problems ++when using libdvdnav, in which playback gets stuck in a DVD menu ++stream. These problems are reported to go away when auto\-selecting ++the title (\fBdvd://\fP rather than \fBdvd://1\fP) or when using ++libdvdread (e.g. \fBdvdread://0\fP). ++.sp ++DVDs use image\-based subtitles. Image subtitles are implemented as ++a bitmap video stream which can be superimposed over the main ++movie. mpv\(aqs subtitle styling and positioning options and keyboard ++shortcuts generally do not work with image\-based subtitles. ++Exceptions include options like \fB\-\-stretch\-dvd\-subs\fP and ++\fB\-\-stretch\-image\-subs\-to\-screen\fP\&. ++.UNINDENT ++.UNINDENT ++.SH CONFIGURATION FILES ++.SS Location and Syntax ++.sp ++You can put all of the options in configuration files which will be read every ++time mpv is run. The system\-wide configuration file \(aqmpv.conf\(aq is in your ++configuration directory (e.g. \fB/etc/mpv\fP or \fB/usr/local/etc/mpv\fP), the ++user\-specific one is \fB~/.config/mpv/mpv.conf\fP\&. For details and platform ++specifics (in particular Windows paths) see the \fI\%FILES\fP section. ++.sp ++User\-specific options override system\-wide options and options given on the ++command line override either. The syntax of the configuration files is ++\fBoption=value\fP\&. Everything after a \fI#\fP is considered a comment. Options ++that work without values can be enabled by setting them to \fIyes\fP and disabled by ++setting them to \fIno\fP\&. Even suboptions can be specified in this way. ++.INDENT 0.0 ++.INDENT 3.5 ++.IP "Example configuration file" ++.INDENT 0.0 ++.INDENT 3.5 ++.sp ++.nf ++.ft C ++# Use opengl video output by default. ++vo=opengl ++# Use quotes for text that can contain spaces: ++status\-msg="Time: ${time\-pos}" ++.ft P ++.fi ++.UNINDENT ++.UNINDENT ++.UNINDENT ++.UNINDENT ++.SS Escaping spaces and special characters ++.sp ++This is done like with command line options. The shell is not involved here, ++but option values still need to be quoted as a whole if it contains certain ++characters like spaces. A config entry can be quoted with \fB"\fP, ++as well as with the fixed\-length syntax (\fB%n%\fP) mentioned before. This is like ++passing the exact contents of the quoted string as command line option. C\-style ++escapes are currently _not_ interpreted on this level, although some options do ++this manually. (This is a mess and should probably be changed at some point.) ++.SS Putting Command Line Options into the Configuration File ++.sp ++Almost all command line options can be put into the configuration file. Here ++is a small guide: ++.TS ++center; ++|l|l|. ++_ ++T{ ++Option ++T} T{ ++Configuration file entry ++T} ++_ ++T{ ++\fB\-\-flag\fP ++T} T{ ++\fBflag\fP ++T} ++_ ++T{ ++\fB\-opt val\fP ++T} T{ ++\fBopt=val\fP ++T} ++_ ++T{ ++\fB\-\-opt=val\fP ++T} T{ ++\fBopt=val\fP ++T} ++_ ++T{ ++\fB\-opt "has spaces"\fP ++T} T{ ++\fBopt="has spaces"\fP ++T} ++_ ++.TE ++.SS File\-specific Configuration Files ++.sp ++You can also write file\-specific configuration files. If you wish to have a ++configuration file for a file called \(aqvideo.avi\(aq, create a file named ++\(aqvideo.avi.conf\(aq with the file\-specific options in it and put it in ++\fB~/.config/mpv/\fP\&. You can also put the configuration file in the same directory ++as the file to be played. Both require you to set the \fB\-\-use\-filedir\-conf\fP ++option (either on the command line or in your global config file). If a ++file\-specific configuration file is found in the same directory, no ++file\-specific configuration is loaded from \fB~/.config/mpv\fP\&. In addition, the ++\fB\-\-use\-filedir\-conf\fP option enables directory\-specific configuration files. ++For this, mpv first tries to load a mpv.conf from the same directory ++as the file played and then tries to load any file\-specific configuration. ++.SS Profiles ++.sp ++To ease working with different configurations, profiles can be defined in the ++configuration files. A profile starts with its name in square brackets, ++e.g. \fB[my\-profile]\fP\&. All following options will be part of the profile. A ++description (shown by \fB\-\-profile=help\fP) can be defined with the ++\fBprofile\-desc\fP option. To end the profile, start another one or use the ++profile name \fBdefault\fP to continue with normal options. ++.INDENT 0.0 ++.INDENT 3.5 ++.IP "Example mpv config file with profiles" ++.INDENT 0.0 ++.INDENT 3.5 ++.sp ++.nf ++.ft C ++# normal top\-level option ++fullscreen=yes ++ ++# a profile that can be enabled with \-\-profile=big\-cache ++[big\-cache] ++cache=123400 ++demuxer\-readahead\-secs=20 ++ ++[slow] ++profile\-desc="some profile name" ++# reference a builtin profile ++profile=opengl\-hq ++ ++[fast] ++vo=vdpau ++ ++# using a profile again extends it ++[slow] ++framedrop=no ++# you can also include other profiles ++profile=big\-cache ++.ft P ++.fi ++.UNINDENT ++.UNINDENT ++.UNINDENT ++.UNINDENT ++.SS Auto profiles ++.sp ++Some profiles are loaded automatically. The following example demonstrates this: ++.INDENT 0.0 ++.INDENT 3.5 ++.IP "Auto profile loading" ++.INDENT 0.0 ++.INDENT 3.5 ++.sp ++.nf ++.ft C ++[protocol.dvd] ++profile\-desc="profile for dvd:// streams" ++alang=en ++ ++[extension.flv] ++profile\-desc="profile for .flv files" ++vf=flip ++.ft P ++.fi ++.UNINDENT ++.UNINDENT ++.UNINDENT ++.UNINDENT ++.sp ++The profile name follows the schema \fBtype.name\fP, where type can be ++\fBprotocol\fP for the input/output protocol in use (see \fB\-\-list\-protocols\fP), ++and \fBextension\fP for the extension of the path of the currently played file ++(\fInot\fP the file format). ++.sp ++This feature is very limited, and there are no other auto profiles. ++.SH TAKING SCREENSHOTS ++.sp ++Screenshots of the currently played file can be taken using the \(aqscreenshot\(aq ++input mode command, which is by default bound to the \fBs\fP key. Files named ++\fBmpv\-shotNNNN.jpg\fP will be saved in the working directory, using the first ++available number \- no files will be overwritten. In pseudo\-GUI mode, the ++screenshot will be saved somewhere else. See \fI\%PSEUDO GUI MODE\fP\&. ++.sp ++A screenshot will usually contain the unscaled video contents at the end of the ++video filter chain and subtitles. By default, \fBS\fP takes screenshots without ++subtitles, while \fBs\fP includes subtitles. ++.sp ++Unlike with MPlayer, the \fBscreenshot\fP video filter is not required. This ++filter was never required in mpv, and has been removed. ++.SH TERMINAL STATUS LINE ++.sp ++During playback, mpv shows the playback status on the terminal. It looks like ++something like this: ++.INDENT 0.0 ++.INDENT 3.5 ++\fBAV: 00:03:12 / 00:24:25 (13%) A\-V: \-0.000\fP ++.UNINDENT ++.UNINDENT ++.sp ++The status line can be overridden with the \fB\-\-term\-status\-msg\fP option. ++.sp ++The following is a list of things that can show up in the status line. Input ++properties, that can be used to get the same information manually, are also ++listed. ++.INDENT 0.0 ++.IP \(bu 2 ++\fBAV:\fP or \fBV:\fP (video only) or \fBA:\fP (audio only) ++.IP \(bu 2 ++The current time position in \fBHH:MM:SS\fP format (\fBplayback\-time\fP property) ++.IP \(bu 2 ++The total file duration (absent if unknown) (\fBlength\fP property) ++.IP \(bu 2 ++Playback speed, e.g. \(ga\(ga x2.0\(ga\(ga. Only visible if the speed is not normal. This ++is the user\-requested speed, and not the actual speed (usually they should ++be the same, unless playback is too slow). (\fBspeed\fP property.) ++.IP \(bu 2 ++Playback percentage, e.g. \fB(13%)\fP\&. How much of the file has been played. ++Normally calculated out of playback position and duration, but can fallback ++to other methods (like byte position) if these are not available. ++(\fBpercent\-pos\fP property.) ++.IP \(bu 2 ++The audio/video sync as \fBA\-V: 0.000\fP\&. This is the difference between ++audio and video time. Normally it should be 0 or close to 0. If it\(aqs growing, ++it might indicate a playback problem. (\fBavsync\fP property.) ++.IP \(bu 2 ++Total A/V sync change, e.g. \fBct: \-0.417\fP\&. Normally invisible. Can show up ++if there is audio "missing", or not enough frames can be dropped. Usually ++this will indicate a problem. (\fBtotal\-avsync\-change\fP property.) ++.IP \(bu 2 ++Encoding state in \fB{...}\fP, only shown in encoding mode. ++.IP \(bu 2 ++Display sync state. If display sync is active (\fBdisplay\-sync\-active\fP ++property), this shows \fBDS: 2.500/13\fP, where the first number is average ++number of vsyncs per video frame (e.g. 2.5 when playing 24Hz videos on 60Hz ++screens), which might jitter if the ratio doesn\(aqt round off, or there are ++mistimed frames (\fBvsync\-ratio\fP), and the second number of estimated number ++of vsyncs which took too long (\fBvo\-delayed\-frame\-count\fP property). The ++latter is a heuristic, as it\(aqs generally not possible to determine this with ++certainty. ++.IP \(bu 2 ++Dropped frames, e.g. \fBDropped: 4\fP\&. Shows up only if the count is not 0. Can ++grow if the video framerate is higher than that of the display, or if video ++rendering is too slow. May also be incremented on "hiccups" and when the video ++frame couldn\(aqt be displayed on time. (\fBvo\-drop\-frame\-count\fP property.) ++If the decoder drops frames, the number of decoder\-dropped frames is appended ++to the display as well, e.g.: \fBDropped: 4/34\fP\&. This happens only if ++decoder frame dropping is enabled with the \fB\-\-framedrop\fP options. ++(\fBdrop\-frame\-count\fP property.) ++.IP \(bu 2 ++Cache state, e.g. \fBCache: 2s+134KB\fP\&. Visible if the stream cache is enabled. ++The first value shows the amount of video buffered in the demuxer in seconds, ++the second value shows \fIadditional\fP data buffered in the stream cache in ++kilobytes. (\fBdemuxer\-cache\-duration\fP and \fBcache\-used\fP properties.) ++.UNINDENT ++.SH PROTOCOLS ++.INDENT 0.0 ++.TP ++.B \fBhttp://...\fP, \fBhttps://\fP, ... ++Many network protocols are supported, but the protocol prefix must always ++be specified. mpv will never attempt to guess whether a filename is ++actually a network address. A protocol prefix is always required. ++.sp ++Note that not all prefixes are documented here. Undocumented prefixes are ++either aliases to documented protocols, or are just redirections to ++protocols implemented and documented in FFmpeg. ++.TP ++.B \fBytdl://...\fP ++By default, the youtube\-dl hook script (enabled by default for mpv CLI) ++only looks at http URLs. Prefixing an URL with \fBytdl://\fP forces it to ++be always processed by the script. This can also be used to invoke special ++youtube\-dl functionality like playing a video by ID or invoking search. ++.sp ++Keep in mind that you can\(aqt pass youtube\-dl command line options by this, ++and you have to use \fB\-\-ytdl\-raw\-options\fP instead. ++.TP ++.B \fB\-\fP ++Play data from stdin. ++.TP ++.B \fBsmb://PATH\fP ++Play a path from Samba share. ++.TP ++.B \fBbd://[title][/device]\fP \fB\-\-bluray\-device=PATH\fP ++Play a Blu\-ray disc. Currently, this does not accept ISO files. Instead, ++you must mount the ISO file as filesystem, and point \fB\-\-bluray\-device\fP ++to the mounted directory directly. ++.TP ++.B \fBdvd://[title|[starttitle]\-endtitle][/device]\fP \fB\-\-dvd\-device=PATH\fP ++Play a DVD. DVD menus are not supported. If no title is given, the longest ++title is auto\-selected. ++.sp ++\fBdvdnav://\fP is an old alias for \fBdvd://\fP and does exactly the same ++thing. ++.TP ++.B \fBdvdread://...:\fP ++Play a DVD using the old libdvdread code. This is what MPlayer and older ++mpv versions use for \fBdvd://\fP\&. Use is discouraged. It\(aqs provided only ++for compatibility and for transition. ++.TP ++.B \fBtv://[channel][/input_id]\fP \fB\-\-tv\-...\fP ++Analogue TV via V4L. Also useful for webcams. (Linux only.) ++.TP ++.B \fBpvr://\fP \fB\-\-pvr\-...\fP ++PVR. (Linux only.) ++.TP ++.B \fBdvb://[cardnumber@]channel\fP \fB\-\-dvbin\-...\fP ++Digital TV via DVB. (Linux only.) ++.TP ++.B \fBmf://[filemask|@listfile]\fP \fB\-\-mf\-...\fP ++Play a series of images as video. ++.TP ++.B \fBcdda://[device]\fP \fB\-\-cdrom\-device=PATH\fP \fB\-\-cdda\-...\fP ++Play CD. ++.TP ++.B \fBlavf://...\fP ++Access any FFmpeg/Libav libavformat protocol. Basically, this passed the ++string after the \fB//\fP directly to libavformat. ++.TP ++.B \fBav://type:options\fP ++This is intended for using libavdevice inputs. \fBtype\fP is the libavdevice ++demuxer name, and \fBoptions\fP is the (pseudo\-)filename passed to the ++demuxer. ++.sp ++For example, \fBmpv av://lavfi:mandelbrot\fP makes use of the libavfilter ++wrapper included in libavdevice, and will use the \fBmandelbrot\fP source ++filter to generate input data. ++.sp ++\fBavdevice://\fP is an alias. ++.TP ++.B \fBfile://PATH\fP ++A local path as URL. Might be useful in some special use\-cases. Note that ++\fBPATH\fP itself should start with a third \fB/\fP to make the path an ++absolute path. ++.TP ++.B \fBfd://123\fP ++Read data from the given file descriptor (for example 123). This is similar ++to piping data to stdin via \fB\-\fP, but can use an arbitrary file descriptor. ++.TP ++.B \fBedl://[edl specification as in edl\-mpv.rst]\fP ++Stitch together parts of multiple files and play them. ++.TP ++.B \fBnull://\fP ++Simulate an empty file. If opened for writing, it will discard all data. ++The \fBnull\fP demuxer will specifically pass autoprobing if this protocol ++is used (while it\(aqs not automatically invoked for empty files). ++.TP ++.B \fBmemory://data\fP ++Use the \fBdata\fP part as source data. ++.TP ++.B \fBhex://data\fP ++Like \fBmemory://\fP, but the string is interpreted as hexdump. ++.UNINDENT ++.SH PSEUDO GUI MODE ++.sp ++mpv has no official GUI, other than the OSC (\fI\%ON SCREEN CONTROLLER\fP), which ++is not a full GUI and is not meant to be. However, to compensate for the lack ++of expected GUI behavior, mpv will in some cases start with some settings ++changed to behave slightly more like a GUI mode. ++.sp ++Currently this happens only in the following cases: ++.INDENT 0.0 ++.IP \(bu 2 ++if started using the \fBmpv.desktop\fP file on Linux (e.g. started from menus ++or file associations provided by desktop environments) ++.IP \(bu 2 ++if started from explorer.exe on Windows (technically, if it was started on ++Windows, and all of the stdout/stderr/stdin handles are unset) ++.IP \(bu 2 ++started out of the bundle on OSX ++.IP \(bu 2 ++if you manually use \fB\-\-player\-operation\-mode=pseudo\-gui\fP on the command line ++.UNINDENT ++.sp ++This mode applies options from the builtin profile \fBbuiltin\-pseudo\-gui\fP, but ++only if these haven\(aqt been set in the user\(aqs config file or on the command line. ++Also, for compatibility with the old pseudo\-gui behavior, the options in the ++\fBpseudo\-gui\fP profile are applied unconditionally. In addition, the profile ++makes sure to enable the pseudo\-GUI mode, so that \fB\-\-profile=pseudo\-gui\fP ++works like in older mpv releases. The profiles are currently defined as follows: ++.INDENT 0.0 ++.INDENT 3.5 ++.sp ++.nf ++.ft C ++[builtin\-pseudo\-gui] ++terminal=no ++force\-window=yes ++idle=once ++screenshot\-directory=~~desktop/ ++[pseudo\-gui] ++player\-operation\-mode=pseudo\-gui ++.ft P ++.fi ++.UNINDENT ++.UNINDENT ++.sp ++\fBWARNING:\fP ++.INDENT 0.0 ++.INDENT 3.5 ++Currently, you can extend the \fBpseudo\-gui\fP profile in the config file the ++normal way. This is deprecated. In future mpv releases, the behavior might ++change, and not apply your additional settings, and/or use a different ++profile name. ++.UNINDENT ++.UNINDENT ++.SH OPTIONS ++.SS Track Selection ++.INDENT 0.0 ++.TP ++.B \fB\-\-alang=\fP ++Specify a priority list of audio languages to use. Different container ++formats employ different language codes. DVDs use ISO 639\-1 two\-letter ++language codes, Matroska, MPEG\-TS and NUT use ISO 639\-2 three\-letter ++language codes, while OGM uses a free\-form identifier. See also \fB\-\-aid\fP\&. ++.INDENT 7.0 ++.INDENT 3.5 ++.IP "Examples" ++.INDENT 0.0 ++.TP ++.B \fBmpv dvd://1 \-\-alang=hu,en\fP ++Chooses the Hungarian language track on a DVD and falls back on ++English if Hungarian is not available. ++.TP ++.B \fBmpv \-\-alang=jpn example.mkv\fP ++Plays a Matroska file in Japanese. ++.UNINDENT ++.UNINDENT ++.UNINDENT ++.TP ++.B \fB\-\-slang=\fP ++Specify a priority list of subtitle languages to use. Different container ++formats employ different language codes. DVDs use ISO 639\-1 two letter ++language codes, Matroska uses ISO 639\-2 three letter language codes while ++OGM uses a free\-form identifier. See also \fB\-\-sid\fP\&. ++.INDENT 7.0 ++.INDENT 3.5 ++.IP "Examples" ++.INDENT 0.0 ++.IP \(bu 2 ++\fBmpv dvd://1 \-\-slang=hu,en\fP chooses the Hungarian subtitle track on ++a DVD and falls back on English if Hungarian is not available. ++.IP \(bu 2 ++\fBmpv \-\-slang=jpn example.mkv\fP plays a Matroska file with Japanese ++subtitles. ++.UNINDENT ++.UNINDENT ++.UNINDENT ++.TP ++.B \fB\-\-aid=\fP ++Select audio track. \fBauto\fP selects the default, \fBno\fP disables audio. ++See also \fB\-\-alang\fP\&. mpv normally prints available audio tracks on the ++terminal when starting playback of a file. ++.sp ++\fB\-\-audio\fP is an alias for \fB\-\-aid\fP\&. ++.sp ++\fB\-\-aid=no\fP or \fB\-\-audio=no\fP or \fB\-\-no\-audio\fP disables audio playback. ++(The latter variant does not work with the client API.) ++.TP ++.B \fB\-\-sid=\fP ++Display the subtitle stream specified by \fB\fP\&. \fBauto\fP selects ++the default, \fBno\fP disables subtitles. ++.sp ++\fB\-\-sub\fP is an alias for \fB\-\-sid\fP\&. ++.sp ++\fB\-\-sid=no\fP or \fB\-\-sub=no\fP or \fB\-\-no\-sub\fP disables subtitle decoding. ++(The latter variant does not work with the client API.) ++.TP ++.B \fB\-\-vid=\fP ++Select video channel. \fBauto\fP selects the default, \fBno\fP disables video. ++.sp ++\fB\-\-video\fP is an alias for \fB\-\-vid\fP\&. ++.sp ++\fB\-\-vid=no\fP or \fB\-\-video=no\fP or \fB\-\-no\-video\fP disables video playback. ++(The latter variant does not work with the client API.) ++.sp ++If video is disabled, mpv will try to download the audio only if media is ++streamed with youtube\-dl, because it saves bandwidth. This is done by ++setting the ytdl_format to "bestaudio/best" in the ytdl_hook.lua script. ++.TP ++.B \fB\-\-ff\-aid=\fP, \fB\-\-ff\-sid=\fP, \fB\-\-ff\-vid=\fP ++Select audio/subtitle/video streams by the FFmpeg stream index. The FFmpeg ++stream index is relatively arbitrary, but useful when interacting with ++other software using FFmpeg (consider \fBffprobe\fP). ++.sp ++Note that with external tracks (added with \fB\-\-sub\-file\fP and similar ++options), there will be streams with duplicate IDs. In this case, the ++first stream in order is selected. ++.TP ++.B \fB\-\-edition=\fP ++(Matroska files only) ++Specify the edition (set of chapters) to use, where 0 is the first. If set ++to \fBauto\fP (the default), mpv will choose the first edition declared as a ++default, or if there is no default, the first edition defined. ++.UNINDENT ++.SS Playback Control ++.INDENT 0.0 ++.TP ++.B \fB\-\-start=\fP ++Seek to given time position. ++.sp ++The general format for absolute times is \fB[[hh:]mm:]ss[.ms]\fP\&. If the time ++is given with a prefix of \fB+\fP or \fB\-\fP, the seek is relative from the start ++or end of the file. (Since mpv 0.14, the start of the file is always ++considered 0.) ++.sp ++\fBpp%\fP seeks to percent position pp (0\-100). ++.sp ++\fB#c\fP seeks to chapter number c. (Chapters start from 1.) ++.INDENT 7.0 ++.INDENT 3.5 ++.IP "Examples" ++.INDENT 0.0 ++.TP ++.B \fB\-\-start=+56\fP, \fB\-\-start=+00:56\fP ++Seeks to the start time + 56 seconds. ++.TP ++.B \fB\-\-start=\-56\fP, \fB\-\-start=\-00:56\fP ++Seeks to the end time \- 56 seconds. ++.TP ++.B \fB\-\-start=01:10:00\fP ++Seeks to 1 hour 10 min. ++.TP ++.B \fB\-\-start=50%\fP ++Seeks to the middle of the file. ++.TP ++.B \fB\-\-start=30 \-\-end=40\fP ++Seeks to 30 seconds, plays 10 seconds, and exits. ++.TP ++.B \fB\-\-start=\-3:20 \-\-length=10\fP ++Seeks to 3 minutes and 20 seconds before the end of the file, plays ++10 seconds, and exits. ++.TP ++.B \fB\-\-start=\(aq#2\(aq \-\-end=\(aq#4\(aq\fP ++Plays chapters 2 and 3, and exits. ++.UNINDENT ++.UNINDENT ++.UNINDENT ++.TP ++.B \fB\-\-end=